From 72bdd3caa5bc21e4830e764eaf804bd42cedf23e Mon Sep 17 00:00:00 2001 From: Thog Date: Thu, 27 Oct 2016 19:28:10 +0200 Subject: Rework setFieldName to only check name in the actual class mapping and mothers classes mappings (Fix #51) --- src/main/java/cuchaz/enigma/mapping/Mappings.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/main/java/cuchaz/enigma/mapping/Mappings.java') diff --git a/src/main/java/cuchaz/enigma/mapping/Mappings.java b/src/main/java/cuchaz/enigma/mapping/Mappings.java index 912a57a..2166bb9 100644 --- a/src/main/java/cuchaz/enigma/mapping/Mappings.java +++ b/src/main/java/cuchaz/enigma/mapping/Mappings.java @@ -15,11 +15,7 @@ import com.google.common.collect.Maps; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import com.google.common.collect.Sets; import cuchaz.enigma.analysis.TranslationIndex; @@ -177,6 +173,16 @@ public class Mappings { return classMapping != null && classMapping.containsDeobfField(deobfName, obfType); } + public boolean containsDeobfField(ClassEntry obfClassEntry, String deobfName) { + ClassMapping classMapping = this.classesByObf.get(obfClassEntry.getName()); + if (classMapping != null) + for (FieldMapping fieldMapping : classMapping.fields()) + if (deobfName.equals(fieldMapping.getDeobfName()) || deobfName.equals(fieldMapping.getObfName())) + return true; + + return false; + } + public boolean containsDeobfMethod(ClassEntry obfClassEntry, String deobfName, Signature obfSignature) { ClassMapping classMapping = this.classesByObf.get(obfClassEntry.getName()); return classMapping != null && classMapping.containsDeobfMethod(deobfName, obfSignature); -- cgit v1.2.3