Browse Source

Include NodeTrackingAstVisitor in NRefactory.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1867 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
26fad390b9
  1. 1
      src/AddIns/Misc/ResourceToolkit/Project/ResourceToolkit.csproj
  2. 2
      src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/PositionTrackingAstVisitor.cs
  3. 2
      src/Libraries/NRefactory/NRefactory.sln
  4. 85
      src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs
  5. 1
      src/Libraries/NRefactory/Project/NRefactory.csproj
  6. 211
      src/Libraries/NRefactory/Project/Src/Visitors/NodeTrackingAstVisitor.cs

1
src/AddIns/Misc/ResourceToolkit/Project/ResourceToolkit.csproj

@ -63,7 +63,6 @@
<Compile Include="Src\Resolver\ICSharpCodeCoreResourceResolver.cs" /> <Compile Include="Src\Resolver\ICSharpCodeCoreResourceResolver.cs" />
<Compile Include="Src\Resolver\INRefactoryResourceResolver.cs" /> <Compile Include="Src\Resolver\INRefactoryResourceResolver.cs" />
<Compile Include="Src\Resolver\IResourceResolver.cs" /> <Compile Include="Src\Resolver\IResourceResolver.cs" />
<Compile Include="Src\Resolver\NodeTrackingAstVisitor.cs" />
<Compile Include="Src\Resolver\NRefactoryAstCacheService.cs" /> <Compile Include="Src\Resolver\NRefactoryAstCacheService.cs" />
<Compile Include="Src\Resolver\NRefactoryResourceResolver.cs" /> <Compile Include="Src\Resolver\NRefactoryResourceResolver.cs" />
<Compile Include="Src\Resolver\PositionTrackingAstVisitor.cs" /> <Compile Include="Src\Resolver\PositionTrackingAstVisitor.cs" />

2
src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/PositionTrackingAstVisitor.cs

@ -21,7 +21,7 @@ namespace Hornung.ResourceToolkit.Resolver
/// Provides contextual position information while iterating through /// Provides contextual position information while iterating through
/// the AST and the ability to resolve expressions in-place. /// the AST and the ability to resolve expressions in-place.
/// </summary> /// </summary>
public abstract class PositionTrackingAstVisitor : NodeTrackingAstVisitor public abstract class PositionTrackingAstVisitor : ICSharpCode.NRefactory.Visitors.NodeTrackingAstVisitor
{ {
private Stack<INode> parentNodes; private Stack<INode> parentNodes;

2
src/Libraries/NRefactory/NRefactory.sln

@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00 Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.1.0.1602 # SharpDevelop 2.1.0.1865
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}"

85
src/Libraries/NRefactory/NRefactoryASTGenerator/Main.cs

@ -136,6 +136,20 @@ namespace NRefactoryASTGenerator
new Microsoft.CSharp.CSharpCodeProvider().GenerateCodeFromCompileUnit(ccu, writer, settings); new Microsoft.CSharp.CSharpCodeProvider().GenerateCodeFromCompileUnit(ccu, writer, settings);
File.WriteAllText(visitorsDir + "AbstractAstTransformer.cs", writer.ToString()); File.WriteAllText(visitorsDir + "AbstractAstTransformer.cs", writer.ToString());
} }
ccu = new CodeCompileUnit();
cns = new CodeNamespace("ICSharpCode.NRefactory.Visitors");
ccu.Namespaces.Add(cns);
cns.Imports.Add(new CodeNamespaceImport("System"));
cns.Imports.Add(new CodeNamespaceImport("ICSharpCode.NRefactory.Ast"));
cns.Types.Add(CreateNodeTrackingAstVisitorClass(nodeTypes));
using (StringWriter writer = new StringWriter()) {
new Microsoft.CSharp.CSharpCodeProvider().GenerateCodeFromCompileUnit(ccu, writer, settings);
// CodeDom cannot output "sealed", so we need to use this hack:
File.WriteAllText(visitorsDir + "NodeTrackingAstVisitor.cs",
writer.ToString().Replace("public override object", "public sealed override object"));
}
} }
static CodeTypeDeclaration CreateAstVisitorInterface(List<Type> nodeTypes) static CodeTypeDeclaration CreateAstVisitorInterface(List<Type> nodeTypes)
@ -497,5 +511,76 @@ namespace NRefactoryASTGenerator
return new CodeTypeReference(type); return new CodeTypeReference(type);
} }
} }
static CodeTypeDeclaration CreateNodeTrackingAstVisitorClass(List<Type> nodeTypes)
{
CodeTypeDeclaration td = new CodeTypeDeclaration("NodeTrackingAstVisitor");
td.TypeAttributes = TypeAttributes.Public | TypeAttributes.Class | TypeAttributes.Abstract;
td.BaseTypes.Add(new CodeTypeReference("AbstractAstVisitor"));
string comment = "<summary>\n " +
"The NodeTrackingAstVisitor will iterate through the whole AST,\n " +
"just like the AbstractAstVisitor, and calls the virtual methods\n " +
"BeginVisit and EndVisit for each node being visited.\n " +
"</summary>";
td.Comments.Add(new CodeCommentStatement(comment, true));
comment = "<remarks>\n " +
"base.Visit(node, data) calls this.TrackedVisit(node, data), so if\n " +
"you want to visit child nodes using the default visiting behaviour,\n " +
"use base.TrackedVisit(parentNode, data).\n " +
"</remarks>";
td.Comments.Add(new CodeCommentStatement(comment, true));
CodeMemberMethod m = new CodeMemberMethod();
m.Name = "BeginVisit";
m.Attributes = MemberAttributes.Family;
m.Parameters.Add(new CodeParameterDeclarationExpression("INode", "node"));
td.Members.Add(m);
m = new CodeMemberMethod();
m.Name = "EndVisit";
m.Attributes = MemberAttributes.Family;
m.Parameters.Add(new CodeParameterDeclarationExpression("INode", "node"));
td.Members.Add(m);
foreach (Type type in nodeTypes) {
if (!type.IsAbstract) {
m = new CodeMemberMethod();
m.Name = VisitPrefix + type.Name;
m.Attributes = MemberAttributes.Public | MemberAttributes.Override;
m.ReturnType = new CodeTypeReference(typeof(object));
m.Parameters.Add(new CodeParameterDeclarationExpression(ConvertType(type), GetFieldName(type.Name)));
m.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference(typeof(object)), "data"));
td.Members.Add(m);
CodeVariableReferenceExpression var = new CodeVariableReferenceExpression(GetFieldName(type.Name));
m.Statements.Add(new CodeMethodInvokeExpression(new CodeMethodReferenceExpression(new CodeThisReferenceExpression(), "BeginVisit"), new CodeExpression[] { var }));
m.Statements.Add(new CodeVariableDeclarationStatement(new CodeTypeReference(typeof(object)), "result", new CodeMethodInvokeExpression(new CodeMethodReferenceExpression(new CodeThisReferenceExpression(), "TrackedVisit"), new CodeExpression[] { var, new CodeVariableReferenceExpression("data") })));
m.Statements.Add(new CodeMethodInvokeExpression(new CodeMethodReferenceExpression(new CodeThisReferenceExpression(), "EndVisit"), new CodeExpression[] { var }));
m.Statements.Add(new CodeMethodReturnStatement(new CodeVariableReferenceExpression("result")));
}
}
foreach (Type type in nodeTypes) {
if (!type.IsAbstract) {
m = new CodeMemberMethod();
m.Name = "TrackedVisit";
m.Attributes = MemberAttributes.Public;
m.ReturnType = new CodeTypeReference(typeof(object));
m.Parameters.Add(new CodeParameterDeclarationExpression(ConvertType(type), GetFieldName(type.Name)));
m.Parameters.Add(new CodeParameterDeclarationExpression(new CodeTypeReference(typeof(object)), "data"));
td.Members.Add(m);
m.Statements.Add(new CodeMethodReturnStatement(new CodeMethodInvokeExpression(new CodeMethodReferenceExpression(new CodeBaseReferenceExpression(), VisitPrefix + type.Name), new CodeExpression[] { new CodeVariableReferenceExpression(GetFieldName(type.Name)), new CodeVariableReferenceExpression("data") })));
}
}
return td;
}
} }
} }

