From 39f2f2e73dfec20faef67f957e92452617ceda11 Mon Sep 17 00:00:00 2001 From: asie Date: Sat, 27 Oct 2018 00:51:21 +0200 Subject: update gson, fix argument indexing, delete empty class mappings --- src/main/java/cuchaz/enigma/mapping/ClassMapping.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/main/java/cuchaz/enigma/mapping/ClassMapping.java') diff --git a/src/main/java/cuchaz/enigma/mapping/ClassMapping.java b/src/main/java/cuchaz/enigma/mapping/ClassMapping.java index 369ba8c..9c193ef 100644 --- a/src/main/java/cuchaz/enigma/mapping/ClassMapping.java +++ b/src/main/java/cuchaz/enigma/mapping/ClassMapping.java @@ -577,7 +577,7 @@ public class ClassMapping implements Comparable { } // Used for tiny parsing to keep track of deobfuscate inner classes - public ClassMapping setDeobInner(String deobName) { + public ClassMapping setDeobfInner(String deobName) { this.deobfFullName = deobName; return this; } @@ -607,4 +607,21 @@ public class ClassMapping implements Comparable { public boolean equals(Object obj) { return obj instanceof ClassMapping && ((ClassMapping) obj).obfFullName.equals(this.obfFullName); } + + public boolean isEmpty() { + if (fieldsByDeobf.isEmpty() && methodsByDeobf.isEmpty() && deobfFullName == null && deobfName == null + && innerClassesByObfSimple.values().stream().allMatch(ClassMapping::isEmpty)) { + + // check args + for (MethodMapping mapping : methodsByObf.values()) { + if (mapping.arguments().iterator().hasNext()) { + return false; + } + } + + return true; + } + + return false; + } } -- cgit v1.2.3