checkers.quals
Annotation Type Unused
@Documented
@Retention(value=RUNTIME)
@Target(value=FIELD)
public @interface Unused
Declares that the field may not be accessed if the receiver is of the
specified qualifier type.
The checker that type-checks the when
element value qualifier
verifies that property.
Example
Consider a class, Table
, with a locking field, lock
. The
lock is used when a Table
instance is shared across threads. When
running in a local thread, the lock
field ought not to be used.
You can declare this behavior in the following way:
class Table {
private @Unused(when=LocalToThread.class) final Lock lock;
...
}
The appropriate checker (which type-checks the specified qualifier) is to
issue an error whenever the lock is used in a LocalToThread
, like
in the following case:
final @LocalToThread Table table = ....;
table.lock.lock();
when
public abstract Class<? extends Annotation> when