| Package | Description | 
|---|---|
| org.springframework.asm | Spring's repackaging of
 ASM 7.x
 (with Spring-specific patches; for internal use only). | 
| org.springframework.context.expression | Expression parsing support within a Spring application context. | 
| org.springframework.core.type.classreading | Support classes for reading annotation and class-level metadata. | 
| 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. | 
| Modifier and Type | Field and Description | 
|---|---|
| protected MethodVisitor | MethodVisitor. mvThe method visitor to which this visitor must delegate method calls. | 
| Modifier and Type | Method and Description | 
|---|---|
| MethodVisitor | ClassWriter. visitMethod(int access,
           String name,
           String descriptor,
           String signature,
           String[] exceptions) | 
| MethodVisitor | ClassVisitor. visitMethod(int access,
           String name,
           String descriptor,
           String signature,
           String[] exceptions)Visits a method of the class. | 
| Constructor and Description | 
|---|
| MethodVisitor(int api,
             MethodVisitor methodVisitor)Constructs a new  MethodVisitor. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | MapAccessor. generateCode(String propertyName,
            MethodVisitor mv,
            CodeFlow cf) | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | MethodMetadataReadingVisitorDeprecated. 
 As of Spring Framework 5.2, this class and related classes in this
 package have been replaced by  SimpleAnnotationMetadataReadingVisitorand related classes for internal use within the framework. | 
| Modifier and Type | Method and Description | 
|---|---|
| MethodVisitor | AnnotationMetadataReadingVisitor. visitMethod(int access,
           String name,
           String desc,
           String signature,
           String[] exceptions)Deprecated.  | 
| Modifier and Type | Method and Description | 
|---|---|
| void | CodeFlow.ClinitAdder. generateCode(MethodVisitor mv,
            CodeFlow codeflow) | 
| void | CompilablePropertyAccessor. generateCode(String propertyName,
            MethodVisitor mv,
            CodeFlow cf)Generate the bytecode the performs the access operation into the specified MethodVisitor
 using context information from the codeflow where necessary. | 
| static void | CodeFlow. insertAnyNecessaryTypeConversionBytecodes(MethodVisitor mv,
                                         char targetDescriptor,
                                         String stackDescriptor)Insert any necessary numeric conversion bytecodes based upon what is on the stack and the desired target type. | 
| static void | CodeFlow. insertArrayStore(MethodVisitor mv,
                String arrayElementType)Produce appropriate bytecode to store a stack item in an array. | 
| static void | CodeFlow. insertBoxIfNecessary(MethodVisitor mv,
                    char ch)Determine the appropriate boxing instruction for a specific type (if it needs
 boxing) and insert the instruction into the supplied visitor. | 
| static void | CodeFlow. insertBoxIfNecessary(MethodVisitor mv,
                    String descriptor)Determine the appropriate boxing instruction for a specific type (if it needs
 boxing) and insert the instruction into the supplied visitor. | 
| static void | CodeFlow. insertCheckCast(MethodVisitor mv,
               String descriptor)Insert the appropriate CHECKCAST instruction for the supplied descriptor. | 
| static void | CodeFlow. insertNewArrayCode(MethodVisitor mv,
                  int size,
                  String arraytype)Produce the correct bytecode to build an array. | 
| static void | CodeFlow. insertNumericUnboxOrPrimitiveTypeCoercion(MethodVisitor mv,
                                         String stackDescriptor,
                                         char targetDescriptor)For use in mathematical operators, handles converting from a (possibly boxed)
 number on the stack to a primitive numeric type. | 
| static void | CodeFlow. insertOptimalLoad(MethodVisitor mv,
                 int value)Create the optimal instruction for loading a number on the stack. | 
| static void | CodeFlow. insertUnboxInsns(MethodVisitor mv,
                char ch,
                String stackDescriptor)Insert any necessary cast and value call to convert from a boxed type to a
 primitive value. | 
| static void | CodeFlow. insertUnboxNumberInsns(MethodVisitor mv,
                      char targetDescriptor,
                      String stackDescriptor)For numbers, use the appropriate method on the number to convert it to the primitive type requested. | 
| void | CodeFlow. loadEvaluationContext(MethodVisitor mv)Push the bytecode to load the EvaluationContext (the second parameter passed to
 the compiled expression method). | 
| void | CodeFlow. loadTarget(MethodVisitor mv)Push the byte code to load the target (i.e. | 
| void | CodeFlow. unboxBooleanIfNecessary(MethodVisitor mv)If the codeflow shows the last expression evaluated to java.lang.Boolean then
 insert the necessary instructions to unbox that to a boolean primitive. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | VariableReference. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpPlus. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpGT. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpOr. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | NullLiteral. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | CompoundExpression. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpLT. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpModulus. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | InlineList. generateCode(MethodVisitor mv,
            CodeFlow codeflow) | 
| void | OpDivide. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpMultiply. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpLE. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | StringLiteral. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | RealLiteral. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | PropertyOrFieldReference. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | FloatLiteral. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | ConstructorReference. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OperatorNot. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | Elvis. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | Ternary. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | LongLiteral. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | IntLiteral. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | TypeReference. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | MethodReference. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpMinus. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpEQ. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpGE. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpAnd. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OperatorInstanceof. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | Indexer. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | BooleanLiteral. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | SpelNodeImpl. generateCode(MethodVisitor mv,
            CodeFlow cf)Generate the bytecode for this node into the supplied visitor. | 
| void | FunctionReference. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| void | OpNE. generateCode(MethodVisitor mv,
            CodeFlow cf) | 
| protected static void | SpelNodeImpl. generateCodeForArgument(MethodVisitor mv,
                       CodeFlow cf,
                       SpelNodeImpl argument,
                       String paramDesc)Ask an argument to generate its bytecode and then follow it up
 with any boxing/unboxing/checkcasting to ensure it matches the expected parameter descriptor. | 
| protected static void | SpelNodeImpl. generateCodeForArguments(MethodVisitor mv,
                        CodeFlow cf,
                        Member member,
                        SpelNodeImpl[] arguments)Generate code that handles building the argument values for the specified method. | 
| protected void | Operator. generateComparisonCode(MethodVisitor mv,
                      CodeFlow cf,
                      int compInstruction1,
                      int compInstruction2)Numeric comparison operators share very similar generated code, only differing in
 two comparison instructions. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | ReflectivePropertyAccessor.OptimalPropertyAccessor. generateCode(String propertyName,
            MethodVisitor mv,
            CodeFlow cf) |