001// 002// Generated by JTB 1.3.2 003// 004 005package jtb.syntaxtree; 006 007// Grammar production: 008// f0 -> "@" 009// f1 -> "interface" 010// f2 -> <IDENTIFIER> 011// f3 -> AnnotationTypeBody() 012public class AnnotationTypeDeclaration 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 NodeToken f1; 019 public NodeToken f2; 020 public AnnotationTypeBody f3; 021 022 public AnnotationTypeDeclaration(NodeToken n0, NodeToken n1, NodeToken n2, AnnotationTypeBody 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 AnnotationTypeDeclaration(NodeToken n0, AnnotationTypeBody n1) { 034 f0 = new NodeToken("@"); 035 if ( f0 != null ) f0.setParent(this); 036 f1 = new NodeToken("interface"); 037 if ( f1 != null ) f1.setParent(this); 038 f2 = n0; 039 if ( f2 != null ) f2.setParent(this); 040 f3 = n1; 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