Annotation Type Unused
-
@Documented @Retention(RUNTIME) @Target(FIELD) public @interface Unused
Declares that the field may not be accessed if the receiver is of the specified qualifier type (or any supertype).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 aTable
instance is shared across threads. When running in a local thread, thelock
field ought not to be used.You can declare this behavior in the following way:
The checker forclass Table { private @Unused(when=LocalToThread.class) final Lock lock; ... }
@LocalToThread
would issue an error for the following code:@LocalToThread Table table = ...; ... table.lock ...;
- See the Checker Framework Manual:
- Unused fields
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description java.lang.Class<? extends java.lang.annotation.Annotation>
when
The field that is annotated with @Unused may not be accessed via a receiver that is annotated with the "when" annotation.
-