@Internal public class ExecutableMethodWriter extends AbstractAnnotationMetadataWriter implements org.objectweb.asm.Opcodes
ExecutableMethod
implementations.Modifier and Type | Field and Description |
---|---|
protected static org.objectweb.asm.commons.Method |
METHOD_GET_TARGET |
protected static org.objectweb.asm.commons.Method |
METHOD_INVOKE_INTERNAL |
protected static org.objectweb.asm.commons.Method |
METHOD_IS_ABSTRACT |
protected static org.objectweb.asm.commons.Method |
METHOD_IS_SUSPEND |
protected org.objectweb.asm.Type |
methodType |
annotationMetadata, FIELD_ANNOTATION_METADATA, loadTypeMethods, targetClassType
CONSTRUCTOR_NAME, DEFAULT_MAX_STACK, DESCRIPTOR_DEFAULT_CONSTRUCTOR, METHOD_DEFAULT_CONSTRUCTOR, NAME_TO_TYPE_MAP, TYPE_ARGUMENT, TYPE_ARGUMENT_ARRAY, TYPE_CLASS, TYPE_GENERATED, TYPE_OBJECT, ZERO_ARGUMENTS_CONSTANT
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASM6, ASM7, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V9
Constructor and Description |
---|
ExecutableMethodWriter(java.lang.String beanFullClassName,
java.lang.String methodClassName,
java.lang.String methodProxyShortName,
boolean isInterface,
boolean isAbstract,
boolean isDefault,
boolean isSuspend,
OriginatingElements originatingElements,
AnnotationMetadata annotationMetadata,
java.lang.String interceptedProxyClassName,
java.lang.String interceptedProxyBridgeMethodName) |
Modifier and Type | Method and Description |
---|---|
void |
accept(ClassWriterOutputVisitor classWriterOutputVisitor)
Accept a ClassWriterOutputVisitor to write this writer to disk.
|
protected org.objectweb.asm.commons.GeneratorAdapter |
beginAnnotationMetadataMethod(org.objectweb.asm.ClassWriter classWriter)
Returns the generator adaptor for the method that resolves the annotation metadata.
|
protected void |
buildInvokeMethod(org.objectweb.asm.Type declaringTypeObject,
java.lang.String methodName,
java.lang.Object returnType,
java.util.Collection<java.lang.Object> argumentTypes,
org.objectweb.asm.commons.GeneratorAdapter invokeMethodVisitor) |
java.lang.String |
getClassName() |
java.lang.String |
getInternalName() |
boolean |
isAbstract() |
boolean |
isDefault() |
boolean |
isInterface() |
boolean |
isSupportsInterceptedProxy() |
boolean |
isSuspend() |
void |
visitMethod(java.lang.Object declaringType,
java.lang.Object returnType,
java.lang.Object genericReturnType,
java.util.Map<java.lang.String,java.lang.Object> returnTypeGenericTypes,
java.lang.String methodName,
java.util.Map<java.lang.String,java.lang.Object> argumentTypes,
java.util.Map<java.lang.String,java.lang.Object> genericArgumentTypes,
java.util.Map<java.lang.String,AnnotationMetadata> argumentAnnotationMetadata,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> genericTypes)
Write the method.
|
initializeAnnotationMetadata, writeAnnotationMetadataStaticInitializer, writeGetAnnotationMetadataMethod
addOriginatingElement, buildArgument, generateServiceDescriptor, getClassFileName, getConstructorDescriptor, getConstructorDescriptor, getInternalName, getInternalNameForCast, getMethodDescriptor, getMethodDescriptor, getMethodSignature, getObjectType, getObjectTypes, getOriginatingElement, getOriginatingElements, getTypeDescriptor, getTypeDescriptor, getTypeReference, getTypeReference, getTypeReferenceForName, getWrapperType, implementInterceptedTypeMethod, invokeConstructor, invokeInterfaceStaticMethod, isPrimitive, newClassWriterOutputVisitor, pushBoxPrimitiveIfNecessary, pushBuildArgumentsForMethod, pushCastToType, pushMethodNameAndTypesArguments, pushNewArray, pushNewInstance, pushReturnValue, pushStoreInArray, pushStoreStringInArray, pushStoreTypeInArray, pushTypeArgumentElements, pushTypeArguments, returnVoid, startClass, startClass, startConstructor, startConstructor, startFinalClass, startProtectedMethod, startPublicClass, startPublicFinalClass, startPublicFinalMethodZeroArgs, startPublicMethod, startPublicMethodZeroArgs, startService, startService, toParameterTypes, toTypeArguments, toTypeArguments, visitStaticInitializer, writeBooleanMethod, writeClassToDisk, writeClassToDisk, writeTo
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
of
protected static final org.objectweb.asm.commons.Method METHOD_INVOKE_INTERNAL
protected static final org.objectweb.asm.commons.Method METHOD_IS_ABSTRACT
protected static final org.objectweb.asm.commons.Method METHOD_IS_SUSPEND
protected static final org.objectweb.asm.commons.Method METHOD_GET_TARGET
protected final org.objectweb.asm.Type methodType
public ExecutableMethodWriter(java.lang.String beanFullClassName, java.lang.String methodClassName, java.lang.String methodProxyShortName, boolean isInterface, boolean isAbstract, boolean isDefault, boolean isSuspend, OriginatingElements originatingElements, AnnotationMetadata annotationMetadata, java.lang.String interceptedProxyClassName, java.lang.String interceptedProxyBridgeMethodName)
beanFullClassName
- The bean full class namemethodClassName
- The method class namemethodProxyShortName
- The method proxy short nameisInterface
- Whether is an interfaceisAbstract
- Whether the method is abstractisDefault
- Whether the method is a default methodisSuspend
- Whether the method is Kotlin suspend functionoriginatingElements
- The originating elementsannotationMetadata
- The annotation metadatainterceptedProxyClassName
- The intercepted proxy class nameinterceptedProxyBridgeMethodName
- The intercepted proxy bridge method namepublic boolean isSupportsInterceptedProxy()
public boolean isAbstract()
public boolean isInterface()
public boolean isDefault()
public boolean isSuspend()
public java.lang.String getClassName()
public java.lang.String getInternalName()
public void visitMethod(java.lang.Object declaringType, java.lang.Object returnType, java.lang.Object genericReturnType, java.util.Map<java.lang.String,java.lang.Object> returnTypeGenericTypes, java.lang.String methodName, java.util.Map<java.lang.String,java.lang.Object> argumentTypes, java.util.Map<java.lang.String,java.lang.Object> genericArgumentTypes, java.util.Map<java.lang.String,AnnotationMetadata> argumentAnnotationMetadata, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> genericTypes)
declaringType
- The declaring typereturnType
- The return typegenericReturnType
- The generic return typereturnTypeGenericTypes
- The return type genericsmethodName
- The method nameargumentTypes
- The argument typesgenericArgumentTypes
- The generic argument typesargumentAnnotationMetadata
- The argument annotation metadatagenericTypes
- The generic typespublic void accept(ClassWriterOutputVisitor classWriterOutputVisitor) throws java.io.IOException
AbstractClassFileWriter
accept
in class AbstractClassFileWriter
classWriterOutputVisitor
- The ClassWriterOutputVisitor
java.io.IOException
- if there is an error writing to disk@NonNull protected final org.objectweb.asm.commons.GeneratorAdapter beginAnnotationMetadataMethod(org.objectweb.asm.ClassWriter classWriter)
AbstractAnnotationMetadataWriter
beginAnnotationMetadataMethod
in class AbstractAnnotationMetadataWriter
classWriter
- The class writerprotected void buildInvokeMethod(org.objectweb.asm.Type declaringTypeObject, java.lang.String methodName, java.lang.Object returnType, java.util.Collection<java.lang.Object> argumentTypes, org.objectweb.asm.commons.GeneratorAdapter invokeMethodVisitor)
declaringTypeObject
- The declaring object typemethodName
- The method namereturnType
- The return typeargumentTypes
- The argument typesinvokeMethodVisitor
- The invoke method visitor