summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/mapping/FieldMapping.java
diff options
context:
space:
mode:
authorGravatar Thog2016-11-18 17:34:45 +0100
committerGravatar Thog2016-11-18 17:34:45 +0100
commitbc7f9a6d9afac7029ccab2c6d56b39fec49a0b86 (patch)
tree1fb48ef030e9630a40188f422b104cabe41704e3 /src/main/java/cuchaz/enigma/mapping/FieldMapping.java
parentMerge branch 'feature/method-converter' (diff)
downloadenigma-fork-bc7f9a6d9afac7029ccab2c6d56b39fec49a0b86.tar.gz
enigma-fork-bc7f9a6d9afac7029ccab2c6d56b39fec49a0b86.tar.xz
enigma-fork-bc7f9a6d9afac7029ccab2c6d56b39fec49a0b86.zip
Avoid crash of the matcher when the obf name is invalid (set a deob it using the suffix '_auto_deob')
Diffstat (limited to 'src/main/java/cuchaz/enigma/mapping/FieldMapping.java')
-rw-r--r--src/main/java/cuchaz/enigma/mapping/FieldMapping.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/main/java/cuchaz/enigma/mapping/FieldMapping.java b/src/main/java/cuchaz/enigma/mapping/FieldMapping.java
index e75485c..83e2277 100644
--- a/src/main/java/cuchaz/enigma/mapping/FieldMapping.java
+++ b/src/main/java/cuchaz/enigma/mapping/FieldMapping.java
@@ -10,6 +10,8 @@
10 ******************************************************************************/ 10 ******************************************************************************/
11package cuchaz.enigma.mapping; 11package cuchaz.enigma.mapping;
12 12
13import cuchaz.enigma.throwables.IllegalNameException;
14
13public class FieldMapping implements Comparable<FieldMapping>, MemberMapping<FieldEntry> { 15public class FieldMapping implements Comparable<FieldMapping>, MemberMapping<FieldEntry> {
14 16
15 private String obfName; 17 private String obfName;
@@ -49,8 +51,20 @@ public class FieldMapping implements Comparable<FieldMapping>, MemberMapping<Fie
49 this.deobfName = NameValidator.validateFieldName(val); 51 this.deobfName = NameValidator.validateFieldName(val);
50 } 52 }
51 53
52 public void setObfName(String val) { 54 public void setObfName(String name) {
53 this.obfName = NameValidator.validateFieldName(val); 55 try
56 {
57 NameValidator.validateMethodName(name);
58 } catch (IllegalNameException ex)
59 {
60 // Invalid name, damn obfuscation! Map to a deob name with another name to avoid issues
61 if (this.deobfName == null)
62 {
63 System.err.println("WARNING: " + name + " is conflicting, auto deobfuscate to " + (name + "_auto_deob"));
64 setDeobfName(name + "_auto_deob");
65 }
66 }
67 this.obfName = name;
54 } 68 }
55 69
56 public Type getObfType() { 70 public Type getObfType() {