Table of Contents

Class ConvertCodeModelVisitor

Namespace
LinqToDB.CodeModel
Assembly
linq2db.Tools.dll

Base AST rewrite visitor class with noop node visit methods implementation with root-to-leaf visit order. Each node could be replaced with any other node type and this is visitor implementor's responsibility to ensure new node type is compatible with node owner. Otherwise parent node visit method will generate type cast exception trying to consume incompatible child node. Important note: node visitors should visit only child nodes.

public abstract class ConvertCodeModelVisitor
Inheritance
ConvertCodeModelVisitor
Derived
Extension Methods

Methods

Visit(ClassGroup)

protected virtual ICodeElement Visit(ClassGroup group)

Parameters

group ClassGroup

Returns

ICodeElement

Visit(CodeAsOperator)

protected virtual ICodeElement Visit(CodeAsOperator expression)

Parameters

expression CodeAsOperator

Returns

ICodeElement

Visit(CodeAssignmentExpression)

protected virtual ICodeElement Visit(CodeAssignmentExpression expression)

Parameters

expression CodeAssignmentExpression

Returns

ICodeElement

Visit(CodeAssignmentStatement)

protected virtual ICodeElement Visit(CodeAssignmentStatement statement)

Parameters

statement CodeAssignmentStatement

Returns

ICodeElement

Visit(CodeAttribute)

protected virtual ICodeElement Visit(CodeAttribute attribute)

Parameters

attribute CodeAttribute

Returns

ICodeElement

Visit(CodeAwaitExpression)

protected virtual ICodeElement Visit(CodeAwaitExpression expression)

Parameters

expression CodeAwaitExpression

Returns

ICodeElement

Visit(CodeAwaitStatement)

protected virtual ICodeElement Visit(CodeAwaitStatement statement)

Parameters

statement CodeAwaitStatement

Returns

ICodeElement

Visit(CodeBinary)

protected virtual ICodeElement Visit(CodeBinary expression)

Parameters

expression CodeBinary

Returns

ICodeElement

Visit(CodeCallExpression)

protected virtual ICodeElement Visit(CodeCallExpression call)

Parameters

call CodeCallExpression

Returns

ICodeElement

Visit(CodeCallStatement)

protected virtual ICodeElement Visit(CodeCallStatement call)

Parameters

call CodeCallStatement

Returns

ICodeElement

Visit(CodeClass)

protected virtual ICodeElement Visit(CodeClass @class)

Parameters

class CodeClass

Returns

ICodeElement

Visit(CodeComment)

protected virtual ICodeElement Visit(CodeComment comment)

Parameters

comment CodeComment

Returns

ICodeElement

Visit(CodeConstant)

protected virtual ICodeElement Visit(CodeConstant constant)

Parameters

constant CodeConstant

Returns

ICodeElement

Visit(CodeConstructor)

protected virtual ICodeElement Visit(CodeConstructor ctor)

Parameters

ctor CodeConstructor

Returns

ICodeElement

Visit(CodeDefault)

protected virtual ICodeElement Visit(CodeDefault expression)

Parameters

expression CodeDefault

Returns

ICodeElement

Visit(CodeEmptyLine)

protected virtual ICodeElement Visit(CodeEmptyLine line)

Parameters

line CodeEmptyLine

Returns

ICodeElement

Visit(CodeField)

protected virtual ICodeElement Visit(CodeField field)

Parameters

field CodeField

Returns

ICodeElement

Visit(CodeFile)

protected virtual ICodeElement Visit(CodeFile file)

Parameters

file CodeFile

Returns

ICodeElement

Visit(CodeIdentifier)

protected virtual ICodeElement Visit(CodeIdentifier identifier)

Parameters

identifier CodeIdentifier

Returns

ICodeElement

Visit(CodeImport)

protected virtual ICodeElement Visit(CodeImport import)

Parameters

import CodeImport

Returns

ICodeElement

Visit(CodeIndex)

protected virtual ICodeElement Visit(CodeIndex expression)

Parameters

expression CodeIndex

Returns

ICodeElement

Visit(CodeLambda)

protected virtual ICodeElement Visit(CodeLambda method)

Parameters

method CodeLambda

Returns

ICodeElement

Visit(CodeMember)

protected virtual ICodeElement Visit(CodeMember expression)

Parameters

expression CodeMember

Returns

ICodeElement

Visit(CodeMethod)

protected virtual ICodeElement Visit(CodeMethod method)

Parameters

method CodeMethod

Returns

ICodeElement

Visit(CodeNameOf)

protected virtual ICodeElement Visit(CodeNameOf nameOf)

Parameters

nameOf CodeNameOf

