001//
002// Generated by JTB 1.3.2
003//
004
005package jtb.syntaxtree;
006
007// Grammar production:
008// f0 -> "<"
009// f1 -> TypeParameter()
010// f2 -> ( "," TypeParameter() )*
011// f3 -> ">"
012public class TypeParameters 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 NodeToken f0;
018   public TypeParameter f1;
019   public NodeListOptional f2;
020   public NodeToken f3;
021
022   public TypeParameters(NodeToken n0, TypeParameter n1, NodeListOptional n2, NodeToken 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 TypeParameters(TypeParameter n0, NodeListOptional n1) {
034      f0 = new NodeToken("<");
035      if ( f0 != null ) f0.setParent(this);
036      f1 = n0;
037      if ( f1 != null ) f1.setParent(this);
038      f2 = n1;
039      if ( f2 != null ) f2.setParent(this);
040      f3 = new NodeToken(">");
041      if ( f3 != null ) f3.setParent(this);
042   }
043
044   public void accept(jtb.visitor.Visitor v) {
045      v.visit(this);
046   }
047   public <R,A> R accept(jtb.visitor.GJVisitor<R,A> v, A argu) {
048      return v.visit(this,argu);
049   }
050   public <R> R accept(jtb.visitor.GJNoArguVisitor<R> v) {
051      return v.visit(this);
052   }
053   public <A> void accept(jtb.visitor.GJVoidVisitor<A> v, A argu) {
054      v.visit(this,argu);
055   }
056   public void setParent(Node n) { parent = n; }
057   public Node getParent()       { return parent; }
058}
059