@Internal public abstract class AbstractClassFileWriter extends Object implements org.objectweb.asm.Opcodes, OriginatingElements, ClassOutputWriter
| Modifier and Type | Field and Description | 
|---|---|
| protected static Pattern | ARRAY_PATTERN | 
| protected static String | CONSTRUCTOR_NAME | 
| protected static int | DEFAULT_MAX_STACK | 
| protected static String | DESCRIPTOR_DEFAULT_CONSTRUCTOR | 
| protected static org.objectweb.asm.commons.Method | METHOD_CREATE_ARGUMENT_SIMPLE | 
| protected static org.objectweb.asm.commons.Method | METHOD_CREATE_TYPE_VARIABLE_SIMPLE | 
| protected static org.objectweb.asm.commons.Method | METHOD_DEFAULT_CONSTRUCTOR | 
| protected static org.objectweb.asm.commons.Method | METHOD_GENERIC_PLACEHOLDER_SIMPLE | 
| protected OriginatingElements | originatingElements | 
| protected static org.objectweb.asm.Type | TYPE_ARGUMENT | 
| protected static org.objectweb.asm.Type | TYPE_ARGUMENT_ARRAY | 
| protected static org.objectweb.asm.Type | TYPE_CLASS | 
| protected static org.objectweb.asm.Type | TYPE_GENERATED | 
| protected static org.objectweb.asm.Type | TYPE_OBJECT | 
| protected static String | 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_RECORD, 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, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, 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, V15, V16, V17, V18, V19, V9| Modifier | Constructor and Description | 
|---|---|
| protected  | AbstractClassFileWriter(Element... originatingElements) | 
| protected  | AbstractClassFileWriter(Element originatingElement)Deprecated. 
 Use  AbstractClassFileWriter(Element...)instead | 
| protected  | AbstractClassFileWriter(OriginatingElements originatingElements) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addOriginatingElement(Element element)Add another element that should be included in the originating elements. | 
| protected static void | buildArgument(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
             String argumentName,
             ClassElement objectType)Builds an argument instance. | 
| protected static void | buildArgument(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
             String argumentName,
             org.objectweb.asm.Type objectType)Builds an argument instance. | 
| protected static void | buildArgumentWithGenerics(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                         org.objectweb.asm.Type type,
                         AnnotationMetadataReference annotationMetadata,
                         ClassElement[] generics)Builds generic type arguments recursively. | 
| protected static void | buildArgumentWithGenerics(org.objectweb.asm.Type owningType,
                         org.objectweb.asm.ClassWriter owningClassWriter,
                         org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                         String argumentName,
                         org.objectweb.asm.Type typeReference,
                         ClassElement classElement,
                         Map<String,ClassElement> typeArguments,
                         Set<String> visitedTypes,
                         Map<String,Integer> defaults,
                         Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)Builds generic type arguments recursively. | 
| protected void | generateServiceDescriptor(String className,
                         GeneratedFile generatedFile)Generates a service discovery for the given class name and file. | 
| protected String | getClassFileName(String className) | 
| protected static String | getConstructorDescriptor(Class<?>... argumentTypes) | 
| protected static String | getConstructorDescriptor(Collection<ParameterElement> argList) | 
| protected static String | getConstructorDescriptor(org.objectweb.asm.Type[] argumentTypes) | 
| protected static String | getInternalName(String className) | 
| protected static String | getInternalNameForCast(Class<?> typeClass) | 
| protected static String | getInternalNameForCast(org.objectweb.asm.Type type) | 
| protected static String | getInternalNameForCast(TypedElement type) | 
| protected static String | getMethodDescriptor(Class<?> returnType,
                   Collection<Class<?>> argumentTypes) | 
| protected static String | getMethodDescriptor(String returnType,
                   String... argumentTypes) | 
| protected static String | getMethodDescriptor(org.objectweb.asm.Type returnType,
                   Collection<org.objectweb.asm.Type> argumentTypes) | 
| protected static String | getMethodDescriptor(TypedElement returnType,
                   Collection<? extends TypedElement> argumentTypes) | 
| protected static String | getMethodDescriptorForReturnType(org.objectweb.asm.Type returnType,
                                Collection<? extends TypedElement> argumentTypes) | 
| protected static String | getMethodSignature(String returnTypeReference,
                  String... argReferenceTypes) | 
