Code clean after convertion

This commit is contained in:
Mikhael Bogdanov
2017-06-12 10:21:11 +02:00
parent 51d494a271
commit 172a9c7e1e
6 changed files with 17 additions and 18 deletions
@@ -346,15 +346,16 @@ fun getNodeText(node: MethodNode?): String {
return node.name + " " + node.desc + ":\n" + sw.buffer.toString() return node.name + " " + node.desc + ":\n" + sw.buffer.toString()
} }
fun getInsnText(node: AbstractInsnNode?): String { val AbstractInsnNode?.insnText: String
if (node == null) return "<null>" get() {
val textifier = Textifier() if (this == null) return "<null>"
node.accept(TraceMethodVisitor(textifier)) val textifier = Textifier()
val sw = StringWriter() accept(TraceMethodVisitor(textifier))
textifier.print(PrintWriter(sw)) val sw = StringWriter()
sw.flush() textifier.print(PrintWriter(sw))
return sw.toString().trim { it <= ' ' } sw.flush()
} return sw.toString().trim { it <= ' ' }
}
fun getInsnOpcodeText(node: AbstractInsnNode?): String { fun getInsnOpcodeText(node: AbstractInsnNode?): String {
return if (node == null) "null" else Printer.OPCODES[node.opcode] return if (node == null) "null" else Printer.OPCODES[node.opcode]
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.codegen.OwnerKind
import org.jetbrains.kotlin.codegen.inline.ReifiedTypeInliner.Companion.isNeedClassReificationMarker import org.jetbrains.kotlin.codegen.inline.ReifiedTypeInliner.Companion.isNeedClassReificationMarker
import org.jetbrains.kotlin.codegen.optimization.common.InsnSequence import org.jetbrains.kotlin.codegen.optimization.common.InsnSequence
import org.jetbrains.kotlin.codegen.optimization.common.asSequence 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.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
@@ -16,9 +16,9 @@
package org.jetbrains.kotlin.codegen.optimization 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.OptimizationBasicInterpreter
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue 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.peek
import org.jetbrains.kotlin.codegen.optimization.fixStack.top import org.jetbrains.kotlin.codegen.optimization.fixStack.top
import org.jetbrains.kotlin.codegen.optimization.transformer.MethodTransformer import org.jetbrains.kotlin.codegen.optimization.transformer.MethodTransformer
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.codegen.optimization.boxing
import com.intellij.openapi.util.Pair import com.intellij.openapi.util.Pair
import org.jetbrains.kotlin.codegen.inline.getInsnOpcodeText 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.intrinsics.IntrinsicMethods
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
import org.jetbrains.kotlin.codegen.optimization.common.* import org.jetbrains.kotlin.codegen.optimization.common.*
@@ -325,7 +325,7 @@ class RedundantBoxingMethodTransformer : MethodTransformer() {
} }
private fun throwCannotAdaptInstruction(insn: AbstractInsnNode): Nothing = private fun throwCannotAdaptInstruction(insn: AbstractInsnNode): Nothing =
throw AssertionError("Cannot adapt instruction: ${getInsnText(insn)}") throw AssertionError("Cannot adapt instruction: ${insn.insnText}")
private fun adaptAreEqualIntrinsic( private fun adaptAreEqualIntrinsic(
node: MethodNode, node: MethodNode,
@@ -46,7 +46,7 @@
package org.jetbrains.kotlin.codegen.optimization.common 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.Opcodes
import org.jetbrains.org.objectweb.asm.Type import org.jetbrains.org.objectweb.asm.Type
import org.jetbrains.org.objectweb.asm.tree.* import org.jetbrains.org.objectweb.asm.tree.*
@@ -146,10 +146,10 @@ open class MethodAnalyzer<V : Value>(
} }
catch (e: AnalyzerException) { 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) { 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)
} }
} }
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.codegen.optimization.common 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.kotlin.utils.addToStdlib.safeAs
import org.jetbrains.org.objectweb.asm.Opcodes import org.jetbrains.org.objectweb.asm.Opcodes
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.isStoreOperation(): Boolean = opcode in Opcodes.ISTORE..Opcodes.ASTORE
fun AbstractInsnNode.isLoadOperation(): Boolean = opcode in Opcodes.ILOAD..Opcodes.ALOAD fun AbstractInsnNode.isLoadOperation(): Boolean = opcode in Opcodes.ILOAD..Opcodes.ALOAD
val AbstractInsnNode?.insnText get() = getInsnText(this)
val AbstractInsnNode?.debugText get() = val AbstractInsnNode?.debugText get() =
if (this == null) "<null>" else "${this::class.java.simpleName}: $insnText" if (this == null) "<null>" else "${this::class.java.simpleName}: $insnText"