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 VisitorArgResult extends javafe.ast.VisitorArgResult {
031 public abstract /*@non_null*/ Object visitAnOverview(/*@non_null*/ AnOverview x, Object o);
032
033 public abstract /*@non_null*/ Object visitGCExpr(/*@non_null*/ GCExpr x, Object o);
034
035 public /*@non_null*/ Object visitNaryExpr(/*@non_null*/ NaryExpr x, Object o) {
036 return visitGCExpr(x, o);
037 }
038
039 public /*@non_null*/ Object visitQuantifiedExpr(/*@non_null*/ QuantifiedExpr x, Object o) {
040 return visitGCExpr(x, o);
041 }
042
043 public /*@non_null*/ Object visitGeneralizedQuantifiedExpr(/*@non_null*/ GeneralizedQuantifiedExpr x, Object o) {
044 return visitGCExpr(x, o);
045 }
046
047 public /*@non_null*/ Object visitNumericalQuantifiedExpr(/*@non_null*/ NumericalQuantifiedExpr x, Object o) {
048 return visitGCExpr(x, o);
049 }
050
051 public /*@non_null*/ Object visitSubstExpr(/*@non_null*/ SubstExpr x, Object o) {
052 return visitGCExpr(x, o);
053 }
054
055 public /*@non_null*/ Object visitTypeExpr(/*@non_null*/ TypeExpr x, Object o) {
056 return visitGCExpr(x, o);
057 }
058
059 public /*@non_null*/ Object visitLabelExpr(/*@non_null*/ LabelExpr x, Object o) {
060 return visitGCExpr(x, o);
061 }
062
063 public abstract /*@non_null*/ Object visitWildRefExpr(/*@non_null*/ WildRefExpr x, Object o);
064
065 public abstract /*@non_null*/ Object visitGuardExpr(/*@non_null*/ GuardExpr x, Object o);
066
067 public abstract /*@non_null*/ Object visitResExpr(/*@non_null*/ ResExpr x, Object o);
068
069 public abstract /*@non_null*/ Object visitSetCompExpr(/*@non_null*/ SetCompExpr x, Object o);
070
071 public abstract /*@non_null*/ Object visitLockSetExpr(/*@non_null*/ LockSetExpr x, Object o);
072
073 public abstract /*@non_null*/ Object visitEverythingExpr(/*@non_null*/ EverythingExpr x, Object o);
074
075 public abstract /*@non_null*/ Object visitNothingExpr(/*@non_null*/ NothingExpr x, Object o);
076
077 public abstract /*@non_null*/ Object visitNotSpecifiedExpr(/*@non_null*/ NotSpecifiedExpr x, Object o);
078
079 public abstract /*@non_null*/ Object visitNotModifiedExpr(/*@non_null*/ NotModifiedExpr x, Object o);
080
081 public abstract /*@non_null*/ Object visitArrayRangeRefExpr(/*@non_null*/ ArrayRangeRefExpr x, Object o);
082
083 public abstract /*@non_null*/ Object visitDefPredLetExpr(/*@non_null*/ DefPredLetExpr x, Object o);
084
085 public abstract /*@non_null*/ Object visitDefPredApplExpr(/*@non_null*/ DefPredApplExpr x, Object o);
086
087 public abstract /*@non_null*/ Object visitEscPrimitiveType(/*@non_null*/ EscPrimitiveType x, Object o);
088
089 public abstract /*@non_null*/ Object visitGuardedCmd(/*@non_null*/ GuardedCmd x, Object o);
090
091 public /*@non_null*/ Object visitSimpleCmd(/*@non_null*/ SimpleCmd x, Object o) {
092 return visitGuardedCmd(x, o);
093 }
094
095 public /*@non_null*/ Object visitExprCmd(/*@non_null*/ ExprCmd x, Object o) {
096 return visitGuardedCmd(x, o);
097 }
098
099 public /*@non_null*/ Object visitAssignCmd(/*@non_null*/ AssignCmd x, Object o) {
100 return visitGuardedCmd(x, o);
101 }
102
103 public /*@non_null*/ Object visitGetsCmd(/*@non_null*/ GetsCmd x, Object o) {
104 return visitAssignCmd(x, o);
105 }
106
107 public /*@non_null*/ Object visitSubGetsCmd(/*@non_null*/ SubGetsCmd x, Object o) {
108 return visitAssignCmd(x, o);
109 }
110
111 public /*@non_null*/ Object visitSubSubGetsCmd(/*@non_null*/ SubSubGetsCmd x, Object o) {
112 return visitAssignCmd(x, o);
113 }
114
115 public /*@non_null*/ Object visitRestoreFromCmd(/*@non_null*/ RestoreFromCmd x, Object o) {
116 return visitAssignCmd(x, o);
117 }
118
119 public /*@non_null*/ Object visitVarInCmd(/*@non_null*/ VarInCmd x, Object o) {
120 return visitGuardedCmd(x, o);
121 }
122
123 public /*@non_null*/ Object visitDynInstCmd(/*@non_null*/ DynInstCmd x, Object o) {
124 return visitGuardedCmd(x, o);
125 }
126
127 public /*@non_null*/ Object visitSeqCmd(/*@non_null*/ SeqCmd x, Object o) {
128 return visitGuardedCmd(x, o);
129 }
130
131 public abstract /*@non_null*/ Object visitDecreasesInfo(/*@non_null*/ DecreasesInfo x, Object o);
132
133 public /*@non_null*/ Object visitLoopCmd(/*@non_null*/ LoopCmd x, Object o) {
134 return visitGuardedCmd(x, o);
135 }
136
137 public /*@non_null*/ Object visitCmdCmdCmd(/*@non_null*/ CmdCmdCmd x, Object o) {
138 return visitGuardedCmd(x, o);
139 }
140
141 public /*@non_null*/ Object visitCall(/*@non_null*/ Call x, Object o) {
142 return visitGuardedCmd(x, o);
143 }
144
145 public abstract /*@non_null*/ Object visitExprDeclPragma(/*@non_null*/ ExprDeclPragma x, Object o);
146
147 public abstract /*@non_null*/ Object visitIdExprDeclPragma(/*@non_null*/ IdExprDeclPragma x, Object o);
148
149 public abstract /*@non_null*/ Object visitNamedExprDeclPragma(/*@non_null*/ NamedExprDeclPragma x, Object o);
150
151 public abstract /*@non_null*/ Object visitModelDeclPragma(/*@non_null*/ ModelDeclPragma x, Object o);
152
153 public abstract /*@non_null*/ Object visitDependsPragma(/*@non_null*/ DependsPragma x, Object o);
154
155 public abstract /*@non_null*/ Object visitModelConstructorDeclPragma(/*@non_null*/ ModelConstructorDeclPragma x, Object o);
156
157 public abstract /*@non_null*/ Object visitModelTypePragma(/*@non_null*/ ModelTypePragma x, Object o);
158
159 public abstract /*@non_null*/ Object visitModelMethodDeclPragma(/*@non_null*/ ModelMethodDeclPragma x, Object o);
160
161 public abstract /*@non_null*/ Object visitGhostDeclPragma(/*@non_null*/ GhostDeclPragma x, Object o);
162
163 public abstract /*@non_null*/ Object visitStillDeferredDeclPragma(/*@non_null*/ StillDeferredDeclPragma x, Object o);
164
165 public abstract /*@non_null*/ Object visitSimpleStmtPragma(/*@non_null*/ SimpleStmtPragma x, Object o);
166
167 public abstract /*@non_null*/ Object visitIdentifierModifierPragma(/*@non_null*/ IdentifierModifierPragma x, Object o);
168
169 public abstract /*@non_null*/ Object visitExprStmtPragma(/*@non_null*/ ExprStmtPragma x, Object o);
170
171 public abstract /*@non_null*/ Object visitSetStmtPragma(/*@non_null*/ SetStmtPragma x, Object o);
172
173 public abstract /*@non_null*/ Object visitSkolemConstantPragma(/*@non_null*/ SkolemConstantPragma x, Object o);
174
175 public abstract /*@non_null*/ Object visitModelProgamModifierPragma(/*@non_null*/ ModelProgamModifierPragma x, Object o);
176
177 public abstract /*@non_null*/ Object visitNestedModifierPragma(/*@non_null*/ NestedModifierPragma x, Object o);
178
179 public abstract /*@non_null*/ Object visitParsedSpecs(/*@non_null*/ ParsedSpecs x, Object o);
180
181 public abstract /*@non_null*/ Object visitSimpleModifierPragma(/*@non_null*/ SimpleModifierPragma x, Object o);
182
183 public abstract /*@non_null*/ Object visitExprModifierPragma(/*@non_null*/ ExprModifierPragma x, Object o);
184
185 public abstract /*@non_null*/ Object visitModifiesGroupPragma(/*@non_null*/ ModifiesGroupPragma x, Object o);
186
187 public abstract /*@non_null*/ Object visitCondExprModifierPragma(/*@non_null*/ CondExprModifierPragma x, Object o);
188
189 public abstract /*@non_null*/ Object visitMapsExprModifierPragma(/*@non_null*/ MapsExprModifierPragma x, Object o);
190
191 public abstract /*@non_null*/ Object visitReachModifierPragma(/*@non_null*/ ReachModifierPragma x, Object o);
192
193 public abstract /*@non_null*/ Object visitVarDeclModifierPragma(/*@non_null*/ VarDeclModifierPragma x, Object o);
194
195 public abstract /*@non_null*/ Object visitVarExprModifierPragma(/*@non_null*/ VarExprModifierPragma x, Object o);
196
197 public abstract /*@non_null*/ Object visitNowarnPragma(/*@non_null*/ NowarnPragma x, Object o);
198
199 public abstract /*@non_null*/ Object visitImportPragma(/*@non_null*/ ImportPragma x, Object o);
200
201 public abstract /*@non_null*/ Object visitRefinePragma(/*@non_null*/ RefinePragma x, Object o);
202
203 public abstract /*@non_null*/ Object visitSpec(/*@non_null*/ Spec x, Object o);
204
205 public abstract /*@non_null*/ Object visitCondition(/*@non_null*/ Condition x, Object o);
206
207 public abstract /*@non_null*/ Object visitDefPred(/*@non_null*/ DefPred x, Object o);
208
209 }