[jruby-joni] 133/194: StringNode cleanup
Hideki Yamane
henrich at moszumanska.debian.org
Thu Feb 1 12:04:34 UTC 2018
This is an automated email from the git hooks/post-receive script.
henrich pushed a commit to branch debian/sid
in repository jruby-joni.
commit 80b585ac33b7d130417c37824ace70f55b9f42b9
Author: lopex <lopx at gazeta.pl>
Date: Wed Jan 10 10:13:30 2018 +0100
StringNode cleanup
---
src/org/joni/Parser.java | 12 ++----------
src/org/joni/ast/StringNode.java | 37 +++++++++++++++----------------------
2 files changed, 17 insertions(+), 32 deletions(-)
diff --git a/src/org/joni/Parser.java b/src/org/joni/Parser.java
index 702fceb..75ea153 100644
--- a/src/org/joni/Parser.java
+++ b/src/org/joni/Parser.java
@@ -1288,12 +1288,9 @@ class Parser extends Lexer {
private Node parseExpTkRawByte(boolean group) {
// tk_raw_byte:
-
- // important: we don't use 0xff mask here neither in the compiler
- // (in the template string) so we won't have to mask target
- // strings when comparing against them in the matcher
- StringNode node = new StringNode((byte)token.getC());
+ StringNode node = new StringNode();
node.setRaw();
+ node.cat((byte)token.getC());
int len = 1;
while (true) {
@@ -1310,13 +1307,8 @@ class Parser extends Lexer {
if (token.type != TokenType.RAW_BYTE) {
/* Don't use this, it is wrong for little endian encodings. */
// USE_PAD_TO_SHORT_BYTE_CHAR ...
-
newValueException(ERR_TOO_SHORT_MULTI_BYTE_STRING);
}
-
- // important: we don't use 0xff mask here neither in the compiler
- // (in the template string) so we won't have to mask target
- // strings when comparing against them in the matcher
node.cat((byte)token.getC());
len++;
} // while
diff --git a/src/org/joni/ast/StringNode.java b/src/org/joni/ast/StringNode.java
index d75d074..e1dae1f 100644
--- a/src/org/joni/ast/StringNode.java
+++ b/src/org/joni/ast/StringNode.java
@@ -31,7 +31,6 @@ public final class StringNode extends Node implements StringType {
public byte[]bytes;
public int p;
public int end;
-
public int flag;
public StringNode() {
@@ -47,11 +46,6 @@ public final class StringNode extends Node implements StringType {
setShared();
}
- public StringNode(byte c) {
- this();
- bytes[end++] = c;
- }
-
/* Ensure there is ahead bytes available in node's buffer
* (assumes that the node is not shared)
*/
@@ -85,21 +79,6 @@ public final class StringNode extends Node implements StringType {
return "String";
}
- @Override
- public String toString(int level) {
- StringBuilder value = new StringBuilder();
- value.append("\n bytes: '");
- for (int i=p; i<end; i++) {
- if ((bytes[i] & 0xff) >= 0x20 && (bytes[i] & 0xff) < 0x7f) {
- value.append((char)bytes[i]);
- } else {
- value.append(String.format("[0x%02x]", bytes[i]));
- }
- }
- value.append("'");
- return value.toString();
- }
-
public int length() {
return end - p;
}
@@ -110,7 +89,6 @@ public final class StringNode extends Node implements StringType {
public StringNode splitLastChar(Encoding enc) {
StringNode n = null;
-
if (end > p) {
int prev = enc.prevCharHead(bytes, p, end, end);
if (prev != -1 && prev > p) { /* can be split */
@@ -206,4 +184,19 @@ public final class StringNode extends Node implements StringType {
public boolean isShared() {
return (flag & NSTR_SHARED) != 0;
}
+
+ @Override
+ public String toString(int level) {
+ StringBuilder value = new StringBuilder();
+ value.append("\n bytes: '");
+ for (int i=p; i<end; i++) {
+ if ((bytes[i] & 0xff) >= 0x20 && (bytes[i] & 0xff) < 0x7f) {
+ value.append((char)bytes[i]);
+ } else {
+ value.append(String.format("[0x%02x]", bytes[i]));
+ }
+ }
+ value.append("'");
+ return value.toString();
+ }
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git
More information about the pkg-java-commits
mailing list