Example usage for org.antlr.v4.runtime.tree RuleNode getParent

List of usage examples for org.antlr.v4.runtime.tree RuleNode getParent

Introduction

In this page you can find the example usage for org.antlr.v4.runtime.tree RuleNode getParent.

Prototype

@Override
    ParseTree getParent();

Source Link

Usage

From source file:net.klazz.symboliclua.conv.Converter.java

License:Open Source License

private List<String> whitespaces(RuleNode node) {
    List<String> ret = new ArrayList<>();
    Interval interval = node.getSourceInterval();
    int a = node.getParent() == null ? 0 : interval.a;
    int b = node.getParent() == null ? mStream.size() - 1 : interval.b;
    for (int i = 0; i < node.getChildCount(); i++) {
        ParseTree c = node.getChild(i);/*  w w w .j a v  a  2  s .c o m*/
        Interval v = c.getSourceInterval();
        ret.add(a < v.a ? mStream.getText(new Interval(a, v.a - 1)) : "");
        a = v.b + 1;
    }
    ret.add(a <= b ? mStream.getText(new Interval(a, b)) : "");
    return ret;
}