Skip to content

Commit 6e74ff1

Browse files
committed
Improved invoke dynamic
1 parent e205112 commit 6e74ff1

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

‎build.gradle‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ plugins {
1717
}
1818

1919
group 'com.github.jonathanxd'
20-
version '2.0.1'
20+
version '2.0.2'
2121

2222
apply plugin: 'java'
2323
apply plugin: 'kotlin'

‎src/main/kotlin/com/github/jonathanxd/bytecodedisassembler/MethodInstructionsParser.kt‎

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,25 @@ object MethodInstructionsParser {
107107

108108
val bsmArgsStr = it.bsmArgs.orEmpty().map { (it as? Handle)?.asStr() ?: it.toString() }
109109

110-
normalAppender.append("invokedynamic ${it.name}${Util.parseDesc(it.desc)} (bootstrap: ${it.bsm.asStr()}, args: $bsmArgsStr)")
110+
normalAppender.append("invokedynamic ${it.name}${Util.parseDesc(it.desc)} [")
111+
112+
val ex = Appender.TwoIndent(normalAppender)
113+
114+
ex.append("// Bootstrap method")
115+
ex.append("${it.bsm.asStr()} [")
116+
117+
val ex2 = Appender.FourIndent(normalAppender)
118+
119+
if(bsmArgsStr.isNotEmpty()) {
120+
ex2.append("// Arguments")
121+
bsmArgsStr.forEach {
122+
ex2.append(it)
123+
}
124+
}
125+
126+
ex.append("]")
127+
128+
normalAppender.append("]")
111129
}
112130
is LabelNode -> {
113131
it.label?.let {

0 commit comments

Comments
 (0)