001//
002// Generated by JTB 1.3.2
003//
004
005package jtb.syntaxtree;
006
007// Grammar production:
008// f0 -> Modifiers()
009// f1 -> <IDENTIFIER>
010// f2 -> [ Arguments() ]
011// f3 -> [ ClassOrInterfaceBody(false) ]
012public class EnumConstant implements Node {
013   // This was added after running jtb to remove serializable warning.
014   static final long serialVersionUID = 20150406L;
015
016   private Node parent;
017   public Modifiers f0;
018   public NodeToken f1;
019   public NodeOptional f2;
020   public NodeOptional f3;
021
022   public EnumConstant(Modifiers n0, NodeToken n1, NodeOptional n2, NodeOptional n3) {
023      f0 = n0;
024      if ( f0 != null ) f0.setParent(this);
025      f1 = n1;
026      if ( f1 != null ) f1.setParent(this);
027      f2 = n2;
028      if ( f2 != null ) f2.setParent(this);
029      f3 = n3;
030      if ( f3 != null ) f3.setParent(this);
031   }
032
033   public void accept(jtb.visitor.Visitor v) {
034      v.visit(this);
035   }
036   public <R,A> R accept(jtb.visitor.GJVisitor<R,A> v, A argu) {
037      return v.visit(this,argu);
038   }
039   public <R> R accept(jtb.visitor.GJNoArguVisitor<R> v) {
040      return v.visit(this);
041   }
042   public <A> void accept(jtb.visitor.GJVoidVisitor<A> v, A argu) {
043      v.visit(this,argu);
044   }
045   public void setParent(Node n) { parent = n; }
046   public Node getParent()       { return parent; }
047}
048