| protected static org.objectweb.asm.Type | getObjectType(Object type) | 
| Element | getOriginatingElement() | 
| Element[] | getOriginatingElements() | 
| protected static String | getTypeDescriptor(Class<?> type)Returns the descriptor corresponding to the given class. | 
| protected static String | getTypeDescriptor(String type)Returns the descriptor corresponding to the given class. | 
| protected static String | getTypeDescriptor(String className,
                 String... genericTypes) | 
| protected static String | getTypeDescriptor(TypedElement type)Returns the descriptor corresponding to the given class. | 
| protected static org.objectweb.asm.Type | getTypeReference(TypedElement type)Return the type reference for a class. | 
| protected static org.objectweb.asm.Type | getTypeReferenceForName(String className,
                       String... genericTypes)Returns the Type reference corresponding to the given class. | 
| protected org.objectweb.asm.Type[] | getTypes(Collection<ClassElement> types) | 
| protected void | implementInterceptedTypeMethod(org.objectweb.asm.Type interceptedType,
                              org.objectweb.asm.ClassWriter classWriter)Implements a method called "getInterceptedType" for the given type and class writer. | 
| protected void | invokeConstructor(org.objectweb.asm.MethodVisitor cv,
                 Class superClass,
                 Class... argumentTypes) | 
| protected static void | invokeInterfaceStaticMethod(org.objectweb.asm.MethodVisitor visitor,
                           Class targetType,
                           org.objectweb.asm.commons.Method method) | 
| protected ClassElement | invokeMethod(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
            MethodElement method)Invokes the given method. | 
| protected ClassWriterOutputVisitor | newClassWriterOutputVisitor(File compilationDir) | 
| protected static void | pushBoxPrimitiveIfNecessary(Class<?> fieldType,
                           org.objectweb.asm.MethodVisitor injectMethodVisitor) | 
| protected static void | pushBoxPrimitiveIfNecessary(TypedElement fieldType,
                           org.objectweb.asm.MethodVisitor injectMethodVisitor) | 
| protected static void | pushBoxPrimitiveIfNecessary(org.objectweb.asm.Type fieldType,
                           org.objectweb.asm.MethodVisitor injectMethodVisitor) | 
| protected static void | pushBuildArgumentsForMethod(String declaringElementName,
                           org.objectweb.asm.Type owningType,
                           org.objectweb.asm.ClassWriter declaringClassWriter,
                           org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                           Collection<ParameterElement> argumentTypes,
                           Map<String,Integer> defaults,
                           Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods) | 
| protected static void | pushCastToType(org.objectweb.asm.MethodVisitor methodVisitor,
              Class<?> type) | 
| protected static void | pushCastToType(org.objectweb.asm.MethodVisitor methodVisitor,
              org.objectweb.asm.Type type) | 
| protected static void | pushCastToType(org.objectweb.asm.MethodVisitor methodVisitor,
              TypedElement type) | 
| protected static void | pushCreateArgument(String declaringTypeName,
                  org.objectweb.asm.Type owningType,
                  org.objectweb.asm.ClassWriter declaringClassWriter,
                  org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                  String argumentName,
                  TypedElement typedElement,
                  AnnotationMetadata annotationMetadata,
                  Map<String,ClassElement> typeArguments,
                  Map<String,Integer> defaults,
                  Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)Pushes a new Argument creation. | 
| protected static void | pushMethodNameAndTypesArguments(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                               String methodName,
                               Collection<ClassElement> argumentTypes) | 
| protected static void | pushNewArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
            Class<?> arrayType,
            int size) | 
| protected static void | pushNewArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
            org.objectweb.asm.Type arrayType,
            int size) | 
| protected void | pushNewInstance(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
               org.objectweb.asm.Type typeToInstantiate)Push the instantiation of the given type. | 
| protected void | pushReturnTypeArgument(org.objectweb.asm.Type owningType,
                      org.objectweb.asm.ClassWriter classWriter,
                      org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                      String declaringTypeName,
                      ClassElement argument,
                      Map<String,Integer> defaults,
                      Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)Pushes an argument. | 
| protected static void | pushReturnValue(org.objectweb.asm.MethodVisitor methodVisitor,
               TypedElement type) | 
| protected static void | pushStoreInArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                int index,
                int size,
                Runnable runnable) | 
| protected static void | pushStoreInArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                org.objectweb.asm.Type type,
                int index,
                int size,
                Runnable runnable) | 
