diff --git a/idea/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt b/idea/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt index 4b266109375..66b888a24f2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt +++ b/idea/src/org/jetbrains/kotlin/idea/completion/CompletionSession.kt @@ -286,8 +286,7 @@ class BasicCompletionSession(configuration: CompletionSessionConfiguration, addReferenceVariants(kindFilter, runtimeReceiverType = false) } - val ampIndex = prefix.indexOf("@") - val keywordsPrefix = if (ampIndex < 0) prefix else prefix.substring(0, ampIndex) // if there is '@' in the prefix - use shorter prefix to not loose 'this' etc + val keywordsPrefix = prefix.substringBefore('@') // if there is '@' in the prefix - use shorter prefix to not loose 'this' etc KeywordCompletion.complete(expression ?: parameters.getPosition(), keywordsPrefix) { lookupElement -> val keyword = lookupElement.getLookupString() when (keyword) { diff --git a/idea/src/org/jetbrains/kotlin/idea/completion/LookupElementFactory.kt b/idea/src/org/jetbrains/kotlin/idea/completion/LookupElementFactory.kt index 68d5dd886fe..9d9da8d25f6 100644 --- a/idea/src/org/jetbrains/kotlin/idea/completion/LookupElementFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/completion/LookupElementFactory.kt @@ -110,8 +110,7 @@ public class LookupElementFactory( } val qualifiedName = psiClass.getQualifiedName()!! - val dotIndex = qualifiedName.lastIndexOf('.') - val packageName = if (dotIndex <= 0) "" else qualifiedName.substring(0, dotIndex) + val packageName = qualifiedName.substringBeforeLast('.', "") element = element.appendTailText(" ($packageName)", true) if (psiClass.isDeprecated()) { diff --git a/j2k/tests/org/jetbrains/kotlin/j2k/AbstractJavaToKotlinConverterSingleFileTest.kt b/j2k/tests/org/jetbrains/kotlin/j2k/AbstractJavaToKotlinConverterSingleFileTest.kt index 1e71ced1ad6..6a4043ad5a3 100644 --- a/j2k/tests/org/jetbrains/kotlin/j2k/AbstractJavaToKotlinConverterSingleFileTest.kt +++ b/j2k/tests/org/jetbrains/kotlin/j2k/AbstractJavaToKotlinConverterSingleFileTest.kt @@ -136,15 +136,9 @@ public abstract class AbstractJavaToKotlinConverterSingleFileTest : AbstractJava override fun getProjectDescriptor() = JetWithJdkAndRuntimeLightProjectDescriptor.INSTANCE - private fun String.removeFirstLine(): String { - val lastNewLine = indexOf('\n') - return if (lastNewLine == -1) "" else substring(lastNewLine) - } + private fun String.removeFirstLine() = substringAfter('\n', "") - private fun String.removeLastLine(): String { - val lastNewLine = lastIndexOf('\n') - return if (lastNewLine == -1) "" else substring(0, lastNewLine) - } + private fun String.removeLastLine() = substringBeforeLast('\n', "") private fun createJavaFile(text: String): PsiJavaFile { return myFixture.configureByText("converterTestFile.java", text) as PsiJavaFile