[jruby-joni] 135/279: Reuse code.

Hideki Yamane henrich at moszumanska.debian.org
Mon Nov 16 11:27:14 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