mirror of https://github.com/icsharpcode/ILSpy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
6.3 KiB
101 lines
6.3 KiB
// 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 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 VisitAddressOfExpression(AddressOfExpression addressOfExpression, 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 VisitSelectStatement(SelectStatement selectStatement, T data); |
|
S VisitYieldStatement(YieldStatement yieldStatement, 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 VisitVariableInitializer(VariableInitializer variableInitializer, T data); |
|
} |
|
}
|
|
|