From 840847e47cac994bb967dab419db772de3e9fa8d Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 27 Jun 2017 14:26:19 +0300 Subject: [PATCH] Code cleanup: several inspections applied --- .../kotlin/incremental/ICReporter.kt | 2 +- .../jetbrains/kotlin/incremental/buildUtil.kt | 6 ++-- .../incremental/storage/BasicMapsOwner.kt | 2 +- .../kotlin/backend/common/CodegenUtil.kt | 2 +- .../jetbrains/kotlin/codegen/codegenUtil.kt | 5 +-- .../codegen/coroutines/CoroutineCodegen.kt | 4 +-- .../kotlin/cli/common/repl/replUtil.kt | 2 +- .../org/jetbrains/kotlin/inline/inlineUtil.kt | 2 +- .../jumps/NondeterministicJumpInstruction.kt | 2 +- .../org/jetbrains/kotlin/psi/DebugTextUtil.kt | 2 +- .../jetbrains/kotlin/psi/createByPattern.kt | 2 +- .../psi/stubs/impl/KotlinStubBaseImpl.kt | 2 +- .../kotlin/resolve/calls/CallCompleter.kt | 2 +- .../calls/tower/NewResolutionOldInference.kt | 6 ++-- .../IncrementalJvmCompilerRunner.kt | 2 +- .../common/lower/LocalFunctionsLowering.kt | 3 +- .../jvm/lower/ClassLowerWithContext.kt | 2 +- .../backend/jvm/lower/InterfaceLowering.kt | 2 +- .../kotlin/javac/KotlinClassifiersCache.kt | 2 +- .../wrappers/trees/TreeBasedTypeParameter.kt | 4 +-- .../results/OverloadingConflictResolver.kt | 7 ++-- .../kotlin/load/java/lazy/types/RawType.kt | 2 +- .../kotlin/renderer/DescriptorRendererImpl.kt | 9 +++--- .../codeInsight/ReferenceVariantsHelper.kt | 3 +- .../idea/caches/resolve/IdeaModuleInfos.kt | 2 +- .../LightMemberOriginForCompiledElement.kt | 4 +-- .../navigation/SourceNavigationHelper.kt | 2 +- .../idea/highlighter/KotlinPsiChecker.kt | 2 +- .../KotlinSuppressableWarningProblemGroup.kt | 2 +- .../kotlin/idea/highlighter/renderersUtil.kt | 8 ++--- .../idea/project/ResolveElementCache.kt | 3 +- .../completion/BasicLookupElementFactory.kt | 2 +- .../completion/LambdaSignatureTemplates.kt | 4 +-- .../idea/completion/LookupElementFactory.kt | 4 +-- .../smart/MultipleArgumentsItemProvider.kt | 2 +- .../kotlin/idea/core/KotlinIndicesHelper.kt | 2 +- .../org/jetbrains/kotlin/idea/core/Utils.kt | 2 +- .../kotlin/idea/core/generateUtil.kt | 2 +- .../maven/KotlinMavenArchetypesProvider.kt | 4 +-- .../kotlin/console/KotlinConsoleKeeper.kt | 3 +- .../kotlin/console/ReplOutputProcessor.kt | 4 +-- .../idea/actions/KotlinAddImportAction.kt | 32 +++++++------------ .../KotlinCreateFromTemplateHandler.kt | 3 +- .../KotlinGenerateEqualsAndHashcodeAction.kt | 2 +- .../idea/coverage/KotlinCoverageExtension.kt | 2 +- .../extractFunctionForDebuggerUtil.kt | 8 ++--- .../stepping/KotlinSteppingCommandProvider.kt | 2 +- .../idea/formatter/ImportSettingsPanel.kt | 2 +- .../DifferentKotlinGradleVersionInspection.kt | 4 +-- ...unctionTypeParameterToReceiverIntention.kt | 2 +- .../InsertExplicitTypeArgumentsIntention.kt | 2 +- .../ConvertMemberToExtensionIntention.kt | 2 +- .../kotlin/idea/kdoc/KDocRenderer.kt | 4 +-- .../ConvertExtensionToFunctionTypeFix.kt | 2 +- .../callableBuilder/CallableBuilder.kt | 4 +-- .../callableBuilder/templateExpressions.kt | 2 +- .../migration/MigrateExternalExtensionFix.kt | 6 ++-- .../ReplaceProtectedToPublishedApiCallFix.kt | 2 +- .../idea/refactoring/CallableRefactoring.kt | 4 +-- .../changeSignature/KotlinChangeInfo.kt | 6 ++-- .../ui/KotlinChangeSignatureDialog.kt | 4 +-- .../idea/refactoring/inline/inlineUtils.kt | 2 +- .../extractClass/ExtractSuperRefactoring.kt | 2 +- .../ExtractableCodeDescriptor.kt | 2 +- .../extractionEngine/ExtractionEngine.kt | 2 +- .../KotlinInplaceParameterIntroducer.kt | 2 +- .../KotlinIntroduceParameterDialog.kt | 4 +-- .../KotlinIntroducePropertyHandler.kt | 2 +- .../KotlinIntroduceTypeParameterHandler.kt | 2 +- j2k/src/org/jetbrains/kotlin/j2k/Utils.kt | 2 +- .../org/jetbrains/kotlin/j2k/ast/Modifier.kt | 3 +- .../kotlin/jps/build/KotlinBuilder.kt | 6 ++-- .../removeUnusedLocalFunctionDeclarations.kt | 3 +- .../declaration/ClassModelGenerator.kt | 6 ++-- .../AnnotationProcessingExtension.kt | 2 +- .../elements/DefaultJeElementRenderer.kt | 4 +-- 76 files changed, 121 insertions(+), 147 deletions(-) diff --git a/build-common/src/org/jetbrains/kotlin/incremental/ICReporter.kt b/build-common/src/org/jetbrains/kotlin/incremental/ICReporter.kt index b32a9e8c9b9..de1592f9e98 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/ICReporter.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/ICReporter.kt @@ -27,7 +27,7 @@ interface ICReporter { fun reportCompileIteration(sourceFiles: Collection, exitCode: ExitCode) {} fun pathsAsString(files: Iterable): String = - files.map { it.canonicalPath }.joinToString() + files.joinToString { it.canonicalPath } fun pathsAsString(vararg files: File): String = pathsAsString(files.toList()) diff --git a/build-common/src/org/jetbrains/kotlin/incremental/buildUtil.kt b/build-common/src/org/jetbrains/kotlin/incremental/buildUtil.kt index c54d63976b5..a81067d772e 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/buildUtil.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/buildUtil.kt @@ -41,9 +41,7 @@ import java.util.* fun Iterable.javaSourceRoots(roots: Iterable): Iterable = - filter(File::isJavaFile) - .map { findSrcDirRoot(it, roots) } - .filterNotNull() + filter(File::isJavaFile).mapNotNull { findSrcDirRoot(it, roots) } fun makeModuleFile(name: String, isTest: Boolean, outputDir: File, sourcesToCompile: Iterable, javaSourceRoots: Iterable, classpath: Iterable, friendDirs: Iterable): File { val builder = KotlinModuleXmlBuilder() @@ -166,7 +164,7 @@ fun OutputItemsCollectorImpl.generatedFiles( return outputs.map { outputItem -> val target = outputItem.sourceFiles.firstOrNull()?.let { sourceToTarget[it] } ?: - targets.filter { getOutputDir(it)?.let { outputItem.outputFile.startsWith(it) } ?: false }.singleOrNull() ?: + targets.singleOrNull { getOutputDir(it)?.let { outputItem.outputFile.startsWith(it) } ?: false } ?: representativeTarget when (outputItem.outputFile.extension) { diff --git a/build-common/src/org/jetbrains/kotlin/incremental/storage/BasicMapsOwner.kt b/build-common/src/org/jetbrains/kotlin/incremental/storage/BasicMapsOwner.kt index 5cc5cc28fae..bebe53556b7 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/storage/BasicMapsOwner.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/storage/BasicMapsOwner.kt @@ -42,5 +42,5 @@ open class BasicMapsOwner { maps.forEach { it.flush(memoryCachesOnly) } } - @TestOnly fun dump(): String = maps.map { it.dump() }.joinToString("\n\n") + @TestOnly fun dump(): String = maps.joinToString("\n\n") { it.dump() } } \ No newline at end of file diff --git a/compiler/backend-common/src/org/jetbrains/kotlin/backend/common/CodegenUtil.kt b/compiler/backend-common/src/org/jetbrains/kotlin/backend/common/CodegenUtil.kt index f2b87e1e6f4..29cecf0a325 100644 --- a/compiler/backend-common/src/org/jetbrains/kotlin/backend/common/CodegenUtil.kt +++ b/compiler/backend-common/src/org/jetbrains/kotlin/backend/common/CodegenUtil.kt @@ -158,7 +158,7 @@ object CodegenUtil { @JvmStatic fun constructFakeFunctionCall(project: Project, referencedFunction: FunctionDescriptor): KtCallExpression { val fakeFunctionCall = StringBuilder("callableReferenceFakeCall(") - fakeFunctionCall.append(referencedFunction.valueParameters.map { "p${it.index}" }.joinToString(", ")) + fakeFunctionCall.append(referencedFunction.valueParameters.joinToString(", ") { "p${it.index}" }) fakeFunctionCall.append(")") return KtPsiFactory(project, markGenerated = false).createExpression(fakeFunctionCall.toString()) as KtCallExpression } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/codegenUtil.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/codegenUtil.kt index 8164dd7c13f..04882ea4f86 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/codegenUtil.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/codegenUtil.kt @@ -243,8 +243,9 @@ fun reportTarget6InheritanceErrorIfNeeded( state.diagnostics.report( ErrorsJvm.TARGET6_INTERFACE_INHERITANCE.on( classElement, classDescriptor, key, - value.map { Renderers.COMPACT.render(JvmCodegenUtil.getDirectMember(it), RenderingContext.Empty) }. - joinToString(separator = "\n", prefix = "\n") + value.joinToString(separator = "\n", prefix = "\n") { + Renderers.COMPACT.render(JvmCodegenUtil.getDirectMember(it), RenderingContext.Empty) + } ) ) } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/CoroutineCodegen.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/CoroutineCodegen.kt index 128212c8172..646fb74ed3e 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/CoroutineCodegen.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/coroutines/CoroutineCodegen.kt @@ -192,7 +192,7 @@ class CoroutineCodegenForLambda private constructor( if (allFunctionParameters().size <= 1) { val delegate = typeMapper.mapSignatureSkipGeneric(createCoroutineDescriptor).asmMethod - val bridgeParameters = (1..delegate.argumentTypes.size - 1).map { AsmTypes.OBJECT_TYPE } + delegate.argumentTypes.last() + val bridgeParameters = (1 until delegate.argumentTypes.size).map { AsmTypes.OBJECT_TYPE } + delegate.argumentTypes.last() val bridge = Method(delegate.name, delegate.returnType, bridgeParameters.toTypedArray()) generateBridge(bridge, delegate) @@ -288,7 +288,7 @@ class CoroutineCodegenForLambda private constructor( private fun allFunctionParameters() = originalSuspendFunctionDescriptor.extensionReceiverParameter.let(::listOfNotNull) + - originalSuspendFunctionDescriptor.valueParameters.orEmpty() + originalSuspendFunctionDescriptor.valueParameters private fun ParameterDescriptor.getFieldInfoForCoroutineLambdaParameter() = createHiddenFieldInfo(type, COROUTINE_LAMBDA_PARAMETER_PREFIX + (this.safeAs()?.index ?: "")) diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/replUtil.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/replUtil.kt index 138f9ebc09d..76ba5dbb836 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/replUtil.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/repl/replUtil.kt @@ -51,7 +51,7 @@ internal fun ClassLoader.listAllUrlsAsFiles(): List { } internal fun URLClassLoader.listLocalUrlsAsFiles(): List { - return this.urLs.map { it.toString().removePrefix("file:") }.filterNotNull().map(::File) + return this.urLs.mapNotNull { it.toString().removePrefix("file:") }.map(::File) } internal fun List.ensureNotEmpty(error: String): List { diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/inline/inlineUtil.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/inline/inlineUtil.kt index c020dae941a..cbe1b489e62 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/inline/inlineUtil.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/inline/inlineUtil.kt @@ -74,7 +74,7 @@ private fun inlineAccessorsJvmNames(properties: List, nameRes } } - return inlineAccessors.mapNotNull { + return inlineAccessors.map { nameResolver.getString(it.name) + nameResolver.getString(it.desc) }.toSet() } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/cfg/pseudocode/instructions/jumps/NondeterministicJumpInstruction.kt b/compiler/frontend/src/org/jetbrains/kotlin/cfg/pseudocode/instructions/jumps/NondeterministicJumpInstruction.kt index 743c2fa6fa7..10d1931f657 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/cfg/pseudocode/instructions/jumps/NondeterministicJumpInstruction.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/cfg/pseudocode/instructions/jumps/NondeterministicJumpInstruction.kt @@ -71,7 +71,7 @@ class NondeterministicJumpInstruction( override fun toString(): String { val inVal = if (inputValue != null) "|$inputValue" else "" - val labels = targetLabels.map { it.name }.joinToString(", ") + val labels = targetLabels.joinToString(", ") { it.name } return "jmp?($labels$inVal)" } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/DebugTextUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/DebugTextUtil.kt index ab3afa5575b..5d2d1f07271 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/DebugTextUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/DebugTextUtil.kt @@ -285,7 +285,7 @@ private object DebugTextBuildingVisitor : KtVisitor() { fun render(element: KtElementImplStub<*>, vararg relevantChildren: KtElement?): String? { if (element.stub == null) return element.text - return relevantChildren.filterNotNull().map { it.getDebugText() }.joinToString("", "", "") + return relevantChildren.filterNotNull().joinToString("", "", "") { it.getDebugText() } } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt index 59f533eca6c..21a32109194 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/createByPattern.kt @@ -97,7 +97,7 @@ private val SUPPORTED_ARGUMENT_TYPES = listOf( fun createByPattern(pattern: String, vararg args: Any, reformat: Boolean = true, factory: (String) -> TElement): TElement { val argumentTypes = args.map { arg -> SUPPORTED_ARGUMENT_TYPES.firstOrNull { it.klass.isInstance(arg) } - ?: throw IllegalArgumentException("Unsupported argument type: ${arg::class.java}, should be one of: ${SUPPORTED_ARGUMENT_TYPES.map { it.klass.simpleName }.joinToString()}") + ?: throw IllegalArgumentException("Unsupported argument type: ${arg::class.java}, should be one of: ${SUPPORTED_ARGUMENT_TYPES.joinToString { it.klass.simpleName }}") } // convert arguments that can be converted into plain text 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 6255fb6e1b8..4a216f4b5a4 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 @@ -33,7 +33,7 @@ val STUB_TO_STRING_PREFIX = "KotlinStub$" open class KotlinStubBaseImpl>(parent: StubElement<*>?, elementType: IStubElementType<*, *>) : StubBase(parent, elementType) { override fun toString(): String { - val stubInterface = this::class.java.interfaces.filter { it.name.contains("Stub") }.single() + val stubInterface = this::class.java.interfaces.single { it.name.contains("Stub") } val propertiesValues = renderPropertyValues(stubInterface) if (propertiesValues.isEmpty()) { return "$STUB_TO_STRING_PREFIX$stubType" diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallCompleter.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallCompleter.kt index 93543ddd010..b751a73216b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallCompleter.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallCompleter.kt @@ -377,7 +377,7 @@ class CallCompleter( expression = deparenthesizeOrGetSelector(expression) } - var shouldBeMadeNullable: Boolean = false + var shouldBeMadeNullable = false expressions.asReversed().forEach { expression -> if (!(expression is KtParenthesizedExpression || expression is KtLabeledExpression || expression is KtAnnotatedExpression)) { shouldBeMadeNullable = hasNecessarySafeCall(expression, trace) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/NewResolutionOldInference.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/NewResolutionOldInference.kt index 7dd26ec0804..2d23b9a8755 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/NewResolutionOldInference.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/NewResolutionOldInference.kt @@ -198,12 +198,12 @@ class NewResolutionOldInference( tracing: TracingStrategy, candidates: Collection> ): OverloadResolutionResultsImpl { - val resolvedCandidates = candidates.mapNotNull { candidate -> + val resolvedCandidates = candidates.map { candidate -> val candidateTrace = TemporaryBindingTrace.create(basicCallContext.trace, "Context for resolve candidate") val resolvedCall = ResolvedCallImpl.create(candidate, candidateTrace, tracing, basicCallContext.dataFlowInfoForArguments) if (candidate.descriptor.isHiddenInResolution(languageVersionSettings, basicCallContext.isSuperCall)) { - return@mapNotNull MyCandidate(ResolutionCandidateStatus(listOf(HiddenDescriptor)), resolvedCall) + return@map MyCandidate(ResolutionCandidateStatus(listOf(HiddenDescriptor)), resolvedCall) } val callCandidateResolutionContext = CallCandidateResolutionContext.create( @@ -238,7 +238,7 @@ class NewResolutionOldInference( basicCallContext: BasicCallResolutionContext, languageVersionSettings: LanguageVersionSettings ): OverloadResolutionResultsImpl { - val resolvedCalls = candidates.mapNotNull { + val resolvedCalls = candidates.map { val (status, resolvedCall) = it if (resolvedCall is VariableAsFunctionResolvedCallImpl) { // todo hacks diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt index 3c9325d30c1..79d051183c9 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt @@ -295,7 +295,7 @@ class IncrementalJvmCompilerRunner( // todo: more optimal to save only last iteration, but it will require adding standalone-ic specific logs // (because jps rebuilds all files from last build if it failed and gradle rebuilds everything) allSourcesToCompile.addAll(sourcesToCompile) - val text = allSourcesToCompile.map { it.canonicalPath }.joinToString(separator = System.getProperty("line.separator")) + val text = allSourcesToCompile.joinToString(separator = System.getProperty("line.separator")) { it.canonicalPath } dirtySourcesSinceLastTimeFile.writeText(text) val compilerOutput = compileChanged(listOf(targetId), sourcesToCompile.toSet(), args, { caches.incrementalCache }, lookupTracker, messageCollector) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalFunctionsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalFunctionsLowering.kt index b799b63ae57..8dcc81f4c6b 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalFunctionsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalFunctionsLowering.kt @@ -239,8 +239,7 @@ class LocalFunctionsLowering(val context: BackendContext): DeclarationContainerL functionDescriptor.parentsWithSelf .takeWhile { it is FunctionDescriptor } .toList().reversed() - .map { suggestLocalName(it) } - .joinToString(separator = "$") + .joinToString(separator = "$") { suggestLocalName(it) } ) private fun createTransformedDescriptor(localFunctionContext: LocalFunctionContext): FunctionDescriptor { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ClassLowerWithContext.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ClassLowerWithContext.kt index 3c6fef21fad..6c7ff801519 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ClassLowerWithContext.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/ClassLowerWithContext.kt @@ -33,7 +33,7 @@ abstract class ClassLowerWithContext : FileLoweringPass, IrElementTransformer() override fun lower(irFile: IrFile) { - val packageIr = irFile.declarations.filter { it.descriptor is FileClassDescriptor }.singleOrNull() + val packageIr = irFile.declarations.singleOrNull { it.descriptor is FileClassDescriptor } if (packageIr != null) { visitClass(packageIr as IrClass, null) irFile.declarations.filterNot { it == packageIr }.forEach { it.accept(this, irClass2Context[packageIr]!!) } diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt index 9c3fcfb9a31..b0c9aab9824 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/InterfaceLowering.kt @@ -54,7 +54,7 @@ class InterfaceLowering(val state: GenerationState) : IrElementTransformerVoid() val members = defaultImplsIrClass.declarations - irClass.declarations.filterIsInstance().mapNotNull { + irClass.declarations.filterIsInstance().forEach { val descriptor = it.descriptor if (descriptor.modality != Modality.ABSTRACT) { val functionDescriptorImpl = createDefaultImplFunDescriptor(defaultImplsDescriptor, descriptor, interfaceDescriptor, state.typeMapper) diff --git a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/KotlinClassifiersCache.kt b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/KotlinClassifiersCache.kt index d9e5e12ea22..38a33cffec4 100644 --- a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/KotlinClassifiersCache.kt +++ b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/KotlinClassifiersCache.kt @@ -80,7 +80,7 @@ class MockKotlinClassifier(override val fqName: FqName, override val supertypes: Collection get() = classOrObject.superTypeListEntries - .mapNotNull { superTypeListEntry -> + .map { superTypeListEntry -> val userType = superTypeListEntry.typeAsUserType arrayListOf().apply { userType?.referencedName?.let { add(it) } diff --git a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/wrappers/trees/TreeBasedTypeParameter.kt b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/wrappers/trees/TreeBasedTypeParameter.kt index 503bb54627d..05e1f66c9e5 100644 --- a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/wrappers/trees/TreeBasedTypeParameter.kt +++ b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/wrappers/trees/TreeBasedTypeParameter.kt @@ -45,12 +45,12 @@ class TreeBasedTypeParameter( get() = false override val upperBounds: Collection - get() = tree.bounds.map { + get() = tree.bounds.mapNotNull { when (it) { is JCTree.JCTypeApply -> TreeBasedGenericClassifierType(it, TreePath(treePath, it), javac) is JCTree.JCIdent -> TreeBasedNonGenericClassifierType(it, TreePath(treePath, it), javac) else -> null } - }.filterNotNull() + } } \ No newline at end of file diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/results/OverloadingConflictResolver.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/results/OverloadingConflictResolver.kt index dd4be1bdff8..04af32698a8 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/results/OverloadingConflictResolver.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/results/OverloadingConflictResolver.kt @@ -147,12 +147,11 @@ class OverloadingConflictResolver( candidates.firstOrNull() else when (checkArgumentsMode) { CheckArgumentTypesMode.CHECK_CALLABLE_TYPE -> - uniquifyCandidatesSet(candidates).filter { - isDefinitelyMostSpecific(it, candidates) { - call1, call2 -> + uniquifyCandidatesSet(candidates).singleOrNull { + isDefinitelyMostSpecific(it, candidates) { call1, call2 -> isNotLessSpecificCallableReference(call1.resultingDescriptor, call2.resultingDescriptor) } - }.singleOrNull() + } CheckArgumentTypesMode.CHECK_VALUE_ARGUMENTS -> findMaximallySpecificCall(candidates, discriminateGenerics, isDebuggerContext) 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 52856ebac7f..8f52dc0d5ee 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 @@ -71,7 +71,7 @@ class RawTypeImpl(lowerBound: SimpleType, upperBound: SimpleType) : FlexibleType val lowerArgs = renderArguments(lowerBound) val upperArgs = renderArguments(upperBound) - val newArgs = lowerArgs.map { "(raw) $it" }.joinToString(", ") + val newArgs = lowerArgs.joinToString(", ") { "(raw) $it" } val newUpper = if (lowerArgs.zip(upperArgs).all { onlyOutDiffers(it.first, it.second) }) upperRendered.replaceArgs(newArgs) diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt index 38bd2c605fe..af57479c9c3 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt @@ -290,7 +290,7 @@ internal class DescriptorRendererImpl( } private fun StringBuilder.appendTypeProjections(typeProjections: List) { - typeProjections.map { + typeProjections.joinTo(this, ", ") { if (it.isStarProjection) { "*" } @@ -298,7 +298,7 @@ internal class DescriptorRendererImpl( val type = renderType(it.type) if (it.projectionKind == Variance.INVARIANT) type else "${it.projectionKind} $type" } - }.joinTo(this, ", ") + } } private fun StringBuilder.renderFunctionType(type: KotlinType) { @@ -454,7 +454,7 @@ internal class DescriptorRendererImpl( private fun renderConstant(value: ConstantValue<*>): String { return when (value) { - is ArrayValue -> value.value.map { renderConstant(it) }.joinToString(", ", "{", "}") + is ArrayValue -> value.value.joinToString(", ", "{", "}") { renderConstant(it) } is AnnotationValue -> renderAnnotation(value.value).removePrefix("@") is KClassValue -> renderType(value.value) + "::class" else -> value.toString() @@ -975,8 +975,7 @@ internal class DescriptorRendererImpl( renderSpaceIfNeeded(builder) builder.append(": ") - supertypes.map { renderType(it) } - .joinTo(builder, ", ") + supertypes.joinTo(builder, ", ") { renderType(it) } } private fun renderClassKindPrefix(klass: ClassDescriptor, builder: StringBuilder) { diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/codeInsight/ReferenceVariantsHelper.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/codeInsight/ReferenceVariantsHelper.kt index 60adaef5ab9..55e3c5d2e46 100644 --- a/idea/ide-common/src/org/jetbrains/kotlin/idea/codeInsight/ReferenceVariantsHelper.kt +++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/codeInsight/ReferenceVariantsHelper.kt @@ -264,8 +264,7 @@ class ReferenceVariantsHelper( if (isStatic) { explicitReceiverTypes - .map { (it.constructor.declarationDescriptor as? ClassDescriptor)?.staticScope } - .filterNotNull() + .mapNotNull { (it.constructor.declarationDescriptor as? ClassDescriptor)?.staticScope } .flatMapTo(descriptors) { it.collectStaticMembers(resolutionFacade, kindFilter, nameFilter) } } } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IdeaModuleInfos.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IdeaModuleInfos.kt index 05c3508c1d3..a965f437f82 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IdeaModuleInfos.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IdeaModuleInfos.kt @@ -216,7 +216,7 @@ class LibraryInfo(val project: Project, val library: Library) : IdeaModuleInfo, get() = LibrarySourceInfo(project, library) override fun getLibraryRoots(): Collection = - library.getFiles(OrderRootType.CLASSES).map(PathUtil::getLocalPath).filterNotNull() + library.getFiles(OrderRootType.CLASSES).mapNotNull(PathUtil::getLocalPath) override fun toString() = "LibraryInfo(libraryName=${library.name})" diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/lightClasses/LightMemberOriginForCompiledElement.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/lightClasses/LightMemberOriginForCompiledElement.kt index b194a86f317..86d6268b1f8 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/lightClasses/LightMemberOriginForCompiledElement.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/lightClasses/LightMemberOriginForCompiledElement.kt @@ -82,7 +82,7 @@ private fun findDeclarationInCompiledFile(file: KtClsFile, member: PsiMember, si file else { val topClassOrObject = file.declarations.singleOrNull() as? KtClassOrObject - relativeClassName.fold(topClassOrObject) { classOrObject, name -> + relativeClassName.fold(topClassOrObject) { classOrObject, name -> classOrObject?.declarations?.singleOrNull { it.name == name.asString() } as? KtClassOrObject } } @@ -113,7 +113,7 @@ private fun PsiMember.relativeClassName(): List { } private fun ClassDescriptor.relativeClassName(): List { - return classId!!.relativeClassName.pathSegments().drop(1).orEmpty() + return classId!!.relativeClassName.pathSegments().drop(1) } private fun ClassDescriptor.desc(): String = "L" + JvmClassName.byClassId(classId!!).internalName + ";" diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/SourceNavigationHelper.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/SourceNavigationHelper.kt index 5e230611018..2f58b4e0e02 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/SourceNavigationHelper.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/SourceNavigationHelper.kt @@ -68,7 +68,7 @@ object SourceNavigationHelper { .mapNotNull { it.sourcesModuleInfo?.sourceScope() }.union() NavigationKind.SOURCES_TO_CLASS_FILES -> getLibrarySourcesModuleInfos(declaration.project, vFile) - .mapNotNull { it.binariesModuleInfo.binariesScope() }.union() + .map { it.binariesModuleInfo.binariesScope() }.union() } } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt index 292324ab385..25a7e29b600 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinPsiChecker.kt @@ -115,7 +115,7 @@ private fun createQuickFixes(similarDiagnostics: Collection): MultiM val actions = MultiMap() val intentionActionsFactories = QuickFixes.getInstance().getActionFactories(factory) - for (intentionActionsFactory in intentionActionsFactories.filterNotNull()) { + for (intentionActionsFactory in intentionActionsFactories) { val allProblemsActions = intentionActionsFactory.createActionsForAllProblems(similarDiagnostics) if (!allProblemsActions.isEmpty()) { actions.putValues(first, allProblemsActions) 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 85d47407343..018ef971ed6 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 @@ -102,7 +102,7 @@ private object DeclarationKindDetector : KtVisitor() override fun visitProperty(d: KtProperty, data: Unit?) = detect(d, d.valOrVarKeyword.text!!) override fun visitDestructuringDeclaration(d: KtDestructuringDeclaration, data: Unit?) = detect(d, d.valOrVarKeyword?.text ?: "val", - name = d.entries.map { it.name!! }.joinToString(", ", "(", ")")) + name = d.entries.joinToString(", ", "(", ")") { it.name!! }) 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 db8a9f7f77a..84aeb30994c 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 @@ -82,7 +82,7 @@ fun renderResolvedCall(resolvedCall: ResolvedCall<*>, context: RenderingContext) append("
$indentwhere ") if (!notInferredTypeParameters.isEmpty()) { - append(notInferredTypeParameters.map { typeParameter -> renderError(typeParameter.name) }.joinToString()) + append(notInferredTypeParameters.joinToString { typeParameter -> renderError(typeParameter.name) }) append(" cannot be inferred") if (!inferredTypeParameters.isEmpty()) { append("; ") @@ -91,9 +91,9 @@ fun renderResolvedCall(resolvedCall: ResolvedCall<*>, context: RenderingContext) val typeParameterToTypeArgumentMap = resolvedCall.typeArguments if (!inferredTypeParameters.isEmpty()) { - append(inferredTypeParameters.map { typeParameter -> + append(inferredTypeParameters.joinToString { typeParameter -> "${typeParameter.name} = ${typeRenderer.render(typeParameterToTypeArgumentMap[typeParameter]!!, context)}" - }.joinToString()) + }) } } @@ -103,7 +103,7 @@ fun renderResolvedCall(resolvedCall: ResolvedCall<*>, context: RenderingContext) append(typeRenderer.render(receiverParameter.type, context)).append(".") } append(HtmlEscapers.htmlEscaper().escape(resultingDescriptor.name.asString())).append("(") - append(resultingDescriptor.valueParameters.map(::renderParameter).joinToString()) + append(resultingDescriptor.valueParameters.joinToString(transform = ::renderParameter)) append(if (resolvedCall.hasUnmappedArguments()) renderError(")") else ")") if (!resolvedCall.candidateDescriptor.typeParameters.isEmpty()) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/ResolveElementCache.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/ResolveElementCache.kt index 36fbcd4f91e..cccf774bd18 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/ResolveElementCache.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/ResolveElementCache.kt @@ -205,8 +205,7 @@ class ResolveElementCache( } else { contextElements - .map { it.getNonStrictParentOfType() } - .filterNotNull() + .mapNotNull { it.getNonStrictParentOfType() } .filterTo(declarationsToResolve) { it !is KtAnonymousInitializer && it !is KtDestructuringDeclaration && it !is KtDestructuringDeclarationEntry } diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicLookupElementFactory.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicLookupElementFactory.kt index eb7f76fc292..4c9351137c4 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicLookupElementFactory.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicLookupElementFactory.kt @@ -188,7 +188,7 @@ class BasicLookupElementFactory( is ClassifierDescriptorWithTypeParameters -> { val typeParams = descriptor.declaredTypeParameters if (includeClassTypeArguments && typeParams.isNotEmpty()) { - element = element.appendTailText(typeParams.map { it.name.asString() }.joinToString(", ", "<", ">"), true) + element = element.appendTailText(typeParams.joinToString(", ", "<", ">") { it.name.asString() }, true) } var container = descriptor.containingDeclaration diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LambdaSignatureTemplates.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LambdaSignatureTemplates.kt index faf94bf9a64..77115419298 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LambdaSignatureTemplates.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LambdaSignatureTemplates.kt @@ -109,9 +109,7 @@ object LambdaSignatureTemplates { } } - return functionParameterTypes(lambdaType) - .map(::parameterPresentation) - .joinToString(", ") + " ->" + return functionParameterTypes(lambdaType).joinToString(", ", transform = ::parameterPresentation) + " ->" } fun explicitParameterTypesRequired(file: KtFile, placeholderRange: TextRange, lambdaType: KotlinType): Boolean { diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LookupElementFactory.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LookupElementFactory.kt index abc14bd843b..c51a64413d7 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LookupElementFactory.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/LookupElementFactory.kt @@ -209,9 +209,9 @@ class LookupElementFactory( if (descriptor.valueParameters.isEmpty()) return null if (descriptor.findOriginalTopMostOverriddenDescriptors().none { it in superFunctions }) return null - val argumentText = descriptor.valueParameters.map { + val argumentText = descriptor.valueParameters.joinToString(", ") { (if (it.varargElementType != null) "*" else "") + it.name.render() - }.joinToString(", ") //TODO: use code formatting settings + } //TODO: use code formatting settings val lookupElement = createFunctionCallElementWithArguments(descriptor, argumentText, true) lookupElement.assignPriority(ItemPriority.SUPER_METHOD_WITH_ARGUMENTS) diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/MultipleArgumentsItemProvider.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/MultipleArgumentsItemProvider.kt index ee121219d03..bc6b2d7bfa0 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/MultipleArgumentsItemProvider.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/MultipleArgumentsItemProvider.kt @@ -89,7 +89,7 @@ class MultipleArgumentsItemProvider( compoundIcon.setIcon(firstIcon, 1, 0, 0) return LookupElementBuilder - .create(variables.map { it.name.render() }.joinToString(", ")) //TODO: use code formatting settings + .create(variables.joinToString(", ") { it.name.render() }) //TODO: use code formatting settings .withInsertHandler { context, _ -> if (context.completionChar == Lookup.REPLACE_SELECT_CHAR) { val offset = context.offsetMap.tryGetOffset(SmartCompletion.MULTIPLE_ARGUMENTS_REPLACEMENT_OFFSET) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt index d9227343439..95967ecb6c9 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinIndicesHelper.kt @@ -475,7 +475,7 @@ class KotlinIndicesHelper( private fun KtNamedDeclaration.resolveToDescriptorsWithHack( psiFilter: (KtDeclaration) -> Boolean): Collection { if (containingKtFile.isCompiled) { //TODO: it's temporary while resolveToDescriptor does not work for compiled declarations - return resolutionFacade.resolveImportReference(moduleDescriptor, fqName!!).filterIsInstance() + return resolutionFacade.resolveImportReference(moduleDescriptor, fqName!!) } else { val translatedDeclaration = declarationTranslator(this) ?: return emptyList() diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/Utils.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/Utils.kt index 62ad37bd14a..e498e21bf25 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/Utils.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/Utils.kt @@ -168,7 +168,7 @@ fun String.quoteIfNeeded(): String = if (KotlinNameSuggester.isIdentifier(this)) fun String.unquote(): String = KtPsiUtil.unquoteIdentifier(this) fun FqName.quoteSegmentsIfNeeded(): String { - return pathSegments().map { it.asString().quoteIfNeeded() }.joinToString(".") + return pathSegments().joinToString(".") { it.asString().quoteIfNeeded() } } fun FqName.quoteIfNeeded() = FqName(quoteSegmentsIfNeeded()) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/generateUtil.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/generateUtil.kt index 1e9745ea309..eff7ea7a9e2 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/generateUtil.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/generateUtil.kt @@ -176,7 +176,7 @@ fun insertMembersAfter( val body = classOrObject.getOrCreateBody() var afterAnchor = anchor ?: findInsertAfterAnchor(editor, body) ?: return@runWriteAction emptyList() - otherMembers.mapNotNullTo(insertedMembers) { + otherMembers.mapTo(insertedMembers) { if (classOrObject is KtClass && classOrObject.isEnum()) { val enumEntries = classOrObject.declarations.filterIsInstance() val bound = (enumEntries.lastOrNull() ?: classOrObject.allChildren.firstOrNull { it.node.elementType == KtTokens.SEMICOLON }) diff --git a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenArchetypesProvider.kt b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenArchetypesProvider.kt index ed8b27a2fde..5ded4450674 100644 --- a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenArchetypesProvider.kt +++ b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/KotlinMavenArchetypesProvider.kt @@ -90,9 +90,7 @@ class KotlinMavenArchetypesProvider(val kotlinPluginVersion: String, val predefi "v" to version, "p" to packaging ) - .filter { it.second != null } - .map { "${it.first}:\"${it.second}\"" } - .joinToString(separator = " AND ") + .filter { it.second != null }.joinToString(separator = " AND ") { "${it.first}:\"${it.second}\"" } return "http://search.maven.org/solrsearch/select?q=${q.encodeURL()}&core=gav&rows=$rowsLimit&wt=json" } diff --git a/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt b/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt index c83969bae97..35cade089f6 100644 --- a/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt +++ b/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleKeeper.kt @@ -70,8 +70,7 @@ class KotlinConsoleKeeper(val project: Project) { val kotlinPaths = PathUtil.getKotlinPathsForIdeaPlugin() val replClassPath = listOf(kotlinPaths.compilerPath, kotlinPaths.reflectPath, kotlinPaths.stdlibPath, kotlinPaths.scriptRuntimePath) - .map { it.absolutePath } - .joinToString(File.pathSeparator) + .joinToString(File.pathSeparator) { it.absolutePath } paramList.add("-cp") paramList.add(replClassPath) diff --git a/idea/idea-repl/src/org/jetbrains/kotlin/console/ReplOutputProcessor.kt b/idea/idea-repl/src/org/jetbrains/kotlin/console/ReplOutputProcessor.kt index 6c4d46c22af..59bbcee4477 100644 --- a/idea/idea-repl/src/org/jetbrains/kotlin/console/ReplOutputProcessor.kt +++ b/idea/idea-repl/src/org/jetbrains/kotlin/console/ReplOutputProcessor.kt @@ -111,9 +111,9 @@ class ReplOutputProcessor( ) val lastCommandStartOffset = lastUnprocessedHistoryEntry.rangeInHistoryDocument.startOffset val lastCommandStartLine = historyDocument.getLineNumber(lastCommandStartOffset) - val historyCommandRunIndicator = historyMarkup.allHighlighters.filter { + val historyCommandRunIndicator = historyMarkup.allHighlighters.first { historyDocument.getLineNumber(it.startOffset) == lastCommandStartLine && it.gutterIconRenderer != null - }.first() + } val highlighterAndMessagesByLine = compilerMessages.filter { it.severity == Severity.ERROR || it.severity == Severity.WARNING diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/KotlinAddImportAction.kt b/idea/src/org/jetbrains/kotlin/idea/actions/KotlinAddImportAction.kt index b735fd92a29..1afc7304a1d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/actions/KotlinAddImportAction.kt +++ b/idea/src/org/jetbrains/kotlin/idea/actions/KotlinAddImportAction.kt @@ -61,15 +61,11 @@ internal fun createSingleImportAction( ): KotlinAddImportAction { val file = element.containingKtFile val prioritizer = Prioritizer(element.containingKtFile) - val variants = fqNames - .map { fqName -> - val sameFqNameDescriptors = file.resolveImportReference(fqName) - val priority = sameFqNameDescriptors.map { prioritizer.priority(it) }.min() ?: return@map null - Prioritizer.VariantWithPriority(SingleImportVariant(fqName, sameFqNameDescriptors), priority) - } - .filterNotNull() - .sortedBy { it.priority } - .map { it.variant } + val variants = fqNames.mapNotNull { fqName -> + val sameFqNameDescriptors = file.resolveImportReference(fqName) + val priority = sameFqNameDescriptors.map { prioritizer.priority(it) }.min() ?: return@mapNotNull null + Prioritizer.VariantWithPriority(SingleImportVariant(fqName, sameFqNameDescriptors), priority) + }.sortedBy { it.priority }.map { it.variant } return KotlinAddImportAction(project, editor, element, variants) } @@ -82,18 +78,14 @@ internal fun createSingleImportActionForConstructor( ): KotlinAddImportAction { val file = element.containingKtFile val prioritizer = Prioritizer(element.containingKtFile) - val variants = fqNames - .map { fqName -> - val sameFqNameDescriptors = file.resolveImportReference(fqName.parent()) - .filterIsInstance() - .flatMap { it.constructors } + val variants = fqNames.mapNotNull { fqName -> + val sameFqNameDescriptors = file.resolveImportReference(fqName.parent()) + .filterIsInstance() + .flatMap { it.constructors } - val priority = sameFqNameDescriptors.map { prioritizer.priority(it) }.min() ?: return@map null - Prioritizer.VariantWithPriority(SingleImportVariant(fqName, sameFqNameDescriptors), priority) - } - .filterNotNull() - .sortedBy { it.priority } - .map { it.variant } + val priority = sameFqNameDescriptors.map { prioritizer.priority(it) }.min() ?: return@mapNotNull null + Prioritizer.VariantWithPriority(SingleImportVariant(fqName, sameFqNameDescriptors), priority) + }.sortedBy { it.priority }.map { it.variant } return KotlinAddImportAction(project, editor, element, variants) } diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/KotlinCreateFromTemplateHandler.kt b/idea/src/org/jetbrains/kotlin/idea/actions/KotlinCreateFromTemplateHandler.kt index ec62e0b8d14..7de979ffac8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/actions/KotlinCreateFromTemplateHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/actions/KotlinCreateFromTemplateHandler.kt @@ -29,8 +29,7 @@ class KotlinCreateFromTemplateHandler : DefaultCreateFromTemplateHandler() { if (!packageName.isNullOrEmpty()) { props[FileTemplate.ATTRIBUTE_PACKAGE_NAME] = packageName!! .split('.') - .map(String::quoteIfNeeded) - .joinToString(".") + .joinToString(".", transform = String::quoteIfNeeded) } val name = props[FileTemplate.ATTRIBUTE_NAME] as? String diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateEqualsAndHashcodeAction.kt b/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateEqualsAndHashcodeAction.kt index 1c1f111b4ac..7dae0fa21e1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateEqualsAndHashcodeAction.kt +++ b/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateEqualsAndHashcodeAction.kt @@ -145,7 +145,7 @@ class KotlinGenerateEqualsAndHashcodeAction : KotlinGenerateMemberActionBase + return analysisResult.messages.joinToString(", ") { errorMessage -> val message = when(errorMessage) { ErrorMessage.NO_EXPRESSION -> "Cannot perform an action without an expression" ErrorMessage.NO_CONTAINER -> "Cannot perform an action at this breakpoint ${breakpointFile.name}:$breakpointLine" @@ -76,7 +76,7 @@ fun getFunctionForExtractedFragment( ErrorMessage.MULTIPLE_OUTPUT -> throw AssertionError("Unexpected error: $errorMessage") } errorMessage.additionalInfo?.let { "$message: ${it.joinToString(", ")}" } ?: message - }.joinToString(", ") + } } fun generateFunction(): ExtractionResult? { @@ -104,7 +104,7 @@ fun getFunctionForExtractedFragment( val validationResult = analysisResult.descriptor!!.validate() if (!validationResult.conflicts.isEmpty) { - throw EvaluateExceptionUtil.createEvaluateException("Following declarations are unavailable in debug scope: ${validationResult.conflicts.keySet().map { it.text }.joinToString(",")}") + throw EvaluateExceptionUtil.createEvaluateException("Following declarations are unavailable in debug scope: ${validationResult.conflicts.keySet().joinToString(",") { it.text }}") } val generatorOptions = ExtractionGeneratorOptions(inTempFile = true, diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSteppingCommandProvider.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSteppingCommandProvider.kt index d404d28f3af..c830ac8a2ef 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSteppingCommandProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/stepping/KotlinSteppingCommandProvider.kt @@ -381,7 +381,7 @@ fun getStepOverAction( val patchedLineNumber = patchedLocation.ktLineNumber() val lambdaArgumentRanges = runReadAction { - inlineFunctionArguments.filterIsInstance().map { + inlineFunctionArguments.map { val startLineNumber = it.getLineNumber(true) + 1 val endLineNumber = it.getLineNumber(false) + 1 diff --git a/idea/src/org/jetbrains/kotlin/idea/formatter/ImportSettingsPanel.kt b/idea/src/org/jetbrains/kotlin/idea/formatter/ImportSettingsPanel.kt index f6030fa97ea..98061448776 100644 --- a/idea/src/org/jetbrains/kotlin/idea/formatter/ImportSettingsPanel.kt +++ b/idea/src/org/jetbrains/kotlin/idea/formatter/ImportSettingsPanel.kt @@ -145,7 +145,7 @@ class ImportSettingsPanel(private val commonSettings: CodeStyleSettings) : JPane add(rbUseSingleImports, true) add(rbUseStarImports, true) - val jPanel: JPanel = JPanel(GridBagLayout()) + val jPanel = JPanel(GridBagLayout()) add(jPanel.apply { val constraints = GridBagConstraints().apply { gridx = GridBagConstraints.RELATIVE } this.add(rbUseStarImportsIfAtLeast, constraints) diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/gradle/DifferentKotlinGradleVersionInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/gradle/DifferentKotlinGradleVersionInspection.kt index 521cfe7d988..18bfb58c8a3 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/gradle/DifferentKotlinGradleVersionInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/gradle/DifferentKotlinGradleVersionInspection.kt @@ -60,9 +60,9 @@ class DifferentKotlinGradleVersionInspection : GradleBaseInspection() { val buildScriptCall = dependenciesCall.getStrictParentOfType() ?: return if (buildScriptCall.invokedExpression.text != "buildscript") return - val kotlinPluginStatement = findClassPathStatements(closure).filter { + val kotlinPluginStatement = findClassPathStatements(closure).firstOrNull { it.text.contains(KOTLIN_PLUGIN_CLASSPATH_MARKER) - }.firstOrNull() ?: return + } ?: return val kotlinPluginVersion = getHeuristicKotlinPluginVersion(kotlinPluginStatement) ?: diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertFunctionTypeParameterToReceiverIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertFunctionTypeParameterToReceiverIntention.kt index 26ea8c89c37..d52d36ce449 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertFunctionTypeParameterToReceiverIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertFunctionTypeParameterToReceiverIntention.kt @@ -161,7 +161,7 @@ class ConvertFunctionTypeParameterToReceiverIntention : SelfTargetingRangeIntent } private fun generateVariable(expression: KtExpression): String { - var baseCallee: String = "" + var baseCallee = "" KotlinIntroduceVariableHandler.doRefactoring(project, null, expression, false, emptyList()) { baseCallee = it.name!! } diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/InsertExplicitTypeArgumentsIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/InsertExplicitTypeArgumentsIntention.kt index cbb893906da..58f8869ece8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/InsertExplicitTypeArgumentsIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/InsertExplicitTypeArgumentsIntention.kt @@ -65,7 +65,7 @@ class InsertExplicitTypeArgumentsIntention : SelfTargetingRangeIntention") + val text = types.joinToString(", ", "<", ">") { IdeDescriptorRenderers.SOURCE_CODE.renderType(args[it]!!) } return KtPsiFactory(element).createTypeArguments(text) } diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt index 3174c21254a..6daad82b1a8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt @@ -215,7 +215,7 @@ class ConvertMemberToExtensionIntention : SelfTargetingRangeIntention") + val text = allTypeParameters.joinToString(",", "<", ">") { it.text } return KtPsiFactory(member).createDeclaration("fun $text foo()").typeParameterList } diff --git a/idea/src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt b/idea/src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt index 4ed11f4ba85..5f8c18f275a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/kdoc/KDocRenderer.kt @@ -86,7 +86,7 @@ object KDocRenderer { val lines = text.split('\n') val minIndent = lines.filter { it.trim().isNotEmpty() }.map(String::leadingIndent).min() ?: 0 - return lines.map { it.drop(minIndent) }.joinToString("\n") + return lines.joinToString("\n") { it.drop(minIndent) } } @@ -161,7 +161,7 @@ object KDocRenderer { val markdownNode = MarkdownNode(markdownTree, null, markdown) // 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() + val maybeSingleParagraph = markdownNode.children.singleOrNull { it.type != MarkdownTokenTypes.EOL } if (maybeSingleParagraph != null && !allowSingleParagraph) { return maybeSingleParagraph.children.joinToString("") { it.toHtml() } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ConvertExtensionToFunctionTypeFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/ConvertExtensionToFunctionTypeFix.kt index 82cf6729917..2ca84e030e5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ConvertExtensionToFunctionTypeFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ConvertExtensionToFunctionTypeFix.kt @@ -51,7 +51,7 @@ class ConvertExtensionToFunctionTypeFix(element: KtTypeReference, type: KotlinTy private fun KotlinType.renderType(renderer: DescriptorRenderer) = buildString { append('(') - arguments.dropLast(1).map { renderer.renderType(it.type) }.joinTo(this@buildString, ", ") + arguments.dropLast(1).joinTo(this@buildString, ", ") { renderer.renderType(it.type) } append(") -> ") append(renderer.renderType(this@renderType.getReturnTypeFromFunctionType())) } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt index 96a54d857dd..58892db63ed 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt @@ -427,7 +427,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { fun renderParamList(): String { val prefix = if (classKind == ClassKind.ANNOTATION_CLASS) "val " else "" - val list = callableInfo.parameterInfos.indices.map { i -> "${prefix}p$i: Any" }.joinToString(", ") + val list = callableInfo.parameterInfos.indices.joinToString(", ") { i -> "${prefix}p$i: Any" } return if (callableInfo.parameterInfos.isNotEmpty() || callableInfo.kind == CallableKind.FUNCTION || callableInfo.kind == CallableKind.SECONDARY_CONSTRUCTOR) "($list)" else list @@ -972,7 +972,7 @@ internal fun placeDeclarationInContainer( val newLine = psiFactory.createNewLine() fun calcNecessaryEmptyLines(decl: KtDeclaration, after: Boolean): Int { - var lineBreaksPresent: Int = 0 + var lineBreaksPresent = 0 var neighbor: PsiElement? = null siblingsLoop@ diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/templateExpressions.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/templateExpressions.kt index 6655b338d42..1246bd5d983 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/templateExpressions.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/templateExpressions.kt @@ -174,7 +174,7 @@ internal class TypeParameterListExpression(private val mandatoryTypeParameters: currentTypeParameters = sortedRenderedTypeParameters.map { it.typeParameter } return TextResult( - if (sortedRenderedTypeParameters.isEmpty()) "" else sortedRenderedTypeParameters.map { it.text }.joinToString(", ", prefix, ">") + if (sortedRenderedTypeParameters.isEmpty()) "" else sortedRenderedTypeParameters.joinToString(", ", prefix, ">") { it.text } ) } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/MigrateExternalExtensionFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/MigrateExternalExtensionFix.kt index 6c0a97469f4..ce90e0c8322 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/MigrateExternalExtensionFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/migration/MigrateExternalExtensionFix.kt @@ -89,9 +89,9 @@ class MigrateExternalExtensionFix(declaration: KtNamedDeclaration) private data class JsNativeAnnotations(val annotations: List, val nativeAnnotation: KtAnnotationEntry?, val isGetter: Boolean, val isSetter: Boolean, val isInvoke: Boolean) private fun fetchJsNativeAnnotations(declaration: KtNamedDeclaration) : JsNativeAnnotations { - var isGetter: Boolean = false - var isSetter: Boolean = false - var isInvoke: Boolean = false + var isGetter = false + var isSetter = false + var isInvoke = false var nativeAnnotation: KtAnnotationEntry? = null val nativeAnnotations = ArrayList() diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceProtectedToPublishedApiCallFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceProtectedToPublishedApiCallFix.kt index 510ace68eba..a3a625b9587 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceProtectedToPublishedApiCallFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceProtectedToPublishedApiCallFix.kt @@ -73,7 +73,7 @@ class ReplaceProtectedToPublishedApiCallFix( KtPsiFactory(classOwner).createFunction( "@kotlin.PublishedApi\n" + "internal " + newSignature + - " = $originalName(${paramNames.keys.map { it }.joinToString(", ")})" + " = $originalName(${paramNames.keys.joinToString(", ") { it }})" ) } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt index 48a2fd6e3dc..f4c7119430e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt @@ -75,9 +75,9 @@ abstract class CallableRefactoring( private fun showSuperFunctionWarningDialog(superCallables: Collection, callableFromEditor: CallableDescriptor, options: List): Int { - val superString = superCallables.map { + val superString = superCallables.joinToString(prefix = "\n ", separator = ",\n ", postfix = ".\n\n") { it.containingDeclaration.name.asString() - }.joinToString(prefix = "\n ", separator = ",\n ", postfix = ".\n\n") + } val message = KotlinBundle.message("x.overrides.y.in.class.list", DescriptorRenderer.COMPACT.render(callableFromEditor), callableFromEditor.containingDeclaration.name.asString(), superString, diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeInfo.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeInfo.kt index dbe45b632a5..a3a7a7d8080 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeInfo.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/KotlinChangeInfo.kt @@ -288,9 +288,9 @@ open class KotlinChangeInfo( return signatureParameters[0].getDeclarationSignature(0, inheritedCallable).text } - return signatureParameters.indices - .map { i -> signatureParameters[i].getDeclarationSignature(i, inheritedCallable).text } - .joinToString(separator = ", ") + return signatureParameters.indices.joinToString(separator = ", ") { i -> + signatureParameters[i].getDeclarationSignature(i, inheritedCallable).text + } } fun renderReceiverType(inheritedCallable: KotlinCallableDefinitionUsage<*>): String? { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/ui/KotlinChangeSignatureDialog.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/ui/KotlinChangeSignatureDialog.kt index 1d5e31ccfdc..0105f44de5c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/ui/KotlinChangeSignatureDialog.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/ui/KotlinChangeSignatureDialog.kt @@ -148,8 +148,8 @@ class KotlinChangeSignatureDialog( override fun isListTableViewSupported() = true override fun isEmptyRow(row: ParameterTableModelItemBase): Boolean { - if (!row.parameter.name.isNullOrEmpty()) return false - if (!row.parameter.typeText.isNullOrEmpty()) return false + if (!row.parameter.name.isEmpty()) return false + if (!row.parameter.typeText.isEmpty()) return false return true } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/inlineUtils.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/inlineUtils.kt index 0581925b25c..bde6b07969a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/inlineUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/inline/inlineUtils.kt @@ -90,7 +90,7 @@ internal var KtSimpleNameExpression.internalUsageInfos: MutableMap) { val mainFile = element.containingKtFile - val targetPackages = usages.mapNotNullTo(LinkedHashSet()) { it.containingKtFile.packageFqName } + val targetPackages = usages.mapTo(LinkedHashSet()) { it.containingKtFile.packageFqName } for (targetPackage in targetPackages) { if (targetPackage == mainFile.packageFqName) continue val packageNameInfo = ContainerChangeInfo(ContainerInfo.Package(mainFile.packageFqName), ContainerInfo.Package(targetPackage)) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractClass/ExtractSuperRefactoring.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractClass/ExtractSuperRefactoring.kt index 5a82cb49621..8ab6d598afe 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractClass/ExtractSuperRefactoring.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractClass/ExtractSuperRefactoring.kt @@ -245,7 +245,7 @@ class ExtractSuperRefactoring( } if (typeParameters.isNotEmpty()) { - val typeParameterListText = typeParameters.sortedBy { it.startOffset }.map { it.text }.joinToString(prefix = "<", postfix = ">") + val typeParameterListText = typeParameters.sortedBy { it.startOffset }.joinToString(prefix = "<", postfix = ">") { it.text } newClass.addAfter(psiFactory.createTypeParameterList(typeParameterListText), newClass.nameIdentifier) } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt index 5bd0fb6ab0e..234e96cc30c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt @@ -541,7 +541,7 @@ class AnalysisResult ( } ) - return additionalInfo?.let { "$message\n\n${it.map { StringUtil.htmlEmphasize(it) }.joinToString("\n")}" } ?: message + return additionalInfo?.let { "$message\n\n${it.joinToString("\n") { StringUtil.htmlEmphasize(it) }}" } ?: message } } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractionEngine.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractionEngine.kt index aac11cc0bfe..bd2115c47ea 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractionEngine.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractionEngine.kt @@ -77,7 +77,7 @@ class ExtractionEngine( } } - val message = analysisResult.messages.map { it.renderMessage() }.joinToString("\n") + val message = analysisResult.messages.joinToString("\n") { it.renderMessage() } when (analysisResult.status) { AnalysisResult.Status.CRITICAL_ERROR -> { showErrorHint(project, editor, message, helper.operationName) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinInplaceParameterIntroducer.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinInplaceParameterIntroducer.kt index 0526a4a4fe8..7d5e3f4e59d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinInplaceParameterIntroducer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinInplaceParameterIntroducer.kt @@ -56,7 +56,7 @@ class KotlinInplaceParameterIntroducer( null, originalDescriptor.originalRange.elements.single() as KtExpression, originalDescriptor.occurrencesToReplace - .mapNotNull { it.elements.single() as KtExpression } + .map { it.elements.single() as KtExpression } .toTypedArray(), INTRODUCE_PARAMETER, project, diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterDialog.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterDialog.kt index 479f0b20919..5228039eba3 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterDialog.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterDialog.kt @@ -281,9 +281,7 @@ class KotlinIntroduceParameterDialog private constructor( val function = declaration as KtFunction val receiverType = function.receiverTypeReference?.text val parameterTypes = function - .valueParameters - .map { it.typeReference!!.text } - .joinToString() + .valueParameters.joinToString { it.typeReference!!.text } val returnType = function.typeReference?.text ?: "Unit" chosenType = (receiverType?.let { "$it." } ?: "") + "($parameterTypes) -> $returnType" diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceProperty/KotlinIntroducePropertyHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceProperty/KotlinIntroducePropertyHandler.kt index 54d388e1499..a945c6c04cc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceProperty/KotlinIntroducePropertyHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceProperty/KotlinIntroducePropertyHandler.kt @@ -43,7 +43,7 @@ class KotlinIntroducePropertyHandler( ): RefactoringActionHandler { object InteractiveExtractionHelper : ExtractionEngineHelper(INTRODUCE_PROPERTY) { private fun getExtractionTarget(descriptor: ExtractableCodeDescriptor) = - propertyTargets.filter { it.isAvailable(descriptor) }.firstOrNull() + propertyTargets.firstOrNull { it.isAvailable(descriptor) } override fun validate(descriptor: ExtractableCodeDescriptor) = descriptor.validate(getExtractionTarget(descriptor) ?: ExtractionTarget.FUNCTION) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceTypeParameter/KotlinIntroduceTypeParameterHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceTypeParameter/KotlinIntroduceTypeParameterHandler.kt index 6aaa2698915..3ab93c5eabc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceTypeParameter/KotlinIntroduceTypeParameterHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceTypeParameter/KotlinIntroduceTypeParameterHandler.kt @@ -124,7 +124,7 @@ object KotlinIntroduceTypeParameterHandler : RefactoringActionHandler { restoredOriginalTypeElement.textRange.intersects(textRange) || restoredOwner.typeParameterList?.textRange?.intersects(textRange) ?: false } - .mapNotNull { it.range.elements.toRange() } + .map { it.range.elements.toRange() } restoredOriginalTypeElement.replace(parameterRefElement) diff --git a/j2k/src/org/jetbrains/kotlin/j2k/Utils.kt b/j2k/src/org/jetbrains/kotlin/j2k/Utils.kt index 300f0048831..4f1cc61245e 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/Utils.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/Utils.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.j2k.ast.* import org.jetbrains.kotlin.types.expressions.OperatorConventions -fun quoteKeywords(packageName: String): String = packageName.split('.').map { Identifier.toKotlin(it) }.joinToString(".") +fun quoteKeywords(packageName: String): String = packageName.split('.').joinToString(".") { Identifier.toKotlin(it) } fun getDefaultInitializer(property: Property): Expression? { val t = property.type diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/Modifier.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/Modifier.kt index 35a5c102a18..6f915c6cecb 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/Modifier.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/Modifier.kt @@ -46,8 +46,7 @@ class Modifiers(modifiers: Collection) : Element() { modifiers.filter { it != Modifier.PUBLIC } val text = modifiersToInclude .sortedBy { it.ordinal } - .map { it.toKotlin() } - .joinToString(" ") + .joinToString(" ") { it.toKotlin() } builder.append(text) } 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 ea124e32e72..32328819334 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt @@ -507,7 +507,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) { val outputFile = outputItem.outputFile val target = sourceFiles.firstOrNull()?.let { sourceToTarget[it] } ?: - chunk.targets.filter { it.outputDir?.let { outputFile.startsWith(it) } ?: false }.singleOrNull() ?: + chunk.targets.singleOrNull { it.outputDir?.let { outputFile.startsWith(it) } ?: false } ?: representativeTarget if (outputFile.name.endsWith(".class")) { @@ -642,7 +642,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) { environment.messageCollector.report( STRONG_WARNING, "Circular dependencies are not supported. The following JS modules depend on each other: " - + chunk.modules.map { it.name }.joinToString(", ") + ". " + + chunk.modules.joinToString(", ") { it.name } + ". " + "Kotlin is not compiled for these modules" ) return null @@ -700,7 +700,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) { environment.messageCollector.report( STRONG_WARNING, "Circular dependencies are only partially supported. The following modules depend on each other: " - + chunk.modules.map { it.name }.joinToString(", ") + ". " + + chunk.modules.joinToString(", ") { it.name } + ". " + "Kotlin will compile them, but some strange effect may happen" ) } diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeUnusedLocalFunctionDeclarations.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeUnusedLocalFunctionDeclarations.kt index d6f1981d31e..2933562d3b5 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeUnusedLocalFunctionDeclarations.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/clean/removeUnusedLocalFunctionDeclarations.kt @@ -55,8 +55,7 @@ private class UnusedInstanceCollector : JsVisitorWithContextImpl() { tracker.addCandidateForRemoval(name, currentStatement!!) val references = collectUsedNames(x) - references.filterNotNull() - .forEach { tracker.addRemovableReference(name, it) } + references.forEach { tracker.addRemovableReference(name, it) } return false } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassModelGenerator.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassModelGenerator.kt index 80d4b70f83f..9b3d9439125 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassModelGenerator.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassModelGenerator.kt @@ -157,8 +157,7 @@ class ClassModelGenerator(val context: StaticContext) { // When none found, we have nothing to copy, ignore. // When multiple found, our current class should provide implementation, ignore. val memberToCopy = member.findNonRepeatingOverriddenDescriptors({ overriddenDescriptors }, { original }) - .filter { it.modality != Modality.ABSTRACT } - .singleOrNull() ?: return null + .singleOrNull { it.modality != Modality.ABSTRACT } ?: return null // If found member is not from interface, we don't need to copy it, it's already in prototype if ((memberToCopy.containingDeclaration as ClassDescriptor).kind != ClassKind.INTERFACE) return null @@ -172,8 +171,7 @@ class ClassModelGenerator(val context: StaticContext) { // When non found, we have nothing to copy, ignore. // When multiple found, our current class should provide implementation, ignore. val memberToCopy = member.findNonRepeatingOverriddenDescriptors({ overriddenDescriptors }, { original }) - .filter { it.hasOrInheritsParametersWithDefaultValue() } - .singleOrNull() ?: return null + .singleOrNull { it.hasOrInheritsParametersWithDefaultValue() } ?: return null // If found member is not from interface, we don't need to copy it, it's already in prototype if ((memberToCopy.containingDeclaration as ClassDescriptor).kind != ClassKind.INTERFACE) return null diff --git a/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt b/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt index ecf7811d1d4..1f124435f7d 100755 --- a/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt +++ b/plugins/annotation-processing/src/org/jetbrains/kotlin/annotation/processing/AnnotationProcessingExtension.kt @@ -260,7 +260,7 @@ abstract class AbstractAnnotationProcessingExtension( log { "Saving incremental data: ${analyzedClasses.size} class names" } try { incrementalDataFile.parentFile.mkdirs() - incrementalDataFile.writeText(analyzedClasses.map { "i $it" }.joinToString(LINE_SEPARATOR)) + incrementalDataFile.writeText(analyzedClasses.joinToString(LINE_SEPARATOR) { "i $it" }) } catch (e: IOException) { log { "Unable to write $incrementalDataFile" } diff --git a/plugins/java-model-wrappers/src/org/jetbrains/kotlin/java/model/elements/DefaultJeElementRenderer.kt b/plugins/java-model-wrappers/src/org/jetbrains/kotlin/java/model/elements/DefaultJeElementRenderer.kt index c73f14ec142..d28f2dd3e1b 100644 --- a/plugins/java-model-wrappers/src/org/jetbrains/kotlin/java/model/elements/DefaultJeElementRenderer.kt +++ b/plugins/java-model-wrappers/src/org/jetbrains/kotlin/java/model/elements/DefaultJeElementRenderer.kt @@ -71,7 +71,7 @@ class DefaultJeElementRenderer : JeElementRenderer { return if (modifiers.isEmpty()) renderedAnnotations else - renderedAnnotations + modifiers.map { it.name.toLowerCase() }.joinToString(" ", postfix = " ") + renderedAnnotations + modifiers.joinToString(" ", postfix = " ") { it.name.toLowerCase() } } private fun renderAnnotations(element: Element): String { @@ -111,7 +111,7 @@ class DefaultJeElementRenderer : JeElementRenderer { } } - private fun String.withMargin() = lines().map { MARGIN + it }.joinToString(LINE_SEPARATOR) + private fun String.withMargin() = lines().joinToString(LINE_SEPARATOR) { MARGIN + it } private companion object { val MARGIN = " "