diff --git a/java/java-impl/src/com/intellij/usages/impl/rules/JavaUsageTypeProvider.java b/java/java-impl/src/com/intellij/usages/impl/rules/JavaUsageTypeProvider.java index 2aee0622f459..cce007268945 100644 --- a/java/java-impl/src/com/intellij/usages/impl/rules/JavaUsageTypeProvider.java +++ b/java/java-impl/src/com/intellij/usages/impl/rules/JavaUsageTypeProvider.java @@ -227,7 +227,7 @@ public class JavaUsageTypeProvider implements UsageTypeProviderEx { if (isInnerClassOf(classReference, targets)) { return UsageType.CLASS_INNER_NEW_OPERATOR; } - if (psiNewExpression.getArrayDimensions().length > 0) { + if (isNewArrayCreation(psiNewExpression)) { return UsageType.CLASS_NEW_ARRAY; } return UsageType.CLASS_NEW_OPERATOR; @@ -237,6 +237,10 @@ public class JavaUsageTypeProvider implements UsageTypeProviderEx { return null; } + private static boolean isNewArrayCreation(@NotNull PsiNewExpression expression){ + return expression.getArrayDimensions().length > 0 || expression.getArrayInitializer() != null; + } + private static boolean isAnonymousClassOf(@Nullable PsiAnonymousClass anonymousClass, @NotNull UsageTarget[] targets) { if (anonymousClass == null) { return false;