From 00fcd0550fcdda621c2e4662f6ddd55ce673b931 Mon Sep 17 00:00:00 2001 From: Gegy Date: Thu, 24 Jan 2019 14:48:32 +0200 Subject: [WIP] Mapping rework (#91) * Move packages * Mapping & entry refactor: first pass * Fix deobf -> obf tree remapping * Resolve various issues * Give all entries the potential for parents and treat inner classes as children * Deobf UI tree elements * Tests pass * Sort mapping output * Fix delta tracking * Index separation and first pass for #97 * Keep track of remapped jar index * Fix child entries not being remapped * Drop non-root entries * Track dropped mappings * Fix enigma mapping ordering * EntryTreeNode interface * Small tweaks * Naive full index remap on rename * Entries can resolve to more than one root entry * Support alternative resolution strategies * Bridge method resolution * Tests pass * Fix mappings being used where there are none * Fix methods with different descriptors being considered unique. closes #89 --- src/test/java/cuchaz/enigma/TokenChecker.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/test/java/cuchaz/enigma/TokenChecker.java') diff --git a/src/test/java/cuchaz/enigma/TokenChecker.java b/src/test/java/cuchaz/enigma/TokenChecker.java index d863a5a..aac2866 100644 --- a/src/test/java/cuchaz/enigma/TokenChecker.java +++ b/src/test/java/cuchaz/enigma/TokenChecker.java @@ -16,7 +16,7 @@ import com.strobel.decompiler.languages.java.ast.CompilationUnit; import cuchaz.enigma.analysis.EntryReference; import cuchaz.enigma.analysis.SourceIndex; import cuchaz.enigma.analysis.Token; -import cuchaz.enigma.mapping.entry.Entry; +import cuchaz.enigma.translation.representation.entry.Entry; import java.io.IOException; import java.util.Collection; @@ -32,9 +32,9 @@ public class TokenChecker { deobfuscator = new Deobfuscator(jarFile); } - protected String getDeclarationToken(Entry entry) { + protected String getDeclarationToken(Entry entry) { // decompile the class - CompilationUnit tree = deobfuscator.getSourceTree(entry.getClassName()); + CompilationUnit tree = deobfuscator.getSourceTree(entry.getContainingClass().getFullName()); // DEBUG // tree.acceptVisitor( new TreeDumpVisitor( new File( "tree." + entry.getClassName().replace( '/', '.' ) + ".txt" ) ), null ); String source = deobfuscator.getSource(tree); @@ -49,15 +49,15 @@ public class TokenChecker { } @SuppressWarnings("unchecked") - protected Collection getReferenceTokens(EntryReference reference) { + protected Collection getReferenceTokens(EntryReference, ? extends Entry> reference) { // decompile the class - CompilationUnit tree = deobfuscator.getSourceTree(reference.context.getClassName()); + CompilationUnit tree = deobfuscator.getSourceTree(reference.context.getContainingClass().getFullName()); String source = deobfuscator.getSource(tree); SourceIndex index = deobfuscator.getSourceIndex(tree, source); // get the token values List values = Lists.newArrayList(); - for (Token token : index.getReferenceTokens((EntryReference) reference)) { + for (Token token : index.getReferenceTokens((EntryReference, Entry>) reference)) { values.add(source.substring(token.start, token.end)); } return values; -- cgit v1.2.3