package checkers.igj.quals;
import java.lang.annotation.*;
import checkers.quals.SubtypeOf;
import checkers.quals.TypeQualifier;
/**
* Indicates that the annotated reference is a ReadOnly reference.
*
* A {@code ReadOnly} reference could refer to a Mutable or an Immutable
* object. An object may not be mutated through a read only reference,
* except if the field is marked {@code Assignable}. Only a method with a
* readonly receiver can be called using a readonly reference.
*
* @checker.framework.manual #igj-checker IGJ Checker
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
//@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@TypeQualifier
@SubtypeOf( { } )
public @interface ReadOnly {
}