1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
import org.checkerframework.checker.tainting.qual.Untainted;
/**
* Resolution of outer classes must take substitution of generic types into account. Thanks to EMS
* for finding this problem.
*
* <p>Also see all-systems/GenericsEnclosing for the type-system independent test.
*/
class MyG<X> {
X f;
void m(X p) {}
}
class ExtMyG extends MyG<@Untainted Object> {
class EInner1 {
class EInner2 {
void bar() {
// :: error: (assignment.type.incompatible)
f = 1;
m("test");
// :: error: (argument.type.incompatible)
m(1);
}
}
}
}
|