diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/DiamondMisc.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/DiamondMisc.java index 1f3d458c8409..9e04fbaf9ca8 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/DiamondMisc.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/DiamondMisc.java @@ -131,3 +131,7 @@ class TestLocal { Local l = new Local<>(); } } + +class QualifiedTest { + java.util.Map s = new java.util.HashMap<>(); +} diff --git a/java/openapi/src/com/intellij/psi/PsiDiamondType.java b/java/openapi/src/com/intellij/psi/PsiDiamondType.java index f01b98aaea9e..a4917ae76c37 100644 --- a/java/openapi/src/com/intellij/psi/PsiDiamondType.java +++ b/java/openapi/src/com/intellij/psi/PsiDiamondType.java @@ -157,7 +157,9 @@ public class PsiDiamondType extends PsiType { final Project project = newExpression.getProject(); final JavaPsiFacade facade = JavaPsiFacade.getInstance(project); final PsiResolveHelper resolveHelper = facade.getResolveHelper(); - return resolveHelper.resolveReferencedClass(text, newExpression); + final PsiElement qualifierElement = classReference.getQualifier(); + final String qualifier = qualifierElement != null ? qualifierElement.getText() : ""; + return resolveHelper.resolveReferencedClass(StringUtil.getQualifiedName(qualifier, text), newExpression); } else { return null; }