Package net.bytebuddy.dynamic.scaffold
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static interface
An initialization handler is responsible for handling the creation of the type initializer.protected static class
AClassRemapper
that uses the Byte Buddy-defined API version.protected class
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.RegistryContextClassVisitor, 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.SignatureKey, 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
FieldsModifier and TypeFieldDescriptionprivate static final Object[]
An empty array to indicate missing frames.private final Implementation.Target.Factory
The implementation target factory to use.private final MethodRebaseResolver
The method rebase resolver to use for rebasing methods.private final MethodRegistry.Prepared
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
ConstructorsModifierConstructorDescriptionprotected
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. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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, wrap
Methods inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default
forCreation, forDecoration, forRebasing, forRedefinition, make
-
Field Details
-
EMPTY
An empty array to indicate missing frames. -
methodRegistry
The method registry to use. -
implementationTargetFactory
The implementation target factory to use. -
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 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.
-