Java 类jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr 实例源码

项目:OpenJSharp    文件:Analyser.java   
private Node expandCaseFoldString(final Node node) {
    final StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) {
        return node;
    }

    final char[] chars1 = sn.chars;
    int pt = sn.p;
    final int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, r = null;
    @SuppressWarnings("unused")
    final ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (pt < end) {
        final char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars1[pt]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (r == null && prevNode.p != null) {
                    topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (r != null) {
                    ConsAltNode.listAdd(r, stringNode);
                }

            }

            stringNode.cat(chars1, pt, pt + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) {
                break;
            }

            if (r == null && prevNode.p != null) {
                topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars1, pt, 1, end, prevNode);
            if (r != null) {
                ConsAltNode.listAdd(r, prevNode.p);
            }
            stringNode = null;
        }
        pt++;
    }

    if (pt < end) {
        final Node srem = expandCaseFoldMakeRemString(chars1, pt, end);

        if (prevNode.p != null && r == null) {
            topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (r == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(r, srem);
        }
    }
    /* ending */
    final Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:openjdk-jdk10    文件:Analyser.java   
private Node expandCaseFoldString(final Node node) {
    final StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) {
        return node;
    }

    final char[] chars1 = sn.chars;
    int pt = sn.p;
    final int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, r = null;
    @SuppressWarnings("unused")
    final ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (pt < end) {
        final char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars1[pt]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (r == null && prevNode.p != null) {
                    topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (r != null) {
                    ConsAltNode.listAdd(r, stringNode);
                }

            }

            stringNode.cat(chars1, pt, pt + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) {
                break;
            }

            if (r == null && prevNode.p != null) {
                topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars1, pt, 1, end, prevNode);
            if (r != null) {
                ConsAltNode.listAdd(r, prevNode.p);
            }
            stringNode = null;
        }
        pt++;
    }

    if (pt < end) {
        final Node srem = expandCaseFoldMakeRemString(chars1, pt, end);

        if (prevNode.p != null && r == null) {
            topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (r == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(r, srem);
        }
    }
    /* ending */
    final Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:openjdk9    文件:Analyser.java   
private Node expandCaseFoldString(final Node node) {
    final StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) {
        return node;
    }

    final char[] chars1 = sn.chars;
    int pt = sn.p;
    final int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, r = null;
    @SuppressWarnings("unused")
    final ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (pt < end) {
        final char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars1[pt]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (r == null && prevNode.p != null) {
                    topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (r != null) {
                    ConsAltNode.listAdd(r, stringNode);
                }

            }

            stringNode.cat(chars1, pt, pt + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) {
                break;
            }

            if (r == null && prevNode.p != null) {
                topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars1, pt, 1, end, prevNode);
            if (r != null) {
                ConsAltNode.listAdd(r, prevNode.p);
            }
            stringNode = null;
        }
        pt++;
    }

    if (pt < end) {
        final Node srem = expandCaseFoldMakeRemString(chars1, pt, end);

        if (prevNode.p != null && r == null) {
            topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (r == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(r, srem);
        }
    }
    /* ending */
    final Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:kaziranga    文件:Analyser.java   
private Node expandCaseFoldString(final Node node) {
    final StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) {
        return node;
    }

    final char[] chars1 = sn.chars;
    int pt = sn.p;
    final int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, r = null;
    @SuppressWarnings("unused")
    final ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (pt < end) {
        final char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars1[pt]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (r == null && prevNode.p != null) {
                    topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (r != null) {
                    ConsAltNode.listAdd(r, stringNode);
                }

            }

            stringNode.cat(chars1, pt, pt + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) {
                break;
            }

            if (r == null && prevNode.p != null) {
                topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars1, pt, 1, end, prevNode);
            if (r != null) {
                ConsAltNode.listAdd(r, prevNode.p);
            }
            stringNode = null;
        }
        pt++;
    }

    if (pt < end) {
        final Node srem = expandCaseFoldMakeRemString(chars1, pt, end);

        if (prevNode.p != null && r == null) {
            topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (r == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(r, srem);
        }
    }
    /* ending */
    final Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:lookaside_java-1.8.0-openjdk    文件:Analyser.java   
private Node expandCaseFoldString(final Node node) {
    final StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) {
        return node;
    }

    final char[] chars1 = sn.chars;
    int pt = sn.p;
    final int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, r = null;
    @SuppressWarnings("unused")
    final ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (pt < end) {
        final char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars1[pt]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (r == null && prevNode.p != null) {
                    topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (r != null) {
                    ConsAltNode.listAdd(r, stringNode);
                }

            }

            stringNode.cat(chars1, pt, pt + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) {
                break;
            }

            if (r == null && prevNode.p != null) {
                topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars1, pt, 1, end, prevNode);
            if (r != null) {
                ConsAltNode.listAdd(r, prevNode.p);
            }
            stringNode = null;
        }
        pt++;
    }

    if (pt < end) {
        final Node srem = expandCaseFoldMakeRemString(chars1, pt, end);

        if (prevNode.p != null && r == null) {
            topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (r == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(r, srem);
        }
    }
    /* ending */
    final Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:jdk8u_nashorn    文件:Analyser.java   
private Node expandCaseFoldString(final Node node) {
    final StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) {
        return node;
    }

    final char[] chars1 = sn.chars;
    int pt = sn.p;
    final int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, r = null;
    @SuppressWarnings("unused")
    final ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (pt < end) {
        final char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars1[pt]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (r == null && prevNode.p != null) {
                    topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (r != null) {
                    ConsAltNode.listAdd(r, stringNode);
                }

            }

            stringNode.cat(chars1, pt, pt + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) {
                break;
            }

            if (r == null && prevNode.p != null) {
                topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars1, pt, 1, end, prevNode);
            if (r != null) {
                ConsAltNode.listAdd(r, prevNode.p);
            }
            stringNode = null;
        }
        pt++;
    }

    if (pt < end) {
        final Node srem = expandCaseFoldMakeRemString(chars1, pt, end);

        if (prevNode.p != null && r == null) {
            topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (r == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(r, srem);
        }
    }
    /* ending */
    final Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:infobip-open-jdk-8    文件:Analyser.java   
private Node expandCaseFoldString(final Node node) {
    final StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) {
        return node;
    }

    final char[] chars1 = sn.chars;
    int pt = sn.p;
    final int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, r = null;
    @SuppressWarnings("unused")
    final ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (pt < end) {
        final char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars1[pt]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (r == null && prevNode.p != null) {
                    topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (r != null) {
                    ConsAltNode.listAdd(r, stringNode);
                }

            }

            stringNode.cat(chars1, pt, pt + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) {
                break;
            }

            if (r == null && prevNode.p != null) {
                topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars1, pt, 1, end, prevNode);
            if (r != null) {
                ConsAltNode.listAdd(r, prevNode.p);
            }
            stringNode = null;
        }
        pt++;
    }

    if (pt < end) {
        final Node srem = expandCaseFoldMakeRemString(chars1, pt, end);

        if (prevNode.p != null && r == null) {
            topRoot = r = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (r == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(r, srem);
        }
    }
    /* ending */
    final Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:OLD-OpenJDK8    文件:Analyser.java   
private Node expandCaseFoldString(Node node) {
    StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) return node;

    char[] chars = sn.chars;
    int p = sn.p;
    int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, root = null;
    ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (p < end) {
        char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars[p]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (root == null && prevNode.p != null) {
                    topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (root != null) ConsAltNode.listAdd(root, stringNode);

            }

            stringNode.cat(chars, p, p + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) break;

            if (root == null && prevNode.p != null) {
                topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars, p, 1, end, prevNode);
            if (root != null) ConsAltNode.listAdd(root, prevNode.p);
            stringNode = null;
        }
        p++;
    }

    if (p < end) {
        Node srem = expandCaseFoldMakeRemString(chars, p, end);

        if (prevNode.p != null && root == null) {
            topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (root == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(root, srem);
        }
    }
    /* ending */
    Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:nashorn-backport    文件:Analyser.java   
private Node expandCaseFoldString(Node node) {
    StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) return node;

    char[] chars = sn.chars;
    int p = sn.p;
    int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, root = null;
    ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (p < end) {
        char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars[p]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (root == null && prevNode.p != null) {
                    topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (root != null) ConsAltNode.listAdd(root, stringNode);

            }

            stringNode.cat(chars, p, p + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) break;

            if (root == null && prevNode.p != null) {
                topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars, p, 1, end, prevNode);
            if (root != null) ConsAltNode.listAdd(root, prevNode.p);
            stringNode = null;
        }
        p++;
    }

    if (p < end) {
        Node srem = expandCaseFoldMakeRemString(chars, p, end);

        if (prevNode.p != null && root == null) {
            topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (root == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(root, srem);
        }
    }
    /* ending */
    Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}
