mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-21 22:11:40 +07:00
reject imports from default package (IDEA-138822; IDEA-154024)
This commit is contained in:
@@ -2752,12 +2752,13 @@ public class HighlightUtil extends HighlightUtilBase {
|
||||
highlightInfo = HighlightControlFlowUtil.checkVariableMustBeFinal((PsiVariable)resolved, ref, languageLevel);
|
||||
}
|
||||
else if (resolved instanceof PsiClass) {
|
||||
if (Comparing.strEqual(((PsiClass)resolved).getQualifiedName(), ((PsiClass)resolved).getName())) {
|
||||
final PsiElement parent = ref.getParent();
|
||||
if (parent instanceof PsiImportStaticReferenceElement || parent instanceof PsiImportStatementBase) {
|
||||
String description = JavaErrorMessages.message("cannot.resolve.symbol", refName.getText());
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.WRONG_REF).range(refName).descriptionAndTooltip(description).create();
|
||||
}
|
||||
final PsiFile fileWithImportedClass = resolved.getContainingFile();
|
||||
if (((PsiClass)resolved).getContainingClass() == null &&
|
||||
fileWithImportedClass instanceof PsiClassOwner &&
|
||||
PsiTreeUtil.getParentOfType(ref, PsiImportStatementBase.class) != null &&
|
||||
StringUtil.isEmptyOrSpaces(((PsiClassOwner)fileWithImportedClass).getPackageName())) {
|
||||
String description = JavaErrorMessages.message("cannot.resolve.symbol", refName.getText());
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.WRONG_REF).range(refName).descriptionAndTooltip(description).create();
|
||||
}
|
||||
}
|
||||
return highlightInfo;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import static <error descr="Cannot resolve symbol 'MyConstants'">MyConstants</error>.*;
|
||||
import <error descr="Cannot resolve symbol 'MyConstants'">MyConstants</error>;
|
||||
import <error descr="Cannot resolve symbol 'MyConstants'">MyConstants</error>.Inner;
|
||||
import static <error descr="Cannot resolve symbol 'MyConstants'">MyConstants</error>.Inner.*;
|
||||
import static <error descr="Cannot resolve symbol 'MyConstants'">MyConstants</error>.Inner.INNER_CONSTANT;
|
||||
|
||||
class MyClient
|
||||
{
|
||||
@@ -9,4 +12,8 @@ class MyClient
|
||||
class MyConstants
|
||||
{
|
||||
public static final int CONSTANT = 1;
|
||||
|
||||
public static class Inner {
|
||||
public static final String INNER_CONSTANT = "const";
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,10 @@
|
||||
import java.util.*;
|
||||
import Node.Details;
|
||||
|
||||
class Node<E> {
|
||||
public class Details {
|
||||
public E data;
|
||||
}
|
||||
public Details addNode(Node<E> child) {
|
||||
return new Details();
|
||||
}
|
||||
}
|
||||
import java.util.Map.Entry;
|
||||
|
||||
class Test {
|
||||
public static void main(String[] args) {
|
||||
Map<String, Details> m = null;
|
||||
Map<String, Node.Details> sorted1;
|
||||
Map<String, Entry> m = null;
|
||||
Map<String, Map.Entry> sorted1;
|
||||
sorted1 = m;
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,10 @@
|
||||
import java.util.*;
|
||||
import Node.Details;
|
||||
|
||||
class Node<E> {
|
||||
public class Details {
|
||||
public E data;
|
||||
}
|
||||
public Details addNode(Node<E> child) {
|
||||
return new Details();
|
||||
}
|
||||
}
|
||||
import java.util.Map.Entry;
|
||||
|
||||
class Test {
|
||||
public static void main(String[] args) {
|
||||
Map<String, Details> m = null;
|
||||
Map<String, Node.Details> sorted1;
|
||||
sorted1 = m;
|
||||
Map<String, Entry> m = null;
|
||||
Map<String, Map.Entry> sorted1;
|
||||
sorted1 = m;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user