From f3ff2e2e76e05625ff4087fcf4fadae6f98d2e47 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 30 Oct 2015 16:50:27 +0300 Subject: [PATCH] Replace deprecated join with joinToString --- ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt | 2 +- ant/src/org/jetbrains/kotlin/ant/Kotlin2JvmTask.kt | 2 +- .../src/org/jetbrains/kotlin/codegen/inline/SMAP.kt | 8 +++----- .../src/org/jetbrains/kotlin/psi/DebugTextUtil.kt | 4 ++-- .../src/org/jetbrains/kotlin/psi/KtCodeFragment.kt | 4 ++-- .../kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt | 2 +- .../org/jetbrains/kotlin/checkers/LazyOperationsLog.kt | 10 ++++------ .../org/jetbrains/kotlin/codegen/CodegenTestUtil.java | 4 ++-- .../kotlin/jvm/compiler/AbstractSMAPBaseTest.kt | 4 ++-- .../kotlin/jvm/compiler/AbstractWriteSignatureTest.kt | 2 +- .../constraintSystem/AbstractConstraintSystemTest.kt | 4 ++-- .../jetbrains/kotlin/load/java/lazy/types/RawType.kt | 2 +- .../src/org/jetbrains/kotlin/utils/strings.kt | 2 +- .../generators/protobuf/GenerateProtoBufCompare.kt | 4 ++-- .../tests/generateTestDataForReservedWords.kt | 6 +++--- .../KotlinSuppressableWarningProblemGroup.kt | 2 +- .../jetbrains/kotlin/idea/highlighter/renderersUtil.kt | 8 ++++---- .../idea/completion/ParameterNameAndTypeCompletion.kt | 4 ++-- .../kotlin/console/gutter/ConsoleErrorRenderer.kt | 2 +- .../kotlin/idea/coverage/KotlinCoverageExtension.kt | 4 ++-- .../idea/highlighter/markers/SuperDeclarationMarker.kt | 2 +- .../intentions/ConvertToConcatenatedStringIntention.kt | 2 +- .../kotlin/idea/j2k/IdeaDocCommentConverter.kt | 2 +- .../src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt | 2 +- .../idea/quickfix/MakeOverriddenMemberOpenFix.kt | 4 ++-- .../coverage/AbstractKotlinCoverageOutputFilesTest.kt | 2 +- .../org/jetbrains/kotlin/j2k/DocCommentConverter.kt | 3 +-- .../org/jetbrains/kotlin/jps/build/KotlinBuilder.kt | 8 ++++---- .../kotlin/jps/incremental/IncrementalCacheImpl.kt | 4 ++-- .../kotlin/jps/build/AbstractLookupTrackerTest.kt | 2 +- .../jetbrains/kotlin/android/synthetic/KotlinWriter.kt | 2 +- 31 files changed, 54 insertions(+), 59 deletions(-) diff --git a/ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt b/ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt index a97d60f6cfc..6b395d4a636 100644 --- a/ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt +++ b/ant/src/org/jetbrains/kotlin/ant/Kotlin2JsTask.kt @@ -52,7 +52,7 @@ public class Kotlin2JsTask : KotlinCompilerBaseTask() { // TODO: write test library?.let { args.add("-library-files") - args.add(it.list().map { File(it).canonicalPath }.join(separator = ",")) + args.add(it.list().joinToString(separator = ",") { File(it).canonicalPath }) } outputPrefix?.let { diff --git a/ant/src/org/jetbrains/kotlin/ant/Kotlin2JvmTask.kt b/ant/src/org/jetbrains/kotlin/ant/Kotlin2JvmTask.kt index 66f9b5ccd8e..0c171db4712 100644 --- a/ant/src/org/jetbrains/kotlin/ant/Kotlin2JvmTask.kt +++ b/ant/src/org/jetbrains/kotlin/ant/Kotlin2JvmTask.kt @@ -54,7 +54,7 @@ public class Kotlin2JvmTask : KotlinCompilerBaseTask() { compileClasspath?.let { args.add("-classpath") - args.add(it.list().join(pathSeparator)) + args.add(it.list().joinToString(pathSeparator)) } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt index a61143994d5..efb201ce18e 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAP.kt @@ -40,8 +40,8 @@ public class SMAPBuilder(val source: String, return null; } - val fileIds = "*F" + realMappings.mapIndexed { id, file -> "\n${file.toSMAPFile(id + 1)}" }.join("") - val lineMappings = "*L" + realMappings.map { it.toSMAPMapping() }.join("") + val fileIds = "*F" + realMappings.mapIndexed { id, file -> "\n${file.toSMAPFile(id + 1)}" }.joinToString("") + val lineMappings = "*L" + realMappings.joinToString("") { it.toSMAPMapping() } return "$header\n$fileIds\n$lineMappings\n*E\n" } @@ -58,9 +58,7 @@ public class SMAPBuilder(val source: String, //TODO inline fun FileMapping.toSMAPMapping(): String { - return lineMappings.map { - "\n${it.toSMAP(id)}" - }.join("") + return lineMappings.joinToString("") { "\n${it.toSMAP(id)}" } } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/DebugTextUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/DebugTextUtil.kt index f9dc7945890..8beef14a90f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/DebugTextUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/DebugTextUtil.kt @@ -283,12 +283,12 @@ private object DebugTextBuildingVisitor : KtVisitor() { fun renderChildren(element: KtElementImplStub<*>, separator: String, prefix: String = "", postfix: String = ""): String? { val childrenTexts = element.getStub()?.getChildrenStubs()?.map { (it?.getPsi() as? KtElement)?.getDebugText() } - return childrenTexts?.filterNotNull()?.join(separator, prefix, postfix) ?: element.getText() + return childrenTexts?.filterNotNull()?.joinToString(separator, prefix, postfix) ?: element.getText() } fun render(element: KtElementImplStub<*>, vararg relevantChildren: KtElement?): String? { if (element.getStub() == null) return element.getText() - return relevantChildren.filterNotNull().map { it.getDebugText() }.join("", "", "") + return relevantChildren.filterNotNull().map { it.getDebugText() }.joinToString("", "", "") } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCodeFragment.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCodeFragment.kt index b9d3239fc24..893d90c969d 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCodeFragment.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtCodeFragment.kt @@ -97,7 +97,7 @@ public abstract class KtCodeFragment( } override fun importsToString(): String { - return myImports.join(IMPORT_SEPARATOR) + return myImports.joinToString(IMPORT_SEPARATOR) } override fun addImportsFromString(imports: String?) { @@ -110,7 +110,7 @@ public abstract class KtCodeFragment( } public fun importsAsImportList(): KtImportList? { - return KtPsiFactory(this).createFile(myImports.join("\n")).getImportList() + return KtPsiFactory(this).createFile(myImports.joinToString("\n")).getImportList() } override fun setVisibilityChecker(checker: JavaCodeFragment.VisibilityChecker?) { } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt index 9722e4b71dc..182be1e12a1 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/impl/KotlinStubBaseImpl.kt @@ -36,7 +36,7 @@ public open class KotlinStubBaseImpl>(parent: StubEleme if (propertiesValues.isEmpty()) { return "" } - return propertiesValues.join(separator = ", ", prefix = "[", postfix = "]") + return propertiesValues.joinToString(separator = ", ", prefix = "[", postfix = "]") } private fun renderPropertyValues(stubInterface: Class): List { diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/LazyOperationsLog.kt b/compiler/tests/org/jetbrains/kotlin/checkers/LazyOperationsLog.kt index f1cdfd065bc..cf600d762c0 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/LazyOperationsLog.kt +++ b/compiler/tests/org/jetbrains/kotlin/checkers/LazyOperationsLog.kt @@ -67,7 +67,7 @@ class LazyOperationsLog( return groupedByOwner.map { val (owner, records) = it renderOwner(owner, records) - }.sortedBy(stringSanitizer).join("\n").renumberObjects() + }.sortedBy(stringSanitizer).joinToString("\n").renumberObjects() } /** @@ -112,7 +112,7 @@ class LazyOperationsLog( sb.append(data.field?.getName() ?: "in ${data.lambdaCreatedIn.getDeclarationName()}") if (!data.arguments.isEmpty()) { - sb.append(data.arguments.map { render(it) }.join(", ", "(", ")")) + data.arguments.joinTo(sb, ", ", "(", ")") { render(it) } } sb.append(" = ${render(data.result)}") @@ -176,10 +176,8 @@ class LazyOperationsLog( sb.append("[empty]") } else { - val size = o.size() - sb.append("[$size] { ").append(o.take(3).map { render(it) }.join(", ")) - if (o.size() > 3) sb.append(", ...") - sb.append(" }") + sb.append("[${o.size}] ") + o.joinTo(sb, ", ", prefix = "{", postfix = "}", limit = 3) { render(it) } } } o is KotlinTypeImpl -> { diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/CodegenTestUtil.java b/compiler/tests/org/jetbrains/kotlin/codegen/CodegenTestUtil.java index ea6d400312a..85c5de88186 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/CodegenTestUtil.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/CodegenTestUtil.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.codegen; import com.google.common.base.Function; import com.google.common.collect.Lists; -import kotlin.StringsKt; +import org.jetbrains.kotlin.utils.StringsKt; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.analyzer.AnalysisResult; @@ -128,7 +128,7 @@ public class CodegenTestUtil { classpath.addAll(additionalClasspath); List options = new ArrayList(Arrays.asList( - "-classpath", StringsKt.join(classpath, File.pathSeparator, "", "", -1, ""), + "-classpath", StringsKt.join(classpath, File.pathSeparator), "-d", javaClassesTempDirectory.getPath() )); options.addAll(additionalOptions); diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSMAPBaseTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSMAPBaseTest.kt index 461b9db2c10..7fab279864e 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSMAPBaseTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSMAPBaseTest.kt @@ -67,7 +67,7 @@ public interface AbstractSMAPBaseTest { val compiledData = extractSMAPFromClasses(outputFiles).groupBy { it.sourceFile }.map { - val smap = it.getValue().map { replaceHash(it.smap) }.filterNotNull().join("\n") + val smap = it.getValue().map { replaceHash(it.smap) }.filterNotNull().joinToString("\n") SMAPAndFile(if (smap.isNotEmpty()) smap else null, it.key) }.toMap { it.sourceFile } @@ -85,7 +85,7 @@ public interface AbstractSMAPBaseTest { val files = data.substring(fileSectionStart, lineSection).split("\n") - val cleaned = files.join("\n") + val cleaned = files.joinToString("\n") return data.substring(0, fileSectionStart) + cleaned + data.substring(lineSection) } diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractWriteSignatureTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractWriteSignatureTest.kt index 43bb632e567..24db8b9ae91 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractWriteSignatureTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractWriteSignatureTest.kt @@ -134,7 +134,7 @@ public abstract class AbstractWriteSignatureTest : TestCaseWithTmpdir() { methodExpectations.filterNotTo(uncheckedExpectations) { it.isChecked() } fieldExpectations.filterNotTo(uncheckedExpectations) { it.isChecked() } Assert.assertTrue( - "Unchecked expectations (${uncheckedExpectations.size()} total):\n " + uncheckedExpectations.join("\n "), + "Unchecked expectations (${uncheckedExpectations.size()} total):\n " + uncheckedExpectations.joinToString("\n "), uncheckedExpectations.isEmpty()) } diff --git a/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt b/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt index 68a04e2f621..813e3541de8 100644 --- a/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt @@ -110,10 +110,10 @@ abstract public class AbstractConstraintSystemTest() : KotlinLiteFixture() { val parameterType = testDeclarations.getType(it.getName().asString()) val resultType = resultingSubstitutor.substitute(parameterType, Variance.INVARIANT) "${it.getName()}=${resultType?.let { DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(it) }}" - }.join("\n", prefix = "result:\n") + }.joinToString("\n", prefix = "result:\n") val boundsFile = File(filePath.replace("constraints", "bounds")) - KotlinTestUtils.assertEqualsToFile(boundsFile, "${constraintsFileText.join("\n")}\n\n$resultingStatus\n\n$result") + KotlinTestUtils.assertEqualsToFile(boundsFile, "${constraintsFileText.joinToString("\n")}\n\n$resultingStatus\n\n$result") } class MyConstraint(val kind: MyConstraintKind, val firstType: String, val secondType: String) diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/types/RawType.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/types/RawType.kt index 37cd3365255..367787e1269 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/types/RawType.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/types/RawType.kt @@ -58,7 +58,7 @@ public object RawTypeCapabilities : TypeCapabilities { if (!upperArgs.isNotEmpty()) return null - val newArgs = lowerArgs.map { "(raw) $it" }.join(", ") + val newArgs = lowerArgs.map { "(raw) $it" }.joinToString(", ") val newUpper = if (lowerArgs.zip(upperArgs).all { onlyOutDiffers(it.first, it.second) }) upperRendered.replaceArgs(newArgs) diff --git a/core/util.runtime/src/org/jetbrains/kotlin/utils/strings.kt b/core/util.runtime/src/org/jetbrains/kotlin/utils/strings.kt index 52ceae1217b..f0f223439fc 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/utils/strings.kt +++ b/core/util.runtime/src/org/jetbrains/kotlin/utils/strings.kt @@ -17,4 +17,4 @@ package org.jetbrains.kotlin.utils // Needed for Java interop: otherwise you need to specify all the optional parameters to join, i.e. prefix, postfix, limit, truncated -fun Iterable.join(separator: String) = joinToString(separator) +fun join(collection: Iterable, separator: String) = collection.joinToString(separator) diff --git a/generators/src/org/jetbrains/kotlin/generators/protobuf/GenerateProtoBufCompare.kt b/generators/src/org/jetbrains/kotlin/generators/protobuf/GenerateProtoBufCompare.kt index bc30fe95b18..87768733b0a 100644 --- a/generators/src/org/jetbrains/kotlin/generators/protobuf/GenerateProtoBufCompare.kt +++ b/generators/src/org/jetbrains/kotlin/generators/protobuf/GenerateProtoBufCompare.kt @@ -238,7 +238,7 @@ class GenerateProtoBufCompare { val allFields = fields + extFields p.println("public enum class ${className}Kind {") - p.println(allFields.map { " " + it.enumName }.join(",\n ")) + p.println(allFields.joinToString(",\n ") { " " + it.enumName }) p.println("}") p.println() @@ -440,5 +440,5 @@ class GenerateProtoBufCompare { } private val String.javaName: String - get() = this.split("_").map { it.capitalize() }.join("").decapitalize() + get() = this.split("_").joinToString("") { it.capitalize() }.decapitalize() } \ No newline at end of file diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/generateTestDataForReservedWords.kt b/generators/src/org/jetbrains/kotlin/generators/tests/generateTestDataForReservedWords.kt index 52d4538c7c7..5dbb257f32c 100644 --- a/generators/src/org/jetbrains/kotlin/generators/tests/generateTestDataForReservedWords.kt +++ b/generators/src/org/jetbrains/kotlin/generators/tests/generateTestDataForReservedWords.kt @@ -329,9 +329,9 @@ class TestDataBuilder() { } if (isCreatingFromScratch) { - shouldBeEscapedFile.writeText("$PREAMBLE_MESSAGE\n${SHOULD_BE_ESCAPED.join("\n")}") - shouldNotBeEscapedFile.writeText("$PREAMBLE_MESSAGE\n${SHOULD_NOT_BE_ESCAPED.join("\n")}") - casesFile.writeText("$PREAMBLE_MESSAGE\n${cases.join("\n")}") + shouldBeEscapedFile.writeText("$PREAMBLE_MESSAGE\n${SHOULD_BE_ESCAPED.joinToString("\n")}") + shouldNotBeEscapedFile.writeText("$PREAMBLE_MESSAGE\n${SHOULD_NOT_BE_ESCAPED.joinToString("\n")}") + casesFile.writeText("$PREAMBLE_MESSAGE\n${cases.joinToString("\n")}") } } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinSuppressableWarningProblemGroup.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinSuppressableWarningProblemGroup.kt index 0e94f413c15..377367568dd 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinSuppressableWarningProblemGroup.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinSuppressableWarningProblemGroup.kt @@ -90,7 +90,7 @@ private object DeclarationKindDetector : KtVisitor() override fun visitProperty(d: KtProperty, data: Unit?) = detect(d, d.getValOrVarKeyword().getText()!!) override fun visitMultiDeclaration(d: KtMultiDeclaration, data: Unit?) = detect(d, d.getValOrVarKeyword()?.getText() ?: "val", - name = d.getEntries().map { it.getName()!! }.join(", ", "(", ")")) + name = d.getEntries().map { it.getName()!! }.joinToString(", ", "(", ")")) override fun visitTypeParameter(d: KtTypeParameter, data: Unit?) = detect(d, "type parameter", newLineNeeded = false) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/renderersUtil.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/renderersUtil.kt index 29d382a02ea..1e957c8fc00 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/renderersUtil.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/renderersUtil.kt @@ -78,7 +78,7 @@ fun renderResolvedCall(resolvedCall: ResolvedCall): append("
$indentwhere ") if (!notInferredTypeParameters.isEmpty()) { - append(notInferredTypeParameters.map { typeParameter -> renderError(typeParameter.getName()) }.join()) + append(notInferredTypeParameters.map { typeParameter -> renderError(typeParameter.getName()) }.joinToString()) append(" cannot be inferred") if (!inferredTypeParameters.isEmpty()) { append("; ") @@ -88,8 +88,8 @@ fun renderResolvedCall(resolvedCall: ResolvedCall): val typeParameterToTypeArgumentMap = resolvedCall.getTypeArguments() if (!inferredTypeParameters.isEmpty()) { append(inferredTypeParameters.map { typeParameter -> - "${typeParameter.getName()} = ${htmlRenderer.renderType(typeParameterToTypeArgumentMap[typeParameter]!!)}" - }.join()) + "${typeParameter.getName()} = ${htmlRenderer.renderType(typeParameterToTypeArgumentMap[typeParameter]!!)}" + }.joinToString()) } } @@ -99,7 +99,7 @@ fun renderResolvedCall(resolvedCall: ResolvedCall): append(htmlRenderer.renderType(receiverParameter.getType())).append(".") } append(resultingDescriptor.getName()).append("(") - append(resultingDescriptor.getValueParameters().map { parameter -> renderParameter(parameter) }.join()) + append(resultingDescriptor.getValueParameters().map { parameter -> renderParameter(parameter) }.joinToString()) append(if (resolvedCall.hasUnmappedArguments()) renderError(")") else ")") if (!resolvedCall.getCandidateDescriptor().getTypeParameters().isEmpty()) { diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ParameterNameAndTypeCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ParameterNameAndTypeCompletion.kt index 1245f09efb1..724ad09a5b5 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ParameterNameAndTypeCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ParameterNameAndTypeCompletion.kt @@ -63,9 +63,9 @@ class ParameterNameAndTypeCompletion( val nameSuggestionPrefixes = if (prefix.isEmpty() || prefix[0].isUpperCase()) emptyList() else - prefixWords.indices.map { index -> if (index == 0) prefix else prefixWords.drop(index).join("") } + prefixWords.indices.map { index -> if (index == 0) prefix else prefixWords.drop(index).joinToString("") } - userPrefixes = nameSuggestionPrefixes.indices.map { prefixWords.take(it).join("") } + userPrefixes = nameSuggestionPrefixes.indices.map { prefixWords.take(it).joinToString("") } classNamePrefixMatchers = nameSuggestionPrefixes.map { CamelHumpMatcher(it.capitalize(), false) } } diff --git a/idea/idea-repl/src/org/jetbrains/kotlin/console/gutter/ConsoleErrorRenderer.kt b/idea/idea-repl/src/org/jetbrains/kotlin/console/gutter/ConsoleErrorRenderer.kt index 2337ef027b3..26a4a658c0d 100644 --- a/idea/idea-repl/src/org/jetbrains/kotlin/console/gutter/ConsoleErrorRenderer.kt +++ b/idea/idea-repl/src/org/jetbrains/kotlin/console/gutter/ConsoleErrorRenderer.kt @@ -29,7 +29,7 @@ public class ConsoleErrorRenderer(private val messages: List) : override fun getTooltipText(): String { val htmlTooltips = messages map { "${msgType(it.severity)} ${it.description}" } - return "${htmlTooltips.join("
")}" + return "${htmlTooltips.joinToString("
")}" } override fun getIcon() = ReplIcons.COMPILER_ERROR diff --git a/idea/src/org/jetbrains/kotlin/idea/coverage/KotlinCoverageExtension.kt b/idea/src/org/jetbrains/kotlin/idea/coverage/KotlinCoverageExtension.kt index 92407366ec3..eea4da3d7b2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/coverage/KotlinCoverageExtension.kt +++ b/idea/src/org/jetbrains/kotlin/idea/coverage/KotlinCoverageExtension.kt @@ -124,7 +124,7 @@ public class KotlinCoverageExtension(): JavaCoverageEngineExtension() { if (existingClassFiles.isEmpty()) { return null } - LOG.debug("Classfiles: [${existingClassFiles.map { it.getName() }.join()}]") + LOG.debug("Classfiles: [${existingClassFiles.map { it.getName() }.joinToString()}]") return existingClassFiles.map { val relativePath = VfsUtilCore.getRelativePath(it, outputRoot!!)!! StringUtil.trimEnd(relativePath, ".class").replace("/", ".") @@ -159,7 +159,7 @@ public class KotlinCoverageExtension(): JavaCoverageEngineExtension() { if (packageOutputDir == null) return listOf() val prefixes = collectClassFilePrefixes(file) - LOG.debug("Classfile prefixes: [${prefixes.join(", ")}]") + LOG.debug("Classfile prefixes: [${prefixes.joinToString(", ")}]") return packageOutputDir.getChildren().filter { file -> prefixes.any { (file.getName().startsWith(it + "$") && FileUtilRt.getExtension(file.getName()) == "class") || diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/SuperDeclarationMarker.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/SuperDeclarationMarker.kt index 029fe1af9fb..7770e4091d3 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/SuperDeclarationMarker.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/SuperDeclarationMarker.kt @@ -61,7 +61,7 @@ object SuperDeclarationMarkerTooltip: Function { "${if (!isAbstract && isBaseAbstract) "Implements" else "Overrides"} $memberKind in '${renderer.render(declaration)}'" } - return containingStrings.sorted().join(separator = "
") + return containingStrings.sorted().joinToString(separator = "
") } } diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToConcatenatedStringIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToConcatenatedStringIntention.kt index db9500110d8..638c99ce05c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToConcatenatedStringIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertToConcatenatedStringIntention.kt @@ -40,7 +40,7 @@ public class ConvertToConcatenatedStringIntention : SelfTargetingOffsetIndepende .mapIndexed { index, entry -> entry.toSeparateString(quote, convertExplicitly = (index == 0), isFinalEntry = (index == entries.lastIndex)) } - .join(separator = "+") + .joinToString(separator = "+") .replace("""$quote+$quote""", "") val replacement = KtPsiFactory(element).createExpression(text) diff --git a/idea/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt b/idea/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt index 557a4b9844d..f2a2e5e3b32 100644 --- a/idea/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt +++ b/idea/src/org/jetbrains/kotlin/idea/j2k/IdeaDocCommentConverter.kt @@ -74,7 +74,7 @@ object IdeaDocCommentConverter : DocCommentConverter { private fun convertInlineDocTag(tag: PsiInlineDocTag) = when(tag.getName()) { "code", "literal" -> { - val text = tag.getDataElements().map { it.getText() }.join("") + val text = tag.getDataElements().joinToString("") { it.getText() } val escaped = StringUtil.escapeXml(text.trimStart()) if (tag.getName() == "code") "$escaped" else escaped } diff --git a/idea/src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt b/idea/src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt index 735051f07f6..11515162fcc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt @@ -97,7 +97,7 @@ object KDocRenderer { // Avoid wrapping the entire converted contents in a

tag if it's just a single paragraph val maybeSingleParagraph = markdownNode.children.filter { it.type != MarkdownTokenTypes.EOL }.singleOrNull() if (maybeSingleParagraph != null && !allowSingleParagraph) { - return maybeSingleParagraph.children.map { it.toHtml() }.join("") + return maybeSingleParagraph.children.joinToString("") { it.toHtml() } } else { return markdownNode.toHtml() } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeOverriddenMemberOpenFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeOverriddenMemberOpenFix.kt index 2703768979c..b20bf53e569 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeOverriddenMemberOpenFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/MakeOverriddenMemberOpenFix.kt @@ -73,8 +73,8 @@ public class MakeOverriddenMemberOpenFix(declaration: KtDeclaration) : KotlinQui } Collections.sort(containingDeclarationsNames) - val declarations = containingDeclarationsNames.subList(0, containingDeclarationsNames.size()-1).join(", ") + " and " + - containingDeclarationsNames.last() + val declarations = containingDeclarationsNames.subList(0, containingDeclarationsNames.size()-1).joinToString(", ") + " and " + + containingDeclarationsNames.last() return "Make '${element.name}' in $declarations open" } diff --git a/idea/tests/org/jetbrains/kotlin/idea/coverage/AbstractKotlinCoverageOutputFilesTest.kt b/idea/tests/org/jetbrains/kotlin/idea/coverage/AbstractKotlinCoverageOutputFilesTest.kt index 47c8c360f18..c615e03f19f 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/coverage/AbstractKotlinCoverageOutputFilesTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/coverage/AbstractKotlinCoverageOutputFilesTest.kt @@ -41,7 +41,7 @@ public abstract class AbstractKotlinCoverageOutputFilesTest(): KotlinLightCodeIn } val actualClasses = KotlinCoverageExtension.collectGeneratedClassQualifiedNames(outDir, kotlinFile) - KotlinTestUtils.assertEqualsToFile(File(path.replace(".kt", ".expected.txt")), actualClasses!!.join("\n")) + KotlinTestUtils.assertEqualsToFile(File(path.replace(".kt", ".expected.txt")), actualClasses!!.joinToString("\n")) } finally { runWriteAction { diff --git a/j2k/src/org/jetbrains/kotlin/j2k/DocCommentConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/DocCommentConverter.kt index 8988d5d21cb..00730d60887 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/DocCommentConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/DocCommentConverter.kt @@ -34,5 +34,4 @@ fun PsiDocTag.content(): String = .dropWhile { it.getNode().getElementType() == JavaDocTokenType.DOC_TAG_NAME } .dropWhile { it is PsiWhiteSpace } .filterNot { it.getNode().getElementType() == JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS } - .map { it.getText() } - .join("") \ No newline at end of file + .joinToString("") { it.getText() } diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt index cf165fdd2a2..489f7247f21 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt @@ -138,7 +138,7 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR val dataManager = projectDescriptor.dataManager if (chunk.targets.any { dataManager.dataPaths.getKotlinCacheVersion(it).isIncompatible() }) { - LOG.info("Clearing caches for " + chunk.targets.map { it.presentableName }.join()) + LOG.info("Clearing caches for " + chunk.targets.joinToString { it.presentableName }) chunk.targets.forEach { dataManager.getKotlinCache(it).clean() } return CHUNK_REBUILD_REQUIRED } @@ -278,7 +278,7 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR ): OutputItemsCollectorImpl? { if (JpsUtils.isJsKotlinModule(chunk.representativeTarget())) { - LOG.debug("Compiling to JS ${filesToCompile.values().size()} files in " + filesToCompile.keySet().map { it.getPresentableName() }.join()) + LOG.debug("Compiling to JS ${filesToCompile.values().size()} files in ${filesToCompile.keySet().joinToString { it.presentableName }}") return compileToJs(chunk, commonArguments, environment, null, messageCollector, project) } @@ -563,7 +563,7 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR val moduleFile = KotlinBuilderModuleScriptGenerator.generateModuleDescription(context, chunk, filesToCompile, totalRemovedFiles != 0) if (moduleFile == null) { - KotlinBuilder.LOG.debug("Not compiling, because no files affected: " + filesToCompile.keySet().map { it.getPresentableName() }.join()) + KotlinBuilder.LOG.debug("Not compiling, because no files affected: " + filesToCompile.keySet().joinToString { it.presentableName }) // No Kotlin sources found return null } @@ -574,7 +574,7 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR KotlinBuilder.LOG.debug("Compiling to JVM ${filesToCompile.values().size()} files" + (if (totalRemovedFiles == 0) "" else " ($totalRemovedFiles removed files)") - + " in " + filesToCompile.keySet().map { it.getPresentableName() }.join()) + + " in " + filesToCompile.keySet().joinToString { it.presentableName }) KotlinCompilerRunner.runK2JvmCompiler(commonArguments, k2JvmArguments, compilerSettings, messageCollector, environment, moduleFile, outputItemCollector) moduleFile.delete() diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt index 3de1a1a4800..d81670d633f 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/incremental/IncrementalCacheImpl.kt @@ -110,7 +110,7 @@ public class IncrementalCacheImpl( @TestOnly public fun dump(): String { - return maps.map { it.dump() }.join("\n\n") + return maps.joinToString("\n\n") { it.dump() } } public fun markOutputClassesDirty(removedAndCompiledSources: List) { @@ -769,7 +769,7 @@ private fun , V> Map.dumpMap(dumpValue: (V)->String): St @TestOnly public fun > Collection.dumpCollection(): String = - "[${sorted().map(Any::toString).join(", ")}]" + "[${sorted().joinToString(", ", transform = Any::toString)}]" private class PathFunctionPair( public val path: String, diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt index 1730b0be18d..11d189dfa57 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt @@ -88,7 +88,7 @@ abstract class AbstractLookupTrackerTest : AbstractIncrementalJpsTest( start = end } - lines[line - 1] = parts.join("") + lineContent.subSequence(start, lineContent.length) + lines[line - 1] = parts.joinToString("") + lineContent.subSequence(start, lineContent.length) } val actual = lines.joinToString("\n") diff --git a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/android/synthetic/KotlinWriter.kt b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/android/synthetic/KotlinWriter.kt index 1844d28ac8f..3be97da40f8 100644 --- a/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/android/synthetic/KotlinWriter.kt +++ b/plugins/android-compiler-plugin/src/org/jetbrains/kotlin/android/synthetic/KotlinWriter.kt @@ -43,7 +43,7 @@ class KotlinStringWriter : KotlinWriter { } else { body.writeNoIndent("=") - body.writeNoIndent(getterBody.join("").replace("return", "")) + body.writeNoIndent(getterBody.joinToString("").replace("return", "")) body.newLine() } body.decIndent()