diff options
| author | 2018-12-08 11:21:18 +0100 | |
|---|---|---|
| committer | 2018-12-08 11:21:18 +0100 | |
| commit | 4bc3afe4ff08b9f0c08952ec7f6e0ac930280cc5 (patch) | |
| tree | 99e43aa385d7fa1248c7fe474c022db55c364592 /src/main/java/cuchaz/enigma/analysis/Token.java | |
| parent | work around Procyon weirdness (diff) | |
| download | enigma-fork-4bc3afe4ff08b9f0c08952ec7f6e0ac930280cc5.tar.gz enigma-fork-4bc3afe4ff08b9f0c08952ec7f6e0ac930280cc5.tar.xz enigma-fork-4bc3afe4ff08b9f0c08952ec7f6e0ac930280cc5.zip | |
add barebones plugin framework, cleanup
Diffstat (limited to 'src/main/java/cuchaz/enigma/analysis/Token.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/analysis/Token.java | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/analysis/Token.java b/src/main/java/cuchaz/enigma/analysis/Token.java index 266d202..14fa7ca 100644 --- a/src/main/java/cuchaz/enigma/analysis/Token.java +++ b/src/main/java/cuchaz/enigma/analysis/Token.java | |||
| @@ -25,6 +25,25 @@ public class Token implements Comparable<Token> { | |||
| 25 | } | 25 | } |
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | public int getRenameOffset(String to) { | ||
| 29 | int length = this.end - this.start; | ||
| 30 | return to.length() - length; | ||
| 31 | } | ||
| 32 | |||
| 33 | public String rename(String source, String to) { | ||
| 34 | int oldEnd = this.end; | ||
| 35 | this.text = to; | ||
| 36 | this.end = this.start + to.length(); | ||
| 37 | |||
| 38 | return source.substring(0, this.start) + to + source.substring(oldEnd); | ||
| 39 | } | ||
| 40 | |||
| 41 | public Token move(int offset) { | ||
| 42 | Token token = new Token(this.start + offset, this.end + offset, null); | ||
| 43 | token.text = text; | ||
| 44 | return token; | ||
| 45 | } | ||
| 46 | |||
| 28 | public boolean contains(int pos) { | 47 | public boolean contains(int pos) { |
| 29 | return pos >= start && pos <= end; | 48 | return pos >= start && pos <= end; |
| 30 | } | 49 | } |
| @@ -41,7 +60,7 @@ public class Token implements Comparable<Token> { | |||
| 41 | 60 | ||
| 42 | @Override | 61 | @Override |
| 43 | public int hashCode() { | 62 | public int hashCode() { |
| 44 | return Integer.hashCode(start) + Integer.hashCode(end) + (text != null ? text.hashCode() : 0); | 63 | return start * 37 + end; |
| 45 | } | 64 | } |
| 46 | 65 | ||
| 47 | public boolean equals(Token other) { | 66 | public boolean equals(Token other) { |