Class TypeWriter.Default.ForInlining.WithFullProcessing<V>

    • Field Detail

      • methodRebaseResolver

        private final MethodRebaseResolver methodRebaseResolver
        The method rebase resolver to use for rebasing methods.
    • Constructor Detail

      • WithFullProcessing

        protected WithFullProcessing​(TypeDescription instrumentedType,
                                     ClassFileVersion classFileVersion,
                                     TypeWriter.FieldPool fieldPool,
                                     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,
                                     TypeDescription originalType,
                                     ClassFileLocator classFileLocator,
                                     MethodRegistry.Prepared methodRegistry,
                                     Implementation.Target.Factory implementationTargetFactory,
                                     MethodRebaseResolver methodRebaseResolver)
        Creates a new inlining type writer that fully reprocesses a type.
        Parameters:
        instrumentedType - The instrumented type to be created.
        classFileVersion - The class file specified by the user.
        fieldPool - The field pool to use.
        recordComponentPool - The record component pool to use.
        auxiliaryTypes - The explicit 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.
        originalType - The original type's description.
        classFileLocator - The class file locator for locating the original type's class file.
        methodRegistry - The method registry to use.
        implementationTargetFactory - The implementation target factory to use.
        methodRebaseResolver - The method rebase resolver to use for rebasing methods.
    • Method Detail

      • writeTo

        protected org.objectweb.asm.ClassVisitor writeTo​(org.objectweb.asm.ClassVisitor classVisitor,
                                                         TypeInitializer typeInitializer,
                                                         TypeWriter.Default.ForInlining.ContextRegistry contextRegistry,
                                                         int writerFlags,
                                                         int readerFlags)
        Creates a class visitor which weaves all changes and additions on the fly.
        Specified by:
        writeTo in class TypeWriter.Default.ForInlining<V>
        Parameters:
        classVisitor - The class visitor to which this entry is to be written to.
        typeInitializer - The type initializer to apply.
        contextRegistry - A context registry to register the lazily created implementation context to.
        writerFlags - The writer flags being used.
        readerFlags - The reader flags being used.
        Returns:
        A class visitor which is capable of applying the changes.