Table of Contents

Class SpelNode

Namespace
Steeltoe.Common.Expression.Internal.Spring.Ast
Assembly
Steeltoe.Common.Expression.dll
public abstract class SpelNode : ISpelNode
Inheritance
SpelNode
Implements
Derived
Inherited Members

Constructors

SpelNode(int, int, params SpelNode[])

protected SpelNode(int startPos, int endPos, params SpelNode[] operands)

Parameters

startPos int
endPos int
operands SpelNode[]

Fields

_children

protected SpelNode[] _children

Field Value

SpelNode[]

_exitTypeDescriptor

protected volatile TypeDescriptor _exitTypeDescriptor

Field Value

TypeDescriptor

Properties

ChildCount

public virtual int ChildCount { get; }

Property Value

int

EndPosition

public virtual int EndPosition { get; }

Property Value

int

ExitDescriptor

public virtual TypeDescriptor ExitDescriptor { get; }

Property Value

TypeDescriptor

StartPosition

public virtual int StartPosition { get; }

Property Value

int

Methods

GenerateCode(ILGenerator, CodeFlow)

public virtual void GenerateCode(ILGenerator gen, CodeFlow cf)

Parameters

gen ILGenerator
cf CodeFlow

GenerateCodeForArgument(ILGenerator, CodeFlow, SpelNode, TypeDescriptor)

protected static void GenerateCodeForArgument(ILGenerator gen, CodeFlow cf, SpelNode argument, TypeDescriptor paramDesc)

Parameters

gen ILGenerator
cf CodeFlow
argument SpelNode
paramDesc TypeDescriptor

GenerateCodeForArguments(ILGenerator, CodeFlow, MethodBase, SpelNode[])

protected static void GenerateCodeForArguments(ILGenerator gen, CodeFlow cf, MethodBase member, SpelNode[] arguments)

Parameters

gen ILGenerator
cf CodeFlow
member MethodBase
arguments SpelNode[]

GetChild(int)

public virtual ISpelNode GetChild(int index)

Parameters

index int

Returns

ISpelNode

GetLdElemInsn(Type)

protected static OpCode GetLdElemInsn(Type arrElemType)

Parameters

arrElemType Type

Returns

OpCode

GetObjectType(object)

public virtual Type GetObjectType(object obj)

Parameters

obj object

Returns

Type

GetStelemInsn(Type)

protected static OpCode GetStelemInsn(Type arrElemType)

Parameters

arrElemType Type

Returns

OpCode

GetTypedValue(ExpressionState)

public virtual ITypedValue GetTypedValue(ExpressionState state)

Parameters

state ExpressionState

Returns

ITypedValue

GetValue(ExpressionState)

public virtual object GetValue(ExpressionState state)

Parameters

state ExpressionState

Returns

object

GetValue(ExpressionState, Type)

protected virtual object GetValue(ExpressionState state, Type desiredReturnType)

Parameters

state ExpressionState
desiredReturnType Type

Returns

object

GetValueInternal(ExpressionState)

public abstract ITypedValue GetValueInternal(ExpressionState state)

Parameters

state ExpressionState

Returns

ITypedValue

GetValueRef(ExpressionState)

protected virtual IValueRef GetValueRef(ExpressionState state)

Parameters

state ExpressionState

Returns

IValueRef

GetValue<T>(ExpressionState)

protected virtual T GetValue<T>(ExpressionState state)

Parameters

state ExpressionState

Returns

T

Type Parameters

T

IsCompilable()

public virtual bool IsCompilable()

Returns

bool

IsWritable(ExpressionState)

public virtual bool IsWritable(ExpressionState state)

Parameters

state ExpressionState

Returns

bool

NextChildIs(params Type[])

protected virtual bool NextChildIs(params Type[] classes)

Parameters

classes Type[]

Returns

bool

SetValue(ExpressionState, object)

public virtual void SetValue(ExpressionState state, object newValue)

Parameters

state ExpressionState
newValue object

ToStringAST()

public abstract string ToStringAST()

Returns

string