From 1c54f5e7ba224c8c1dd0fc09972de3a86246caa3 Mon Sep 17 00:00:00 2001 From: asiekierka Date: Sun, 16 Oct 2016 13:28:15 +0200 Subject: Revert "apply similar fix to fields" This reverts commit ea3d062ba2426903a37acca26acca187c7e245c3. --- src/main/java/cuchaz/enigma/analysis/Access.java | 8 ---- .../cuchaz/enigma/mapping/MappingsRenamer.java | 51 +++------------------- 2 files changed, 5 insertions(+), 54 deletions(-) diff --git a/src/main/java/cuchaz/enigma/analysis/Access.java b/src/main/java/cuchaz/enigma/analysis/Access.java index 0077cb50..b8aafaa0 100644 --- a/src/main/java/cuchaz/enigma/analysis/Access.java +++ b/src/main/java/cuchaz/enigma/analysis/Access.java @@ -47,12 +47,4 @@ public enum Access { // assume public by default return Public; } - - public boolean isPackageAccessible() { - return this != Private; - } - - public boolean isSubclassAccessible() { - return this == Protected || this == Public; - } } diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java b/src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java index 046e2127..5c299e3e 100644 --- a/src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java +++ b/src/main/java/cuchaz/enigma/mapping/MappingsRenamer.java @@ -19,7 +19,6 @@ import java.util.Set; import java.util.zip.GZIPOutputStream; import com.google.common.collect.Lists; -import cuchaz.enigma.analysis.Access; import cuchaz.enigma.analysis.JarIndex; import cuchaz.enigma.analysis.MethodImplementationsTreeNode; import cuchaz.enigma.throwables.IllegalNameException; @@ -88,49 +87,11 @@ public class MappingsRenamer { } } - private void validateFieldTreeName(FieldEntry obf, String deobfName, byte directionFlag) { - FieldEntry targetEntry = new FieldEntry(obf.getClassEntry(), deobfName, obf.getType()); - boolean contains = false; - - ClassMapping classMapping = m_mappings.getClassByObf(obf.getClassEntry()); - if (classMapping != null && classMapping.containsDeobfField(deobfName, obf.getType()) - && m_index.getAccess(classMapping.getFieldByDeobf(deobfName, obf.getType()).getObfEntry(obf.getClassEntry())).isSubclassAccessible()) { - contains = true; - } - - if (!contains && m_index.containsObfField(targetEntry) - && m_index.getAccess(targetEntry).isSubclassAccessible()) { - contains = true; - } - - if (contains) { - String deobfClassName = m_mappings.getTranslator(TranslationDirection.Deobfuscating, m_index.getTranslationIndex()).translateClass(obf.getClassName()); - if (deobfClassName == null) { - deobfClassName = obf.getClassName(); - } - throw new IllegalNameException(deobfName, "There is already a field with that name in class " + deobfClassName); - } - - if (directionFlag == 1) { - ClassEntry ancestor = m_index.getTranslationIndex().getSuperclass(obf.getClassEntry()); - if (m_index.containsObfClass(ancestor)) { - validateFieldTreeName(obf.cloneToNewClass(ancestor), deobfName, directionFlag); - } - } else if (directionFlag == 2) { - for (ClassEntry child : m_index.getTranslationIndex().getSubclass(obf.getClassEntry())) { - validateFieldTreeName(obf.cloneToNewClass(child), deobfName, directionFlag); - } - } - } - public void setFieldName(FieldEntry obf, String deobfName) { deobfName = NameValidator.validateFieldName(deobfName); - - if (m_index.getAccess(obf).isSubclassAccessible()) { - validateFieldTreeName(obf, deobfName, (byte) 1); - validateFieldTreeName(obf, deobfName, (byte) 2); - } else { - validateFieldTreeName(obf, deobfName, (byte) 0); + FieldEntry targetEntry = new FieldEntry(obf.getClassEntry(), deobfName, obf.getType()); + if (m_mappings.containsDeobfField(obf.getClassEntry(), deobfName, obf.getType()) || m_index.containsObfField(targetEntry)) { + throw new IllegalNameException(deobfName, "There is already a field with that name"); } ClassMapping classMapping = getOrCreateClassMapping(obf.getClassEntry()); @@ -161,10 +122,8 @@ public class MappingsRenamer { throw new IllegalNameException(deobfName, "There is already a method with that name and signature in class " + deobfClassName); } - if (m_index.getAccess(entry) != Access.Private) { - for (ClassEntry child : m_index.getTranslationIndex().getSubclass(entry.getClassEntry())) { - validateMethodTreeName(entry.cloneToNewClass(child), deobfName); - } + for (ClassEntry child : m_index.getTranslationIndex().getSubclass(entry.getClassEntry())) { + validateMethodTreeName(entry.cloneToNewClass(child), deobfName); } } -- cgit v1.2.3