summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/Deobfuscator.java
diff options
context:
space:
mode:
authorGravatar Thog2016-10-30 23:37:29 +0100
committerGravatar Thog2016-10-30 23:37:29 +0100
commit6235bfc5ab85cdd471e315c52c413991fb9dbddf (patch)
treef8d726850a60786176f999952c2e9f7c83e5ccbd /src/main/java/cuchaz/enigma/Deobfuscator.java
parentFix order of packages, hanging of Enigma and classes nodes not renamed when p... (diff)
downloadenigma-fork-6235bfc5ab85cdd471e315c52c413991fb9dbddf.tar.gz
enigma-fork-6235bfc5ab85cdd471e315c52c413991fb9dbddf.tar.xz
enigma-fork-6235bfc5ab85cdd471e315c52c413991fb9dbddf.zip
BREAKING CHANGE: Implement modifier transformer
Known Bugs: - Inner class modifier isn't saved to mapping - Inner class modifier isn't applied to bytecode
Diffstat (limited to 'src/main/java/cuchaz/enigma/Deobfuscator.java')
-rw-r--r--src/main/java/cuchaz/enigma/Deobfuscator.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java
index ca38754..fe0e31d 100644
--- a/src/main/java/cuchaz/enigma/Deobfuscator.java
+++ b/src/main/java/cuchaz/enigma/Deobfuscator.java
@@ -607,4 +607,25 @@ public class Deobfuscator {
607 // clear caches 607 // clear caches
608 this.translatorCache.clear(); 608 this.translatorCache.clear();
609 } 609 }
610
611 public void changeModifier(Entry entry, Mappings.EntryModifier modifierEntry)
612 {
613 Entry obfEntry = obfuscateEntry(entry);
614 if (obfEntry instanceof ClassEntry)
615 this.renamer.setClassModifier((ClassEntry) obfEntry, modifierEntry);
616 else if (obfEntry instanceof FieldEntry)
617 this.renamer.setFieldModifier((FieldEntry) obfEntry, modifierEntry);
618 else if (obfEntry instanceof BehaviorEntry)
619 this.renamer.setMethodModifier((BehaviorEntry) obfEntry, modifierEntry);
620 else
621 throw new Error("Unknown entry type: " + obfEntry);
622 }
623
624 public Mappings.EntryModifier getModifier(Entry obEntry)
625 {
626 Entry entry = obfuscateEntry(obEntry);
627 if (entry != null)
628 obEntry = entry;
629 return getTranslator(TranslationDirection.Deobfuscating).getModifier(obEntry);
630 }
610} 631}