mirror of
https://github.com/github/codeql.git
synced 2026-06-14 09:21:07 +02:00
41 lines
598 B
Java
41 lines
598 B
Java
import java.util.ArrayList;
|
|
|
|
class Super { int x; }
|
|
class Sub extends Super { int x; }
|
|
|
|
class TestSuper { void baz(Sub s) {} }
|
|
|
|
class Test extends TestSuper {
|
|
Test(Super o) {}
|
|
|
|
Test(Sub s) {
|
|
// OK
|
|
this((Super)s);
|
|
}
|
|
|
|
{
|
|
Sub s = null;
|
|
// OK
|
|
new Test((Super)s);
|
|
// NOT OK
|
|
Super o = (Super)s; // $ Alert
|
|
// OK
|
|
foo((Super)s);
|
|
// NOT OK
|
|
bar((Super)s); // $ Alert
|
|
// OK
|
|
baz((Super)s);
|
|
// OK
|
|
ArrayList a = (ArrayList)new ArrayList<Sub>();
|
|
// OK
|
|
int x = ((Super)new Sub()).x;
|
|
}
|
|
|
|
void foo(Super o) {}
|
|
void foo(Sub s) {}
|
|
|
|
void bar(Super o) {}
|
|
|
|
void baz(Super o) {}
|
|
}
|