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