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    }