File: IAstVisitor.cs

package info (click to toggle)
monodevelop 4.0.12%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 219,596 kB
  • ctags: 253,200
  • sloc: cs: 1,486,058; xml: 952,347; java: 60,981; makefile: 4,213; sh: 1,727; ansic: 867; objc: 302; sql: 111
file content (135 lines) | stat: -rw-r--r-- 8,759 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)

using System;
using ICSharpCode.NRefactory.VB.Ast;
using Attribute = ICSharpCode.NRefactory.VB.Ast.Attribute;

namespace ICSharpCode.NRefactory.VB {
	public interface IAstVisitor<in T, out S>
	{
		S VisitBlockStatement(BlockStatement blockStatement, T data);
		S VisitComment(Comment comment, T data);
		S VisitCompilationUnit(CompilationUnit compilationUnit, T data);
		S VisitPatternPlaceholder(AstNode placeholder, PatternMatching.Pattern pattern, T data);
		S VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, T data);
		S VisitParameterDeclaration(ParameterDeclaration parameterDeclaration, T data);
		S VisitVBTokenNode(VBTokenNode vBTokenNode, T data);
		S VisitEventMemberSpecifier(EventMemberSpecifier eventMemberSpecifier, T data);
		S VisitInterfaceMemberSpecifier(InterfaceMemberSpecifier interfaceMemberSpecifier, T data);
		