项目:nashorn    文件:Analyser.java   
private Node expandCaseFoldString(Node node) {
    StringNode sn = (StringNode)node;

    if (sn.isAmbig() || sn.length() <= 0) return node;

    char[] chars = sn.chars;
    int p = sn.p;
    int end = sn.end;
    int altNum = 1;

    ConsAltNode topRoot = null, root = null;
    ObjPtr<Node> prevNode = new ObjPtr<Node>();
    StringNode stringNode = null;

    while (p < end) {
        char[] items = EncodingHelper.caseFoldCodesByString(regex.caseFoldFlag, chars[p]);

        if (items.length == 0) {
            if (stringNode == null) {
                if (root == null && prevNode.p != null) {
                    topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
                }

                prevNode.p = stringNode = new StringNode(); // onig_node_new_str(NULL, NULL);

                if (root != null) ConsAltNode.listAdd(root, stringNode);

            }

            stringNode.cat(chars, p, p + 1);
        } else {
            altNum *= (items.length + 1);
            if (altNum > THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION) break;

            if (root == null && prevNode.p != null) {
                topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
            }

            expandCaseFoldStringAlt(items.length, items, chars, p, 1, end, prevNode);
            if (root != null) ConsAltNode.listAdd(root, prevNode.p);
            stringNode = null;
        }
        p++;
    }

    if (p < end) {
        Node srem = expandCaseFoldMakeRemString(chars, p, end);

        if (prevNode.p != null && root == null) {
            topRoot = root = ConsAltNode.listAdd(null, prevNode.p);
        }

        if (root == null) {
            prevNode.p = srem;
        } else {
            ConsAltNode.listAdd(root, srem);
        }
    }
    /* ending */
    Node xnode = topRoot != null ? topRoot : prevNode.p;

    swap(node, xnode);
    return xnode;
}