From 959cb5fd4f9586ec3bd265b452fe25fe1db82e3f Mon Sep 17 00:00:00 2001 From: jeff Date: Tue, 13 Jan 2015 23:25:04 -0500 Subject: source format change don't hate me too much if you were planning a big merge. =P --- src/cuchaz/enigma/analysis/SourceIndex.java | 144 ++++++++++++---------------- 1 file changed, 59 insertions(+), 85 deletions(-) (limited to 'src/cuchaz/enigma/analysis/SourceIndex.java') diff --git a/src/cuchaz/enigma/analysis/SourceIndex.java b/src/cuchaz/enigma/analysis/SourceIndex.java index 0e33de0..b43ab61 100644 --- a/src/cuchaz/enigma/analysis/SourceIndex.java +++ b/src/cuchaz/enigma/analysis/SourceIndex.java @@ -25,16 +25,15 @@ import com.strobel.decompiler.languages.java.ast.Identifier; import cuchaz.enigma.mapping.Entry; -public class SourceIndex -{ +public class SourceIndex { + private String m_source; private TreeMap> m_tokenToReference; private Multimap,Token> m_referenceToTokens; private Map m_declarationToToken; private List m_lineOffsets; - public SourceIndex( String source ) - { + public SourceIndex(String source) { m_source = source; m_tokenToReference = Maps.newTreeMap(); m_referenceToTokens = HashMultimap.create(); @@ -42,142 +41,119 @@ public class SourceIndex m_lineOffsets = Lists.newArrayList(); // count the lines - m_lineOffsets.add( 0 ); - for( int i=0; i= 0 ) - { + int pos = name.lastIndexOf('$'); + if (pos >= 0) { token.end -= pos + 1; } return token; } - public void addReference( AstNode node, Entry deobfEntry, Entry deobfContext ) - { - Token token = getToken( node ); - if( token != null ) - { - EntryReference deobfReference = new EntryReference( deobfEntry, token.text, deobfContext ); - m_tokenToReference.put( token, deobfReference ); - m_referenceToTokens.put( deobfReference, token ); + public void addReference(AstNode node, Entry deobfEntry, Entry deobfContext) { + Token token = getToken(node); + if (token != null) { + EntryReference deobfReference = new EntryReference(deobfEntry, token.text, deobfContext); + m_tokenToReference.put(token, deobfReference); + m_referenceToTokens.put(deobfReference, token); } } - public void addDeclaration( AstNode node, Entry deobfEntry ) - { - Token token = getToken( node ); - if( token != null ) - { - EntryReference reference = new EntryReference( deobfEntry, token.text ); - m_tokenToReference.put( token, reference ); - m_referenceToTokens.put( reference, token ); - m_declarationToToken.put( deobfEntry, token ); + public void addDeclaration(AstNode node, Entry deobfEntry) { + Token token = getToken(node); + if (token != null) { + EntryReference reference = new EntryReference(deobfEntry, token.text); + m_tokenToReference.put(token, reference); + m_referenceToTokens.put(reference, token); + m_declarationToToken.put(deobfEntry, token); } } - public Token getReferenceToken( int pos ) - { - Token token = m_tokenToReference.floorKey( new Token( pos, pos, null ) ); - if( token != null && token.contains( pos ) ) - { + public Token getReferenceToken(int pos) { + Token token = m_tokenToReference.floorKey(new Token(pos, pos, null)); + if (token != null && token.contains(pos)) { return token; } return null; } - public Collection getReferenceTokens( EntryReference deobfReference ) - { - return m_referenceToTokens.get( deobfReference ); + public Collection getReferenceTokens(EntryReference deobfReference) { + return m_referenceToTokens.get(deobfReference); } - public EntryReference getDeobfReference( Token token ) - { - if( token == null ) - { + public EntryReference getDeobfReference(Token token) { + if (token == null) { return null; } - return m_tokenToReference.get( token ); + return m_tokenToReference.get(token); } - public void replaceDeobfReference( Token token, EntryReference newDeobfReference ) - { - EntryReference oldDeobfReference = m_tokenToReference.get( token ); - m_tokenToReference.put( token, newDeobfReference ); - Collection tokens = m_referenceToTokens.get( oldDeobfReference ); - m_referenceToTokens.removeAll( oldDeobfReference ); - m_referenceToTokens.putAll( newDeobfReference, tokens ); + public void replaceDeobfReference(Token token, EntryReference newDeobfReference) { + EntryReference oldDeobfReference = m_tokenToReference.get(token); + m_tokenToReference.put(token, newDeobfReference); + Collection tokens = m_referenceToTokens.get(oldDeobfReference); + m_referenceToTokens.removeAll(oldDeobfReference); + m_referenceToTokens.putAll(newDeobfReference, tokens); } - public Iterable referenceTokens( ) - { + public Iterable referenceTokens() { return m_tokenToReference.keySet(); } - public Iterable declarationTokens( ) - { + public Iterable declarationTokens() { return m_declarationToToken.values(); } - public Token getDeclarationToken( Entry deobfEntry ) - { - return m_declarationToToken.get( deobfEntry ); + public Token getDeclarationToken(Entry deobfEntry) { + return m_declarationToToken.get(deobfEntry); } - public int getLineNumber( int pos ) - { + public int getLineNumber(int pos) { // line number is 1-based int line = 0; - for( Integer offset : m_lineOffsets ) - { - if( offset > pos ) - { + for (Integer offset : m_lineOffsets) { + if (offset > pos) { break; } line++; @@ -185,15 +161,13 @@ public class SourceIndex return line; } - public int getColumnNumber( int pos ) - { + public int getColumnNumber(int pos) { // column number is 1-based - return pos - m_lineOffsets.get( getLineNumber( pos ) - 1 ) + 1; + return pos - m_lineOffsets.get(getLineNumber(pos) - 1) + 1; } - - private int toPos( int line, int col ) - { + + private int toPos(int line, int col) { // line and col are 1-based - return m_lineOffsets.get( line - 1 ) + col - 1; + return m_lineOffsets.get(line - 1) + col - 1; } } -- cgit v1.2.3