1
ļ»æ// Copyright (c) AlphaSierraPapa for the SharpDevelop Team
3
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
4
// software and associated documentation files (the "Software"), to deal in the Software
5
// without restriction, including without limitation the rights to use, copy, modify, merge,
6
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
7
// to whom the Software is furnished to do so, subject to the following conditions:
9
// The above copyright notice and this permission notice shall be included in all copies or
10
// substantial portions of the Software.
12
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
15
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
16
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
17
// DEALINGS IN THE SOFTWARE.
21
namespace ICSharpCode.NRefactory.CSharp
26
public interface IAstVisitor
28
void VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression);
29
void VisitUndocumentedExpression(UndocumentedExpression undocumentedExpression);
30
void VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression);
31
void VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression);
32
void VisitAsExpression(AsExpression asExpression);
33
void VisitAssignmentExpression(AssignmentExpression assignmentExpression);
34
void VisitBaseReferenceExpression(BaseReferenceExpression baseReferenceExpression);
35
void VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression);
36
void VisitCastExpression(CastExpression castExpression);
37
void VisitCheckedExpression(CheckedExpression checkedExpression);
38
void VisitConditionalExpression(ConditionalExpression conditionalExpression);
39
void VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression);
40
void VisitDirectionExpression(DirectionExpression directionExpression);
41
void VisitIdentifierExpression(IdentifierExpression identifierExpression);
42
void VisitIndexerExpression(IndexerExpression indexerExpression);
43
void VisitInvocationExpression(InvocationExpression invocationExpression);
44
void VisitIsExpression(IsExpression isExpression);
45
void VisitLambdaExpression(LambdaExpression lambdaExpression);
46
void VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression);
47
void VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression);
48
void VisitNamedExpression(NamedExpression namedExpression);
49
void VisitNullReferenceExpression(NullReferenceExpression nullReferenceExpression);
50
void VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression);
51
void VisitAnonymousTypeCreateExpression(AnonymousTypeCreateExpression anonymousTypeCreateExpression);
52
void VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression);
53
void VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression);
54
void VisitPrimitiveExpression(PrimitiveExpression primitiveExpression);
55
void VisitSizeOfExpression(SizeOfExpression sizeOfExpression);
56
void VisitStackAllocExpression(StackAllocExpression stackAllocExpression);
57
void VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression);
58
void VisitTypeOfExpression(TypeOfExpression typeOfExpression);
59
void VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression);
60
void VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression);
61
void VisitUncheckedExpression(UncheckedExpression uncheckedExpression);
62
void VisitEmptyExpression (EmptyExpression emptyExpression);
64
void VisitQueryExpression(QueryExpression queryExpression);
65
void VisitQueryContinuationClause(QueryContinuationClause queryContinuationClause);
66
void VisitQueryFromClause(QueryFromClause queryFromClause);
67
void VisitQueryLetClause(QueryLetClause queryLetClause);
68
void VisitQueryWhereClause(QueryWhereClause queryWhereClause);
69
void VisitQueryJoinClause(QueryJoinClause queryJoinClause);
70
void VisitQueryOrderClause(QueryOrderClause queryOrderClause);
71
void VisitQueryOrdering(QueryOrdering queryOrdering);
72
void VisitQuerySelectClause(QuerySelectClause querySelectClause);
73
void VisitQueryGroupClause(QueryGroupClause queryGroupClause);
75
void VisitAttribute(Attribute attribute);
76
void VisitAttributeSection(AttributeSection attributeSection);
77
void VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration);
78
void VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration);
79
void VisitTypeDeclaration(TypeDeclaration typeDeclaration);
80
void VisitUsingAliasDeclaration(UsingAliasDeclaration usingAliasDeclaration);
81
void VisitUsingDeclaration(UsingDeclaration usingDeclaration);
82
void VisitExternAliasDeclaration(ExternAliasDeclaration externAliasDeclaration);
84
void VisitBlockStatement(BlockStatement blockStatement);
85
void VisitBreakStatement(BreakStatement breakStatement);
86
void VisitCheckedStatement(CheckedStatement checkedStatement);
87
void VisitContinueStatement(ContinueStatement continueStatement);
88
void VisitDoWhileStatement(DoWhileStatement doWhileStatement);
89
void VisitEmptyStatement(EmptyStatement emptyStatement);
90
void VisitExpressionStatement(ExpressionStatement expressionStatement);
91
void VisitFixedStatement(FixedStatement fixedStatement);
92
void VisitForeachStatement(ForeachStatement foreachStatement);
93
void VisitForStatement(ForStatement forStatement);
94
void VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement);
95
void VisitGotoDefaultStatement(GotoDefaultStatement gotoDefaultStatement);
96
void VisitGotoStatement(GotoStatement gotoStatement);
97
void VisitIfElseStatement(IfElseStatement ifElseStatement);
98
void VisitLabelStatement(LabelStatement labelStatement);
99
void VisitLockStatement(LockStatement lockStatement);
100
void VisitReturnStatement(ReturnStatement returnStatement);
101
void VisitSwitchStatement(SwitchStatement switchStatement);
102
void VisitSwitchSection(SwitchSection switchSection);
103
void VisitCaseLabel(CaseLabel caseLabel);
104
void VisitThrowStatement(ThrowStatement throwStatement);
105
void VisitTryCatchStatement(TryCatchStatement tryCatchStatement);
106
void VisitCatchClause(CatchClause catchClause);
107
void VisitUncheckedStatement(UncheckedStatement uncheckedStatement);
108
void VisitUnsafeStatement(UnsafeStatement unsafeStatement);
109
void VisitUsingStatement(UsingStatement usingStatement);
110
void VisitVariableDeclarationStatement(VariableDeclarationStatement variableDeclarationStatement);
111
void VisitWhileStatement(WhileStatement whileStatement);
112
void VisitYieldBreakStatement(YieldBreakStatement yieldBreakStatement);
113
void VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement);
115
void VisitAccessor(Accessor accessor);
116
void VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration);
117
void VisitConstructorInitializer(ConstructorInitializer constructorInitializer);
118
void VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration);
119
void VisitEnumMemberDeclaration(EnumMemberDeclaration enumMemberDeclaration);
120
void VisitEventDeclaration(EventDeclaration eventDeclaration);
121
void VisitCustomEventDeclaration(CustomEventDeclaration customEventDeclaration);
122
void VisitFieldDeclaration(FieldDeclaration fieldDeclaration);
123
void VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration);
124
void VisitMethodDeclaration(MethodDeclaration methodDeclaration);
125
void VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration);
126
void VisitParameterDeclaration(ParameterDeclaration parameterDeclaration);
127
void VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration);
128
void VisitVariableInitializer(VariableInitializer variableInitializer);
129
void VisitFixedFieldDeclaration(FixedFieldDeclaration fixedFieldDeclaration);
130
void VisitFixedVariableInitializer(FixedVariableInitializer fixedVariableInitializer);
132
void VisitCompilationUnit(CompilationUnit compilationUnit);
133
void VisitSimpleType(SimpleType simpleType);
134
void VisitMemberType(MemberType memberType);
135
void VisitComposedType(ComposedType composedType);
136
void VisitArraySpecifier(ArraySpecifier arraySpecifier);
137
void VisitPrimitiveType(PrimitiveType primitiveType);
139
void VisitComment(Comment comment);
140
void VisitNewLine(NewLineNode newLineNode);
141
void VisitWhitespace(WhitespaceNode whitespaceNode);
142
void VisitText(TextNode textNode);
143
void VisitPreProcessorDirective(PreProcessorDirective preProcessorDirective);
144
void VisitDocumentationReference(DocumentationReference documentationReference);
146
void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration);
147
void VisitConstraint(Constraint constraint);
148
void VisitCSharpTokenNode(CSharpTokenNode cSharpTokenNode);
149
void VisitIdentifier(Identifier identifier);
151
void VisitPatternPlaceholder(AstNode placeholder, PatternMatching.Pattern pattern);
157
public interface IAstVisitor<out S>
159
S VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression);
160
S VisitUndocumentedExpression(UndocumentedExpression undocumentedExpression);
161
S VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression);
162
S VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression);
163
S VisitAsExpression(AsExpression asExpression);
164
S VisitAssignmentExpression(AssignmentExpression assignmentExpression);
165
S VisitBaseReferenceExpression(BaseReferenceExpression baseReferenceExpression);
166
S VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression);
167
S VisitCastExpression(CastExpression castExpression);
168
S VisitCheckedExpression(CheckedExpression checkedExpression);
169
S VisitConditionalExpression(ConditionalExpression conditionalExpression);
170
S VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression);
171
S VisitDirectionExpression(DirectionExpression directionExpression);
172
S VisitIdentifierExpression(IdentifierExpression identifierExpression);
173
S VisitIndexerExpression(IndexerExpression indexerExpression);
174
S VisitInvocationExpression(InvocationExpression invocationExpression);
175
S VisitIsExpression(IsExpression isExpression);
176
S VisitLambdaExpression(LambdaExpression lambdaExpression);
177
S VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression);
178
S VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression);
179
S VisitNamedExpression(NamedExpression namedExpression);
180
S VisitNullReferenceExpression(NullReferenceExpression nullReferenceExpression);
181
S VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression);
182
S VisitAnonymousTypeCreateExpression(AnonymousTypeCreateExpression anonymousTypeCreateExpression);
183
S VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression);
184
S VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression);
185
S VisitPrimitiveExpression(PrimitiveExpression primitiveExpression);
186
S VisitSizeOfExpression(SizeOfExpression sizeOfExpression);
187
S VisitStackAllocExpression(StackAllocExpression stackAllocExpression);
188
S VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression);
189
S VisitTypeOfExpression(TypeOfExpression typeOfExpression);
190
S VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression);
191
S VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression);
192
S VisitUncheckedExpression(UncheckedExpression uncheckedExpression);
193
S VisitEmptyExpression (EmptyExpression emptyExpression);
195
S VisitQueryExpression(QueryExpression queryExpression);
196
S VisitQueryContinuationClause(QueryContinuationClause queryContinuationClause);
197
S VisitQueryFromClause(QueryFromClause queryFromClause);
198
S VisitQueryLetClause(QueryLetClause queryLetClause);
199
S VisitQueryWhereClause(QueryWhereClause queryWhereClause);
200
S VisitQueryJoinClause(QueryJoinClause queryJoinClause);
201
S VisitQueryOrderClause(QueryOrderClause queryOrderClause);
202
S VisitQueryOrdering(QueryOrdering queryOrdering);
203
S VisitQuerySelectClause(QuerySelectClause querySelectClause);
204
S VisitQueryGroupClause(QueryGroupClause queryGroupClause);
206
S VisitAttribute(Attribute attribute);
207
S VisitAttributeSection(AttributeSection attributeSection);
208
S VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration);
209
S VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration);
210
S VisitTypeDeclaration(TypeDeclaration typeDeclaration);
211
S VisitUsingAliasDeclaration(UsingAliasDeclaration usingAliasDeclaration);
212
S VisitUsingDeclaration(UsingDeclaration usingDeclaration);
213
S VisitExternAliasDeclaration(ExternAliasDeclaration externAliasDeclaration);
215
S VisitBlockStatement(BlockStatement blockStatement);
216
S VisitBreakStatement(BreakStatement breakStatement);
217
S VisitCheckedStatement(CheckedStatement checkedStatement);
218
S VisitContinueStatement(ContinueStatement continueStatement);
219
S VisitDoWhileStatement(DoWhileStatement doWhileStatement);
220
S VisitEmptyStatement(EmptyStatement emptyStatement);
221
S VisitExpressionStatement(ExpressionStatement expressionStatement);
222
S VisitFixedStatement(FixedStatement fixedStatement);
223
S VisitForeachStatement(ForeachStatement foreachStatement);
224
S VisitForStatement(ForStatement forStatement);
225
S VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement);
226
S VisitGotoDefaultStatement(GotoDefaultStatement gotoDefaultStatement);
227
S VisitGotoStatement(GotoStatement gotoStatement);
228
S VisitIfElseStatement(IfElseStatement ifElseStatement);
229
S VisitLabelStatement(LabelStatement labelStatement);
230
S VisitLockStatement(LockStatement lockStatement);
231
S VisitReturnStatement(ReturnStatement returnStatement);
232
S VisitSwitchStatement(SwitchStatement switchStatement);
233
S VisitSwitchSection(SwitchSection switchSection);
234
S VisitCaseLabel(CaseLabel caseLabel);
235
S VisitThrowStatement(ThrowStatement throwStatement);
236
S VisitTryCatchStatement(TryCatchStatement tryCatchStatement);
237
S VisitCatchClause(CatchClause catchClause);
238
S VisitUncheckedStatement(UncheckedStatement uncheckedStatement);
239
S VisitUnsafeStatement(UnsafeStatement unsafeStatement);
240
S VisitUsingStatement(UsingStatement usingStatement);
241
S VisitVariableDeclarationStatement(VariableDeclarationStatement variableDeclarationStatement);
242
S VisitWhileStatement(WhileStatement whileStatement);
243
S VisitYieldBreakStatement(YieldBreakStatement yieldBreakStatement);
244
S VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement);
246
S VisitAccessor(Accessor accessor);
247
S VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration);
248
S VisitConstructorInitializer(ConstructorInitializer constructorInitializer);
249
S VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration);
250
S VisitEnumMemberDeclaration(EnumMemberDeclaration enumMemberDeclaration);
251
S VisitEventDeclaration(EventDeclaration eventDeclaration);
252
S VisitCustomEventDeclaration(CustomEventDeclaration customEventDeclaration);
253
S VisitFieldDeclaration(FieldDeclaration fieldDeclaration);
254
S VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration);
255
S VisitMethodDeclaration(MethodDeclaration methodDeclaration);
256
S VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration);
257
S VisitParameterDeclaration(ParameterDeclaration parameterDeclaration);
258
S VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration);
259
S VisitVariableInitializer(VariableInitializer variableInitializer);
260
S VisitFixedFieldDeclaration(FixedFieldDeclaration fixedFieldDeclaration);
261
S VisitFixedVariableInitializer(FixedVariableInitializer fixedVariableInitializer);
263
S VisitCompilationUnit(CompilationUnit compilationUnit);
264
S VisitSimpleType(SimpleType simpleType);
265
S VisitMemberType(MemberType memberType);
266
S VisitComposedType(ComposedType composedType);
267
S VisitArraySpecifier(ArraySpecifier arraySpecifier);
268
S VisitPrimitiveType(PrimitiveType primitiveType);
270
S VisitComment(Comment comment);
271
S VisitWhitespace(WhitespaceNode whitespaceNode);
272
S VisitText(TextNode textNode);
273
S VisitNewLine(NewLineNode newLineNode);
274
S VisitPreProcessorDirective(PreProcessorDirective preProcessorDirective);
275
S VisitDocumentationReference(DocumentationReference documentationReference);
277
S VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration);
278
S VisitConstraint(Constraint constraint);
279
S VisitCSharpTokenNode(CSharpTokenNode cSharpTokenNode);
280
S VisitIdentifier(Identifier identifier);
282
S VisitPatternPlaceholder(AstNode placeholder, PatternMatching.Pattern pattern);
288
public interface IAstVisitor<in T, out S>
290
S VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression, T data);
291
S VisitUndocumentedExpression(UndocumentedExpression undocumentedExpression, T data);
292
S VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression, T data);
293
S VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression, T data);
294
S VisitAsExpression(AsExpression asExpression, T data);
295
S VisitAssignmentExpression(AssignmentExpression assignmentExpression, T data);
296
S VisitBaseReferenceExpression(BaseReferenceExpression baseReferenceExpression, T data);
297
S VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression, T data);
298
S VisitCastExpression(CastExpression castExpression, T data);
299
S VisitCheckedExpression(CheckedExpression checkedExpression, T data);
300
S VisitConditionalExpression(ConditionalExpression conditionalExpression, T data);
301
S VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression, T data);
302
S VisitDirectionExpression(DirectionExpression directionExpression, T data);
303
S VisitIdentifierExpression(IdentifierExpression identifierExpression, T data);
304
S VisitIndexerExpression(IndexerExpression indexerExpression, T data);
305
S VisitInvocationExpression(InvocationExpression invocationExpression, T data);
306
S VisitIsExpression(IsExpression isExpression, T data);
307
S VisitLambdaExpression(LambdaExpression lambdaExpression, T data);
308
S VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression, T data);
309
S VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression, T data);
310
S VisitNamedExpression(NamedExpression namedExpression, T data);
311
S VisitNullReferenceExpression(NullReferenceExpression nullReferenceExpression, T data);
312
S VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression, T data);
313
S VisitAnonymousTypeCreateExpression(AnonymousTypeCreateExpression anonymousTypeCreateExpression, T data);
314
S VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression, T data);
315
S VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression, T data);
316
S VisitPrimitiveExpression(PrimitiveExpression primitiveExpression, T data);
317
S VisitSizeOfExpression(SizeOfExpression sizeOfExpression, T data);
318
S VisitStackAllocExpression(StackAllocExpression stackAllocExpression, T data);
319
S VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression, T data);
320
S VisitTypeOfExpression(TypeOfExpression typeOfExpression, T data);
321
S VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression, T data);
322
S VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression, T data);
323
S VisitUncheckedExpression(UncheckedExpression uncheckedExpression, T data);
324
S VisitEmptyExpression (EmptyExpression emptyExpression, T data);
326
S VisitQueryExpression(QueryExpression queryExpression, T data);
327
S VisitQueryContinuationClause(QueryContinuationClause queryContinuationClause, T data);
328
S VisitQueryFromClause(QueryFromClause queryFromClause, T data);
329
S VisitQueryLetClause(QueryLetClause queryLetClause, T data);
330
S VisitQueryWhereClause(QueryWhereClause queryWhereClause, T data);
331
S VisitQueryJoinClause(QueryJoinClause queryJoinClause, T data);
332
S VisitQueryOrderClause(QueryOrderClause queryOrderClause, T data);
333
S VisitQueryOrdering(QueryOrdering queryOrdering, T data);
334
S VisitQuerySelectClause(QuerySelectClause querySelectClause, T data);
335
S VisitQueryGroupClause(QueryGroupClause queryGroupClause, T data);
337
S VisitAttribute(Attribute attribute, T data);
338
S VisitAttributeSection(AttributeSection attributeSection, T data);
339
S VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration, T data);
340
S VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, T data);
341
S VisitTypeDeclaration(TypeDeclaration typeDeclaration, T data);
342
S VisitUsingAliasDeclaration(UsingAliasDeclaration usingAliasDeclaration, T data);
343
S VisitUsingDeclaration(UsingDeclaration usingDeclaration, T data);
344
S VisitExternAliasDeclaration(ExternAliasDeclaration externAliasDeclaration, T data);
346
S VisitBlockStatement(BlockStatement blockStatement, T data);
347
S VisitBreakStatement(BreakStatement breakStatement, T data);
348
S VisitCheckedStatement(CheckedStatement checkedStatement, T data);
349
S VisitContinueStatement(ContinueStatement continueStatement, T data);
350
S VisitDoWhileStatement(DoWhileStatement doWhileStatement, T data);
351
S VisitEmptyStatement(EmptyStatement emptyStatement, T data);
352
S VisitExpressionStatement(ExpressionStatement expressionStatement, T data);
353
S VisitFixedStatement(FixedStatement fixedStatement, T data);
354
S VisitForeachStatement(ForeachStatement foreachStatement, T data);
355
S VisitForStatement(ForStatement forStatement, T data);
356
S VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement, T data);
357
S VisitGotoDefaultStatement(GotoDefaultStatement gotoDefaultStatement, T data);
358
S VisitGotoStatement(GotoStatement gotoStatement, T data);
359
S VisitIfElseStatement(IfElseStatement ifElseStatement, T data);
360
S VisitLabelStatement(LabelStatement labelStatement, T data);
361
S VisitLockStatement(LockStatement lockStatement, T data);
362
S VisitReturnStatement(ReturnStatement returnStatement, T data);
363
S VisitSwitchStatement(SwitchStatement switchStatement, T data);
364
S VisitSwitchSection(SwitchSection switchSection, T data);
365
S VisitCaseLabel(CaseLabel caseLabel, T data);
366
S VisitThrowStatement(ThrowStatement throwStatement, T data);
367
S VisitTryCatchStatement(TryCatchStatement tryCatchStatement, T data);
368
S VisitCatchClause(CatchClause catchClause, T data);
369
S VisitUncheckedStatement(UncheckedStatement uncheckedStatement, T data);
370
S VisitUnsafeStatement(UnsafeStatement unsafeStatement, T data);
371
S VisitUsingStatement(UsingStatement usingStatement, T data);
372
S VisitVariableDeclarationStatement(VariableDeclarationStatement variableDeclarationStatement, T data);
373
S VisitWhileStatement(WhileStatement whileStatement, T data);
374
S VisitYieldBreakStatement(YieldBreakStatement yieldBreakStatement, T data);
375
S VisitYieldReturnStatement(YieldReturnStatement yieldReturnStatement, T data);
377
S VisitAccessor(Accessor accessor, T data);
378
S VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration, T data);
379
S VisitConstructorInitializer(ConstructorInitializer constructorInitializer, T data);
380
S VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration, T data);
381
S VisitEnumMemberDeclaration(EnumMemberDeclaration enumMemberDeclaration, T data);
382
S VisitEventDeclaration(EventDeclaration eventDeclaration, T data);
383
S VisitCustomEventDeclaration(CustomEventDeclaration customEventDeclaration, T data);
384
S VisitFieldDeclaration(FieldDeclaration fieldDeclaration, T data);
385
S VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration, T data);
386
S VisitMethodDeclaration(MethodDeclaration methodDeclaration, T data);
387
S VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration, T data);
388
S VisitParameterDeclaration(ParameterDeclaration parameterDeclaration, T data);
389
S VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, T data);
390
S VisitVariableInitializer(VariableInitializer variableInitializer, T data);
391
S VisitFixedFieldDeclaration(FixedFieldDeclaration fixedFieldDeclaration, T data);
392
S VisitFixedVariableInitializer(FixedVariableInitializer fixedVariableInitializer, T data);
394
S VisitCompilationUnit(CompilationUnit compilationUnit, T data);
395
S VisitSimpleType(SimpleType simpleType, T data);
396
S VisitMemberType(MemberType memberType, T data);
397
S VisitComposedType(ComposedType composedType, T data);
398
S VisitArraySpecifier(ArraySpecifier arraySpecifier, T data);
399
S VisitPrimitiveType(PrimitiveType primitiveType, T data);
401
S VisitComment(Comment comment, T data);
402
S VisitNewLine(NewLineNode newLineNode, T data);
403
S VisitWhitespace(WhitespaceNode whitespaceNode, T data);
404
S VisitText(TextNode textNode, T data);
405
S VisitPreProcessorDirective(PreProcessorDirective preProcessorDirective, T data);
406
S VisitDocumentationReference(DocumentationReference documentationReference, T data);
408
S VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, T data);
409
S VisitConstraint(Constraint constraint, T data);
410
S VisitCSharpTokenNode(CSharpTokenNode cSharpTokenNode, T data);
411
S VisitIdentifier(Identifier identifier, T data);
413
S VisitPatternPlaceholder(AstNode placeholder, PatternMatching.Pattern pattern, T data);