diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/convert')
| -rw-r--r-- | src/main/java/cuchaz/enigma/convert/MappingsConverter.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java index 61b0e7e..4b4bb81 100644 --- a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java +++ b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java | |||
| @@ -117,13 +117,19 @@ public class MappingsConverter { | |||
| 117 | Collections.sort(chainSizes); | 117 | Collections.sort(chainSizes); |
| 118 | for (int chainSize : chainSizes) { | 118 | for (int chainSize : chainSizes) { |
| 119 | for (java.util.Map.Entry<ClassEntry, ClassEntry> match : matchesByDestChainSize.get(chainSize)) { | 119 | for (java.util.Map.Entry<ClassEntry, ClassEntry> match : matchesByDestChainSize.get(chainSize)) { |
| 120 | |||
| 121 | // get class info | 120 | // get class info |
| 122 | ClassEntry obfSourceClassEntry = match.getKey(); | 121 | ClassEntry obfSourceClassEntry = match.getKey(); |
| 123 | ClassEntry obfDestClassEntry = match.getValue(); | 122 | ClassEntry obfDestClassEntry = match.getValue(); |
| 124 | List<ClassEntry> destClassChain = destDeobfuscator.getJarIndex().getObfClassChain(obfDestClassEntry); | 123 | List<ClassEntry> destClassChain = destDeobfuscator.getJarIndex().getObfClassChain(obfDestClassEntry); |
| 125 | 124 | ||
| 126 | ClassMapping sourceMapping = sourceDeobfuscator.getMappings().getClassByObf(obfSourceClassEntry); | 125 | ClassMapping sourceMapping; |
| 126 | if (obfSourceClassEntry.isInnerClass()) { | ||
| 127 | List<ClassMapping> srcClassChain = sourceDeobfuscator.getMappings().getClassMappingChain(obfSourceClassEntry); | ||
| 128 | sourceMapping = srcClassChain.get(srcClassChain.size() - 1); | ||
| 129 | } else { | ||
| 130 | sourceMapping = sourceDeobfuscator.getMappings().getClassByObf(obfSourceClassEntry); | ||
| 131 | } | ||
| 132 | |||
| 127 | if (sourceMapping == null) { | 133 | if (sourceMapping == null) { |
| 128 | // if this class was never deobfuscated, don't try to match it | 134 | // if this class was never deobfuscated, don't try to match it |
| 129 | continue; | 135 | continue; |