// // Generated by JTB 1.3.2 // package kanga.syntaxtree; /** * Represents an grammar optional node, e.g. ( A )? or [ A ] */ public class NodeOptional implements Node { public NodeOptional() { node = null; } public NodeOptional(Node n) { addNode(n); } public void addNode(Node n) { if ( node != null) // Oh oh! throw new Error("Attempt to set optional node twice"); node = n; } public void accept(kanga.visitor.Visitor v) { v.visit(this); } public R accept(kanga.visitor.GJVisitor v, A argu) { return v.visit(this,argu); } public R accept(kanga.visitor.GJNoArguVisitor v) { return v.visit(this); } public void accept(kanga.visitor.GJVoidVisitor v, A argu) { v.visit(this,argu); } public boolean present() { return node != null; } public Node node; }