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 4f705e9c96bba65020ea35d2e84e0db4a05e50a4 Author: Marcin Mielzynski <[email protected]> Date: Sun Mar 11 01:03:19 2012 +0100 Fix all remaining cases from test_regexp.rb/test_unicode --- src/org/joni/Analyser.java | 22 +++++++++------------- src/org/joni/ast/StringNode.java | 7 ------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/org/joni/Analyser.java b/src/org/joni/Analyser.java index d166bc3..6bdf540 100644 --- a/src/org/joni/Analyser.java +++ b/src/org/joni/Analyser.java @@ -111,7 +111,7 @@ final class Analyser extends Parser { Config.log.println(root + "\n"); } - setupTree(root, 0); + root = setupTree(root, 0); if (Config.DEBUG_PARSE_TREE) { if (Config.DEBUG_PARSE_TREE_RAW) Config.log.println("<TREE>"); root.verifyTree(new HashSet<Node>(), env.reg.warnings); @@ -1532,10 +1532,10 @@ final class Analyser extends Parser { } private static final int THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION = 8; - private void expandCaseFoldString(Node node) { + private Node expandCaseFoldString(Node node) { StringNode sn = (StringNode)node; - if (sn.isAmbig() || sn.length() <= 0) return; + if (sn.isAmbig() || sn.length() <= 0) return node; byte[]bytes = sn.bytes; int p = sn.p; @@ -1608,11 +1608,8 @@ final class Analyser extends Parser { /* ending */ Node xnode = topRoot != null ? topRoot : prevNode[0]; - if (xnode instanceof StringNode) { - sn.assign((StringNode)xnode); - } else { - swap(node, xnode); - } + swap(node, xnode); + return xnode; } private static final int CEC_THRES_NUM_BIG_REPEAT = 512; @@ -1748,7 +1745,7 @@ final class Analyser extends Parser { 5. find invalid patterns in look-behind. 6. expand repeated string. */ - protected final void setupTree(Node node, int state) { + protected final Node setupTree(Node node, int state) { restart: while (true) { switch (node.getType()) { case NodeType.LIST: @@ -1775,7 +1772,7 @@ final class Analyser extends Parser { case NodeType.STR: if (isIgnoreCase(regex.options) && !((StringNode)node).isRaw()) { - expandCaseFoldString(node); + node = expandCaseFoldString(node); } break; @@ -1822,7 +1819,7 @@ final class Analyser extends Parser { state |= IN_REPEAT; if (qn.lower != qn.upper) state |= IN_VAR_REPEAT; - setupTree(target, state); + target = setupTree(target, state); /* expand string */ if (target.getType() == NodeType.STR) { @@ -1918,8 +1915,7 @@ final class Analyser extends Parser { } // inner switch break; } // switch - return; - + return node; } // restart: while } diff --git a/src/org/joni/ast/StringNode.java b/src/org/joni/ast/StringNode.java index 318eec1..2857c94 100644 --- a/src/org/joni/ast/StringNode.java +++ b/src/org/joni/ast/StringNode.java @@ -81,13 +81,6 @@ public final class StringNode extends Node implements StringType { } } - public void assign(StringNode from) { - bytes = from.bytes; - p = from.p; - end = from.end; - flag = from.flag; - } - @Override public int getType() { return STR; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

