protected TypeBinding findMethodBinding(BlockScope scope) { ReferenceContext referenceContext = scope.methodScope().referenceContext; if (referenceContext instanceof LambdaExpression) { this.outerInferenceContext = ((LambdaExpression) referenceContext).inferenceContext; } if (this.expectedType != null && this.binding instanceof PolyParameterizedGenericMethodBinding) { this.binding = this.solutionsPerTargetType.get(this.expectedType); } if (this.binding == null) { // first look up or a "cache miss" somehow. this.binding = this.receiver.isImplicitThis() ? scope.getImplicitMethod(this.selector, this.argumentTypes, this) : scope.getMethod(this.actualReceiverType, this.selector, this.argumentTypes, this); if (this.binding instanceof PolyParameterizedGenericMethodBinding) { this.solutionsPerTargetType = new HashMap<TypeBinding, MethodBinding>(); return new PolyTypeBinding(this); } } resolvePolyExpressionArguments(this, this.binding, this.argumentTypes, scope); return this.binding.returnType; }
protected TypeBinding findMethodBinding(BlockScope scope) { ReferenceContext referenceContext = scope.methodScope().referenceContext; if (referenceContext instanceof LambdaExpression) { this.outerInferenceContext = ((LambdaExpression) referenceContext).inferenceContext; } if (this.expectedType != null && this.binding instanceof PolyParameterizedGenericMethodBinding) { this.binding = this.solutionsPerTargetType.get(this.expectedType); } if (this.binding == null) { // first look up or a "cache miss" somehow. this.binding = this.receiver.isImplicitThis() ? scope.getImplicitMethod(this.selector, this.argumentTypes, this) : scope.getMethod(this.actualReceiverType, this.selector, this.argumentTypes, this); if (this.binding instanceof PolyParameterizedGenericMethodBinding) { this.solutionsPerTargetType = new HashMap<TypeBinding, MethodBinding>(); return new PolyTypeBinding(this); } } resolvePolyExpressionArguments(this, this.binding, this.argumentTypes, scope); return this.binding.returnType; }
protected TypeBinding findMethodBinding(BlockScope scope) { ReferenceContext referenceContext = scope.methodScope().referenceContext; if (referenceContext instanceof LambdaExpression) { this.outerInferenceContext = ((LambdaExpression) referenceContext).inferenceContext; } if (this.expectedType != null && this.binding instanceof PolyParameterizedGenericMethodBinding) { this.binding = this.solutionsPerTargetType.get(this.expectedType); } if (this.binding == null) { // first look up or a "cache miss" somehow. this.binding = this.receiver.isImplicitThis() ? scope.getImplicitMethod(this.selector, this.argumentTypes, this) : scope.getMethod(this.actualReceiverType, this.selector, this.argumentTypes, this); if (this.binding instanceof PolyParameterizedGenericMethodBinding) { this.solutionsPerTargetType = new HashMap<TypeBinding, MethodBinding>(); return new PolyTypeBinding(this); } } resolvePolyExpressionArguments(this, this.binding, this.argumentTypes, scope); return this.binding.returnType; }
protected TypeBinding findMethodBinding(BlockScope scope) { ReferenceContext referenceContext = scope.methodScope().referenceContext; if (referenceContext instanceof LambdaExpression) { this.outerInferenceContext = ((LambdaExpression) referenceContext).inferenceContext; } if (this.expectedType != null && this.binding instanceof PolyParameterizedGenericMethodBinding) { this.binding = this.solutionsPerTargetType.get(this.expectedType); } if (this.binding == null) { // first look up or a "cache miss" somehow. this.binding = this.receiver.isImplicitThis() ? scope.getImplicitMethod(this.selector, this.argumentTypes, this) : scope.getMethod(this.actualReceiverType, this.selector, this.argumentTypes, this); if (this.binding instanceof PolyParameterizedGenericMethodBinding) { this.solutionsPerTargetType = new HashMap<TypeBinding, MethodBinding>(); return new PolyTypeBinding(this); } } resolvePolyExpressionArguments(this, this.binding, this.argumentTypes, scope); return this.binding.returnType; }
protected TypeBinding findMethodBinding(BlockScope scope) { ReferenceContext referenceContext = scope.methodScope().referenceContext; if (referenceContext instanceof LambdaExpression) { this.outerInferenceContext = ((LambdaExpression) referenceContext).inferenceContext; } if (this.expectedType != null && this.binding instanceof PolyParameterizedGenericMethodBinding) { this.binding = this.solutionsPerTargetType.get(this.expectedType); } if (this.binding == null) { // first look up or a "cache miss" somehow. this.binding = this.receiver.isImplicitThis() ? scope.getImplicitMethod(this.selector, this.argumentTypes, this) : scope.getMethod(this.actualReceiverType, this.selector, this.argumentTypes, this); if (this.binding instanceof PolyParameterizedGenericMethodBinding) { this.solutionsPerTargetType = new HashMap<TypeBinding, MethodBinding>(); return new PolyTypeBinding(this); } } resolvePolyExpressionArguments(this, this.binding, this.argumentTypes, scope); return this.binding.returnType; }
? scope.getImplicitMethod(this.selector, argumentTypes, this) : scope.getMethod(this.actualReceiverType, this.selector, argumentTypes, this); resolvePolyExpressionArguments(this, this.binding, argumentTypes, scope);
? scope.getImplicitMethod(this.selector, argumentTypes, this) : scope.getMethod(this.actualReceiverType, this.selector, argumentTypes, this); resolvePolyExpressionArguments(this, this.binding, argumentTypes, scope);
? scope.getImplicitMethod(this.selector, argumentTypes, this) : scope.getMethod(this.actualReceiverType, this.selector, argumentTypes, this); resolvePolyExpressionArguments(this, this.binding, argumentTypes, scope);