From 01a5ea5835846b284a4c1c4f59073e7cebb756dd Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 20 Apr 2021 11:17:16 +0200 Subject: [PATCH] java: check enum instantiation before constructor applicability (IDEA-267280) GitOrigin-RevId: f7f2a0ac939fd6ae08a1919335bcebd1098ff6e7 --- .../codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java | 2 +- .../daemonCodeAnalyzer/advHighlighting6/EnumInitializers.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java index db044f597659..6a57aa40ce2f 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java @@ -1106,11 +1106,11 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh if (!myHolder.hasErrorResults()) myHolder.add(HighlightClassUtil.checkCreateInnerClassFromStaticContext(expression, type, aClass)); if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkTypeParameterInstantiation(expression)); if (aClass != null && !myHolder.hasErrorResults()) myHolder.add(HighlightClassUtil.checkInstantiationOfAbstractClass(aClass, expression)); + if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkEnumInstantiation(expression, aClass)); try { if (!myHolder.hasErrorResults()) HighlightMethodUtil.checkNewExpression(expression, type, myHolder, myJavaSdkVersion); } catch (IndexNotReadyException ignored) { } - if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkEnumInstantiation(expression, aClass)); if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkGenericArrayCreation(expression, type)); if (!myHolder.hasErrorResults()) registerConstructorCall(expression); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/EnumInitializers.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/EnumInitializers.java index b04096e0b547..5507ed4b844a 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/EnumInitializers.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/EnumInitializers.java @@ -2,6 +2,7 @@ import java.util.*; public class MyEnum { enum Test {A,B} + enum Test1 {A; Test1() {}} public static Test[] accepted1() { List list = new ArrayList(); @@ -13,4 +14,5 @@ public class MyEnum { } Test t = new Test(); + Test1 t1 = new Test1(); } \ No newline at end of file