summaryrefslogtreecommitdiff
path: root/enigma/src/main/java
diff options
context:
space:
mode:
authorGravatar 2xsaiko2020-07-06 18:48:36 +0200
committerGravatar GitHub2020-07-06 12:48:36 -0400
commit57af19a99b2c7358d78f102b91482b2073126881 (patch)
treec61f16b670a4ee9eed736b38cb7351900587a166 /enigma/src/main/java
parentFix crash on remapping [T (#261) (diff)
downloadenigma-fork-57af19a99b2c7358d78f102b91482b2073126881.tar.gz
enigma-fork-57af19a99b2c7358d78f102b91482b2073126881.tar.xz
enigma-fork-57af19a99b2c7358d78f102b91482b2073126881.zip
Add menu entry to reload jar & mappings from disk (#263)
* Add button to reload jar & mappings from disk * Disable menu entry when currently loading * Add menu entry that reloads mappings only * Remove duplicate user query code
Diffstat (limited to 'enigma/src/main/java')
-rw-r--r--enigma/src/main/java/cuchaz/enigma/Enigma.java17
-rw-r--r--enigma/src/main/java/cuchaz/enigma/EnigmaProject.java45
2 files changed, 35 insertions, 27 deletions
diff --git a/enigma/src/main/java/cuchaz/enigma/Enigma.java b/enigma/src/main/java/cuchaz/enigma/Enigma.java
index 2e9be34..d100a75 100644
--- a/enigma/src/main/java/cuchaz/enigma/Enigma.java
+++ b/enigma/src/main/java/cuchaz/enigma/Enigma.java
@@ -11,8 +11,16 @@
11 11
12package cuchaz.enigma; 12package cuchaz.enigma;
13 13
14import java.io.IOException;
15import java.nio.file.Path;
16import java.util.List;
17import java.util.ServiceLoader;
18import java.util.Set;
19
14import com.google.common.base.Preconditions; 20import com.google.common.base.Preconditions;
15import com.google.common.collect.ImmutableListMultimap; 21import com.google.common.collect.ImmutableListMultimap;
22import org.objectweb.asm.Opcodes;
23
16import cuchaz.enigma.analysis.index.JarIndex; 24import cuchaz.enigma.analysis.index.JarIndex;
17import cuchaz.enigma.api.EnigmaPlugin; 25import cuchaz.enigma.api.EnigmaPlugin;
18import cuchaz.enigma.api.EnigmaPluginContext; 26import cuchaz.enigma.api.EnigmaPluginContext;
@@ -25,13 +33,6 @@ import cuchaz.enigma.classprovider.ClassProvider;
25import cuchaz.enigma.classprovider.CombiningClassProvider; 33import cuchaz.enigma.classprovider.CombiningClassProvider;
26import cuchaz.enigma.classprovider.JarClassProvider; 34import cuchaz.enigma.classprovider.JarClassProvider;
27import cuchaz.enigma.utils.Utils; 35import cuchaz.enigma.utils.Utils;
28import org.objectweb.asm.Opcodes;
29
30import java.io.IOException;
31import java.nio.file.Path;
32import java.util.List;
33import java.util.ServiceLoader;
34import java.util.Set;
35 36
36public class Enigma { 37public class Enigma {
37 public static final String NAME = "Enigma"; 38 public static final String NAME = "Enigma";
@@ -64,7 +65,7 @@ public class Enigma {
64 index.indexJar(scope, classProvider, progress); 65 index.indexJar(scope, classProvider, progress);
65 services.get(JarIndexerService.TYPE).forEach(indexer -> indexer.acceptJar(scope, classProvider, index)); 66 services.get(JarIndexerService.TYPE).forEach(indexer -> indexer.acceptJar(scope, classProvider, index));
66 67
67 return new EnigmaProject(this, classProvider, index, Utils.zipSha1(path)); 68 return new EnigmaProject(this, path, classProvider, index, Utils.zipSha1(path));
68 } 69 }
69 70
70 public EnigmaProfile getProfile() { 71 public EnigmaProfile getProfile() {
diff --git a/enigma/src/main/java/cuchaz/enigma/EnigmaProject.java b/enigma/src/main/java/cuchaz/enigma/EnigmaProject.java
index 76413ab..2abd39c 100644
--- a/enigma/src/main/java/cuchaz/enigma/EnigmaProject.java
+++ b/enigma/src/main/java/cuchaz/enigma/EnigmaProject.java
@@ -1,7 +1,26 @@
1package cuchaz.enigma; 1package cuchaz.enigma;
2 2
3import java.io.BufferedWriter;
4import java.io.IOException;
5import java.io.PrintWriter;
6import java.io.StringWriter;
7import java.nio.file.Files;
8import java.nio.file.Path;
9import java.util.Collection;
10import java.util.List;
11import java.util.Map;
12import java.util.Objects;
13import java.util.concurrent.atomic.AtomicInteger;
14import java.util.jar.JarEntry;
15import java.util.jar.JarOutputStream;
16import java.util.stream.Collectors;
17import java.util.stream.Stream;
18
3import com.google.common.base.Functions; 19import com.google.common.base.Functions;
4import com.google.common.base.Preconditions; 20import com.google.common.base.Preconditions;
21import org.objectweb.asm.ClassWriter;
22import org.objectweb.asm.tree.ClassNode;
23
5import cuchaz.enigma.analysis.EntryReference; 24import cuchaz.enigma.analysis.EntryReference;
6import cuchaz.enigma.analysis.index.JarIndex; 25import cuchaz.enigma.analysis.index.JarIndex;
7import cuchaz.enigma.api.service.NameProposalService; 26import cuchaz.enigma.api.service.NameProposalService;
@@ -23,37 +42,21 @@ import cuchaz.enigma.translation.representation.entry.Entry;
23import cuchaz.enigma.translation.representation.entry.LocalVariableEntry; 42import cuchaz.enigma.translation.representation.entry.LocalVariableEntry;
24import cuchaz.enigma.translation.representation.entry.MethodEntry; 43import cuchaz.enigma.translation.representation.entry.MethodEntry;
25import cuchaz.enigma.utils.I18n; 44import cuchaz.enigma.utils.I18n;
26import org.objectweb.asm.ClassWriter;
27import org.objectweb.asm.tree.ClassNode;
28
29import java.io.BufferedWriter;
30import java.io.IOException;
31import java.io.PrintWriter;
32import java.io.StringWriter;
33import java.nio.file.Files;
34import java.nio.file.Path;
35import java.util.Collection;
36import java.util.List;
37import java.util.Map;
38import java.util.Objects;
39import java.util.concurrent.atomic.AtomicInteger;
40import java.util.jar.JarEntry;
41import java.util.jar.JarOutputStream;
42import java.util.stream.Collectors;
43import java.util.stream.Stream;
44 45
45public class EnigmaProject { 46public class EnigmaProject {
46 private final Enigma enigma; 47 private final Enigma enigma;
47 48
49 private final Path jarPath;
48 private final ClassProvider classProvider; 50 private final ClassProvider classProvider;
49 private final JarIndex jarIndex; 51 private final JarIndex jarIndex;
50 private final byte[] jarChecksum; 52 private final byte[] jarChecksum;
51 53
52 private EntryRemapper mapper; 54 private EntryRemapper mapper;
53 55
54 public EnigmaProject(Enigma enigma, ClassProvider classProvider, JarIndex jarIndex, byte[] jarChecksum) { 56 public EnigmaProject(Enigma enigma, Path jarPath, ClassProvider classProvider, JarIndex jarIndex, byte[] jarChecksum) {
55 Preconditions.checkArgument(jarChecksum.length == 20); 57 Preconditions.checkArgument(jarChecksum.length == 20);
56 this.enigma = enigma; 58 this.enigma = enigma;
59 this.jarPath = jarPath;
57 this.classProvider = classProvider; 60 this.classProvider = classProvider;
58 this.jarIndex = jarIndex; 61 this.jarIndex = jarIndex;
59 this.jarChecksum = jarChecksum; 62 this.jarChecksum = jarChecksum;
@@ -73,6 +76,10 @@ public class EnigmaProject {
73 return enigma; 76 return enigma;
74 } 77 }
75 78
79 public Path getJarPath() {
80 return jarPath;
81 }
82
76 public ClassProvider getClassProvider() { 83 public ClassProvider getClassProvider() {
77 return classProvider; 84 return classProvider;
78 } 85 }