summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar 2xsaiko2020-06-24 13:45:18 +0200
committerGravatar 2xsaiko2020-06-24 13:46:58 +0200
commit75d75e530b7c54a09af7c66b50b94fd9b0f57814 (patch)
treebca63cedc8e5a50a916af65fddf81d16a77ce367
parentFix "Mark as Deobfuscated" menu entry not working (#265) (diff)
downloadenigma-75d75e530b7c54a09af7c66b50b94fd9b0f57814.tar.gz
enigma-75d75e530b7c54a09af7c66b50b94fd9b0f57814.tar.xz
enigma-75d75e530b7c54a09af7c66b50b94fd9b0f57814.zip
Fix inner class name validation
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/mapping/IdentifierValidation.java9
-rw-r--r--enigma/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java2
2 files changed, 9 insertions, 2 deletions
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/mapping/IdentifierValidation.java b/enigma/src/main/java/cuchaz/enigma/translation/mapping/IdentifierValidation.java
index 097c9e90..89797678 100644
--- a/enigma/src/main/java/cuchaz/enigma/translation/mapping/IdentifierValidation.java
+++ b/enigma/src/main/java/cuchaz/enigma/translation/mapping/IdentifierValidation.java
@@ -31,8 +31,15 @@ public final class IdentifierValidation {
31 "long", "strictfp", "volatile", "const", "float", "native", "super", "while", "_" 31 "long", "strictfp", "volatile", "const", "float", "native", "super", "while", "_"
32 ); 32 );
33 33
34 public static boolean validateClassName(ValidationContext vc, String name) { 34 public static boolean validateClassName(ValidationContext vc, String name, boolean isInner) {
35 if (!StandardValidation.notBlank(vc, name)) return false; 35 if (!StandardValidation.notBlank(vc, name)) return false;
36
37 if (isInner) {
38 // When renaming, inner class names do not contain the package name,
39 // but only the class name.
40 return validateIdentifier(vc, name);
41 }
42
36 String[] parts = name.split("/"); 43 String[] parts = name.split("/");
37 for (String part : parts) { 44 for (String part : parts) {
38 validateIdentifier(vc, part); 45 validateIdentifier(vc, part);
diff --git a/enigma/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java b/enigma/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java
index 15b0a9b4..a167e211 100644
--- a/enigma/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java
+++ b/enigma/src/main/java/cuchaz/enigma/translation/representation/entry/ClassEntry.java
@@ -99,7 +99,7 @@ public class ClassEntry extends ParentedEntry<ClassEntry> implements Comparable<
99 99
100 @Override 100 @Override
101 public void validateName(ValidationContext vc, String name) { 101 public void validateName(ValidationContext vc, String name) {
102 IdentifierValidation.validateClassName(vc, name); 102 IdentifierValidation.validateClassName(vc, name, this.isInnerClass());
103 } 103 }
104 104
105 @Override 105 @Override