1
src/Libraries/NRefactory/Project/NRefactory.csproj

@ -122,6 +122,7 @@
<Compile Include="Src\Ast\INullable.cs" /> <Compile Include="Src\Ast\INullable.cs" />
<Compile Include="Src\Ast\TypeReference.cs" /> <Compile Include="Src\Ast\TypeReference.cs" />
<Compile Include="Src\Parser\VBNet\ParamModifierList.cs" /> <Compile Include="Src\Parser\VBNet\ParamModifierList.cs" />
<Compile Include="Src\Visitors\NodeTrackingAstVisitor.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="Src\Lexer\CSharp\KeywordList.txt" /> <Content Include="Src\Lexer\CSharp\KeywordList.txt" />

211
src/AddIns/Misc/ResourceToolkit/Project/Src/Resolver/NodeTrackingAstVisitor.cs → src/Libraries/NRefactory/Project/Src/Visitors/NodeTrackingAstVisitor.cs

@ -8,7 +8,7 @@
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace Hornung.ResourceToolkit.Resolver { namespace ICSharpCode.NRefactory.Visitors {
using System; using System;
using ICSharpCode.NRefactory.Ast; using ICSharpCode.NRefactory.Ast;
@ -19,10 +19,11 @@ namespace Hornung.ResourceToolkit.Resolver {
/// BeginVisit and EndVisit for each node being visited. /// BeginVisit and EndVisit for each node being visited.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// To enable the tracking functionality, you must override /// base.Visit(node, data) calls this.TrackedVisit(node, data), so if
/// the TrackedVisit methods instead of the Visit methods! /// you want to visit child nodes using the default visiting behaviour,
/// use base.TrackedVisit(parentNode, data).
/// </remarks> /// </remarks>
public abstract class NodeTrackingAstVisitor : ICSharpCode.NRefactory.Visitors.AbstractAstVisitor { public abstract class NodeTrackingAstVisitor : AbstractAstVisitor {
protected virtual void BeginVisit(INode node) { protected virtual void BeginVisit(INode node) {
} }
@ -30,707 +31,707 @@ namespace Hornung.ResourceToolkit.Resolver {
protected virtual void EndVisit(INode node) { protected virtual void EndVisit(INode node) {
} }
public override object VisitAddHandlerStatement(AddHandlerStatement addHandlerStatement, object data) { public sealed override object VisitAddHandlerStatement(AddHandlerStatement addHandlerStatement, object data) {
this.BeginVisit(addHandlerStatement); this.BeginVisit(addHandlerStatement);
object result = this.TrackedVisit(addHandlerStatement, data); object result = this.TrackedVisit(addHandlerStatement, data);
this.EndVisit(addHandlerStatement); this.EndVisit(addHandlerStatement);
return result; return result;
} }
public override object VisitAddressOfExpression(AddressOfExpression addressOfExpression, object data) { public sealed override object VisitAddressOfExpression(AddressOfExpression addressOfExpression, object data) {
this.BeginVisit(addressOfExpression); this.BeginVisit(addressOfExpression);
object result = this.TrackedVisit(addressOfExpression, data); object result = this.TrackedVisit(addressOfExpression, data);
this.EndVisit(addressOfExpression); this.EndVisit(addressOfExpression);
return result; return result;
} }
public override object VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression, object data) { public sealed override object VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression, object data) {
this.BeginVisit(anonymousMethodExpression); this.BeginVisit(anonymousMethodExpression);
object result = this.TrackedVisit(anonymousMethodExpression, data); object result = this.TrackedVisit(anonymousMethodExpression, data);
this.EndVisit(anonymousMethodExpression); this.EndVisit(anonymousMethodExpression);
return result; return result;
} }
public override object VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression, object data) { public sealed override object VisitArrayCreateExpression(ArrayCreateExpression arrayCreateExpression, object data) {
this.BeginVisit(arrayCreateExpression); this.BeginVisit(arrayCreateExpression);
object result = this.TrackedVisit(arrayCreateExpression, data); object result = this.TrackedVisit(arrayCreateExpression, data);
this.EndVisit(arrayCreateExpression); this.EndVisit(arrayCreateExpression);
return result; return result;
} }
public override object VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression, object data) { public sealed override object VisitArrayInitializerExpression(ArrayInitializerExpression arrayInitializerExpression, object data) {
this.BeginVisit(arrayInitializerExpression); this.BeginVisit(arrayInitializerExpression);
object result = this.TrackedVisit(arrayInitializerExpression, data); object result = this.TrackedVisit(arrayInitializerExpression, data);
this.EndVisit(arrayInitializerExpression); this.EndVisit(arrayInitializerExpression);
return result; return result;
} }
public override object VisitAssignmentExpression(AssignmentExpression assignmentExpression, object data) { public sealed override object VisitAssignmentExpression(AssignmentExpression assignmentExpression, object data) {
this.BeginVisit(assignmentExpression); this.BeginVisit(assignmentExpression);
object result = this.TrackedVisit(assignmentExpression, data); object result = this.TrackedVisit(assignmentExpression, data);
this.EndVisit(assignmentExpression); this.EndVisit(assignmentExpression);
return result; return result;
} }
public override object VisitAttribute(ICSharpCode.NRefactory.Ast.Attribute attribute, object data) { public sealed override object VisitAttribute(ICSharpCode.NRefactory.Ast.Attribute attribute, object data) {
this.BeginVisit(attribute); this.BeginVisit(attribute);
object result = this.TrackedVisit(attribute, data); object result = this.TrackedVisit(attribute, data);
this.EndVisit(attribute); this.EndVisit(attribute);
return result; return result;
} }
public override object VisitAttributeSection(AttributeSection attributeSection, object data) { public sealed override object VisitAttributeSection(AttributeSection attributeSection, object data) {
this.BeginVisit(attributeSection); this.BeginVisit(attributeSection);
object result = this.TrackedVisit(attributeSection, data); object result = this.TrackedVisit(attributeSection, data);
this.EndVisit(attributeSection); this.EndVisit(attributeSection);
return result; return result;
} }
public override object VisitBaseReferenceExpression(BaseReferenceExpression baseReferenceExpression, object data) { public sealed override object VisitBaseReferenceExpression(BaseReferenceExpression baseReferenceExpression, object data) {
this.BeginVisit(baseReferenceExpression); this.BeginVisit(baseReferenceExpression);
object result = this.TrackedVisit(baseReferenceExpression, data); object result = this.TrackedVisit(baseReferenceExpression, data);
this.EndVisit(baseReferenceExpression); this.EndVisit(baseReferenceExpression);
return result; return result;
} }
public override object VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression, object data) { public sealed override object VisitBinaryOperatorExpression(BinaryOperatorExpression binaryOperatorExpression, object data) {
this.BeginVisit(binaryOperatorExpression); this.BeginVisit(binaryOperatorExpression);
object result = this.TrackedVisit(binaryOperatorExpression, data); object result = this.TrackedVisit(binaryOperatorExpression, data);
this.EndVisit(binaryOperatorExpression); this.EndVisit(binaryOperatorExpression);
return result; return result;
} }
public override object VisitBlockStatement(BlockStatement blockStatement, object data) { public sealed override object VisitBlockStatement(BlockStatement blockStatement, object data) {
this.BeginVisit(blockStatement); this.BeginVisit(blockStatement);
object result = this.TrackedVisit(blockStatement, data); object result = this.TrackedVisit(blockStatement, data);
this.EndVisit(blockStatement); this.EndVisit(blockStatement);
return result; return result;
} }
public override object VisitBreakStatement(BreakStatement breakStatement, object data) { public sealed override object VisitBreakStatement(BreakStatement breakStatement, object data) {
this.BeginVisit(breakStatement); this.BeginVisit(breakStatement);
object result = this.TrackedVisit(breakStatement, data); object result = this.TrackedVisit(breakStatement, data);
this.EndVisit(breakStatement); this.EndVisit(breakStatement);
return result; return result;
} }
public override object VisitCaseLabel(CaseLabel caseLabel, object data) { public sealed override object VisitCaseLabel(CaseLabel caseLabel, object data) {
this.BeginVisit(caseLabel); this.BeginVisit(caseLabel);
object result = this.TrackedVisit(caseLabel, data); object result = this.TrackedVisit(caseLabel, data);
this.EndVisit(caseLabel); this.EndVisit(caseLabel);
return result; return result;
} }
public override object VisitCastExpression(CastExpression castExpression, object data) { public sealed override object VisitCastExpression(CastExpression castExpression, object data) {
this.BeginVisit(castExpression); this.BeginVisit(castExpression);
object result = this.TrackedVisit(castExpression, data); object result = this.TrackedVisit(castExpression, data);
this.EndVisit(castExpression); this.EndVisit(castExpression);
return result; return result;
} }
public override object VisitCatchClause(CatchClause catchClause, object data) { public sealed override object VisitCatchClause(CatchClause catchClause, object data) {
this.BeginVisit(catchClause); this.BeginVisit(catchClause);
object result = this.TrackedVisit(catchClause, data); object result = this.TrackedVisit(catchClause, data);
this.EndVisit(catchClause); this.EndVisit(catchClause);
return result; return result;
} }
public override object VisitCheckedExpression(CheckedExpression checkedExpression, object data) { public sealed override object VisitCheckedExpression(CheckedExpression checkedExpression, object data) {
this.BeginVisit(checkedExpression); this.BeginVisit(checkedExpression);
object result = this.TrackedVisit(checkedExpression, data); object result = this.TrackedVisit(checkedExpression, data);
this.EndVisit(checkedExpression); this.EndVisit(checkedExpression);
return result; return result;
} }
public override object VisitCheckedStatement(CheckedStatement checkedStatement, object data) { public sealed override object VisitCheckedStatement(CheckedStatement checkedStatement, object data) {
this.BeginVisit(checkedStatement); this.BeginVisit(checkedStatement);
object result = this.TrackedVisit(checkedStatement, data); object result = this.TrackedVisit(checkedStatement, data);
this.EndVisit(checkedStatement); this.EndVisit(checkedStatement);
return result; return result;
} }
public override object VisitClassReferenceExpression(ClassReferenceExpression classReferenceExpression, object data) { public sealed override object VisitClassReferenceExpression(ClassReferenceExpression classReferenceExpression, object data) {
this.BeginVisit(classReferenceExpression); this.BeginVisit(classReferenceExpression);
object result = this.TrackedVisit(classReferenceExpression, data); object result = this.TrackedVisit(classReferenceExpression, data);
this.EndVisit(classReferenceExpression); this.EndVisit(classReferenceExpression);
return result; return result;
} }
public override object VisitCompilationUnit(CompilationUnit compilationUnit, object data) { public sealed override object VisitCompilationUnit(CompilationUnit compilationUnit, object data) {
this.BeginVisit(compilationUnit); this.BeginVisit(compilationUnit);
object result = this.TrackedVisit(compilationUnit, data); object result = this.TrackedVisit(compilationUnit, data);
this.EndVisit(compilationUnit); this.EndVisit(compilationUnit);
return result; return result;
} }
public override object VisitConditionalExpression(ConditionalExpression conditionalExpression, object data) { public sealed override object VisitConditionalExpression(ConditionalExpression conditionalExpression, object data) {
this.BeginVisit(conditionalExpression); this.BeginVisit(conditionalExpression);
object result = this.TrackedVisit(conditionalExpression, data); object result = this.TrackedVisit(conditionalExpression, data);
this.EndVisit(conditionalExpression); this.EndVisit(conditionalExpression);
return result; return result;
} }
public override object VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration, object data) { public sealed override object VisitConstructorDeclaration(ConstructorDeclaration constructorDeclaration, object data) {
this.BeginVisit(constructorDeclaration); this.BeginVisit(constructorDeclaration);
object result = this.TrackedVisit(constructorDeclaration, data); object result = this.TrackedVisit(constructorDeclaration, data);
this.EndVisit(constructorDeclaration); this.EndVisit(constructorDeclaration);
return result; return result;
} }
public override object VisitConstructorInitializer(ConstructorInitializer constructorInitializer, object data) { public sealed override object VisitConstructorInitializer(ConstructorInitializer constructorInitializer, object data) {
this.BeginVisit(constructorInitializer); this.BeginVisit(constructorInitializer);
object result = this.TrackedVisit(constructorInitializer, data); object result = this.TrackedVisit(constructorInitializer, data);
this.EndVisit(constructorInitializer); this.EndVisit(constructorInitializer);
return result; return result;
} }
public override object VisitContinueStatement(ContinueStatement continueStatement, object data) { public sealed override object VisitContinueStatement(ContinueStatement continueStatement, object data) {
this.BeginVisit(continueStatement); this.BeginVisit(continueStatement);
object result = this.TrackedVisit(continueStatement, data); object result = this.TrackedVisit(continueStatement, data);
this.EndVisit(continueStatement); this.EndVisit(continueStatement);
return result; return result;
} }
public override object VisitDeclareDeclaration(DeclareDeclaration declareDeclaration, object data) { public sealed override object VisitDeclareDeclaration(DeclareDeclaration declareDeclaration, object data) {
this.BeginVisit(declareDeclaration); this.BeginVisit(declareDeclaration);
object result = this.TrackedVisit(declareDeclaration, data); object result = this.TrackedVisit(declareDeclaration, data);
this.EndVisit(declareDeclaration); this.EndVisit(declareDeclaration);
return result; return result;
} }
public override object VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression, object data) { public sealed override object VisitDefaultValueExpression(DefaultValueExpression defaultValueExpression, object data) {
this.BeginVisit(defaultValueExpression); this.BeginVisit(defaultValueExpression);
object result = this.TrackedVisit(defaultValueExpression, data); object result = this.TrackedVisit(defaultValueExpression, data);
this.EndVisit(defaultValueExpression); this.EndVisit(defaultValueExpression);
return result; return result;
} }
public override object VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration, object data) { public sealed override object VisitDelegateDeclaration(DelegateDeclaration delegateDeclaration, object data) {
this.BeginVisit(delegateDeclaration); this.BeginVisit(delegateDeclaration);
object result = this.TrackedVisit(delegateDeclaration, data); object result = this.TrackedVisit(delegateDeclaration, data);
this.EndVisit(delegateDeclaration); this.EndVisit(delegateDeclaration);
return result; return result;
} }
public override object VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration, object data) { public sealed override object VisitDestructorDeclaration(DestructorDeclaration destructorDeclaration, object data) {
this.BeginVisit(destructorDeclaration); this.BeginVisit(destructorDeclaration);
object result = this.TrackedVisit(destructorDeclaration, data); object result = this.TrackedVisit(destructorDeclaration, data);
this.EndVisit(destructorDeclaration); this.EndVisit(destructorDeclaration);
return result; return result;
} }
public override object VisitDirectionExpression(DirectionExpression directionExpression, object data) { public sealed override object VisitDirectionExpression(DirectionExpression directionExpression, object data) {
this.BeginVisit(directionExpression); this.BeginVisit(directionExpression);
object result = this.TrackedVisit(directionExpression, data); object result = this.TrackedVisit(directionExpression, data);
this.EndVisit(directionExpression); this.EndVisit(directionExpression);
return result; return result;
} }
public override object VisitDoLoopStatement(DoLoopStatement doLoopStatement, object data) { public sealed override object VisitDoLoopStatement(DoLoopStatement doLoopStatement, object data) {
this.BeginVisit(doLoopStatement); this.BeginVisit(doLoopStatement);
object result = this.TrackedVisit(doLoopStatement, data); object result = this.TrackedVisit(doLoopStatement, data);
this.EndVisit(doLoopStatement); this.EndVisit(doLoopStatement);
return result; return result;
} }
public override object VisitElseIfSection(ElseIfSection elseIfSection, object data) { public sealed override object VisitElseIfSection(ElseIfSection elseIfSection, object data) {
this.BeginVisit(elseIfSection); this.BeginVisit(elseIfSection);
object result = this.TrackedVisit(elseIfSection, data); object result = this.TrackedVisit(elseIfSection, data);
this.EndVisit(elseIfSection); this.EndVisit(elseIfSection);
return result; return result;
} }
public override object VisitEmptyStatement(EmptyStatement emptyStatement, object data) { public sealed override object VisitEmptyStatement(EmptyStatement emptyStatement, object data) {
this.BeginVisit(emptyStatement); this.BeginVisit(emptyStatement);
object result = this.TrackedVisit(emptyStatement, data); object result = this.TrackedVisit(emptyStatement, data);
this.EndVisit(emptyStatement); this.EndVisit(emptyStatement);
return result; return result;
} }
public override object VisitEndStatement(EndStatement endStatement, object data) { public sealed override object VisitEndStatement(EndStatement endStatement, object data) {
this.BeginVisit(endStatement); this.BeginVisit(endStatement);
object result = this.TrackedVisit(endStatement, data); object result = this.TrackedVisit(endStatement, data);
this.EndVisit(endStatement); this.EndVisit(endStatement);
return result; return result;
} }
public override object VisitEraseStatement(EraseStatement eraseStatement, object data) { public sealed override object VisitEraseStatement(EraseStatement eraseStatement, object data) {
this.BeginVisit(eraseStatement); this.BeginVisit(eraseStatement);
object result = this.TrackedVisit(eraseStatement, data); object result = this.TrackedVisit(eraseStatement, data);
this.EndVisit(eraseStatement); this.EndVisit(eraseStatement);
return result; return result;
} }
public override object VisitErrorStatement(ErrorStatement errorStatement, object data) { public sealed override object VisitErrorStatement(ErrorStatement errorStatement, object data) {
this.BeginVisit(errorStatement); this.BeginVisit(errorStatement);
object result = this.TrackedVisit(errorStatement, data); object result = this.TrackedVisit(errorStatement, data);
this.EndVisit(errorStatement); this.EndVisit(errorStatement);
return result; return result;
} }
public override object VisitEventAddRegion(EventAddRegion eventAddRegion, object data) { public sealed override object VisitEventAddRegion(EventAddRegion eventAddRegion, object data) {
this.BeginVisit(eventAddRegion); this.BeginVisit(eventAddRegion);
object result = this.TrackedVisit(eventAddRegion, data); object result = this.TrackedVisit(eventAddRegion, data);
this.EndVisit(eventAddRegion); this.EndVisit(eventAddRegion);
return result; return result;
} }
public override object VisitEventDeclaration(EventDeclaration eventDeclaration, object data) { public sealed override object VisitEventDeclaration(EventDeclaration eventDeclaration, object data) {
this.BeginVisit(eventDeclaration); this.BeginVisit(eventDeclaration);
object result = this.TrackedVisit(eventDeclaration, data); object result = this.TrackedVisit(eventDeclaration, data);
this.EndVisit(eventDeclaration); this.EndVisit(eventDeclaration);
return result; return result;
} }
public override object VisitEventRaiseRegion(EventRaiseRegion eventRaiseRegion, object data) { public sealed override object VisitEventRaiseRegion(EventRaiseRegion eventRaiseRegion, object data) {
this.BeginVisit(eventRaiseRegion); this.BeginVisit(eventRaiseRegion);
object result = this.TrackedVisit(eventRaiseRegion, data); object result = this.TrackedVisit(eventRaiseRegion, data);
this.EndVisit(eventRaiseRegion); this.EndVisit(eventRaiseRegion);
return result; return result;
} }
public override object VisitEventRemoveRegion(EventRemoveRegion eventRemoveRegion, object data) { public sealed override object VisitEventRemoveRegion(EventRemoveRegion eventRemoveRegion, object data) {
this.BeginVisit(eventRemoveRegion); this.BeginVisit(eventRemoveRegion);
object result = this.TrackedVisit(eventRemoveRegion, data); object result = this.TrackedVisit(eventRemoveRegion, data);
this.EndVisit(eventRemoveRegion); this.EndVisit(eventRemoveRegion);
return result; return result;
} }
public override object VisitExitStatement(ExitStatement exitStatement, object data) { public sealed override object VisitExitStatement(ExitStatement exitStatement, object data) {
this.BeginVisit(exitStatement); this.BeginVisit(exitStatement);
object result = this.TrackedVisit(exitStatement, data); object result = this.TrackedVisit(exitStatement, data);
this.EndVisit(exitStatement); this.EndVisit(exitStatement);
return result; return result;
} }
public override object VisitExpressionStatement(ExpressionStatement expressionStatement, object data) { public sealed override object VisitExpressionStatement(ExpressionStatement expressionStatement, object data) {
this.BeginVisit(expressionStatement); this.BeginVisit(expressionStatement);
object result = this.TrackedVisit(expressionStatement, data); object result = this.TrackedVisit(expressionStatement, data);
this.EndVisit(expressionStatement); this.EndVisit(expressionStatement);
return result; return result;
} }
public override object VisitFieldDeclaration(FieldDeclaration fieldDeclaration, object data) { public sealed override object VisitFieldDeclaration(FieldDeclaration fieldDeclaration, object data) {
this.BeginVisit(fieldDeclaration); this.BeginVisit(fieldDeclaration);
object result = this.TrackedVisit(fieldDeclaration, data); object result = this.TrackedVisit(fieldDeclaration, data);
this.EndVisit(fieldDeclaration); this.EndVisit(fieldDeclaration);
return result; return result;
} }
public override object VisitFieldReferenceExpression(FieldReferenceExpression fieldReferenceExpression, object data) { public sealed override object VisitFieldReferenceExpression(FieldReferenceExpression fieldReferenceExpression, object data) {
this.BeginVisit(fieldReferenceExpression); this.BeginVisit(fieldReferenceExpression);
object result = this.TrackedVisit(fieldReferenceExpression, data); object result = this.TrackedVisit(fieldReferenceExpression, data);
this.EndVisit(fieldReferenceExpression); this.EndVisit(fieldReferenceExpression);
return result; return result;
} }
public override object VisitFixedStatement(FixedStatement fixedStatement, object data) { public sealed override object VisitFixedStatement(FixedStatement fixedStatement, object data) {
this.BeginVisit(fixedStatement); this.BeginVisit(fixedStatement);
object result = this.TrackedVisit(fixedStatement, data); object result = this.TrackedVisit(fixedStatement, data);
this.EndVisit(fixedStatement); this.EndVisit(fixedStatement);
return result; return result;
} }
public override object VisitForeachStatement(ForeachStatement foreachStatement, object data) { public sealed override object VisitForeachStatement(ForeachStatement foreachStatement, object data) {
this.BeginVisit(foreachStatement); this.BeginVisit(foreachStatement);
object result = this.TrackedVisit(foreachStatement, data); object result = this.TrackedVisit(foreachStatement, data);
this.EndVisit(foreachStatement); this.EndVisit(foreachStatement);
return result; return result;
} }
public override object VisitForNextStatement(ForNextStatement forNextStatement, object data) { public sealed override object VisitForNextStatement(ForNextStatement forNextStatement, object data) {
this.BeginVisit(forNextStatement); this.BeginVisit(forNextStatement);
object result = this.TrackedVisit(forNextStatement, data); object result = this.TrackedVisit(forNextStatement, data);
this.EndVisit(forNextStatement); this.EndVisit(forNextStatement);
return result; return result;
} }
public override object VisitForStatement(ForStatement forStatement, object data) { public sealed override object VisitForStatement(ForStatement forStatement, object data) {
this.BeginVisit(forStatement); this.BeginVisit(forStatement);
object result = this.TrackedVisit(forStatement, data); object result = this.TrackedVisit(forStatement, data);
this.EndVisit(forStatement); this.EndVisit(forStatement);
return result; return result;
} }
public override object VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement, object data) { public sealed override object VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement, object data) {
this.BeginVisit(gotoCaseStatement); this.BeginVisit(gotoCaseStatement);
object result = this.TrackedVisit(gotoCaseStatement, data); object result = this.TrackedVisit(gotoCaseStatement, data);
this.EndVisit(gotoCaseStatement); this.EndVisit(gotoCaseStatement);
return result; return result;
} }
public override object VisitGotoStatement(GotoStatement gotoStatement, object data) { public sealed override object VisitGotoStatement(GotoStatement gotoStatement, object data) {
this.BeginVisit(gotoStatement); this.BeginVisit(gotoStatement);
object result = this.TrackedVisit(gotoStatement, data); object result = this.TrackedVisit(gotoStatement, data);
this.EndVisit(gotoStatement); this.EndVisit(gotoStatement);
return result; return result;
} }
public override object VisitIdentifierExpression(IdentifierExpression identifierExpression, object data) { public sealed override object VisitIdentifierExpression(IdentifierExpression identifierExpression, object data) {
this.BeginVisit(identifierExpression); this.BeginVisit(identifierExpression);
object result = this.TrackedVisit(identifierExpression, data); object result = this.TrackedVisit(identifierExpression, data);
this.EndVisit(identifierExpression); this.EndVisit(identifierExpression);
return result; return result;
} }
public override object VisitIfElseStatement(IfElseStatement ifElseStatement, object data) { public sealed override object VisitIfElseStatement(IfElseStatement ifElseStatement, object data) {
this.BeginVisit(ifElseStatement); this.BeginVisit(ifElseStatement);
object result = this.TrackedVisit(ifElseStatement, data); object result = this.TrackedVisit(ifElseStatement, data);
this.EndVisit(ifElseStatement); this.EndVisit(ifElseStatement);
return result; return result;
} }
public override object VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration, object data) { public sealed override object VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration, object data) {
this.BeginVisit(indexerDeclaration); this.BeginVisit(indexerDeclaration);
object result = this.TrackedVisit(indexerDeclaration, data); object result = this.TrackedVisit(indexerDeclaration, data);
this.EndVisit(indexerDeclaration); this.EndVisit(indexerDeclaration);
return result; return result;
} }
public override object VisitIndexerExpression(IndexerExpression indexerExpression, object data) { public sealed override object VisitIndexerExpression(IndexerExpression indexerExpression, object data) {
this.BeginVisit(indexerExpression); this.BeginVisit(indexerExpression);
object result = this.TrackedVisit(indexerExpression, data); object result = this.TrackedVisit(indexerExpression, data);
this.EndVisit(indexerExpression); this.EndVisit(indexerExpression);
return result; return result;
} }
public override object VisitInnerClassTypeReference(InnerClassTypeReference innerClassTypeReference, object data) { public sealed override object VisitInnerClassTypeReference(InnerClassTypeReference innerClassTypeReference, object data) {
this.BeginVisit(innerClassTypeReference); this.BeginVisit(innerClassTypeReference);
object result = this.TrackedVisit(innerClassTypeReference, data); object result = this.TrackedVisit(innerClassTypeReference, data);
this.EndVisit(innerClassTypeReference); this.EndVisit(innerClassTypeReference);
return result; return result;
} }
public override object VisitInterfaceImplementation(InterfaceImplementation interfaceImplementation, object data) { public sealed override object VisitInterfaceImplementation(InterfaceImplementation interfaceImplementation, object data) {
this.BeginVisit(interfaceImplementation); this.BeginVisit(interfaceImplementation);
object result = this.TrackedVisit(interfaceImplementation, data); object result = this.TrackedVisit(interfaceImplementation, data);
this.EndVisit(interfaceImplementation); this.EndVisit(interfaceImplementation);
return result; return result;
} }
public override object VisitInvocationExpression(InvocationExpression invocationExpression, object data) { public sealed override object VisitInvocationExpression(InvocationExpression invocationExpression, object data) {
this.BeginVisit(invocationExpression); this.BeginVisit(invocationExpression);
object result = this.TrackedVisit(invocationExpression, data); object result = this.TrackedVisit(invocationExpression, data);
this.EndVisit(invocationExpression); this.EndVisit(invocationExpression);
return result; return result;
} }
public override object VisitLabelStatement(LabelStatement labelStatement, object data) { public sealed override object VisitLabelStatement(LabelStatement labelStatement, object data) {
this.BeginVisit(labelStatement); this.BeginVisit(labelStatement);
object result = this.TrackedVisit(labelStatement, data); object result = this.TrackedVisit(labelStatement, data);
this.EndVisit(labelStatement); this.EndVisit(labelStatement);
return result; return result;
} }
public override object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data) { public sealed override object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data) {
this.BeginVisit(localVariableDeclaration); this.BeginVisit(localVariableDeclaration);
object result = this.TrackedVisit(localVariableDeclaration, data); object result = this.TrackedVisit(localVariableDeclaration, data);
this.EndVisit(localVariableDeclaration); this.EndVisit(localVariableDeclaration);
return result; return result;
} }
public override object VisitLockStatement(LockStatement lockStatement, object data) { public sealed override object VisitLockStatement(LockStatement lockStatement, object data) {
this.BeginVisit(lockStatement); this.BeginVisit(lockStatement);
object result = this.TrackedVisit(lockStatement, data); object result = this.TrackedVisit(lockStatement, data);
this.EndVisit(lockStatement); this.EndVisit(lockStatement);
return result; return result;
} }
public override object VisitMethodDeclaration(MethodDeclaration methodDeclaration, object data) { public sealed override object VisitMethodDeclaration(MethodDeclaration methodDeclaration, object data) {
this.BeginVisit(methodDeclaration); this.BeginVisit(methodDeclaration);
object result = this.TrackedVisit(methodDeclaration, data); object result = this.TrackedVisit(methodDeclaration, data);
this.EndVisit(methodDeclaration); this.EndVisit(methodDeclaration);
return result; return result;
} }
public override object VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression, object data) { public sealed override object VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression, object data) {
this.BeginVisit(namedArgumentExpression); this.BeginVisit(namedArgumentExpression);
object result = this.TrackedVisit(namedArgumentExpression, data); object result = this.TrackedVisit(namedArgumentExpression, data);
this.EndVisit(namedArgumentExpression); this.EndVisit(namedArgumentExpression);
return result; return result;
} }
public override object VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data) { public sealed override object VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data) {
this.BeginVisit(namespaceDeclaration); this.BeginVisit(namespaceDeclaration);
object result = this.TrackedVisit(namespaceDeclaration, data); object result = this.TrackedVisit(namespaceDeclaration, data);
this.EndVisit(namespaceDeclaration); this.EndVisit(namespaceDeclaration);
return result; return result;
} }
public override object VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression, object data) { public sealed override object VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression, object data) {
this.BeginVisit(objectCreateExpression); this.BeginVisit(objectCreateExpression);
object result = this.TrackedVisit(objectCreateExpression, data); object result = this.TrackedVisit(objectCreateExpression, data);
this.EndVisit(objectCreateExpression); this.EndVisit(objectCreateExpression);
return result; return result;
} }
public override object VisitOnErrorStatement(OnErrorStatement onErrorStatement, object data) { public sealed override object VisitOnErrorStatement(OnErrorStatement onErrorStatement, object data) {
this.BeginVisit(onErrorStatement); this.BeginVisit(onErrorStatement);
object result = this.TrackedVisit(onErrorStatement, data); object result = this.TrackedVisit(onErrorStatement, data);
this.EndVisit(onErrorStatement); this.EndVisit(onErrorStatement);
return result; return result;
} }
public override object VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration, object data) { public sealed override object VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration, object data) {
this.BeginVisit(operatorDeclaration); this.BeginVisit(operatorDeclaration);
object result = this.TrackedVisit(operatorDeclaration, data); object result = this.TrackedVisit(operatorDeclaration, data);
this.EndVisit(operatorDeclaration); this.EndVisit(operatorDeclaration);
return result; return result;
} }
public override object VisitOptionDeclaration(OptionDeclaration optionDeclaration, object data) { public sealed override object VisitOptionDeclaration(OptionDeclaration optionDeclaration, object data) {
this.BeginVisit(optionDeclaration); this.BeginVisit(optionDeclaration);
object result = this.TrackedVisit(optionDeclaration, data); object result = this.TrackedVisit(optionDeclaration, data);
this.EndVisit(optionDeclaration); this.EndVisit(optionDeclaration);
return result; return result;
} }
public override object VisitParameterDeclarationExpression(ParameterDeclarationExpression parameterDeclarationExpression, object data) { public sealed override object VisitParameterDeclarationExpression(ParameterDeclarationExpression parameterDeclarationExpression, object data) {
this.BeginVisit(parameterDeclarationExpression); this.BeginVisit(parameterDeclarationExpression);
object result = this.TrackedVisit(parameterDeclarationExpression, data); object result = this.TrackedVisit(parameterDeclarationExpression, data);
this.EndVisit(parameterDeclarationExpression); this.EndVisit(parameterDeclarationExpression);
return result; return result;
} }
public override object VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression, object data) { public sealed override object VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression, object data) {
this.BeginVisit(parenthesizedExpression); this.BeginVisit(parenthesizedExpression);
object result = this.TrackedVisit(parenthesizedExpression, data); object result = this.TrackedVisit(parenthesizedExpression, data);
this.EndVisit(parenthesizedExpression); this.EndVisit(parenthesizedExpression);
return result; return result;
} }
public override object VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression, object data) { public sealed override object VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression, object data) {
this.BeginVisit(pointerReferenceExpression); this.BeginVisit(pointerReferenceExpression);
object result = this.TrackedVisit(pointerReferenceExpression, data); object result = this.TrackedVisit(pointerReferenceExpression, data);
this.EndVisit(pointerReferenceExpression); this.EndVisit(pointerReferenceExpression);
return result; return result;
} }
public override object VisitPrimitiveExpression(PrimitiveExpression primitiveExpression, object data) { public sealed override object VisitPrimitiveExpression(PrimitiveExpression primitiveExpression, object data) {
this.BeginVisit(primitiveExpression); this.BeginVisit(primitiveExpression);
object result = this.TrackedVisit(primitiveExpression, data); object result = this.TrackedVisit(primitiveExpression, data);
this.EndVisit(primitiveExpression); this.EndVisit(primitiveExpression);
return result; return result;
} }
public override object VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, object data) { public sealed override object VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, object data) {
this.BeginVisit(propertyDeclaration); this.BeginVisit(propertyDeclaration);
object result = this.TrackedVisit(propertyDeclaration, data); object result = this.TrackedVisit(propertyDeclaration, data);
this.EndVisit(propertyDeclaration); this.EndVisit(propertyDeclaration);
return result; return result;
} }
public override object VisitPropertyGetRegion(PropertyGetRegion propertyGetRegion, object data) { public sealed override object VisitPropertyGetRegion(PropertyGetRegion propertyGetRegion, object data) {
this.BeginVisit(propertyGetRegion); this.BeginVisit(propertyGetRegion);
object result = this.TrackedVisit(propertyGetRegion, data); object result = this.TrackedVisit(propertyGetRegion, data);
this.EndVisit(propertyGetRegion); this.EndVisit(propertyGetRegion);
return result; return result;
} }
public override object VisitPropertySetRegion(PropertySetRegion propertySetRegion, object data) { public sealed override object VisitPropertySetRegion(PropertySetRegion propertySetRegion, object data) {
this.BeginVisit(propertySetRegion); this.BeginVisit(propertySetRegion);
object result = this.TrackedVisit(propertySetRegion, data); object result = this.TrackedVisit(propertySetRegion, data);
this.EndVisit(propertySetRegion); this.EndVisit(propertySetRegion);
return result; return result;
} }
public override object VisitRaiseEventStatement(RaiseEventStatement raiseEventStatement, object data) { public sealed override object VisitRaiseEventStatement(RaiseEventStatement raiseEventStatement, object data) {
this.BeginVisit(raiseEventStatement); this.BeginVisit(raiseEventStatement);
object result = this.TrackedVisit(raiseEventStatement, data); object result = this.TrackedVisit(raiseEventStatement, data);
this.EndVisit(raiseEventStatement); this.EndVisit(raiseEventStatement);
return result; return result;
} }
public override object VisitReDimStatement(ReDimStatement reDimStatement, object data) { public sealed override object VisitReDimStatement(ReDimStatement reDimStatement, object data) {
this.BeginVisit(reDimStatement); this.BeginVisit(reDimStatement);
object result = this.TrackedVisit(reDimStatement, data); object result = this.TrackedVisit(reDimStatement, data);
this.EndVisit(reDimStatement); this.EndVisit(reDimStatement);
return result; return result;
} }
public override object VisitRemoveHandlerStatement(RemoveHandlerStatement removeHandlerStatement, object data) { public sealed override object VisitRemoveHandlerStatement(RemoveHandlerStatement removeHandlerStatement, object data) {
this.BeginVisit(removeHandlerStatement); this.BeginVisit(removeHandlerStatement);
object result = this.TrackedVisit(removeHandlerStatement, data); object result = this.TrackedVisit(removeHandlerStatement, data);
this.EndVisit(removeHandlerStatement); this.EndVisit(removeHandlerStatement);
return result; return result;
} }
public override object VisitResumeStatement(ResumeStatement resumeStatement, object data) { public sealed override object VisitResumeStatement(ResumeStatement resumeStatement, object data) {
this.BeginVisit(resumeStatement); this.BeginVisit(resumeStatement);
object result = this.TrackedVisit(resumeStatement, data); object result = this.TrackedVisit(resumeStatement, data);
this.EndVisit(resumeStatement); this.EndVisit(resumeStatement);
return result; return result;
} }
public override object VisitReturnStatement(ReturnStatement returnStatement, object data) { public sealed override object VisitReturnStatement(ReturnStatement returnStatement, object data) {
this.BeginVisit(returnStatement); this.BeginVisit(returnStatement);
object result = this.TrackedVisit(returnStatement, data); object result = this.TrackedVisit(returnStatement, data);
this.EndVisit(returnStatement); this.EndVisit(returnStatement);
return result; return result;
} }
public override object VisitSizeOfExpression(SizeOfExpression sizeOfExpression, object data) { public sealed override object VisitSizeOfExpression(SizeOfExpression sizeOfExpression, object data) {
this.BeginVisit(sizeOfExpression); this.BeginVisit(sizeOfExpression);
object result = this.TrackedVisit(sizeOfExpression, data); object result = this.TrackedVisit(sizeOfExpression, data);
this.EndVisit(sizeOfExpression); this.EndVisit(sizeOfExpression);
return result; return result;
} }
public override object VisitStackAllocExpression(StackAllocExpression stackAllocExpression, object data) { public sealed override object VisitStackAllocExpression(StackAllocExpression stackAllocExpression, object data) {
this.BeginVisit(stackAllocExpression); this.BeginVisit(stackAllocExpression);
object result = this.TrackedVisit(stackAllocExpression, data); object result = this.TrackedVisit(stackAllocExpression, data);
this.EndVisit(stackAllocExpression); this.EndVisit(stackAllocExpression);
return result; return result;
} }
public override object VisitStopStatement(StopStatement stopStatement, object data) { public sealed override object VisitStopStatement(StopStatement stopStatement, object data) {
this.BeginVisit(stopStatement); this.BeginVisit(stopStatement);
object result = this.TrackedVisit(stopStatement, data); object result = this.TrackedVisit(stopStatement, data);
this.EndVisit(stopStatement); this.EndVisit(stopStatement);
return result; return result;
} }
public override object VisitSwitchSection(SwitchSection switchSection, object data) { public sealed override object VisitSwitchSection(SwitchSection switchSection, object data) {
this.BeginVisit(switchSection); this.BeginVisit(switchSection);
object result = this.TrackedVisit(switchSection, data); object result = this.TrackedVisit(switchSection, data);
this.EndVisit(switchSection); this.EndVisit(switchSection);
return result; return result;
} }
public override object VisitSwitchStatement(SwitchStatement switchStatement, object data) { public sealed override object VisitSwitchStatement(SwitchStatement switchStatement, object data) {
this.BeginVisit(switchStatement); this.BeginVisit(switchStatement);
object result = this.TrackedVisit(switchStatement, data); object result = this.TrackedVisit(switchStatement, data);
this.EndVisit(switchStatement); this.EndVisit(switchStatement);
return result; return result;
} }
public override object VisitTemplateDefinition(TemplateDefinition templateDefinition, object data) { public sealed override object VisitTemplateDefinition(TemplateDefinition templateDefinition, object data) {
this.BeginVisit(templateDefinition); this.BeginVisit(templateDefinition);
object result = this.TrackedVisit(templateDefinition, data); object result = this.TrackedVisit(templateDefinition, data);
this.EndVisit(templateDefinition); this.EndVisit(templateDefinition);
return result; return result;
} }
public override object VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression, object data) { public sealed override object VisitThisReferenceExpression(ThisReferenceExpression thisReferenceExpression, object data) {
this.BeginVisit(thisReferenceExpression); this.BeginVisit(thisReferenceExpression);
object result = this.TrackedVisit(thisReferenceExpression, data); object result = this.TrackedVisit(thisReferenceExpression, data);
this.EndVisit(thisReferenceExpression); this.EndVisit(thisReferenceExpression);
return result; return result;
} }
public override object VisitThrowStatement(ThrowStatement throwStatement, object data) { public sealed override object VisitThrowStatement(ThrowStatement throwStatement, object data) {
this.BeginVisit(throwStatement); this.BeginVisit(throwStatement);
object result = this.TrackedVisit(throwStatement, data); object result = this.TrackedVisit(throwStatement, data);
this.EndVisit(throwStatement); this.EndVisit(throwStatement);
return result; return result;
} }
public override object VisitTryCatchStatement(TryCatchStatement tryCatchStatement, object data) { public sealed override object VisitTryCatchStatement(TryCatchStatement tryCatchStatement, object data) {
this.BeginVisit(tryCatchStatement); this.BeginVisit(tryCatchStatement);
object result = this.TrackedVisit(tryCatchStatement, data); object result = this.TrackedVisit(tryCatchStatement, data);
this.EndVisit(tryCatchStatement); this.EndVisit(tryCatchStatement);
return result; return result;
} }
public override object VisitTypeDeclaration(TypeDeclaration typeDeclaration, object data) { public sealed override object VisitTypeDeclaration(TypeDeclaration typeDeclaration, object data) {
this.BeginVisit(typeDeclaration); this.BeginVisit(typeDeclaration);
object result = this.TrackedVisit(typeDeclaration, data); object result = this.TrackedVisit(typeDeclaration, data);
this.EndVisit(typeDeclaration); this.EndVisit(typeDeclaration);
return result; return result;
} }
public override object VisitTypeOfExpression(TypeOfExpression typeOfExpression, object data) { public sealed override object VisitTypeOfExpression(TypeOfExpression typeOfExpression, object data) {
this.BeginVisit(typeOfExpression); this.BeginVisit(typeOfExpression);
object result = this.TrackedVisit(typeOfExpression, data); object result = this.TrackedVisit(typeOfExpression, data);
this.EndVisit(typeOfExpression); this.EndVisit(typeOfExpression);
return result; return result;
} }
public override object VisitTypeOfIsExpression(TypeOfIsExpression typeOfIsExpression, object data) { public sealed override object VisitTypeOfIsExpression(TypeOfIsExpression typeOfIsExpression, object data) {
this.BeginVisit(typeOfIsExpression); this.BeginVisit(typeOfIsExpression);
object result = this.TrackedVisit(typeOfIsExpression, data); object result = this.TrackedVisit(typeOfIsExpression, data);
this.EndVisit(typeOfIsExpression); this.EndVisit(typeOfIsExpression);
return result; return result;
} }
public override object VisitTypeReference(TypeReference typeReference, object data) { public sealed override object VisitTypeReference(TypeReference typeReference, object data) {
this.BeginVisit(typeReference); this.BeginVisit(typeReference);
object result = this.TrackedVisit(typeReference, data); object result = this.TrackedVisit(typeReference, data);
this.EndVisit(typeReference); this.EndVisit(typeReference);
return result; return result;
} }
public override object VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression, object data) { public sealed override object VisitTypeReferenceExpression(TypeReferenceExpression typeReferenceExpression, object data) {
this.BeginVisit(typeReferenceExpression); this.BeginVisit(typeReferenceExpression);
object result = this.TrackedVisit(typeReferenceExpression, data); object result = this.TrackedVisit(typeReferenceExpression, data);
this.EndVisit(typeReferenceExpression); this.EndVisit(typeReferenceExpression);
return result; return result;
} }
public override object VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression, object data) { public sealed override object VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression, object data) {
this.BeginVisit(unaryOperatorExpression); this.BeginVisit(unaryOperatorExpression);
object result = this.TrackedVisit(unaryOperatorExpression, data); object result = this.TrackedVisit(unaryOperatorExpression, data);
this.EndVisit(unaryOperatorExpression); this.EndVisit(unaryOperatorExpression);
return result; return result;
} }
public override object VisitUncheckedExpression(UncheckedExpression uncheckedExpression, object data) { public sealed override object VisitUncheckedExpression(UncheckedExpression uncheckedExpression, object data) {
this.BeginVisit(uncheckedExpression); this.BeginVisit(uncheckedExpression);
object result = this.TrackedVisit(uncheckedExpression, data); object result = this.TrackedVisit(uncheckedExpression, data);
this.EndVisit(uncheckedExpression); this.EndVisit(uncheckedExpression);
return result; return result;
} }
public override object VisitUncheckedStatement(UncheckedStatement uncheckedStatement, object data) { public sealed override object VisitUncheckedStatement(UncheckedStatement uncheckedStatement, object data) {
this.BeginVisit(uncheckedStatement); this.BeginVisit(uncheckedStatement);
object result = this.TrackedVisit(uncheckedStatement, data); object result = this.TrackedVisit(uncheckedStatement, data);
this.EndVisit(uncheckedStatement); this.EndVisit(uncheckedStatement);
return result; return result;
} }
public override object VisitUnsafeStatement(UnsafeStatement unsafeStatement, object data) { public sealed override object VisitUnsafeStatement(UnsafeStatement unsafeStatement, object data) {
this.BeginVisit(unsafeStatement); this.BeginVisit(unsafeStatement);
object result = this.TrackedVisit(unsafeStatement, data); object result = this.TrackedVisit(unsafeStatement, data);
this.EndVisit(unsafeStatement); this.EndVisit(unsafeStatement);
return result; return result;
} }
public override object VisitUsing(Using @using, object data) { public sealed override object VisitUsing(Using @using, object data) {
this.BeginVisit(@using); this.BeginVisit(@using);
object result = this.TrackedVisit(@using, data); object result = this.TrackedVisit(@using, data);
this.EndVisit(@using); this.EndVisit(@using);
return result; return result;
} }
public override object VisitUsingDeclaration(UsingDeclaration usingDeclaration, object data) { public sealed override object VisitUsingDeclaration(UsingDeclaration usingDeclaration, object data) {
this.BeginVisit(usingDeclaration); this.BeginVisit(usingDeclaration);
object result = this.TrackedVisit(usingDeclaration, data); object result = this.TrackedVisit(usingDeclaration, data);
this.EndVisit(usingDeclaration); this.EndVisit(usingDeclaration);
return result; return result;
} }
public override object VisitUsingStatement(UsingStatement usingStatement, object data) { public sealed override object VisitUsingStatement(UsingStatement usingStatement, object data) {
this.BeginVisit(usingStatement); this.BeginVisit(usingStatement);
object result = this.TrackedVisit(usingStatement, data); object result = this.TrackedVisit(usingStatement, data);
this.EndVisit(usingStatement); this.EndVisit(usingStatement);
return result; return result;
} }
public override object VisitVariableDeclaration(VariableDeclaration variableDeclaration, object data) { public sealed override object VisitVariableDeclaration(VariableDeclaration variableDeclaration, object data) {
this.BeginVisit(variableDeclaration); this.BeginVisit(variableDeclaration);
object result = this.TrackedVisit(variableDeclaration, data); object result = this.TrackedVisit(variableDeclaration, data);
this.EndVisit(variableDeclaration); this.EndVisit(variableDeclaration);
return result; return result;
} }
public override object VisitWithStatement(WithStatement withStatement, object data) { public sealed override object VisitWithStatement(WithStatement withStatement, object data) {
this.BeginVisit(withStatement); this.BeginVisit(withStatement);
object result = this.TrackedVisit(withStatement, data); object result = this.TrackedVisit(withStatement, data);
this.EndVisit(withStatement); this.EndVisit(withStatement);
return result; return result;
} }
public override object VisitYieldStatement(YieldStatement yieldStatement, object data) { public sealed override object VisitYieldStatement(YieldStatement yieldStatement, object data) {
this.BeginVisit(yieldStatement); this.BeginVisit(yieldStatement);
object result = this.TrackedVisit(yieldStatement, data); object result = this.TrackedVisit(yieldStatement, data);
this.EndVisit(yieldStatement); this.EndVisit(yieldStatement);
Loading…
Cancel
Save