From d8c289c77eb6d5b24d5ad3f87f9b2a178884e2cc Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 3 Mar 2016 12:10:37 +0100 Subject: [PATCH] method ref: ensure equivalence --- .../psi/impl/source/tree/java/MethodReferenceResolver.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodReferenceResolver.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodReferenceResolver.java index 37c5090dbcf8..785cb7e57d4d 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodReferenceResolver.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/MethodReferenceResolver.java @@ -15,6 +15,7 @@ */ package com.intellij.psi.impl.source.tree.java; +import com.intellij.codeInsight.PsiEquivalenceUtil; import com.intellij.openapi.diagnostic.Logger; import com.intellij.psi.*; import com.intellij.psi.impl.source.resolve.ParameterTypeInferencePolicy; @@ -72,7 +73,7 @@ public class MethodReferenceResolver implements ResolveCache.PolyVariantContextR } } ClassCandidateInfo candidateInfo = null; - final boolean isArray = containingClass == JavaPsiFacade.getElementFactory(reference.getProject()).getArrayClass(PsiUtil.getLanguageLevel(containingClass)); + final boolean isArray = PsiEquivalenceUtil.areElementsEquivalent(containingClass, JavaPsiFacade.getElementFactory(reference.getProject()).getArrayClass(PsiUtil.getLanguageLevel(reference))); if (signature == null || !isArray && (containingClass.getContainingClass() == null || !isLocatedInStaticContext(containingClass, reference)) && signature.getParameterTypes().length == 0 || isArray && arrayCreationSignature(signature)) {