001 package edu.rice.cs.javalanglevels.tree;
002
003 /** A parametric interface for visitors over JExpressionIF that return a value. */
004 public interface JExpressionIFVisitor<RetType> {
005
006 /** Process an instance of SourceFile. */
007 public RetType forSourceFile(SourceFile that);
008
009 /** Process an instance of ModifiersAndVisibility. */
010 public RetType forModifiersAndVisibility(ModifiersAndVisibility that);
011
012 /** Process an instance of CompoundWord. */
013 public RetType forCompoundWord(CompoundWord that);
014
015 /** Process an instance of Word. */
016 public RetType forWord(Word that);
017
018 /** Process an instance of ClassDef. */
019 public RetType forClassDef(ClassDef that);
020
021 /** Process an instance of InnerClassDef. */
022 public RetType forInnerClassDef(InnerClassDef that);
023
024 /** Process an instance of InterfaceDef. */
025 public RetType forInterfaceDef(InterfaceDef that);
026
027 /** Process an instance of InnerInterfaceDef. */
028 public RetType forInnerInterfaceDef(InnerInterfaceDef that);
029
030 /** Process an instance of ConstructorDef. */
031 public RetType forConstructorDef(ConstructorDef that);
032
033 /** Process an instance of InstanceInitializer. */
034 public RetType forInstanceInitializer(InstanceInitializer that);
035
036 /** Process an instance of StaticInitializer. */
037 public RetType forStaticInitializer(StaticInitializer that);
038
039 /** Process an instance of PackageStatement. */
040 public RetType forPackageStatement(PackageStatement that);
041
042 /** Process an instance of ClassImportStatement. */
043 public RetType forClassImportStatement(ClassImportStatement that);
044
045 /** Process an instance of PackageImportStatement. */
046 public RetType forPackageImportStatement(PackageImportStatement that);
047
048 /** Process an instance of LabeledStatement. */
049 public RetType forLabeledStatement(LabeledStatement that);
050
051 /** Process an instance of Block. */
052 public RetType forBlock(Block that);
053
054 /** Process an instance of ExpressionStatement. */
055 public RetType forExpressionStatement(ExpressionStatement that);
056
057 /** Process an instance of SwitchStatement. */
058 public RetType forSwitchStatement(SwitchStatement that);
059
060 /** Process an instance of IfThenStatement. */
061 public RetType forIfThenStatement(IfThenStatement that);
062
063 /** Process an instance of IfThenElseStatement. */
064 public RetType forIfThenElseStatement(IfThenElseStatement that);
065
066 /** Process an instance of WhileStatement. */
067 public RetType forWhileStatement(WhileStatement that);
068
069 /** Process an instance of DoStatement. */
070 public RetType forDoStatement(DoStatement that);
071
072 /** Process an instance of ForStatement. */
073 public RetType forForStatement(ForStatement that);
074
075 /** Process an instance of LabeledBreakStatement. */
076 public RetType forLabeledBreakStatement(LabeledBreakStatement that);
077
078 /** Process an instance of UnlabeledBreakStatement. */
079 public RetType forUnlabeledBreakStatement(UnlabeledBreakStatement that);
080
081 /** Process an instance of LabeledContinueStatement. */
082 public RetType forLabeledContinueStatement(LabeledContinueStatement that);
083
084 /** Process an instance of UnlabeledContinueStatement. */
085 public RetType forUnlabeledContinueStatement(UnlabeledContinueStatement that);
086
087 /** Process an instance of VoidReturnStatement. */
088 public RetType forVoidReturnStatement(VoidReturnStatement that);
089
090 /** Process an instance of ValueReturnStatement. */
091 public RetType forValueReturnStatement(ValueReturnStatement that);
092
093 /** Process an instance of ThrowStatement. */
094 public RetType forThrowStatement(ThrowStatement that);
095
096 /** Process an instance of SynchronizedStatement. */
097 public RetType forSynchronizedStatement(SynchronizedStatement that);
098
099 /** Process an instance of TryCatchFinallyStatement. */
100 public RetType forTryCatchFinallyStatement(TryCatchFinallyStatement that);
101
102 /** Process an instance of NormalTryCatchStatement. */
103 public RetType forNormalTryCatchStatement(NormalTryCatchStatement that);
104
105 /** Process an instance of EmptyStatement. */
106 public RetType forEmptyStatement(EmptyStatement that);
107
108 /** Process an instance of ConcreteMethodDef. */
109 public RetType forConcreteMethodDef(ConcreteMethodDef that);
110
111 /** Process an instance of AbstractMethodDef. */
112 public RetType forAbstractMethodDef(AbstractMethodDef that);
113
114 /** Process an instance of FormalParameter. */
115 public RetType forFormalParameter(FormalParameter that);
116
117 /** Process an instance of VariableDeclaration. */
118 public RetType forVariableDeclaration(VariableDeclaration that);
119
120 /** Process an instance of UninitializedVariableDeclarator. */
121 public RetType forUninitializedVariableDeclarator(UninitializedVariableDeclarator that);
122
123 /** Process an instance of InitializedVariableDeclarator. */
124 public RetType forInitializedVariableDeclarator(InitializedVariableDeclarator that);
125
126 /** Process an instance of TypeParameter. */
127 public RetType forTypeParameter(TypeParameter that);
128
129 /** Process an instance of ArrayInitializer. */
130 public RetType forArrayInitializer(ArrayInitializer that);
131
132 /** Process an instance of PrimitiveType. */
133 public RetType forPrimitiveType(PrimitiveType that);
134
135 /** Process an instance of ArrayType. */
136 public RetType forArrayType(ArrayType that);
137
138 /** Process an instance of MemberType. */
139 public RetType forMemberType(MemberType that);
140
141 /** Process an instance of ClassOrInterfaceType. */
142 public RetType forClassOrInterfaceType(ClassOrInterfaceType that);
143
144 /** Process an instance of TypeVariable. */
145 public RetType forTypeVariable(TypeVariable that);
146
147 /** Process an instance of VoidReturn. */
148 public RetType forVoidReturn(VoidReturn that);
149
150 /** Process an instance of LabeledCase. */
151 public RetType forLabeledCase(LabeledCase that);
152
153 /** Process an instance of DefaultCase. */
154 public RetType forDefaultCase(DefaultCase that);
155
156 /** Process an instance of CatchBlock. */
157 public RetType forCatchBlock(CatchBlock that);
158
159 /** Process an instance of SimpleAssignmentExpression. */
160 public RetType forSimpleAssignmentExpression(SimpleAssignmentExpression that);
161
162 /** Process an instance of PlusAssignmentExpression. */
163 public RetType forPlusAssignmentExpression(PlusAssignmentExpression that);
164
165 /** Process an instance of MinusAssignmentExpression. */
166 public RetType forMinusAssignmentExpression(MinusAssignmentExpression that);
167
168 /** Process an instance of MultiplyAssignmentExpression. */
169 public RetType forMultiplyAssignmentExpression(MultiplyAssignmentExpression that);
170
171 /** Process an instance of DivideAssignmentExpression. */
172 public RetType forDivideAssignmentExpression(DivideAssignmentExpression that);
173
174 /** Process an instance of ModAssignmentExpression. */
175 public RetType forModAssignmentExpression(ModAssignmentExpression that);
176
177 /** Process an instance of LeftShiftAssignmentExpression. */
178 public RetType forLeftShiftAssignmentExpression(LeftShiftAssignmentExpression that);
179
180 /** Process an instance of RightSignedShiftAssignmentExpression. */
181 public RetType forRightSignedShiftAssignmentExpression(RightSignedShiftAssignmentExpression that);
182
183 /** Process an instance of RightUnsignedShiftAssignmentExpression. */
184 public RetType forRightUnsignedShiftAssignmentExpression(RightUnsignedShiftAssignmentExpression that);
185
186 /** Process an instance of BitwiseAndAssignmentExpression. */
187 public RetType forBitwiseAndAssignmentExpression(BitwiseAndAssignmentExpression that);
188
189 /** Process an instance of BitwiseOrAssignmentExpression. */
190 public RetType forBitwiseOrAssignmentExpression(BitwiseOrAssignmentExpression that);
191
192 /** Process an instance of BitwiseXorAssignmentExpression. */
193 public RetType forBitwiseXorAssignmentExpression(BitwiseXorAssignmentExpression that);
194
195 /** Process an instance of OrExpression. */
196 public RetType forOrExpression(OrExpression that);
197
198 /** Process an instance of AndExpression. */
199 public RetType forAndExpression(AndExpression that);
200
201 /** Process an instance of BitwiseOrExpression. */
202 public RetType forBitwiseOrExpression(BitwiseOrExpression that);
203
204 /** Process an instance of BitwiseXorExpression. */
205 public RetType forBitwiseXorExpression(BitwiseXorExpression that);
206
207 /** Process an instance of BitwiseAndExpression. */
208 public RetType forBitwiseAndExpression(BitwiseAndExpression that);
209
210 /** Process an instance of EqualsExpression. */
211 public RetType forEqualsExpression(EqualsExpression that);
212
213 /** Process an instance of NotEqualExpression. */
214 public RetType forNotEqualExpression(NotEqualExpression that);
215
216 /** Process an instance of LessThanExpression. */
217 public RetType forLessThanExpression(LessThanExpression that);
218
219 /** Process an instance of LessThanOrEqualExpression. */
220 public RetType forLessThanOrEqualExpression(LessThanOrEqualExpression that);
221
222 /** Process an instance of GreaterThanExpression. */
223 public RetType forGreaterThanExpression(GreaterThanExpression that);
224
225 /** Process an instance of GreaterThanOrEqualExpression. */
226 public RetType forGreaterThanOrEqualExpression(GreaterThanOrEqualExpression that);
227
228 /** Process an instance of LeftShiftExpression. */
229 public RetType forLeftShiftExpression(LeftShiftExpression that);
230
231 /** Process an instance of RightSignedShiftExpression. */
232 public RetType forRightSignedShiftExpression(RightSignedShiftExpression that);
233
234 /** Process an instance of RightUnsignedShiftExpression. */
235 public RetType forRightUnsignedShiftExpression(RightUnsignedShiftExpression that);
236
237 /** Process an instance of PlusExpression. */
238 public RetType forPlusExpression(PlusExpression that);
239
240 /** Process an instance of MinusExpression. */
241 public RetType forMinusExpression(MinusExpression that);
242
243 /** Process an instance of MultiplyExpression. */
244 public RetType forMultiplyExpression(MultiplyExpression that);
245
246 /** Process an instance of DivideExpression. */
247 public RetType forDivideExpression(DivideExpression that);
248
249 /** Process an instance of ModExpression. */
250 public RetType forModExpression(ModExpression that);
251
252 /** Process an instance of NoOpExpression. */
253 public RetType forNoOpExpression(NoOpExpression that);
254
255 /** Process an instance of PositivePrefixIncrementExpression. */
256 public RetType forPositivePrefixIncrementExpression(PositivePrefixIncrementExpression that);
257
258 /** Process an instance of NegativePrefixIncrementExpression. */
259 public RetType forNegativePrefixIncrementExpression(NegativePrefixIncrementExpression that);
260
261 /** Process an instance of PositivePostfixIncrementExpression. */
262 public RetType forPositivePostfixIncrementExpression(PositivePostfixIncrementExpression that);
263
264 /** Process an instance of NegativePostfixIncrementExpression. */
265 public RetType forNegativePostfixIncrementExpression(NegativePostfixIncrementExpression that);
266
267 /** Process an instance of PositiveExpression. */
268 public RetType forPositiveExpression(PositiveExpression that);
269
270 /** Process an instance of NegativeExpression. */
271 public RetType forNegativeExpression(NegativeExpression that);
272
273 /** Process an instance of BitwiseNotExpression. */
274 public RetType forBitwiseNotExpression(BitwiseNotExpression that);
275
276 /** Process an instance of NotExpression. */
277 public RetType forNotExpression(NotExpression that);
278
279 /** Process an instance of ConditionalExpression. */
280 public RetType forConditionalExpression(ConditionalExpression that);
281
282 /** Process an instance of InstanceofExpression. */
283 public RetType forInstanceofExpression(InstanceofExpression that);
284
285 /** Process an instance of CastExpression. */
286 public RetType forCastExpression(CastExpression that);
287
288 /** Process an instance of IntegerLiteral. */
289 public RetType forIntegerLiteral(IntegerLiteral that);
290
291 /** Process an instance of LongLiteral. */
292 public RetType forLongLiteral(LongLiteral that);
293
294 /** Process an instance of DoubleLiteral. */
295 public RetType forDoubleLiteral(DoubleLiteral that);
296
297 /** Process an instance of FloatLiteral. */
298 public RetType forFloatLiteral(FloatLiteral that);
299
300 /** Process an instance of BooleanLiteral. */
301 public RetType forBooleanLiteral(BooleanLiteral that);
302
303 /** Process an instance of CharLiteral. */
304 public RetType forCharLiteral(CharLiteral that);
305
306 /** Process an instance of StringLiteral. */
307 public RetType forStringLiteral(StringLiteral that);
308
309 /** Process an instance of NullLiteral. */
310 public RetType forNullLiteral(NullLiteral that);
311
312 /** Process an instance of SimpleNamedClassInstantiation. */
313 public RetType forSimpleNamedClassInstantiation(SimpleNamedClassInstantiation that);
314
315 /** Process an instance of ComplexNamedClassInstantiation. */
316 public RetType forComplexNamedClassInstantiation(ComplexNamedClassInstantiation that);
317
318 /** Process an instance of SimpleAnonymousClassInstantiation. */
319 public RetType forSimpleAnonymousClassInstantiation(SimpleAnonymousClassInstantiation that);
320
321 /** Process an instance of ComplexAnonymousClassInstantiation. */
322 public RetType forComplexAnonymousClassInstantiation(ComplexAnonymousClassInstantiation that);
323
324 /** Process an instance of SimpleUninitializedArrayInstantiation. */
325 public RetType forSimpleUninitializedArrayInstantiation(SimpleUninitializedArrayInstantiation that);
326
327 /** Process an instance of ComplexUninitializedArrayInstantiation. */
328 public RetType forComplexUninitializedArrayInstantiation(ComplexUninitializedArrayInstantiation that);
329
330 /** Process an instance of SimpleInitializedArrayInstantiation. */
331 public RetType forSimpleInitializedArrayInstantiation(SimpleInitializedArrayInstantiation that);
332
333 /** Process an instance of ComplexInitializedArrayInstantiation. */
334 public RetType forComplexInitializedArrayInstantiation(ComplexInitializedArrayInstantiation that);
335
336 /** Process an instance of SimpleNameReference. */
337 public RetType forSimpleNameReference(SimpleNameReference that);
338
339 /** Process an instance of ComplexNameReference. */
340 public RetType forComplexNameReference(ComplexNameReference that);
341
342 /** Process an instance of SimpleThisReference. */
343 public RetType forSimpleThisReference(SimpleThisReference that);
344
345 /** Process an instance of ComplexThisReference. */
346 public RetType forComplexThisReference(ComplexThisReference that);
347
348 /** Process an instance of SimpleSuperReference. */
349 public RetType forSimpleSuperReference(SimpleSuperReference that);
350
351 /** Process an instance of ComplexSuperReference. */
352 public RetType forComplexSuperReference(ComplexSuperReference that);
353
354 /** Process an instance of SimpleMethodInvocation. */
355 public RetType forSimpleMethodInvocation(SimpleMethodInvocation that);
356
357 /** Process an instance of ComplexMethodInvocation. */
358 public RetType forComplexMethodInvocation(ComplexMethodInvocation that);
359
360 /** Process an instance of SimpleThisConstructorInvocation. */
361 public RetType forSimpleThisConstructorInvocation(SimpleThisConstructorInvocation that);
362
363 /** Process an instance of ComplexThisConstructorInvocation. */
364 public RetType forComplexThisConstructorInvocation(ComplexThisConstructorInvocation that);
365
366 /** Process an instance of SimpleSuperConstructorInvocation. */
367 public RetType forSimpleSuperConstructorInvocation(SimpleSuperConstructorInvocation that);
368
369 /** Process an instance of ComplexSuperConstructorInvocation. */
370 public RetType forComplexSuperConstructorInvocation(ComplexSuperConstructorInvocation that);
371
372 /** Process an instance of ClassLiteral. */
373 public RetType forClassLiteral(ClassLiteral that);
374
375 /** Process an instance of ArrayAccess. */
376 public RetType forArrayAccess(ArrayAccess that);
377
378 /** Process an instance of Parenthesized. */
379 public RetType forParenthesized(Parenthesized that);
380
381 /** Process an instance of EmptyExpression. */
382 public RetType forEmptyExpression(EmptyExpression that);
383
384 /** Process an instance of BracedBody. */
385 public RetType forBracedBody(BracedBody that);
386
387 /** Process an instance of UnbracedBody. */
388 public RetType forUnbracedBody(UnbracedBody that);
389
390 /** Process an instance of ParenthesizedExpressionList. */
391 public RetType forParenthesizedExpressionList(ParenthesizedExpressionList that);
392
393 /** Process an instance of UnparenthesizedExpressionList. */
394 public RetType forUnparenthesizedExpressionList(UnparenthesizedExpressionList that);
395
396 /** Process an instance of DimensionExpressionList. */
397 public RetType forDimensionExpressionList(DimensionExpressionList that);
398
399 /** Process an instance of EmptyForCondition. */
400 public RetType forEmptyForCondition(EmptyForCondition that);
401 }