@Documented @Retention(value=RUNTIME) @Target(value=FIELD) public @interface Unused
This property is verified by the checker that type-checks the when element value
qualifier.
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 checker for @LocalToThread would issue an error for the following code:
@LocalToThread Table table = ...; ... table.lock ...;
| Modifier and Type | Required Element and Description |
|---|---|
Class<? extends Annotation> |
when
The field that is annotated with @Unused may not be accessed via a receiver that is annotated
with the "when" annotation.
|
public abstract Class<? extends Annotation> when