From 8e8609cd032d299f79307cfdd41998d331a876a7 Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Sun, 12 May 2019 11:56:22 +0200 Subject: Simplify Plugin API and support all entry types --- src/main/java/cuchaz/enigma/Deobfuscator.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 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 b4736d8..9060c1f 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java @@ -13,6 +13,7 @@ package cuchaz.enigma; import com.google.common.base.Functions; import com.google.common.base.Stopwatch; +import com.google.common.collect.Streams; import com.strobel.assembler.metadata.ITypeLoader; import com.strobel.assembler.metadata.MetadataSystem; import com.strobel.assembler.metadata.TypeDefinition; @@ -54,6 +55,7 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.jar.JarOutputStream; import java.util.stream.Collectors; +import java.util.stream.Stream; public class Deobfuscator { @@ -73,10 +75,10 @@ public class Deobfuscator { this.jarIndex = JarIndex.empty(); this.jarIndex.indexJar(this.parsedJar, listener); - listener.accept("Initializing plugins..."); - for (EnigmaPlugin plugin : getPlugins()) { - plugin.onClassesLoaded(parsedJar.getClassDataMap(), parsedJar::getClassNode); - } + getPlugins().forEach(plugin -> { + listener.accept("Initializing plugin '" + plugin.getClass().getSimpleName() + "'"); + plugin.indexJar(parsedJar, jarIndex); + }); this.indexTreeBuilder = new IndexTreeBuilder(jarIndex); @@ -105,8 +107,8 @@ public class Deobfuscator { }); } - public ServiceLoader getPlugins() { - return plugins; + public Stream getPlugins() { + return Streams.stream(plugins); } public ParsedJar getJar() { -- cgit v1.2.3