Annotation Type Unused
-
@Documented @Retention(RUNTIME) @Target(FIELD) public @interface UnusedDeclares 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
whenelement value qualifier.Example Consider a class,
Table, with a locking field,lock. The lock is used when aTableinstance is shared across threads. When running in a local thread, thelockfield 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; ... }@LocalToThreadwould 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>whenThe field that is annotated with @Unused may not be accessed via a receiver that is annotated with the "when" annotation.
-