Package net.bytebuddy.dynamic.scaffold
Class TypeWriter.Default.ForInlining.WithFullProcessing<V>
- java.lang.Object
-
- net.bytebuddy.dynamic.scaffold.TypeWriter.Default<U>
-
- 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler
An initialization handler is responsible for handling the creation of the type initializer.protected static class
TypeWriter.Default.ForInlining.WithFullProcessing.OpenedClassRemapper
AClassRemapper
that uses the Byte Buddy-defined API version.protected class
TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor
A class visitor which is capable of applying a redefinition of an existing class file.-
Nested classes/interfaces inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining
TypeWriter.Default.ForInlining.ContextRegistry, TypeWriter.Default.ForInlining.WithDecorationOnly<V>, TypeWriter.Default.ForInlining.WithFullProcessing<V>
-
Nested classes/interfaces inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default
TypeWriter.Default.ClassDumpAction, TypeWriter.Default.ForCreation<U>, TypeWriter.Default.ForInlining<U>, TypeWriter.Default.UnresolvedType, TypeWriter.Default.ValidatingClassVisitor
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.TypeWriter
TypeWriter.Default<S>, TypeWriter.FieldPool, TypeWriter.MethodPool, TypeWriter.RecordComponentPool
-
-
Field Summary
Fields Modifier and Type Field Description private Implementation.Target.Factory
implementationTargetFactory
The implementation target factory to use.private MethodRebaseResolver
methodRebaseResolver
The method rebase resolver to use for rebasing methods.private MethodRegistry.Prepared
methodRegistry
The method registry to use.-
Fields inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining
classFileLocator, originalType
-
Fields inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default
annotationRetention, annotationValueFilterFactory, asmVisitorWrapper, auxiliaryTypeNamingStrategy, auxiliaryTypes, classFileVersion, classWriterStrategy, DUMP_FOLDER, fieldPool, fields, implementationContextFactory, instrumentedMethods, instrumentedType, loadedTypeInitializer, methods, recordComponentPool, recordComponents, typeAttributeAppender, typeInitializer, typePool, typeValidation
-
Fields inherited from interface net.bytebuddy.dynamic.scaffold.TypeWriter
DUMP_PROPERTY
-
-
Constructor Summary
Constructors Modifier Constructor Description 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.-
Methods inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining
create
-
Methods inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default
forCreation, forDecoration, forRebasing, forRedefinition, make
-
-
-
-
Field Detail
-
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 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 classTypeWriter.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.
-
-