@Override
	public int getStartIndex() {
		if ( originalTokenIndex>=0 ) {
			return ((CommonToken)g.originalTokenStream.get(originalTokenIndex)).getStartIndex();
		}
		return super.getStartIndex();
	}
A CommonToken that can also track it's original location,
 derived from options on the element ref like BEGIN&lt;line=34,...&gt;.
tool/src/org/antlr/v4/parse/GrammarToken.java