diff options
| author | 2018-05-19 17:02:46 +0200 | |
|---|---|---|
| committer | 2018-05-19 17:02:46 +0200 | |
| commit | 2b2249e873c4adfd2dd6e8f1f2489ccd9f6aa021 (patch) | |
| tree | 14c8b1e806449ace1641a1dbafae162855f79670 /src/main/java/cuchaz/enigma/analysis/EntryRenamer.java | |
| parent | Fix build (diff) | |
| download | enigma-fork-2b2249e873c4adfd2dd6e8f1f2489ccd9f6aa021.tar.gz enigma-fork-2b2249e873c4adfd2dd6e8f1f2489ccd9f6aa021.tar.xz enigma-fork-2b2249e873c4adfd2dd6e8f1f2489ccd9f6aa021.zip | |
Initial port to ASM
Diffstat (limited to 'src/main/java/cuchaz/enigma/analysis/EntryRenamer.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/analysis/EntryRenamer.java | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/src/main/java/cuchaz/enigma/analysis/EntryRenamer.java b/src/main/java/cuchaz/enigma/analysis/EntryRenamer.java index 75806c3..b0bcc91 100644 --- a/src/main/java/cuchaz/enigma/analysis/EntryRenamer.java +++ b/src/main/java/cuchaz/enigma/analysis/EntryRenamer.java | |||
| @@ -87,18 +87,18 @@ public class EntryRenamer { | |||
| 87 | MethodEntry newMethodEntry = renames.get(methodEntry); | 87 | MethodEntry newMethodEntry = renames.get(methodEntry); |
| 88 | if (newMethodEntry != null) { | 88 | if (newMethodEntry != null) { |
| 89 | return (T) new MethodEntry( | 89 | return (T) new MethodEntry( |
| 90 | methodEntry.getClassEntry(), | 90 | methodEntry.getOwnerClassEntry(), |
| 91 | newMethodEntry.getName(), | 91 | newMethodEntry.getName(), |
| 92 | methodEntry.getSignature() | 92 | methodEntry.getDesc() |
| 93 | ); | 93 | ); |
| 94 | } | 94 | } |
| 95 | return thing; | 95 | return thing; |
| 96 | } else if (thing instanceof ArgumentEntry) { | 96 | } else if (thing instanceof LocalVariableEntry) { |
| 97 | ArgumentEntry argumentEntry = (ArgumentEntry) thing; | 97 | LocalVariableEntry variableEntry = (LocalVariableEntry) thing; |
| 98 | return (T) new ArgumentEntry( | 98 | return (T) new LocalVariableEntry( |
| 99 | renameMethodsInThing(renames, argumentEntry.getBehaviorEntry()), | 99 | renameMethodsInThing(renames, variableEntry.getOwnerEntry()), |
| 100 | argumentEntry.getIndex(), | 100 | variableEntry.getIndex(), |
| 101 | argumentEntry.getName() | 101 | variableEntry.getName() |
| 102 | ); | 102 | ); |
| 103 | } else if (thing instanceof EntryReference) { | 103 | } else if (thing instanceof EntryReference) { |
| 104 | EntryReference<Entry, Entry> reference = (EntryReference<Entry, Entry>) thing; | 104 | EntryReference<Entry, Entry> reference = (EntryReference<Entry, Entry>) thing; |
| @@ -119,27 +119,24 @@ public class EntryRenamer { | |||
| 119 | } else if (thing instanceof ClassEntry) { | 119 | } else if (thing instanceof ClassEntry) { |
| 120 | ClassEntry classEntry = (ClassEntry) thing; | 120 | ClassEntry classEntry = (ClassEntry) thing; |
| 121 | return (T) new ClassEntry(renameClassesInThing(renames, classEntry.getClassName())); | 121 | return (T) new ClassEntry(renameClassesInThing(renames, classEntry.getClassName())); |
| 122 | } else if (thing instanceof FieldEntry) { | 122 | } else if (thing instanceof FieldDefEntry) { |
| 123 | FieldEntry fieldEntry = (FieldEntry) thing; | 123 | FieldDefEntry fieldEntry = (FieldDefEntry) thing; |
| 124 | return (T) new FieldEntry(renameClassesInThing(renames, fieldEntry.getClassEntry()), fieldEntry.getName(), renameClassesInThing(renames, fieldEntry.getType())); | 124 | return (T) new FieldDefEntry(renameClassesInThing(renames, fieldEntry.getOwnerClassEntry()), fieldEntry.getName(), renameClassesInThing(renames, fieldEntry.getDesc()), fieldEntry.getAccess()); |
| 125 | } else if (thing instanceof ConstructorEntry) { | 125 | } else if (thing instanceof MethodDefEntry) { |
| 126 | ConstructorEntry constructorEntry = (ConstructorEntry) thing; | 126 | MethodDefEntry methodEntry = (MethodDefEntry) thing; |
| 127 | return (T) new ConstructorEntry(renameClassesInThing(renames, constructorEntry.getClassEntry()), renameClassesInThing(renames, constructorEntry.getSignature())); | 127 | return (T) new MethodDefEntry(renameClassesInThing(renames, methodEntry.getOwnerClassEntry()), methodEntry.getName(), renameClassesInThing(renames, methodEntry.getDesc()), methodEntry.getAccess()); |
| 128 | } else if (thing instanceof MethodEntry) { | 128 | } else if (thing instanceof LocalVariableEntry) { |
| 129 | MethodEntry methodEntry = (MethodEntry) thing; | 129 | LocalVariableEntry argumentEntry = (LocalVariableEntry) thing; |
| 130 | return (T) new MethodEntry(renameClassesInThing(renames, methodEntry.getClassEntry()), methodEntry.getName(), renameClassesInThing(renames, methodEntry.getSignature())); | 130 | return (T) new LocalVariableEntry(renameClassesInThing(renames, argumentEntry.getOwnerEntry()), argumentEntry.getIndex(), argumentEntry.getName()); |
| 131 | } else if (thing instanceof ArgumentEntry) { | ||
| 132 | ArgumentEntry argumentEntry = (ArgumentEntry) thing; | ||
| 133 | return (T) new ArgumentEntry(renameClassesInThing(renames, argumentEntry.getBehaviorEntry()), argumentEntry.getIndex(), argumentEntry.getName()); | ||
| 134 | } else if (thing instanceof EntryReference) { | 131 | } else if (thing instanceof EntryReference) { |
| 135 | EntryReference<Entry, Entry> reference = (EntryReference<Entry, Entry>) thing; | 132 | EntryReference<Entry, Entry> reference = (EntryReference<Entry, Entry>) thing; |
| 136 | reference.entry = renameClassesInThing(renames, reference.entry); | 133 | reference.entry = renameClassesInThing(renames, reference.entry); |
| 137 | reference.context = renameClassesInThing(renames, reference.context); | 134 | reference.context = renameClassesInThing(renames, reference.context); |
| 138 | return thing; | 135 | return thing; |
| 139 | } else if (thing instanceof Signature) { | 136 | } else if (thing instanceof MethodDescriptor) { |
| 140 | return (T) new Signature((Signature) thing, className -> renameClassesInThing(renames, className)); | 137 | return (T) ((MethodDescriptor) thing).remap(className -> renameClassesInThing(renames, className)); |
| 141 | } else if (thing instanceof Type) { | 138 | } else if (thing instanceof TypeDescriptor) { |
| 142 | return (T) new Type((Type) thing, className -> renameClassesInThing(renames, className)); | 139 | return (T) ((TypeDescriptor) thing).remap(className -> renameClassesInThing(renames, className)); |
| 143 | } | 140 | } |
| 144 | 141 | ||
| 145 | return thing; | 142 | return thing; |