Uses of Class
org.springframework.asm.MethodVisitor
Packages that use 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).
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
Fields in org.springframework.asm declared as MethodVisitorModifier and TypeFieldDescriptionprotected MethodVisitorMethodVisitor.mvThe method visitor to which this visitor must delegate method calls.Methods in org.springframework.asm that return MethodVisitorModifier 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 MethodVisitorClassWriter.visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) Constructors in org.springframework.asm with parameters of type MethodVisitorModifierConstructorDescriptionprotectedMethodVisitor(int api, MethodVisitor methodVisitor) Constructs a newMethodVisitor. -
Uses of MethodVisitor in org.springframework.cglib.core
Subclasses of MethodVisitor in org.springframework.cglib.coreModifier and TypeClassDescriptionclassclassAMethodVisitorthat renumbers local variables in their order of appearance.Methods in org.springframework.cglib.core that return MethodVisitorModifier and TypeMethodDescriptionClassEmitter.visitMethod(int access, String name, String desc, String signature, String[] exceptions) Constructors in org.springframework.cglib.core with parameters of type MethodVisitor -
Uses of MethodVisitor in org.springframework.cglib.transform
Subclasses of MethodVisitor in org.springframework.cglib.transformMethods in org.springframework.cglib.transform that return MethodVisitorModifier 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) Constructors in org.springframework.cglib.transform with parameters of type MethodVisitor -
Uses of MethodVisitor in org.springframework.expression.spel
Methods in org.springframework.expression.spel with parameters of type MethodVisitorModifier and TypeMethodDescriptionvoidCodeFlow.ClinitAdder.generateCode(MethodVisitor mv, CodeFlow codeflow) voidCompilableIndexAccessor.generateCode(SpelNode indexNode, MethodVisitor methodVisitor, CodeFlow codeFlow) Generate bytecode that performs the operation for reading the index.voidCompilablePropertyAccessor.generateCode(String propertyName, MethodVisitor methodVisitor, CodeFlow codeFlow) Generate the bytecode that performs the access operation into the specifiedMethodVisitorusing context information from theCodeFlowwhere necessary.default voidSpelNode.generateCode(MethodVisitor methodVisitor, CodeFlow codeFlow) Generate the bytecode for this node into the suppliedMethodVisitor.voidCodeFlow.generateCodeForArgument(MethodVisitor methodVisitor, SpelNode argument, Class<?> requiredType) Generate bytecode that loads the supplied argument onto the stack.voidCodeFlow.generateCodeForArgument(MethodVisitor methodVisitor, SpelNode argument, String requiredTypeDesc) Generate bytecode that loads the supplied argument onto the stack.static voidCodeFlow.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 voidCodeFlow.insertArrayStore(MethodVisitor mv, String arrayComponentType) Produce appropriate bytecode to store a stack item in an array.static voidCodeFlow.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 voidCodeFlow.insertBoxIfNecessary(MethodVisitor mv, @Nullable String descriptor) Determine the appropriate boxing instruction for a specific type (if it needs boxing) and insert the instruction into the supplied visitor.static voidCodeFlow.insertCheckCast(MethodVisitor mv, @Nullable String descriptor) Insert the appropriate CHECKCAST instruction for the supplied descriptor.static voidCodeFlow.insertNewArrayCode(MethodVisitor mv, int size, String arrayType) Produce the correct bytecode to build an array.static voidCodeFlow.insertNumericUnboxOrPrimitiveTypeCoercion(MethodVisitor mv, @Nullable 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 voidCodeFlow.insertOptimalLoad(MethodVisitor mv, int value) Create the optimal instruction for loading a number on the stack.static voidCodeFlow.insertUnboxInsns(MethodVisitor mv, char ch, @Nullable String stackDescriptor) Insert any necessary cast and value call to convert from a boxed type to a primitive value.static voidCodeFlow.insertUnboxNumberInsns(MethodVisitor mv, char targetDescriptor, @Nullable String stackDescriptor) For numbers, use the appropriate method on the number to convert it to the primitive type requested.voidCodeFlow.loadEvaluationContext(MethodVisitor mv) Push the bytecode to load the EvaluationContext (the second parameter passed to the compiled expression method).voidCodeFlow.loadTarget(MethodVisitor mv) Push the byte code to load the target (i.e.voidCodeFlow.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
Methods in org.springframework.expression.spel.ast with parameters of type MethodVisitorModifier and TypeMethodDescriptionvoidBooleanLiteral.generateCode(MethodVisitor mv, CodeFlow cf) voidCompoundExpression.generateCode(MethodVisitor mv, CodeFlow cf) voidConstructorReference.generateCode(MethodVisitor mv, CodeFlow cf) voidElvis.generateCode(MethodVisitor mv, CodeFlow cf) voidFloatLiteral.generateCode(MethodVisitor mv, CodeFlow cf) voidFunctionReference.generateCode(MethodVisitor mv, CodeFlow cf) voidIndexer.generateCode(MethodVisitor mv, CodeFlow cf) voidInlineList.generateCode(MethodVisitor mv, CodeFlow codeflow) voidIntLiteral.generateCode(MethodVisitor mv, CodeFlow cf) voidLongLiteral.generateCode(MethodVisitor mv, CodeFlow cf) voidMethodReference.generateCode(MethodVisitor mv, CodeFlow cf) voidNullLiteral.generateCode(MethodVisitor mv, CodeFlow cf) voidOpAnd.generateCode(MethodVisitor mv, CodeFlow cf) voidOpDivide.generateCode(MethodVisitor mv, CodeFlow cf) voidOpEQ.generateCode(MethodVisitor mv, CodeFlow cf) voidOperatorInstanceof.generateCode(MethodVisitor mv, CodeFlow cf) voidOperatorNot.generateCode(MethodVisitor mv, CodeFlow cf) voidOpGE.generateCode(MethodVisitor mv, CodeFlow cf) voidOpGT.generateCode(MethodVisitor mv, CodeFlow cf) voidOpLE.generateCode(MethodVisitor mv, CodeFlow cf) voidOpLT.generateCode(MethodVisitor mv, CodeFlow cf) voidOpMinus.generateCode(MethodVisitor mv, CodeFlow cf) voidOpModulus.generateCode(MethodVisitor mv, CodeFlow cf) voidOpMultiply.generateCode(MethodVisitor mv, CodeFlow cf) voidOpNE.generateCode(MethodVisitor mv, CodeFlow cf) voidOpOr.generateCode(MethodVisitor mv, CodeFlow cf) voidOpPlus.generateCode(MethodVisitor mv, CodeFlow cf) voidPropertyOrFieldReference.generateCode(MethodVisitor mv, CodeFlow cf) voidRealLiteral.generateCode(MethodVisitor mv, CodeFlow cf) voidStringLiteral.generateCode(MethodVisitor mv, CodeFlow cf) voidTernary.generateCode(MethodVisitor mv, CodeFlow cf) voidTypeReference.generateCode(MethodVisitor mv, CodeFlow cf) voidVariableReference.generateCode(MethodVisitor mv, CodeFlow cf) protected static voidSpelNodeImpl.generateCodeForArgument(MethodVisitor mv, CodeFlow cf, SpelNodeImpl argument, String paramDesc) Deprecated.protected static voidSpelNodeImpl.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 voidSpelNodeImpl.generateCodeForArguments(MethodVisitor mv, CodeFlow cf, Member member, SpelNodeImpl[] arguments) Deprecated.as of 6.2, in favor ofSpelNodeImpl.generateCodeForArguments(MethodVisitor, CodeFlow, Executable, SpelNodeImpl[])protected voidOperator.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
Methods in org.springframework.expression.spel.support with parameters of type MethodVisitorModifier and TypeMethodDescriptionvoidMapAccessor.generateCode(String propertyName, MethodVisitor mv, CodeFlow cf) voidReflectiveIndexAccessor.generateCode(SpelNode index, MethodVisitor mv, CodeFlow cf)
CodeFlow.generateCodeForArgument(MethodVisitor, SpelNode, String)