mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-05 01:50:56 +07:00
[java-completion] IDEA-324653 IJ-CR-111070 No completion for qualified Enum in switch
GitOrigin-RevId: f633fb8552cf65e718954c98325c1445ca433461
This commit is contained in:
committed by
intellij-monorepo-bot
parent
9ff8dfb3f0
commit
af78d087f5
@@ -276,6 +276,11 @@ public final class JavaCompletionContributor extends CompletionContributor imple
|
||||
!JavaResolveUtil.isAccessible(field, field.getContainingClass(), field.getModifierList(), context, null, null)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
PsiClass aClass = PsiUtil.resolveClassInClassTypeOnly(field.getType());
|
||||
if (aClass != null && aClass.isEnum()) {
|
||||
return false;
|
||||
}
|
||||
variable = field;
|
||||
}
|
||||
else if (element instanceof PsiLocalVariable local) {
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
class Main {
|
||||
interface I{}
|
||||
enum EN implements I{AAA}
|
||||
|
||||
public static void test3(I en) {
|
||||
switch (en) {
|
||||
case EN.A<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
class Main {
|
||||
interface I{}
|
||||
enum EN implements I{AAA}
|
||||
|
||||
public static void test3(I en) {
|
||||
switch (en) {
|
||||
case EN.AAA -> <caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
class Main {
|
||||
interface I{}
|
||||
enum ENNN implements I{AAA}
|
||||
|
||||
public static void test3(ENNN en) {
|
||||
switch (en) {
|
||||
case ENNN.AA<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
class Main {
|
||||
interface I{}
|
||||
enum ENNN implements I{AAA}
|
||||
|
||||
public static void test3(ENNN en) {
|
||||
switch (en) {
|
||||
case ENNN.AAA -> <caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
class Main {
|
||||
interface I{}
|
||||
enum ENNN implements I{AAA}
|
||||
|
||||
public static void test3(I en) {
|
||||
switch (en) {
|
||||
case ENNN.AA<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
class Main {
|
||||
interface I{}
|
||||
enum ENNN implements I{AAA}
|
||||
|
||||
public static void test3(I en) {
|
||||
switch (en) {
|
||||
case ENNN.AA
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
package com.intellij.java.codeInsight.completion;
|
||||
|
||||
import com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.NeedsIndex;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -81,6 +83,11 @@ public class NormalSwitchCompletionTest extends NormalCompletionTestCase {
|
||||
|
||||
public void testQualifierEnumConstantInSwitch1() { doTest(); }
|
||||
public void testQualifierEnumConstantInSwitch2() { doTest(); }
|
||||
public void testQualifierEnumConstantInSwitch3() { doTest(); }
|
||||
public void testQualifierEnumConstantInSwitch4() { doTest(); }
|
||||
public void testQualifierEnumConstantInSwitchInJava20() {
|
||||
IdeaTestUtil.withLevel(myFixture.getModule(), LanguageLevel.JDK_19, () -> doTest());
|
||||
}
|
||||
public void testClassPatternInSwitch1() { doTest(); }
|
||||
public void testClassPatternInSwitch2() { doTest(); }
|
||||
private void doTestPostfixCompletion() {
|
||||
|
||||
Reference in New Issue
Block a user