1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverpackage org.antlr.runtime.tree { 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /** Queues up nodes matched on left side of -> in a tree parser. This is 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * the analog of RewriteRuleTokenStream for normal parsers. 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public class RewriteRuleNodeStream extends RewriteRuleElementStream { 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public function RewriteRuleNodeStream(adaptor:TreeAdaptor, elementDescription:String, element:Object = null) { 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver super(adaptor, elementDescription, element); 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver public function nextNode():Object { 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return _next(); 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver protected override function toTree(el:Object):Object { 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return adaptor.dupNode(el); 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver protected override function dup(el:Object):Object { 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // we dup every node, so don't have to worry about calling dup; short- 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // circuited next() so it doesn't call. 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver throw new Error("dup can't be called for a node stream."); 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}