001package arez.annotations;
002
003import java.lang.annotation.Documented;
004import java.lang.annotation.ElementType;
005import java.lang.annotation.Target;
006
007/**
008 * Annotation added to a class or interface that indicates that the type should be treated as
009 * component-like for Arez processor validation.
010 *
011 * <p>This annotation is not a real {@link ArezComponent} processing entrypoint and does not enable
012 * Arez component generation semantics for the annotated type.</p>
013 *
014 * <p>Instead, it marks the type as a valid host for processor validation paths that accept
015 * component-like targets such as misplaced-annotation containment checks, runtime-declared-type
016 * validation, component dependency compatibility, and unmanaged component-reference analysis.
017 * See {@link ArezComponent#verifyReferencesToComponent()} for additional details.</p>
018 */
019@Documented
020@Target( ElementType.TYPE )
021public @interface ArezComponentLike
022{
023}