| protected static void | pushStoreStringInArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                      int index,
                      int size,
                      String string) | 
| protected static void | pushStoreTypeInArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                    int index,
                    int size,
                    ClassElement type) | 
| static <T> void | pushStringMapOf(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
               Map<? extends CharSequence,T> annotationData,
               boolean skipEmpty,
               T empty,
               Consumer<T> pushValue) | 
| protected static void | pushTypeArgumentElements(org.objectweb.asm.Type owningType,
                        org.objectweb.asm.ClassWriter owningTypeWriter,
                        org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                        String declaringElementName,
                        Map<String,ClassElement> types,
                        Map<String,Integer> defaults,
                        Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)Pushes type arguments onto the stack. | 
| protected void | returnVoid(org.objectweb.asm.commons.GeneratorAdapter overriddenMethodGenerator) | 
| protected void | startClass(org.objectweb.asm.ClassVisitor classWriter,
          String className,
          org.objectweb.asm.Type superType) | 
| protected void | startClass(org.objectweb.asm.ClassWriter classWriter,
          String className,
          org.objectweb.asm.Type superType,
          String genericSignature) | 
| protected org.objectweb.asm.commons.GeneratorAdapter | startConstructor(org.objectweb.asm.ClassVisitor classWriter) | 
| protected org.objectweb.asm.commons.GeneratorAdapter | startConstructor(org.objectweb.asm.ClassVisitor classWriter,
                Class<?>... argumentTypes) | 
| protected void | startFinalClass(org.objectweb.asm.ClassVisitor classWriter,
               String className,
               org.objectweb.asm.Type superType) | 
| protected org.objectweb.asm.commons.GeneratorAdapter | startProtectedMethod(org.objectweb.asm.ClassWriter writer,
                    String methodName,
                    String returnType,
                    String... argumentTypes) | 
| protected void | startPublicClass(org.objectweb.asm.ClassVisitor classWriter,
                String className,
                org.objectweb.asm.Type superType) | 
| protected void | startPublicFinalClass(org.objectweb.asm.ClassVisitor classWriter,
                     String className,
                     org.objectweb.asm.Type superType)Starts a public final class. | 
| protected org.objectweb.asm.commons.GeneratorAdapter | startPublicFinalMethodZeroArgs(org.objectweb.asm.ClassWriter classWriter,
                              Class returnType,
                              String methodName) | 
| protected org.objectweb.asm.commons.GeneratorAdapter | startPublicMethod(org.objectweb.asm.ClassWriter writer,
                 org.objectweb.asm.commons.Method asmMethod) | 
| protected org.objectweb.asm.commons.GeneratorAdapter | startPublicMethod(org.objectweb.asm.ClassWriter writer,
                 String methodName,
                 String returnType,
                 String... argumentTypes) | 
| protected org.objectweb.asm.commons.GeneratorAdapter | startPublicMethodZeroArgs(org.objectweb.asm.ClassWriter classWriter,
                         Class returnType,
                         String methodName) | 
| protected void | startService(org.objectweb.asm.ClassVisitor classWriter,
            Class<?> serviceType,
            String internalClassName,
            org.objectweb.asm.Type superType) | 
| protected void | startService(org.objectweb.asm.ClassVisitor classWriter,
            String serviceName,
            String internalClassName,
            org.objectweb.asm.Type superType,
            String... interfaces) | 
| protected org.objectweb.asm.commons.GeneratorAdapter | visitStaticInitializer(org.objectweb.asm.ClassVisitor classWriter) | 
| protected void | writeBooleanMethod(org.objectweb.asm.ClassWriter classWriter,
                  String methodName,
                  Supplier<Boolean> valueSupplier)Writes a method that returns a boolean value with the value supplied by the given supplier. | 
| protected void | writeClassToDisk(File targetDir,
                org.objectweb.asm.ClassWriter classWriter,
                String className)Writes the class file to disk in the given directory. | 
| protected void | writeClassToDisk(OutputStream out,
                org.objectweb.asm.ClassWriter classWriter) | 
