mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
IDEA-182794 "class" not suggested inside method
This commit is contained in:
@@ -479,11 +479,11 @@ public class JavaKeywordCompletion {
|
||||
addKeyword(new OverridableSpace(createKeyword(s), TailType.HUMBLE_SPACE_BEFORE_WORD));
|
||||
}
|
||||
|
||||
PsiExpression expression = PsiTreeUtil.getParentOfType(myPosition, PsiExpression.class, true, PsiMember.class);
|
||||
if (expression != null && expression.getParent() instanceof PsiExpressionStatement) {
|
||||
if (psiElement().insideStarting(psiElement(PsiLocalVariable.class, PsiExpressionStatement.class)).accepts(myPosition)) {
|
||||
addKeyword(new OverridableSpace(createKeyword(PsiKeyword.CLASS), TailType.HUMBLE_SPACE_BEFORE_WORD));
|
||||
}
|
||||
if (expression == null && PsiTreeUtil.getParentOfType(myPosition, PsiCodeBlock.class, true, PsiMember.class) == null) {
|
||||
if (PsiTreeUtil.getParentOfType(myPosition, PsiExpression.class, true, PsiMember.class) == null &&
|
||||
PsiTreeUtil.getParentOfType(myPosition, PsiCodeBlock.class, true, PsiMember.class) == null) {
|
||||
addKeyword(new OverridableSpace(createKeyword(PsiKeyword.CLASS), TailType.HUMBLE_SPACE_BEFORE_WORD));
|
||||
addKeyword(new OverridableSpace(createKeyword(PsiKeyword.INTERFACE), TailType.HUMBLE_SPACE_BEFORE_WORD));
|
||||
if (PsiUtil.isLanguageLevel5OrHigher(myPosition)) {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
public class Util {
|
||||
void foo() {
|
||||
c<caret>lass InnerTest {
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -147,6 +147,7 @@ public class KeywordCompletionTest extends LightCompletionTestCase {
|
||||
public void testFinalInLambda() { doTest(2, "final", "float"); }
|
||||
public void testNoFinalAfterTryBody() { doTest(1, "final", "finally"); }
|
||||
public void testClassInMethod() { doTest(2, "class", "char"); }
|
||||
public void testClassInMethodOvertype() { doTest(2, "class", "char"); }
|
||||
public void testIntInClassArray() { doTest(2, "int", "char", "final"); }
|
||||
public void testIntInClassArray2() { doTest(2, "int", "char", "final"); }
|
||||
public void testIntInClassArray3() { doTest(2, "int", "char", "final"); }
|
||||
|
||||
Reference in New Issue
Block a user