Returns

ICodeElement

Visit(CodeNamespace)

protected virtual ICodeElement Visit(CodeNamespace @namespace)

Parameters

namespace CodeNamespace

Returns

ICodeElement

Visit(CodeNew)

protected virtual ICodeElement Visit(CodeNew expression)

Parameters

expression CodeNew

Returns

ICodeElement

Visit(CodeNewArray)

protected virtual ICodeElement Visit(CodeNewArray expression)

Parameters

expression CodeNewArray

Returns

ICodeElement

Visit(CodeParameter)

protected virtual ICodeElement Visit(CodeParameter parameter)

Parameters

parameter CodeParameter

Returns

ICodeElement

Visit(CodePragma)

protected virtual ICodeElement Visit(CodePragma pragma)

Parameters

pragma CodePragma

Returns

ICodeElement

Visit(CodeProperty)

protected virtual ICodeElement Visit(CodeProperty property)

Parameters

property CodeProperty

Returns

ICodeElement

Visit(CodeReference)

protected virtual ICodeElement Visit(CodeReference reference)

Parameters

reference CodeReference

Returns

ICodeElement

Visit(CodeRegion)

protected virtual ICodeElement Visit(CodeRegion region)

Parameters

region CodeRegion

Returns

ICodeElement

Visit(CodeReturn)

protected virtual ICodeElement Visit(CodeReturn statement)

Parameters

statement CodeReturn

Returns

ICodeElement

Visit(CodeSuppressNull)

protected virtual ICodeElement Visit(CodeSuppressNull expression)

Parameters

expression CodeSuppressNull

Returns

ICodeElement

Visit(CodeTernary)

protected virtual ICodeElement Visit(CodeTernary expression)

Parameters

expression CodeTernary

Returns

ICodeElement

Visit(CodeThis)

protected virtual ICodeElement Visit(CodeThis expression)

Parameters

expression CodeThis

Returns

ICodeElement

Visit(CodeThrowExpression)

protected virtual ICodeElement Visit(CodeThrowExpression expression)

Parameters

expression CodeThrowExpression

Returns

ICodeElement

Visit(CodeThrowStatement)

protected virtual ICodeElement Visit(CodeThrowStatement statement)

Parameters

statement CodeThrowStatement

Returns

ICodeElement

Visit(CodeTypeCast)

protected virtual ICodeElement Visit(CodeTypeCast expression)

Parameters

expression CodeTypeCast

Returns

ICodeElement

Visit(CodeTypeInitializer)

protected virtual ICodeElement Visit(CodeTypeInitializer cctor)

Parameters

cctor CodeTypeInitializer

Returns

ICodeElement

Visit(CodeTypeReference)

protected virtual ICodeElement Visit(CodeTypeReference type)

Parameters

type CodeTypeReference

Returns

ICodeElement

Visit(CodeTypeToken)

protected virtual ICodeElement Visit(CodeTypeToken type)

Parameters

type CodeTypeToken

Returns

ICodeElement

Visit(CodeUnary)

protected virtual ICodeElement Visit(CodeUnary expression)

Parameters

expression CodeUnary

Returns

ICodeElement

Visit(CodeVariable)

protected virtual ICodeElement Visit(CodeVariable expression)

Parameters

expression CodeVariable

Returns

ICodeElement

Visit(CodeXmlComment)

protected virtual ICodeElement Visit(CodeXmlComment doc)

Parameters

doc CodeXmlComment

Returns

ICodeElement

Visit(ConstructorGroup)

protected virtual ICodeElement Visit(ConstructorGroup group)

Parameters

group ConstructorGroup

Returns

ICodeElement

Visit(FieldGroup)

protected virtual ICodeElement Visit(FieldGroup group)

Parameters

group FieldGroup

Returns

ICodeElement

Visit(ICodeElement)

Main dispatch method.

public ICodeElement Visit(ICodeElement node)

Parameters

node ICodeElement

Node to visit.

Returns

ICodeElement

Returns new node if node were replaced or same node otherwise.

Visit(MethodGroup)

protected virtual ICodeElement Visit(MethodGroup group)

Parameters

group MethodGroup

Returns

ICodeElement

Visit(PragmaGroup)

protected virtual ICodeElement Visit(PragmaGroup group)

Parameters

group PragmaGroup

Returns

ICodeElement

Visit(PropertyGroup)

protected virtual ICodeElement Visit(PropertyGroup group)

Parameters

group PropertyGroup

Returns

ICodeElement

Visit(RegionGroup)

protected virtual ICodeElement Visit(RegionGroup group)

Parameters

group RegionGroup

Returns

ICodeElement