[jruby-joni] 121/223: Reuse code.
Hideki Yamane
henrich at moszumanska.debian.org
Mon Nov 16 11:21:58 UTC 2015
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 3948dbdf1a99efca5bb5a247d79a1752e9efdbc1
Author: Marcin Mielzynski <lopx at gazeta.pl>
Date: Sun Mar 11 20:30:00 2012 +0100
Reuse code.
---
src/org/joni/Analyser.java | 5 +----
src/org/joni/ApplyCaseFold.java | 7 +------
src/org/joni/ast/StringNode.java | 6 ++++++
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/src/org/joni/Analyser.java b/src/org/joni/Analyser.java
index 0bcc0da..87d4f99 100644
--- a/src/org/joni/Analyser.java
+++ b/src/org/joni/Analyser.java
@@ -1503,10 +1503,7 @@ final class Analyser extends Parser {
for (int i=0; i<itemNum; i++) {
snode = new StringNode();
- for (int j=0; j<items[i].codeLen; j++) {
- snode.ensure(Config.ENC_CODE_TO_MBC_MAXLEN);
- snode.end += enc.codeToMbc(items[i].code[j], snode.bytes, snode.end);
- }
+ for (int j = 0; j < items[i].codeLen; j++) snode.catCode(items[i].code[j], enc);
ConsAltNode an = newAltNode(null, null);
if (items[i].byteLen != slen) {
diff --git a/src/org/joni/ApplyCaseFold.java b/src/org/joni/ApplyCaseFold.java
index 7d49f89..7dd84ce 100644
--- a/src/org/joni/ApplyCaseFold.java
+++ b/src/org/joni/ApplyCaseFold.java
@@ -69,16 +69,11 @@ final class ApplyCaseFold implements ApplyAllCaseFoldFunction {
for (int i=0; i<length; i++) {
if (i == 0) {
node = new StringNode();
- node.ensure(Config.ENC_CODE_TO_MBC_MAXLEN);
- node.end += enc.codeToMbc(to[i], node.bytes, node.end);
-
/* char-class expanded multi-char only
compare with string folded at match time. */
node.setAmbig();
- } else {
- node.ensure(Config.ENC_CODE_TO_MBC_MAXLEN);
- node.end += enc.codeToMbc(to[i], node.bytes, node.end);
}
+ node.catCode(to[i], enc);
}
ConsAltNode alt = ConsAltNode.newAltNode(node, null);
diff --git a/src/org/joni/ast/StringNode.java b/src/org/joni/ast/StringNode.java
index 45f0889..d71034f 100644
--- a/src/org/joni/ast/StringNode.java
+++ b/src/org/joni/ast/StringNode.java
@@ -20,6 +20,7 @@
package org.joni.ast;
import org.jcodings.Encoding;
+import org.joni.Config;
import org.joni.constants.StringType;
public final class StringNode extends Node implements StringType {
@@ -155,6 +156,11 @@ public final class StringNode extends Node implements StringType {
bytes[end++] = c;
}
+ public void catCode(int code, Encoding enc) {
+ ensure(Config.ENC_CODE_TO_MBC_MAXLEN);
+ end += enc.codeToMbc(code, bytes, end);
+ }
+
public void clear() {
if (bytes.length > NODE_STR_BUF_SIZE) bytes = new byte[NODE_STR_BUF_SIZE];
flag = 0;
--
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