diff options
| author | 2015-02-08 23:10:26 -0500 | |
|---|---|---|
| committer | 2015-02-08 23:10:26 -0500 | |
| commit | 31a1a418b04cd3e7b06cb50cb8674a2c25079f6c (patch) | |
| tree | 5914fd0c3557250dc61382a571ea3a3cdb9d941d /src/cuchaz/enigma/analysis/EntryRenamer.java | |
| parent | Merge with 09538fb039f2e4e5e240cfb331be512ae8740fda (diff) | |
| download | enigma-fork-31a1a418b04cd3e7b06cb50cb8674a2c25079f6c.tar.gz enigma-fork-31a1a418b04cd3e7b06cb50cb8674a2c25079f6c.tar.xz enigma-fork-31a1a418b04cd3e7b06cb50cb8674a2c25079f6c.zip | |
added types to fields
Diffstat (limited to 'src/cuchaz/enigma/analysis/EntryRenamer.java')
| -rw-r--r-- | src/cuchaz/enigma/analysis/EntryRenamer.java | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/src/cuchaz/enigma/analysis/EntryRenamer.java b/src/cuchaz/enigma/analysis/EntryRenamer.java index b54489c..2f27049 100644 --- a/src/cuchaz/enigma/analysis/EntryRenamer.java +++ b/src/cuchaz/enigma/analysis/EntryRenamer.java | |||
| @@ -21,10 +21,13 @@ import com.google.common.collect.Sets; | |||
| 21 | 21 | ||
| 22 | import cuchaz.enigma.mapping.ArgumentEntry; | 22 | import cuchaz.enigma.mapping.ArgumentEntry; |
| 23 | import cuchaz.enigma.mapping.ClassEntry; | 23 | import cuchaz.enigma.mapping.ClassEntry; |
| 24 | import cuchaz.enigma.mapping.ClassNameReplacer; | ||
| 24 | import cuchaz.enigma.mapping.ConstructorEntry; | 25 | import cuchaz.enigma.mapping.ConstructorEntry; |
| 25 | import cuchaz.enigma.mapping.Entry; | 26 | import cuchaz.enigma.mapping.Entry; |
| 26 | import cuchaz.enigma.mapping.FieldEntry; | 27 | import cuchaz.enigma.mapping.FieldEntry; |
| 27 | import cuchaz.enigma.mapping.MethodEntry; | 28 | import cuchaz.enigma.mapping.MethodEntry; |
| 29 | import cuchaz.enigma.mapping.Signature; | ||
| 30 | import cuchaz.enigma.mapping.Type; | ||
| 28 | 31 | ||
| 29 | public class EntryRenamer { | 32 | public class EntryRenamer { |
| 30 | 33 | ||
| @@ -127,7 +130,7 @@ public class EntryRenamer { | |||
| 127 | } | 130 | } |
| 128 | 131 | ||
| 129 | @SuppressWarnings("unchecked") | 132 | @SuppressWarnings("unchecked") |
| 130 | public static <T> T renameClassesInThing(Map<String,String> renames, T thing) { | 133 | public static <T> T renameClassesInThing(final Map<String,String> renames, T thing) { |
| 131 | if (thing instanceof String) { | 134 | if (thing instanceof String) { |
| 132 | String stringEntry = (String)thing; | 135 | String stringEntry = (String)thing; |
| 133 | if (renames.containsKey(stringEntry)) { | 136 | if (renames.containsKey(stringEntry)) { |
| @@ -138,19 +141,23 @@ public class EntryRenamer { | |||
| 138 | return (T)new ClassEntry(renameClassesInThing(renames, classEntry.getClassName())); | 141 | return (T)new ClassEntry(renameClassesInThing(renames, classEntry.getClassName())); |
| 139 | } else if (thing instanceof FieldEntry) { | 142 | } else if (thing instanceof FieldEntry) { |
| 140 | FieldEntry fieldEntry = (FieldEntry)thing; | 143 | FieldEntry fieldEntry = (FieldEntry)thing; |
| 141 | return (T)new FieldEntry(renameClassesInThing(renames, fieldEntry.getClassEntry()), fieldEntry.getName()); | 144 | return (T)new FieldEntry( |
| 145 | renameClassesInThing(renames, fieldEntry.getClassEntry()), | ||
| 146 | fieldEntry.getName(), | ||
| 147 | renameClassesInThing(renames, fieldEntry.getType()) | ||
| 148 | ); | ||
| 142 | } else if (thing instanceof ConstructorEntry) { | 149 | } else if (thing instanceof ConstructorEntry) { |
| 143 | ConstructorEntry constructorEntry = (ConstructorEntry)thing; | 150 | ConstructorEntry constructorEntry = (ConstructorEntry)thing; |
| 144 | return (T)new ConstructorEntry( | 151 | return (T)new ConstructorEntry( |
| 145 | renameClassesInThing(renames, constructorEntry.getClassEntry()), | 152 | renameClassesInThing(renames, constructorEntry.getClassEntry()), |
| 146 | constructorEntry.getSignature() | 153 | renameClassesInThing(renames, constructorEntry.getSignature()) |
| 147 | ); | 154 | ); |
| 148 | } else if (thing instanceof MethodEntry) { | 155 | } else if (thing instanceof MethodEntry) { |
| 149 | MethodEntry methodEntry = (MethodEntry)thing; | 156 | MethodEntry methodEntry = (MethodEntry)thing; |
| 150 | return (T)new MethodEntry( | 157 | return (T)new MethodEntry( |
| 151 | renameClassesInThing(renames, methodEntry.getClassEntry()), | 158 | renameClassesInThing(renames, methodEntry.getClassEntry()), |
| 152 | methodEntry.getName(), | 159 | methodEntry.getName(), |
| 153 | methodEntry.getSignature() | 160 | renameClassesInThing(renames, methodEntry.getSignature()) |
| 154 | ); | 161 | ); |
| 155 | } else if (thing instanceof ArgumentEntry) { | 162 | } else if (thing instanceof ArgumentEntry) { |
| 156 | ArgumentEntry argumentEntry = (ArgumentEntry)thing; | 163 | ArgumentEntry argumentEntry = (ArgumentEntry)thing; |
| @@ -164,6 +171,20 @@ public class EntryRenamer { | |||
| 164 | reference.entry = renameClassesInThing(renames, reference.entry); | 171 | reference.entry = renameClassesInThing(renames, reference.entry); |
| 165 | reference.context = renameClassesInThing(renames, reference.context); | 172 | reference.context = renameClassesInThing(renames, reference.context); |
| 166 | return thing; | 173 | return thing; |
| 174 | } else if (thing instanceof Signature) { | ||
| 175 | return (T)new Signature((Signature)thing, new ClassNameReplacer() { | ||
| 176 | @Override | ||
| 177 | public String replace(String className) { | ||
| 178 | return renameClassesInThing(renames, className); | ||
| 179 | } | ||
| 180 | }); | ||
| 181 | } else if (thing instanceof Type) { | ||
| 182 | return (T)new Type((Type)thing, new ClassNameReplacer() { | ||
| 183 | @Override | ||
| 184 | public String replace(String className) { | ||
| 185 | return renameClassesInThing(renames, className); | ||
| 186 | } | ||
| 187 | }); | ||
| 167 | } | 188 | } |
| 168 | 189 | ||
| 169 | return thing; | 190 | return thing; |