diff options
Diffstat (limited to 'src/cuchaz/enigma/mapping/MappingsRenamer.java')
| -rw-r--r-- | src/cuchaz/enigma/mapping/MappingsRenamer.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/cuchaz/enigma/mapping/MappingsRenamer.java b/src/cuchaz/enigma/mapping/MappingsRenamer.java index 0a41c2b..095e5e9 100644 --- a/src/cuchaz/enigma/mapping/MappingsRenamer.java +++ b/src/cuchaz/enigma/mapping/MappingsRenamer.java | |||
| @@ -76,23 +76,23 @@ public class MappingsRenamer { | |||
| 76 | 76 | ||
| 77 | public void setFieldName(FieldEntry obf, String deobfName) { | 77 | public void setFieldName(FieldEntry obf, String deobfName) { |
| 78 | deobfName = NameValidator.validateFieldName(deobfName); | 78 | deobfName = NameValidator.validateFieldName(deobfName); |
| 79 | FieldEntry targetEntry = new FieldEntry(obf.getClassEntry(), deobfName); | 79 | FieldEntry targetEntry = new FieldEntry(obf.getClassEntry(), deobfName, obf.getType()); |
| 80 | if (m_mappings.containsDeobfField(obf.getClassEntry(), deobfName) || m_index.containsObfField(targetEntry)) { | 80 | if (m_mappings.containsDeobfField(obf.getClassEntry(), deobfName, obf.getType()) || m_index.containsObfField(targetEntry)) { |
| 81 | throw new IllegalNameException(deobfName, "There is already a field with that name"); | 81 | throw new IllegalNameException(deobfName, "There is already a field with that name"); |
| 82 | } | 82 | } |
| 83 | 83 | ||
| 84 | ClassMapping classMapping = getOrCreateClassMappingOrInnerClassMapping(obf.getClassEntry()); | 84 | ClassMapping classMapping = getOrCreateClassMappingOrInnerClassMapping(obf.getClassEntry()); |
| 85 | classMapping.setFieldName(obf.getName(), deobfName); | 85 | classMapping.setFieldName(obf.getName(), obf.getType(), deobfName); |
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | public void removeFieldMapping(FieldEntry obf) { | 88 | public void removeFieldMapping(FieldEntry obf) { |
| 89 | ClassMapping classMapping = getClassMappingOrInnerClassMapping(obf.getClassEntry()); | 89 | ClassMapping classMapping = getClassMappingOrInnerClassMapping(obf.getClassEntry()); |
| 90 | classMapping.setFieldName(obf.getName(), null); | 90 | classMapping.setFieldName(obf.getName(), obf.getType(), null); |
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | public void markFieldAsDeobfuscated(FieldEntry obf) { | 93 | public void markFieldAsDeobfuscated(FieldEntry obf) { |
| 94 | ClassMapping classMapping = getOrCreateClassMappingOrInnerClassMapping(obf.getClassEntry()); | 94 | ClassMapping classMapping = getOrCreateClassMappingOrInnerClassMapping(obf.getClassEntry()); |
| 95 | classMapping.setFieldName(obf.getName(), obf.getName()); | 95 | classMapping.setFieldName(obf.getName(), obf.getType(), obf.getName()); |
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | public void setMethodTreeName(MethodEntry obf, String deobfName) { | 98 | public void setMethodTreeName(MethodEntry obf, String deobfName) { |
| @@ -171,8 +171,8 @@ public class MappingsRenamer { | |||
| 171 | public boolean moveFieldToObfClass(ClassMapping classMapping, FieldMapping fieldMapping, ClassEntry obfClass) { | 171 | public boolean moveFieldToObfClass(ClassMapping classMapping, FieldMapping fieldMapping, ClassEntry obfClass) { |
| 172 | classMapping.removeFieldMapping(fieldMapping); | 172 | classMapping.removeFieldMapping(fieldMapping); |
| 173 | ClassMapping targetClassMapping = getOrCreateClassMapping(obfClass); | 173 | ClassMapping targetClassMapping = getOrCreateClassMapping(obfClass); |
| 174 | if (!targetClassMapping.containsObfField(fieldMapping.getObfName())) { | 174 | if (!targetClassMapping.containsObfField(fieldMapping.getObfName(), fieldMapping.getObfType())) { |
| 175 | if (!targetClassMapping.containsDeobfField(fieldMapping.getDeobfName())) { | 175 | if (!targetClassMapping.containsDeobfField(fieldMapping.getDeobfName(), fieldMapping.getObfType())) { |
| 176 | targetClassMapping.addFieldMapping(fieldMapping); | 176 | targetClassMapping.addFieldMapping(fieldMapping); |
| 177 | return true; | 177 | return true; |
| 178 | } else { | 178 | } else { |