diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java index a206a642e396..a44600573970 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java @@ -815,21 +815,6 @@ public class TypeConversionUtil { } public static boolean boxingConversionApplicable(final PsiType left, final PsiType right) { - if (right instanceof PsiMethodReferenceType) { - final JavaResolveResult result = ((PsiMethodReferenceType)right).getExpression().advancedResolve(false); - PsiElement element = result.getElement(); - final PsiClassType.ClassResolveResult functionalInterfaceResult = PsiUtil.resolveGenericsClassInType(left); - final PsiMethod interfaceMethod = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceResult); - if (element instanceof PsiMethod && interfaceMethod != null) { - final PsiType[] parameterTypes = ((PsiMethod)element).getSignature(result.getSubstitutor()).getParameterTypes(); - final PsiType[] argTypes = interfaceMethod.getSignature(functionalInterfaceResult.getSubstitutor()).getParameterTypes(); - if (parameterTypes.length != argTypes.length) return false; - for (int i = 0; i < parameterTypes.length; i++) { - if (boxingConversionApplicable(parameterTypes[i], argTypes[i])) return true; - } - } - } - if (left instanceof PsiPrimitiveType && !PsiType.NULL.equals(left)) { return right instanceof PsiClassType && isAssignable(left, right); } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/MethodRefMisc1.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/MethodRefMisc1.java index ddb720e57756..36fc91f8e8cd 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/MethodRefMisc1.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/MethodRefMisc1.java @@ -38,7 +38,7 @@ class MyTest1 { } public static void main(String[] args) { - call(1, MyTest1::m); + call(1, MyTest1::m); } } @@ -54,7 +54,7 @@ class MyTest2 { static void call(Integer i, I s) { } static void test() { - call(1, MyTest2::m); //ambiguous + call(1, MyTest2::m); //call(int i, I s) } }