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