Package io.micronaut.reflection


@NullMarked package io.micronaut.reflection
Reflective implementations of the metadata the annotation processors generate at compilation time, for the types they never saw.

The framework describes a type through AnnotationMetadata, Argument, ExecutableMethod, BeanIntrospection and BeanDefinition, all of them generated when the type is compiled. A specification that has to handle any class - Jakarta Validation, Jakarta REST, CDI - meets types that were not compiled with the processors, and has to describe them through java.lang.reflect instead. This package builds the same metadata from reflection, in the shape the processors give it, so that code written against generated metadata works unchanged:

Every type of this package is Experimental: reading a class back is what the framework is built to avoid, and an application says it wants it by depending on this module and, for the shared introspector, by allowing the types through ReflectionIntrospectionPolicy.

Since:
5.2.0