summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/mapping
diff options
context:
space:
mode:
authorGravatar lclc982016-07-02 21:57:31 +1000
committerGravatar lclc982016-07-02 21:57:31 +1000
commit1742190f784d0d62e7cc869eebafdfe1927e448f (patch)
treee5855ecfc0e3129ef34f6f5ee56a937c35700ef9 /src/main/java/cuchaz/enigma/mapping
parentReformatting code (diff)
downloadenigma-fork-1742190f784d0d62e7cc869eebafdfe1927e448f.tar.gz
enigma-fork-1742190f784d0d62e7cc869eebafdfe1927e448f.tar.xz
enigma-fork-1742190f784d0d62e7cc869eebafdfe1927e448f.zip
Removed unused methods
Diffstat (limited to 'src/main/java/cuchaz/enigma/mapping')
-rw-r--r--src/main/java/cuchaz/enigma/mapping/ArgumentEntry.java6
-rw-r--r--src/main/java/cuchaz/enigma/mapping/ClassMapping.java63
-rw-r--r--src/main/java/cuchaz/enigma/mapping/EntryFactory.java8
-rw-r--r--src/main/java/cuchaz/enigma/mapping/EntryPair.java22
-rw-r--r--src/main/java/cuchaz/enigma/mapping/Mappings.java32
-rw-r--r--src/main/java/cuchaz/enigma/mapping/MappingsReaderOld.java6
-rw-r--r--src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java28
-rw-r--r--src/main/java/cuchaz/enigma/mapping/MethodEntry.java4
-rw-r--r--src/main/java/cuchaz/enigma/mapping/NameValidator.java11
-rw-r--r--src/main/java/cuchaz/enigma/mapping/SignatureUpdater.java9
-rw-r--r--src/main/java/cuchaz/enigma/mapping/Translator.java8
-rw-r--r--src/main/java/cuchaz/enigma/mapping/Type.java3
12 files changed, 7 insertions, 193 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/ArgumentEntry.java b/src/main/java/cuchaz/enigma/mapping/ArgumentEntry.java
index c89f7e3..83033bc 100644
--- a/src/main/java/cuchaz/enigma/mapping/ArgumentEntry.java
+++ b/src/main/java/cuchaz/enigma/mapping/ArgumentEntry.java
@@ -33,7 +33,7 @@ public class ArgumentEntry implements Entry, Serializable {
33 throw new IllegalArgumentException("Argument name cannot be null!"); 33 throw new IllegalArgumentException("Argument name cannot be null!");
34 } 34 }
35 35
36 m_behaviorEntry = behaviorEntry; 36 m_behaviorEntry = behaviorEntry;
37 m_index = index; 37 m_index = index;
38 m_name = name; 38 m_name = name;
39 } 39 }
@@ -101,9 +101,7 @@ public class ArgumentEntry implements Entry, Serializable {
101 } 101 }
102 102
103 public boolean equals(ArgumentEntry other) { 103 public boolean equals(ArgumentEntry other) {
104 return m_behaviorEntry.equals(other.m_behaviorEntry) 104 return m_behaviorEntry.equals(other.m_behaviorEntry) && m_index == other.m_index && m_name.equals(other.m_name);
105 && m_index == other.m_index
106 && m_name.equals(other.m_name);
107 } 105 }
108 106
109 @Override 107 @Override
diff --git a/src/main/java/cuchaz/enigma/mapping/ClassMapping.java b/src/main/java/cuchaz/enigma/mapping/ClassMapping.java
index 99e463d..f831a3b 100644
--- a/src/main/java/cuchaz/enigma/mapping/ClassMapping.java
+++ b/src/main/java/cuchaz/enigma/mapping/ClassMapping.java
@@ -117,15 +117,6 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping> {
117 return classMapping; 117 return classMapping;
118 } 118 }
119 119
120 public String getDeobfInnerClassName(String obfSimpleName) {
121 assert (isSimpleClassName(obfSimpleName));
122 ClassMapping classMapping = m_innerClassesByObfSimple.get(obfSimpleName);
123 if (classMapping != null) {
124 return classMapping.getDeobfName();
125 }
126 return null;
127 }
128
129 public void setInnerClassName(ClassEntry obfInnerClass, String deobfName) { 120 public void setInnerClassName(ClassEntry obfInnerClass, String deobfName) {
130 ClassMapping classMapping = getOrCreateInnerClass(obfInnerClass); 121 ClassMapping classMapping = getOrCreateInnerClass(obfInnerClass);
131 if (classMapping.getDeobfName() != null) { 122 if (classMapping.getDeobfName() != null) {
@@ -156,10 +147,6 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping> {
156 return m_fieldsByObf.values(); 147 return m_fieldsByObf.values();
157 } 148 }
158 149
159 public boolean containsObfField(String obfName, Type obfType) {
160 return m_fieldsByObf.containsKey(getFieldKey(obfName, obfType));
161 }
162
163 public boolean containsDeobfField(String deobfName, Type deobfType) { 150 public boolean containsDeobfField(String deobfName, Type deobfType) {
164 return m_fieldsByDeobf.containsKey(getFieldKey(deobfName, deobfType)); 151 return m_fieldsByDeobf.containsKey(getFieldKey(deobfName, deobfType));
165 } 152 }
@@ -193,10 +180,6 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping> {
193 return m_fieldsByObf.get(getFieldKey(obfName, obfType)); 180 return m_fieldsByObf.get(getFieldKey(obfName, obfType));
194 } 181 }
195 182
196 public FieldMapping getFieldByDeobf(String deobfName, Type obfType) {
197 return m_fieldsByDeobf.get(getFieldKey(deobfName, obfType));
198 }
199
200 public String getObfFieldName(String deobfName, Type obfType) { 183 public String getObfFieldName(String deobfName, Type obfType) {
201 FieldMapping fieldMapping = m_fieldsByDeobf.get(getFieldKey(deobfName, obfType)); 184 FieldMapping fieldMapping = m_fieldsByDeobf.get(getFieldKey(deobfName, obfType));
202 if (fieldMapping != null) { 185 if (fieldMapping != null) {
@@ -260,10 +243,6 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping> {
260 return m_methodsByObf.values(); 243 return m_methodsByObf.values();
261 } 244 }
262 245
263 public boolean containsObfMethod(String obfName, Signature obfSignature) {
264 return m_methodsByObf.containsKey(getMethodKey(obfName, obfSignature));
265 }
266
267 public boolean containsDeobfMethod(String deobfName, Signature obfSignature) { 246 public boolean containsDeobfMethod(String deobfName, Signature obfSignature) {
268 return m_methodsByDeobf.containsKey(getMethodKey(deobfName, obfSignature)); 247 return m_methodsByDeobf.containsKey(getMethodKey(deobfName, obfSignature));
269 } 248 }
@@ -400,48 +379,6 @@ public class ClassMapping implements Serializable, Comparable<ClassMapping> {
400 return m_obfFullName.compareTo(other.m_obfFullName); 379 return m_obfFullName.compareTo(other.m_obfFullName);
401 } 380 }
402 381
403 public boolean renameObfClass(String oldObfClassName, String newObfClassName) {
404
405 // rename inner classes
406 for (ClassMapping innerClassMapping : new ArrayList<>(m_innerClassesByObfSimple.values())) {
407 if (innerClassMapping.renameObfClass(oldObfClassName, newObfClassName)) {
408 boolean wasRemoved = m_innerClassesByObfSimple.remove(oldObfClassName) != null;
409 assert (wasRemoved);
410 boolean wasAdded = m_innerClassesByObfSimple.put(newObfClassName, innerClassMapping) == null;
411 assert (wasAdded);
412 }
413 }
414
415 // rename field types
416 for (FieldMapping fieldMapping : new ArrayList<>(m_fieldsByObf.values())) {
417 String oldFieldKey = getFieldKey(fieldMapping.getObfName(), fieldMapping.getObfType());
418 if (fieldMapping.renameObfClass(oldObfClassName, newObfClassName)) {
419 boolean wasRemoved = m_fieldsByObf.remove(oldFieldKey) != null;
420 assert (wasRemoved);
421 boolean wasAdded = m_fieldsByObf.put(getFieldKey(fieldMapping.getObfName(), fieldMapping.getObfType()), fieldMapping) == null;
422 assert (wasAdded);
423 }
424 }
425
426 // rename method signatures
427 for (MethodMapping methodMapping : new ArrayList<>(m_methodsByObf.values())) {
428 String oldMethodKey = getMethodKey(methodMapping.getObfName(), methodMapping.getObfSignature());
429 if (methodMapping.renameObfClass(oldObfClassName, newObfClassName)) {
430 boolean wasRemoved = m_methodsByObf.remove(oldMethodKey) != null;
431 assert (wasRemoved);
432 boolean wasAdded = m_methodsByObf.put(getMethodKey(methodMapping.getObfName(), methodMapping.getObfSignature()), methodMapping) == null;
433 assert (wasAdded);
434 }
435 }
436
437 if (m_obfFullName.equals(oldObfClassName)) {
438 // rename this class
439 m_obfFullName = newObfClassName;
440 return true;
441 }
442 return false;
443 }
444
445 public boolean containsArgument(BehaviorEntry obfBehaviorEntry, String name) { 382 public boolean containsArgument(BehaviorEntry obfBehaviorEntry, String name) {
446 MethodMapping methodMapping = m_methodsByObf.get(getMethodKey(obfBehaviorEntry.getName(), obfBehaviorEntry.getSignature())); 383 MethodMapping methodMapping = m_methodsByObf.get(getMethodKey(obfBehaviorEntry.getName(), obfBehaviorEntry.getSignature()));
447 return methodMapping != null && methodMapping.containsArgument(name); 384 return methodMapping != null && methodMapping.containsArgument(name);
diff --git a/src/main/java/cuchaz/enigma/mapping/EntryFactory.java b/src/main/java/cuchaz/enigma/mapping/EntryFactory.java
index bd6ce4e..0ac739c 100644
--- a/src/main/java/cuchaz/enigma/mapping/EntryFactory.java
+++ b/src/main/java/cuchaz/enigma/mapping/EntryFactory.java
@@ -33,10 +33,6 @@ public class EntryFactory {
33 return new ClassEntry(classMapping.getObfFullName()); 33 return new ClassEntry(classMapping.getObfFullName());
34 } 34 }
35 35
36 public static ClassEntry getDeobfClassEntry(ClassMapping classMapping) {
37 return new ClassEntry(classMapping.getDeobfName());
38 }
39
40 public static ClassEntry getSuperclassEntry(CtClass c) { 36 public static ClassEntry getSuperclassEntry(CtClass c) {
41 return new ClassEntry(Descriptor.toJvmName(c.getClassFile().getSuperclass())); 37 return new ClassEntry(Descriptor.toJvmName(c.getClassFile().getSuperclass()));
42 } 38 }
@@ -155,8 +151,4 @@ public class EntryFactory {
155 public static BehaviorEntry getObfBehaviorEntry(ClassEntry classEntry, MethodMapping methodMapping) { 151 public static BehaviorEntry getObfBehaviorEntry(ClassEntry classEntry, MethodMapping methodMapping) {
156 return getBehaviorEntry(classEntry, methodMapping.getObfName(), methodMapping.getObfSignature()); 152 return getBehaviorEntry(classEntry, methodMapping.getObfName(), methodMapping.getObfSignature());
157 } 153 }
158
159 public static BehaviorEntry getObfBehaviorEntry(ClassMapping classMapping, MethodMapping methodMapping) {
160 return getObfBehaviorEntry(getObfClassEntry(classMapping), methodMapping);
161 }
162} 154}
diff --git a/src/main/java/cuchaz/enigma/mapping/EntryPair.java b/src/main/java/cuchaz/enigma/mapping/EntryPair.java
deleted file mode 100644
index 1c93d53..0000000
--- a/src/main/java/cuchaz/enigma/mapping/EntryPair.java
+++ /dev/null
@@ -1,22 +0,0 @@
1/*******************************************************************************
2 * Copyright (c) 2015 Jeff Martin.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the GNU Lesser General Public
5 * License v3.0 which accompanies this distribution, and is available at
6 * http://www.gnu.org/licenses/lgpl.html
7 * <p>
8 * Contributors:
9 * Jeff Martin - initial API and implementation
10 ******************************************************************************/
11package cuchaz.enigma.mapping;
12
13public class EntryPair<T extends Entry> {
14
15 public T obf;
16 public T deobf;
17
18 public EntryPair(T obf, T deobf) {
19 this.obf = obf;
20 this.deobf = deobf;
21 }
22}
diff --git a/src/main/java/cuchaz/enigma/mapping/Mappings.java b/src/main/java/cuchaz/enigma/mapping/Mappings.java
index a48ec3f..ee4c302 100644
--- a/src/main/java/cuchaz/enigma/mapping/Mappings.java
+++ b/src/main/java/cuchaz/enigma/mapping/Mappings.java
@@ -79,10 +79,6 @@ public class Mappings implements Serializable {
79 return m_classesByObf.get(obfName); 79 return m_classesByObf.get(obfName);
80 } 80 }
81 81
82 public ClassMapping getClassByDeobf(ClassEntry entry) {
83 return getClassByDeobf(entry.getName());
84 }
85
86 public ClassMapping getClassByDeobf(String deobfName) { 82 public ClassMapping getClassByDeobf(String deobfName) {
87 return m_classesByDeobf.get(deobfName); 83 return m_classesByDeobf.get(deobfName);
88 } 84 }
@@ -138,34 +134,6 @@ public class Mappings implements Serializable {
138 return buf.toString(); 134 return buf.toString();
139 } 135 }
140 136
141 public void renameObfClass(String oldObfName, String newObfName) {
142 new ArrayList<>(classes()).stream().filter(classMapping -> classMapping.renameObfClass(oldObfName, newObfName)).forEach(classMapping -> {
143 boolean wasRemoved = m_classesByObf.remove(oldObfName) != null;
144 assert (wasRemoved);
145 boolean wasAdded = m_classesByObf.put(newObfName, classMapping) == null;
146 assert (wasAdded);
147 });
148 }
149
150 public Set<String> getAllObfClassNames() {
151 final Set<String> classNames = Sets.newHashSet();
152 for (ClassMapping classMapping : classes()) {
153
154 // add the class name
155 classNames.add(classMapping.getObfFullName());
156
157 // add classes from method signatures
158 for (MethodMapping methodMapping : classMapping.methods()) {
159 for (Type type : methodMapping.getObfSignature().types()) {
160 if (type.hasClass()) {
161 classNames.add(type.getClassEntry().getClassName());
162 }
163 }
164 }
165 }
166 return classNames;
167 }
168
169 public boolean containsDeobfClass(String deobfName) { 137 public boolean containsDeobfClass(String deobfName) {
170 return m_classesByDeobf.containsKey(deobfName); 138 return m_classesByDeobf.containsKey(deobfName);
171 } 139 }
diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsReaderOld.java b/src/main/java/cuchaz/enigma/mapping/MappingsReaderOld.java
index a23a33f..ed36d42 100644
--- a/src/main/java/cuchaz/enigma/mapping/MappingsReaderOld.java
+++ b/src/main/java/cuchaz/enigma/mapping/MappingsReaderOld.java
@@ -56,7 +56,7 @@ public class MappingsReaderOld {
56 ClassMapping classMapping; 56 ClassMapping classMapping;
57 if (indent <= 0) { 57 if (indent <= 0) {
58 // outer class 58 // outer class
59 classMapping = readClass(parts, false); 59 classMapping = readClass(parts);
60 mappings.addClassMapping(classMapping); 60 mappings.addClassMapping(classMapping);
61 } else { 61 } else {
62 62
@@ -65,7 +65,7 @@ public class MappingsReaderOld {
65 throw new MappingParseException(lineNumber, "Unexpected CLASS entry here!"); 65 throw new MappingParseException(lineNumber, "Unexpected CLASS entry here!");
66 } 66 }
67 67
68 classMapping = readClass(parts, true); 68 classMapping = readClass(parts);
69 ((ClassMapping) mappingStack.peek()).addInnerClassMapping(classMapping); 69 ((ClassMapping) mappingStack.peek()).addInnerClassMapping(classMapping);
70 } 70 }
71 mappingStack.push(classMapping); 71 mappingStack.push(classMapping);
@@ -99,7 +99,7 @@ public class MappingsReaderOld {
99 return new ArgumentMapping(Integer.parseInt(parts[1]), parts[2]); 99 return new ArgumentMapping(Integer.parseInt(parts[1]), parts[2]);
100 } 100 }
101 101
102 private ClassMapping readClass(String[] parts, boolean makeSimple) { 102 private ClassMapping readClass(String[] parts) {
103 if (parts.length == 2) { 103 if (parts.length == 2) {
104 return new ClassMapping(parts[1]); 104 return new ClassMapping(parts[1]);
105 } else { 105 } else {
diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java b/src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java
index 2b112a2..3050da6 100644
--- a/src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java
+++ b/src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java
@@ -167,34 +167,6 @@ public class MappingsRenamer {
167 classMapping.setArgumentName(obf.getMethodName(), obf.getMethodSignature(), obf.getIndex(), obf.getName()); 167 classMapping.setArgumentName(obf.getMethodName(), obf.getMethodSignature(), obf.getIndex(), obf.getName());
168 } 168 }
169 169
170 public boolean moveFieldToObfClass(ClassMapping classMapping, FieldMapping fieldMapping, ClassEntry obfClass) {
171 classMapping.removeFieldMapping(fieldMapping);
172 ClassMapping targetClassMapping = getOrCreateClassMapping(obfClass);
173 if (!targetClassMapping.containsObfField(fieldMapping.getObfName(), fieldMapping.getObfType())) {
174 if (!targetClassMapping.containsDeobfField(fieldMapping.getDeobfName(), fieldMapping.getObfType())) {
175 targetClassMapping.addFieldMapping(fieldMapping);
176 return true;
177 } else {
178 System.err.println("WARNING: deobf field was already there: " + obfClass + "." + fieldMapping.getDeobfName());
179 }
180 }
181 return false;
182 }
183
184 public boolean moveMethodToObfClass(ClassMapping classMapping, MethodMapping methodMapping, ClassEntry obfClass) {
185 classMapping.removeMethodMapping(methodMapping);
186 ClassMapping targetClassMapping = getOrCreateClassMapping(obfClass);
187 if (!targetClassMapping.containsObfMethod(methodMapping.getObfName(), methodMapping.getObfSignature())) {
188 if (!targetClassMapping.containsDeobfMethod(methodMapping.getDeobfName(), methodMapping.getObfSignature())) {
189 targetClassMapping.addMethodMapping(methodMapping);
190 return true;
191 } else {
192 System.err.println("WARNING: deobf method was already there: " + obfClass + "." + methodMapping.getDeobfName() + methodMapping.getObfSignature());
193 }
194 }
195 return false;
196 }
197
198 public void write(OutputStream out) throws IOException { 170 public void write(OutputStream out) throws IOException {
199 // TEMP: just use the object output for now. We can find a more efficient storage format later 171 // TEMP: just use the object output for now. We can find a more efficient storage format later
200 GZIPOutputStream gzipout = new GZIPOutputStream(out); 172 GZIPOutputStream gzipout = new GZIPOutputStream(out);
diff --git a/src/main/java/cuchaz/enigma/mapping/MethodEntry.java b/src/main/java/cuchaz/enigma/mapping/MethodEntry.java
index 01a5c43..7df4dd8 100644
--- a/src/main/java/cuchaz/enigma/mapping/MethodEntry.java
+++ b/src/main/java/cuchaz/enigma/mapping/MethodEntry.java
@@ -89,9 +89,7 @@ public class MethodEntry implements BehaviorEntry, Serializable {
89 } 89 }
90 90
91 public boolean equals(MethodEntry other) { 91 public boolean equals(MethodEntry other) {
92 return m_classEntry.equals(other.m_classEntry) 92 return m_classEntry.equals(other.m_classEntry) && m_name.equals(other.m_name) && m_signature.equals(other.m_signature);
93 && m_name.equals(other.m_name)
94 && m_signature.equals(other.m_signature);
95 } 93 }
96 94
97 @Override 95 @Override
diff --git a/src/main/java/cuchaz/enigma/mapping/NameValidator.java b/src/main/java/cuchaz/enigma/mapping/NameValidator.java
index a3b9a78..f416322 100644
--- a/src/main/java/cuchaz/enigma/mapping/NameValidator.java
+++ b/src/main/java/cuchaz/enigma/mapping/NameValidator.java
@@ -31,17 +31,6 @@ public class NameValidator {
31 static { 31 static {
32 32
33 // java allows all kinds of weird characters... 33 // java allows all kinds of weird characters...
34 StringBuilder startChars = new StringBuilder();
35 StringBuilder partChars = new StringBuilder();
36 for (int i = Character.MIN_CODE_POINT; i <= Character.MAX_CODE_POINT; i++) {
37 if (Character.isJavaIdentifierStart(i)) {
38 startChars.appendCodePoint(i);
39 }
40 if (Character.isJavaIdentifierPart(i)) {
41 partChars.appendCodePoint(i);
42 }
43 }
44
45 String identifierRegex = "[A-Za-z_<][A-Za-z0-9_>]*"; 34 String identifierRegex = "[A-Za-z_<][A-Za-z0-9_>]*";
46 IdentifierPattern = Pattern.compile(identifierRegex); 35 IdentifierPattern = Pattern.compile(identifierRegex);
47 ClassPattern = Pattern.compile(String.format("^(%s(\\.|/))*(%s)$", identifierRegex, identifierRegex)); 36 ClassPattern = Pattern.compile(String.format("^(%s(\\.|/))*(%s)$", identifierRegex, identifierRegex));
diff --git a/src/main/java/cuchaz/enigma/mapping/SignatureUpdater.java b/src/main/java/cuchaz/enigma/mapping/SignatureUpdater.java
index 9864333..ec300fe 100644
--- a/src/main/java/cuchaz/enigma/mapping/SignatureUpdater.java
+++ b/src/main/java/cuchaz/enigma/mapping/SignatureUpdater.java
@@ -79,13 +79,4 @@ public class SignatureUpdater {
79 79
80 return null; 80 return null;
81 } 81 }
82
83 public static List<String> getClasses(String signature) {
84 final List<String> classNames = Lists.newArrayList();
85 update(signature, className -> {
86 classNames.add(className);
87 return className;
88 });
89 return classNames;
90 }
91} 82}
diff --git a/src/main/java/cuchaz/enigma/mapping/Translator.java b/src/main/java/cuchaz/enigma/mapping/Translator.java
index 1947d1c..b0107ce 100644
--- a/src/main/java/cuchaz/enigma/mapping/Translator.java
+++ b/src/main/java/cuchaz/enigma/mapping/Translator.java
@@ -38,14 +38,6 @@ public class Translator {
38 m_index = index; 38 m_index = index;
39 } 39 }
40 40
41 public TranslationDirection getDirection() {
42 return m_direction;
43 }
44
45 public TranslationIndex getTranslationIndex() {
46 return m_index;
47 }
48
49 @SuppressWarnings("unchecked") 41 @SuppressWarnings("unchecked")
50 public <T extends Entry> T translateEntry(T entry) { 42 public <T extends Entry> T translateEntry(T entry) {
51 if (entry instanceof ClassEntry) { 43 if (entry instanceof ClassEntry) {
diff --git a/src/main/java/cuchaz/enigma/mapping/Type.java b/src/main/java/cuchaz/enigma/mapping/Type.java
index f2fd34d..ec15941 100644
--- a/src/main/java/cuchaz/enigma/mapping/Type.java
+++ b/src/main/java/cuchaz/enigma/mapping/Type.java
@@ -218,8 +218,7 @@ public class Type implements Serializable {
218 218
219 private static int countArrayDimension(String in) { 219 private static int countArrayDimension(String in) {
220 int i = 0; 220 int i = 0;
221 for (; i < in.length() && in.charAt(i) == '['; i++) { 221 for (; i < in.length() && in.charAt(i) == '['; i++) {}
222 }
223 return i; 222 return i;
224 } 223 }
225 224