blob: 32f9f35d75b457527e297c15e4913627956dfd71 [file] [log] [blame]
// Test case for Issue 269
// https://github.com/typetools/checker-framework/issues/269
class Issue269 {
// Implicitly G has bound @Nullable Object
interface Callback<G> {
public boolean handler(G arg);
}
void method1(Callback callback) {
// Allow this call.
// :: warning: [unchecked] unchecked call to handler(G) as a member of the raw type
// Issue269.Callback
callback.handler(this);
}
// Implicitly H has bound @NonNull Object
interface CallbackNN<H extends Object> {
public boolean handler(H arg);
}
void method2(CallbackNN callback) {
// Forbid this call, because the bound is not respected.
// TODO: false negative. See #635.
//// :: error: (argument)
// :: warning: [unchecked] unchecked call to handler(H) as a member of the raw type
// Issue269.CallbackNN
callback.handler(null);
}
}