| void | writeTo(File targetDir)Write the class to the target directory. | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitofacceptprotected static final org.objectweb.asm.Type TYPE_ARGUMENT
protected static final org.objectweb.asm.Type TYPE_ARGUMENT_ARRAY
protected static final String ZERO_ARGUMENTS_CONSTANT
protected static final String CONSTRUCTOR_NAME
protected static final String DESCRIPTOR_DEFAULT_CONSTRUCTOR
protected static final org.objectweb.asm.commons.Method METHOD_DEFAULT_CONSTRUCTOR
protected static final org.objectweb.asm.Type TYPE_OBJECT
protected static final org.objectweb.asm.Type TYPE_CLASS
protected static final int DEFAULT_MAX_STACK
protected static final org.objectweb.asm.Type TYPE_GENERATED
protected static final Pattern ARRAY_PATTERN
protected static final org.objectweb.asm.commons.Method METHOD_CREATE_ARGUMENT_SIMPLE
protected static final org.objectweb.asm.commons.Method METHOD_GENERIC_PLACEHOLDER_SIMPLE
protected static final org.objectweb.asm.commons.Method METHOD_CREATE_TYPE_VARIABLE_SIMPLE
protected final OriginatingElements originatingElements
@Deprecated protected AbstractClassFileWriter(Element originatingElement)
AbstractClassFileWriter(Element...) insteadoriginatingElement - The originating elementprotected AbstractClassFileWriter(Element... originatingElements)
originatingElements - The originating elementsprotected AbstractClassFileWriter(OriginatingElements originatingElements)
originatingElements - The originating elements@NonNull public Element[] getOriginatingElements()
getOriginatingElements in interface OriginatingElementspublic void addOriginatingElement(@NonNull Element element)
OriginatingElementsaddOriginatingElement in interface OriginatingElementselement - The element to addprotected static void pushTypeArgumentElements(org.objectweb.asm.Type owningType,
                                               org.objectweb.asm.ClassWriter owningTypeWriter,
                                               org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                                               String declaringElementName,
                                               Map<String,ClassElement> types,
                                               Map<String,Integer> defaults,
                                               Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)
owningType - The owning typeowningTypeWriter - The declaring class writergeneratorAdapter - The generator adapterdeclaringElementName - The declaring class element of the genericstypes - The type referencesdefaults - The annotation defaultsloadTypeMethods - The load type methodsprotected static void buildArgument(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                                    String argumentName,
                                    org.objectweb.asm.Type objectType)
generatorAdapter - The generator adapter.argumentName - The argument nameobjectType - The object typeprotected static void buildArgument(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                                    String argumentName,
                                    ClassElement objectType)
generatorAdapter - The generator adapter.argumentName - The argument nameobjectType - The object typeprotected static void buildArgumentWithGenerics(org.objectweb.asm.Type owningType,
                                                org.objectweb.asm.ClassWriter owningClassWriter,
                                                org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                                                String argumentName,
                                                org.objectweb.asm.Type typeReference,
                                                ClassElement classElement,
                                                Map<String,ClassElement> typeArguments,
                                                Set<String> visitedTypes,
                                                Map<String,Integer> defaults,
                                                Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)
owningType - The owning typeowningClassWriter - The declaring writergeneratorAdapter - The generator adapter to useargumentName - The argument nametypeReference - The type nameclassElement - The class element that declares the genericstypeArguments - The nested type argumentsvisitedTypes - The visited typesdefaults - The annotation defaultsloadTypeMethods - The load type methodsprotected static void buildArgumentWithGenerics(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                                                org.objectweb.asm.Type type,
                                                AnnotationMetadataReference annotationMetadata,
                                                ClassElement[] generics)
generatorAdapter - The generator adapter to usetype - The type that declares the genericsannotationMetadata - The annotation metadata referencegenerics - The genericsprotected static void pushBuildArgumentsForMethod(String declaringElementName, org.objectweb.asm.Type owningType, org.objectweb.asm.ClassWriter declaringClassWriter, org.objectweb.asm.commons.GeneratorAdapter generatorAdapter, Collection<ParameterElement> argumentTypes, Map<String,Integer> defaults, Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)
declaringElementName - The declaring element nameowningType - The owning typedeclaringClassWriter - The declaring class writergeneratorAdapter - The GeneratorAdapterargumentTypes - The argument typesdefaults - The annotation defaultsloadTypeMethods - The load type methodsprotected void pushReturnTypeArgument(org.objectweb.asm.Type owningType,
                                      org.objectweb.asm.ClassWriter classWriter,
                                      org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                                      String declaringTypeName,
                                      ClassElement argument,
                                      Map<String,Integer> defaults,
                                      Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)
