Skip to content

Commit e8d8867

Browse files
Add RemoveMethodSignature to ShrinkingTransformer
1 parent 3626f54 commit e8d8867

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

grunt-main/src/main/kotlin/net/spartanb312/grunt/process/transformers/optimize/ShrinkingTransformer.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ object ShrinkingTransformer : Transformer("Shrinking", Category.Optimization) {
1818
private val removeInnerClass by setting("RemoveInnerClass", true)
1919
private val removeUnusedLabel by setting("RemoveUnusedLabel", true)
2020
private val removeNOP by setting("RemoveNOP", false) // May cause some bugs in Minecraft Forge Mod
21+
private val removeMethodSignature by setting("RemoveMethodSignature", false) // Should work fine
2122
private val annotations by setting("AnnotationRemovals", listOf("Ljava/lang/Override;"))
2223
private val exclusion by setting("Exclusion", listOf())
2324

@@ -92,6 +93,17 @@ object ShrinkingTransformer : Transformer("Shrinking", Category.Optimization) {
9293
}.get()
9394
Logger.info(" Removed $labelCount unused labels")
9495
}
96+
if (removeMethodSignature) {
97+
val signatureCount = count {
98+
nonExcluded.forEach { classNode ->
99+
classNode.methods.filter { it.signature != null }.forEach { methodNode ->
100+
methodNode.signature = null
101+
add(1)
102+
}
103+
}
104+
}.get()
105+
Logger.info(" Removed $signatureCount unused labels")
106+
}
95107
if (annotations.isNotEmpty()) {
96108
val annotationCount = count {
97109
nonExcluded.forEach { classNode ->

0 commit comments

Comments
 (0)