Class TypeWriter.Default.ForCreation<U>

  • Type Parameters:
    U - The best known loaded type for the dynamically created type.
    All Implemented Interfaces:
    TypeWriter<U>
    Enclosing class:
    TypeWriter.Default<S>

    @Enhance
    public static class TypeWriter.Default.ForCreation<U>
    extends TypeWriter.Default<U>
    A type writer that creates a class file that is not based upon another, existing class.
    • Constructor Detail

      • ForCreation

        protected ForCreation​(TypeDescription instrumentedType,
                              ClassFileVersion classFileVersion,
                              TypeWriter.FieldPool fieldPool,
                              TypeWriter.MethodPool methodPool,
                              TypeWriter.RecordComponentPool recordComponentPool,
                              java.util.List<? extends DynamicType> auxiliaryTypes,
                              FieldList<FieldDescription.InDefinedShape> fields,
                              MethodList<?> methods,
                              MethodList<?> instrumentedMethods,
                              RecordComponentList<RecordComponentDescription.InDefinedShape> recordComponents,
                              LoadedTypeInitializer loadedTypeInitializer,
                              TypeInitializer typeInitializer,
                              TypeAttributeAppender typeAttributeAppender,
                              AsmVisitorWrapper asmVisitorWrapper,
                              AnnotationValueFilter.Factory annotationValueFilterFactory,
                              AnnotationRetention annotationRetention,
                              AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
                              Implementation.Context.Factory implementationContextFactory,
                              TypeValidation typeValidation,
                              ClassWriterStrategy classWriterStrategy,
                              TypePool typePool)
        Creates a new default type writer for creating a new type that is not based on an existing class file.
        Parameters:
        instrumentedType - The instrumented type to be created.
        classFileVersion - The class file version to write the instrumented type in and to apply when creating auxiliary types.
        fieldPool - The field pool to use.
        methodPool - The method pool to use.
        recordComponentPool - The record component pool to use.
        auxiliaryTypes - A list of auxiliary types to add to the created type.
        fields - The instrumented type's declared fields.
        methods - The instrumented type's declared and virtually inherited methods.
        instrumentedMethods - The instrumented methods relevant to this type creation.
        recordComponents - The instrumented type's record components.
        loadedTypeInitializer - The loaded type initializer to apply onto the created type after loading.
        typeInitializer - The type initializer to include in the created type's type initializer.
        typeAttributeAppender - The type attribute appender to apply onto the instrumented type.
        asmVisitorWrapper - The ASM visitor wrapper to apply onto the class writer.
        annotationValueFilterFactory - The annotation value filter factory to apply.
        annotationRetention - The annotation retention to apply.
        auxiliaryTypeNamingStrategy - The naming strategy for auxiliary types to apply.
        implementationContextFactory - The implementation context factory to apply.
        typeValidation - Determines if a type should be explicitly validated.
        classWriterStrategy - The class writer strategy to use.
        typePool - The type pool to use for computing stack map frames, if required.