From 6e464ea251cab63c776ece0b2a356f1498ffa294 Mon Sep 17 00:00:00 2001 From: Thog Date: Wed, 8 Mar 2017 08:17:04 +0100 Subject: Follow Fabric guidelines --- .../cuchaz/enigma/mapping/MappingsChecker.java | 155 ++++++++++----------- 1 file changed, 77 insertions(+), 78 deletions(-) (limited to 'src/main/java/cuchaz/enigma/mapping/MappingsChecker.java') diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsChecker.java b/src/main/java/cuchaz/enigma/mapping/MappingsChecker.java index 6cf279d..172641b 100644 --- a/src/main/java/cuchaz/enigma/mapping/MappingsChecker.java +++ b/src/main/java/cuchaz/enigma/mapping/MappingsChecker.java @@ -8,91 +8,90 @@ * Contributors: * Jeff Martin - initial API and implementation ******************************************************************************/ + package cuchaz.enigma.mapping; import com.google.common.collect.Lists; import com.google.common.collect.Maps; - -import java.util.Map; - import cuchaz.enigma.analysis.JarIndex; +import java.util.Map; public class MappingsChecker { - private JarIndex index; - private Map droppedClassMappings; - private Map droppedInnerClassMappings; - private Map droppedFieldMappings; - private Map droppedMethodMappings; - - public MappingsChecker(JarIndex index) { - this.index = index; - this.droppedClassMappings = Maps.newHashMap(); - this.droppedInnerClassMappings = Maps.newHashMap(); - this.droppedFieldMappings = Maps.newHashMap(); - this.droppedMethodMappings = Maps.newHashMap(); - } - - public Map getDroppedClassMappings() { - return this.droppedClassMappings; - } - - public Map getDroppedInnerClassMappings() { - return this.droppedInnerClassMappings; - } - - public Map getDroppedFieldMappings() { - return this.droppedFieldMappings; - } - - public Map getDroppedMethodMappings() { - return this.droppedMethodMappings; - } - - public void dropBrokenMappings(Mappings mappings) { - for (ClassMapping classMapping : Lists.newArrayList(mappings.classes())) { - if (!checkClassMapping(classMapping)) { - mappings.removeClassMapping(classMapping); - this.droppedClassMappings.put(EntryFactory.getObfClassEntry(this.index, classMapping), classMapping); - } - } - } - - private boolean checkClassMapping(ClassMapping classMapping) { - - // check the class - ClassEntry classEntry = EntryFactory.getObfClassEntry(this.index, classMapping); - if (!this.index.getObfClassEntries().contains(classEntry)) { - return false; - } - - // check the fields - for (FieldMapping fieldMapping : Lists.newArrayList(classMapping.fields())) { - FieldEntry obfFieldEntry = EntryFactory.getObfFieldEntry(classMapping, fieldMapping); - if (!this.index.containsObfField(obfFieldEntry)) { - classMapping.removeFieldMapping(fieldMapping); - this.droppedFieldMappings.put(obfFieldEntry, fieldMapping); - } - } - - // check methods - for (MethodMapping methodMapping : Lists.newArrayList(classMapping.methods())) { - BehaviorEntry obfBehaviorEntry = EntryFactory.getObfBehaviorEntry(classEntry, methodMapping); - if (!this.index.containsObfBehavior(obfBehaviorEntry)) { - classMapping.removeMethodMapping(methodMapping); - this.droppedMethodMappings.put(obfBehaviorEntry, methodMapping); - } - } - - // check inner classes - for (ClassMapping innerClassMapping : Lists.newArrayList(classMapping.innerClasses())) { - if (!checkClassMapping(innerClassMapping)) { - classMapping.removeInnerClassMapping(innerClassMapping); - this.droppedInnerClassMappings.put(EntryFactory.getObfClassEntry(this.index, innerClassMapping), innerClassMapping); - } - } - - return true; - } + private JarIndex index; + private Map droppedClassMappings; + private Map droppedInnerClassMappings; + private Map droppedFieldMappings; + private Map droppedMethodMappings; + + public MappingsChecker(JarIndex index) { + this.index = index; + this.droppedClassMappings = Maps.newHashMap(); + this.droppedInnerClassMappings = Maps.newHashMap(); + this.droppedFieldMappings = Maps.newHashMap(); + this.droppedMethodMappings = Maps.newHashMap(); + } + + public Map getDroppedClassMappings() { + return this.droppedClassMappings; + } + + public Map getDroppedInnerClassMappings() { + return this.droppedInnerClassMappings; + } + + public Map getDroppedFieldMappings() { + return this.droppedFieldMappings; + } + + public Map getDroppedMethodMappings() { + return this.droppedMethodMappings; + } + + public void dropBrokenMappings(Mappings mappings) { + for (ClassMapping classMapping : Lists.newArrayList(mappings.classes())) { + if (!checkClassMapping(classMapping)) { + mappings.removeClassMapping(classMapping); + this.droppedClassMappings.put(EntryFactory.getObfClassEntry(this.index, classMapping), classMapping); + } + } + } + + private boolean checkClassMapping(ClassMapping classMapping) { + + // check the class + ClassEntry classEntry = EntryFactory.getObfClassEntry(this.index, classMapping); + if (!this.index.getObfClassEntries().contains(classEntry)) { + return false; + } + + // check the fields + for (FieldMapping fieldMapping : Lists.newArrayList(classMapping.fields())) { + FieldEntry obfFieldEntry = EntryFactory.getObfFieldEntry(classMapping, fieldMapping); + if (!this.index.containsObfField(obfFieldEntry)) { + classMapping.removeFieldMapping(fieldMapping); + this.droppedFieldMappings.put(obfFieldEntry, fieldMapping); + } + } + + // check methods + for (MethodMapping methodMapping : Lists.newArrayList(classMapping.methods())) { + BehaviorEntry obfBehaviorEntry = EntryFactory.getObfBehaviorEntry(classEntry, methodMapping); + if (!this.index.containsObfBehavior(obfBehaviorEntry)) { + classMapping.removeMethodMapping(methodMapping); + this.droppedMethodMappings.put(obfBehaviorEntry, methodMapping); + } + } + + // check inner classes + for (ClassMapping innerClassMapping : Lists.newArrayList(classMapping.innerClasses())) { + if (!checkClassMapping(innerClassMapping)) { + classMapping.removeInnerClassMapping(innerClassMapping); + this.droppedInnerClassMappings.put(EntryFactory.getObfClassEntry(this.index, innerClassMapping), innerClassMapping); + } + } + + return true; + } } -- cgit v1.2.3