Uses of Class
org.springframework.asm.MethodVisitor
Package
Description
Spring's repackaging of
ASM 9.x
(with Spring-specific patches; for internal use only).
Spring's repackaging of the
CGLIB core package
(for internal use only).
Spring's repackaging of the
CGLIB transform package
(for internal use only).
Expression parsing support within a Spring application context.
SpEL's central implementation package.
SpEL's abstract syntax tree.
SpEL's default implementations for various core abstractions.
-
Uses of MethodVisitor in org.springframework.asm
Modifier and TypeFieldDescriptionprotected MethodVisitor
MethodVisitor.mv
The method visitor to which this visitor must delegate method calls.Modifier and TypeMethodDescriptionMethodVisitor.getDelegate()
The method visitor to which this visitor must delegate method calls.ClassVisitor.visitMethod
(int access, String name, String descriptor, String signature, String[] exceptions) Visits a method of the class.final MethodVisitor
ClassWriter.visitMethod
(int access, String name, String descriptor, String signature, String[] exceptions) ModifierConstructorDescriptionprotected
MethodVisitor
(int api, MethodVisitor methodVisitor) Constructs a newMethodVisitor
. -
Uses of MethodVisitor in org.springframework.cglib.core
Modifier and TypeClassDescriptionclass
class
AMethodVisitor
that renumbers local variables in their order of appearance.Modifier and TypeMethodDescriptionClassEmitter.visitMethod
(int access, String name, String desc, String signature, String[] exceptions) -
Uses of MethodVisitor in org.springframework.cglib.transform
Modifier and TypeMethodDescriptionAbstractClassFilterTransformer.visitMethod
(int access, String name, String desc, String signature, String[] exceptions) ClassTransformerChain.visitMethod
(int access, String name, String desc, String signature, String[] exceptions) ClassVisitorTee.visitMethod
(int access, String name, String desc, String signature, String[] exceptions) MethodFilterTransformer.visitMethod
(int access, String name, String desc, String signature, String[] exceptions) -
Uses of MethodVisitor in org.springframework.context.expression
Modifier and TypeMethodDescriptionvoid
MapAccessor.generateCode
(String propertyName, MethodVisitor mv, CodeFlow cf) -
Uses of MethodVisitor in org.springframework.expression.spel
Modifier and TypeMethodDescriptionvoid
CodeFlow.ClinitAdder.generateCode
(MethodVisitor mv, CodeFlow codeflow) void
CompilableIndexAccessor.generateCode
(SpelNode indexNode, MethodVisitor methodVisitor, CodeFlow codeFlow) Generate bytecode that performs the operation for reading the index.void
CompilablePropertyAccessor.generateCode
(String propertyName, MethodVisitor methodVisitor, CodeFlow codeFlow) Generate the bytecode that performs the access operation into the specifiedMethodVisitor
using context information from theCodeFlow
where necessary.default void
SpelNode.generateCode
(MethodVisitor methodVisitor, CodeFlow codeFlow) Generate the bytecode for this node into the suppliedMethodVisitor
.void
CodeFlow.generateCodeForArgument
(MethodVisitor methodVisitor, SpelNode argument, Class<?> requiredType) Generate bytecode that loads the supplied argument onto the stack.void
CodeFlow.generateCodeForArgument
(MethodVisitor methodVisitor, SpelNode argument, String requiredTypeDesc) Generate bytecode that loads the supplied argument onto the stack.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 arrayComponentType) 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. -
Uses of MethodVisitor in org.springframework.expression.spel.ast
Modifier and TypeMethodDescriptionvoid
BooleanLiteral.generateCode
(MethodVisitor mv, CodeFlow cf) void
CompoundExpression.generateCode
(MethodVisitor mv, CodeFlow cf) void
ConstructorReference.generateCode
(MethodVisitor mv, CodeFlow cf) void
Elvis.generateCode
(MethodVisitor mv, CodeFlow cf) void
FloatLiteral.generateCode
(MethodVisitor mv, CodeFlow cf) void
FunctionReference.generateCode
(MethodVisitor mv, CodeFlow cf) void
Indexer.generateCode
(MethodVisitor mv, CodeFlow cf) void
InlineList.generateCode
(MethodVisitor mv, CodeFlow codeflow) void
IntLiteral.generateCode
(MethodVisitor mv, CodeFlow cf) void
LongLiteral.generateCode
(MethodVisitor mv, CodeFlow cf) void
MethodReference.generateCode
(MethodVisitor mv, CodeFlow cf) void
NullLiteral.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpAnd.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpDivide.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpEQ.generateCode
(MethodVisitor mv, CodeFlow cf) void
OperatorInstanceof.generateCode
(MethodVisitor mv, CodeFlow cf) void
OperatorNot.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpGE.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpGT.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpLE.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpLT.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpMinus.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpModulus.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpMultiply.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpNE.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpOr.generateCode
(MethodVisitor mv, CodeFlow cf) void
OpPlus.generateCode
(MethodVisitor mv, CodeFlow cf) void
PropertyOrFieldReference.generateCode
(MethodVisitor mv, CodeFlow cf) void
RealLiteral.generateCode
(MethodVisitor mv, CodeFlow cf) void
StringLiteral.generateCode
(MethodVisitor mv, CodeFlow cf) void
Ternary.generateCode
(MethodVisitor mv, CodeFlow cf) void
TypeReference.generateCode
(MethodVisitor mv, CodeFlow cf) void
VariableReference.generateCode
(MethodVisitor mv, CodeFlow cf) protected static void
SpelNodeImpl.generateCodeForArgument
(MethodVisitor mv, CodeFlow cf, SpelNodeImpl argument, String paramDesc) Deprecated.protected static void
SpelNodeImpl.generateCodeForArguments
(MethodVisitor mv, CodeFlow cf, Executable executable, SpelNodeImpl[] arguments) Generate code that handles building the argument values for the specifiedExecutable
(method or constructor).protected static void
SpelNodeImpl.generateCodeForArguments
(MethodVisitor mv, CodeFlow cf, Member member, SpelNodeImpl[] arguments) Deprecated.As of Spring Framework 6.2, in favor ofSpelNodeImpl.generateCodeForArguments(MethodVisitor, CodeFlow, Executable, SpelNodeImpl[])
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. -
Uses of MethodVisitor in org.springframework.expression.spel.support
Modifier and TypeMethodDescriptionvoid
ReflectiveIndexAccessor.generateCode
(SpelNode index, MethodVisitor mv, CodeFlow cf)
CodeFlow.generateCodeForArgument(MethodVisitor, SpelNode, String)