		// Global scope
		S VisitAliasImportsClause(AliasImportsClause aliasImportsClause, T data);
		S VisitAttribute(Attribute attribute, T data);
		S VisitAttributeBlock(AttributeBlock attributeBlock, T data);
		S VisitImportsStatement(ImportsStatement importsStatement, T data);
		S VisitMemberImportsClause(MemberImportsClause memberImportsClause, T data);
		S VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, T data);
		S VisitOptionStatement(OptionStatement optionStatement, T data);
		S VisitTypeDeclaration(TypeDeclaration typeDeclaration, T data);
		S VisitXmlNamespaceImportsClause(XmlNamespaceImportsClause xmlNamespaceImportsClause, T data);
		S VisitEnumDeclaration(EnumDeclaration enumDeclaration, T data);
		S VisitEnumMemberDeclaration(EnumMemberDeclaration enumMemberDeclaration, T data);
		S VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration, T data);
		
		// TypeMember scope
		S VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration, T data);
		S VisitMethodDeclaration(MethodDeclaration methodDeclaration, T data);
		S VisitExternalMethodDeclaration(ExternalMethodDeclaration externalMethodDeclaration, T data);
		S VisitFieldDeclaration(FieldDeclaration fieldDeclaration, T data);
		S VisitVariableDeclaratorWithTypeAndInitializer(VariableDeclaratorWithTypeAndInitializer variableDeclaratorWithTypeAndInitializer, T data);
		S VisitVariableDeclaratorWithObjectCreation(VariableDeclaratorWithObjectCreation variableDeclaratorWithObjectCreation, T data);
		S VisitVariableIdentifier(VariableIdentifier variableIdentifier, T data);
		S VisitAccessor(Accessor accessor, T data);
		S VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, T data);
		S VisitEventDeclaration(EventDeclaration eventDeclaration, T data);
		S VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration, T data);
		
		// Expression scope
		S VisitIdentifier(Identifier identifier, T data);
		S VisitXmlIdentifier(XmlIdentifier xmlIdentifier, T data);
		S VisitXmlLiteralString(XmlLiteralString xmlLiteralString, T data);
		S VisitSimpleNameExpression(SimpleNameExpression identifierExpression, T data);
		S VisitPrimitiveExpression(PrimitiveExpression primitiveExpression, T data);
		S VisitInstanceExpression(InstanceExpression instanceExpression, T data);
		S VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression, T data);
		S VisitGetTypeExpression(GetTypeExpression getTypeExpression, T data);
		S VisitTypeOfIsExpression(TypeOfIsExpression typeOfIsExpression, T data);
		S VisitGetXmlNamespaceExpression(GetXmlNamespaceExpression getXmlNamespaceExpression, T data);
		S VisitMemberAccessExpression(MemberAccessExpression memberAccessExpression, T data);
		S VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression, T data);
		S VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression, T data);
		S VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression, T data);
		S VisitAssignmentExpression(AssignmentExpression assignmentExpression, T data);
		S VisitIdentifierExpression(IdentifierExpression identifierExpression, T data);
		S VisitInvocationExpression(InvocationExpression invocationExpression, T data);
		S VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression, T data);
		S VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression, T data);
		S VisitObjectCreationExpression(ObjectCreationExpression objectCreationExpression, T data);
		S VisitCastExpression(CastExpression castExpression, T data);
		S VisitFieldInitializerExpression(FieldInitializerExpression fieldInitializerExpression, T data);
		S VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression, T data);
		S VisitConditionalExpression(ConditionalExpression conditionalExpression, T data);
		
		// Statement scope
		S VisitLabelDeclarationStatement(LabelDeclarationStatement labelDeclarationStatement, T data);
		S VisitLocalDeclarationStatement(LocalDeclarationStatement localDeclarationStatement, T data);
		S VisitExpressionStatement(ExpressionStatement expressionStatement, T data);
		S VisitWithStatement(WithStatement withStatement, T data);
		S VisitSyncLockStatement(SyncLockStatement syncLockStatement, T data);
		S VisitIfElseStatement(IfElseStatement ifElseStatement, T data);
		S VisitTryStatement(TryStatement tryStatement, T data);
		S VisitThrowStatement(ThrowStatement throwStatement, T data);
		S VisitCatchBlock(CatchBlock catchBlock, T data);
		S VisitReturnStatement(ReturnStatement returnStatement, T data);
		S VisitWhileStatement(WhileStatement whileStatement, T data);
		S VisitForStatement(ForStatement forStatement, T data);
		S VisitForEachStatement(ForEachStatement forEachStatement, T data);
		S VisitExitStatement(ExitStatement exitStatement, T data);
		S VisitContinueStatement(ContinueStatement continueStatement, T data);
		S VisitSelectStatement(SelectStatement selectStatement, T data);
		S VisitYieldStatement(YieldStatement yieldStatement, T data);
		S VisitVariableInitializer(VariableInitializer variableInitializer, T data);
		S VisitRangeCaseClause(RangeCaseClause rangeCaseClause, T data);
		S VisitComparisonCaseClause(ComparisonCaseClause comparisonCaseClause, T data);
		S VisitSimpleCaseClause(SimpleCaseClause simpleCaseClause, T data);
		S VisitCaseStatement(CaseStatement caseStatement, T data);
		S VisitDoLoopStatement(DoLoopStatement doLoopStatement, T data);
		S VisitUsingStatement(UsingStatement usingStatement, T data);
		
		// TypeName
		S VisitPrimitiveType(PrimitiveType primitiveType, T data);
		S VisitQualifiedType(QualifiedType qualifiedType, T data);
		S VisitComposedType(ComposedType composedType, T data);
		S VisitArraySpecifier(ArraySpecifier arraySpecifier, T data);
		S VisitSimpleType(SimpleType simpleType, T data);
		
		S VisitGoToStatement(GoToStatement goToStatement, T data);
		
		S VisitSingleLineSubLambdaExpression(SingleLineSubLambdaExpression singleLineSubLambdaExpression, T data);
		S VisitMultiLineLambdaExpression(MultiLineLambdaExpression multiLineLambdaExpression, T data);
		S VisitSingleLineFunctionLambdaExpression(SingleLineFunctionLambdaExpression singleLineFunctionLambdaExpression, T data);
		
		S VisitQueryExpression(QueryExpression queryExpression, T data);
		
		S VisitEmptyExpression(EmptyExpression emptyExpression, T data);
		
		S VisitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression anonymousObjectCreationExpression, T data);
		
		S VisitCollectionRangeVariableDeclaration(CollectionRangeVariableDeclaration collectionRangeVariableDeclaration, T data);
		
		S VisitFromQueryOperator(FromQueryOperator fromQueryOperator, T data);
		S VisitAggregateQueryOperator(AggregateQueryOperator aggregateQueryOperator, T data);
		S VisitSelectQueryOperator(SelectQueryOperator selectQueryOperator, T data);
		S VisitDistinctQueryOperator(DistinctQueryOperator distinctQueryOperator, T data);
		S VisitWhereQueryOperator(WhereQueryOperator whereQueryOperator, T data);
		S VisitOrderExpression(OrderExpression orderExpression, T data);
		S VisitOrderByQueryOperator(OrderByQueryOperator orderByQueryOperator, T data);
		S VisitPartitionQueryOperator(PartitionQueryOperator partitionQueryOperator, T data);
		S VisitLetQueryOperator(LetQueryOperator letQueryOperator, T data);
		S VisitGroupByQueryOperator(GroupByQueryOperator groupByQueryOperator, T data);
		S VisitJoinQueryOperator(JoinQueryOperator joinQueryOperator, T data);
		S VisitJoinCondition(JoinCondition joinCondition, T data);
		S VisitGroupJoinQueryOperator(GroupJoinQueryOperator groupJoinQueryOperator, T data);
	}
}