diff --git a/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java b/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java index 194f6715154..b6bd802afe9 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/JetKeywordCompletionContributor.java @@ -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, diff --git a/idea/testData/completion/keywords/InModifierListInsideClass.kt b/idea/testData/completion/keywords/InModifierListInsideClass.kt new file mode 100644 index 00000000000..3c0f43db774 --- /dev/null +++ b/idea/testData/completion/keywords/InModifierListInsideClass.kt @@ -0,0 +1,6 @@ +open class Foo { + p val foo = 1 +} + +// FOR: KT-2170 +// EXIST: private, public, protected \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/KeywordsCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/KeywordsCompletionTest.java index 6e8efd09254..c8a088395d4 100644 --- a/idea/tests/org/jetbrains/jet/completion/KeywordsCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/KeywordsCompletionTest.java @@ -87,6 +87,10 @@ public class KeywordsCompletionTest extends JetCompletionTestBase { doTest(); } + public void testInModifierListInsideClass() { + doTest(); + } + public void testInString() { doTest(); }