From 75d75e530b7c54a09af7c66b50b94fd9b0f57814 Mon Sep 17 00:00:00 2001 From: 2xsaiko Date: Wed, 24 Jun 2020 13:45:18 +0200 Subject: Fix inner class name validation --- .../cuchaz/enigma/translation/mapping/IdentifierValidation.java | 9 ++++++++- .../enigma/translation/representation/entry/ClassEntry.java | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'enigma/src/main/java') 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 097c9e9..8979767 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 { "long", "strictfp", "volatile", "const", "float", "native", "super", "while", "_" ); - public static boolean validateClassName(ValidationContext vc, String name) { + public static boolean validateClassName(ValidationContext vc, String name, boolean isInner) { if (!StandardValidation.notBlank(vc, name)) return false; + + if (isInner) { + // When renaming, inner class names do not contain the package name, + // but only the class name. + return validateIdentifier(vc, name); + } + String[] parts = name.split("/"); for (String part : parts) { 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 15b0a9b..a167e21 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 implements Comparable< @Override public void validateName(ValidationContext vc, String name) { - IdentifierValidation.validateClassName(vc, name); + IdentifierValidation.validateClassName(vc, name, this.isInnerClass()); } @Override -- cgit v1.2.3