summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/mapping/FieldMapping.java
diff options
context:
space:
mode:
authorGravatar jeff2015-03-08 20:48:30 -0400
committerGravatar jeff2015-03-08 20:48:30 -0400
commit4ceb8d490058e48df666bf7227ce020e60928be5 (patch)
treebdfb432cd1d61dc4914b8591468193dcd7e7421c /src/cuchaz/enigma/mapping/FieldMapping.java
parentlots of small tweaks and improvements (diff)
downloadenigma-fork-4ceb8d490058e48df666bf7227ce020e60928be5.tar.gz
enigma-fork-4ceb8d490058e48df666bf7227ce020e60928be5.tar.xz
enigma-fork-4ceb8d490058e48df666bf7227ce020e60928be5.zip
more tweaks, improvements, and bug fixes
Diffstat (limited to 'src/cuchaz/enigma/mapping/FieldMapping.java')
-rw-r--r--src/cuchaz/enigma/mapping/FieldMapping.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/mapping/FieldMapping.java b/src/cuchaz/enigma/mapping/FieldMapping.java
index 14b20dd..55b0a19 100644
--- a/src/cuchaz/enigma/mapping/FieldMapping.java
+++ b/src/cuchaz/enigma/mapping/FieldMapping.java
@@ -26,6 +26,12 @@ public class FieldMapping implements Serializable, Comparable<FieldMapping> {
26 m_obfType = obfType; 26 m_obfType = obfType;
27 } 27 }
28 28
29 public FieldMapping(FieldMapping other, ClassNameReplacer obfClassNameReplacer) {
30 m_obfName = other.m_obfName;
31 m_deobfName = other.m_deobfName;
32 m_obfType = new Type(other.m_obfType, obfClassNameReplacer);
33 }
34
29 public String getObfName() { 35 public String getObfName() {
30 return m_obfName; 36 return m_obfName;
31 } 37 }
@@ -46,4 +52,24 @@ public class FieldMapping implements Serializable, Comparable<FieldMapping> {
46 public int compareTo(FieldMapping other) { 52 public int compareTo(FieldMapping other) {
47 return (m_obfName + m_obfType).compareTo(other.m_obfName + other.m_obfType); 53 return (m_obfName + m_obfType).compareTo(other.m_obfName + other.m_obfType);
48 } 54 }
55
56 public boolean renameObfClass(final String oldObfClassName, final String newObfClassName) {
57
58 // rename obf classes in the type
59 Type newType = new Type(m_obfType, new ClassNameReplacer() {
60 @Override
61 public String replace(String className) {
62 if (className.equals(oldObfClassName)) {
63 return newObfClassName;
64 }
65 return null;
66 }
67 });
68
69 if (!newType.equals(m_obfType)) {
70 m_obfType = newType;
71 return true;
72 }
73 return false;
74 }
49} 75}