File: classes-fields.vala

package info (click to toggle)
vala 0.3.4-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 13,756 kB
  • ctags: 12,353
  • sloc: ansic: 116,516; sh: 9,897; yacc: 1,218; makefile: 837; xml: 657; lex: 285
file content (62 lines) | stat: -rw-r--r-- 1,775 bytes parent folder | download
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
using GLib;

class Maman.Foo : Object {
	public int public_base_field = 2;
	public class int public_class_field = 23;
}

class Maman.Bar : Foo {
	public int public_field = 3;
	private int private_field = 4;
	private static int private_static_field = 5;
	public static int public_static_field = 6;
	private class int private_class_field; 
	public class int public_class_field;

	class construct {
		private_class_field = 7;
	}
	static construct {
		public_class_field = 8;
	}
	
	void do_action () {
		stdout.printf (" %d %d %d %d %d %d %d", public_base_field, public_field,
		               private_field, private_static_field, public_static_field, 
					   private_class_field, public_class_field);
		public_base_field = 9;
		public_field = 10;
		private_field = 11;
		private_static_field = 12;
		public_static_field = 13;
		private_class_field = 14;
		public_class_field = 15;
		stdout.printf (" %d %d %d %d %d %d %d", public_base_field, public_field,
		               private_field, private_static_field, public_static_field, 
					   private_class_field, public_class_field);
	}

	static int main (string[] args) {
		stdout.printf ("Field Test: 1");
		
		var bar = new Bar ();
		bar.do_action ();

		bar.public_base_field = 16;
		bar.public_field = 17;
		bar.private_field = 18;
		bar.private_static_field = 19;
		bar.public_static_field = 20;
		bar.private_class_field = 21;
		((Foo)bar).public_class_field = 22;
		stdout.printf (" %d %d %d %d %d %d %d", bar.public_base_field, bar.public_field,
		               bar.private_field, bar.private_static_field, bar.public_static_field, 
					   bar.private_class_field, ((Foo)bar).public_class_field);

		var foo = new Foo ();
		stdout.printf (" %d", foo.public_class_field);
		stdout.printf (" 24\n");
		
		return 0;
	}
}