From 5afc4472807f71f30f5d5be2d4c4632ed3204ec4 Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Sun, 12 May 2019 15:34:42 +0200 Subject: Separate JarProcessor and EntryNameProposer --- src/main/java/cuchaz/enigma/Deobfuscator.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/main/java/cuchaz/enigma/Deobfuscator.java') diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index 9060c1f..32f7aa7 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java @@ -24,7 +24,8 @@ import cuchaz.enigma.analysis.EntryReference; import cuchaz.enigma.analysis.IndexTreeBuilder; import cuchaz.enigma.analysis.ParsedJar; import cuchaz.enigma.analysis.index.JarIndex; -import cuchaz.enigma.api.EnigmaPlugin; +import cuchaz.enigma.api.EntryNameProposer; +import cuchaz.enigma.api.JarProcessor; import cuchaz.enigma.bytecode.translators.SourceFixVisitor; import cuchaz.enigma.bytecode.translators.TranslationClassVisitor; import cuchaz.enigma.translation.Translatable; @@ -59,7 +60,9 @@ import java.util.stream.Stream; public class Deobfuscator { - private final ServiceLoader plugins = ServiceLoader.load(EnigmaPlugin.class); + private final ServiceLoader jarProcessors = ServiceLoader.load(JarProcessor.class); + private final ServiceLoader nameProposers = ServiceLoader.load(EntryNameProposer.class); + private final ParsedJar parsedJar; private final JarIndex jarIndex; private final IndexTreeBuilder indexTreeBuilder; @@ -75,10 +78,8 @@ public class Deobfuscator { this.jarIndex = JarIndex.empty(); this.jarIndex.indexJar(this.parsedJar, listener); - getPlugins().forEach(plugin -> { - listener.accept("Initializing plugin '" + plugin.getClass().getSimpleName() + "'"); - plugin.indexJar(parsedJar, jarIndex); - }); + listener.accept("Processing jar"); + this.jarProcessors.forEach(processor -> processor.accept(parsedJar, jarIndex)); this.indexTreeBuilder = new IndexTreeBuilder(jarIndex); @@ -107,8 +108,8 @@ public class Deobfuscator { }); } - public Stream getPlugins() { - return Streams.stream(plugins); + public Stream getNameProposers() { + return Streams.stream(nameProposers); } public ParsedJar getJar() { -- cgit v1.2.3