diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/Deobfuscator.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/Deobfuscator.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index 47cd05c..b4736d8 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java | |||
| @@ -126,23 +126,27 @@ public class Deobfuscator { | |||
| 126 | } | 126 | } |
| 127 | 127 | ||
| 128 | public void setMappings(EntryTree<EntryMapping> mappings) { | 128 | public void setMappings(EntryTree<EntryMapping> mappings) { |
| 129 | setMappings(mappings, ProgressListener.VOID); | ||
| 130 | } | ||
| 131 | |||
| 132 | public void setMappings(EntryTree<EntryMapping> mappings, ProgressListener progress) { | ||
| 129 | if (mappings != null) { | 133 | if (mappings != null) { |
| 130 | Collection<Entry<?>> dropped = dropMappings(mappings); | 134 | Collection<Entry<?>> dropped = dropMappings(mappings, progress); |
| 131 | mapper = new EntryRemapper(jarIndex, mappings); | 135 | mapper = new EntryRemapper(jarIndex, mappings); |
| 132 | 136 | ||
| 133 | DeltaTrackingTree<EntryMapping> obfToDeobf = mapper.getObfToDeobf(); | 137 | DeltaTrackingTree<EntryMapping> obfToDeobf = mapper.getObfToDeobf(); |
| 134 | for (Entry<?> entry : dropped) { | 138 | for (Entry<?> entry : dropped) { |
| 135 | obfToDeobf.trackDeletion(entry); | 139 | obfToDeobf.trackChange(entry); |
| 136 | } | 140 | } |
| 137 | } else { | 141 | } else { |
| 138 | mapper = new EntryRemapper(jarIndex); | 142 | mapper = new EntryRemapper(jarIndex); |
| 139 | } | 143 | } |
| 140 | } | 144 | } |
| 141 | 145 | ||
| 142 | private Collection<Entry<?>> dropMappings(EntryTree<EntryMapping> mappings) { | 146 | private Collection<Entry<?>> dropMappings(EntryTree<EntryMapping> mappings, ProgressListener progress) { |
| 143 | // drop mappings that don't match the jar | 147 | // drop mappings that don't match the jar |
| 144 | MappingsChecker checker = new MappingsChecker(jarIndex, mappings); | 148 | MappingsChecker checker = new MappingsChecker(jarIndex, mappings); |
| 145 | MappingsChecker.Dropped dropped = checker.dropBrokenMappings(); | 149 | MappingsChecker.Dropped dropped = checker.dropBrokenMappings(progress); |
| 146 | 150 | ||
| 147 | Map<Entry<?>, String> droppedMappings = dropped.getDroppedMappings(); | 151 | Map<Entry<?>, String> droppedMappings = dropped.getDroppedMappings(); |
| 148 | for (Map.Entry<Entry<?>, String> mapping : droppedMappings.entrySet()) { | 152 | for (Map.Entry<Entry<?>, String> mapping : droppedMappings.entrySet()) { |