diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassReferenceType.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassReferenceType.java index 35764d1e7b33..a9e62c417895 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassReferenceType.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassReferenceType.java @@ -273,7 +273,8 @@ public class PsiClassReferenceType extends PsiClassType.Stub { @Override public int getParameterCount() { PsiJavaCodeReferenceElement reference = getReference(); - if (reference.getTypeParameterCount() == 0 && + int count = reference.getTypeParameterCount(); + if (count == 0 && reference.getParent() instanceof PsiTypeElement && reference.getParent().getParent() instanceof PsiDeconstructionPattern) { ClassResolveResult result = resolveGenerics(); @@ -282,7 +283,7 @@ public class PsiClassReferenceType extends PsiClassType.Stub { return cls.getTypeParameters().length; } } - return reference.getTypeParameterCount(); + return count; } @Override