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.
140 lines
8.1 KiB
140 lines
8.1 KiB
// |
|
// IDomVisitor.cs |
|
// |
|
// Author: |
|
// Mike Krüger <mkrueger@novell.com> |
|
// |
|
// Copyright (c) 2009 Novell, Inc (http://www.novell.com) |
|
// |
|
// Permission is hereby granted, free of charge, to any person obtaining a copy |
|
// of this software and associated documentation files (the "Software"), to deal |
|
// in the Software without restriction, including without limitation the rights |
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
// copies of the Software, and to permit persons to whom the Software is |
|
// furnished to do so, subject to the following conditions: |
|
// |
|
// The above copyright notice and this permission notice shall be included in |
|
// all copies or substantial portions of the Software. |
|
// |
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|
// THE SOFTWARE. |
|
|
|
using System; |
|
|
|
namespace ICSharpCode.NRefactory.CSharp |
|
{ |
|
public interface IDomVisitor<T, S> |
|
{ |
|
S VisitCompilationUnit (CompilationUnit unit, T data); |
|
|
|
#region General scope |
|
S VisitAttribute (Attribute attribute, T data); |
|
S VisitAttributeSection (AttributeSection attributeSection, T data); |
|
S VisitDelegateDeclaration (DelegateDeclaration delegateDeclaration, T data); |
|
S VisitNamespaceDeclaration (NamespaceDeclaration namespaceDeclaration, T data); |
|
S VisitTypeDeclaration (TypeDeclaration typeDeclaration, T data); |
|
S VisitEnumMemberDeclaration (EnumMemberDeclaration enumMemberDeclaration, T data); |
|
S VisitUsingDeclaration (UsingDeclaration usingDeclaration, T data); |
|
S VisitUsingAliasDeclaration (UsingAliasDeclaration usingDeclaration, T data); |
|
S VisitFullTypeName (FullTypeName fullTypeName, T data); |
|
S VisitIdentifier (Identifier identifier, T data); |
|
S VisitParameterDeclaration (ParameterDeclaration parameterDeclaration, T data); |
|
S VisitConstraint (Constraint constraint, T data); |
|
S VisitComposedType (ComposedType composedType, T data); |
|
#endregion |
|
|
|
#region Type members |
|
S VisitConstructorDeclaration (ConstructorDeclaration constructorDeclaration, T data); |
|
S VisitConstructorInitializer (ConstructorInitializer constructorInitializer, T data); |
|
S VisitDestructorDeclaration (DestructorDeclaration destructorDeclaration, T data); |
|
S VisitEventDeclaration (EventDeclaration eventDeclaration, T data); |
|
S VisitFieldDeclaration (FieldDeclaration fieldDeclaration, T data); |
|
S VisitIndexerDeclaration (IndexerDeclaration indexerDeclaration, T data); |
|
S VisitMethodDeclaration (MethodDeclaration methodDeclaration, T data); |
|
S VisitOperatorDeclaration (OperatorDeclaration operatorDeclaration, T data); |
|
S VisitPropertyDeclaration (PropertyDeclaration propertyDeclaration, T data); |
|
S VisitAccessorDeclaration (Accessor accessorDeclaration, T data); |
|
S VisitVariableInitializer (VariableInitializer variableInitializer, T data); |
|
#endregion |
|
|
|
#region Statements |
|
S VisitBlockStatement (BlockStatement blockStatement, T data); |
|
S VisitExpressionStatement (ExpressionStatement expressionStatement, T data); |
|
S VisitBreakStatement (BreakStatement breakStatement, T data); |
|
S VisitCheckedStatement (CheckedStatement checkedStatement, T data); |
|
S VisitContinueStatement (ContinueStatement continueStatement, T data); |
|
S VisitEmptyStatement (EmptyStatement emptyStatement, T data); |
|
S VisitFixedStatement (FixedStatement fixedStatement, T data); |
|
S VisitForeachStatement (ForeachStatement foreachStatement, T data); |
|
S VisitForStatement (ForStatement forStatement, T data); |
|
S VisitGotoStatement (GotoStatement gotoStatement, T data); |
|
S VisitIfElseStatement (IfElseStatement ifElseStatement, T data); |
|
S VisitLabelStatement (LabelStatement labelStatement, T data); |
|
S VisitLockStatement (LockStatement lockStatement, T data); |
|
S VisitReturnStatement (ReturnStatement returnStatement, T data); |
|
S VisitSwitchStatement (SwitchStatement switchStatement, T data); |
|
S VisitSwitchSection (SwitchSection switchSection, T data); |
|
S VisitCaseLabel (CaseLabel caseLabel, T data); |
|
|
|
S VisitThrowStatement (ThrowStatement throwStatement, T data); |
|
S VisitTryCatchStatement (TryCatchStatement tryCatchStatement, T data); |
|
S VisitCatchClause (CatchClause catchClause, T data); |
|
|
|
S VisitUncheckedStatement (UncheckedStatement uncheckedStatement, T data); |
|
S VisitUnsafeStatement (UnsafeStatement unsafeStatement, T data); |
|
S VisitUsingStatement (UsingStatement usingStatement, T data); |
|
S VisitVariableDeclarationStatement (VariableDeclarationStatement variableDeclarationStatement, T data); |
|
S VisitWhileStatement (WhileStatement whileStatement, T data); |
|
S VisitYieldStatement (YieldStatement yieldStatement, T data); |
|
#endregion |
|
|
|
#region Expressions |
|
S VisitAnonymousMethodExpression (AnonymousMethodExpression anonymousMethodExpression, T data); |
|
S VisitLambdaExpression (LambdaExpression lambdaExpression, T data); |
|
S VisitAssignmentExpression (AssignmentExpression assignmentExpression, T data); |
|
S VisitBaseReferenceExpression (BaseReferenceExpression baseReferenceExpression, T data); |
|
S VisitBinaryOperatorExpression (BinaryOperatorExpression binaryOperatorExpression, T data); |
|
S VisitCastExpression (CastExpression castExpression, T data); |
|
S VisitCheckedExpression (CheckedExpression checkedExpression, T data); |
|
S VisitConditionalExpression (ConditionalExpression conditionalExpression, T data); |
|
S VisitIdentifierExpression (IdentifierExpression identifierExpression, T data); |
|
S VisitIndexerExpression (IndexerExpression indexerExpression, T data); |
|
S VisitInvocationExpression (InvocationExpression invocationExpression, T data); |
|
S VisitDirectionExpression (DirectionExpression directionExpression, T data); |
|
S VisitMemberReferenceExpression (MemberReferenceExpression memberReferenceExpression, T data); |
|
S VisitNullReferenceExpression (NullReferenceExpression nullReferenceExpression, T data); |
|
S VisitObjectCreateExpression (ObjectCreateExpression objectCreateExpression, T data); |
|
S VisitArrayObjectCreateExpression (ArrayObjectCreateExpression arrayObjectCreateExpression, T data); |
|
|
|
S VisitParenthesizedExpression (ParenthesizedExpression parenthesizedExpression, T data); |
|
S VisitPointerReferenceExpression (PointerReferenceExpression pointerReferenceExpression, T data); |
|
S VisitPrimitiveExpression(PrimitiveExpression primitiveExpression, T data); |
|
S VisitSizeOfExpression (SizeOfExpression sizeOfExpression, T data); |
|
S VisitStackAllocExpression (StackAllocExpression stackAllocExpression, T data); |
|
S VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression, T data); |
|
S VisitTypeOfExpression (TypeOfExpression typeOfExpression, T data); |
|
S VisitUnaryOperatorExpression (UnaryOperatorExpression unaryOperatorExpression, T data); |
|
S VisitUncheckedExpression (UncheckedExpression uncheckedExpression, T data); |
|
S VisitAsExpression (AsExpression asExpression, T data); |
|
S VisitIsExpression (IsExpression isExpression, T data); |
|
S VisitDefaultValueExpression (DefaultValueExpression defaultValueExpression, T data); |
|
S VisitArgListExpression (ArgListExpression argListExpression, T data); |
|
#endregion |
|
|
|
#region Query Expressions |
|
S VisitQueryExpressionFromClause (QueryExpressionFromClause queryExpressionFromClause, T data); |
|
S VisitQueryExpressionWhereClause (QueryExpressionWhereClause queryExpressionWhereClause, T data); |
|
S VisitQueryExpressionJoinClause (QueryExpressionJoinClause queryExpressionJoinClause, T data); |
|
S VisitQueryExpressionGroupClause (QueryExpressionGroupClause queryExpressionGroupClause, T data); |
|
S VisitQueryExpressionLetClause (QueryExpressionLetClause queryExpressionLetClause, T data); |
|
S VisitQueryExpressionOrderClause (QueryExpressionOrderClause queryExpressionOrderClause, T data); |
|
S VisitQueryExpressionOrdering (QueryExpressionOrdering queryExpressionOrdering, T data); |
|
S VisitQueryExpressionSelectClause (QueryExpressionSelectClause queryExpressionSelectClause, T data); |
|
#endregion |
|
} |
|
}
|
|
|