diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt index a1b88e7b023..50dfd5e9e0b 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KeywordCompletion.kt @@ -35,10 +35,7 @@ import org.jetbrains.kotlin.lexer.JetKeywordToken import org.jetbrains.kotlin.lexer.JetModifierKeywordToken import org.jetbrains.kotlin.lexer.JetTokens.* import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType -import org.jetbrains.kotlin.psi.psiUtil.nextLeaf -import org.jetbrains.kotlin.psi.psiUtil.prevLeaf -import org.jetbrains.kotlin.psi.psiUtil.siblings +import org.jetbrains.kotlin.psi.psiUtil.* import org.jetbrains.kotlin.resolve.ModifierCheckerCore open class KeywordLookupObject @@ -194,7 +191,7 @@ object KeywordCompletion { elementAt.getNonStrictParentOfType() != null -> return false - elementAt.prevLeaf { it !is PsiWhiteSpace && it !is PsiComment } is PsiErrorElement -> return false + elementAt.prevLeaf { it !is PsiWhiteSpace && it !is PsiComment }?.parentsWithSelf?.any { it is PsiErrorElement } ?: false -> return false keywordTokenType !is JetModifierKeywordToken -> return true diff --git a/idea/idea-completion/testData/keywords/FileKeyword.kt b/idea/idea-completion/testData/keywords/FileKeyword.kt index b646a5ae182..2d6496122f3 100644 --- a/idea/idea-completion/testData/keywords/FileKeyword.kt +++ b/idea/idea-completion/testData/keywords/FileKeyword.kt @@ -4,7 +4,6 @@ // EXIST: {"lookupString":"fun","itemText":"fun","attributes":"bold"} // EXIST: {"lookupString":"interface","itemText":"interface","attributes":"bold"} // EXIST: {"lookupString":"object","itemText":"object","attributes":"bold"} -// EXIST: {"lookupString":"package","itemText":"package","attributes":"bold"} // EXIST: {"lookupString":"val","itemText":"val","attributes":"bold"} // EXIST: {"lookupString":"var","itemText":"var","attributes":"bold"} // NOTHING_ELSE diff --git a/idea/idea-completion/testData/keywords/UseSiteTargetForPrimaryConstructorParameter.kt b/idea/idea-completion/testData/keywords/UseSiteTargetForPrimaryConstructorParameter.kt index 6bab30eb584..1672ce6d244 100644 --- a/idea/idea-completion/testData/keywords/UseSiteTargetForPrimaryConstructorParameter.kt +++ b/idea/idea-completion/testData/keywords/UseSiteTargetForPrimaryConstructorParameter.kt @@ -9,8 +9,6 @@ class Completion(@get:Ann val p1: String, @) // EXIST: setparam // EXIST: property -/*TODO: keywords below should not be here*/ -// EXIST: val -// EXIST: var +/*TODO: in fact is not applicable */ // EXIST: receiver // NOTHING_ELSE