Convert text util methods to extension properties
This commit is contained in:
@@ -167,7 +167,7 @@ class InlineCodegen(
|
||||
"Couldn't inline method call '" + functionDescriptor.name + "' into\n" +
|
||||
DescriptorRenderer.DEBUG_TEXT.render(contextDescriptor) + "\n" +
|
||||
(element?.text ?: "<no source>") +
|
||||
if (generateNodeText) "\nCause: " + getNodeText(node) else "",
|
||||
if (generateNodeText) "\nCause: " + node.nodeText else "",
|
||||
e, callElement
|
||||
)
|
||||
}
|
||||
|
||||
@@ -618,7 +618,7 @@ class MethodInliner(
|
||||
return InlineException("$errorPrefix: $errorSuffix", originalException)
|
||||
}
|
||||
else {
|
||||
return InlineException("$errorPrefix: $errorSuffix\nCause: ${getNodeText(node)}", originalException)
|
||||
return InlineException("$errorPrefix: $errorSuffix\nCause: ${node.nodeText}", originalException)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
||||
import org.jetbrains.kotlin.codegen.ExpressionCodegen
|
||||
import org.jetbrains.kotlin.codegen.JvmCodegenUtil
|
||||
import org.jetbrains.kotlin.codegen.MemberCodegen
|
||||
import org.jetbrains.kotlin.codegen.binding.CodegenBinding
|
||||
import org.jetbrains.kotlin.codegen.context.CodegenContext
|
||||
import org.jetbrains.kotlin.codegen.context.CodegenContextUtil
|
||||
@@ -325,17 +324,18 @@ fun firstLabelInChain(node: LabelNode): LabelNode {
|
||||
return curNode
|
||||
}
|
||||
|
||||
fun getNodeText(node: MethodNode?): String {
|
||||
val textifier = Textifier()
|
||||
if (node == null) {
|
||||
return "Not generated"
|
||||
val MethodNode?.nodeText: String
|
||||
get() {
|
||||
if (this == null) {
|
||||
return "Not generated"
|
||||
}
|
||||
val textifier = Textifier()
|
||||
accept(TraceMethodVisitor(textifier))
|
||||
val sw = StringWriter()
|
||||
textifier.print(PrintWriter(sw))
|
||||
sw.flush()
|
||||
return name + " " + desc + ":\n" + sw.buffer.toString()
|
||||
}
|
||||
node.accept(TraceMethodVisitor(textifier))
|
||||
val sw = StringWriter()
|
||||
textifier.print(PrintWriter(sw))
|
||||
sw.flush()
|
||||
return node.name + " " + node.desc + ":\n" + sw.buffer.toString()
|
||||
}
|
||||
|
||||
val AbstractInsnNode?.insnText: String
|
||||
get() {
|
||||
@@ -348,11 +348,12 @@ val AbstractInsnNode?.insnText: String
|
||||
return sw.toString().trim { it <= ' ' }
|
||||
}
|
||||
|
||||
fun getInsnOpcodeText(node: AbstractInsnNode?): String {
|
||||
return if (node == null) "null" else Printer.OPCODES[node.opcode]
|
||||
}
|
||||
val AbstractInsnNode?.insnOpcodeText: String
|
||||
get() {
|
||||
return if (this == null) "null" else Printer.OPCODES[opcode]
|
||||
}
|
||||
|
||||
internal /* package */ fun buildClassReaderByInternalName(state: GenerationState, internalName: String): ClassReader {
|
||||
internal fun buildClassReaderByInternalName(state: GenerationState, internalName: String): ClassReader {
|
||||
//try to find just compiled classes then in dependencies
|
||||
try {
|
||||
val outputFile = state.factory.get(internalName + ".class")
|
||||
|
||||
+2
-2
@@ -17,7 +17,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.insnOpcodeText
|
||||
import org.jetbrains.kotlin.codegen.inline.insnText
|
||||
import org.jetbrains.kotlin.codegen.intrinsics.IntrinsicMethods
|
||||
import org.jetbrains.kotlin.codegen.optimization.common.StrictBasicValue
|
||||
@@ -393,7 +393,7 @@ class RedundantBoxingMethodTransformer : MethodTransformer() {
|
||||
next.getOpcode() == Opcodes.IFNE ->
|
||||
insertBefore(insn, JumpInsnNode(ifNotEqualOpcode, nextLabel))
|
||||
else ->
|
||||
throw AssertionError("IFEQ or IFNE expected: " + getInsnOpcodeText(next))
|
||||
throw AssertionError("IFEQ or IFNE expected: ${next.insnOpcodeText}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user