Release 0.41.92
[vala-gnome.git] / tests / objects / classes.vala
blob24c45edb4f0d2af88cf350e521406fd3fe261947
1 using GLib;
3 [Compact]
4 class CompactClass {
5 public int field;
8 [Compact]
9 class CompactClassWithDestructor {
10 ~CompactClassWithDestructor () {
11 stdout.printf ("~CompactClassWithDestructor\n");
15 class DerivedClass : CompactClass {
18 [Compact]
19 public class PublicClass {
20 public int field;
23 [Compact]
24 abstract class AbstractClass {
25 public int field;
28 [Compact]
29 class ClassWithCreationMethod {
30 public ClassWithCreationMethod () {
31 stdout.printf ("ClassWithCreationMethod\n");
34 public int field;
37 [Compact]
38 class ClassWithNamedCreationMethod {
39 public ClassWithNamedCreationMethod.named () {
40 stdout.printf ("ClassWithNamedCreationMethod\n");
43 public int field;
46 class SimpleGTypeInstanceClass {
49 class DerivedGTypeInstanceClass : SimpleGTypeInstanceClass {
52 public class PublicGTypeInstanceClass {
55 class GTypeInstanceClassWithCreationMethod {
56 public GTypeInstanceClassWithCreationMethod () {
57 stdout.printf ("GTypeInstanceClassWithCreationMethod\n");
61 class GTypeInstanceClassWithNamedCreationMethod {
62 public GTypeInstanceClassWithNamedCreationMethod.named () {
63 stdout.printf ("GTypeInstanceClassWithNamedCreationMethod\n");
67 class SimpleGObjectClass : Object {
70 class DerivedGObjectClass : SimpleGObjectClass {
73 public class PublicGObjectClass : Object {
76 abstract class AbstractGObjectClass : Object {
79 class GObjectClassWithCreationMethod : Object {
80 public GObjectClassWithCreationMethod () {
84 class GObjectClassWithNamedCreationMethod : Object {
85 public GObjectClassWithNamedCreationMethod.named () {
89 void main () {
90 stdout.printf ("Classes Test:\n");
92 stdout.printf ("new CompactClass ()\n");
93 var compact_class = new CompactClass ();
94 stdout.printf ("new DerivedClass ()\n");
95 var derived_class = new DerivedClass ();
96 stdout.printf ("new PublicClass ()\n");
97 var public_class = new PublicClass ();
98 stdout.printf ("new ClassWithCreationMethod ()\n");
99 var class_with_creation_method = new ClassWithCreationMethod ();
100 stdout.printf ("new ClassWithNamedCreationMethod ()\n");
101 var class_with_named_creation_method = new ClassWithNamedCreationMethod.named ();
102 stdout.printf ("new CompactClassWithDestructor ()\n");
103 var compact_class_with_destructor = new CompactClassWithDestructor ();
104 compact_class_with_destructor = null;
106 stdout.printf ("new SimpleGTypeInstanceClass ()\n");
107 var simple_gtypeinstance_class = new SimpleGTypeInstanceClass ();
108 stdout.printf ("new DerivedGTypeInstanceClass ()\n");
109 var derived_gtypeinstance_class = new DerivedGTypeInstanceClass ();
110 stdout.printf ("new PublicGTypeInstanceClass ()\n");
111 var public_gtypeinstance_class = new PublicGTypeInstanceClass ();
112 stdout.printf ("new GTypeInstanceClassWithCreationMethod ()\n");
113 var gtypeinstance_class_with_creation_method = new GTypeInstanceClassWithCreationMethod ();
114 stdout.printf ("new GTypeInstanceClassWithNamedCreationMethod ()\n");
115 var gtypeinstance_class_with_named_creation_method = new GTypeInstanceClassWithNamedCreationMethod.named ();
117 stdout.printf ("new SimpleGObjectClass ()\n");
118 var simple_gobject_class = new SimpleGObjectClass ();
119 stdout.printf ("new DerivedGObjectClass ()\n");
120 var derived_gobject_class = new DerivedGObjectClass ();
121 stdout.printf ("new PublicGObjectClass ()\n");
122 var public_gobject_class = new PublicGObjectClass ();
123 stdout.printf ("new GObjectClassWithCreationMethod ()\n");
124 var gobject_class_with_creation_method = new GObjectClassWithCreationMethod ();
125 stdout.printf ("new GObjectClassWithNamedCreationMethod ()\n");
126 var gobject_class_with_named_creation_method = new GObjectClassWithNamedCreationMethod.named ();
128 stdout.printf ("new CompactClass () { field = 1 }\n");
129 compact_class = new CompactClass () { field = 1 };
130 stdout.printf ("compact_class.field = %d\n", compact_class.field);
132 stdout.printf (".\n");