codegen: Fix floating reference regression with Variants
[vala-gnome.git] / tests / girwriter / girtest.vala
blobc5d4f928b215a23893616fabd1dcebee6ebde66a
1 [GIR (gir_namespace = "GirTest", gir_version = "1.0")]
2 namespace GirTest {
3 public struct BoxedStruct {
4 public int field_name;
6 public BoxedStruct () {
9 public void inv () {
13 [GIR (visible = false)]
14 public class SkippedStruct {
17 public const int CONSTANT_NUMBER = 42;
18 public const string CONSTANT_STRING = "const ♥ utf8";
20 public enum EnumTest {
21 VALUE1,
22 VALUE2,
23 VALUE3
26 [Flags]
27 public enum FlagsTest {
28 VALUE1,
29 VALUE2,
30 VALUE3
33 [GIR (visible = false)]
34 public enum SkippedEnum {
35 VALUE1
38 [GIR (visible = false)]
39 public enum SkippedFlags {
40 VALUE1
43 public interface InterfaceTest {
44 public virtual void int8_in (int8 param) {
48 [GIR (visible = false)]
49 public interface SkippedInterface {
52 public delegate bool DelegateTest (void* a, void* b);
54 [GIR (visible = false)]
55 public delegate void SkippedDelegate ();
57 public class ObjectTest : Object {
58 private static ObjectTest global_instance = new ObjectTest ();
60 public signal void some_signal (int param);
62 [GIR (visible = false)]
63 public signal void skipped_signal (int param);
65 public int field = 42;
66 public ObjectTest () {
68 public ObjectTest.with_int (int param) {
69 field = param;
71 public ObjectTest.newv (int param, ...) {
72 field = param;
74 public ObjectTest.new_valist (int param, va_list vargs) {
75 field = param;
77 public static void full_inout (ref ObjectTest obj) {
78 assert (obj.field == 42);
79 obj = new ObjectTest ();
81 public static void full_out (out ObjectTest obj) {
82 obj = new ObjectTest ();
84 public static ObjectTest full_return () {
85 return new ObjectTest ();
87 public static void none_inout (ref unowned ObjectTest obj) {
88 assert (obj.field == 42);
89 obj = global_instance;
91 public static void none_out (out unowned ObjectTest obj) {
92 obj = global_instance;
94 public static unowned ObjectTest none_return () {
95 return global_instance;
98 public static void static_method () {
101 public virtual void method_with_default_impl (int8 param) {
104 public void int8_in (int8 param) {
107 public void int8_out (out int8 param) {
108 param = 42;
111 public void method () {
114 public void method_varargs (int param, ...) {
117 public void method_valist (int param, va_list vargs) {
120 public void array_in (int[] array) {
123 public void array_inout (ref int[] array) {
124 assert (array.length > 0);
125 array = new int[8];
128 public void array_out (out int[] array) {
129 array = new int[8];
132 public int[] array_return () {
133 return new int[8];
136 public void int_in_int_in_array_out (int param1, int param2, out int[] array) {
137 array = new int[8];
140 public int[] int_in_int_in_array_return (int param1, int param2) {
141 return new int[8];
144 public void none_in () {
147 public DelegateTest delegate_return () {
148 return (val1, val2) => { return (void*)val1 == (void*)val2; };
151 public DelegateTest delegate_return_int_in_array_out (int i1, out int[] a) {
152 a = new int[8];
153 return delegate_return ();
156 public int[] array_return_int_in_delegate_out (int i1, out DelegateTest d) {
157 d = delegate_return ();
158 return new int[8];
161 public EqualFunc simple_delegate_return () {
162 return str_equal;
165 [GIR (visible = false)]
166 public void skipped_method () {
170 public abstract class AbstractObjectTest : Object {
171 public abstract void method_int8_in (int8 param);
173 public abstract void method_int8_inout (ref int8 param);
175 public abstract void method_int8_out (out int8 param);
178 [GIR (visible = false)]
179 public class SkippedClass {