KT-2170 "private" keyword completion does not work before "val"

#KT-2170 Fixed
This commit is contained in:
Nikolay Krasko
2012-09-05 14:52:02 +04:00
parent 7c4322cd2c
commit 0e3dd77098
3 changed files with 15 additions and 0 deletions
@@ -31,6 +31,7 @@ import com.intellij.psi.filters.*;
import com.intellij.psi.filters.position.FilterPattern;
import com.intellij.psi.filters.position.LeftNeighbour;
import com.intellij.psi.filters.position.PositionElementFilter;
import com.intellij.psi.filters.position.SuperParentFilter;
import com.intellij.psi.impl.source.tree.LeafPsiElement;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.ArrayUtil;
@@ -294,6 +295,10 @@ public class JetKeywordCompletionContributor extends CompletionContributor {
PROTECTED_KEYWORD, PUBLIC_KEYWORD, SET_KEYWORD,
TYPE_KEYWORD);
registerScopeKeywordsCompletion(new SuperParentFilter(new ClassFilter(JetModifierList.class)),
ABSTRACT_KEYWORD, FINAL_KEYWORD, INLINE_KEYWORD, INTERNAL_KEYWORD,
OPEN_KEYWORD, PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD);
registerScopeKeywordsCompletion(new InClassBodyFilter(),
ABSTRACT_KEYWORD,
FINAL_KEYWORD, GET_KEYWORD,
@@ -0,0 +1,6 @@
open class Foo {
p<caret> val foo = 1
}
// FOR: KT-2170
// EXIST: private, public, protected
@@ -87,6 +87,10 @@ public class KeywordsCompletionTest extends JetCompletionTestBase {
doTest();
}
public void testInModifierListInsideClass() {
doTest();
}
public void testInString() {
doTest();
}