| package org.checkerframework.checker.mustcall.qual; |
| |
| import java.lang.annotation.ElementType; |
| import java.lang.annotation.Retention; |
| import java.lang.annotation.RetentionPolicy; |
| import java.lang.annotation.Target; |
| |
| /** |
| * Annotation indicating that ownership should not be transferred to the annotated parameter, field, |
| * or (when this is written on a method) return type, for the purposes of Must Call checking. |
| * |
| * <p>Parameters and fields are treated as if they have this annotation by default unless they have |
| * {@link Owning}. |
| * |
| * <p>When the -AnoLightweightOwnership command-line argument is passed to the checker, this |
| * annotation and {@link Owning} are ignored. |
| * |
| * @checker_framework.manual #must-call-checker Must Call Checker |
| */ |
| @Retention(RetentionPolicy.RUNTIME) |
| @Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD}) |
| public @interface NotOwning {} |