aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Herzig <jonas@spark-squared.com>2021-11-10 13:11:28 +0100
committerJonas Herzig <jonas@spark-squared.com>2021-11-10 18:11:16 +0100
commit1b12b4c25a10978a83713e28748a12a41d7591b8 (patch)
treee8dbe5ebdb38baf0620b50cbb95dfbfc79d74643
parent7d62cd890cb44945e772e18cdb457b1173f4f853 (diff)
downloadRemap-1b12b4c25a10978a83713e28748a12a41d7591b8.tar.gz
Remap-1b12b4c25a10978a83713e28748a12a41d7591b8.tar.bz2
Remap-1b12b4c25a10978a83713e28748a12a41d7591b8.zip
Fix legacy mapping set stripping descriptor when it should not
Because `hasMapping` is broken and returns false even when there is a change in method parameter types. Instead we'll just compare the stringified signature.
-rw-r--r--src/main/kotlin/com/replaymod/gradle/remap/legacy/LegacyMappingSetModelFactory.kt5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/main/kotlin/com/replaymod/gradle/remap/legacy/LegacyMappingSetModelFactory.kt b/src/main/kotlin/com/replaymod/gradle/remap/legacy/LegacyMappingSetModelFactory.kt
index 7737200..ec21546 100644
--- a/src/main/kotlin/com/replaymod/gradle/remap/legacy/LegacyMappingSetModelFactory.kt
+++ b/src/main/kotlin/com/replaymod/gradle/remap/legacy/LegacyMappingSetModelFactory.kt
@@ -6,8 +6,7 @@ import org.cadixdev.lorenz.impl.MappingSetModelFactoryImpl
import org.cadixdev.lorenz.impl.model.TopLevelClassMappingImpl
import org.cadixdev.lorenz.model.MethodMapping
import org.cadixdev.lorenz.model.TopLevelClassMapping
-
-import java.util.Optional
+import java.util.*
class LegacyMappingSetModelFactory : MappingSetModelFactoryImpl() {
override fun createTopLevelClassMapping(parent: MappingSet, obfuscatedName: String, deobfuscatedName: String): TopLevelClassMapping {
@@ -23,7 +22,7 @@ class LegacyMappingSetModelFactory : MappingSetModelFactoryImpl() {
override fun getMethodMapping(signature: MethodSignature): Optional<MethodMapping> {
var maybeMapping = super.getMethodMapping(signature)
- if (!maybeMapping.isPresent || !maybeMapping.get().hasMappings()) {
+ if (!maybeMapping.isPresent || maybeMapping.get().let { it.signature == it.deobfuscatedSignature }) {
maybeMapping = super.getMethodMapping(stripDesc(signature))
}
return maybeMapping