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 98dd7a1272665f1576d9dd5c275c16608b89a3a3 Author: Marcin Mielzynski <l...@gazeta.pl> Date: Sun Jan 14 19:02:43 2018 +0100 StringNode.fromCodePoint --- src/org/joni/Parser.java | 14 ++------------ src/org/joni/ast/StringNode.java | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/org/joni/Parser.java b/src/org/joni/Parser.java index 66379f0..f26831b 100644 --- a/src/org/joni/Parser.java +++ b/src/org/joni/Parser.java @@ -805,7 +805,7 @@ class Parser extends Lexer { return parseExpTkRawByte(group); // tk_raw_byte: case CODE_POINT: - node = parseCodePoint(); + node = StringNode.fromCodePoint(token.getCode(), enc); break; case QUOTE_OPEN: @@ -824,11 +824,7 @@ class Parser extends Lexer { ObjPtr<CClassNode> ascPtr = new ObjPtr<CClassNode>(); CClassNode cc = parseCharClass(ascPtr); int code = cc.isOneChar(); - if (code != -1) { - StringNode sn = new StringNode(); - sn.catCode(code, enc); - return parseStringLoop(sn, group); - } + if (code != -1) return parseStringLoop(StringNode.fromCodePoint(code, enc), group); node = cc; if (isIgnoreCase(env.option)) node = cClassCaseFold(node, cc, ascPtr.p); @@ -1414,12 +1410,6 @@ class Parser extends Lexer { return false; } - private Node parseCodePoint() { - byte[]buf = new byte[Config.ENC_CODE_TO_MBC_MAXLEN]; - int num = enc.codeToMbc(token.getCode(), buf, 0); - return new StringNode(buf, 0, num); - } - private Node parseQuoteOpen() { int[]endOp = new int[]{syntax.metaCharTable.esc, 'E'}; int qstart = p; diff --git a/src/org/joni/ast/StringNode.java b/src/org/joni/ast/StringNode.java index aacada3..8be35f1 100644 --- a/src/org/joni/ast/StringNode.java +++ b/src/org/joni/ast/StringNode.java @@ -33,9 +33,19 @@ public final class StringNode extends Node implements StringType { public int end; public int flag; - public StringNode() { + private StringNode(int size) { super(STR); - this.bytes = new byte[NODE_STR_BUF_SIZE]; + this.bytes = new byte[size]; + } + + public StringNode() { + this(NODE_STR_BUF_SIZE); + } + + public static StringNode fromCodePoint(int code, Encoding enc) { + StringNode str = new StringNode(Config.ENC_CODE_TO_MBC_MAXLEN); + str.end = enc.codeToMbc(code, str.bytes, str.p); + return str; } public StringNode(byte[]bytes, int p, int end) { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git _______________________________________________ pkg-java-commits mailing list pkg-java-comm...@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits