mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
java completion: don't qualify local class fields with "this", cleanup (IDEA-CR-63622)
GitOrigin-RevId: 5dca120cc7b4f82829c9da0be0e409f21993c477
This commit is contained in:
committed by
intellij-monorepo-bot
parent
b66862f248
commit
fcbe2d4916
@@ -19,13 +19,11 @@ import java.util.List;
|
||||
*/
|
||||
public class JavaStaticMemberProcessor extends StaticMemberProcessor {
|
||||
private final PsiElement myOriginalPosition;
|
||||
private final PsiElement myPosition;
|
||||
|
||||
public JavaStaticMemberProcessor(CompletionParameters parameters) {
|
||||
super(parameters.getPosition());
|
||||
myOriginalPosition = parameters.getOriginalPosition();
|
||||
myPosition = parameters.getPosition();
|
||||
final PsiFile file = myPosition.getContainingFile();
|
||||
final PsiFile file = parameters.getPosition().getContainingFile();
|
||||
if (file instanceof PsiJavaFile) {
|
||||
final PsiImportList importList = ((PsiJavaFile)file).getImportList();
|
||||
if (importList != null) {
|
||||
@@ -62,7 +60,7 @@ public class JavaStaticMemberProcessor extends StaticMemberProcessor {
|
||||
|
||||
super.handleInsert(context);
|
||||
}
|
||||
}.qualifyIfNeeded(ObjectUtils.tryCast(myPosition.getParent(), PsiJavaCodeReferenceElement.class)));
|
||||
}.qualifyIfNeeded(ObjectUtils.tryCast(getPosition().getParent(), PsiJavaCodeReferenceElement.class)));
|
||||
}
|
||||
|
||||
private PsiReference createReferenceToMemberName(@NotNull PsiMember member) {
|
||||
|
||||
@@ -284,7 +284,8 @@ public class VariableLookupItem extends LookupItem<PsiVariable> implements Typed
|
||||
if (context instanceof PsiReferenceExpression && !((PsiReferenceExpression)context).isQualified()) {
|
||||
PsiVariable target = JavaPsiFacade.getInstance(context.getElement().getProject()).getResolveHelper()
|
||||
.resolveReferencedVariable(field.getName(), (PsiElement)context);
|
||||
return !field.getManager().areElementsEquivalent(target, CompletionUtil.getOriginalOrSelf(field));
|
||||
return !field.getManager().areElementsEquivalent(target, field) &&
|
||||
!field.getManager().areElementsEquivalent(target, CompletionUtil.getOriginalOrSelf(field));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
class C {
|
||||
static void bar() {
|
||||
class Visitor {
|
||||
int field;
|
||||
|
||||
void foo() {
|
||||
fie<caret>x
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
class C {
|
||||
static void bar() {
|
||||
class Visitor {
|
||||
int field;
|
||||
|
||||
void foo() {
|
||||
field<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -374,6 +374,13 @@ class NormalCompletionTest extends NormalCompletionTestCase {
|
||||
|
||||
void testFieldType() { doTest() }
|
||||
|
||||
void testFieldOfLocalClass() {
|
||||
configure()
|
||||
assert LookupElementPresentation.renderElement(myItems[0]).itemText == 'field'
|
||||
type('\t')
|
||||
checkResult()
|
||||
}
|
||||
|
||||
void testPackageInAnnoParam() throws Throwable {
|
||||
doTest()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user