From 21e2e68ed44c5c28134451c6ae9ef55caa76d9c4 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Sat, 14 Nov 2015 05:32:27 +0300 Subject: [PATCH] Replace reversed() with apply { reverse() } or asReversed() --- .../optimization/RedundantGotoMethodTransformer.kt | 4 ++-- .../src/org/jetbrains/kotlin/container/DataStructures.kt | 2 +- .../createFromUsage/callableBuilder/CallableBuilder.kt | 2 +- .../replaceWith/CallableUsageReplacementStrategy.kt | 2 +- .../quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt | 2 +- j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt | 8 ++++---- 6 files changed, 10 insertions(+), 10 deletions(-) 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 34a55ef4e07..1d33a8675d4 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantGotoMethodTransformer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/RedundantGotoMethodTransformer.kt @@ -29,11 +29,11 @@ public class RedundantGotoMethodTransformer : MethodTransformer() { * Removes redundant GOTO's, i.e. to subsequent labels */ override fun transform(internalClassName: String, methodNode: MethodNode) { - val insns = methodNode.instructions.toArray() + val insns = methodNode.instructions.toArray().apply { reverse() } val insnsToRemove = arrayListOf() val currentLabels = hashSetOf() - for (insn in insns.reversed()) { + for (insn in insns) { if (insn.isMeaningful) { if (insn.getOpcode() == Opcodes.GOTO && (insn as JumpInsnNode).label in currentLabels) { insnsToRemove.add(insn) diff --git a/compiler/container/src/org/jetbrains/kotlin/container/DataStructures.kt b/compiler/container/src/org/jetbrains/kotlin/container/DataStructures.kt index 2d1c876abf7..637b374c7fd 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.reversed() + return result.apply { reverse() } } public class CycleInTopoSortException : Exception() \ No newline at end of file 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 6ae533adada..f8bcf6ce551 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 @@ -190,7 +190,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { newTypes.add(EqWrapper(currentFileModule.builtIns.anyType)) } - newTypes.map { TypeCandidate(it._type, scope) }.reversed() + newTypes.map { TypeCandidate(it._type, scope) }.asReversed() } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/CallableUsageReplacementStrategy.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/CallableUsageReplacementStrategy.kt index d93e7504569..50cca9a401f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/CallableUsageReplacementStrategy.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/CallableUsageReplacementStrategy.kt @@ -186,7 +186,7 @@ private fun ConstructedExpressionWrapper.processValueParameterUsages( // process parameters in reverse order because default values can use previous parameters val parameters = resolvedCall.resultingDescriptor.valueParameters - for (parameter in parameters.reversed()) { + for (parameter in parameters.asReversed()) { val argument = argumentForParameter(parameter, resolvedCall, bindingContext, project) ?: continue argument.expression.put(PARAMETER_VALUE_KEY, parameter) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt index 86fe481b077..24a93e7a281 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/replaceWith/ReplaceWithAnnotationAnalyzer.kt @@ -151,7 +151,7 @@ object ReplaceWithAnnotationAnalyzer { } // add receivers in reverse order because arguments of a call were processed after the callee's name - for ((expr, receiverExpression) in receiversToAdd.reversed()) { + for ((expr, receiverExpression) in receiversToAdd.asReversed()) { val expressionToReplace = expr.parent as? KtCallExpression ?: expr val newExpr = expressionToReplace.replaced(psiFactory.createExpressionByPattern("$0.$1", receiverExpression, expressionToReplace)) if (expressionToReplace == expression) { diff --git a/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt b/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt index 427f40a351a..631d40ed72a 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/CodeBuilder.kt @@ -211,10 +211,10 @@ class CodeBuilder(private val topElement: PsiElement?, private var docConverter: } if (firstSpace != null) { - before.remove(before.lastIndex) + before.removeAt(before.lastIndex) } - val elements = before.reversed() + atStart + val elements = before.asReversed() + atStart commentsAndSpacesUsed.addAll(elements) return Prefix(elements, lineBreaks) } @@ -233,11 +233,11 @@ class CodeBuilder(private val topElement: PsiElement?, private var docConverter: if (after.isNotEmpty()) { val last = after.last() if (last is PsiWhiteSpace) { - after.remove(after.lastIndex) + after.removeAt(after.lastIndex) } } - val result = atEnd.reversed() + after + val result = atEnd.asReversed() + after commentsAndSpacesUsed.addAll(result) return result }