summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/mapping/Mappings.java
diff options
context:
space:
mode:
authorGravatar asiekierka2016-08-17 18:35:12 +0200
committerGravatar asiekierka2016-08-17 18:35:12 +0200
commit5540c815de36e316d0749ce2163f12c61895b327 (patch)
tree2b30d5ae98735ee7cba7d1c0087c51d68ed3ebf9 /src/main/java/cuchaz/enigma/mapping/Mappings.java
parentRevert "Removed util" (diff)
downloadenigma-fork-5540c815de36e316d0749ce2163f12c61895b327.tar.gz
enigma-fork-5540c815de36e316d0749ce2163f12c61895b327.tar.xz
enigma-fork-5540c815de36e316d0749ce2163f12c61895b327.zip
Revert "Removed unused methods"
This reverts commit 1742190f784d0d62e7cc869eebafdfe1927e448f.
Diffstat (limited to 'src/main/java/cuchaz/enigma/mapping/Mappings.java')
-rw-r--r--src/main/java/cuchaz/enigma/mapping/Mappings.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/Mappings.java b/src/main/java/cuchaz/enigma/mapping/Mappings.java
index 538c67e..171ddf1 100644
--- a/src/main/java/cuchaz/enigma/mapping/Mappings.java
+++ b/src/main/java/cuchaz/enigma/mapping/Mappings.java
@@ -13,10 +13,13 @@ package cuchaz.enigma.mapping;
13import com.google.common.collect.Lists; 13import com.google.common.collect.Lists;
14import com.google.common.collect.Maps; 14import com.google.common.collect.Maps;
15 15
16import java.util.ArrayList;
16import java.util.Collection; 17import java.util.Collection;
17import java.util.List; 18import java.util.List;
18import java.util.Map; 19import java.util.Map;
20import java.util.Set;
19 21
22import com.google.common.collect.Sets;
20import cuchaz.enigma.analysis.TranslationIndex; 23import cuchaz.enigma.analysis.TranslationIndex;
21import cuchaz.enigma.throwables.MappingConflict; 24import cuchaz.enigma.throwables.MappingConflict;
22 25
@@ -65,10 +68,23 @@ public class Mappings {
65 } 68 }
66 } 69 }
67 70
71
72 public ClassMapping getClassByObf(ClassEntry entry) {
73 return getClassByObf(entry.getName());
74 }
75
68 public ClassMapping getClassByObf(String obfName) { 76 public ClassMapping getClassByObf(String obfName) {
69 return this.classesByObf.get(obfName); 77 return this.classesByObf.get(obfName);
70 } 78 }
71 79
80 public ClassMapping getClassByDeobf(ClassEntry entry) {
81 return getClassByDeobf(entry.getName());
82 }
83
84 public ClassMapping getClassByDeobf(String deobfName) {
85 return this.classesByDeobf.get(deobfName);
86 }
87
72 public void setClassDeobfName(ClassMapping classMapping, String deobfName) { 88 public void setClassDeobfName(ClassMapping classMapping, String deobfName) {
73 if (classMapping.getDeobfName() != null) { 89 if (classMapping.getDeobfName() != null) {
74 boolean wasRemoved = this.classesByDeobf.remove(classMapping.getDeobfName()) != null; 90 boolean wasRemoved = this.classesByDeobf.remove(classMapping.getDeobfName()) != null;
@@ -120,6 +136,34 @@ public class Mappings {
120 return buf.toString(); 136 return buf.toString();
121 } 137 }
122 138
139 public void renameObfClass(String oldObfName, String newObfName) {
140 new ArrayList<>(classes()).stream().filter(classMapping -> classMapping.renameObfClass(oldObfName, newObfName)).forEach(classMapping -> {
141 boolean wasRemoved = this.classesByObf.remove(oldObfName) != null;
142 assert (wasRemoved);
143 boolean wasAdded = this.classesByObf.put(newObfName, classMapping) == null;
144 assert (wasAdded);
145 });
146 }
147
148 public Set<String> getAllObfClassNames() {
149 final Set<String> classNames = Sets.newHashSet();
150 for (ClassMapping classMapping : classes()) {
151
152 // add the class name
153 classNames.add(classMapping.getObfFullName());
154
155 // add classes from method signatures
156 for (MethodMapping methodMapping : classMapping.methods()) {
157 for (Type type : methodMapping.getObfSignature().types()) {
158 if (type.hasClass()) {
159 classNames.add(type.getClassEntry().getClassName());
160 }
161 }
162 }
163 }
164 return classNames;
165 }
166
123 public boolean containsDeobfClass(String deobfName) { 167 public boolean containsDeobfClass(String deobfName) {
124 return this.classesByDeobf.containsKey(deobfName); 168 return this.classesByDeobf.containsKey(deobfName);
125 } 169 }