...
Code Block |
---|
CommonTokenStream tokens = new CommonTokenStream(lexer); ... CommonTreeNodeStream nodes = new CommonTreeNodeStream(t); // AST nodes have payloads that point into token stream nodes.setTokenStream(tokens); |
The generated code for $ruleref.text
looks like:
Code Block |
---|
input.getTokenStream().toString(
input.getTreeAdaptor().getTokenStartIndex(ruleref.start),
input.getTreeAdaptor().getTokenStopIndex(ruleref.start));
|
input.getTokenStream()
is probably the source of the null pointer if you've not called setTokenStream
.