From 172a9c7e1e66fae1dd8430fdd9255d5b8a264a12 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Mon, 12 Jun 2017 10:21:11 +0200 Subject: [PATCH] Code clean after convertion --- .../codegen/inline/InlineCodegenUtil.kt | 19 ++++++++++--------- .../codegen/inline/defaultMethodUtil.kt | 1 - ...ntConditionEliminationMethodTransformer.kt | 2 +- .../RedundantBoxingMethodTransformer.kt | 4 ++-- .../optimization/common/MethodAnalyzer.kt | 6 +++--- .../codegen/optimization/common/Util.kt | 3 +-- 6 files changed, 17 insertions(+), 18 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegenUtil.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegenUtil.kt index 002ff1b6cc5..ee86fb4b388 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegenUtil.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegenUtil.kt @@ -346,15 +346,16 @@ fun getNodeText(node: MethodNode?): String { return node.name + " " + node.desc + ":\n" + sw.buffer.toString() } -fun getInsnText(node: AbstractInsnNode?): String { - if (node == null) return "" - val textifier = Textifier() - node.accept(TraceMethodVisitor(textifier)) - val sw = StringWriter() - textifier.print(PrintWriter(sw)) - sw.flush() - return sw.toString().trim { it <= ' ' } -} +val AbstractInsnNode?.insnText: String + get() { + if (this == null) return "" + val textifier = Textifier() + accept(TraceMethodVisitor(textifier)) + val sw = StringWriter() + textifier.print(PrintWriter(sw)) + sw.flush() + return sw.toString().trim { it <= ' ' } + } fun getInsnOpcodeText(node: AbstractInsnNode?): String { return if (node == null) "null" else Printer.OPCODES[node.opcode] diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/defaultMethodUtil.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/defaultMethodUtil.kt index 25ca818be39..0a1dd8fb2e2 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/defaultMethodUtil.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/defaultMethodUtil.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.codegen.OwnerKind import org.jetbrains.kotlin.codegen.inline.ReifiedTypeInliner.Companion.isNeedClassReificationMarker import org.jetbrains.kotlin.codegen.optimization.common.InsnSequence import org.jetbrains.kotlin.codegen.optimization.common.asSequence -import org.jetbrains.kotlin.codegen.optimization.common.insnText import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.resolve.DescriptorUtils diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/ConstantConditionEliminationMethodTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/ConstantConditionEliminationMethodTransformer.kt index 4d0426d4eac..75331cc811a 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/ConstantConditionEliminationMethodTransformer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/ConstantConditionEliminationMethodTransformer.kt @@ -16,9 +16,9 @@ package org.jetbrains.kotlin.codegen.optimization +import org.jetbrains.kotlin.codegen.inline.insnText import org.jetbrains.kotlin.codegen.optimization.common.OptimizationBasicInterpreter import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue -import org.jetbrains.kotlin.codegen.optimization.common.insnText import org.jetbrains.kotlin.codegen.optimization.fixStack.peek import org.jetbrains.kotlin.codegen.optimization.fixStack.top import org.jetbrains.kotlin.codegen.optimization.transformer.MethodTransformer diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/RedundantBoxingMethodTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/RedundantBoxingMethodTransformer.kt index 38b5f0a3268..c591c102430 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/RedundantBoxingMethodTransformer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/RedundantBoxingMethodTransformer.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.codegen.optimization.boxing import com.intellij.openapi.util.Pair import org.jetbrains.kotlin.codegen.inline.getInsnOpcodeText -import org.jetbrains.kotlin.codegen.inline.getInsnText +import org.jetbrains.kotlin.codegen.inline.insnText import org.jetbrains.kotlin.codegen.intrinsics.IntrinsicMethods import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue import org.jetbrains.kotlin.codegen.optimization.common.* @@ -325,7 +325,7 @@ class RedundantBoxingMethodTransformer : MethodTransformer() { } private fun throwCannotAdaptInstruction(insn: AbstractInsnNode): Nothing = - throw AssertionError("Cannot adapt instruction: ${getInsnText(insn)}") + throw AssertionError("Cannot adapt instruction: ${insn.insnText}") private fun adaptAreEqualIntrinsic( node: MethodNode, diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/MethodAnalyzer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/MethodAnalyzer.kt index c8815fe7064..a97c68040f8 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/MethodAnalyzer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/MethodAnalyzer.kt @@ -46,7 +46,7 @@ package org.jetbrains.kotlin.codegen.optimization.common -import org.jetbrains.kotlin.codegen.inline.getInsnText +import org.jetbrains.kotlin.codegen.inline.insnText import org.jetbrains.org.objectweb.asm.Opcodes import org.jetbrains.org.objectweb.asm.Type import org.jetbrains.org.objectweb.asm.tree.* @@ -146,10 +146,10 @@ open class MethodAnalyzer( } catch (e: AnalyzerException) { - throw AnalyzerException(e.node, "Error at instruction #" + insn + " ${getInsnText(insnNode)}: " + e.message, e) + throw AnalyzerException(e.node, "Error at instruction #" + insn + " ${insnNode.insnText}: " + e.message, e) } catch (e: Exception) { - throw AnalyzerException(insnNode, "Error at instruction #" + insn + " ${getInsnText(insnNode)}: " + e.message, e) + throw AnalyzerException(insnNode, "Error at instruction #" + insn + " ${insnNode.insnText}: " + e.message, e) } } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/Util.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/Util.kt index ed38a82d328..e0f00f72cc9 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/Util.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/Util.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.codegen.optimization.common -import org.jetbrains.kotlin.codegen.inline.getInsnText +import org.jetbrains.kotlin.codegen.inline.insnText import org.jetbrains.kotlin.utils.addToStdlib.safeAs import org.jetbrains.org.objectweb.asm.Opcodes import org.jetbrains.org.objectweb.asm.Opcodes.* @@ -176,7 +176,6 @@ fun insnListOf(vararg insns: AbstractInsnNode) = InsnList().apply { insns.forEac fun AbstractInsnNode.isStoreOperation(): Boolean = opcode in Opcodes.ISTORE..Opcodes.ASTORE fun AbstractInsnNode.isLoadOperation(): Boolean = opcode in Opcodes.ILOAD..Opcodes.ALOAD -val AbstractInsnNode?.insnText get() = getInsnText(this) val AbstractInsnNode?.debugText get() = if (this == null) "" else "${this::class.java.simpleName}: $insnText"