summaryrefslogtreecommitdiff
path: root/enigma-cli/src/main
diff options
context:
space:
mode:
authorGravatar Runemoro2020-07-06 06:34:10 -0400
committerGravatar GitHub2020-07-06 12:34:10 +0200
commitf0885819aeeb2edbfcfc0b23566cccb571166a02 (patch)
treed650aa68641fdfd9cc5f5ed0093229d1840506d8 /enigma-cli/src/main
parentFix "Mark as Deobfuscated" menu entry not working... this time without breaki... (diff)
downloadenigma-fork-f0885819aeeb2edbfcfc0b23566cccb571166a02.tar.gz
enigma-fork-f0885819aeeb2edbfcfc0b23566cccb571166a02.tar.xz
enigma-fork-f0885819aeeb2edbfcfc0b23566cccb571166a02.zip
Make class loading more flexible (#277)
Diffstat (limited to 'enigma-cli/src/main')
-rw-r--r--enigma-cli/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java3
-rw-r--r--enigma-cli/src/main/java/cuchaz/enigma/command/Command.java3
-rw-r--r--enigma-cli/src/main/java/cuchaz/enigma/command/MapSpecializedMethodsCommand.java16
3 files changed, 14 insertions, 8 deletions
diff --git a/enigma-cli/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java b/enigma-cli/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java
index e4deef8..75ef225 100644
--- a/enigma-cli/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java
+++ b/enigma-cli/src/main/java/cuchaz/enigma/command/CheckMappingsCommand.java
@@ -4,6 +4,7 @@ import cuchaz.enigma.Enigma;
4import cuchaz.enigma.EnigmaProject; 4import cuchaz.enigma.EnigmaProject;
5import cuchaz.enigma.ProgressListener; 5import cuchaz.enigma.ProgressListener;
6import cuchaz.enigma.analysis.index.JarIndex; 6import cuchaz.enigma.analysis.index.JarIndex;
7import cuchaz.enigma.classprovider.ClasspathClassProvider;
7import cuchaz.enigma.translation.mapping.EntryMapping; 8import cuchaz.enigma.translation.mapping.EntryMapping;
8import cuchaz.enigma.translation.mapping.serde.MappingSaveParameters; 9import cuchaz.enigma.translation.mapping.serde.MappingSaveParameters;
9import cuchaz.enigma.translation.mapping.serde.MappingFormat; 10import cuchaz.enigma.translation.mapping.serde.MappingFormat;
@@ -39,7 +40,7 @@ public class CheckMappingsCommand extends Command {
39 40
40 System.out.println("Reading JAR..."); 41 System.out.println("Reading JAR...");
41 42
42 EnigmaProject project = enigma.openJar(fileJarIn, ProgressListener.none()); 43 EnigmaProject project = enigma.openJar(fileJarIn, new ClasspathClassProvider(), ProgressListener.none());
43 44
44 System.out.println("Reading mappings..."); 45 System.out.println("Reading mappings...");
45 46
diff --git a/enigma-cli/src/main/java/cuchaz/enigma/command/Command.java b/enigma-cli/src/main/java/cuchaz/enigma/command/Command.java
index 0640e3e..0d71f02 100644
--- a/enigma-cli/src/main/java/cuchaz/enigma/command/Command.java
+++ b/enigma-cli/src/main/java/cuchaz/enigma/command/Command.java
@@ -3,6 +3,7 @@ package cuchaz.enigma.command;
3import cuchaz.enigma.Enigma; 3import cuchaz.enigma.Enigma;
4import cuchaz.enigma.EnigmaProject; 4import cuchaz.enigma.EnigmaProject;
5import cuchaz.enigma.ProgressListener; 5import cuchaz.enigma.ProgressListener;
6import cuchaz.enigma.classprovider.ClasspathClassProvider;
6import cuchaz.enigma.translation.mapping.EntryMapping; 7import cuchaz.enigma.translation.mapping.EntryMapping;
7import cuchaz.enigma.translation.mapping.serde.MappingSaveParameters; 8import cuchaz.enigma.translation.mapping.serde.MappingSaveParameters;
8import cuchaz.enigma.translation.mapping.serde.MappingFormat; 9import cuchaz.enigma.translation.mapping.serde.MappingFormat;
@@ -34,7 +35,7 @@ public abstract class Command {
34 Enigma enigma = Enigma.create(); 35 Enigma enigma = Enigma.create();
35 36
36 System.out.println("Reading jar..."); 37 System.out.println("Reading jar...");
37 EnigmaProject project = enigma.openJar(fileJarIn, progress); 38 EnigmaProject project = enigma.openJar(fileJarIn, new ClasspathClassProvider(), progress);
38 39
39 if (fileMappings != null) { 40 if (fileMappings != null) {
40 System.out.println("Reading mappings..."); 41 System.out.println("Reading mappings...");
diff --git a/enigma-cli/src/main/java/cuchaz/enigma/command/MapSpecializedMethodsCommand.java b/enigma-cli/src/main/java/cuchaz/enigma/command/MapSpecializedMethodsCommand.java
index 292de19..94f7010 100644
--- a/enigma-cli/src/main/java/cuchaz/enigma/command/MapSpecializedMethodsCommand.java
+++ b/enigma-cli/src/main/java/cuchaz/enigma/command/MapSpecializedMethodsCommand.java
@@ -1,14 +1,15 @@
1package cuchaz.enigma.command; 1package cuchaz.enigma.command;
2 2
3import cuchaz.enigma.ProgressListener; 3import cuchaz.enigma.ProgressListener;
4import cuchaz.enigma.analysis.ClassCache;
5import cuchaz.enigma.analysis.index.BridgeMethodIndex; 4import cuchaz.enigma.analysis.index.BridgeMethodIndex;
6import cuchaz.enigma.analysis.index.JarIndex; 5import cuchaz.enigma.analysis.index.JarIndex;
7import cuchaz.enigma.translation.mapping.serde.MappingFileNameFormat; 6import cuchaz.enigma.classprovider.CachingClassProvider;
8import cuchaz.enigma.translation.mapping.serde.MappingParseException; 7import cuchaz.enigma.classprovider.JarClassProvider;
9import cuchaz.enigma.translation.MappingTranslator; 8import cuchaz.enigma.translation.MappingTranslator;
10import cuchaz.enigma.translation.Translator; 9import cuchaz.enigma.translation.Translator;
11import cuchaz.enigma.translation.mapping.*; 10import cuchaz.enigma.translation.mapping.EntryMapping;
11import cuchaz.enigma.translation.mapping.serde.MappingFileNameFormat;
12import cuchaz.enigma.translation.mapping.serde.MappingParseException;
12import cuchaz.enigma.translation.mapping.serde.MappingSaveParameters; 13import cuchaz.enigma.translation.mapping.serde.MappingSaveParameters;
13import cuchaz.enigma.translation.mapping.tree.EntryTree; 14import cuchaz.enigma.translation.mapping.tree.EntryTree;
14import cuchaz.enigma.translation.mapping.tree.EntryTreeNode; 15import cuchaz.enigma.translation.mapping.tree.EntryTreeNode;
@@ -45,8 +46,11 @@ public class MapSpecializedMethodsCommand extends Command {
45 MappingSaveParameters saveParameters = new MappingSaveParameters(MappingFileNameFormat.BY_DEOBF); 46 MappingSaveParameters saveParameters = new MappingSaveParameters(MappingFileNameFormat.BY_DEOBF);
46 EntryTree<EntryMapping> source = MappingCommandsUtil.read(sourceFormat, sourcePath, saveParameters); 47 EntryTree<EntryMapping> source = MappingCommandsUtil.read(sourceFormat, sourcePath, saveParameters);
47 EntryTree<EntryMapping> result = new HashEntryTree<>(); 48 EntryTree<EntryMapping> result = new HashEntryTree<>();
48 ClassCache classCache = ClassCache.of(jar); 49
49 JarIndex jarIndex = classCache.index(ProgressListener.none()); 50 JarClassProvider jcp = new JarClassProvider(jar);
51 JarIndex jarIndex = JarIndex.empty();
52 jarIndex.indexJar(jcp.getClassNames(), new CachingClassProvider(jcp), ProgressListener.none());
53
50 BridgeMethodIndex bridgeMethodIndex = jarIndex.getBridgeMethodIndex(); 54 BridgeMethodIndex bridgeMethodIndex = jarIndex.getBridgeMethodIndex();
51 Translator translator = new MappingTranslator(source, jarIndex.getEntryResolver()); 55 Translator translator = new MappingTranslator(source, jarIndex.getEntryResolver());
52 56