From e27d5967029f4f3da8889dd673ba516dcd9f3ac8 Mon Sep 17 00:00:00 2001 From: gegy1000 Date: Sun, 16 Jun 2019 23:49:25 +0200 Subject: Plugin rework along with API rework: Enigma split from EnigmaProject; plugins now provide services configurable via a profile --- .../cuchaz/enigma/PackageVisibilityIndexTest.java | 10 ++++------ src/test/java/cuchaz/enigma/TestDeobfed.java | 22 ++++++++++++---------- src/test/java/cuchaz/enigma/TestDeobfuscator.java | 12 ++++++------ src/test/java/cuchaz/enigma/TestInnerClasses.java | 15 ++++++++------- .../enigma/TestJarIndexConstructorReferences.java | 1 - .../cuchaz/enigma/TestJarIndexInheritanceTree.java | 8 ++++---- src/test/java/cuchaz/enigma/TestSourceIndex.java | 6 +++--- src/test/java/cuchaz/enigma/TestTranslator.java | 2 +- src/test/java/cuchaz/enigma/TokenChecker.java | 8 ++++---- 9 files changed, 42 insertions(+), 42 deletions(-) (limited to 'src/test/java/cuchaz') diff --git a/src/test/java/cuchaz/enigma/PackageVisibilityIndexTest.java b/src/test/java/cuchaz/enigma/PackageVisibilityIndexTest.java index ae5d6d2c..1dc9748b 100644 --- a/src/test/java/cuchaz/enigma/PackageVisibilityIndexTest.java +++ b/src/test/java/cuchaz/enigma/PackageVisibilityIndexTest.java @@ -11,13 +11,13 @@ package cuchaz.enigma; -import cuchaz.enigma.analysis.ParsedJar; +import cuchaz.enigma.analysis.ClassCache; import cuchaz.enigma.analysis.index.JarIndex; import cuchaz.enigma.analysis.index.PackageVisibilityIndex; import cuchaz.enigma.translation.representation.entry.ClassEntry; import org.junit.Test; -import java.util.jar.JarFile; +import java.nio.file.Paths; import static cuchaz.enigma.TestEntryFactory.newClass; import static org.hamcrest.MatcherAssert.assertThat; @@ -35,10 +35,8 @@ public class PackageVisibilityIndexTest { private final JarIndex jarIndex; public PackageVisibilityIndexTest() throws Exception { - jarIndex = JarIndex.empty(); - ParsedJar jar = new ParsedJar(new JarFile("build/test-obf/packageAccess.jar")); - jarIndex.indexJar(jar, s -> { - }); + ClassCache classCache = ClassCache.of(Paths.get("build/test-obf/packageAccess.jar")); + jarIndex = classCache.index(ProgressListener.none()); } @Test diff --git a/src/test/java/cuchaz/enigma/TestDeobfed.java b/src/test/java/cuchaz/enigma/TestDeobfed.java index 14b1418d..3d875dfe 100644 --- a/src/test/java/cuchaz/enigma/TestDeobfed.java +++ b/src/test/java/cuchaz/enigma/TestDeobfed.java @@ -11,12 +11,12 @@ package cuchaz.enigma; -import cuchaz.enigma.analysis.ParsedJar; +import cuchaz.enigma.analysis.ClassCache; import cuchaz.enigma.analysis.index.JarIndex; import org.junit.BeforeClass; import org.junit.Test; -import java.util.jar.JarFile; +import java.nio.file.Paths; import static cuchaz.enigma.TestEntryFactory.newClass; import static org.hamcrest.MatcherAssert.assertThat; @@ -24,15 +24,16 @@ import static org.hamcrest.Matchers.containsInAnyOrder; public class TestDeobfed { - private static ParsedJar jar; + private static Enigma enigma; + private static ClassCache classCache; private static JarIndex index; @BeforeClass - public static void beforeClass() - throws Exception { - jar = new ParsedJar(new JarFile("build/test-deobf/translation.jar")); - index = JarIndex.empty(); - index.indexJar(jar, s -> {}); + public static void beforeClass() throws Exception { + enigma = Enigma.create(); + + classCache = ClassCache.of(Paths.get("build/test-deobf/translation.jar")); + index = classCache.index(ProgressListener.none()); } @Test @@ -67,8 +68,9 @@ public class TestDeobfed { @Test public void decompile() throws Exception { - Deobfuscator deobfuscator = new Deobfuscator(jar); - SourceProvider sourceProvider = deobfuscator.getObfSourceProvider(); + EnigmaProject project = new EnigmaProject(enigma, classCache, index); + + SourceProvider sourceProvider = project.getObfSourceProvider(); sourceProvider.getSources("a"); sourceProvider.getSources("b"); sourceProvider.getSources("c"); diff --git a/src/test/java/cuchaz/enigma/TestDeobfuscator.java b/src/test/java/cuchaz/enigma/TestDeobfuscator.java index e070b66f..5b9611cc 100644 --- a/src/test/java/cuchaz/enigma/TestDeobfuscator.java +++ b/src/test/java/cuchaz/enigma/TestDeobfuscator.java @@ -23,9 +23,9 @@ import static org.junit.Assert.assertEquals; public class TestDeobfuscator { - private Deobfuscator getDeobfuscator() + private Enigma getDeobfuscator() throws IOException { - return new Deobfuscator(new JarFile("build/test-obf/loneClass.jar")); + return new Enigma(new JarFile("build/test-obf/loneClass.jar")); } @Test @@ -37,10 +37,10 @@ public class TestDeobfuscator { @Test public void getClasses() throws Exception { - Deobfuscator deobfuscator = getDeobfuscator(); + Enigma enigma = getDeobfuscator(); List obfClasses = Lists.newArrayList(); List deobfClasses = Lists.newArrayList(); - deobfuscator.getSeparatedClasses(obfClasses, deobfClasses); + enigma.getSeparatedClasses(obfClasses, deobfClasses); assertEquals(1, obfClasses.size()); assertEquals("a", obfClasses.get(0).getName()); assertEquals(1, deobfClasses.size()); @@ -50,8 +50,8 @@ public class TestDeobfuscator { @Test public void decompileClass() throws Exception { - Deobfuscator deobfuscator = getDeobfuscator(); - SourceProvider sourceProvider = deobfuscator.getObfSourceProvider(); + Enigma enigma = getDeobfuscator(); + SourceProvider sourceProvider = enigma.getObfSourceProvider(); sourceProvider.writeSourceToString(sourceProvider.getSources("a")); } } diff --git a/src/test/java/cuchaz/enigma/TestInnerClasses.java b/src/test/java/cuchaz/enigma/TestInnerClasses.java index 8738fd79..b6e4e2d4 100644 --- a/src/test/java/cuchaz/enigma/TestInnerClasses.java +++ b/src/test/java/cuchaz/enigma/TestInnerClasses.java @@ -11,11 +11,12 @@ package cuchaz.enigma; -import cuchaz.enigma.analysis.ParsedJar; +import cuchaz.enigma.analysis.ClassCache; import cuchaz.enigma.analysis.index.JarIndex; import cuchaz.enigma.translation.representation.entry.ClassEntry; import org.junit.Test; +import java.nio.file.Paths; import java.util.jar.JarFile; import static cuchaz.enigma.TestEntryFactory.newClass; @@ -33,14 +34,14 @@ public class TestInnerClasses { private static final ClassEntry ClassTreeLevel2 = newClass("f$a$a"); private static final ClassEntry ClassTreeLevel3 = newClass("f$a$a$a"); private JarIndex index; - private Deobfuscator deobfuscator; + private Enigma enigma; public TestInnerClasses() throws Exception { - index = JarIndex.empty(); - ParsedJar jar = new ParsedJar(new JarFile("build/test-obf/innerClasses.jar")); - index.indexJar(jar, s -> {}); - deobfuscator = new Deobfuscator(jar); + ClassCache classCache = ClassCache.of(Paths.get("build/test-obf/innerClasses.jar")); + index = classCache.index(ProgressListener.none()); + + enigma = new Enigma(jar); } @Test @@ -79,6 +80,6 @@ public class TestInnerClasses { } private void decompile(ClassEntry classEntry) { - deobfuscator.getObfSourceProvider().getSources(classEntry.getName()); + enigma.getObfSourceProvider().getSources(classEntry.getName()); } } diff --git a/src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java b/src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java index c3f3b669..0712ccf5 100644 --- a/src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java +++ b/src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java @@ -12,7 +12,6 @@ package cuchaz.enigma; import cuchaz.enigma.analysis.EntryReference; -import cuchaz.enigma.analysis.ParsedJar; import cuchaz.enigma.analysis.index.JarIndex; import cuchaz.enigma.translation.representation.entry.ClassEntry; import cuchaz.enigma.translation.representation.entry.MethodDefEntry; diff --git a/src/test/java/cuchaz/enigma/TestJarIndexInheritanceTree.java b/src/test/java/cuchaz/enigma/TestJarIndexInheritanceTree.java index 36595a3b..76e379c3 100644 --- a/src/test/java/cuchaz/enigma/TestJarIndexInheritanceTree.java +++ b/src/test/java/cuchaz/enigma/TestJarIndexInheritanceTree.java @@ -11,8 +11,8 @@ package cuchaz.enigma; +import cuchaz.enigma.analysis.ClassCache; import cuchaz.enigma.analysis.EntryReference; -import cuchaz.enigma.analysis.ParsedJar; import cuchaz.enigma.analysis.index.EntryIndex; import cuchaz.enigma.analysis.index.InheritanceIndex; import cuchaz.enigma.analysis.index.JarIndex; @@ -26,8 +26,8 @@ import cuchaz.enigma.translation.representation.entry.MethodEntry; import org.junit.Test; import org.objectweb.asm.Opcodes; +import java.nio.file.Paths; import java.util.Collection; -import java.util.jar.JarFile; import static cuchaz.enigma.TestEntryFactory.*; import static org.hamcrest.MatcherAssert.assertThat; @@ -46,8 +46,8 @@ public class TestJarIndexInheritanceTree { public TestJarIndexInheritanceTree() throws Exception { - index = JarIndex.empty(); - index.indexJar(new ParsedJar(new JarFile("build/test-obf/inheritanceTree.jar")), s -> {}); + ClassCache classCache = ClassCache.of(Paths.get("build/test-obf/inheritanceTree.jar")); + index = classCache.index(ProgressListener.none()); } @Test diff --git a/src/test/java/cuchaz/enigma/TestSourceIndex.java b/src/test/java/cuchaz/enigma/TestSourceIndex.java index ce5d6316..8a604f80 100644 --- a/src/test/java/cuchaz/enigma/TestSourceIndex.java +++ b/src/test/java/cuchaz/enigma/TestSourceIndex.java @@ -41,17 +41,17 @@ public class TestSourceIndex { mcJar = new File(mcDir, "versions/1.8.3/1.8.3.jar"); } - Deobfuscator deobfuscator = new Deobfuscator(new JarFile(mcJar)); + Enigma enigma = new Enigma(new JarFile(mcJar)); // get all classes that aren't inner classes Set classEntries = Sets.newHashSet(); - for (ClassEntry obfClassEntry : deobfuscator.getJarIndex().getEntryIndex().getClasses()) { + for (ClassEntry obfClassEntry : enigma.getJarIndex().getEntryIndex().getClasses()) { if (!obfClassEntry.isInnerClass()) { classEntries.add(obfClassEntry); } } - SourceProvider sourceProvider = deobfuscator.getObfSourceProvider(); + SourceProvider sourceProvider = enigma.getObfSourceProvider(); for (ClassEntry obfClassEntry : classEntries) { try { CompilationUnit tree = sourceProvider.getSources(obfClassEntry.getName()); diff --git a/src/test/java/cuchaz/enigma/TestTranslator.java b/src/test/java/cuchaz/enigma/TestTranslator.java index b9781297..a420afe1 100644 --- a/src/test/java/cuchaz/enigma/TestTranslator.java +++ b/src/test/java/cuchaz/enigma/TestTranslator.java @@ -23,7 +23,7 @@ public class TestTranslator { public static void beforeClass() throws Exception { //TODO FIx - //deobfuscator = new Deobfuscator(new JarFile("build/test-obf/translation.jar")); + //deobfuscator = new Enigma(new JarFile("build/test-obf/translation.jar")); //try (InputStream in = TestTranslator.class.getResourceAsStream("/cuchaz/enigma/resources/translation.mappings")) { // mappings = new MappingsJsonReader().read(new InputStreamReader(in)); // deobfuscator.setMappings(mappings); diff --git a/src/test/java/cuchaz/enigma/TokenChecker.java b/src/test/java/cuchaz/enigma/TokenChecker.java index c4670a20..9e0c696c 100644 --- a/src/test/java/cuchaz/enigma/TokenChecker.java +++ b/src/test/java/cuchaz/enigma/TokenChecker.java @@ -25,16 +25,16 @@ import java.util.jar.JarFile; public class TokenChecker { - private Deobfuscator deobfuscator; + private Enigma enigma; protected TokenChecker(JarFile jarFile) throws IOException { - deobfuscator = new Deobfuscator(jarFile); + enigma = new Enigma(jarFile); } protected String getDeclarationToken(Entry entry) { // decompile the class - SourceProvider sourceProvider = deobfuscator.getObfSourceProvider(); + SourceProvider sourceProvider = enigma.getObfSourceProvider(); CompilationUnit tree = sourceProvider.getSources(entry.getContainingClass().getFullName()); // DEBUG // tree.acceptVisitor( new TreeDumpVisitor( new File( "tree." + entry.getClassName().replace( '/', '.' ) + ".txt" ) ), null ); @@ -52,7 +52,7 @@ public class TokenChecker { @SuppressWarnings("unchecked") protected Collection getReferenceTokens(EntryReference, ? extends Entry> reference) { // decompile the class - SourceProvider sourceProvider = deobfuscator.getObfSourceProvider(); + SourceProvider sourceProvider = enigma.getObfSourceProvider(); CompilationUnit tree = sourceProvider.getSources(reference.context.getContainingClass().getFullName()); String source = sourceProvider.writeSourceToString(tree); SourceIndex index = SourceIndex.buildIndex(source, tree, true); -- cgit v1.2.3