diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/Deobfuscator.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/Deobfuscator.java | 14 |
1 files changed, 8 insertions, 6 deletions
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; | |||
| 13 | 13 | ||
| 14 | import com.google.common.base.Functions; | 14 | import com.google.common.base.Functions; |
| 15 | import com.google.common.base.Stopwatch; | 15 | import com.google.common.base.Stopwatch; |
| 16 | import com.google.common.collect.Streams; | ||
| 16 | import com.strobel.assembler.metadata.ITypeLoader; | 17 | import com.strobel.assembler.metadata.ITypeLoader; |
| 17 | import com.strobel.assembler.metadata.MetadataSystem; | 18 | import com.strobel.assembler.metadata.MetadataSystem; |
| 18 | import com.strobel.assembler.metadata.TypeDefinition; | 19 | import com.strobel.assembler.metadata.TypeDefinition; |
| @@ -54,6 +55,7 @@ import java.util.jar.JarEntry; | |||
| 54 | import java.util.jar.JarFile; | 55 | import java.util.jar.JarFile; |
| 55 | import java.util.jar.JarOutputStream; | 56 | import java.util.jar.JarOutputStream; |
| 56 | import java.util.stream.Collectors; | 57 | import java.util.stream.Collectors; |
| 58 | import java.util.stream.Stream; | ||
| 57 | 59 | ||
| 58 | public class Deobfuscator { | 60 | public class Deobfuscator { |
| 59 | 61 | ||
| @@ -73,10 +75,10 @@ public class Deobfuscator { | |||
| 73 | this.jarIndex = JarIndex.empty(); | 75 | this.jarIndex = JarIndex.empty(); |
| 74 | this.jarIndex.indexJar(this.parsedJar, listener); | 76 | this.jarIndex.indexJar(this.parsedJar, listener); |
| 75 | 77 | ||
| 76 | listener.accept("Initializing plugins..."); | 78 | getPlugins().forEach(plugin -> { |
| 77 | for (EnigmaPlugin plugin : getPlugins()) { | 79 | listener.accept("Initializing plugin '" + plugin.getClass().getSimpleName() + "'"); |
| 78 | plugin.onClassesLoaded(parsedJar.getClassDataMap(), parsedJar::getClassNode); | 80 | plugin.indexJar(parsedJar, jarIndex); |
| 79 | } | 81 | }); |
| 80 | 82 | ||
| 81 | this.indexTreeBuilder = new IndexTreeBuilder(jarIndex); | 83 | this.indexTreeBuilder = new IndexTreeBuilder(jarIndex); |
| 82 | 84 | ||
| @@ -105,8 +107,8 @@ public class Deobfuscator { | |||
| 105 | }); | 107 | }); |
| 106 | } | 108 | } |
| 107 | 109 | ||
| 108 | public ServiceLoader<EnigmaPlugin> getPlugins() { | 110 | public Stream<EnigmaPlugin> getPlugins() { |
| 109 | return plugins; | 111 | return Streams.stream(plugins); |
| 110 | } | 112 | } |
| 111 | 113 | ||
| 112 | public ParsedJar getJar() { | 114 | public ParsedJar getJar() { |