📄 graphparserbase.cs
字号:
using System;
using System.Reflection;
using System.Collections;
using DDW.CSharp.Dom;
namespace DDW.CSharp.Walk
{
public abstract class GraphParserBase
{
public virtual void Parse(IGraph ig)
{
if(ig == null) return;
BeginParse(ig);
switch(ig.GraphType)
{
case GraphTypes.CompileUnit :
{
ParseElement((CompileUnit)ig);
break;
}
case GraphTypes.Import :
{
ParseElement((Import)ig);
break;
}
case GraphTypes.NamespaceDecl :
{
ParseElement((NamespaceDecl)ig);
break;
}
case GraphTypes.MethodDecl :
{
ParseElement((MethodDecl)ig);
break;
}
case GraphTypes.FieldDecl :
{
ParseElement((FieldDecl)ig);
break;
}
case GraphTypes.PropertyDecl :
{
ParseElement((PropertyDecl)ig);
break;
}
case GraphTypes.EventDecl :
{
ParseElement((EventDecl)ig);
break;
}
case GraphTypes.ConstantDecl :
{
ParseElement((ConstantDecl)ig);
break;
}
case GraphTypes.IndexerDecl :
{
ParseElement((IndexerDecl)ig);
break;
}
case GraphTypes.OperatorDecl :
{
ParseElement((OperatorDecl)ig);
break;
}
case GraphTypes.ConstructorDecl :
{
ParseElement((ConstructorDecl)ig);
break;
}
case GraphTypes.DestructorDecl :
{
ParseElement((DestructorDecl)ig);
break;
}
case GraphTypes.AccessorDecl :
{
ParseElement((AccessorDecl)ig);
break;
}
case GraphTypes.EnumMemberDecl :
{
ParseElement((EnumMemberDecl)ig);
break;
}
case GraphTypes.ClassDecl :
{
ParseElement((ClassDecl)ig);
break;
}
case GraphTypes.InterfaceDecl :
{
ParseElement((InterfaceDecl)ig);
break;
}
case GraphTypes.StructDecl :
{
ParseElement((StructDecl)ig);
break;
}
case GraphTypes.EnumDecl :
{
ParseElement((EnumDecl)ig);
break;
}
case GraphTypes.DelegateDecl :
{
ParseElement((DelegateDecl)ig);
break;
}
case GraphTypes.ExprStmt :
{
ParseElement((ExprStmt)ig);
break;
}
case GraphTypes.CommentStmt :
{
ParseElement((CommentStmt)ig);
break;
}
case GraphTypes.VariableDeclStmt :
{
ParseElement((VariableDeclStmt)ig);
break;
}
case GraphTypes.ConstantDeclStmt :
{
ParseElement((ConstantDeclStmt)ig);
break;
}
case GraphTypes.IfStmt :
{
ParseElement((IfStmt)ig);
break;
}
case GraphTypes.SwitchStmt :
{
ParseElement((SwitchStmt)ig);
break;
}
case GraphTypes.Case :
{
ParseElement((Case)ig);
break;
}
case GraphTypes.IterationStmt :
{
ParseElement((IterationStmt)ig);
break;
}
case GraphTypes.ForEachStmt :
{
ParseElement((ForEachStmt)ig);
break;
}
case GraphTypes.GotoStmt :
{
ParseElement((GotoStmt)ig);
break;
}
case GraphTypes.LabeledStmt :
{
ParseElement((LabeledStmt)ig);
break;
}
case GraphTypes.ReturnStmt :
{
ParseElement((ReturnStmt)ig);
break;
}
case GraphTypes.BreakStmt :
{
ParseElement((BreakStmt)ig);
break;
}
case GraphTypes.ContinueStmt :
{
ParseElement((ContinueStmt)ig);
break;
}
case GraphTypes.CheckedStmt :
{
ParseElement((CheckedStmt)ig);
break;
}
case GraphTypes.UncheckedStmt :
{
ParseElement((UncheckedStmt)ig);
break;
}
case GraphTypes.LockStmt :
{
ParseElement((LockStmt)ig);
break;
}
case GraphTypes.UsingStmt :
{
ParseElement((UsingStmt)ig);
break;
}
case GraphTypes.ThrowStmt :
{
ParseElement((ThrowStmt)ig);
break;
}
case GraphTypes.TryCatchFinallyStmt :
{
ParseElement((TryCatchFinallyStmt)ig);
break;
}
case GraphTypes.Catch :
{
ParseElement((Catch)ig);
break;
}
case GraphTypes.AttachDelegateStmt :
{
ParseElement((AttachDelegateStmt)ig);
break;
}
case GraphTypes.RemoveDelegateStmt :
{
ParseElement((RemoveDelegateStmt)ig);
break;
}
case GraphTypes.AssignExpr :
{
ParseElement((AssignExpr)ig);
break;
}
case GraphTypes.UnaryExpr :
{
ParseElement((UnaryExpr)ig);
break;
}
case GraphTypes.BinaryExpr :
{
ParseElement((BinaryExpr)ig);
break;
}
case GraphTypes.TernaryExpr :
{
ParseElement((TernaryExpr)ig);
break;
}
case GraphTypes.CastExpr :
{
ParseElement((CastExpr)ig);
break;
}
case GraphTypes.SubExpr :
{
ParseElement((SubExpr)ig);
break;
}
case GraphTypes.UnknownReference :
{
ParseElement((UnknownReference)ig);
break;
}
case GraphTypes.ThisRef :
{
ParseElement((ThisRef)ig);
break;
}
case GraphTypes.BaseRef :
{
ParseElement((BaseRef)ig);
break;
}
case GraphTypes.PropertySetValueRef :
{
ParseElement((PropertySetValueRef)ig);
break;
}
case GraphTypes.ArgumentRef :
{
ParseElement((ArgumentRef)ig);
break;
}
case GraphTypes.LocalRef :
{
ParseElement((LocalRef)ig);
break;
}
case GraphTypes.TypeOfExpr :
{
ParseElement((TypeOfExpr)ig);
break;
}
case GraphTypes.FieldRef :
{
ParseElement((FieldRef)ig);
break;
}
case GraphTypes.ArrayElementRef :
{
ParseElement((ArrayElementRef)ig);
break;
}
case GraphTypes.MethodRef :
{
ParseElement((MethodRef)ig);
break;
}
case GraphTypes.PropertyRef :
{
ParseElement((PropertyRef)ig);
break;
}
case GraphTypes.EventRef :
{
ParseElement((EventRef)ig);
break;
}
case GraphTypes.MethodInvokeExpr :
{
ParseElement((MethodInvokeExpr)ig);
break;
}
case GraphTypes.PostfixExpr :
{
ParseElement((PostfixExpr)ig);
break;
}
case GraphTypes.DelegateInvokeExpr :
{
ParseElement((DelegateInvokeExpr)ig);
break;
}
case GraphTypes.IndexerRef :
{
ParseElement((IndexerRef)ig);
break;
}
case GraphTypes.MemberAccess :
{
ParseElement((MemberAccess)ig);
break;
}
case GraphTypes.ArrayCreateExpr :
{
ParseElement((ArrayCreateExpr)ig);
break;
}
case GraphTypes.ObjectCreateExpr :
{
ParseElement((ObjectCreateExpr)ig);
break;
}
case GraphTypes.CreateDelegateExpr :
{
ParseElement((CreateDelegateExpr)ig);
break;
}
case GraphTypes.BooleanLiteral :
{
ParseElement((BooleanLiteral)ig);
break;
}
case GraphTypes.CharLiteral :
{
ParseElement((CharLiteral)ig);
break;
}
case GraphTypes.IntegerLiteral :
{
ParseElement((IntegerLiteral)ig);
break;
}
case GraphTypes.NullLiteral :
{
ParseElement((NullLiteral)ig);
break;
}
case GraphTypes.RealLiteral :
{
ParseElement((RealLiteral)ig);
break;
}
case GraphTypes.StringLiteral :
{
ParseElement((StringLiteral)ig);
break;
}
case GraphTypes.ArrayInitializer :
{
ParseElement((ArrayInitializer)ig);
break;
}
case GraphTypes.CustomAttribute :
{
ParseElement((CustomAttribute)ig);
break;
}
case GraphTypes.TypeRef :
{
ParseElement((TypeRef)ig);
break;
}
case GraphTypes.BuiltInType :
{
ParseElement((BuiltInType)ig);
break;
}
case GraphTypes.ParamDecl :
{
ParseElement((ParamDecl)ig);
break;
}
case GraphTypes.Param :
{
ParseElement((Param)ig);
break;
}
case GraphTypes.VariableDecl :
{
ParseElement((VariableDecl)ig);
break;
}
case GraphTypes.LinePragma :
{
ParseElement((LinePragma)ig);
break;
}
case GraphTypes.Comment :
{
ParseElement((Comment)ig);
break;
}
case GraphTypes.AssemblyReference :
{
ParseElement((AssemblyReference)ig);
break;
}
case GraphTypes.RankSpecifier :
{
ParseElement((RankSpecifier)ig);
break;
}
case GraphTypes.Declarator :
{
ParseElement((Declarator)ig);
break;
}
case GraphTypes.CompileUnitCollection :
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -