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
|
class FObject : Object {
}
struct FStruct {
public int i;
}
class Foo : Object {
public string s { get; set; }
public unowned string[] a { get; set; }
public int i { get; set; }
public FObject o { get; set; }
public FStruct t { get; set; }
public void* p { get; set; }
public int foo { get { return i; } }
public int bar { set { i = value; } }
public Foo () {
}
}
void main () {
var s = "bar";
string[] a = { "foo", "baz" };
var i = 42;
var o = new FObject ();
FStruct t = {};
void* p = &o;
var foo = new Foo ();
foo.s = s;
foo.a = a;
foo.i = i;
foo.o = o;
foo.t = t;
foo.p = p;
foo.notify["s"].connect (() => error ("string-type equality failed"));
foo.notify["a"].connect (() => error ("array-type equality failed"));
foo.notify["i"].connect (() => error ("simple-type equality failed"));
foo.notify["o"].connect (() => error ("object-type equality failed"));
foo.notify["t"].connect (() => error ("struct-type equality failed"));
foo.notify["p"].connect (() => error ("pointer-type equality failed"));
foo.s = s;
foo.a = a;
foo.i = i;
foo.o = o;
foo.t = t;
foo.p = p;
}
|