summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/bytecode
diff options
context:
space:
mode:
authorGravatar jeff2015-01-18 22:57:15 -0500
committerGravatar jeff2015-01-18 22:57:15 -0500
commit5f88fcdc4fa9e8147ad7072da09c2bb49e007946 (patch)
tree30486f6ca0b0918d0022fac4f88af6e2e1e57631 /src/cuchaz/enigma/bytecode
parentadd the system classpath to the javassist class pool (diff)
downloadenigma-fork-5f88fcdc4fa9e8147ad7072da09c2bb49e007946.tar.gz
enigma-fork-5f88fcdc4fa9e8147ad7072da09c2bb49e007946.tar.xz
enigma-fork-5f88fcdc4fa9e8147ad7072da09c2bb49e007946.zip
added inverse operation for moving classes out of the default package
Diffstat (limited to 'src/cuchaz/enigma/bytecode')
-rw-r--r--src/cuchaz/enigma/bytecode/ClassRenamer.java34
1 files changed, 7 insertions, 27 deletions
diff --git a/src/cuchaz/enigma/bytecode/ClassRenamer.java b/src/cuchaz/enigma/bytecode/ClassRenamer.java
index f8e63d1..a5fea92 100644
--- a/src/cuchaz/enigma/bytecode/ClassRenamer.java
+++ b/src/cuchaz/enigma/bytecode/ClassRenamer.java
@@ -14,7 +14,6 @@ import java.util.Map;
14import java.util.Set; 14import java.util.Set;
15 15
16import javassist.ClassMap; 16import javassist.ClassMap;
17import javassist.CtBehavior;
18import javassist.CtClass; 17import javassist.CtClass;
19import javassist.bytecode.ConstPool; 18import javassist.bytecode.ConstPool;
20import javassist.bytecode.Descriptor; 19import javassist.bytecode.Descriptor;
@@ -24,8 +23,6 @@ import com.google.common.collect.Maps;
24import com.google.common.collect.Sets; 23import com.google.common.collect.Sets;
25 24
26import cuchaz.enigma.mapping.ClassEntry; 25import cuchaz.enigma.mapping.ClassEntry;
27import cuchaz.enigma.mapping.SignatureUpdater;
28import cuchaz.enigma.mapping.SignatureUpdater.ClassNameUpdater;
29 26
30public class ClassRenamer { 27public class ClassRenamer {
31 28
@@ -92,8 +89,6 @@ public class ClassRenamer {
92 } 89 }
93 90
94 public static void moveAllClassesOutOfDefaultPackage(CtClass c, String newPackageName) { 91 public static void moveAllClassesOutOfDefaultPackage(CtClass c, String newPackageName) {
95
96 // rename all classes
97 Map<ClassEntry,ClassEntry> map = Maps.newHashMap(); 92 Map<ClassEntry,ClassEntry> map = Maps.newHashMap();
98 for (ClassEntry classEntry : ClassRenamer.getAllClassEntries(c)) { 93 for (ClassEntry classEntry : ClassRenamer.getAllClassEntries(c)) {
99 if (classEntry.isInDefaultPackage()) { 94 if (classEntry.isInDefaultPackage()) {
@@ -101,30 +96,15 @@ public class ClassRenamer {
101 } 96 }
102 } 97 }
103 ClassRenamer.renameClasses(c, map); 98 ClassRenamer.renameClasses(c, map);
104 99 }
105 // TEMP 100
101 public static void moveAllClassesIntoDefaultPackage(CtClass c, String oldPackageName) {
102 Map<ClassEntry,ClassEntry> map = Maps.newHashMap();
106 for (ClassEntry classEntry : ClassRenamer.getAllClassEntries(c)) { 103 for (ClassEntry classEntry : ClassRenamer.getAllClassEntries(c)) {
107 if (classEntry.isInDefaultPackage()) { 104 if (classEntry.getPackageName().equals(oldPackageName)) {
108 throw new Error("!!! " + classEntry); 105 map.put(classEntry, new ClassEntry(classEntry.getSimpleName()));
109 } 106 }
110 } 107 }
111 108 ClassRenamer.renameClasses(c, map);
112 // TEMP
113 for (CtBehavior behavior : c.getDeclaredBehaviors()) {
114 if (behavior.getSignature() == null) {
115 continue;
116 }
117
118 SignatureUpdater.update(behavior.getSignature(), new ClassNameUpdater() {
119 @Override
120 public String update(String className) {
121 ClassEntry classEntry = new ClassEntry(className);
122 if (classEntry.isInDefaultPackage()) {
123 throw new Error("!!! " + className);
124 }
125 return className;
126 }
127 });
128 }
129 } 109 }
130} 110}