# Uses of Class
org.springframework.expression.spel.ast.SpelNodeImpl

Packages that use SpelNodeImpl
Package
Description
org.springframework.expression.spel.ast
SpEL's abstract syntax tree.
org.springframework.expression.spel.standard
SpEL's standard parser implementation.

## Uses of SpelNodeImpl in org.springframework.expression.spel.ast

Subclasses of SpelNodeImpl in org.springframework.expression.spel.ast
Modifier and Type
Class
Description
`class`
`Assign`
Represents assignment.
`class`
`BeanReference`
Represents a reference to a bean, for example `@orderService` or `@'order.service'`.
`class`
`BooleanLiteral`
Represents the literal values `TRUE` and `FALSE`.
`class`
`CompoundExpression`
Represents a DOT separated expression sequence, such as `property1.property2.methodOne()` or `property1?.property2?.methodOne()` when the null-safe navigation operator is used.
`class`
`ConstructorReference`
Represents the invocation of a constructor: either a constructor on a regular type or construction of an array.
`class`
`Elvis`
Represents the Elvis operator `?:`.
`class`
`FloatLiteral`
Expression language AST node that represents a float literal.
`class`
`FunctionReference`
A function reference is of the form "#someFunction(a,b,c)".
`class`
`Identifier`
An 'identifier' `SpelNode`.
`class`
`Indexer`
An `Indexer` can index into some proceeding structure to access a particular element of the structure.
`class`
`InlineList`
Represent a list in an expression, for example, '{1,2,3}'.
`class`
`InlineMap`
Represent a map in an expression, for example, '{name:'foo',age:12}'.
`class`
`IntLiteral`
Expression language AST node that represents an integer literal.
`class`
`Literal`
Common superclass for nodes representing literals (boolean, string, number, etc).
`class`
`LongLiteral`
Expression language AST node that represents a long integer literal.
`class`
`MethodReference`
Expression language AST node that represents a method reference.
`class`
`NullLiteral`
Expression language AST node that represents null.
`class`
`OpAnd`
Represents the boolean AND operation.
`class`
`OpDec`
Decrement operator.
`class`
`OpDivide`
Implements division operator.
`class`
`OpEQ`
Implements the equality operator.
`class`
`Operator`
Common supertype for operators that operate on either one or two operands.
`class`
`OperatorBetween`
Represents the `between` operator.
`class`
`OperatorInstanceof`
The operator 'instanceof' checks if an object is of the class specified in the right-hand operand, in the same way that `instanceof` does in Java.
`class`
`OperatorMatches`
Implements the matches operator.
`class`
`OperatorNot`
Represents a NOT operation.
`class`
`OperatorPower`
The power operator.
`class`
`OpGE`
Implements greater-than-or-equal operator.
`class`
`OpGT`
Implements the greater-than operator.
`class`
`OpInc`
Increment operator.
`class`
`OpLE`
Implements the less-than-or-equal operator.
`class`
`OpLT`
Implements the less-than operator.
`class`
`OpMinus`
The minus operator supports: subtraction of numbers subtraction of an int from a string of one character (effectively decreasing that character), so `'d' - 3 = 'a'`
`class`
`OpModulus`
Implements the modulus operator.
`class`
`OpMultiply`
Implements the `multiply` operator.
`class`
`OpNE`
Implements the not-equal operator.
`class`
`OpOr`
Represents the boolean OR operation.
`class`
`OpPlus`
The plus operator will: add numbers concatenate strings
`class`
`Projection`
Represents projection, where a given operation is performed on all elements in some input sequence, returning a new sequence of the same size.
`class`
`PropertyOrFieldReference`
Represents a simple property or field reference.
`class`
`QualifiedIdentifier`
Represents a dot separated sequence of strings that indicate a package qualified type reference.
`class`
`RealLiteral`
Expression language AST node that represents a real literal.
`class`
`Selection`
Represents selection over a map or collection.
`class`
`StringLiteral`
Expression language AST node that represents a string literal.
`class`
`Ternary`
Represents a ternary expression, for example: "someCheck()?true:false".
`class`
`TypeReference`
Represents a reference to a type, for example `"T(String)"` or `"T(com.example.Foo)"`.
`class`
`VariableReference`
Represents a variable reference — for example, `#root`, `#this`, `#someVar`, etc.
Fields in org.springframework.expression.spel.ast declared as SpelNodeImpl
Modifier and Type
Field
Description
`protected SpelNodeImpl[]`
SpelNodeImpl.`children`
Methods in org.springframework.expression.spel.ast that return SpelNodeImpl
Modifier and Type
Method
Description
`SpelNodeImpl`
Operator.`getLeftOperand()`
`SpelNodeImpl`
OpDec.`getRightOperand()`
`SpelNodeImpl`
Operator.`getRightOperand()`
`SpelNodeImpl`
OpInc.`getRightOperand()`
`SpelNodeImpl`
OpMinus.`getRightOperand()`
`SpelNodeImpl`
OpPlus.`getRightOperand()`
Methods in org.springframework.expression.spel.ast with parameters of type SpelNodeImpl
Modifier and Type
Method
Description
`protected static void`
SpelNodeImpl.`generateCodeForArgument(org.springframework.asm.MethodVisitor mv, CodeFlow cf, SpelNodeImpl argument, String paramDesc)`
Deprecated.
as of 6.2, in favor of `CodeFlow.generateCodeForArgument(MethodVisitor, SpelNode, String)`
`protected static void`
SpelNodeImpl.`generateCodeForArguments(org.springframework.asm.MethodVisitor mv, CodeFlow cf, Executable executable, SpelNodeImpl[] arguments)`
Generate code that handles building the argument values for the specified `Executable` (method or constructor).
`protected static void`
SpelNodeImpl.`generateCodeForArguments(org.springframework.asm.MethodVisitor mv, CodeFlow cf, Member member, SpelNodeImpl[] arguments)`
Deprecated.
as of 6.2, in favor of `generateCodeForArguments(MethodVisitor, CodeFlow, Executable, SpelNodeImpl[])`
Constructors in org.springframework.expression.spel.ast with parameters of type SpelNodeImpl
Modifier
Constructor
Description
``
`Assign(int startPos, int endPos, SpelNodeImpl... operands)`
``
`CompoundExpression(int startPos, int endPos, SpelNodeImpl... expressionComponents)`
``
`ConstructorReference(int startPos, int endPos, SpelNodeImpl... arguments)`
Create a constructor reference for a regular type.
``
`ConstructorReference(int startPos, int endPos, SpelNodeImpl[] dimensions, SpelNodeImpl... arguments)`
Create a constructor reference for an array.
``
`Elvis(int startPos, int endPos, SpelNodeImpl... args)`
``
`FunctionReference(String functionName, int startPos, int endPos, SpelNodeImpl... arguments)`
``
`Indexer(boolean nullSafe, int startPos, int endPos, SpelNodeImpl indexExpression)`
Create an `Indexer` with the given null-safe flag, start position, end position, and index expression.
``
`Indexer(int startPos, int endPos, SpelNodeImpl indexExpression)`
Deprecated, for removal: This API element is subject to removal in a future version.
as of 6.2, in favor of `Indexer(boolean, int, int, SpelNodeImpl)`
``
`InlineList(int startPos, int endPos, SpelNodeImpl... args)`
``
`InlineMap(int startPos, int endPos, SpelNodeImpl... args)`
``
`MethodReference(boolean nullSafe, String methodName, int startPos, int endPos, SpelNodeImpl... arguments)`
``
`OpAnd(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpDec(int startPos, int endPos, boolean postfix, SpelNodeImpl... operands)`
``
`OpDivide(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpEQ(int startPos, int endPos, SpelNodeImpl... operands)`
``
`Operator(String payload, int startPos, int endPos, SpelNodeImpl... operands)`
``
`OperatorBetween(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OperatorInstanceof(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OperatorMatches(int startPos, int endPos, SpelNodeImpl... operands)`
Deprecated, for removal: This API element is subject to removal in a future version.
as of Spring Framework 5.2.23; for removal in Spring Framework 7.1; invoke `OperatorMatches(ConcurrentLruCache, int, int, SpelNodeImpl...)` instead
``
`OperatorMatches(ConcurrentMap<String,Pattern> patternCacheMap, int startPos, int endPos, SpelNodeImpl... operands)`
Deprecated, for removal: This API element is subject to removal in a future version.
as of Spring Framework 6.2.19; for removal in Spring Framework 7.1; invoke `OperatorMatches(ConcurrentLruCache, int, int, SpelNodeImpl...)` instead
``
`OperatorMatches(org.springframework.util.ConcurrentLruCache<String,Pattern> patternCache, int startPos, int endPos, SpelNodeImpl... operands)`
Create a new `OperatorMatches` instance with a shared pattern cache.
``
`OperatorNot(int startPos, int endPos, SpelNodeImpl operand)`
``
`OperatorPower(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpGE(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpGT(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpInc(int startPos, int endPos, boolean postfix, SpelNodeImpl... operands)`
``
`OpLE(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpLT(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpMinus(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpModulus(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpMultiply(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpNE(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpOr(int startPos, int endPos, SpelNodeImpl... operands)`
``
`OpPlus(int startPos, int endPos, SpelNodeImpl... operands)`
``
`Projection(boolean nullSafe, int startPos, int endPos, SpelNodeImpl expression)`
``
`QualifiedIdentifier(int startPos, int endPos, SpelNodeImpl... operands)`
``
`Selection(boolean nullSafe, int variant, int startPos, int endPos, SpelNodeImpl expression)`
``
`SpelNodeImpl(int startPos, int endPos, SpelNodeImpl... operands)`
``
`Ternary(int startPos, int endPos, SpelNodeImpl... args)`
``
`TypedValueHolderValueRef(TypedValue typedValue, SpelNodeImpl node)`
``
`TypeReference(int startPos, int endPos, SpelNodeImpl qualifiedId)`
``
`TypeReference(int startPos, int endPos, SpelNodeImpl qualifiedId, int dims)`

## Uses of SpelNodeImpl in org.springframework.expression.spel.standard

Methods in org.springframework.expression.spel.standard with parameters of type SpelNodeImpl
Modifier and Type
Method
Description
`CompiledExpression`
SpelCompiler.`compile(SpelNodeImpl expression)`
Attempt compilation of the supplied expression.
Constructors in org.springframework.expression.spel.standard with parameters of type SpelNodeImpl
Modifier
Constructor
Description
``
`SpelExpression(String expression, SpelNodeImpl ast, SpelParserConfiguration configuration)`
Construct an expression, only used by the parser.