Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | /**
* NodeType — canonical enumeration of all SpEL AST node kinds.
*
* Enables programmatic node type discrimination without instanceof checks.
* Each AST node carries its NodeType as a public readonly property.
*/
export enum NodeType {
// ===== Literals =====
NULL_LITERAL = 'null_literal',
BOOLEAN_LITERAL = 'boolean_literal',
INT_LITERAL = 'int_literal',
LONG_LITERAL = 'long_literal',
REAL_LITERAL = 'real_literal',
FLOAT_LITERAL = 'float_literal',
STRING_LITERAL = 'string_literal',
// ===== References =====
VARIABLE_REFERENCE = 'variable_reference',
PROPERTY_OR_FIELD_REFERENCE = 'property_or_field_reference',
COMPOUND_EXPRESSION = 'compound_expression',
INDEXER = 'indexer',
METHOD_REFERENCE = 'method_reference',
CONSTRUCTOR_REFERENCE = 'constructor_reference',
BEAN_REFERENCE = 'bean_reference',
TYPE_REFERENCE = 'type_reference',
IDENTIFIER = 'identifier',
// ===== Control Flow =====
TERNARY = 'ternary',
ELVIS = 'elvis',
ASSIGN = 'assign',
// ===== Collections =====
INLINE_LIST = 'inline_list',
INLINE_MAP = 'inline_map',
SELECTION = 'selection',
PROJECTION = 'projection',
// ===== Operators =====
OP_PLUS = 'op_plus',
OP_MINUS = 'op_minus',
OP_MULTIPLY = 'op_multiply',
OP_DIVIDE = 'op_divide',
OP_MODULUS = 'op_modulus',
OP_POWER = 'op_power',
OP_EQ = 'op_eq',
OP_NE = 'op_ne',
OP_LT = 'op_lt',
OP_LE = 'op_le',
OP_GT = 'op_gt',
OP_GE = 'op_ge',
OP_AND = 'op_and',
OP_OR = 'op_or',
OP_NOT = 'op_not',
OP_MATCHES = 'op_matches',
OP_BETWEEN = 'op_between',
OP_INSTANCEOF = 'op_instanceof',
OP_INC = 'op_inc',
OP_DEC = 'op_dec',
RANGE_OPERATOR = 'range_operator',
}
|