mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-20 05:21:29 +07:00
IDEA-107086 Java: suggest private members of a casted class inside itself
This commit is contained in:
@@ -362,6 +362,7 @@ public class JavaCompletionUtil {
|
||||
PsiElement ctx = createContextWithXxxVariable(element, composite);
|
||||
javaReference = (PsiReferenceExpression) JavaPsiFacade.getElementFactory(element.getProject()).createExpressionFromText("xxx.xxx", ctx);
|
||||
qualifierType = runtimeQualifier;
|
||||
processor.setQualifierType(qualifierType);
|
||||
}
|
||||
|
||||
javaReference.processVariants(processor);
|
||||
|
||||
@@ -95,8 +95,7 @@ public class JavaCompletionProcessor extends BaseScopeProcessor implements Eleme
|
||||
}
|
||||
}
|
||||
else if (qualifier != null) {
|
||||
myQualifierType = qualifier.getType();
|
||||
myQualifierClass = PsiUtil.resolveClassInType(myQualifierType);
|
||||
setQualifierType(qualifier.getType());
|
||||
if (myQualifierType == null && qualifier instanceof PsiJavaCodeReferenceElement) {
|
||||
final PsiElement target = ((PsiJavaCodeReferenceElement)qualifier).resolve();
|
||||
if (target instanceof PsiClass) {
|
||||
@@ -256,6 +255,11 @@ public class JavaCompletionProcessor extends BaseScopeProcessor implements Eleme
|
||||
return false;
|
||||
}
|
||||
|
||||
public void setQualifierType(@Nullable PsiType qualifierType) {
|
||||
myQualifierType = qualifierType;
|
||||
myQualifierClass = PsiUtil.resolveClassInClassTypeOnly(qualifierType);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PsiType getQualifierType() {
|
||||
return myQualifierType;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
class MyData {
|
||||
private Set<String> myInitialized;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
return obj instanceof MyData && myInitialized.equals(obj.myIniti<caret>)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
class MyData {
|
||||
private Set<String> myInitialized;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
return obj instanceof MyData && myInitialized.equals(((MyData) obj).myInitialized<caret>)
|
||||
}
|
||||
}
|
||||
@@ -918,6 +918,7 @@ public class ListUtils {
|
||||
public void testDontCastInstanceofedQualifier() throws Throwable { doTest(); }
|
||||
public void testQualifierCastingWithUnknownAssignments() throws Throwable { doTest(); }
|
||||
public void testQualifierCastingBeforeLt() throws Throwable { doTest(); }
|
||||
public void testCastQualifierForPrivateFieldReference() throws Throwable { doTest(); }
|
||||
public void testNoReturnInTernary() throws Throwable { doTest(); }
|
||||
|
||||
public void testOrAssignmentDfa() throws Throwable { doTest(); }
|
||||
|
||||
Reference in New Issue
Block a user