Package io.micronaut.inject.writer
Class BeanDefinitionReferenceWriter
java.lang.Object
io.micronaut.inject.writer.AbstractClassFileWriter
io.micronaut.inject.writer.AbstractAnnotationMetadataWriter
io.micronaut.inject.writer.BeanDefinitionReferenceWriter
- All Implemented Interfaces:
ClassOutputWriter
,OriginatingElements
,org.objectweb.asm.Opcodes
Writes the bean definition class file to disk.
- Since:
- 1.0
- Author:
- Graeme Rocher, Denis Stepanov
- See Also:
-
Field Summary
Fields inherited from class io.micronaut.inject.writer.AbstractAnnotationMetadataWriter
annotationMetadata, defaults, evaluatedExpressionProcessor, FIELD_ANNOTATION_METADATA, FIELD_EMPTY_METADATA, loadTypeMethods, targetClassType
Fields inherited from class io.micronaut.inject.writer.AbstractClassFileWriter
ARRAY_PATTERN, CONSTRUCTOR_NAME, DEFAULT_MAX_STACK, DESCRIPTOR_DEFAULT_CONSTRUCTOR, METHOD_CREATE_ARGUMENT_SIMPLE, METHOD_CREATE_TYPE_VARIABLE_SIMPLE, METHOD_DEFAULT_CONSTRUCTOR, METHOD_GENERIC_PLACEHOLDER_SIMPLE, originatingElements, TYPE_ARGUMENT, TYPE_ARGUMENT_ARRAY, TYPE_CLASS, TYPE_GENERATED, TYPE_OBJECT, ZERO_ARGUMENTS_CONSTANT
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V9
-
Constructor Summary
ConstructorDescriptionBeanDefinitionReferenceWriter
(BeanDefinitionVisitor visitor, VisitorContext visitorContext) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(ClassWriterOutputVisitor outputVisitor) Accept anClassWriterOutputVisitor
to write all generated classes.Obtains the class name of the bean definition to be written.void
setContextScope
(boolean contextScope) Set whether the bean should be in context scope.void
setRequiresMethodProcessing
(boolean shouldPreProcess) Sets whether theBeanType.requiresMethodProcessing()
returns true.Methods inherited from class io.micronaut.inject.writer.AbstractAnnotationMetadataWriter
beginAnnotationMetadataMethod, initializeAnnotationMetadata, writeAnnotationMetadataStaticInitializer, writeAnnotationMetadataStaticInitializer, writeGetAnnotationMetadataMethod
Methods inherited from class io.micronaut.inject.writer.AbstractClassFileWriter
addOriginatingElement, buildArgument, buildArgument, buildArgumentWithGenerics, buildArgumentWithGenerics, getConstructorDescriptor, getConstructorDescriptor, getConstructorDescriptor, getInternalName, getMethodDescriptor, getMethodDescriptor, getMethodDescriptor, getMethodDescriptor, getMethodDescriptorForReturnType, getMethodSignature, getObjectType, getOriginatingElement, getOriginatingElements, getTypeDescriptor, getTypeDescriptor, getTypeDescriptor, getTypeDescriptor, getTypeReference, getTypeReferenceForName, implementInterceptedTypeMethod, invokeConstructor, invokeInterfaceStaticMethod, newClassWriterOutputVisitor, pushBoxPrimitiveIfNecessary, pushBoxPrimitiveIfNecessary, pushBoxPrimitiveIfNecessary, pushBuildArgumentsForMethod, pushCastFromObjectToType, pushCastToType, pushCastToType, pushCastToType, pushCastToType, pushCreateArgument, pushListOfString, pushMethodNameAndTypesArguments, pushNewArray, pushNewArray, pushNewArray, pushNewArray, pushNewArray, pushNewArrayIndexed, pushNewInstance, pushReturnTypeArgument, pushStoreInArray, pushStoreInArray, pushStringMapOf, pushTypeArgumentElements, startClass, startConstructor, startConstructor, startProtectedMethod, startPublicClass, startPublicFinalMethodZeroArgs, startPublicMethod, startPublicMethod, startPublicMethodZeroArgs, startService, startService, toTypeString, visitStaticInitializer, writeClassToDisk, writeTo
-
Field Details
-
REF_SUFFIX
Suffix for reference classes.- See Also:
-
-
Constructor Details
-
BeanDefinitionReferenceWriter
Default constructor.- Parameters:
visitor
- The visitorvisitorContext
- The visitor context
-
-
Method Details
-
accept
Accept anClassWriterOutputVisitor
to write all generated classes.- Parameters:
outputVisitor
- TheClassWriterOutputVisitor
- Throws:
IOException
- If an error occurs
-
setContextScope
public void setContextScope(boolean contextScope) Set whether the bean should be in context scope.- Parameters:
contextScope
- The context scope
-
setRequiresMethodProcessing
public void setRequiresMethodProcessing(boolean shouldPreProcess) Sets whether theBeanType.requiresMethodProcessing()
returns true.- Parameters:
shouldPreProcess
- True if they should be pre-processed
-
getBeanDefinitionQualifiedClassName
Obtains the class name of the bean definition to be written. Java Annotation Processors need this information to create a JavaFileObject using a Filer.- Returns:
- the class name of the bean definition to be written
-