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
  
    - startPosint
- endPosint
- operandsSpelNode[]
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
  
    - genILGenerator
- cfCodeFlow
  GenerateCodeForArgument(ILGenerator, CodeFlow, SpelNode, TypeDescriptor)
  
  
  
  
  
    protected static void GenerateCodeForArgument(ILGenerator gen, CodeFlow cf, SpelNode argument, TypeDescriptor paramDesc)
   
  Parameters
  
    - genILGenerator
- cfCodeFlow
- argumentSpelNode
- paramDescTypeDescriptor
  GenerateCodeForArguments(ILGenerator, CodeFlow, MethodBase, SpelNode[])
  
  
  
  
  
    protected static void GenerateCodeForArguments(ILGenerator gen, CodeFlow cf, MethodBase member, SpelNode[] arguments)
   
  Parameters
  
    - genILGenerator
- cfCodeFlow
- memberMethodBase
- argumentsSpelNode[]
  GetChild(int)
  
  
  
  
  
    public virtual ISpelNode GetChild(int index)
   
  Parameters
  
    - indexint
Returns
  
    - ISpelNode
  GetLdElemInsn(Type)
  
  
  
  
  
    protected static OpCode GetLdElemInsn(Type arrElemType)
   
  Parameters
  
    - arrElemTypeType
Returns
  
    - OpCode
  GetObjectType(object)
  
  
  
  
  
    public virtual Type GetObjectType(object obj)
   
  Parameters
  
    - objobject
Returns
  
    - Type
  GetStelemInsn(Type)
  
  
  
  
  
    protected static OpCode GetStelemInsn(Type arrElemType)
   
  Parameters
  
    - arrElemTypeType
Returns
  
    - OpCode
  GetTypedValue(ExpressionState)
  
  
  
  
  
    public virtual ITypedValue GetTypedValue(ExpressionState state)
   
  Parameters
  
    - stateExpressionState
Returns
  
    - ITypedValue
  GetValue(ExpressionState)
  
  
  
  
  
    public virtual object GetValue(ExpressionState state)
   
  Parameters
  
    - stateExpressionState
Returns
  
    - object
  GetValue(ExpressionState, Type)
  
  
  
  
  
    protected virtual object GetValue(ExpressionState state, Type desiredReturnType)
   
  Parameters
  
    - stateExpressionState
- desiredReturnTypeType
Returns
  
    - object
  GetValueInternal(ExpressionState)
  
  
  
  
  
    public abstract ITypedValue GetValueInternal(ExpressionState state)
   
  Parameters
  
    - stateExpressionState
Returns
  
    - ITypedValue
  GetValueRef(ExpressionState)
  
  
  
  
  
    protected virtual IValueRef GetValueRef(ExpressionState state)
   
  Parameters
  
    - stateExpressionState
Returns
  
    - IValueRef
  GetValue<T>(ExpressionState)
  
  
  
  
  
    protected virtual T GetValue<T>(ExpressionState state)
   
  Parameters
  
    - stateExpressionState
Returns
  
    - T
Type Parameters
  
    - T
  IsCompilable()
  
  
  
  
  
    public virtual bool IsCompilable()
   
  Returns
  
    - bool
  IsWritable(ExpressionState)
  
  
  
  
  
    public virtual bool IsWritable(ExpressionState state)
   
  Parameters
  
    - stateExpressionState
Returns
  
    - bool
  NextChildIs(params Type[])
  
  
  
  
  
    protected virtual bool NextChildIs(params Type[] classes)
   
  Parameters
  
    - classesType[]
Returns
  
    - bool
  SetValue(ExpressionState, object)
  
  
  
  
  
    public virtual void SetValue(ExpressionState state, object newValue)
   
  Parameters
  
    - stateExpressionState
- newValueobject
  ToStringAST()
  
  
  
  
  
    public abstract string ToStringAST()
   
  Returns
  
    - string