Annotation Type Interned


  • @Documented
    @Retention(RUNTIME)
    @Target({TYPE_USE,TYPE_PARAMETER})
    @SubtypeOf(UnknownInterned.class)
    @QualifierForLiterals({PRIMITIVE,STRING})
    @DefaultFor(typeKinds={BOOLEAN,BYTE,CHAR,DOUBLE,FLOAT,INT,LONG,SHORT})
    public @interface Interned
    Indicates that a variable has been interned, i.e., that the variable refers to the canonical representation of an object.

    To specify that all objects of a given type are interned, annotate the class declaration:

       public @Interned class MyInternedClass { ... }
     
    This is equivalent to annotating every use of MyInternedClass, in a declaration or elsewhere. For example, enum classes are implicitly so annotated.
    See Also:
    org.checkerframework.checker.interning.InterningChecker