diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionBindingContextProvider.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionBindingContextProvider.kt index 446f82f2ecd..77da0511364 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionBindingContextProvider.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionBindingContextProvider.kt @@ -104,8 +104,6 @@ class CompletionBindingContextProvider(project: Project) { } private fun _getBindingContext(position: PsiElement, resolutionFacade: ResolutionFacade): BindingContext { - assert(!position.isPhysical) // position is in synthetic file - val inStatement = position.findStatementInBlock() val block = inStatement?.parent as KtBlockExpression? val prevStatement = inStatement?.siblings(forward = false, withItself = false)?.firstIsInstanceOrNull() diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/KotlinFunctionInsertHandler.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/KotlinFunctionInsertHandler.kt index ff9baeeff81..b735d1a3ae5 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/KotlinFunctionInsertHandler.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/handlers/KotlinFunctionInsertHandler.kt @@ -91,7 +91,7 @@ sealed class KotlinFunctionInsertHandler(callType: CallType<*>) : KotlinCallable val document = context.document val editor = context.editor val project = context.project - val chars = document.charsSequence + var chars = document.charsSequence val isSmartEnterCompletion = completionChar == Lookup.COMPLETE_STATEMENT_SELECT_CHAR val isReplaceCompletion = completionChar == Lookup.REPLACE_SELECT_CHAR @@ -127,6 +127,7 @@ sealed class KotlinFunctionInsertHandler(callType: CallType<*>) : KotlinCallable if (insertTypeArguments) { document.insertString(offset, "<>") + chars = document.charsSequence editor.caretModel.moveToOffset(offset + 1) offset += 2 } @@ -160,8 +161,8 @@ sealed class KotlinFunctionInsertHandler(callType: CallType<*>) : KotlinCallable } PsiDocumentManager.getInstance(project).commitDocument(document) - openingBracketOffset = chars.indexOfSkippingSpace(openingBracket, offset)!! - closeBracketOffset = chars.indexOfSkippingSpace(closingBracket, openingBracketOffset + 1) + openingBracketOffset = document.charsSequence.indexOfSkippingSpace(openingBracket, offset)!! + closeBracketOffset = document.charsSequence.indexOfSkippingSpace(closingBracket, openingBracketOffset + 1) } if (insertLambda && lambdaInfo!!.explicitParameters) {