Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.