# Uses of Class
org.springframework.expression.spel.CodeFlow

Packages that use CodeFlow
Package
Description
org.springframework.expression.spel
SpEL's central implementation package.
org.springframework.expression.spel.ast
SpEL's abstract syntax tree.
org.springframework.expression.spel.support
SpEL's default implementations for various core abstractions.

## Uses of CodeFlow in org.springframework.expression.spel

Methods in org.springframework.expression.spel with parameters of type CodeFlow
Modifier and Type
Method
Description
`void`
CodeFlow.ClinitAdder.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow codeflow)`
`void`
CompilableIndexAccessor.`generateCode(SpelNode indexNode, org.springframework.asm.MethodVisitor methodVisitor, CodeFlow codeFlow)`
Generate bytecode that performs the operation for reading the index.
`void`
CompilablePropertyAccessor.`generateCode(String propertyName, org.springframework.asm.MethodVisitor methodVisitor, CodeFlow codeFlow)`
Generate the bytecode that performs the access operation into the specified `MethodVisitor` using context information from the `CodeFlow` where necessary.
`default void`
SpelNode.`generateCode(org.springframework.asm.MethodVisitor methodVisitor, CodeFlow codeFlow)`
Generate the bytecode for this node into the supplied `MethodVisitor`.
`void`
CodeFlow.FieldAdder.`generateField(org.springframework.asm.ClassWriter cw, CodeFlow codeflow)`

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

Methods in org.springframework.expression.spel.ast with parameters of type CodeFlow
Modifier and Type
Method
Description
`void`
BooleanLiteral.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
CompoundExpression.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
ConstructorReference.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
Elvis.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
FloatLiteral.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
FunctionReference.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
Indexer.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
InlineList.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow codeflow)`
`void`
IntLiteral.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
LongLiteral.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
MethodReference.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
NullLiteral.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpAnd.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpDivide.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpEQ.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OperatorInstanceof.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OperatorNot.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpGE.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpGT.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpLE.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpLT.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpMinus.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpModulus.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpMultiply.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpNE.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpOr.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
OpPlus.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
PropertyOrFieldReference.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
RealLiteral.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
StringLiteral.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
Ternary.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
TypeReference.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`void`
VariableReference.`generateCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf)`
`protected static void`
SpelNodeImpl.`generateCodeForArgument(org.springframework.asm.MethodVisitor mv, CodeFlow cf, SpelNodeImpl argument, String paramDesc)`
Deprecated.
as of 6.2, in favor of `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 `SpelNodeImpl.generateCodeForArguments(MethodVisitor, CodeFlow, Executable, SpelNodeImpl[])`
`protected void`
Operator.`generateComparisonCode(org.springframework.asm.MethodVisitor mv, CodeFlow cf, int compInstruction1, int compInstruction2)`
Numeric comparison operators share very similar generated code, only differing in two comparison instructions.

## Uses of CodeFlow in org.springframework.expression.spel.support

Methods in org.springframework.expression.spel.support with parameters of type CodeFlow
Modifier and Type
Method
Description
`void`
ReflectiveIndexAccessor.`generateCode(SpelNode index, org.springframework.asm.MethodVisitor mv, CodeFlow cf)`