001    // -*- mode: java -*-
002    /* Copyright 2000, 2001, Compaq Computer Corporation */
003    
004    /* IF THIS IS A JAVA FILE, DO NOT EDIT IT!  
005    
006       Most Java files in this directory which are part of the Javafe AST
007       are automatically generated using the astgen comment (see
008       ESCTools/Javafe/astgen) from the input file 'hierarchy.h'.  If you
009       wish to modify AST classes or introduce new ones, modify
010       'hierarchy.j.'
011     */
012    
013    package escjava.ast;
014    
015    import java.util.Hashtable;
016    import java.util.Set;
017    import java.util.ArrayList;
018    
019    import javafe.ast.*;
020    import javafe.util.Assert;
021    import javafe.util.Location;
022    import escjava.ParsedRoutineSpecs;
023    
024    // Convention: unless otherwise noted, integer fields named "loc" refer
025    // to the location of the first character of the syntactic unit
026    
027    //# TagBase javafe.tc.TagConstants.LAST_TAG + 1
028    //# VisitorRoot javafe.ast.Visitor
029    
030    public abstract class Visitor extends javafe.ast.Visitor {
031      public abstract void visitAnOverview(/*@non_null*/ AnOverview x);
032    
033      public abstract void visitGCExpr(/*@non_null*/ GCExpr x);
034    
035      public void visitNaryExpr(/*@non_null*/ NaryExpr x) {
036        visitGCExpr(x);
037      }
038    
039      public void visitQuantifiedExpr(/*@non_null*/ QuantifiedExpr x) {
040        visitGCExpr(x);
041      }
042    
043      public void visitGeneralizedQuantifiedExpr(/*@non_null*/ GeneralizedQuantifiedExpr x) {
044        visitGCExpr(x);
045      }
046    
047      public void visitNumericalQuantifiedExpr(/*@non_null*/ NumericalQuantifiedExpr x) {
048        visitGCExpr(x);
049      }
050    
051      public void visitSubstExpr(/*@non_null*/ SubstExpr x) {
052        visitGCExpr(x);
053      }
054    
055      public void visitTypeExpr(/*@non_null*/ TypeExpr x) {
056        visitGCExpr(x);
057      }
058    
059      public void visitLabelExpr(/*@non_null*/ LabelExpr x) {
060        visitGCExpr(x);
061      }
062    
063      public abstract void visitWildRefExpr(/*@non_null*/ WildRefExpr x);
064    
065      public abstract void visitGuardExpr(/*@non_null*/ GuardExpr x);
066    
067      public abstract void visitResExpr(/*@non_null*/ ResExpr x);
068    
069      public abstract void visitSetCompExpr(/*@non_null*/ SetCompExpr x);
070    
071      public abstract void visitLockSetExpr(/*@non_null*/ LockSetExpr x);
072    
073      public abstract void visitEverythingExpr(/*@non_null*/ EverythingExpr x);
074    
075      public abstract void visitNothingExpr(/*@non_null*/ NothingExpr x);
076    
077      public abstract void visitNotSpecifiedExpr(/*@non_null*/ NotSpecifiedExpr x);
078    
079      public abstract void visitNotModifiedExpr(/*@non_null*/ NotModifiedExpr x);
080    
081      public abstract void visitArrayRangeRefExpr(/*@non_null*/ ArrayRangeRefExpr x);
082    
083      public abstract void visitDefPredLetExpr(/*@non_null*/ DefPredLetExpr x);
084    
085      public abstract void visitDefPredApplExpr(/*@non_null*/ DefPredApplExpr x);
086    
087      public abstract void visitEscPrimitiveType(/*@non_null*/ EscPrimitiveType x);
088    
089      public abstract void visitGuardedCmd(/*@non_null*/ GuardedCmd x);
090    
091      public void visitSimpleCmd(/*@non_null*/ SimpleCmd x) {
092        visitGuardedCmd(x);
093      }
094    
095      public void visitExprCmd(/*@non_null*/ ExprCmd x) {
096        visitGuardedCmd(x);
097      }
098    
099      public void visitAssignCmd(/*@non_null*/ AssignCmd x) {
100        visitGuardedCmd(x);
101      }
102    
103      public void visitGetsCmd(/*@non_null*/ GetsCmd x) {
104        visitAssignCmd(x);
105      }
106    
107      public void visitSubGetsCmd(/*@non_null*/ SubGetsCmd x) {
108        visitAssignCmd(x);
109      }
110    
111      public void visitSubSubGetsCmd(/*@non_null*/ SubSubGetsCmd x) {
112        visitAssignCmd(x);
113      }
114    
115      public void visitRestoreFromCmd(/*@non_null*/ RestoreFromCmd x) {
116        visitAssignCmd(x);
117      }
118    
119      public void visitVarInCmd(/*@non_null*/ VarInCmd x) {
120        visitGuardedCmd(x);
121      }
122    
123      public void visitDynInstCmd(/*@non_null*/ DynInstCmd x) {
124        visitGuardedCmd(x);
125      }
126    
127      public void visitSeqCmd(/*@non_null*/ SeqCmd x) {
128        visitGuardedCmd(x);
129      }
130    
131      public abstract void visitDecreasesInfo(/*@non_null*/ DecreasesInfo x);
132    
133      public void visitLoopCmd(/*@non_null*/ LoopCmd x) {
134        visitGuardedCmd(x);
135      }
136    
137      public void visitCmdCmdCmd(/*@non_null*/ CmdCmdCmd x) {
138        visitGuardedCmd(x);
139      }
140    
141      public void visitCall(/*@non_null*/ Call x) {
142        visitGuardedCmd(x);
143      }
144    
145      public abstract void visitExprDeclPragma(/*@non_null*/ ExprDeclPragma x);
146    
147      public abstract void visitIdExprDeclPragma(/*@non_null*/ IdExprDeclPragma x);
148    
149      public abstract void visitNamedExprDeclPragma(/*@non_null*/ NamedExprDeclPragma x);
150    
151      public abstract void visitModelDeclPragma(/*@non_null*/ ModelDeclPragma x);
152    
153      public abstract void visitDependsPragma(/*@non_null*/ DependsPragma x);
154    
155      public abstract void visitModelConstructorDeclPragma(/*@non_null*/ ModelConstructorDeclPragma x);
156    
157      public abstract void visitModelTypePragma(/*@non_null*/ ModelTypePragma x);
158    
159      public abstract void visitModelMethodDeclPragma(/*@non_null*/ ModelMethodDeclPragma x);
160    
161      public abstract void visitGhostDeclPragma(/*@non_null*/ GhostDeclPragma x);
162    
163      public abstract void visitStillDeferredDeclPragma(/*@non_null*/ StillDeferredDeclPragma x);
164    
165      public abstract void visitSimpleStmtPragma(/*@non_null*/ SimpleStmtPragma x);
166    
167      public abstract void visitIdentifierModifierPragma(/*@non_null*/ IdentifierModifierPragma x);
168    
169      public abstract void visitExprStmtPragma(/*@non_null*/ ExprStmtPragma x);
170    
171      public abstract void visitSetStmtPragma(/*@non_null*/ SetStmtPragma x);
172    
173      public abstract void visitSkolemConstantPragma(/*@non_null*/ SkolemConstantPragma x);
174    
175      public abstract void visitModelProgamModifierPragma(/*@non_null*/ ModelProgamModifierPragma x);
176    
177      public abstract void visitNestedModifierPragma(/*@non_null*/ NestedModifierPragma x);
178    
179      public abstract void visitParsedSpecs(/*@non_null*/ ParsedSpecs x);
180    
181      public abstract void visitSimpleModifierPragma(/*@non_null*/ SimpleModifierPragma x);
182    
183      public abstract void visitExprModifierPragma(/*@non_null*/ ExprModifierPragma x);
184    
185      public abstract void visitModifiesGroupPragma(/*@non_null*/ ModifiesGroupPragma x);
186    
187      public abstract void visitCondExprModifierPragma(/*@non_null*/ CondExprModifierPragma x);
188    
189      public abstract void visitMapsExprModifierPragma(/*@non_null*/ MapsExprModifierPragma x);
190    
191      public abstract void visitReachModifierPragma(/*@non_null*/ ReachModifierPragma x);
192    
193      public abstract void visitVarDeclModifierPragma(/*@non_null*/ VarDeclModifierPragma x);
194    
195      public abstract void visitVarExprModifierPragma(/*@non_null*/ VarExprModifierPragma x);
196    
197      public abstract void visitNowarnPragma(/*@non_null*/ NowarnPragma x);
198    
199      public abstract void visitImportPragma(/*@non_null*/ ImportPragma x);
200    
201      public abstract void visitRefinePragma(/*@non_null*/ RefinePragma x);
202    
203      public abstract void visitSpec(/*@non_null*/ Spec x);
204    
205      public abstract void visitCondition(/*@non_null*/ Condition x);
206    
207      public abstract void visitDefPred(/*@non_null*/ DefPred x);
208    
209    }