diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantGotoMethodTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantGotoMethodTransformer.kt index f28eacb676b..34a55ef4e07 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantGotoMethodTransformer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantGotoMethodTransformer.kt @@ -33,7 +33,7 @@ public class RedundantGotoMethodTransformer : MethodTransformer() { val insnsToRemove = arrayListOf() val currentLabels = hashSetOf() - for (insn in insns.reverse()) { + for (insn in insns.reversed()) { if (insn.isMeaningful) { if (insn.getOpcode() == Opcodes.GOTO && (insn as JumpInsnNode).label in currentLabels) { insnsToRemove.add(insn) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/StackTransformationUtils.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/StackTransformationUtils.kt index 01541346128..bb8819f872f 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/StackTransformationUtils.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/fixStack/StackTransformationUtils.kt @@ -111,7 +111,7 @@ fun generateLoadInstructions(methodNode: MethodNode, location: AbstractInsnNode, fun generateStoreInstructions(methodNode: MethodNode, location: AbstractInsnNode, savedStackDescriptor: SavedStackDescriptor) { var localVarIndex = savedStackDescriptor.firstUnusedLocalVarIndex - for (value in savedStackDescriptor.savedValues.reverse()) { + for (value in savedStackDescriptor.savedValues.asReversed()) { localVarIndex -= value.getSize() methodNode.instructions.insertBefore(location, VarInsnNode(value.getType().getOpcode(Opcodes.ISTORE), localVarIndex)) diff --git a/compiler/container/src/org/jetbrains/kotlin/container/DataStructures.kt b/compiler/container/src/org/jetbrains/kotlin/container/DataStructures.kt index 83d71231c72..2d1c876abf7 100644 --- a/compiler/container/src/org/jetbrains/kotlin/container/DataStructures.kt +++ b/compiler/container/src/org/jetbrains/kotlin/container/DataStructures.kt @@ -45,7 +45,7 @@ public fun topologicalSort(items: Iterable, dependencies: (T) -> Iterable< for (item in items) DfsVisit(item) - return result.reverse() + return result.reversed() } public class CycleInTopoSortException : Exception() \ No newline at end of file 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 ae690dcf793..13b7fed6297 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallCompleter.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/CallCompleter.kt @@ -312,7 +312,7 @@ public class CallCompleter( } var shouldBeMadeNullable: Boolean = false - expressions.reverse().forEach { expression -> + expressions.asReversed().forEach { expression -> if (!(expression is JetParenthesizedExpression || expression is JetLabeledExpression || expression is JetAnnotatedExpression)) { shouldBeMadeNullable = hasNecessarySafeCall(expression, trace) } diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt index 0091d2c079c..f0090f46b95 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt @@ -135,7 +135,7 @@ internal class DescriptorRendererImpl( } while (current is ClassDescriptor) - return renderFqName(qualifiedNameElements.reverse()) + return renderFqName(qualifiedNameElements.asReversed()) } NameShortness.FULLY_QUALIFIED -> return renderFqName(DescriptorUtils.getFqName(klass)) diff --git a/core/util.runtime/src/org/jetbrains/kotlin/utils/addToStdlib.kt b/core/util.runtime/src/org/jetbrains/kotlin/utils/addToStdlib.kt index f432df8f067..536bd89e706 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/utils/addToStdlib.kt +++ b/core/util.runtime/src/org/jetbrains/kotlin/utils/addToStdlib.kt @@ -68,7 +68,7 @@ public inline fun Iterable<*>.lastIsInstanceOrNull(): T? { } else -> { - return reverse().firstIsInstanceOrNull() + return reversed().firstIsInstanceOrNull() } } } diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KotlinCompletionContributor.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KotlinCompletionContributor.kt index b42ae6bd574..12f245a32c0 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KotlinCompletionContributor.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/KotlinCompletionContributor.kt @@ -193,7 +193,7 @@ public class KotlinCompletionContributor : CompletionContributor() { if (tokenType in declarationKeywords) { val balance = ltCount - gtCount if (balance < 0) return null - builder.append(token.getText()!!.reverse()) + builder.append(token.getText()!!.reversed()) builder.reverse() var tail = "X" + ">".repeat(balance) + ".f" @@ -212,7 +212,7 @@ public class KotlinCompletionContributor : CompletionContributor() { if (tokenType !in declarationTokens) return null if (tokenType == JetTokens.LT) ltCount++ if (tokenType == JetTokens.GT) gtCount++ - builder.append(token.getText()!!.reverse()) + builder.append(token.getText()!!.reversed()) token = PsiTreeUtil.prevLeaf(token) ?: return null } } diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/CommentSaver.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/CommentSaver.kt index 4583870720c..e856a3c5a96 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/CommentSaver.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/CommentSaver.kt @@ -340,7 +340,7 @@ public class CommentSaver(originalElements: PsiChildRange, private val saveLineB for (leaf in lineBreakElement.prevLeafs) { var psiElement = findRestored(leaf) if (psiElement != null) { - psiElement = skipTokensForward(psiElement, tokensToMatch.reverse()) + psiElement = skipTokensForward(psiElement, tokensToMatch.asReversed()) psiElement?.restoreLineBreakAfter() break } @@ -425,7 +425,7 @@ public class CommentSaver(originalElements: PsiChildRange, private val saveLineB } var psiElement = anchor.element - for (token in tokensBetween.reverse()) { + for (token in tokensBetween.asReversed()) { val next = psiElement.next() ?: break if (next.tokenType != token.tokenType) break psiElement = next diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/OptionalParametersHelper.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/OptionalParametersHelper.kt index 1074ecd7671..1f2d8ade4bd 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/OptionalParametersHelper.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/OptionalParametersHelper.kt @@ -55,7 +55,7 @@ public object OptionalParametersHelper { val arguments = resolvedCall.getCall().getValueArgumentsInParentheses() val argumentsToDrop = ArrayList() - for (argument in arguments.reverse()) { + for (argument in arguments.asReversed()) { if (!canDrop(argument) || !argument.matchesDefault(resolvedCall, parameterToDefaultValue)) { if (!argument.isNamed()) break else continue // for a named argument we can try to drop arguments before it as well } diff --git a/idea/src/org/jetbrains/kotlin/idea/conversion/copy/DataForConversion.kt b/idea/src/org/jetbrains/kotlin/idea/conversion/copy/DataForConversion.kt index 46c4c81b15c..194b4a4c84c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/conversion/copy/DataForConversion.kt +++ b/idea/src/org/jetbrains/kotlin/idea/conversion/copy/DataForConversion.kt @@ -109,7 +109,7 @@ data class DataForConversion private constructor( }.toString() fun IntArray.update() { - for (range in rangesToDrop.reverse()) { + for (range in rangesToDrop.asReversed()) { for (i in indices) { val offset = this[i] if (offset >= range.end) { diff --git a/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinCodeBlockSelectioner.kt b/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinCodeBlockSelectioner.kt index 6f68abd4b00..ffcfbdb295c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinCodeBlockSelectioner.kt +++ b/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinCodeBlockSelectioner.kt @@ -64,7 +64,7 @@ public class KotlinCodeBlockSelectioner : ExtendWordSelectionHandlerBase() { private fun findBlockContentEnd(block: PsiElement): Int { val element = block.allChildren .toList() - .reverse() + .asReversed() .asSequence() .dropWhile { it.getNode().getElementType() != JetTokens.RBRACE } // search for '}' .drop(1) // skip it diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertNegatedExpressionWithDemorgansLawIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertNegatedExpressionWithDemorgansLawIntention.kt index 484adac36be..a5ab6d3c865 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertNegatedExpressionWithDemorgansLawIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertNegatedExpressionWithDemorgansLawIntention.kt @@ -51,7 +51,7 @@ public class ConvertNegatedExpressionWithDemorgansLawIntention : JetSelfTargetin else -> throw IllegalArgumentException() } - val operands = splitBooleanSequence(baseExpression)!!.reverse() + val operands = splitBooleanSequence(baseExpression)!!.asReversed() val newExpression = JetPsiFactory(element).buildExpression { for ((i, operand) in operands.withIndex()) { 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 efb3ff7ecaa..f1e7fd22705 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 @@ -163,7 +163,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { scope: JetScope): List { if (!typeInfo.substitutionsAllowed) return computeTypeCandidates(typeInfo) return typeCandidates.getOrPut(typeInfo) { - val types = typeInfo.getPossibleTypes(this).reverse() + val types = typeInfo.getPossibleTypes(this).asReversed() // We have to use semantic equality here data class EqWrapper(val _type: JetType) { @@ -187,7 +187,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { newTypes.add(EqWrapper(currentFileModule.builtIns.anyType)) } - newTypes.map { TypeCandidate(it._type, scope) }.reverse() + newTypes.map { TypeCandidate(it._type, scope) }.reversed() } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/KotlinPullUpHelperFactory.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/KotlinPullUpHelperFactory.kt index 6e2d8dee2c7..95d07a4e849 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/KotlinPullUpHelperFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/KotlinPullUpHelperFactory.kt @@ -79,7 +79,7 @@ public class JavaToKotlinPullUpHelperFactory : PullUpHelperFactory { val elementFactory = PsiElementFactory.SERVICE.getInstance(project) val dummyTargetClass = createJavaClass(targetClass, null, forcePlainClass = true) - val outerClasses = targetClass.parents.filterIsInstance().toList().reverse() + val outerClasses = targetClass.parents.filterIsInstance().toList().asReversed() if (outerClasses.isEmpty()) return dummyFile.add(dummyTargetClass) as PsiClass diff --git a/idea/src/org/jetbrains/kotlin/idea/util/ImportInsertHelperImpl.kt b/idea/src/org/jetbrains/kotlin/idea/util/ImportInsertHelperImpl.kt index b6eb71252e5..292c4c131ef 100644 --- a/idea/src/org/jetbrains/kotlin/idea/util/ImportInsertHelperImpl.kt +++ b/idea/src/org/jetbrains/kotlin/idea/util/ImportInsertHelperImpl.kt @@ -380,8 +380,7 @@ public class ImportInsertHelperImpl(private val project: Project) : ImportInsert } else { val insertAfter = imports - .reverse() - .firstOrNull { + .lastOrNull { val directivePath = it.getImportPath() directivePath != null && ImportPathComparator.compare(directivePath, importPath) <= 0 } diff --git a/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt b/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt index 197cfba85c3..2b57bd2c780 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt @@ -215,7 +215,7 @@ class CodeBuilder(private val topElement: PsiElement?, private var docConverter: before.remove(before.lastIndex) } - val elements = before.reverse() + atStart + val elements = before.reversed() + atStart commentsAndSpacesUsed.addAll(elements) return Prefix(elements, lineBreaks) } @@ -238,7 +238,7 @@ class CodeBuilder(private val topElement: PsiElement?, private var docConverter: } } - val result = atEnd.reverse() + after + val result = atEnd.reversed() + after commentsAndSpacesUsed.addAll(result) return result } @@ -317,7 +317,7 @@ class CodeBuilder(private val topElement: PsiElement?, private var docConverter: } private companion object { - fun List.plus(other: List): List { + operator fun List.plus(other: List): List { when { isEmpty() -> return other @@ -332,11 +332,11 @@ class CodeBuilder(private val topElement: PsiElement?, private var docConverter: } } - fun List.reverse(): List { + fun List.reversed(): List { return if (size() <= 1) this else - (this as Iterable).reverse() + this.asReversed() } fun PsiElement.isCommentOrSpace() = this is PsiComment || this is PsiWhiteSpace diff --git a/j2k/src/org/jetbrains/kotlin/j2k/StatementConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/StatementConverter.kt index 98c4620f601..a1a6e047284 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/StatementConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/StatementConverter.kt @@ -216,7 +216,7 @@ class DefaultStatementConverter : JavaElementVisitor(), StatementConverter { var block = converterForBody.convertBlock(tryBlock) var expression: Expression = Expression.Empty - for (variable in resourceVariables.reverse()) { + for (variable in resourceVariables.asReversed()) { val parameter = LambdaParameter(Identifier(variable.name!!).assignNoPrototype(), null).assignNoPrototype() val parameterList = ParameterList(listOf(parameter)).assignNoPrototype() val lambda = LambdaExpression(parameterList, block)