summaryrefslogtreecommitdiff
path: root/test/cuchaz/enigma/TokenChecker.java
diff options
context:
space:
mode:
authorGravatar jeff2015-01-13 23:25:04 -0500
committerGravatar jeff2015-01-13 23:25:04 -0500
commit959cb5fd4f9586ec3bd265b452fe25fe1db82e3f (patch)
treebdd8a2c52c2fe053ba3460614bde8542e5378dbe /test/cuchaz/enigma/TokenChecker.java
parentgot rid of gradle in favor of ivy+ssjb (diff)
downloadenigma-fork-959cb5fd4f9586ec3bd265b452fe25fe1db82e3f.tar.gz
enigma-fork-959cb5fd4f9586ec3bd265b452fe25fe1db82e3f.tar.xz
enigma-fork-959cb5fd4f9586ec3bd265b452fe25fe1db82e3f.zip
source format change
don't hate me too much if you were planning a big merge. =P
Diffstat (limited to 'test/cuchaz/enigma/TokenChecker.java')
-rw-r--r--test/cuchaz/enigma/TokenChecker.java46
1 files changed, 20 insertions, 26 deletions
diff --git a/test/cuchaz/enigma/TokenChecker.java b/test/cuchaz/enigma/TokenChecker.java
index c0852f3..524c5ec 100644
--- a/test/cuchaz/enigma/TokenChecker.java
+++ b/test/cuchaz/enigma/TokenChecker.java
@@ -23,47 +23,41 @@ import cuchaz.enigma.analysis.SourceIndex;
23import cuchaz.enigma.analysis.Token; 23import cuchaz.enigma.analysis.Token;
24import cuchaz.enigma.mapping.Entry; 24import cuchaz.enigma.mapping.Entry;
25 25
26public class TokenChecker 26public class TokenChecker {
27{ 27
28 private Deobfuscator m_deobfuscator; 28 private Deobfuscator m_deobfuscator;
29 29
30 protected TokenChecker( File jarFile ) 30 protected TokenChecker(File jarFile) throws IOException {
31 throws IOException 31 m_deobfuscator = new Deobfuscator(jarFile);
32 {
33 m_deobfuscator = new Deobfuscator( jarFile );
34 } 32 }
35 33
36 protected String getDeclarationToken( Entry entry ) 34 protected String getDeclarationToken(Entry entry) {
37 {
38 // decompile the class 35 // decompile the class
39 CompilationUnit tree = m_deobfuscator.getSourceTree( entry.getClassName() ); 36 CompilationUnit tree = m_deobfuscator.getSourceTree(entry.getClassName());
40 // DEBUG 37 // DEBUG
41 //tree.acceptVisitor( new TreeDumpVisitor( new File( "tree." + entry.getClassName().replace( '/', '.' ) + ".txt" ) ), null ); 38 // tree.acceptVisitor( new TreeDumpVisitor( new File( "tree." + entry.getClassName().replace( '/', '.' ) + ".txt" ) ), null );
42 String source = m_deobfuscator.getSource( tree ); 39 String source = m_deobfuscator.getSource(tree);
43 SourceIndex index = m_deobfuscator.getSourceIndex( tree, source ); 40 SourceIndex index = m_deobfuscator.getSourceIndex(tree, source);
44 41
45 // get the token value 42 // get the token value
46 Token token = index.getDeclarationToken( entry ); 43 Token token = index.getDeclarationToken(entry);
47 if( token == null ) 44 if (token == null) {
48 {
49 return null; 45 return null;
50 } 46 }
51 return source.substring( token.start, token.end ); 47 return source.substring(token.start, token.end);
52 } 48 }
53 49
54 @SuppressWarnings( "unchecked" ) 50 @SuppressWarnings("unchecked")
55 protected Collection<String> getReferenceTokens( EntryReference<? extends Entry,? extends Entry> reference ) 51 protected Collection<String> getReferenceTokens(EntryReference<? extends Entry,? extends Entry> reference) {
56 {
57 // decompile the class 52 // decompile the class
58 CompilationUnit tree = m_deobfuscator.getSourceTree( reference.context.getClassName() ); 53 CompilationUnit tree = m_deobfuscator.getSourceTree(reference.context.getClassName());
59 String source = m_deobfuscator.getSource( tree ); 54 String source = m_deobfuscator.getSource(tree);
60 SourceIndex index = m_deobfuscator.getSourceIndex( tree, source ); 55 SourceIndex index = m_deobfuscator.getSourceIndex(tree, source);
61 56
62 // get the token values 57 // get the token values
63 List<String> values = Lists.newArrayList(); 58 List<String> values = Lists.newArrayList();
64 for( Token token : index.getReferenceTokens( (EntryReference<Entry,Entry>)reference ) ) 59 for (Token token : index.getReferenceTokens((EntryReference<Entry,Entry>)reference)) {
65 { 60 values.add(source.substring(token.start, token.end));
66 values.add( source.substring( token.start, token.end ) );
67 } 61 }
68 return values; 62 return values;
69 } 63 }