owningType - The owning typeclassWriter - The declaring class writergeneratorAdapter - The generator adapterdeclaringTypeName - The declaring type nameargument - The argumentdefaults - The annotation defaultsloadTypeMethods - The load type methodsprotected static void pushCreateArgument(String declaringTypeName, org.objectweb.asm.Type owningType, org.objectweb.asm.ClassWriter declaringClassWriter, org.objectweb.asm.commons.GeneratorAdapter generatorAdapter, String argumentName, TypedElement typedElement, AnnotationMetadata annotationMetadata, Map<String,ClassElement> typeArguments, Map<String,Integer> defaults, Map<String,org.objectweb.asm.commons.GeneratorAdapter> loadTypeMethods)
declaringTypeName - The declaring type nameowningType - The owning typedeclaringClassWriter - The declaring class writergeneratorAdapter - The generator adapterargumentName - The argument nametypedElement - The typed elementannotationMetadata - The annotation metadatatypeArguments - The type argumentsdefaults - The annotation defaultsloadTypeMethods - The load type methodspublic void writeTo(File targetDir) throws IOException
targetDir - The target directoryIOException - if there is an error writing the fileprotected void writeBooleanMethod(org.objectweb.asm.ClassWriter classWriter,
                                  String methodName,
                                  Supplier<Boolean> valueSupplier)
classWriter - The class writermethodName - The method namevalueSupplier - The supplier@Nullable public Element getOriginatingElement()
protected void implementInterceptedTypeMethod(org.objectweb.asm.Type interceptedType,
                                              org.objectweb.asm.ClassWriter classWriter)
interceptedType - The intercepted typeclassWriter - The class writerprotected static String getTypeDescriptor(TypedElement type)
type - The typeprotected static String getTypeDescriptor(Class<?> type)
type - The typeprotected static String getTypeDescriptor(String type)
type - The typeprotected static org.objectweb.asm.Type getTypeReferenceForName(String className, String... genericTypes)
className - The class namegenericTypes - The generic typesTypeprotected static org.objectweb.asm.Type getTypeReference(TypedElement type)
type - The typeTypeprotected static void pushBoxPrimitiveIfNecessary(org.objectweb.asm.Type fieldType,
                                                  org.objectweb.asm.MethodVisitor injectMethodVisitor)
fieldType - The field typeinjectMethodVisitor - The MethodVisitorprotected static void pushBoxPrimitiveIfNecessary(Class<?> fieldType, org.objectweb.asm.MethodVisitor injectMethodVisitor)
fieldType - The field typeinjectMethodVisitor - The MethodVisitorprotected static void pushBoxPrimitiveIfNecessary(TypedElement fieldType, org.objectweb.asm.MethodVisitor injectMethodVisitor)
fieldType - The field typeinjectMethodVisitor - The MethodVisitorprotected static void pushCastToType(org.objectweb.asm.MethodVisitor methodVisitor,
                                     org.objectweb.asm.Type type)
methodVisitor - The MethodVisitortype - The typeprotected static void pushCastToType(org.objectweb.asm.MethodVisitor methodVisitor,
                                     TypedElement type)
methodVisitor - The MethodVisitortype - The typeprotected static void pushCastToType(org.objectweb.asm.MethodVisitor methodVisitor,
                                     Class<?> type)
methodVisitor - The MethodVisitortype - The typeprotected static void pushReturnValue(org.objectweb.asm.MethodVisitor methodVisitor,
                                      TypedElement type)
methodVisitor - The MethodVisitortype - The typeprotected static void pushMethodNameAndTypesArguments(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                                                      String methodName,
                                                      Collection<ClassElement> argumentTypes)
methodVisitor - The method visitor as GeneratorAdaptermethodName - The method nameargumentTypes - The argument typesprotected static void pushNewArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                                   Class<?> arrayType,
                                   int size)
methodVisitor - The method visitor as GeneratorAdapterarrayType - The array classsize - The sizeprotected static void pushNewArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                                   org.objectweb.asm.Type arrayType,
                                   int size)
methodVisitor - The method visitor as GeneratorAdapterarrayType - The array classsize - The sizeprotected static void pushStoreStringInArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                                             int index,
                                             int size,
                                             String string)
methodVisitor - The method visitor as GeneratorAdapterindex - The indexsize - The sizestring - The stringprotected static void pushStoreInArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                                       int index,
                                       int size,
                                       Runnable runnable)
