Class TypeWriter.Default.ForInlining.WithFullProcessing<V>

java.lang.Object
net.bytebuddy.dynamic.scaffold.TypeWriter.Default<V>
net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining<V>
net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing<V>
Type Parameters:
V - The best known loaded type for the dynamically created type.
All Implemented Interfaces:
TypeWriter<V>
Enclosing class:
TypeWriter.Default.ForInlining<U>

@Enhance protected static class TypeWriter.Default.ForInlining.WithFullProcessing<V> extends TypeWriter.Default.ForInlining<V>
A default type writer that reprocesses a type completely.
  • Field Details

    • EMPTY

      private static final Object[] EMPTY
      An empty array to indicate missing frames.
    • methodRegistry

      private final MethodRegistry.Prepared methodRegistry
      The method registry to use.
    • implementationTargetFactory

      private final Implementation.Target.Factory implementationTargetFactory
      The implementation target factory to use.
    • methodRebaseResolver

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

    • WithFullProcessing

      protected WithFullProcessing(TypeDescription instrumentedType, ClassFileVersion classFileVersion, TypeWriter.FieldPool fieldPool, TypeWriter.RecordComponentPool recordComponentPool, 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 Details

    • 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.