001 //
002 // Generated by JTB 1.3.2
003 //
004
005 package jtb.syntaxtree;
006
007 /**
008 * Grammar production:
009 * f0 -> "{"
010 * f1 -> ( ClassOrInterfaceBodyDeclaration(isInterface) )*
011 * f2 -> "}"
012 */
013 public class ClassOrInterfaceBody implements Node {
014 static final long serialVersionUID = 20050923L;
015
016 private Node parent;
017 public NodeToken f0;
018 public NodeListOptional f1;
019 public NodeToken f2;
020
021 public ClassOrInterfaceBody(NodeToken n0, NodeListOptional n1, NodeToken n2) {
022 f0 = n0;
023 if ( f0 != null ) f0.setParent(this);
024 f1 = n1;
025 if ( f1 != null ) f1.setParent(this);
026 f2 = n2;
027 if ( f2 != null ) f2.setParent(this);
028 }
029
030 public ClassOrInterfaceBody(NodeListOptional n0) {
031 f0 = new NodeToken("{");
032 if ( f0 != null ) f0.setParent(this);
033 f1 = n0;
034 if ( f1 != null ) f1.setParent(this);
035 f2 = new NodeToken("}");
036 if ( f2 != null ) f2.setParent(this);
037 }
038
039 public void accept(jtb.visitor.Visitor v) {
040 v.visit(this);
041 }
042 public <R,A> R accept(jtb.visitor.GJVisitor<R,A> v, A argu) {
043 return v.visit(this,argu);
044 }
045 public <R> R accept(jtb.visitor.GJNoArguVisitor<R> v) {
046 return v.visit(this);
047 }
048 public <A> void accept(jtb.visitor.GJVoidVisitor<A> v, A argu) {
049 v.visit(this,argu);
050 }
051 public void setParent(Node n) { parent = n; }
052 public Node getParent() { return parent; }
053 }