| // Test case for Issue 1044 |
| // https://github.com/typetools/checker-framework/issues/1044 |
| |
| import org.checkerframework.checker.nullness.qual.NonNull; |
| import org.checkerframework.checker.nullness.qual.Nullable; |
| |
| public class Issue1044 { |
| static class Inner1<V> { |
| // :: error: (initialization.field.uninitialized) |
| V f; |
| } |
| |
| static class Inner2<@Nullable T extends @Nullable Object> { |
| // :: error: (initialization.field.uninitialized) |
| @NonNull T f; |
| } |
| |
| static class Inner3<V> { |
| V f; |
| // :: error: (initialization.fields.uninitialized) |
| Inner3() {} |
| } |
| |
| static class Inner4<@Nullable T extends @Nullable Object> { |
| @NonNull T f; |
| // :: error: (initialization.fields.uninitialized) |
| Inner4() {} |
| } |
| |
| static class Inner5<V> { |
| @Nullable V f; |
| } |
| |
| static class Inner6<@Nullable T extends @Nullable Object> { |
| T f; |
| } |
| |
| static class Inner7<V> { |
| @Nullable V f; |
| |
| Inner7() {} |
| } |
| |
| static class Inner8<@Nullable T extends @Nullable Object> { |
| T f; |
| |
| Inner8() {} |
| } |
| |
| static class Inner9<V extends Object> { |
| // :: error: (initialization.field.uninitialized) |
| V f; |
| } |
| |
| static class Inner10<V extends Object> { |
| V f; |
| // :: error: (initialization.fields.uninitialized) |
| Inner10() {} |
| } |
| |
| static class Inner11<V extends Object> { |
| @Nullable V f; |
| } |
| |
| static class Inner12<V extends Object> { |
| @Nullable V f; |
| |
| Inner12() {} |
| } |
| } |