diff options
| author | 2018-06-24 19:12:24 +0200 | |
|---|---|---|
| committer | 2018-06-24 19:12:24 +0200 | |
| commit | 81adac1706ee5f96c97cc26874ebb0d6cbb56c7f (patch) | |
| tree | 3e9d8047df428354d0fe8dc3e71f14fa34fa01b9 /src/main/java/cuchaz/enigma/mapping/ClassMapping.java | |
| parent | Fix method reference and bridge detection (diff) | |
| download | enigma-fork-81adac1706ee5f96c97cc26874ebb0d6cbb56c7f.tar.gz enigma-fork-81adac1706ee5f96c97cc26874ebb0d6cbb56c7f.tar.xz enigma-fork-81adac1706ee5f96c97cc26874ebb0d6cbb56c7f.zip | |
Fix handling of null deobf mappings
Diffstat (limited to 'src/main/java/cuchaz/enigma/mapping/ClassMapping.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/mapping/ClassMapping.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/ClassMapping.java b/src/main/java/cuchaz/enigma/mapping/ClassMapping.java index e513393..1e6c3a1 100644 --- a/src/main/java/cuchaz/enigma/mapping/ClassMapping.java +++ b/src/main/java/cuchaz/enigma/mapping/ClassMapping.java | |||
| @@ -323,7 +323,7 @@ public class ClassMapping implements Comparable<ClassMapping> { | |||
| 323 | } | 323 | } |
| 324 | boolean wasAdded = methodsByObf.put(obfKey, methodMapping) == null; | 324 | boolean wasAdded = methodsByObf.put(obfKey, methodMapping) == null; |
| 325 | assert (wasAdded); | 325 | assert (wasAdded); |
| 326 | if (methodMapping.getDeobfName() != null) { | 326 | if (!methodMapping.isObfuscated()) { |
| 327 | String deobfKey = getMethodKey(methodMapping.getDeobfName(), methodMapping.getObfDesc()); | 327 | String deobfKey = getMethodKey(methodMapping.getDeobfName(), methodMapping.getObfDesc()); |
| 328 | if (methodsByDeobf.containsKey(deobfKey)) { | 328 | if (methodsByDeobf.containsKey(deobfKey)) { |
| 329 | throw new Error("Already have mapping for " + deobfName + "." + deobfKey); | 329 | throw new Error("Already have mapping for " + deobfName + "." + deobfKey); |
| @@ -338,7 +338,7 @@ public class ClassMapping implements Comparable<ClassMapping> { | |||
| 338 | public void removeMethodMapping(MethodMapping methodMapping) { | 338 | public void removeMethodMapping(MethodMapping methodMapping) { |
| 339 | boolean obfWasRemoved = methodsByObf.remove(getMethodKey(methodMapping.getObfName(), methodMapping.getObfDesc())) != null; | 339 | boolean obfWasRemoved = methodsByObf.remove(getMethodKey(methodMapping.getObfName(), methodMapping.getObfDesc())) != null; |
| 340 | assert (obfWasRemoved); | 340 | assert (obfWasRemoved); |
| 341 | if (methodMapping.getDeobfName() != null) { | 341 | if (!methodMapping.isObfuscated()) { |
| 342 | boolean deobfWasRemoved = methodsByDeobf.remove(getMethodKey(methodMapping.getDeobfName(), methodMapping.getObfDesc())) != null; | 342 | boolean deobfWasRemoved = methodsByDeobf.remove(getMethodKey(methodMapping.getDeobfName(), methodMapping.getObfDesc())) != null; |
| 343 | assert (deobfWasRemoved); | 343 | assert (deobfWasRemoved); |
| 344 | } | 344 | } |
| @@ -371,7 +371,7 @@ public class ClassMapping implements Comparable<ClassMapping> { | |||
| 371 | MethodMapping methodMapping = methodsByObf.get(getMethodKey(obfName, obfDescriptor)); | 371 | MethodMapping methodMapping = methodsByObf.get(getMethodKey(obfName, obfDescriptor)); |
| 372 | if (methodMapping == null) { | 372 | if (methodMapping == null) { |
| 373 | methodMapping = createMethodMapping(obfName, obfDescriptor); | 373 | methodMapping = createMethodMapping(obfName, obfDescriptor); |
| 374 | } else if (methodMapping.getDeobfName() != null) { | 374 | } else if (!methodMapping.isObfuscated()) { |
| 375 | boolean wasRemoved = methodsByDeobf.remove(getMethodKey(methodMapping.getDeobfName(), methodMapping.getObfDesc())) != null; | 375 | boolean wasRemoved = methodsByDeobf.remove(getMethodKey(methodMapping.getDeobfName(), methodMapping.getObfDesc())) != null; |
| 376 | assert (wasRemoved); | 376 | assert (wasRemoved); |
| 377 | } | 377 | } |