methodVisitor - The method visitor as GeneratorAdapterindex - The indexsize - The sizerunnable - The runnableprotected static void pushStoreInArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                                       org.objectweb.asm.Type type,
                                       int index,
                                       int size,
                                       Runnable runnable)
methodVisitor - The method visitor as GeneratorAdaptertype - The type of the arrayindex - The indexsize - The sizerunnable - The runnableprotected static void pushStoreTypeInArray(org.objectweb.asm.commons.GeneratorAdapter methodVisitor,
                                           int index,
                                           int size,
                                           ClassElement type)
methodVisitor - The method visitor as GeneratorAdapterindex - The indexsize - The sizetype - The typeprotected org.objectweb.asm.Type[] getTypes(Collection<ClassElement> types)
types - The typesType of the objectsprotected static org.objectweb.asm.Type getObjectType(Object type)
type - The typeType for the object typeprotected static String getTypeDescriptor(String className, String... genericTypes)
className - The class namegenericTypes - The generic typesprotected static String getMethodDescriptor(String returnType, String... argumentTypes)
returnType - The return typeargumentTypes - The argument typesprotected static String getMethodDescriptor(TypedElement returnType, Collection<? extends TypedElement> argumentTypes)
returnType - The return typeargumentTypes - The argument typesprotected static String getMethodDescriptorForReturnType(org.objectweb.asm.Type returnType, Collection<? extends TypedElement> argumentTypes)
returnType - The return typeargumentTypes - The argument typesprotected static String getMethodDescriptor(Class<?> returnType, Collection<Class<?>> argumentTypes)
returnType - The return typeargumentTypes - The argument typesprotected static String getMethodDescriptor(org.objectweb.asm.Type returnType, Collection<org.objectweb.asm.Type> argumentTypes)
returnType - The return typeargumentTypes - The argument typesprotected static String getMethodSignature(String returnTypeReference, String... argReferenceTypes)
returnTypeReference - The return type referenceargReferenceTypes - The argument reference typesprotected static String getConstructorDescriptor(Class<?>... argumentTypes)
argumentTypes - The argument typesprotected static String getConstructorDescriptor(org.objectweb.asm.Type[] argumentTypes)
argumentTypes - The argument typesprotected static String getConstructorDescriptor(Collection<ParameterElement> argList)
argList - The argument listprotected void writeClassToDisk(File targetDir, org.objectweb.asm.ClassWriter classWriter, String className) throws IOException
targetDir - The target directoryclassWriter - The current class writerclassName - The class nameIOException - if there is a problem writing the class to diskprotected void writeClassToDisk(OutputStream out, org.objectweb.asm.ClassWriter classWriter) throws IOException
out - The output streamclassWriter - The current class writerIOException - if there is a problem writing the class to diskprotected org.objectweb.asm.commons.GeneratorAdapter startConstructor(org.objectweb.asm.ClassVisitor classWriter)
classWriter - The current class writerGeneratorAdapter for the constructorprotected org.objectweb.asm.commons.GeneratorAdapter startConstructor(org.objectweb.asm.ClassVisitor classWriter,
                                                                      Class<?>... argumentTypes)
classWriter - The current class writerargumentTypes - The argument typesGeneratorAdapter for the constructorprotected void startClass(org.objectweb.asm.ClassVisitor classWriter,
                          String className,
                          org.objectweb.asm.Type superType)
classWriter - The current class writerclassName - The class namesuperType - The super typeprotected void startPublicClass(org.objectweb.asm.ClassVisitor classWriter,
                                String className,
                                org.objectweb.asm.Type superType)
classWriter - The current class writerclassName - The class namesuperType - The super typeprotected void startService(org.objectweb.asm.ClassVisitor classWriter,
                            Class<?> serviceType,
                            String internalClassName,
                            org.objectweb.asm.Type superType)
classWriter - The current class writerserviceType - The service typeinternalClassName - The class namesuperType - The super typeprotected void startService(org.objectweb.asm.ClassVisitor classWriter,
                            String serviceName,
                            String internalClassName,
                            org.objectweb.asm.Type superType,
                            String... interfaces)
classWriter - The current class writerserviceName - The service nameinternalClassName - The class namesuperType - The super typeinterfaces - The interfacesprotected void startFinalClass(org.objectweb.asm.ClassVisitor classWriter,
                               String className,
                               org.objectweb.asm.Type superType)
