mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 15:06:56 +07:00
[java-inspections] IDEA-363980 Support JEP 495. Update ImplicitToExplicit /ExplicitToImplicit inspections
- tests (cherry picked from commit 946428cb5f8e397625acbec9446d731fb0550225) GitOrigin-RevId: b7240b0999796cb367dd01eb49ff51b63004de94
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3348e7291f
commit
dcb8e7a582
@@ -186,10 +186,10 @@ public final class ExplicitToImplicitClassMigrationInspection extends AbstractBa
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (SmartPsiElementPointer<PsiImportStatementBase> pointer : pointers) {
|
for (SmartPsiElementPointer<PsiImportStatementBase> pointer : pointers) {
|
||||||
PsiImportStatementBase pointerElement = pointer.getElement();
|
PsiImportStatementBase importStatementBase = pointer.getElement();
|
||||||
if (pointerElement == null) continue;
|
if (importStatementBase == null) continue;
|
||||||
if (!pointerElement.isOnDemand()) continue;
|
if (!importStatementBase.isOnDemand()) continue;
|
||||||
ReplaceOnDemandImportIntention.replaceOnDemand(pointerElement);
|
ReplaceOnDemandImportIntention.replaceOnDemand(importStatementBase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PsiClass psiClass = ObjectUtils.tryCast(element, PsiClass.class);
|
PsiClass psiClass = ObjectUtils.tryCast(element, PsiClass.class);
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import p.List;
|
||||||
|
|
||||||
|
public static void main(Strin<caret>g[] args) {
|
||||||
|
List a = null;
|
||||||
|
System.out.println("Hello, world!");
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
import p.*;
|
||||||
|
|
||||||
|
<warning descr="Explicit class declaration can be converted into implicitly declared class">public class beforeWithImport<caret>ConflictDemandsOverModule</warning> {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
List a = null;
|
||||||
|
System.out.println("Hello, world!");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import test.List;
|
||||||
|
|
||||||
|
public class beforeC<caret>onflictModuleImportDemandOverModule {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
List a = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
import test.*;
|
||||||
|
|
||||||
|
public static void m<caret>ain(String[] args) {
|
||||||
|
List a = null;
|
||||||
|
}
|
||||||
@@ -5,6 +5,8 @@ import com.intellij.JavaTestUtil;
|
|||||||
import com.intellij.codeInsight.intention.IntentionAction;
|
import com.intellij.codeInsight.intention.IntentionAction;
|
||||||
import com.intellij.codeInspection.ExplicitToImplicitClassMigrationInspection;
|
import com.intellij.codeInspection.ExplicitToImplicitClassMigrationInspection;
|
||||||
import com.intellij.java.JavaBundle;
|
import com.intellij.java.JavaBundle;
|
||||||
|
import com.intellij.pom.java.JavaFeature;
|
||||||
|
import com.intellij.testFramework.IdeaTestUtil;
|
||||||
import com.intellij.testFramework.LightProjectDescriptor;
|
import com.intellij.testFramework.LightProjectDescriptor;
|
||||||
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
|
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -49,6 +51,19 @@ public class ExplicitToImplicitClassMigrationInspectionInspectionTest extends Li
|
|||||||
doTest();
|
doTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testWithImportConflictDemandsOverModule() {
|
||||||
|
IdeaTestUtil.withLevel(getModule(), JavaFeature.PACKAGE_IMPORTS_SHADOW_MODULE_IMPORTS.getMinimumLevel(), () -> {
|
||||||
|
myFixture.addClass(
|
||||||
|
"""
|
||||||
|
package p;
|
||||||
|
public class List{}
|
||||||
|
"""
|
||||||
|
);
|
||||||
|
doTest();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
private void doNotFind() {
|
private void doNotFind() {
|
||||||
myFixture.enableInspections(new ExplicitToImplicitClassMigrationInspection());
|
myFixture.enableInspections(new ExplicitToImplicitClassMigrationInspection());
|
||||||
myFixture.testHighlighting(true, false, true, "before" + getTestName(false) + ".java");
|
myFixture.testHighlighting(true, false, true, "before" + getTestName(false) + ".java");
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ package com.intellij.java.codeInspection;
|
|||||||
import com.intellij.JavaTestUtil;
|
import com.intellij.JavaTestUtil;
|
||||||
import com.intellij.codeInspection.ImplicitToExplicitClassBackwardMigrationInspection;
|
import com.intellij.codeInspection.ImplicitToExplicitClassBackwardMigrationInspection;
|
||||||
import com.intellij.java.JavaBundle;
|
import com.intellij.java.JavaBundle;
|
||||||
|
import com.intellij.pom.java.JavaFeature;
|
||||||
|
import com.intellij.testFramework.IdeaTestUtil;
|
||||||
import com.intellij.testFramework.LightProjectDescriptor;
|
import com.intellij.testFramework.LightProjectDescriptor;
|
||||||
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
|
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -54,4 +56,14 @@ public class ImplicitToExplicitClassBackwardMigrationInspectionTest extends Ligh
|
|||||||
""");
|
""");
|
||||||
doTest();
|
doTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testConflictModuleImportDemandOverModule() {
|
||||||
|
IdeaTestUtil.withLevel(getModule(), JavaFeature.PACKAGE_IMPORTS_SHADOW_MODULE_IMPORTS.getMinimumLevel(), () -> {
|
||||||
|
myFixture.addClass("""
|
||||||
|
package test;
|
||||||
|
public class List {}
|
||||||
|
""");
|
||||||
|
doTest();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user