mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java-inspections] Do not treat import as unused if it's a potentinally class-import
Fixes IDEA-372121 Optimize imports does nothing on unresolved reference GitOrigin-RevId: e70ceab4f23092e2b7f7a84edbc0c4159c504084
This commit is contained in:
committed by
intellij-monorepo-bot
parent
cfe2372de3
commit
a94b0d76bc
+6
@@ -388,6 +388,12 @@ public final class LocalRefUseInfo {
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (ref instanceof PsiJavaCodeReferenceElement javaRef && refElement instanceof PsiVariable &&
|
||||
IncompleteModelUtil.canBeClassReference(javaRef)) {
|
||||
for (PsiImportStatementBase potentialImport : IncompleteModelUtil.getPotentialImports(javaRef)) {
|
||||
registerImportStatement(potentialImport);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import com.<error descr="Cannot resolve symbol 'intellij'">intellij</error>.lang.javascript.JavaScriptFileType;
|
||||
import com.<error descr="Cannot resolve symbol 'intellij'">intellij</error>.template.lang.core.templateLanguages.TemplatesService;
|
||||
|
||||
public class UnresolvedReferenceAsVariableAndClass {
|
||||
public void setUp() {
|
||||
Object <warning descr="Variable 'TemplatesService' is never assigned">TemplatesService</warning>;
|
||||
final <error descr="Unknown class: 'TemplatesService'">TemplatesService</error> <warning descr="Variable 'service' is never used">service</warning> = <error descr="Variable 'TemplatesService' might not have been initialized">TemplatesService</error>.getInstance();
|
||||
System.out.println(<error descr="Cannot resolve symbol 'JavaScriptFileType'">JavaScriptFileType</error>.INSTANCE);
|
||||
}
|
||||
}
|
||||
@@ -92,6 +92,10 @@ public class UnusedImportsTest extends LightJavaCodeInsightFixtureTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testUnresolvedReferenceAsVariableAndClass() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testImportsForUsesAndProvidesInModuleInfo() {
|
||||
myFixture.addClass("""
|
||||
package pkg.main.api;
|
||||
|
||||
Reference in New Issue
Block a user