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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
/// PASS
assert(new A(x: 42).getX() == 42);
/// Toplevel
class A
{
int x;
int getX() = this.x;
}
/// PASS
A a = new A(x: 0);
a.setX();
assert(a.getX() == 11);
/// Toplevel
class A
{
int x;
int getX() = this.x;
void setX() { x = 10; x++; }
}
/// PASS
assert(new A(x: 42).getX() == 42);
/// Toplevel
class A
{
int x;
int getX() = x;
}
/// PASS
assert(new A(x: 42).getX() == 42);
/// Toplevel
class A
{
int x;
int getX();
getX() = x;
}
/// PASS
/// Toplevel
class A
{
int x;
toString() = "" + x;
}
/// FAIL
/// Toplevel
class A
{
int x;
}
class B
{
int getX() = /* /// FAIL HERE */ x;
}
/// PASS
/// Toplevel
class A{
String _field;
void f() { let s = _field; }
}
class B{
String _field;
}
/// PASS
/// Toplevel
class A{
String _field;
String getField() = _field;
}
class B{
String _field;
}
/// PASS
/// Toplevel
class A{
String _field;
String getField() { String res = _field; return res; }
}
class B{
String _field;
}
/// PASS
/// Toplevel
// Use implicit this in an implementation of an external method.
int getX(A);
class A {
int x;
getX() = x;
}
/// PASS
/// Toplevel
// Use implicit this in an external implementation of an external method.
int getX(A);
class A {
int x;
}
getX(A this) = x;
/// PASS
/// Toplevel
// Implicit this used on a functional field.
class A {
String->void avv;
void m(String s) = avv(s);
}
/// PASS
/// Toplevel
// Implicit this used on a functional field.
class A {
(String,String)->void avv;
void m(String s) = avv(s,s);
}
|