diff options
| author | 2015-03-08 20:48:30 -0400 | |
|---|---|---|
| committer | 2015-03-08 20:48:30 -0400 | |
| commit | 4ceb8d490058e48df666bf7227ce020e60928be5 (patch) | |
| tree | bdfb432cd1d61dc4914b8591468193dcd7e7421c /src/cuchaz/enigma/mapping/FieldMapping.java | |
| parent | lots of small tweaks and improvements (diff) | |
| download | enigma-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.java | 26 |
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 | } |