File: interface-property-impl.vala

package info (click to toggle)
vala 0.56.18-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 57,468 kB
  • sloc: ansic: 581,293; sh: 5,334; makefile: 3,946; xml: 3,161; yacc: 1,219; lex: 374; javascript: 23
file content (24 lines) | stat: -rw-r--r-- 379 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
interface IFoo<T> : Object {
	public abstract T data { get; set; }
}

class Foo : Object, IFoo<string> {
	public string data { get; set; }
}

class Bar : Object, IFoo<int> {
	public int data { get; set; }
}

void main () {
	{
		var foo = new Foo ();
		foo.data = "foo";
		assert (foo.data == "foo");
	}
	{
		var bar = new Bar ();
		bar.data = 42;
		assert (bar.data == 42);
	}
}