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/main/java/cuchaz/enigma/analysis/Token.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/main/java/cuchaz/enigma/analysis/Token.java') diff --git a/src/main/java/cuchaz/enigma/analysis/Token.java b/src/main/java/cuchaz/enigma/analysis/Token.java index 14fa7ca..12e0aa6 100644 --- a/src/main/java/cuchaz/enigma/analysis/Token.java +++ b/src/main/java/cuchaz/enigma/analysis/Token.java @@ -30,12 +30,12 @@ public class Token implements Comparable { return to.length() - length; } - public String rename(String source, String to) { + public void rename(StringBuffer source, String to) { int oldEnd = this.end; this.text = to; this.end = this.start + to.length(); - return source.substring(0, this.start) + to + source.substring(oldEnd); + source.replace(start, oldEnd, to); } public Token move(int offset) { @@ -64,7 +64,7 @@ public class Token implements Comparable { } public boolean equals(Token other) { - return start == other.start && end == other.end; + return start == other.start && end == other.end && text.equals(other.text); } @Override -- cgit v1.2.3