Table of Contents

Class CodeModelVisitor

Namespace
LinqToDB.CodeModel
Assembly
linq2db.Tools.dll

Base AST visitor class without node visit methods implementation.

public abstract class CodeModelVisitor
Inheritance
CodeModelVisitor
Derived
Extension Methods

Properties

Parent

Parent node or null if visitor at top level node position.

protected ICodeElement? Parent { get; }

Property Value

ICodeElement

Methods

Visit(ClassGroup)

protected abstract void Visit(ClassGroup group)

Parameters

group ClassGroup

Visit(CodeAsOperator)

protected abstract void Visit(CodeAsOperator expression)

Parameters

expression CodeAsOperator

Visit(CodeAssignmentExpression)

protected abstract void Visit(CodeAssignmentExpression expression)

Parameters

expression CodeAssignmentExpression

Visit(CodeAssignmentStatement)

protected abstract void Visit(CodeAssignmentStatement statement)

Parameters

statement CodeAssignmentStatement

Visit(CodeAttribute)

protected abstract void Visit(CodeAttribute attribute)

Parameters

attribute CodeAttribute

Visit(CodeAwaitExpression)

protected abstract void Visit(CodeAwaitExpression expression)

Parameters

expression CodeAwaitExpression

Visit(CodeAwaitStatement)

protected abstract void Visit(CodeAwaitStatement statement)

Parameters

statement CodeAwaitStatement

Visit(CodeBinary)

protected abstract void Visit(CodeBinary expression)

Parameters

expression CodeBinary

Visit(CodeCallExpression)

protected abstract void Visit(CodeCallExpression call)

Parameters

call CodeCallExpression

Visit(CodeCallStatement)

protected abstract void Visit(CodeCallStatement call)

Parameters

call CodeCallStatement

Visit(CodeClass)

protected abstract void Visit(CodeClass @class)

Parameters

class CodeClass

Visit(CodeComment)

protected abstract void Visit(CodeComment comment)

Parameters

comment CodeComment

Visit(CodeConstant)

protected abstract void Visit(CodeConstant constant)

Parameters

constant CodeConstant

Visit(CodeConstructor)

protected abstract void Visit(CodeConstructor ctor)

Parameters

ctor CodeConstructor

Visit(CodeDefault)

protected abstract void Visit(CodeDefault expression)

Parameters

expression CodeDefault

Visit(CodeEmptyLine)

protected abstract void Visit(CodeEmptyLine line)

Parameters

line CodeEmptyLine

Visit(CodeField)

protected abstract void Visit(CodeField field)

Parameters

field CodeField

Visit(CodeFile)

protected abstract void Visit(CodeFile file)

Parameters

file CodeFile

Visit(CodeIdentifier)

protected abstract void Visit(CodeIdentifier identifier)

Parameters

identifier CodeIdentifier

Visit(CodeImport)

protected abstract void Visit(CodeImport import)

Parameters

import CodeImport

Visit(CodeIndex)

protected abstract void Visit(CodeIndex expression)

Parameters

expression CodeIndex

Visit(CodeLambda)

protected abstract void Visit(CodeLambda method)

Parameters

method CodeLambda

Visit(CodeMember)

protected abstract void Visit(CodeMember expression)

Parameters

expression CodeMember

Visit(CodeMethod)

protected abstract void Visit(CodeMethod method)

Parameters

method CodeMethod

Visit(CodeNameOf)

protected abstract void Visit(CodeNameOf nameOf)

Parameters

nameOf CodeNameOf

Visit(CodeNamespace)

protected abstract void Visit(CodeNamespace @namespace)

Parameters

namespace CodeNamespace

Visit(CodeNew)

protected abstract void Visit(CodeNew expression)

Parameters

expression CodeNew

Visit(CodeNewArray)

protected abstract void Visit(CodeNewArray expression)

Parameters

expression CodeNewArray

Visit(CodeParameter)

protected abstract void Visit(CodeParameter parameter)

Parameters

parameter CodeParameter

Visit(CodePragma)

protected abstract void Visit(CodePragma pragma)

Parameters

pragma CodePragma

Visit(CodeProperty)

protected abstract void Visit(CodeProperty property)

Parameters

property CodeProperty

Visit(CodeReference)

protected abstract void Visit(CodeReference reference)

Parameters

reference CodeReference

Visit(CodeRegion)

protected abstract void Visit(CodeRegion region)

Parameters

region CodeRegion

Visit(CodeReturn)

protected abstract void Visit(CodeReturn statement)

Parameters

statement CodeReturn

Visit(CodeSuppressNull)

protected abstract void Visit(CodeSuppressNull expression)

Parameters

expression CodeSuppressNull

Visit(CodeTernary)

protected abstract void Visit(CodeTernary expression)

Parameters

expression CodeTernary

Visit(CodeThis)

protected abstract void Visit(CodeThis expression)

Parameters

expression CodeThis

Visit(CodeThrowExpression)

protected abstract void Visit(CodeThrowExpression expression)

Parameters

expression CodeThrowExpression

Visit(CodeThrowStatement)

protected abstract void Visit(CodeThrowStatement statement)

Parameters

statement CodeThrowStatement

Visit(CodeTypeCast)

protected abstract void Visit(CodeTypeCast expression)

Parameters

expression CodeTypeCast

Visit(CodeTypeInitializer)

protected abstract void Visit(CodeTypeInitializer cctor)

Parameters

cctor CodeTypeInitializer

Visit(CodeTypeReference)

protected abstract void Visit(CodeTypeReference type)

Parameters

type CodeTypeReference

Visit(CodeTypeToken)

protected abstract void Visit(CodeTypeToken type)

Parameters

type CodeTypeToken

Visit(CodeUnary)

protected abstract void Visit(CodeUnary expression)

Parameters

expression CodeUnary

Visit(CodeVariable)

protected abstract void Visit(CodeVariable expression)

Parameters

expression CodeVariable

Visit(CodeXmlComment)

protected abstract void Visit(CodeXmlComment doc)

Parameters

doc CodeXmlComment

Visit(ConstructorGroup)

protected abstract void Visit(ConstructorGroup group)

Parameters

group ConstructorGroup

Visit(FieldGroup)

protected abstract void Visit(FieldGroup group)

Parameters

group FieldGroup

Visit(ICodeElement)

Main dispatch method.

public void Visit(ICodeElement node)

Parameters

node ICodeElement

Node to visit.

Visit(MethodGroup)

protected abstract void Visit(MethodGroup group)

Parameters

group MethodGroup

Visit(PragmaGroup)

protected abstract void Visit(PragmaGroup group)

Parameters

group PragmaGroup

Visit(PropertyGroup)

protected abstract void Visit(PropertyGroup group)

Parameters

group PropertyGroup

Visit(RegionGroup)

protected abstract void Visit(RegionGroup group)

Parameters

group RegionGroup

VisitList<T>(CodeElementList<T>)

Helper method to visit list of nodes.

protected void VisitList<T>(CodeElementList<T> list) where T : ICodeElement

Parameters

list CodeElementList<T>

List of nodes.

Type Parameters

T

Node type in list.

VisitList<T>(IEnumerable<T>)

Helper method to visit collection of nodes.

protected void VisitList<T>(IEnumerable<T> list) where T : ICodeElement

Parameters

list IEnumerable<T>

Collection of nodes.

Type Parameters

T

Node type in list.