package checkers.oigj.quals;
import java.lang.annotation.*;
import checkers.quals.SubtypeOf;
import checkers.quals.TypeQualifier;
/**
*
* Indicates that the annotated method could assigns (but not mutate) the fields
* of {@code this} object.
*
* A method with an AssignsFields receiver may not use the receiver to
* invoke other methods with mutable or immutable reciever.
*
*/
// TODO: Document this
@Documented
@Retention(RetentionPolicy.RUNTIME)
//@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
@TypeQualifier // (for now)
@SubtypeOf( ReadOnly.class )
public @interface AssignsFields {
}