classWriter - The current class writerclassName - The class namesuperType - The super typeprotected void startPublicFinalClass(org.objectweb.asm.ClassVisitor classWriter,
                                     String className,
                                     org.objectweb.asm.Type superType)
classWriter - The current class writerclassName - The class namesuperType - The super typeprotected void startClass(org.objectweb.asm.ClassWriter classWriter,
                          String className,
                          org.objectweb.asm.Type superType,
                          String genericSignature)
classWriter - The current class writerclassName - The class namesuperType - The super typegenericSignature - The generic signatureprotected void invokeConstructor(org.objectweb.asm.MethodVisitor cv,
                                 Class superClass,
                                 Class... argumentTypes)
cv - The constructor visitorsuperClass - The super classargumentTypes - The argument typesprotected static void invokeInterfaceStaticMethod(org.objectweb.asm.MethodVisitor visitor,
                                                  Class targetType,
                                                  org.objectweb.asm.commons.Method method)
visitor - The interface visitortargetType - The target typemethod - The methodprotected org.objectweb.asm.commons.GeneratorAdapter startPublicMethodZeroArgs(org.objectweb.asm.ClassWriter classWriter,
                                                                               Class returnType,
                                                                               String methodName)
classWriter - The current class writerreturnType - The return typemethodName - The method nameGeneratorAdapter for the methodprotected org.objectweb.asm.commons.GeneratorAdapter startPublicFinalMethodZeroArgs(org.objectweb.asm.ClassWriter classWriter,
                                                                                    Class returnType,
                                                                                    String methodName)
classWriter - The current class writerreturnType - The return typemethodName - The method nameGeneratorAdapter for the methodprotected static String getInternalName(String className)
className - The class nameprotected static String getInternalNameForCast(TypedElement type)
type - The typeprotected static String getInternalNameForCast(Class<?> typeClass)
typeClass - The typeprotected static String getInternalNameForCast(org.objectweb.asm.Type type)
type - The typeprotected String getClassFileName(String className)
className - The class nameprotected ClassWriterOutputVisitor newClassWriterOutputVisitor(File compilationDir)
compilationDir - The compilation directoryprotected void returnVoid(org.objectweb.asm.commons.GeneratorAdapter overriddenMethodGenerator)
overriddenMethodGenerator - The overridden method generatorprotected org.objectweb.asm.commons.GeneratorAdapter visitStaticInitializer(org.objectweb.asm.ClassVisitor classWriter)
classWriter - The current class writerGeneratorAdapterprotected org.objectweb.asm.commons.GeneratorAdapter startPublicMethod(org.objectweb.asm.ClassWriter writer,
                                                                       String methodName,
                                                                       String returnType,
                                                                       String... argumentTypes)
writer - The class writermethodName - The method namereturnType - The return typeargumentTypes - The argument typesGeneratorAdapterprotected org.objectweb.asm.commons.GeneratorAdapter startPublicMethod(org.objectweb.asm.ClassWriter writer,
                                                                       org.objectweb.asm.commons.Method asmMethod)
writer - The class writerasmMethod - The asm methodGeneratorAdapterprotected org.objectweb.asm.commons.GeneratorAdapter startProtectedMethod(org.objectweb.asm.ClassWriter writer,
                                                                          String methodName,
                                                                          String returnType,
                                                                          String... argumentTypes)
writer - The class writermethodName - The method namereturnType - The return typeargumentTypes - The argument typesGeneratorAdapterprotected void generateServiceDescriptor(String className, GeneratedFile generatedFile) throws IOException
className - The class namegeneratedFile - The generated fileIOException - An exception if an error occursprotected void pushNewInstance(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                               org.objectweb.asm.Type typeToInstantiate)
generatorAdapter - The generator adaptortypeToInstantiate - The type to instantiate.@NonNull protected ClassElement invokeMethod(@NonNull org.objectweb.asm.commons.GeneratorAdapter generatorAdapter, @NonNull MethodElement method)
generatorAdapter - The generator adaptermethod - The method to invokepublic static <T> void pushStringMapOf(org.objectweb.asm.commons.GeneratorAdapter generatorAdapter,
                                       Map<? extends CharSequence,T> annotationData,
                                       boolean skipEmpty,
                                       T empty,
                                       Consumer<T> pushValue)