diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/convert')
| -rw-r--r-- | src/main/java/cuchaz/enigma/convert/MappingsConverter.java | 2 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/convert/MemberMatches.java | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java index 4b4bb81..abb1bea 100644 --- a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java +++ b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java | |||
| @@ -436,7 +436,7 @@ public class MappingsConverter { | |||
| 436 | memberMatches.makeMatch(obfSourceEntry, obfDestEntries.iterator().next()); | 436 | memberMatches.makeMatch(obfSourceEntry, obfDestEntries.iterator().next()); |
| 437 | } else if (obfDestEntries.isEmpty()) { | 437 | } else if (obfDestEntries.isEmpty()) { |
| 438 | // no match is possible =( | 438 | // no match is possible =( |
| 439 | memberMatches.makeSourceUnmatchable(obfSourceEntry); | 439 | memberMatches.makeSourceUnmatchable(obfSourceEntry, null); |
| 440 | } | 440 | } |
| 441 | } | 441 | } |
| 442 | } | 442 | } |
diff --git a/src/main/java/cuchaz/enigma/convert/MemberMatches.java b/src/main/java/cuchaz/enigma/convert/MemberMatches.java index e0888d5..97b47b2 100644 --- a/src/main/java/cuchaz/enigma/convert/MemberMatches.java +++ b/src/main/java/cuchaz/enigma/convert/MemberMatches.java | |||
| @@ -150,7 +150,7 @@ public class MemberMatches<T extends Entry> { | |||
| 150 | { | 150 | { |
| 151 | if (sourceDeobfuscator != null && destDeobfuscator != null) | 151 | if (sourceDeobfuscator != null && destDeobfuscator != null) |
| 152 | { | 152 | { |
| 153 | makeMatch(sourceEntry, destEntry); | 153 | unmakeMatch(sourceEntry, destEntry, null, null); |
| 154 | sourceEntry = (T) sourceEntry.cloneToNewClass( | 154 | sourceEntry = (T) sourceEntry.cloneToNewClass( |
| 155 | sourceDeobfuscator.getJarIndex().getTranslationIndex().resolveEntryClass(sourceEntry, true)); | 155 | sourceDeobfuscator.getJarIndex().getTranslationIndex().resolveEntryClass(sourceEntry, true)); |
| 156 | destEntry = (T) destEntry.cloneToNewClass( | 156 | destEntry = (T) destEntry.cloneToNewClass( |
| @@ -165,7 +165,13 @@ public class MemberMatches<T extends Entry> { | |||
| 165 | addUnmatchedDestEntry(destEntry); | 165 | addUnmatchedDestEntry(destEntry); |
| 166 | } | 166 | } |
| 167 | 167 | ||
| 168 | public void makeSourceUnmatchable(T sourceEntry) { | 168 | public void makeSourceUnmatchable(T sourceEntry, Deobfuscator sourceDeobfuscator) { |
| 169 | if (sourceDeobfuscator != null) | ||
| 170 | { | ||
| 171 | makeSourceUnmatchable(sourceEntry, null); | ||
| 172 | sourceEntry = (T) sourceEntry.cloneToNewClass( | ||
| 173 | sourceDeobfuscator.getJarIndex().getTranslationIndex().resolveEntryClass(sourceEntry, true)); | ||
| 174 | } | ||
| 169 | assert (!isMatchedSourceEntry(sourceEntry)); | 175 | assert (!isMatchedSourceEntry(sourceEntry)); |
| 170 | boolean wasRemoved = m_unmatchedSourceEntries.remove(sourceEntry.getClassEntry(), sourceEntry); | 176 | boolean wasRemoved = m_unmatchedSourceEntries.remove(sourceEntry.getClassEntry(), sourceEntry); |
| 171 | assert (wasRemoved); | 177 | assert (wasRemoved); |