Replace reversed() with apply { reverse() } or asReversed()

This commit is contained in:
Ilya Gorbunov
2015-11-14 05:32:27 +03:00
parent 32151c077e
commit 21e2e68ed4
6 changed files with 10 additions and 10 deletions
@@ -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<AbstractInsnNode>()
val currentLabels = hashSetOf<LabelNode>()
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)
@@ -45,7 +45,7 @@ public fun topologicalSort<T>(items: Iterable<T>, dependencies: (T) -> Iterable<
for (item in items)
DfsVisit(item)
return result.reversed()
return result.apply { reverse() }
}
public class CycleInTopoSortException : Exception()
@@ -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()
}
}
@@ -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)
@@ -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) {
@@ -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
}