From ba7a354efae7d49833c887cf147ac940c975a1fa Mon Sep 17 00:00:00 2001 From: Gegy Date: Wed, 30 Jan 2019 21:05:32 +0200 Subject: Remap sources (#106) * Source remapping beginnings * Fix navigation to remapped classes * Translate identifier info reference * Remap local variables with default names in source * Caching translator * Fix lack of highlighting for first opened class * Fix unicode variable names * Unicode checker shouldn't be checking just alphanumeric * Fix package tree being built from obf names * Don't index `this` as method call for method::reference * Apply proposed names * Fix source export issues * Replace unicode var names at bytecode level uniquely * Drop imports from editor source * Class selector fixes * Delta keep track of base mappings to enable lookup of old names * Optimize source remapping by remapping source with a StringBuffer instead of copying * Bump version --- src/test/java/cuchaz/enigma/TokenChecker.java | 14 ++++++++------ 1 file changed, 8 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 aac2866..c4670a2 100644 --- a/src/test/java/cuchaz/enigma/TokenChecker.java +++ b/src/test/java/cuchaz/enigma/TokenChecker.java @@ -34,11 +34,12 @@ public class TokenChecker { protected String getDeclarationToken(Entry entry) { // decompile the class - CompilationUnit tree = deobfuscator.getSourceTree(entry.getContainingClass().getFullName()); + SourceProvider sourceProvider = deobfuscator.getObfSourceProvider(); + CompilationUnit tree = sourceProvider.getSources(entry.getContainingClass().getFullName()); // DEBUG // tree.acceptVisitor( new TreeDumpVisitor( new File( "tree." + entry.getClassName().replace( '/', '.' ) + ".txt" ) ), null ); - String source = deobfuscator.getSource(tree); - SourceIndex index = deobfuscator.getSourceIndex(tree, source); + String source = sourceProvider.writeSourceToString(tree); + SourceIndex index = SourceIndex.buildIndex(source, tree, true); // get the token value Token token = index.getDeclarationToken(entry); @@ -51,9 +52,10 @@ public class TokenChecker { @SuppressWarnings("unchecked") protected Collection getReferenceTokens(EntryReference, ? extends Entry> reference) { // decompile the class - CompilationUnit tree = deobfuscator.getSourceTree(reference.context.getContainingClass().getFullName()); - String source = deobfuscator.getSource(tree); - SourceIndex index = deobfuscator.getSourceIndex(tree, source); + SourceProvider sourceProvider = deobfuscator.getObfSourceProvider(); + CompilationUnit tree = sourceProvider.getSources(reference.context.getContainingClass().getFullName()); + String source = sourceProvider.writeSourceToString(tree); + SourceIndex index = SourceIndex.buildIndex(source, tree, true); // get the token values List values = Lists.newArrayList(); -- cgit v1.2.3