Package net.bytebuddy.dynamic.scaffold
Class TypeWriter.Default.ForCreation<U>
- java.lang.Object
-
- net.bytebuddy.dynamic.scaffold.TypeWriter.Default<U>
-
- net.bytebuddy.dynamic.scaffold.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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
TypeWriter.Default.ForCreation.CreationClassVisitor
A class visitor that applies the subclass creation as a wrapper.protected class
TypeWriter.Default.ForCreation.ImplementationContextClassVisitor
A context class visitor based on anImplementation.Context
.-
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
Fields Modifier and Type Field Description private TypeWriter.MethodPool
methodPool
The method pool to use.-
Fields inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default
annotationRetention, annotationValueFilterFactory, asmVisitorWrapper, auxiliaryTypeNamingStrategy, auxiliaryTypes, classFileVersion, classReaderFactory, classWriterFactory, 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
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, AsmClassReader.Factory classReaderFactory, AsmClassWriter.Factory classWriterFactory, TypePool typePool)
Creates a new default type writer for creating a new type that is not based on an existing class file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected TypeWriter.Default.UnresolvedType
create(TypeInitializer typeInitializer, TypeWriter.Default.ClassDumpAction.Dispatcher dispatcher)
Creates an unresolved version of the dynamic type.ContextClassVisitor
wrap(org.objectweb.asm.ClassVisitor classVisitor, int writerFlags, int readerFlags)
Wraps another ASM class visitor with a visitor that represents this ASM class writer.-
Methods inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.Default
forCreation, forDecoration, forRebasing, forRedefinition, make
-
-
-
-
Field Detail
-
methodPool
private final TypeWriter.MethodPool methodPool
The method pool to use.
-
-
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, AsmClassReader.Factory classReaderFactory, AsmClassWriter.Factory classWriterFactory, 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.classReaderFactory
- The class reader factory to use.classWriterFactory
- The class writer factory to use.typePool
- The type pool to use for computing stack map frames, if required.
-
-
Method Detail
-
wrap
public ContextClassVisitor wrap(org.objectweb.asm.ClassVisitor classVisitor, int writerFlags, int readerFlags)
Wraps another ASM class visitor with a visitor that represents this ASM class writer.- Parameters:
classVisitor
- The class visitor to wrap.writerFlags
- The ASM writer flags to consider.readerFlags
- The ASM reader flags to consider.- Returns:
- The supplied class visitor wrapped by this type writer.
-
create
protected TypeWriter.Default.UnresolvedType create(TypeInitializer typeInitializer, TypeWriter.Default.ClassDumpAction.Dispatcher dispatcher)
Description copied from class:TypeWriter.Default
Creates an unresolved version of the dynamic type.- Specified by:
create
in classTypeWriter.Default<U>
- Parameters:
typeInitializer
- The type initializer to use.dispatcher
- A dispatcher for dumping class files.- Returns:
- An unresolved type.
-
-