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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
/// PASS
if (false)
{
let dummy = new A();
}
/// Toplevel
class A {}
/// PASS
/// package a import b
/// Toplevel
class A { String name = ""; }
/// package b import a
let dummy = new A();
/// PASS
/// package b import a
let dummy = new A();
/// package a import b
/// Toplevel
class A { String name = ""; }
/// PASS
/* Checks that constructors are generated even when they are not used.
This is important, since Java code could rely on them.
*/
/// package a
/// Toplevel
class A extends Error { }
/// package b import a
Class.forName("a.A").getDeclaredConstructor([ String.class ]);
/// PASS
/* Checks that constructors are generated even when they are not used.
This is important, since Java code could rely on them.
*/
/// package a
/// Toplevel
class A extends Error { }
/// package b import a
Class.forName("a.A").getDeclaredConstructor([ String.class ]);
/// Toplevel
class B extends A {}
equals(A this, B that) = true;
/// PASS
/// Toplevel
// The subclass comes before the parent.
class B extends A { int b; }
class A { int a; }
/// PASS
/// package a
/// Toplevel
class SymbolTable<Sym>
{
?Binder topBinder = null;
}
class Binder {}
<Sym> SymbolTable<Sym> symbolTable() = new SymbolTable();
/// package b import a
/// Toplevel
void foo() {
let SymbolTable<String> t = new SymbolTable();
}
/// PASS
/// package a
/// Toplevel
public class AA<T> {
public ?AA<T> x;
}
/// package c import a
{}
/// package d import a,c
AA<?String> dummy = new AA(x:null);
/// PASS
/// package a
/// Toplevel
public class A
{
private B b = new B();
}
public class B { }
/// package b import a
{}
/// PASS
/// package a
/// Toplevel
class Scope<Sym>
{
private List<Sym> empty = new Sym[0];
}
/// package b import a
Scope<String> s = new Scope();
|