001//
002// Generated by JTB 1.3.2
003//
004
005package jtb.syntaxtree;
006
007// Grammar production:
008// f0 -> <IDENTIFIER>
009// f1 -> [ TypeArguments() ]
010// f2 -> ( "." <IDENTIFIER> [ TypeArguments() ] )*
011public class ClassOrInterfaceType implements Node {
012   // This was added after running jtb to remove serializable warning.
013   static final long serialVersionUID = 20150406L;
014
015   // Added member variable to suport
016   // tools/jtb/ClassOrInterfaceTypeDecorateVisitor.java.  (markro)
017   public ClassOrInterfaceType unGenerifiedVersionOfThis = null;
018
019   private Node parent;
020   public NodeToken f0;
021   public NodeOptional f1;
022   public NodeListOptional f2;
023
024   public ClassOrInterfaceType(NodeToken n0, NodeOptional n1, NodeListOptional n2) {
025      f0 = n0;
026      if ( f0 != null ) f0.setParent(this);
027      f1 = n1;
028      if ( f1 != null ) f1.setParent(this);
029      f2 = n2;
030      if ( f2 != null ) f2.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