| import java.lang.annotation.ElementType; |
| import java.lang.annotation.Target; |
| import org.checkerframework.checker.nullness.qual.*; |
| import org.checkerframework.framework.qual.SubtypeOf; |
| import org.checkerframework.framework.qual.Unused; |
| |
| @SubtypeOf({}) |
| @Target(ElementType.TYPE_USE) |
| @interface DoesNotUseF {} |
| |
| public class Uninit11 { |
| |
| @Unused(when = DoesNotUseF.class) |
| public Object f; |
| |
| // parameter disambiguate_overloads is just to distinguish the overloaded constructors |
| public @DoesNotUseF Uninit11(int disambiguate_overloads) {} |
| |
| // :: error: (initialization.fields.uninitialized) |
| public Uninit11(boolean disambiguate_overloads) {} |
| |
| public Uninit11(long x) { |
| f = new Object(); |
| } |
| } |