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    }