1 /* valacodegen.h generated by valac, the Vala compiler, do not modify */
2 
3 #ifndef __VALACODEGEN_H__
4 #define __VALACODEGEN_H__
5 
6 #include <vala.h>
7 #include <stdlib.h>
8 #include <string.h>
9 #include <glib.h>
10 #include <float.h>
11 #include <math.h>
12 #include <glib-object.h>
13 #include <valaccode.h>
14 #include <valagee.h>
15 
16 G_BEGIN_DECLS
17 
18 #define VALA_TYPE_CCODE_BASE_MODULE (vala_ccode_base_module_get_type ())
19 #define VALA_CCODE_BASE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModule))
20 #define VALA_CCODE_BASE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModuleClass))
21 #define VALA_IS_CCODE_BASE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_BASE_MODULE))
22 #define VALA_IS_CCODE_BASE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_BASE_MODULE))
23 #define VALA_CCODE_BASE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModuleClass))
24 
25 typedef struct _ValaCCodeBaseModule ValaCCodeBaseModule;
26 typedef struct _ValaCCodeBaseModuleClass ValaCCodeBaseModuleClass;
27 typedef struct _ValaCCodeBaseModulePrivate ValaCCodeBaseModulePrivate;
28 
29 #define VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT (vala_ccode_base_module_emit_context_get_type ())
30 #define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContext))
31 #define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContextClass))
32 #define VALA_CCODE_BASE_MODULE_IS_EMIT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT))
33 #define VALA_CCODE_BASE_MODULE_IS_EMIT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT))
34 #define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContextClass))
35 
36 typedef struct _ValaCCodeBaseModuleEmitContext ValaCCodeBaseModuleEmitContext;
37 typedef struct _ValaCCodeBaseModuleEmitContextClass ValaCCodeBaseModuleEmitContextClass;
38 
39 #define VALA_TYPE_CCODE_STRUCT_MODULE (vala_ccode_struct_module_get_type ())
40 #define VALA_CCODE_STRUCT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModule))
41 #define VALA_CCODE_STRUCT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModuleClass))
42 #define VALA_IS_CCODE_STRUCT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_STRUCT_MODULE))
43 #define VALA_IS_CCODE_STRUCT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_STRUCT_MODULE))
44 #define VALA_CCODE_STRUCT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModuleClass))
45 
46 typedef struct _ValaCCodeStructModule ValaCCodeStructModule;
47 typedef struct _ValaCCodeStructModuleClass ValaCCodeStructModuleClass;
48 typedef struct _ValaCCodeStructModulePrivate ValaCCodeStructModulePrivate;
49 
50 #define VALA_TYPE_CCODE_METHOD_MODULE (vala_ccode_method_module_get_type ())
51 #define VALA_CCODE_METHOD_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModule))
52 #define VALA_CCODE_METHOD_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModuleClass))
53 #define VALA_IS_CCODE_METHOD_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_METHOD_MODULE))
54 #define VALA_IS_CCODE_METHOD_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_METHOD_MODULE))
55 #define VALA_CCODE_METHOD_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModuleClass))
56 
57 typedef struct _ValaCCodeMethodModule ValaCCodeMethodModule;
58 typedef struct _ValaCCodeMethodModuleClass ValaCCodeMethodModuleClass;
59 typedef struct _ValaCCodeMethodModulePrivate ValaCCodeMethodModulePrivate;
60 
61 #define VALA_TYPE_CCODE_CONTROL_FLOW_MODULE (vala_ccode_control_flow_module_get_type ())
62 #define VALA_CCODE_CONTROL_FLOW_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModule))
63 #define VALA_CCODE_CONTROL_FLOW_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModuleClass))
64 #define VALA_IS_CCODE_CONTROL_FLOW_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE))
65 #define VALA_IS_CCODE_CONTROL_FLOW_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE))
66 #define VALA_CCODE_CONTROL_FLOW_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModuleClass))
67 
68 typedef struct _ValaCCodeControlFlowModule ValaCCodeControlFlowModule;
69 typedef struct _ValaCCodeControlFlowModuleClass ValaCCodeControlFlowModuleClass;
70 typedef struct _ValaCCodeControlFlowModulePrivate ValaCCodeControlFlowModulePrivate;
71 
72 #define VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE (vala_ccode_member_access_module_get_type ())
73 #define VALA_CCODE_MEMBER_ACCESS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModule))
74 #define VALA_CCODE_MEMBER_ACCESS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModuleClass))
75 #define VALA_IS_CCODE_MEMBER_ACCESS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE))
76 #define VALA_IS_CCODE_MEMBER_ACCESS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE))
77 #define VALA_CCODE_MEMBER_ACCESS_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModuleClass))
78 
79 typedef struct _ValaCCodeMemberAccessModule ValaCCodeMemberAccessModule;
80 typedef struct _ValaCCodeMemberAccessModuleClass ValaCCodeMemberAccessModuleClass;
81 typedef struct _ValaCCodeMemberAccessModulePrivate ValaCCodeMemberAccessModulePrivate;
82 
83 #define VALA_TYPE_CCODE_ASSIGNMENT_MODULE (vala_ccode_assignment_module_get_type ())
84 #define VALA_CCODE_ASSIGNMENT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_ASSIGNMENT_MODULE, ValaCCodeAssignmentModule))
85 #define VALA_CCODE_ASSIGNMENT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_ASSIGNMENT_MODULE, ValaCCodeAssignmentModuleClass))
86 #define VALA_IS_CCODE_ASSIGNMENT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_ASSIGNMENT_MODULE))
87 #define VALA_IS_CCODE_ASSIGNMENT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_ASSIGNMENT_MODULE))
88 #define VALA_CCODE_ASSIGNMENT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_ASSIGNMENT_MODULE, ValaCCodeAssignmentModuleClass))
89 
90 typedef struct _ValaCCodeAssignmentModule ValaCCodeAssignmentModule;
91 typedef struct _ValaCCodeAssignmentModuleClass ValaCCodeAssignmentModuleClass;
92 typedef struct _ValaCCodeAssignmentModulePrivate ValaCCodeAssignmentModulePrivate;
93 
94 #define VALA_TYPE_CCODE_METHOD_CALL_MODULE (vala_ccode_method_call_module_get_type ())
95 #define VALA_CCODE_METHOD_CALL_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_METHOD_CALL_MODULE, ValaCCodeMethodCallModule))
96 #define VALA_CCODE_METHOD_CALL_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_METHOD_CALL_MODULE, ValaCCodeMethodCallModuleClass))
97 #define VALA_IS_CCODE_METHOD_CALL_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_METHOD_CALL_MODULE))
98 #define VALA_IS_CCODE_METHOD_CALL_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_METHOD_CALL_MODULE))
99 #define VALA_CCODE_METHOD_CALL_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_METHOD_CALL_MODULE, ValaCCodeMethodCallModuleClass))
100 
101 typedef struct _ValaCCodeMethodCallModule ValaCCodeMethodCallModule;
102 typedef struct _ValaCCodeMethodCallModuleClass ValaCCodeMethodCallModuleClass;
103 typedef struct _ValaCCodeMethodCallModulePrivate ValaCCodeMethodCallModulePrivate;
104 
105 #define VALA_TYPE_CCODE_ARRAY_MODULE (vala_ccode_array_module_get_type ())
106 #define VALA_CCODE_ARRAY_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_ARRAY_MODULE, ValaCCodeArrayModule))
107 #define VALA_CCODE_ARRAY_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_ARRAY_MODULE, ValaCCodeArrayModuleClass))
108 #define VALA_IS_CCODE_ARRAY_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_ARRAY_MODULE))
109 #define VALA_IS_CCODE_ARRAY_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_ARRAY_MODULE))
110 #define VALA_CCODE_ARRAY_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_ARRAY_MODULE, ValaCCodeArrayModuleClass))
111 
112 typedef struct _ValaCCodeArrayModule ValaCCodeArrayModule;
113 typedef struct _ValaCCodeArrayModuleClass ValaCCodeArrayModuleClass;
114 typedef struct _ValaCCodeArrayModulePrivate ValaCCodeArrayModulePrivate;
115 
116 #define VALA_TYPE_CCODE_ATTRIBUTE (vala_ccode_attribute_get_type ())
117 #define VALA_CCODE_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_ATTRIBUTE, ValaCCodeAttribute))
118 #define VALA_CCODE_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_ATTRIBUTE, ValaCCodeAttributeClass))
119 #define VALA_IS_CCODE_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_ATTRIBUTE))
120 #define VALA_IS_CCODE_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_ATTRIBUTE))
121 #define VALA_CCODE_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_ATTRIBUTE, ValaCCodeAttributeClass))
122 
123 typedef struct _ValaCCodeAttribute ValaCCodeAttribute;
124 typedef struct _ValaCCodeAttributeClass ValaCCodeAttributeClass;
125 typedef struct _ValaCCodeAttributePrivate ValaCCodeAttributePrivate;
126 typedef struct _ValaCCodeBaseModuleEmitContextPrivate ValaCCodeBaseModuleEmitContextPrivate;
127 
128 #define VALA_TYPE_CCODE_COMPILER (vala_ccode_compiler_get_type ())
129 #define VALA_CCODE_COMPILER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_COMPILER, ValaCCodeCompiler))
130 #define VALA_CCODE_COMPILER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_COMPILER, ValaCCodeCompilerClass))
131 #define VALA_IS_CCODE_COMPILER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_COMPILER))
132 #define VALA_IS_CCODE_COMPILER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_COMPILER))
133 #define VALA_CCODE_COMPILER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_COMPILER, ValaCCodeCompilerClass))
134 
135 typedef struct _ValaCCodeCompiler ValaCCodeCompiler;
136 typedef struct _ValaCCodeCompilerClass ValaCCodeCompilerClass;
137 typedef struct _ValaCCodeCompilerPrivate ValaCCodeCompilerPrivate;
138 
139 #define VALA_TYPE_CCODE_DELEGATE_MODULE (vala_ccode_delegate_module_get_type ())
140 #define VALA_CCODE_DELEGATE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_DELEGATE_MODULE, ValaCCodeDelegateModule))
141 #define VALA_CCODE_DELEGATE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_DELEGATE_MODULE, ValaCCodeDelegateModuleClass))
142 #define VALA_IS_CCODE_DELEGATE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_DELEGATE_MODULE))
143 #define VALA_IS_CCODE_DELEGATE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_DELEGATE_MODULE))
144 #define VALA_CCODE_DELEGATE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_DELEGATE_MODULE, ValaCCodeDelegateModuleClass))
145 
146 typedef struct _ValaCCodeDelegateModule ValaCCodeDelegateModule;
147 typedef struct _ValaCCodeDelegateModuleClass ValaCCodeDelegateModuleClass;
148 typedef struct _ValaCCodeDelegateModulePrivate ValaCCodeDelegateModulePrivate;
149 
150 #define VALA_TYPE_TYPEREGISTER_FUNCTION (vala_typeregister_function_get_type ())
151 #define VALA_TYPEREGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunction))
152 #define VALA_TYPEREGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunctionClass))
153 #define VALA_IS_TYPEREGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION))
154 #define VALA_IS_TYPEREGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TYPEREGISTER_FUNCTION))
155 #define VALA_TYPEREGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TYPEREGISTER_FUNCTION, ValaTypeRegisterFunctionClass))
156 
157 typedef struct _ValaTypeRegisterFunction ValaTypeRegisterFunction;
158 typedef struct _ValaTypeRegisterFunctionClass ValaTypeRegisterFunctionClass;
159 typedef struct _ValaTypeRegisterFunctionPrivate ValaTypeRegisterFunctionPrivate;
160 
161 #define VALA_TYPE_CLASS_REGISTER_FUNCTION (vala_class_register_function_get_type ())
162 #define VALA_CLASS_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CLASS_REGISTER_FUNCTION, ValaClassRegisterFunction))
163 #define VALA_CLASS_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CLASS_REGISTER_FUNCTION, ValaClassRegisterFunctionClass))
164 #define VALA_IS_CLASS_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CLASS_REGISTER_FUNCTION))
165 #define VALA_IS_CLASS_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CLASS_REGISTER_FUNCTION))
166 #define VALA_CLASS_REGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CLASS_REGISTER_FUNCTION, ValaClassRegisterFunctionClass))
167 
168 typedef struct _ValaClassRegisterFunction ValaClassRegisterFunction;
169 typedef struct _ValaClassRegisterFunctionClass ValaClassRegisterFunctionClass;
170 typedef struct _ValaClassRegisterFunctionPrivate ValaClassRegisterFunctionPrivate;
171 
172 #define VALA_TYPE_CTYPE (vala_ctype_get_type ())
173 #define VALA_CTYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CTYPE, ValaCType))
174 #define VALA_CTYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CTYPE, ValaCTypeClass))
175 #define VALA_IS_CTYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CTYPE))
176 #define VALA_IS_CTYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CTYPE))
177 #define VALA_CTYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CTYPE, ValaCTypeClass))
178 
179 typedef struct _ValaCType ValaCType;
180 typedef struct _ValaCTypeClass ValaCTypeClass;
181 typedef struct _ValaCTypePrivate ValaCTypePrivate;
182 
183 #define VALA_TYPE_ENUM_REGISTER_FUNCTION (vala_enum_register_function_get_type ())
184 #define VALA_ENUM_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ENUM_REGISTER_FUNCTION, ValaEnumRegisterFunction))
185 #define VALA_ENUM_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ENUM_REGISTER_FUNCTION, ValaEnumRegisterFunctionClass))
186 #define VALA_IS_ENUM_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ENUM_REGISTER_FUNCTION))
187 #define VALA_IS_ENUM_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ENUM_REGISTER_FUNCTION))
188 #define VALA_ENUM_REGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ENUM_REGISTER_FUNCTION, ValaEnumRegisterFunctionClass))
189 
190 typedef struct _ValaEnumRegisterFunction ValaEnumRegisterFunction;
191 typedef struct _ValaEnumRegisterFunctionClass ValaEnumRegisterFunctionClass;
192 typedef struct _ValaEnumRegisterFunctionPrivate ValaEnumRegisterFunctionPrivate;
193 
194 #define VALA_TYPE_GERROR_MODULE (vala_gerror_module_get_type ())
195 #define VALA_GERROR_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GERROR_MODULE, ValaGErrorModule))
196 #define VALA_GERROR_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GERROR_MODULE, ValaGErrorModuleClass))
197 #define VALA_IS_GERROR_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GERROR_MODULE))
198 #define VALA_IS_GERROR_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GERROR_MODULE))
199 #define VALA_GERROR_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GERROR_MODULE, ValaGErrorModuleClass))
200 
201 typedef struct _ValaGErrorModule ValaGErrorModule;
202 typedef struct _ValaGErrorModuleClass ValaGErrorModuleClass;
203 typedef struct _ValaGErrorModulePrivate ValaGErrorModulePrivate;
204 
205 #define VALA_TYPE_GTYPE_MODULE (vala_gtype_module_get_type ())
206 #define VALA_GTYPE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GTYPE_MODULE, ValaGTypeModule))
207 #define VALA_GTYPE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GTYPE_MODULE, ValaGTypeModuleClass))
208 #define VALA_IS_GTYPE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GTYPE_MODULE))
209 #define VALA_IS_GTYPE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GTYPE_MODULE))
210 #define VALA_GTYPE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GTYPE_MODULE, ValaGTypeModuleClass))
211 
212 typedef struct _ValaGTypeModule ValaGTypeModule;
213 typedef struct _ValaGTypeModuleClass ValaGTypeModuleClass;
214 typedef struct _ValaGTypeModulePrivate ValaGTypeModulePrivate;
215 
216 #define VALA_TYPE_GOBJECT_MODULE (vala_gobject_module_get_type ())
217 #define VALA_GOBJECT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GOBJECT_MODULE, ValaGObjectModule))
218 #define VALA_GOBJECT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GOBJECT_MODULE, ValaGObjectModuleClass))
219 #define VALA_IS_GOBJECT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GOBJECT_MODULE))
220 #define VALA_IS_GOBJECT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GOBJECT_MODULE))
221 #define VALA_GOBJECT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GOBJECT_MODULE, ValaGObjectModuleClass))
222 
223 typedef struct _ValaGObjectModule ValaGObjectModule;
224 typedef struct _ValaGObjectModuleClass ValaGObjectModuleClass;
225 typedef struct _ValaGObjectModulePrivate ValaGObjectModulePrivate;
226 
227 #define VALA_TYPE_GSIGNAL_MODULE (vala_gsignal_module_get_type ())
228 #define VALA_GSIGNAL_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GSIGNAL_MODULE, ValaGSignalModule))
229 #define VALA_GSIGNAL_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GSIGNAL_MODULE, ValaGSignalModuleClass))
230 #define VALA_IS_GSIGNAL_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GSIGNAL_MODULE))
231 #define VALA_IS_GSIGNAL_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GSIGNAL_MODULE))
232 #define VALA_GSIGNAL_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GSIGNAL_MODULE, ValaGSignalModuleClass))
233 
234 typedef struct _ValaGSignalModule ValaGSignalModule;
235 typedef struct _ValaGSignalModuleClass ValaGSignalModuleClass;
236 typedef struct _ValaGSignalModulePrivate ValaGSignalModulePrivate;
237 
238 #define VALA_TYPE_GTK_MODULE (vala_gtk_module_get_type ())
239 #define VALA_GTK_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GTK_MODULE, ValaGtkModule))
240 #define VALA_GTK_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GTK_MODULE, ValaGtkModuleClass))
241 #define VALA_IS_GTK_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GTK_MODULE))
242 #define VALA_IS_GTK_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GTK_MODULE))
243 #define VALA_GTK_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GTK_MODULE, ValaGtkModuleClass))
244 
245 typedef struct _ValaGtkModule ValaGtkModule;
246 typedef struct _ValaGtkModuleClass ValaGtkModuleClass;
247 typedef struct _ValaGtkModulePrivate ValaGtkModulePrivate;
248 
249 #define VALA_TYPE_GASYNC_MODULE (vala_gasync_module_get_type ())
250 #define VALA_GASYNC_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GASYNC_MODULE, ValaGAsyncModule))
251 #define VALA_GASYNC_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GASYNC_MODULE, ValaGAsyncModuleClass))
252 #define VALA_IS_GASYNC_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GASYNC_MODULE))
253 #define VALA_IS_GASYNC_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GASYNC_MODULE))
254 #define VALA_GASYNC_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GASYNC_MODULE, ValaGAsyncModuleClass))
255 
256 typedef struct _ValaGAsyncModule ValaGAsyncModule;
257 typedef struct _ValaGAsyncModuleClass ValaGAsyncModuleClass;
258 typedef struct _ValaGAsyncModulePrivate ValaGAsyncModulePrivate;
259 
260 #define VALA_TYPE_GVALUE_MODULE (vala_gvalue_module_get_type ())
261 #define VALA_GVALUE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GVALUE_MODULE, ValaGValueModule))
262 #define VALA_GVALUE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GVALUE_MODULE, ValaGValueModuleClass))
263 #define VALA_IS_GVALUE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GVALUE_MODULE))
264 #define VALA_IS_GVALUE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GVALUE_MODULE))
265 #define VALA_GVALUE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GVALUE_MODULE, ValaGValueModuleClass))
266 
267 typedef struct _ValaGValueModule ValaGValueModule;
268 typedef struct _ValaGValueModuleClass ValaGValueModuleClass;
269 typedef struct _ValaGValueModulePrivate ValaGValueModulePrivate;
270 
271 #define VALA_TYPE_GVARIANT_MODULE (vala_gvariant_module_get_type ())
272 #define VALA_GVARIANT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GVARIANT_MODULE, ValaGVariantModule))
273 #define VALA_GVARIANT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GVARIANT_MODULE, ValaGVariantModuleClass))
274 #define VALA_IS_GVARIANT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GVARIANT_MODULE))
275 #define VALA_IS_GVARIANT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GVARIANT_MODULE))
276 #define VALA_GVARIANT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GVARIANT_MODULE, ValaGVariantModuleClass))
277 
278 typedef struct _ValaGVariantModule ValaGVariantModule;
279 typedef struct _ValaGVariantModuleClass ValaGVariantModuleClass;
280 typedef struct _ValaGVariantModulePrivate ValaGVariantModulePrivate;
281 
282 #define VALA_TYPE_GD_BUS_MODULE (vala_gd_bus_module_get_type ())
283 #define VALA_GD_BUS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GD_BUS_MODULE, ValaGDBusModule))
284 #define VALA_GD_BUS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GD_BUS_MODULE, ValaGDBusModuleClass))
285 #define VALA_IS_GD_BUS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GD_BUS_MODULE))
286 #define VALA_IS_GD_BUS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GD_BUS_MODULE))
287 #define VALA_GD_BUS_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GD_BUS_MODULE, ValaGDBusModuleClass))
288 
289 typedef struct _ValaGDBusModule ValaGDBusModule;
290 typedef struct _ValaGDBusModuleClass ValaGDBusModuleClass;
291 typedef struct _ValaGDBusModulePrivate ValaGDBusModulePrivate;
292 
293 #define VALA_TYPE_GD_BUS_CLIENT_MODULE (vala_gd_bus_client_module_get_type ())
294 #define VALA_GD_BUS_CLIENT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModule))
295 #define VALA_GD_BUS_CLIENT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModuleClass))
296 #define VALA_IS_GD_BUS_CLIENT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GD_BUS_CLIENT_MODULE))
297 #define VALA_IS_GD_BUS_CLIENT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GD_BUS_CLIENT_MODULE))
298 #define VALA_GD_BUS_CLIENT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GD_BUS_CLIENT_MODULE, ValaGDBusClientModuleClass))
299 
300 typedef struct _ValaGDBusClientModule ValaGDBusClientModule;
301 typedef struct _ValaGDBusClientModuleClass ValaGDBusClientModuleClass;
302 typedef struct _ValaGDBusClientModulePrivate ValaGDBusClientModulePrivate;
303 
304 #define VALA_TYPE_GD_BUS_SERVER_MODULE (vala_gd_bus_server_module_get_type ())
305 #define VALA_GD_BUS_SERVER_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GD_BUS_SERVER_MODULE, ValaGDBusServerModule))
306 #define VALA_GD_BUS_SERVER_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GD_BUS_SERVER_MODULE, ValaGDBusServerModuleClass))
307 #define VALA_IS_GD_BUS_SERVER_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GD_BUS_SERVER_MODULE))
308 #define VALA_IS_GD_BUS_SERVER_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GD_BUS_SERVER_MODULE))
309 #define VALA_GD_BUS_SERVER_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GD_BUS_SERVER_MODULE, ValaGDBusServerModuleClass))
310 
311 typedef struct _ValaGDBusServerModule ValaGDBusServerModule;
312 typedef struct _ValaGDBusServerModuleClass ValaGDBusServerModuleClass;
313 typedef struct _ValaGDBusServerModulePrivate ValaGDBusServerModulePrivate;
314 
315 #define VALA_TYPE_GIR_WRITER (vala_gir_writer_get_type ())
316 #define VALA_GIR_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GIR_WRITER, ValaGIRWriter))
317 #define VALA_GIR_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GIR_WRITER, ValaGIRWriterClass))
318 #define VALA_IS_GIR_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GIR_WRITER))
319 #define VALA_IS_GIR_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GIR_WRITER))
320 #define VALA_GIR_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GIR_WRITER, ValaGIRWriterClass))
321 
322 typedef struct _ValaGIRWriter ValaGIRWriter;
323 typedef struct _ValaGIRWriterClass ValaGIRWriterClass;
324 typedef struct _ValaGIRWriterPrivate ValaGIRWriterPrivate;
325 
326 #define VALA_TYPE_GLIB_VALUE (vala_glib_value_get_type ())
327 #define VALA_GLIB_VALUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GLIB_VALUE, ValaGLibValue))
328 #define VALA_GLIB_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GLIB_VALUE, ValaGLibValueClass))
329 #define VALA_IS_GLIB_VALUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GLIB_VALUE))
330 #define VALA_IS_GLIB_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GLIB_VALUE))
331 #define VALA_GLIB_VALUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GLIB_VALUE, ValaGLibValueClass))
332 
333 typedef struct _ValaGLibValue ValaGLibValue;
334 typedef struct _ValaGLibValueClass ValaGLibValueClass;
335 typedef struct _ValaGLibValuePrivate ValaGLibValuePrivate;
336 
337 #define VALA_TYPE_INTERFACE_REGISTER_FUNCTION (vala_interface_register_function_get_type ())
338 #define VALA_INTERFACE_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_INTERFACE_REGISTER_FUNCTION, ValaInterfaceRegisterFunction))
339 #define VALA_INTERFACE_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_INTERFACE_REGISTER_FUNCTION, ValaInterfaceRegisterFunctionClass))
340 #define VALA_IS_INTERFACE_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_INTERFACE_REGISTER_FUNCTION))
341 #define VALA_IS_INTERFACE_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_INTERFACE_REGISTER_FUNCTION))
342 #define VALA_INTERFACE_REGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_INTERFACE_REGISTER_FUNCTION, ValaInterfaceRegisterFunctionClass))
343 
344 typedef struct _ValaInterfaceRegisterFunction ValaInterfaceRegisterFunction;
345 typedef struct _ValaInterfaceRegisterFunctionClass ValaInterfaceRegisterFunctionClass;
346 typedef struct _ValaInterfaceRegisterFunctionPrivate ValaInterfaceRegisterFunctionPrivate;
347 
348 #define VALA_TYPE_STRUCT_REGISTER_FUNCTION (vala_struct_register_function_get_type ())
349 #define VALA_STRUCT_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_STRUCT_REGISTER_FUNCTION, ValaStructRegisterFunction))
350 #define VALA_STRUCT_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_STRUCT_REGISTER_FUNCTION, ValaStructRegisterFunctionClass))
351 #define VALA_IS_STRUCT_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_STRUCT_REGISTER_FUNCTION))
352 #define VALA_IS_STRUCT_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_STRUCT_REGISTER_FUNCTION))
353 #define VALA_STRUCT_REGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_STRUCT_REGISTER_FUNCTION, ValaStructRegisterFunctionClass))
354 
355 typedef struct _ValaStructRegisterFunction ValaStructRegisterFunction;
356 typedef struct _ValaStructRegisterFunctionClass ValaStructRegisterFunctionClass;
357 typedef struct _ValaStructRegisterFunctionPrivate ValaStructRegisterFunctionPrivate;
358 
359 struct _ValaCCodeBaseModule {
360 	ValaCodeGenerator parent_instance;
361 	ValaSymbol* root_symbol;
362 	ValaCCodeBaseModuleEmitContext* emit_context;
363 	ValaCCodeLineDirective* current_line;
364 	ValaCCodeFile* header_file;
365 	ValaCCodeFile* internal_header_file;
366 	ValaCCodeFile* cfile;
367 	ValaCCodeBaseModuleEmitContext* class_init_context;
368 	ValaCCodeBaseModuleEmitContext* base_init_context;
369 	ValaCCodeBaseModuleEmitContext* class_finalize_context;
370 	ValaCCodeBaseModuleEmitContext* base_finalize_context;
371 	ValaCCodeBaseModuleEmitContext* instance_init_context;
372 	ValaCCodeBaseModuleEmitContext* instance_finalize_context;
373 	ValaCCodeStruct* param_spec_struct;
374 	ValaCCodeStruct* closure_struct;
375 	ValaCCodeEnum* prop_enum;
376 	ValaCCodeEnum* signal_enum;
377 	ValaSet* user_marshal_set;
378 	ValaSet* predefined_marshal_set;
379 	gint next_regex_id;
380 	ValaDataType* void_type;
381 	ValaDataType* bool_type;
382 	ValaDataType* char_type;
383 	ValaDataType* uchar_type;
384 	ValaDataType* unichar_type;
385 	ValaDataType* short_type;
386 	ValaDataType* ushort_type;
387 	ValaDataType* int_type;
388 	ValaDataType* uint_type;
389 	ValaDataType* long_type;
390 	ValaDataType* ulong_type;
391 	ValaDataType* int8_type;
392 	ValaDataType* uint8_type;
393 	ValaDataType* int16_type;
394 	ValaDataType* uint16_type;
395 	ValaDataType* int32_type;
396 	ValaDataType* uint32_type;
397 	ValaDataType* int64_type;
398 	ValaDataType* uint64_type;
399 	ValaDataType* size_t_type;
400 	ValaDataType* string_type;
401 	ValaDataType* regex_type;
402 	ValaDataType* float_type;
403 	ValaDataType* double_type;
404 	ValaDataType* pointer_type;
405 	ValaTypeSymbol* gtype_type;
406 	ValaTypeSymbol* gobject_type;
407 	ValaErrorType* gerror_type;
408 	ValaClass* glist_type;
409 	ValaClass* gslist_type;
410 	ValaClass* gnode_type;
411 	ValaClass* gqueue_type;
412 	ValaClass* gvaluearray_type;
413 	ValaTypeSymbol* gstringbuilder_type;
414 	ValaTypeSymbol* garray_type;
415 	ValaTypeSymbol* gbytearray_type;
416 	ValaTypeSymbol* gptrarray_type;
417 	ValaTypeSymbol* gthreadpool_type;
418 	ValaDataType* gquark_type;
419 	ValaStruct* gvalue_type;
420 	ValaClass* gvariant_type;
421 	ValaStruct* mutex_type;
422 	ValaStruct* gmutex_type;
423 	ValaStruct* grecmutex_type;
424 	ValaStruct* grwlock_type;
425 	ValaStruct* gcond_type;
426 	ValaClass* gsource_type;
427 	ValaTypeSymbol* type_module_type;
428 	ValaTypeSymbol* dbus_proxy_type;
429 	ValaClass* gtk_widget_type;
430 	ValaDataType* delegate_target_type;
431 	ValaDelegateType* delegate_target_destroy_type;
432 	gboolean in_plugin;
433 	gchar* module_init_param_name;
434 	gboolean requires_assert;
435 	gboolean requires_array_free;
436 	gboolean requires_array_move;
437 	gboolean requires_array_length;
438 	gboolean requires_array_n_elements;
439 	gboolean requires_clear_mutex;
440 	ValaSet* wrappers;
441 	ValaCCodeBaseModulePrivate * priv;
442 };
443 
444 struct _ValaCCodeBaseModuleClass {
445 	ValaCodeGeneratorClass parent_class;
446 	void (*append_vala_array_free) (ValaCCodeBaseModule* self);
447 	void (*append_vala_array_move) (ValaCCodeBaseModule* self);
448 	void (*append_vala_array_length) (ValaCCodeBaseModule* self);
449 	void (*append_params_array) (ValaCCodeBaseModule* self, ValaMethod* m);
450 	gboolean (*generate_enum_declaration) (ValaCCodeBaseModule* self, ValaEnum* en, ValaCCodeFile* decl_space);
451 	void (*generate_class_struct_declaration) (ValaCCodeBaseModule* self, ValaClass* cl, ValaCCodeFile* decl_space);
452 	void (*generate_struct_declaration) (ValaCCodeBaseModule* self, ValaStruct* st, ValaCCodeFile* decl_space);
453 	void (*generate_delegate_declaration) (ValaCCodeBaseModule* self, ValaDelegate* d, ValaCCodeFile* decl_space);
454 	void (*generate_cparameters) (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaCCodeFunction* func, ValaCCodeFunctionDeclarator* vdeclarator, ValaMap* carg_map, ValaCCodeFunctionCall* vcall, gint direction);
455 	ValaCCodeExpression* (*get_dup_func_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaSourceReference* source_reference, gboolean is_chainup);
456 	gchar* (*append_struct_array_destroy) (ValaCCodeBaseModule* self, ValaStruct* st);
457 	gchar* (*append_struct_array_free) (ValaCCodeBaseModule* self, ValaStruct* st);
458 	ValaCCodeExpression* (*destroy_value) (ValaCCodeBaseModule* self, ValaTargetValue* value, gboolean is_macro_definition);
459 	void (*append_scope_free) (ValaCCodeBaseModule* self, ValaSymbol* sym, ValaCodeNode* stop_at);
460 	ValaTargetValue* (*get_local_cvalue) (ValaCCodeBaseModule* self, ValaLocalVariable* local);
461 	ValaTargetValue* (*get_parameter_cvalue) (ValaCCodeBaseModule* self, ValaParameter* param);
462 	ValaTargetValue* (*get_field_cvalue) (ValaCCodeBaseModule* self, ValaField* field, ValaTargetValue* instance);
463 	ValaTargetValue* (*load_variable) (ValaCCodeBaseModule* self, ValaVariable* variable, ValaTargetValue* value, ValaExpression* expr);
464 	ValaTargetValue* (*load_this_parameter) (ValaCCodeBaseModule* self, ValaTypeSymbol* sym);
465 	void (*store_value) (ValaCCodeBaseModule* self, ValaTargetValue* lvalue, ValaTargetValue* value, ValaSourceReference* source_reference);
466 	gchar* (*get_delegate_target_cname) (ValaCCodeBaseModule* self, const gchar* delegate_cname);
467 	ValaCCodeExpression* (*get_delegate_target_cexpression) (ValaCCodeBaseModule* self, ValaExpression* delegate_expr, ValaCCodeExpression* * delegate_target_destroy_notify);
468 	ValaCCodeExpression* (*get_delegate_target_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value);
469 	ValaCCodeExpression* (*get_delegate_target_destroy_notify_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value);
470 	gchar* (*get_delegate_target_destroy_notify_cname) (ValaCCodeBaseModule* self, const gchar* delegate_cname);
471 	ValaTargetValue* (*copy_value) (ValaCCodeBaseModule* self, ValaTargetValue* value, ValaCodeNode* node);
472 	void (*generate_class_declaration) (ValaCCodeBaseModule* self, ValaClass* cl, ValaCCodeFile* decl_space);
473 	void (*generate_interface_declaration) (ValaCCodeBaseModule* self, ValaInterface* iface, ValaCCodeFile* decl_space);
474 	gboolean (*generate_method_declaration) (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space);
475 	void (*generate_error_domain_declaration) (ValaCCodeBaseModule* self, ValaErrorDomain* edomain, ValaCCodeFile* decl_space);
476 	ValaCCodeExpression* (*deserialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* variant_expr, ValaCCodeExpression* expr, ValaCCodeExpression* error_expr, gboolean* may_fail);
477 	ValaCCodeExpression* (*serialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* expr);
478 	ValaCCodeExpression* (*get_implicit_cast_expression) (ValaCCodeBaseModule* self, ValaCCodeExpression* source_cexpr, ValaDataType* expression_type, ValaDataType* target_type, ValaCodeNode* node);
479 	void (*create_type_check_statement) (ValaCCodeBaseModule* self, ValaCodeNode* method_node, ValaDataType* ret_type, ValaTypeSymbol* t, gboolean non_null, const gchar* var_name);
480 	void (*generate_dynamic_method_wrapper) (ValaCCodeBaseModule* self, ValaDynamicMethod* method);
481 	gboolean (*method_has_wrapper) (ValaCCodeBaseModule* self, ValaMethod* method);
482 	ValaCCodeExpression* (*get_param_spec_cexpression) (ValaCCodeBaseModule* self, ValaProperty* prop);
483 	ValaCCodeExpression* (*get_param_spec) (ValaCCodeBaseModule* self, ValaProperty* prop);
484 	ValaCCodeExpression* (*get_signal_creation) (ValaCCodeBaseModule* self, ValaSignal* sig, ValaObjectTypeSymbol* type);
485 	ValaCCodeExpression* (*get_value_getter_function) (ValaCCodeBaseModule* self, ValaDataType* type_reference);
486 	ValaCCodeExpression* (*get_value_setter_function) (ValaCCodeBaseModule* self, ValaDataType* type_reference);
487 	ValaCCodeExpression* (*get_value_taker_function) (ValaCCodeBaseModule* self, ValaDataType* type_reference);
488 	void (*register_dbus_info) (ValaCCodeBaseModule* self, ValaCCodeBlock* block, ValaObjectTypeSymbol* bindable);
489 	gchar* (*get_dynamic_property_getter_cname) (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
490 	gchar* (*get_dynamic_property_setter_cname) (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
491 	gchar* (*get_dynamic_signal_cname) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
492 	gchar* (*get_dynamic_signal_connect_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
493 	gchar* (*get_dynamic_signal_connect_after_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
494 	gchar* (*get_dynamic_signal_disconnect_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
495 	gchar* (*get_array_length_cname) (ValaCCodeBaseModule* self, const gchar* array_cname, gint dim);
496 	gchar* (*get_variable_array_length_cname) (ValaCCodeBaseModule* self, ValaVariable* variable, gint dim);
497 	ValaCCodeExpression* (*get_array_length_cexpression) (ValaCCodeBaseModule* self, ValaExpression* array_expr, gint dim);
498 	ValaCCodeExpression* (*get_array_length_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value, gint dim);
499 	gchar* (*get_array_size_cname) (ValaCCodeBaseModule* self, const gchar* array_cname);
500 	void (*add_simple_check) (ValaCCodeBaseModule* self, ValaCodeNode* node, gboolean always_fails);
501 	gchar* (*generate_ready_function) (ValaCCodeBaseModule* self, ValaMethod* m);
502 };
503 
504 struct _ValaCCodeStructModule {
505 	ValaCCodeBaseModule parent_instance;
506 	ValaCCodeStructModulePrivate * priv;
507 };
508 
509 struct _ValaCCodeStructModuleClass {
510 	ValaCCodeBaseModuleClass parent_class;
511 };
512 
513 struct _ValaCCodeMethodModule {
514 	ValaCCodeStructModule parent_instance;
515 	ValaCCodeMethodModulePrivate * priv;
516 };
517 
518 struct _ValaCCodeMethodModuleClass {
519 	ValaCCodeStructModuleClass parent_class;
520 	void (*generate_method_result_declaration) (ValaCCodeMethodModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaCCodeFunction* cfunc, ValaMap* cparam_map, ValaMap* carg_map);
521 	ValaCCodeParameter* (*generate_parameter) (ValaCCodeMethodModule* self, ValaParameter* param, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaMap* carg_map);
522 };
523 
524 struct _ValaCCodeControlFlowModule {
525 	ValaCCodeMethodModule parent_instance;
526 	ValaCCodeControlFlowModulePrivate * priv;
527 };
528 
529 struct _ValaCCodeControlFlowModuleClass {
530 	ValaCCodeMethodModuleClass parent_class;
531 };
532 
533 struct _ValaCCodeMemberAccessModule {
534 	ValaCCodeControlFlowModule parent_instance;
535 	ValaCCodeMemberAccessModulePrivate * priv;
536 };
537 
538 struct _ValaCCodeMemberAccessModuleClass {
539 	ValaCCodeControlFlowModuleClass parent_class;
540 };
541 
542 struct _ValaCCodeAssignmentModule {
543 	ValaCCodeMemberAccessModule parent_instance;
544 	ValaCCodeAssignmentModulePrivate * priv;
545 };
546 
547 struct _ValaCCodeAssignmentModuleClass {
548 	ValaCCodeMemberAccessModuleClass parent_class;
549 };
550 
551 struct _ValaCCodeMethodCallModule {
552 	ValaCCodeAssignmentModule parent_instance;
553 	ValaCCodeMethodCallModulePrivate * priv;
554 };
555 
556 struct _ValaCCodeMethodCallModuleClass {
557 	ValaCCodeAssignmentModuleClass parent_class;
558 };
559 
560 struct _ValaCCodeArrayModule {
561 	ValaCCodeMethodCallModule parent_instance;
562 	ValaCCodeArrayModulePrivate * priv;
563 };
564 
565 struct _ValaCCodeArrayModuleClass {
566 	ValaCCodeMethodCallModuleClass parent_class;
567 };
568 
569 struct _ValaCCodeAttribute {
570 	ValaAttributeCache parent_instance;
571 	ValaCCodeAttributePrivate * priv;
572 };
573 
574 struct _ValaCCodeAttributeClass {
575 	ValaAttributeCacheClass parent_class;
576 };
577 
578 struct _ValaCCodeBaseModuleEmitContext {
579 	GTypeInstance parent_instance;
580 	volatile int ref_count;
581 	ValaSymbol* current_symbol;
582 	ValaArrayList* symbol_stack;
583 	ValaTryStatement* current_try;
584 	gint current_try_id;
585 	gint next_try_id;
586 	ValaCatchClause* current_catch;
587 	ValaCCodeFunction* ccode;
588 	ValaArrayList* ccode_stack;
589 	ValaArrayList* temp_ref_values;
590 	gint next_temp_var_id;
591 	gint current_inner_error_id;
592 	gboolean current_method_inner_error;
593 	gboolean current_method_return;
594 	gint next_coroutine_state;
595 	ValaMap* variable_name_map;
596 	ValaMap* closure_variable_count_map;
597 	ValaMap* closure_variable_clash_map;
598 	gboolean is_in_method_precondition;
599 	ValaCCodeBaseModuleEmitContextPrivate * priv;
600 };
601 
602 struct _ValaCCodeBaseModuleEmitContextClass {
603 	GTypeClass parent_class;
604 	void (*finalize) (ValaCCodeBaseModuleEmitContext *self);
605 };
606 
607 struct _ValaCCodeCompiler {
608 	GTypeInstance parent_instance;
609 	volatile int ref_count;
610 	ValaCCodeCompilerPrivate * priv;
611 };
612 
613 struct _ValaCCodeCompilerClass {
614 	GTypeClass parent_class;
615 	void (*finalize) (ValaCCodeCompiler *self);
616 };
617 
618 struct _ValaCCodeDelegateModule {
619 	ValaCCodeArrayModule parent_instance;
620 	ValaCCodeDelegateModulePrivate * priv;
621 };
622 
623 struct _ValaCCodeDelegateModuleClass {
624 	ValaCCodeArrayModuleClass parent_class;
625 };
626 
627 struct _ValaTypeRegisterFunction {
628 	GTypeInstance parent_instance;
629 	volatile int ref_count;
630 	ValaTypeRegisterFunctionPrivate * priv;
631 };
632 
633 struct _ValaTypeRegisterFunctionClass {
634 	GTypeClass parent_class;
635 	void (*finalize) (ValaTypeRegisterFunction *self);
636 	ValaTypeSymbol* (*get_type_declaration) (ValaTypeRegisterFunction* self);
637 	gchar* (*get_type_struct_name) (ValaTypeRegisterFunction* self);
638 	gchar* (*get_base_init_func_name) (ValaTypeRegisterFunction* self);
639 	gchar* (*get_class_finalize_func_name) (ValaTypeRegisterFunction* self);
640 	gchar* (*get_base_finalize_func_name) (ValaTypeRegisterFunction* self);
641 	gchar* (*get_class_init_func_name) (ValaTypeRegisterFunction* self);
642 	gchar* (*get_instance_struct_size) (ValaTypeRegisterFunction* self);
643 	gchar* (*get_instance_init_func_name) (ValaTypeRegisterFunction* self);
644 	gchar* (*get_parent_type_name) (ValaTypeRegisterFunction* self);
645 	gchar* (*get_gtype_value_table_init_function_name) (ValaTypeRegisterFunction* self);
646 	gchar* (*get_gtype_value_table_peek_pointer_function_name) (ValaTypeRegisterFunction* self);
647 	gchar* (*get_gtype_value_table_free_function_name) (ValaTypeRegisterFunction* self);
648 	gchar* (*get_gtype_value_table_copy_function_name) (ValaTypeRegisterFunction* self);
649 	gchar* (*get_gtype_value_table_lcopy_value_function_name) (ValaTypeRegisterFunction* self);
650 	gchar* (*get_gtype_value_table_collect_value_function_name) (ValaTypeRegisterFunction* self);
651 	gchar* (*get_type_flags) (ValaTypeRegisterFunction* self);
652 	ValaCCodeFragment* (*get_type_interface_init_declaration) (ValaTypeRegisterFunction* self);
653 	void (*get_type_interface_init_statements) (ValaTypeRegisterFunction* self, ValaCodeContext* context, ValaCCodeBlock* block, gboolean plugin);
654 	ValaSymbolAccessibility (*get_accessibility) (ValaTypeRegisterFunction* self);
655 };
656 
657 struct _ValaClassRegisterFunction {
658 	ValaTypeRegisterFunction parent_instance;
659 	ValaClassRegisterFunctionPrivate * priv;
660 };
661 
662 struct _ValaClassRegisterFunctionClass {
663 	ValaTypeRegisterFunctionClass parent_class;
664 };
665 
666 struct _ValaCType {
667 	ValaDataType parent_instance;
668 	ValaCTypePrivate * priv;
669 };
670 
671 struct _ValaCTypeClass {
672 	ValaDataTypeClass parent_class;
673 };
674 
675 struct _ValaEnumRegisterFunction {
676 	ValaTypeRegisterFunction parent_instance;
677 	ValaEnumRegisterFunctionPrivate * priv;
678 };
679 
680 struct _ValaEnumRegisterFunctionClass {
681 	ValaTypeRegisterFunctionClass parent_class;
682 };
683 
684 struct _ValaGErrorModule {
685 	ValaCCodeDelegateModule parent_instance;
686 	ValaGErrorModulePrivate * priv;
687 };
688 
689 struct _ValaGErrorModuleClass {
690 	ValaCCodeDelegateModuleClass parent_class;
691 	void (*return_with_exception) (ValaGErrorModule* self, ValaCCodeExpression* error_expr);
692 };
693 
694 struct _ValaGTypeModule {
695 	ValaGErrorModule parent_instance;
696 	ValaGTypeModulePrivate * priv;
697 };
698 
699 struct _ValaGTypeModuleClass {
700 	ValaGErrorModuleClass parent_class;
701 	void (*generate_virtual_method_declaration) (ValaGTypeModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaCCodeStruct* type_struct);
702 	void (*generate_class_init) (ValaGTypeModule* self, ValaClass* cl);
703 	void (*end_instance_init) (ValaGTypeModule* self, ValaClass* cl);
704 };
705 
706 struct _ValaGObjectModule {
707 	ValaGTypeModule parent_instance;
708 	ValaGObjectModulePrivate * priv;
709 };
710 
711 struct _ValaGObjectModuleClass {
712 	ValaGTypeModuleClass parent_class;
713 };
714 
715 struct _ValaGSignalModule {
716 	ValaGObjectModule parent_instance;
717 	ValaGSignalModulePrivate * priv;
718 };
719 
720 struct _ValaGSignalModuleClass {
721 	ValaGObjectModuleClass parent_class;
722 };
723 
724 struct _ValaGtkModule {
725 	ValaGSignalModule parent_instance;
726 	ValaGtkModulePrivate * priv;
727 };
728 
729 struct _ValaGtkModuleClass {
730 	ValaGSignalModuleClass parent_class;
731 };
732 
733 struct _ValaGAsyncModule {
734 	ValaGtkModule parent_instance;
735 	ValaGAsyncModulePrivate * priv;
736 };
737 
738 struct _ValaGAsyncModuleClass {
739 	ValaGtkModuleClass parent_class;
740 };
741 
742 struct _ValaGValueModule {
743 	ValaGAsyncModule parent_instance;
744 	ValaGValueModulePrivate * priv;
745 };
746 
747 struct _ValaGValueModuleClass {
748 	ValaGAsyncModuleClass parent_class;
749 };
750 
751 struct _ValaGVariantModule {
752 	ValaGValueModule parent_instance;
753 	ValaGVariantModulePrivate * priv;
754 };
755 
756 struct _ValaGVariantModuleClass {
757 	ValaGValueModuleClass parent_class;
758 };
759 
760 struct _ValaGDBusModule {
761 	ValaGVariantModule parent_instance;
762 	ValaGDBusModulePrivate * priv;
763 };
764 
765 struct _ValaGDBusModuleClass {
766 	ValaGVariantModuleClass parent_class;
767 };
768 
769 struct _ValaGDBusClientModule {
770 	ValaGDBusModule parent_instance;
771 	ValaGDBusClientModulePrivate * priv;
772 };
773 
774 struct _ValaGDBusClientModuleClass {
775 	ValaGDBusModuleClass parent_class;
776 };
777 
778 struct _ValaGDBusServerModule {
779 	ValaGDBusClientModule parent_instance;
780 	ValaGDBusServerModulePrivate * priv;
781 };
782 
783 struct _ValaGDBusServerModuleClass {
784 	ValaGDBusClientModuleClass parent_class;
785 };
786 
787 struct _ValaGIRWriter {
788 	ValaCodeVisitor parent_instance;
789 	ValaGIRWriterPrivate * priv;
790 };
791 
792 struct _ValaGIRWriterClass {
793 	ValaCodeVisitorClass parent_class;
794 	gchar* (*get_interface_comment) (ValaGIRWriter* self, ValaInterface* iface);
795 	gchar* (*get_struct_comment) (ValaGIRWriter* self, ValaStruct* st);
796 	gchar* (*get_enum_comment) (ValaGIRWriter* self, ValaEnum* en);
797 	gchar* (*get_class_comment) (ValaGIRWriter* self, ValaClass* c);
798 	gchar* (*get_error_code_comment) (ValaGIRWriter* self, ValaErrorCode* ecode);
799 	gchar* (*get_enum_value_comment) (ValaGIRWriter* self, ValaEnumValue* ev);
800 	gchar* (*get_constant_comment) (ValaGIRWriter* self, ValaConstant* c);
801 	gchar* (*get_error_domain_comment) (ValaGIRWriter* self, ValaErrorDomain* edomain);
802 	gchar* (*get_field_comment) (ValaGIRWriter* self, ValaField* f);
803 	gchar* (*get_delegate_comment) (ValaGIRWriter* self, ValaDelegate* cb);
804 	gchar* (*get_method_comment) (ValaGIRWriter* self, ValaMethod* m);
805 	gchar* (*get_property_comment) (ValaGIRWriter* self, ValaProperty* prop);
806 	gchar* (*get_delegate_return_comment) (ValaGIRWriter* self, ValaDelegate* cb);
807 	gchar* (*get_signal_return_comment) (ValaGIRWriter* self, ValaSignal* sig);
808 	gchar* (*get_method_return_comment) (ValaGIRWriter* self, ValaMethod* m);
809 	gchar* (*get_signal_comment) (ValaGIRWriter* self, ValaSignal* sig);
810 	gchar* (*get_parameter_comment) (ValaGIRWriter* self, ValaParameter* param);
811 };
812 
813 struct _ValaGLibValue {
814 	ValaTargetValue parent_instance;
815 	ValaCCodeExpression* cvalue;
816 	gboolean lvalue;
817 	gboolean non_null;
818 	gchar* ctype;
819 	ValaList* array_length_cvalues;
820 	ValaCCodeExpression* array_size_cvalue;
821 	gboolean array_null_terminated;
822 	ValaCCodeExpression* array_length_cexpr;
823 	ValaCCodeExpression* delegate_target_cvalue;
824 	ValaCCodeExpression* delegate_target_destroy_notify_cvalue;
825 	ValaGLibValuePrivate * priv;
826 };
827 
828 struct _ValaGLibValueClass {
829 	ValaTargetValueClass parent_class;
830 };
831 
832 struct _ValaInterfaceRegisterFunction {
833 	ValaTypeRegisterFunction parent_instance;
834 	ValaInterfaceRegisterFunctionPrivate * priv;
835 };
836 
837 struct _ValaInterfaceRegisterFunctionClass {
838 	ValaTypeRegisterFunctionClass parent_class;
839 };
840 
841 struct _ValaStructRegisterFunction {
842 	ValaTypeRegisterFunction parent_instance;
843 	ValaStructRegisterFunctionPrivate * priv;
844 };
845 
846 struct _ValaStructRegisterFunctionClass {
847 	ValaTypeRegisterFunctionClass parent_class;
848 };
849 
850 gchar* vala_get_ccode_name (ValaCodeNode* node);
851 gchar* vala_get_ccode_const_name (ValaCodeNode* node);
852 gchar* vala_get_ccode_type_name (ValaObjectTypeSymbol* sym);
853 gchar* vala_get_ccode_type_cast_function (ValaObjectTypeSymbol* sym);
854 gchar* vala_get_ccode_type_get_function (ValaObjectTypeSymbol* sym);
855 gchar* vala_get_ccode_class_get_private_function (ValaClass* cl);
856 gchar* vala_get_ccode_class_type_function (ValaClass* cl);
857 gchar* vala_get_ccode_lower_case_name (ValaCodeNode* node,
858                                        const gchar* infix);
859 gchar* vala_get_ccode_upper_case_name (ValaSymbol* sym,
860                                        const gchar* infix);
861 gchar* vala_get_ccode_header_filenames (ValaSymbol* sym);
862 gchar* vala_get_ccode_feature_test_macros (ValaSymbol* sym);
863 gchar* vala_get_ccode_prefix (ValaSymbol* sym);
864 gchar* vala_get_ccode_lower_case_prefix (ValaSymbol* sym);
865 gchar* vala_get_ccode_lower_case_suffix (ValaSymbol* sym);
866 gchar* vala_get_ccode_ref_function (ValaTypeSymbol* sym);
867 gchar* vala_get_ccode_quark_name (ValaErrorDomain* edomain);
868 gboolean vala_is_reference_counting (ValaTypeSymbol* sym);
869 gboolean vala_is_ref_function_void (ValaDataType* type);
870 gboolean vala_is_free_function_address_of (ValaDataType* type);
871 gboolean vala_get_ccode_ref_function_void (ValaClass* cl);
872 gboolean vala_get_ccode_free_function_address_of (ValaClass* cl);
873 gchar* vala_get_ccode_unref_function (ValaObjectTypeSymbol* sym);
874 gchar* vala_get_ccode_ref_sink_function (ValaObjectTypeSymbol* sym);
875 gchar* vala_get_ccode_copy_function (ValaTypeSymbol* sym);
876 gchar* vala_get_ccode_destroy_function (ValaTypeSymbol* sym);
877 gchar* vala_get_ccode_dup_function (ValaTypeSymbol* sym);
878 gchar* vala_get_ccode_free_function (ValaTypeSymbol* sym);
879 gboolean vala_get_ccode_is_gboxed (ValaTypeSymbol* sym);
880 gboolean vala_get_ccode_finish_instance (ValaMethod* m);
881 gchar* vala_get_ccode_type_id (ValaCodeNode* node);
882 gchar* vala_get_ccode_type_function (ValaTypeSymbol* sym);
883 gchar* vala_get_ccode_marshaller_type_name (ValaCodeNode* node);
884 gchar* vala_get_ccode_get_value_function (ValaCodeNode* sym);
885 gchar* vala_get_ccode_set_value_function (ValaCodeNode* sym);
886 gchar* vala_get_ccode_take_value_function (ValaCodeNode* sym);
887 gchar* vala_get_ccode_param_spec_function (ValaCodeNode* sym);
888 gchar* vala_get_ccode_type_check_function (ValaTypeSymbol* sym);
889 gchar* vala_get_ccode_class_type_check_function (ValaClass* cl);
890 gchar* vala_get_ccode_default_value (ValaTypeSymbol* sym);
891 gchar* vala_get_ccode_default_value_on_error (ValaTypeSymbol* sym);
892 gboolean vala_get_ccode_has_copy_function (ValaStruct* st);
893 gboolean vala_get_ccode_has_destroy_function (ValaStruct* st);
894 gdouble vala_get_ccode_instance_pos (ValaCodeNode* node);
895 gdouble vala_get_ccode_error_pos (ValaCallable* c);
896 gboolean vala_get_ccode_array_length (ValaCodeNode* node);
897 gchar* vala_get_ccode_array_length_type (ValaCodeNode* node);
898 gboolean vala_get_ccode_array_null_terminated (ValaCodeNode* node);
899 gchar* vala_get_ccode_array_length_name (ValaCodeNode* node);
900 gchar* vala_get_ccode_array_length_expr (ValaCodeNode* node);
901 gdouble vala_get_ccode_array_length_pos (ValaCodeNode* node);
902 gdouble vala_get_ccode_delegate_target_pos (ValaCodeNode* node);
903 gdouble vala_get_ccode_destroy_notify_pos (ValaCodeNode* node);
904 gboolean vala_get_ccode_delegate_target (ValaCodeNode* node);
905 gchar* vala_get_ccode_delegate_target_name (ValaVariable* variable);
906 gchar* vala_get_ccode_delegate_target_destroy_notify_name (ValaVariable* variable);
907 gdouble vala_get_ccode_pos (ValaParameter* param);
908 gchar* vala_get_ccode_type (ValaCodeNode* node);
909 gboolean vala_get_ccode_simple_generics (ValaMethod* m);
910 gchar* vala_get_ccode_real_name (ValaSymbol* sym);
911 gchar* vala_get_ccode_constructv_name (ValaCreationMethod* m);
912 gchar* vala_get_ccode_vfunc_name (ValaMethod* m);
913 gdouble vala_get_ccode_async_result_pos (ValaMethod* m);
914 gchar* vala_get_ccode_finish_name (ValaMethod* m);
915 gchar* vala_get_ccode_finish_vfunc_name (ValaMethod* m);
916 gchar* vala_get_ccode_finish_real_name (ValaMethod* m);
917 gboolean vala_get_ccode_no_accessor_method (ValaProperty* p);
918 gboolean vala_get_ccode_concrete_accessor (ValaProperty* p);
919 gboolean vala_get_ccode_has_emitter (ValaSignal* sig);
920 gboolean vala_get_ccode_has_type_id (ValaTypeSymbol* sym);
921 gboolean vala_get_ccode_has_new_function (ValaMethod* m);
922 gboolean vala_get_ccode_has_generic_type_parameter (ValaMethod* m);
923 gdouble vala_get_ccode_generic_type_pos (ValaMethod* m);
924 gboolean vala_get_ccode_no_wrapper (ValaMethod* m);
925 gchar* vala_get_ccode_sentinel (ValaMethod* m);
926 GType vala_ccode_base_module_get_type (void) G_GNUC_CONST;
927 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeBaseModule, vala_code_visitor_unref)
928 gpointer vala_ccode_base_module_emit_context_ref (gpointer instance);
929 void vala_ccode_base_module_emit_context_unref (gpointer instance);
930 GParamSpec* vala_ccode_base_module_param_spec_emit_context (const gchar* name,
931                                                             const gchar* nick,
932                                                             const gchar* blurb,
933                                                             GType object_type,
934                                                             GParamFlags flags);
935 void vala_ccode_base_module_value_set_emit_context (GValue* value,
936                                                     gpointer v_object);
937 void vala_ccode_base_module_value_take_emit_context (GValue* value,
938                                                      gpointer v_object);
939 gpointer vala_ccode_base_module_value_get_emit_context (const GValue* value);
940 GType vala_ccode_base_module_emit_context_get_type (void) G_GNUC_CONST;
941 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeBaseModuleEmitContext, vala_ccode_base_module_emit_context_unref)
942 GType vala_ccode_struct_module_get_type (void) G_GNUC_CONST;
943 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeStructModule, vala_code_visitor_unref)
944 GType vala_ccode_method_module_get_type (void) G_GNUC_CONST;
945 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeMethodModule, vala_code_visitor_unref)
946 GType vala_ccode_control_flow_module_get_type (void) G_GNUC_CONST;
947 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeControlFlowModule, vala_code_visitor_unref)
948 GType vala_ccode_member_access_module_get_type (void) G_GNUC_CONST;
949 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeMemberAccessModule, vala_code_visitor_unref)
950 GType vala_ccode_assignment_module_get_type (void) G_GNUC_CONST;
951 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeAssignmentModule, vala_code_visitor_unref)
952 GType vala_ccode_method_call_module_get_type (void) G_GNUC_CONST;
953 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeMethodCallModule, vala_code_visitor_unref)
954 GType vala_ccode_array_module_get_type (void) G_GNUC_CONST;
955 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeArrayModule, vala_code_visitor_unref)
956 ValaCCodeArrayModule* vala_ccode_array_module_new (void);
957 ValaCCodeArrayModule* vala_ccode_array_module_construct (GType object_type);
958 ValaCCodeAssignmentModule* vala_ccode_assignment_module_new (void);
959 ValaCCodeAssignmentModule* vala_ccode_assignment_module_construct (GType object_type);
960 GType vala_ccode_attribute_get_type (void) G_GNUC_CONST;
961 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeAttribute, vala_attribute_cache_unref)
962 const gchar* vala_ccode_attribute_get_name (ValaCCodeAttribute* self);
963 const gchar* vala_ccode_attribute_get_const_name (ValaCCodeAttribute* self);
964 const gchar* vala_ccode_attribute_get_type_name (ValaCCodeAttribute* self);
965 const gchar* vala_ccode_attribute_get_feature_test_macros (ValaCCodeAttribute* self);
966 const gchar* vala_ccode_attribute_get_header_filenames (ValaCCodeAttribute* self);
967 const gchar* vala_ccode_attribute_get_prefix (ValaCCodeAttribute* self);
968 const gchar* vala_ccode_attribute_get_lower_case_prefix (ValaCCodeAttribute* self);
969 const gchar* vala_ccode_attribute_get_lower_case_suffix (ValaCCodeAttribute* self);
970 const gchar* vala_ccode_attribute_get_ref_function (ValaCCodeAttribute* self);
971 gboolean vala_ccode_attribute_get_ref_function_void (ValaCCodeAttribute* self);
972 const gchar* vala_ccode_attribute_get_unref_function (ValaCCodeAttribute* self);
973 const gchar* vala_ccode_attribute_get_ref_sink_function (ValaCCodeAttribute* self);
974 const gchar* vala_ccode_attribute_get_copy_function (ValaCCodeAttribute* self);
975 const gchar* vala_ccode_attribute_get_destroy_function (ValaCCodeAttribute* self);
976 const gchar* vala_ccode_attribute_get_dup_function (ValaCCodeAttribute* self);
977 const gchar* vala_ccode_attribute_get_free_function (ValaCCodeAttribute* self);
978 gboolean vala_ccode_attribute_get_free_function_address_of (ValaCCodeAttribute* self);
979 const gchar* vala_ccode_attribute_get_ctype (ValaCCodeAttribute* self);
980 const gchar* vala_ccode_attribute_get_type_id (ValaCCodeAttribute* self);
981 const gchar* vala_ccode_attribute_get_marshaller_type_name (ValaCCodeAttribute* self);
982 const gchar* vala_ccode_attribute_get_get_value_function (ValaCCodeAttribute* self);
983 const gchar* vala_ccode_attribute_get_set_value_function (ValaCCodeAttribute* self);
984 const gchar* vala_ccode_attribute_get_take_value_function (ValaCCodeAttribute* self);
985 const gchar* vala_ccode_attribute_get_param_spec_function (ValaCCodeAttribute* self);
986 const gchar* vala_ccode_attribute_get_default_value (ValaCCodeAttribute* self);
987 const gchar* vala_ccode_attribute_get_default_value_on_error (ValaCCodeAttribute* self);
988 gdouble vala_ccode_attribute_get_pos (ValaCCodeAttribute* self);
989 const gchar* vala_ccode_attribute_get_real_name (ValaCCodeAttribute* self);
990 const gchar* vala_ccode_attribute_get_vfunc_name (ValaCCodeAttribute* self);
991 const gchar* vala_ccode_attribute_get_finish_name (ValaCCodeAttribute* self);
992 const gchar* vala_ccode_attribute_get_finish_vfunc_name (ValaCCodeAttribute* self);
993 const gchar* vala_ccode_attribute_get_finish_real_name (ValaCCodeAttribute* self);
994 gboolean vala_ccode_attribute_get_finish_instance (ValaCCodeAttribute* self);
995 gboolean vala_ccode_attribute_get_delegate_target (ValaCCodeAttribute* self);
996 const gchar* vala_ccode_attribute_get_delegate_target_name (ValaCCodeAttribute* self);
997 const gchar* vala_ccode_attribute_get_delegate_target_destroy_notify_name (ValaCCodeAttribute* self);
998 gboolean vala_ccode_attribute_get_array_length (ValaCCodeAttribute* self);
999 gboolean vala_ccode_attribute_get_array_null_terminated (ValaCCodeAttribute* self);
1000 const gchar* vala_ccode_attribute_get_array_length_type (ValaCCodeAttribute* self);
1001 const gchar* vala_ccode_attribute_get_sentinel (ValaCCodeAttribute* self);
1002 const gchar* vala_ccode_attribute_get_array_length_name (ValaCCodeAttribute* self);
1003 const gchar* vala_ccode_attribute_get_array_length_expr (ValaCCodeAttribute* self);
1004 ValaCCodeAttribute* vala_ccode_attribute_new (ValaCodeNode* node);
1005 ValaCCodeAttribute* vala_ccode_attribute_construct (GType object_type,
1006                                                     ValaCodeNode* node);
1007 ValaCodeContext* vala_ccode_base_module_get_context (ValaCCodeBaseModule* self);
1008 void vala_ccode_base_module_set_context (ValaCCodeBaseModule* self,
1009                                          ValaCodeContext* value);
1010 ValaSymbol* vala_ccode_base_module_get_current_symbol (ValaCCodeBaseModule* self);
1011 ValaTryStatement* vala_ccode_base_module_get_current_try (ValaCCodeBaseModule* self);
1012 void vala_ccode_base_module_set_current_try (ValaCCodeBaseModule* self,
1013                                              ValaTryStatement* value);
1014 gint vala_ccode_base_module_get_current_try_id (ValaCCodeBaseModule* self);
1015 void vala_ccode_base_module_set_current_try_id (ValaCCodeBaseModule* self,
1016                                                 gint value);
1017 gint vala_ccode_base_module_get_next_try_id (ValaCCodeBaseModule* self);
1018 void vala_ccode_base_module_set_next_try_id (ValaCCodeBaseModule* self,
1019                                              gint value);
1020 ValaCatchClause* vala_ccode_base_module_get_current_catch (ValaCCodeBaseModule* self);
1021 void vala_ccode_base_module_set_current_catch (ValaCCodeBaseModule* self,
1022                                                ValaCatchClause* value);
1023 gint vala_ccode_base_module_get_current_inner_error_id (ValaCCodeBaseModule* self);
1024 void vala_ccode_base_module_set_current_inner_error_id (ValaCCodeBaseModule* self,
1025                                                         gint value);
1026 gboolean vala_ccode_base_module_get_is_in_method_precondition (ValaCCodeBaseModule* self);
1027 void vala_ccode_base_module_set_is_in_method_precondition (ValaCCodeBaseModule* self,
1028                                                            gboolean value);
1029 ValaTypeSymbol* vala_ccode_base_module_get_current_type_symbol (ValaCCodeBaseModule* self);
1030 ValaClass* vala_ccode_base_module_get_current_class (ValaCCodeBaseModule* self);
1031 ValaMethod* vala_ccode_base_module_get_current_method (ValaCCodeBaseModule* self);
1032 ValaPropertyAccessor* vala_ccode_base_module_get_current_property_accessor (ValaCCodeBaseModule* self);
1033 ValaConstructor* vala_ccode_base_module_get_current_constructor (ValaCCodeBaseModule* self);
1034 ValaDestructor* vala_ccode_base_module_get_current_destructor (ValaCCodeBaseModule* self);
1035 ValaDataType* vala_ccode_base_module_get_current_return_type (ValaCCodeBaseModule* self);
1036 gboolean vala_ccode_base_module_is_in_coroutine (ValaCCodeBaseModule* self);
1037 gboolean vala_ccode_base_module_is_in_constructor (ValaCCodeBaseModule* self);
1038 gboolean vala_ccode_base_module_is_in_destructor (ValaCCodeBaseModule* self);
1039 ValaBlock* vala_ccode_base_module_get_current_closure_block (ValaCCodeBaseModule* self);
1040 ValaBlock* vala_ccode_base_module_next_closure_block (ValaCCodeBaseModule* self,
1041                                                       ValaSymbol* sym);
1042 ValaCCodeFunction* vala_ccode_base_module_get_ccode (ValaCCodeBaseModule* self);
1043 ValaArrayList* vala_ccode_base_module_get_temp_ref_values (ValaCCodeBaseModule* self);
1044 extern ValaSet* vala_ccode_base_module_reserved_identifiers;
1045 gint vala_ccode_base_module_get_next_temp_var_id (ValaCCodeBaseModule* self);
1046 void vala_ccode_base_module_set_next_temp_var_id (ValaCCodeBaseModule* self,
1047                                                   gint value);
1048 gboolean vala_ccode_base_module_get_in_creation_method (ValaCCodeBaseModule* self);
1049 gboolean vala_ccode_base_module_get_current_method_inner_error (ValaCCodeBaseModule* self);
1050 void vala_ccode_base_module_set_current_method_inner_error (ValaCCodeBaseModule* self,
1051                                                             gboolean value);
1052 gboolean vala_ccode_base_module_get_current_method_return (ValaCCodeBaseModule* self);
1053 void vala_ccode_base_module_set_current_method_return (ValaCCodeBaseModule* self,
1054                                                        gboolean value);
1055 ValaMap* vala_ccode_base_module_get_variable_name_map (ValaCCodeBaseModule* self);
1056 extern gint vala_ccode_base_module_ccode_attribute_cache_index;
1057 ValaCCodeBaseModule* vala_ccode_base_module_construct (GType object_type);
1058 void vala_ccode_base_module_push_context (ValaCCodeBaseModule* self,
1059                                           ValaCCodeBaseModuleEmitContext* emit_context);
1060 void vala_ccode_base_module_pop_context (ValaCCodeBaseModule* self);
1061 void vala_ccode_base_module_push_line (ValaCCodeBaseModule* self,
1062                                        ValaSourceReference* source_reference);
1063 void vala_ccode_base_module_pop_line (ValaCCodeBaseModule* self);
1064 void vala_ccode_base_module_push_function (ValaCCodeBaseModule* self,
1065                                            ValaCCodeFunction* func);
1066 void vala_ccode_base_module_pop_function (ValaCCodeBaseModule* self);
1067 gboolean vala_ccode_base_module_add_symbol_declaration (ValaCCodeBaseModule* self,
1068                                                         ValaCCodeFile* decl_space,
1069                                                         ValaSymbol* sym,
1070                                                         const gchar* name);
1071 void vala_ccode_base_module_append_vala_array_free (ValaCCodeBaseModule* self);
1072 void vala_ccode_base_module_append_vala_array_move (ValaCCodeBaseModule* self);
1073 void vala_ccode_base_module_append_vala_array_length (ValaCCodeBaseModule* self);
1074 void vala_ccode_base_module_append_params_array (ValaCCodeBaseModule* self,
1075                                                  ValaMethod* m);
1076 void vala_ccode_base_module_append_vala_clear_mutex (ValaCCodeBaseModule* self,
1077                                                      const gchar* typename,
1078                                                      const gchar* funcprefix);
1079 gboolean vala_ccode_base_module_generate_enum_declaration (ValaCCodeBaseModule* self,
1080                                                            ValaEnum* en,
1081                                                            ValaCCodeFile* decl_space);
1082 void vala_ccode_base_module_visit_member (ValaCCodeBaseModule* self,
1083                                           ValaSymbol* m);
1084 void vala_ccode_base_module_generate_constant_declaration (ValaCCodeBaseModule* self,
1085                                                            ValaConstant* c,
1086                                                            ValaCCodeFile* decl_space,
1087                                                            gboolean definition);
1088 void vala_ccode_base_module_append_field (ValaCCodeBaseModule* self,
1089                                           ValaCCodeStruct* ccode_struct,
1090                                           ValaField* f,
1091                                           ValaCCodeFile* decl_space);
1092 void vala_ccode_base_module_generate_field_declaration (ValaCCodeBaseModule* self,
1093                                                         ValaField* f,
1094                                                         ValaCCodeFile* decl_space);
1095 gboolean vala_ccode_base_module_is_constant_ccode_expression (ValaCCodeExpression* cexpr);
1096 gboolean vala_ccode_base_module_is_constant_ccode (ValaCodeNode* expr);
1097 gboolean vala_ccode_base_module_is_pure_ccode_expression (ValaCCodeExpression* cexpr);
1098 void vala_ccode_base_module_generate_type_declaration (ValaCCodeBaseModule* self,
1099                                                        ValaDataType* type,
1100                                                        ValaCCodeFile* decl_space);
1101 void vala_ccode_base_module_generate_class_struct_declaration (ValaCCodeBaseModule* self,
1102                                                                ValaClass* cl,
1103                                                                ValaCCodeFile* decl_space);
1104 void vala_ccode_base_module_generate_struct_declaration (ValaCCodeBaseModule* self,
1105                                                          ValaStruct* st,
1106                                                          ValaCCodeFile* decl_space);
1107 void vala_ccode_base_module_generate_delegate_declaration (ValaCCodeBaseModule* self,
1108                                                            ValaDelegate* d,
1109                                                            ValaCCodeFile* decl_space);
1110 void vala_ccode_base_module_generate_cparameters (ValaCCodeBaseModule* self,
1111                                                   ValaMethod* m,
1112                                                   ValaCCodeFile* decl_space,
1113                                                   ValaMap* cparam_map,
1114                                                   ValaCCodeFunction* func,
1115                                                   ValaCCodeFunctionDeclarator* vdeclarator,
1116                                                   ValaMap* carg_map,
1117                                                   ValaCCodeFunctionCall* vcall,
1118                                                   gint direction);
1119 void vala_ccode_base_module_generate_property_accessor_declaration (ValaCCodeBaseModule* self,
1120                                                                     ValaPropertyAccessor* acc,
1121                                                                     ValaCCodeFile* decl_space);
1122 gint vala_ccode_base_module_get_block_id (ValaCCodeBaseModule* self,
1123                                           ValaBlock* b);
1124 gboolean vala_ccode_base_module_no_implicit_copy (ValaCCodeBaseModule* self,
1125                                                   ValaDataType* type);
1126 ValaCCodeExpression* vala_ccode_base_module_get_cexpression (ValaCCodeBaseModule* self,
1127                                                              const gchar* name);
1128 ValaCCodeExpression* vala_ccode_base_module_get_local_cexpression (ValaCCodeBaseModule* self,
1129                                                                    ValaLocalVariable* local);
1130 ValaCCodeExpression* vala_ccode_base_module_get_parameter_cexpression (ValaCCodeBaseModule* self,
1131                                                                        ValaParameter* param);
1132 ValaCCodeExpression* vala_ccode_base_module_get_variable_cexpression (ValaCCodeBaseModule* self,
1133                                                                       const gchar* name);
1134 ValaCCodeExpression* vala_ccode_base_module_get_this_cexpression (ValaCCodeBaseModule* self);
1135 ValaCCodeExpression* vala_ccode_base_module_get_this_interface_cexpression (ValaCCodeBaseModule* self,
1136                                                                             ValaInterface* iface);
1137 ValaCCodeExpression* vala_ccode_base_module_get_inner_error_cexpression (ValaCCodeBaseModule* self);
1138 gchar* vala_ccode_base_module_get_local_cname (ValaCCodeBaseModule* self,
1139                                                ValaLocalVariable* local);
1140 gchar* vala_ccode_base_module_get_variable_cname (ValaCCodeBaseModule* self,
1141                                                   const gchar* name);
1142 gboolean vala_ccode_base_module_is_simple_struct_creation (ValaCCodeBaseModule* self,
1143                                                            ValaVariable* variable,
1144                                                            ValaExpression* expr);
1145 ValaTargetValue* vala_ccode_base_module_create_temp_value (ValaCCodeBaseModule* self,
1146                                                            ValaDataType* type,
1147                                                            gboolean init,
1148                                                            ValaCodeNode* node_reference,
1149                                                            gboolean* value_owned);
1150 ValaTargetValue* vala_ccode_base_module_load_temp_value (ValaCCodeBaseModule* self,
1151                                                          ValaTargetValue* lvalue);
1152 ValaTargetValue* vala_ccode_base_module_store_temp_value (ValaCCodeBaseModule* self,
1153                                                           ValaTargetValue* initializer,
1154                                                           ValaCodeNode* node_reference,
1155                                                           gboolean* value_owned);
1156 ValaLocalVariable* vala_ccode_base_module_get_temp_variable (ValaCCodeBaseModule* self,
1157                                                              ValaDataType* type,
1158                                                              gboolean value_owned,
1159                                                              ValaCodeNode* node_reference,
1160                                                              gboolean init);
1161 ValaCCodeExpression* vala_ccode_base_module_get_type_id_expression (ValaCCodeBaseModule* self,
1162                                                                     ValaDataType* type,
1163                                                                     gboolean is_chainup);
1164 ValaCCodeExpression* vala_ccode_base_module_get_dup_func_expression (ValaCCodeBaseModule* self,
1165                                                                      ValaDataType* type,
1166                                                                      ValaSourceReference* source_reference,
1167                                                                      gboolean is_chainup);
1168 gchar* vala_ccode_base_module_generate_dup_func_wrapper (ValaCCodeBaseModule* self,
1169                                                          ValaDataType* type);
1170 gchar* vala_ccode_base_module_generate_free_function_address_of_wrapper (ValaCCodeBaseModule* self,
1171                                                                          ValaDataType* type);
1172 gchar* vala_ccode_base_module_generate_destroy_function_content_of_wrapper (ValaCCodeBaseModule* self,
1173                                                                             ValaDataType* type);
1174 gchar* vala_ccode_base_module_generate_free_func_wrapper (ValaCCodeBaseModule* self,
1175                                                           ValaDataType* type);
1176 ValaCCodeExpression* vala_ccode_base_module_get_destroy0_func_expression (ValaCCodeBaseModule* self,
1177                                                                           ValaDataType* type,
1178                                                                           gboolean is_chainup);
1179 ValaCCodeExpression* vala_ccode_base_module_get_destroy_func_expression (ValaCCodeBaseModule* self,
1180                                                                          ValaDataType* type,
1181                                                                          gboolean is_chainup);
1182 gchar* vala_ccode_base_module_append_struct_array_destroy (ValaCCodeBaseModule* self,
1183                                                            ValaStruct* st);
1184 gchar* vala_ccode_base_module_append_struct_array_free (ValaCCodeBaseModule* self,
1185                                                         ValaStruct* st);
1186 ValaCCodeExpression* vala_ccode_base_module_destroy_local (ValaCCodeBaseModule* self,
1187                                                            ValaLocalVariable* local);
1188 ValaCCodeExpression* vala_ccode_base_module_destroy_parameter (ValaCCodeBaseModule* self,
1189                                                                ValaParameter* param);
1190 ValaCCodeExpression* vala_ccode_base_module_destroy_field (ValaCCodeBaseModule* self,
1191                                                            ValaField* field,
1192                                                            ValaTargetValue* instance);
1193 ValaCCodeExpression* vala_ccode_base_module_destroy_value (ValaCCodeBaseModule* self,
1194                                                            ValaTargetValue* value,
1195                                                            gboolean is_macro_definition);
1196 void vala_ccode_base_module_emit_temp_var (ValaCCodeBaseModule* self,
1197                                            ValaLocalVariable* local,
1198                                            gboolean on_error);
1199 void vala_ccode_base_module_append_scope_free (ValaCCodeBaseModule* self,
1200                                                ValaSymbol* sym,
1201                                                ValaCodeNode* stop_at);
1202 void vala_ccode_base_module_append_local_free (ValaCCodeBaseModule* self,
1203                                                ValaSymbol* sym,
1204                                                ValaStatement* jump_stmt,
1205                                                ValaCodeNode* stop_at);
1206 void vala_ccode_base_module_append_out_param_free (ValaCCodeBaseModule* self,
1207                                                    ValaMethod* m);
1208 gboolean vala_ccode_base_module_variable_accessible_in_finally (ValaCCodeBaseModule* self,
1209                                                                 ValaLocalVariable* local);
1210 void vala_ccode_base_module_return_out_parameter (ValaCCodeBaseModule* self,
1211                                                   ValaParameter* param);
1212 gchar* vala_ccode_base_module_get_symbol_lock_name (ValaCCodeBaseModule* self,
1213                                                     const gchar* symname);
1214 ValaTargetValue* vala_ccode_base_module_get_local_cvalue (ValaCCodeBaseModule* self,
1215                                                           ValaLocalVariable* local);
1216 ValaTargetValue* vala_ccode_base_module_get_parameter_cvalue (ValaCCodeBaseModule* self,
1217                                                               ValaParameter* param);
1218 ValaTargetValue* vala_ccode_base_module_get_field_cvalue (ValaCCodeBaseModule* self,
1219                                                           ValaField* field,
1220                                                           ValaTargetValue* instance);
1221 ValaTargetValue* vala_ccode_base_module_load_variable (ValaCCodeBaseModule* self,
1222                                                        ValaVariable* variable,
1223                                                        ValaTargetValue* value,
1224                                                        ValaExpression* expr);
1225 ValaTargetValue* vala_ccode_base_module_load_this_parameter (ValaCCodeBaseModule* self,
1226                                                              ValaTypeSymbol* sym);
1227 void vala_ccode_base_module_store_value (ValaCCodeBaseModule* self,
1228                                          ValaTargetValue* lvalue,
1229                                          ValaTargetValue* value,
1230                                          ValaSourceReference* source_reference);
1231 gchar* vala_ccode_base_module_get_delegate_target_cname (ValaCCodeBaseModule* self,
1232                                                          const gchar* delegate_cname);
1233 ValaCCodeExpression* vala_ccode_base_module_get_delegate_target_cexpression (ValaCCodeBaseModule* self,
1234                                                                              ValaExpression* delegate_expr,
1235                                                                              ValaCCodeExpression* * delegate_target_destroy_notify);
1236 ValaCCodeExpression* vala_ccode_base_module_get_delegate_target_cvalue (ValaCCodeBaseModule* self,
1237                                                                         ValaTargetValue* value);
1238 ValaCCodeExpression* vala_ccode_base_module_get_delegate_target_destroy_notify_cvalue (ValaCCodeBaseModule* self,
1239                                                                                        ValaTargetValue* value);
1240 gchar* vala_ccode_base_module_get_delegate_target_destroy_notify_cname (ValaCCodeBaseModule* self,
1241                                                                         const gchar* delegate_cname);
1242 gboolean vala_ccode_base_module_requires_copy (ValaDataType* type);
1243 gboolean vala_ccode_base_module_requires_destroy (ValaDataType* type);
1244 ValaTargetValue* vala_ccode_base_module_copy_value (ValaCCodeBaseModule* self,
1245                                                     ValaTargetValue* value,
1246                                                     ValaCodeNode* node);
1247 void vala_ccode_base_module_generate_class_declaration (ValaCCodeBaseModule* self,
1248                                                         ValaClass* cl,
1249                                                         ValaCCodeFile* decl_space);
1250 void vala_ccode_base_module_generate_interface_declaration (ValaCCodeBaseModule* self,
1251                                                             ValaInterface* iface,
1252                                                             ValaCCodeFile* decl_space);
1253 gboolean vala_ccode_base_module_generate_method_declaration (ValaCCodeBaseModule* self,
1254                                                              ValaMethod* m,
1255                                                              ValaCCodeFile* decl_space);
1256 void vala_ccode_base_module_generate_error_domain_declaration (ValaCCodeBaseModule* self,
1257                                                                ValaErrorDomain* edomain,
1258                                                                ValaCCodeFile* decl_space);
1259 void vala_ccode_base_module_add_generic_type_arguments (ValaCCodeBaseModule* self,
1260                                                         ValaMap* arg_map,
1261                                                         ValaList* type_args,
1262                                                         ValaCodeNode* expr,
1263                                                         gboolean is_chainup,
1264                                                         ValaList* type_parameters);
1265 ValaCCodeExpression* vala_ccode_base_module_handle_struct_argument (ValaCCodeBaseModule* self,
1266                                                                     ValaParameter* param,
1267                                                                     ValaExpression* arg,
1268                                                                     ValaCCodeExpression* cexpr);
1269 ValaCCodeExpression* vala_ccode_base_module_deserialize_expression (ValaCCodeBaseModule* self,
1270                                                                     ValaDataType* type,
1271                                                                     ValaCCodeExpression* variant_expr,
1272                                                                     ValaCCodeExpression* expr,
1273                                                                     ValaCCodeExpression* error_expr,
1274                                                                     gboolean* may_fail);
1275 ValaCCodeExpression* vala_ccode_base_module_serialize_expression (ValaCCodeBaseModule* self,
1276                                                                   ValaDataType* type,
1277                                                                   ValaCCodeExpression* expr);
1278 ValaCCodeExpression* vala_ccode_base_module_create_type_check (ValaCCodeBaseModule* self,
1279                                                                ValaCCodeNode* ccodenode,
1280                                                                ValaDataType* type);
1281 ValaCCodeExpression* vala_ccode_base_module_convert_from_generic_pointer (ValaCCodeBaseModule* self,
1282                                                                           ValaCCodeExpression* cexpr,
1283                                                                           ValaDataType* actual_type);
1284 ValaCCodeExpression* vala_ccode_base_module_convert_to_generic_pointer (ValaCCodeBaseModule* self,
1285                                                                         ValaCCodeExpression* cexpr,
1286                                                                         ValaDataType* actual_type);
1287 ValaTargetValue* vala_ccode_base_module_transform_value (ValaCCodeBaseModule* self,
1288                                                          ValaTargetValue* value,
1289                                                          ValaDataType* target_type,
1290                                                          ValaCodeNode* node);
1291 ValaCCodeExpression* vala_ccode_base_module_get_implicit_cast_expression (ValaCCodeBaseModule* self,
1292                                                                           ValaCCodeExpression* source_cexpr,
1293                                                                           ValaDataType* expression_type,
1294                                                                           ValaDataType* target_type,
1295                                                                           ValaCodeNode* node);
1296 void vala_ccode_base_module_store_property (ValaCCodeBaseModule* self,
1297                                             ValaProperty* prop,
1298                                             ValaExpression* instance,
1299                                             ValaTargetValue* value);
1300 gboolean vala_ccode_base_module_add_wrapper (ValaCCodeBaseModule* self,
1301                                              const gchar* wrapper_name);
1302 gboolean vala_ccode_base_module_add_generated_external_symbol (ValaCCodeBaseModule* self,
1303                                                                ValaSymbol* external_symbol);
1304 ValaDataType* vala_ccode_base_module_get_callable_creturn_type (ValaCallable* c);
1305 ValaCCodeExpression* vala_ccode_base_module_default_value_for_type (ValaCCodeBaseModule* self,
1306                                                                     ValaDataType* type,
1307                                                                     gboolean initializer_expression,
1308                                                                     gboolean on_error);
1309 void vala_ccode_base_module_create_type_check_statement (ValaCCodeBaseModule* self,
1310                                                          ValaCodeNode* method_node,
1311                                                          ValaDataType* ret_type,
1312                                                          ValaTypeSymbol* t,
1313                                                          gboolean non_null,
1314                                                          const gchar* var_name);
1315 gint vala_ccode_base_module_get_param_pos (ValaCCodeBaseModule* self,
1316                                            gdouble param_pos,
1317                                            gboolean ellipsis);
1318 ValaCCodeExpression* vala_ccode_base_module_get_ccodenode (ValaCCodeBaseModule* self,
1319                                                            ValaExpression* node);
1320 gboolean vala_ccode_base_module_is_lvalue_access_allowed (ValaCCodeBaseModule* self,
1321                                                           ValaDataType* type);
1322 gboolean vala_ccode_base_module_requires_memset_init (ValaCCodeBaseModule* self,
1323                                                       ValaVariable* variable,
1324                                                       ValaCCodeExpression* * size);
1325 ValaCCodeDeclaratorSuffix* vala_ccode_base_module_get_ccode_declarator_suffix (ValaCCodeBaseModule* self,
1326                                                                                ValaDataType* type);
1327 ValaCCodeConstant* vala_ccode_base_module_get_signal_canonical_constant (ValaCCodeBaseModule* self,
1328                                                                          ValaSignal* sig,
1329                                                                          const gchar* detail);
1330 ValaCCodeConstant* vala_ccode_base_module_get_property_canonical_cconstant (ValaCCodeBaseModule* self,
1331                                                                             ValaProperty* prop);
1332 void vala_ccode_base_module_create_postcondition_statement (ValaCCodeBaseModule* self,
1333                                                             ValaExpression* postcondition);
1334 ValaDataType* vala_ccode_base_module_get_this_type (ValaCCodeBaseModule* self);
1335 ValaCCodeFunctionCall* vala_ccode_base_module_generate_instance_cast (ValaCCodeBaseModule* self,
1336                                                                       ValaCCodeExpression* expr,
1337                                                                       ValaTypeSymbol* type);
1338 void vala_ccode_base_module_return_default_value (ValaCCodeBaseModule* self,
1339                                                   ValaDataType* return_type,
1340                                                   gboolean on_error);
1341 void vala_ccode_base_module_generate_dynamic_method_wrapper (ValaCCodeBaseModule* self,
1342                                                              ValaDynamicMethod* method);
1343 gboolean vala_ccode_base_module_method_has_wrapper (ValaCCodeBaseModule* self,
1344                                                     ValaMethod* method);
1345 ValaCCodeExpression* vala_ccode_base_module_get_param_spec_cexpression (ValaCCodeBaseModule* self,
1346                                                                         ValaProperty* prop);
1347 ValaCCodeExpression* vala_ccode_base_module_get_param_spec (ValaCCodeBaseModule* self,
1348                                                             ValaProperty* prop);
1349 ValaCCodeExpression* vala_ccode_base_module_get_signal_creation (ValaCCodeBaseModule* self,
1350                                                                  ValaSignal* sig,
1351                                                                  ValaObjectTypeSymbol* type);
1352 ValaCCodeExpression* vala_ccode_base_module_get_value_getter_function (ValaCCodeBaseModule* self,
1353                                                                        ValaDataType* type_reference);
1354 ValaCCodeExpression* vala_ccode_base_module_get_value_setter_function (ValaCCodeBaseModule* self,
1355                                                                        ValaDataType* type_reference);
1356 ValaCCodeExpression* vala_ccode_base_module_get_value_taker_function (ValaCCodeBaseModule* self,
1357                                                                       ValaDataType* type_reference);
1358 void vala_ccode_base_module_register_dbus_info (ValaCCodeBaseModule* self,
1359                                                 ValaCCodeBlock* block,
1360                                                 ValaObjectTypeSymbol* bindable);
1361 gchar* vala_ccode_base_module_get_dynamic_property_getter_cname (ValaCCodeBaseModule* self,
1362                                                                  ValaDynamicProperty* node);
1363 gchar* vala_ccode_base_module_get_dynamic_property_setter_cname (ValaCCodeBaseModule* self,
1364                                                                  ValaDynamicProperty* node);
1365 gchar* vala_ccode_base_module_get_dynamic_signal_cname (ValaCCodeBaseModule* self,
1366                                                         ValaDynamicSignal* node);
1367 gchar* vala_ccode_base_module_get_dynamic_signal_connect_wrapper_name (ValaCCodeBaseModule* self,
1368                                                                        ValaDynamicSignal* node);
1369 gchar* vala_ccode_base_module_get_dynamic_signal_connect_after_wrapper_name (ValaCCodeBaseModule* self,
1370                                                                              ValaDynamicSignal* node);
1371 gchar* vala_ccode_base_module_get_dynamic_signal_disconnect_wrapper_name (ValaCCodeBaseModule* self,
1372                                                                           ValaDynamicSignal* node);
1373 gchar* vala_ccode_base_module_get_array_length_cname (ValaCCodeBaseModule* self,
1374                                                       const gchar* array_cname,
1375                                                       gint dim);
1376 gchar* vala_ccode_base_module_get_variable_array_length_cname (ValaCCodeBaseModule* self,
1377                                                                ValaVariable* variable,
1378                                                                gint dim);
1379 ValaCCodeExpression* vala_ccode_base_module_get_array_length_cexpression (ValaCCodeBaseModule* self,
1380                                                                           ValaExpression* array_expr,
1381                                                                           gint dim);
1382 ValaCCodeExpression* vala_ccode_base_module_get_array_length_cvalue (ValaCCodeBaseModule* self,
1383                                                                      ValaTargetValue* value,
1384                                                                      gint dim);
1385 gchar* vala_ccode_base_module_get_array_size_cname (ValaCCodeBaseModule* self,
1386                                                     const gchar* array_cname);
1387 void vala_ccode_base_module_add_simple_check (ValaCCodeBaseModule* self,
1388                                               ValaCodeNode* node,
1389                                               gboolean always_fails);
1390 gchar* vala_ccode_base_module_generate_ready_function (ValaCCodeBaseModule* self,
1391                                                        ValaMethod* m);
1392 ValaCCodeExpression* vala_ccode_base_module_get_boolean_cconstant (ValaCCodeBaseModule* self,
1393                                                                    gboolean b);
1394 ValaCCodeBaseModuleEmitContext* vala_ccode_base_module_emit_context_new (ValaSymbol* symbol);
1395 ValaCCodeBaseModuleEmitContext* vala_ccode_base_module_emit_context_construct (GType object_type,
1396                                                                                ValaSymbol* symbol);
1397 void vala_ccode_base_module_emit_context_push_symbol (ValaCCodeBaseModuleEmitContext* self,
1398                                                       ValaSymbol* symbol);
1399 void vala_ccode_base_module_emit_context_pop_symbol (ValaCCodeBaseModuleEmitContext* self);
1400 gpointer vala_ccode_compiler_ref (gpointer instance);
1401 void vala_ccode_compiler_unref (gpointer instance);
1402 GParamSpec* vala_param_spec_ccode_compiler (const gchar* name,
1403                                             const gchar* nick,
1404                                             const gchar* blurb,
1405                                             GType object_type,
1406                                             GParamFlags flags);
1407 void vala_value_set_ccode_compiler (GValue* value,
1408                                     gpointer v_object);
1409 void vala_value_take_ccode_compiler (GValue* value,
1410                                      gpointer v_object);
1411 gpointer vala_value_get_ccode_compiler (const GValue* value);
1412 GType vala_ccode_compiler_get_type (void) G_GNUC_CONST;
1413 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeCompiler, vala_ccode_compiler_unref)
1414 ValaCCodeCompiler* vala_ccode_compiler_new (void);
1415 ValaCCodeCompiler* vala_ccode_compiler_construct (GType object_type);
1416 void vala_ccode_compiler_compile (ValaCCodeCompiler* self,
1417                                   ValaCodeContext* context,
1418                                   const gchar* cc_command,
1419                                   gchar** cc_options,
1420                                   gint cc_options_length1);
1421 ValaCCodeControlFlowModule* vala_ccode_control_flow_module_construct (GType object_type);
1422 GType vala_ccode_delegate_module_get_type (void) G_GNUC_CONST;
1423 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCCodeDelegateModule, vala_code_visitor_unref)
1424 gchar* vala_ccode_delegate_module_generate_delegate_wrapper (ValaCCodeDelegateModule* self,
1425                                                              ValaMethod* m,
1426                                                              ValaDelegateType* dt,
1427                                                              ValaCodeNode* node);
1428 ValaCCodeDelegateModule* vala_ccode_delegate_module_new (void);
1429 ValaCCodeDelegateModule* vala_ccode_delegate_module_construct (GType object_type);
1430 ValaCCodeMemberAccessModule* vala_ccode_member_access_module_construct (GType object_type);
1431 ValaCCodeMethodCallModule* vala_ccode_method_call_module_new (void);
1432 ValaCCodeMethodCallModule* vala_ccode_method_call_module_construct (GType object_type);
1433 void vala_ccode_method_module_generate_method_result_declaration (ValaCCodeMethodModule* self,
1434                                                                   ValaMethod* m,
1435                                                                   ValaCCodeFile* decl_space,
1436                                                                   ValaCCodeFunction* cfunc,
1437                                                                   ValaMap* cparam_map,
1438                                                                   ValaMap* carg_map);
1439 void vala_ccode_method_module_complete_async (ValaCCodeMethodModule* self);
1440 ValaCCodeParameter* vala_ccode_method_module_generate_parameter (ValaCCodeMethodModule* self,
1441                                                                  ValaParameter* param,
1442                                                                  ValaCCodeFile* decl_space,
1443                                                                  ValaMap* cparam_map,
1444                                                                  ValaMap* carg_map);
1445 void vala_ccode_method_module_generate_vfunc (ValaCCodeMethodModule* self,
1446                                               ValaMethod* m,
1447                                               ValaDataType* return_type,
1448                                               ValaMap* cparam_map,
1449                                               ValaMap* carg_map,
1450                                               const gchar* suffix,
1451                                               gint direction);
1452 ValaCCodeMethodModule* vala_ccode_method_module_construct (GType object_type);
1453 ValaCCodeStructModule* vala_ccode_struct_module_construct (GType object_type);
1454 gpointer vala_typeregister_function_ref (gpointer instance);
1455 void vala_typeregister_function_unref (gpointer instance);
1456 GParamSpec* vala_param_spec_typeregister_function (const gchar* name,
1457                                                    const gchar* nick,
1458                                                    const gchar* blurb,
1459                                                    GType object_type,
1460                                                    GParamFlags flags);
1461 void vala_value_set_typeregister_function (GValue* value,
1462                                            gpointer v_object);
1463 void vala_value_take_typeregister_function (GValue* value,
1464                                             gpointer v_object);
1465 gpointer vala_value_get_typeregister_function (const GValue* value);
1466 GType vala_typeregister_function_get_type (void) G_GNUC_CONST;
1467 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaTypeRegisterFunction, vala_typeregister_function_unref)
1468 GType vala_class_register_function_get_type (void) G_GNUC_CONST;
1469 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaClassRegisterFunction, vala_typeregister_function_unref)
1470 ValaClass* vala_class_register_function_get_class_reference (ValaClassRegisterFunction* self);
1471 void vala_class_register_function_set_class_reference (ValaClassRegisterFunction* self,
1472                                                        ValaClass* value);
1473 ValaClassRegisterFunction* vala_class_register_function_new (ValaClass* cl);
1474 ValaClassRegisterFunction* vala_class_register_function_construct (GType object_type,
1475                                                                    ValaClass* cl);
1476 GType vala_ctype_get_type (void) G_GNUC_CONST;
1477 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaCType, vala_code_node_unref)
1478 const gchar* vala_ctype_get_ctype_name (ValaCType* self);
1479 void vala_ctype_set_ctype_name (ValaCType* self,
1480                                 const gchar* value);
1481 const gchar* vala_ctype_get_cdefault_value (ValaCType* self);
1482 void vala_ctype_set_cdefault_value (ValaCType* self,
1483                                     const gchar* value);
1484 ValaCType* vala_ctype_new (const gchar* ctype_name,
1485                            const gchar* cdefault_value);
1486 ValaCType* vala_ctype_construct (GType object_type,
1487                                  const gchar* ctype_name,
1488                                  const gchar* cdefault_value);
1489 GType vala_enum_register_function_get_type (void) G_GNUC_CONST;
1490 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaEnumRegisterFunction, vala_typeregister_function_unref)
1491 ValaEnum* vala_enum_register_function_get_enum_reference (ValaEnumRegisterFunction* self);
1492 void vala_enum_register_function_set_enum_reference (ValaEnumRegisterFunction* self,
1493                                                      ValaEnum* value);
1494 ValaEnumRegisterFunction* vala_enum_register_function_new (ValaEnum* en);
1495 ValaEnumRegisterFunction* vala_enum_register_function_construct (GType object_type,
1496                                                                  ValaEnum* en);
1497 GType vala_gerror_module_get_type (void) G_GNUC_CONST;
1498 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGErrorModule, vala_code_visitor_unref)
1499 GType vala_gtype_module_get_type (void) G_GNUC_CONST;
1500 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGTypeModule, vala_code_visitor_unref)
1501 GType vala_gobject_module_get_type (void) G_GNUC_CONST;
1502 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGObjectModule, vala_code_visitor_unref)
1503 GType vala_gsignal_module_get_type (void) G_GNUC_CONST;
1504 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGSignalModule, vala_code_visitor_unref)
1505 GType vala_gtk_module_get_type (void) G_GNUC_CONST;
1506 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGtkModule, vala_code_visitor_unref)
1507 GType vala_gasync_module_get_type (void) G_GNUC_CONST;
1508 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGAsyncModule, vala_code_visitor_unref)
1509 void vala_gasync_module_append_struct (ValaGAsyncModule* self,
1510                                        ValaCCodeStruct* structure);
1511 gchar* vala_gasync_module_generate_async_callback_wrapper (ValaGAsyncModule* self);
1512 ValaGAsyncModule* vala_gasync_module_new (void);
1513 ValaGAsyncModule* vala_gasync_module_construct (GType object_type);
1514 GType vala_gvalue_module_get_type (void) G_GNUC_CONST;
1515 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGValueModule, vala_code_visitor_unref)
1516 GType vala_gvariant_module_get_type (void) G_GNUC_CONST;
1517 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGVariantModule, vala_code_visitor_unref)
1518 GType vala_gd_bus_module_get_type (void) G_GNUC_CONST;
1519 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGDBusModule, vala_code_visitor_unref)
1520 GType vala_gd_bus_client_module_get_type (void) G_GNUC_CONST;
1521 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGDBusClientModule, vala_code_visitor_unref)
1522 ValaCCodeConstant* vala_gd_bus_client_module_get_dbus_timeout (ValaGDBusClientModule* self,
1523                                                                ValaSymbol* symbol);
1524 ValaGDBusClientModule* vala_gd_bus_client_module_new (void);
1525 ValaGDBusClientModule* vala_gd_bus_client_module_construct (GType object_type);
1526 gchar* vala_gd_bus_module_get_dbus_name (ValaTypeSymbol* symbol);
1527 gchar* vala_gd_bus_module_get_dbus_name_for_member (ValaSymbol* symbol);
1528 gint vala_gd_bus_module_get_dbus_timeout_for_member (ValaSymbol* symbol);
1529 gboolean vala_gd_bus_module_is_dbus_visible (ValaCodeNode* node);
1530 gboolean vala_gd_bus_module_is_dbus_no_reply (ValaMethod* m);
1531 gchar* vala_gd_bus_module_dbus_result_name (ValaMethod* m);
1532 gboolean vala_gd_bus_module_dbus_method_uses_file_descriptor (ValaGDBusModule* self,
1533                                                               ValaMethod* method);
1534 void vala_gd_bus_module_send_dbus_value (ValaGDBusModule* self,
1535                                          ValaDataType* type,
1536                                          ValaCCodeExpression* builder_expr,
1537                                          ValaCCodeExpression* expr,
1538                                          ValaSymbol* sym);
1539 void vala_gd_bus_module_receive_dbus_value (ValaGDBusModule* self,
1540                                             ValaDataType* type,
1541                                             ValaCCodeExpression* message_expr,
1542                                             ValaCCodeExpression* iter_expr,
1543                                             ValaCCodeExpression* target_expr,
1544                                             ValaSymbol* sym,
1545                                             ValaCCodeExpression* error_expr,
1546                                             gboolean* may_fail);
1547 ValaCCodeExpression* vala_gd_bus_module_get_interface_info (ValaGDBusModule* self,
1548                                                             ValaObjectTypeSymbol* sym);
1549 ValaGDBusModule* vala_gd_bus_module_new (void);
1550 ValaGDBusModule* vala_gd_bus_module_construct (GType object_type);
1551 GType vala_gd_bus_server_module_get_type (void) G_GNUC_CONST;
1552 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGDBusServerModule, vala_code_visitor_unref)
1553 ValaGDBusServerModule* vala_gd_bus_server_module_new (void);
1554 ValaGDBusServerModule* vala_gd_bus_server_module_construct (GType object_type);
1555 void vala_gerror_module_return_with_exception (ValaGErrorModule* self,
1556                                                ValaCCodeExpression* error_expr);
1557 ValaGErrorModule* vala_gerror_module_new (void);
1558 ValaGErrorModule* vala_gerror_module_construct (GType object_type);
1559 GType vala_gir_writer_get_type (void) G_GNUC_CONST;
1560 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGIRWriter, vala_code_visitor_unref)
1561 gchar* vala_gir_writer_get_interface_comment (ValaGIRWriter* self,
1562                                               ValaInterface* iface);
1563 gchar* vala_gir_writer_get_struct_comment (ValaGIRWriter* self,
1564                                            ValaStruct* st);
1565 gchar* vala_gir_writer_get_enum_comment (ValaGIRWriter* self,
1566                                          ValaEnum* en);
1567 gchar* vala_gir_writer_get_class_comment (ValaGIRWriter* self,
1568                                           ValaClass* c);
1569 gchar* vala_gir_writer_get_error_code_comment (ValaGIRWriter* self,
1570                                                ValaErrorCode* ecode);
1571 gchar* vala_gir_writer_get_enum_value_comment (ValaGIRWriter* self,
1572                                                ValaEnumValue* ev);
1573 gchar* vala_gir_writer_get_constant_comment (ValaGIRWriter* self,
1574                                              ValaConstant* c);
1575 gchar* vala_gir_writer_get_error_domain_comment (ValaGIRWriter* self,
1576                                                  ValaErrorDomain* edomain);
1577 gchar* vala_gir_writer_get_field_comment (ValaGIRWriter* self,
1578                                           ValaField* f);
1579 gchar* vala_gir_writer_get_delegate_comment (ValaGIRWriter* self,
1580                                              ValaDelegate* cb);
1581 gchar* vala_gir_writer_get_method_comment (ValaGIRWriter* self,
1582                                            ValaMethod* m);
1583 gchar* vala_gir_writer_get_property_comment (ValaGIRWriter* self,
1584                                              ValaProperty* prop);
1585 gchar* vala_gir_writer_get_delegate_return_comment (ValaGIRWriter* self,
1586                                                     ValaDelegate* cb);
1587 gchar* vala_gir_writer_get_signal_return_comment (ValaGIRWriter* self,
1588                                                   ValaSignal* sig);
1589 gchar* vala_gir_writer_get_method_return_comment (ValaGIRWriter* self,
1590                                                   ValaMethod* m);
1591 gchar* vala_gir_writer_get_signal_comment (ValaGIRWriter* self,
1592                                            ValaSignal* sig);
1593 gchar* vala_gir_writer_get_parameter_comment (ValaGIRWriter* self,
1594                                               ValaParameter* param);
1595 void vala_gir_writer_write_includes (ValaGIRWriter* self);
1596 void vala_gir_writer_write_file (ValaGIRWriter* self,
1597                                  ValaCodeContext* context,
1598                                  const gchar* directory,
1599                                  const gchar* gir_filename,
1600                                  const gchar* gir_namespace,
1601                                  const gchar* gir_version,
1602                                  const gchar* package,
1603                                  const gchar* gir_shared_library);
1604 ValaGIRWriter* vala_gir_writer_new (void);
1605 ValaGIRWriter* vala_gir_writer_construct (GType object_type);
1606 GType vala_glib_value_get_type (void) G_GNUC_CONST;
1607 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaGLibValue, vala_target_value_unref)
1608 ValaGLibValue* vala_glib_value_new (ValaDataType* value_type,
1609                                     ValaCCodeExpression* cvalue,
1610                                     gboolean lvalue);
1611 ValaGLibValue* vala_glib_value_construct (GType object_type,
1612                                           ValaDataType* value_type,
1613                                           ValaCCodeExpression* cvalue,
1614                                           gboolean lvalue);
1615 void vala_glib_value_append_array_length_cvalue (ValaGLibValue* self,
1616                                                  ValaCCodeExpression* length_cvalue);
1617 ValaGLibValue* vala_glib_value_copy (ValaGLibValue* self);
1618 ValaCCodeExpression* vala_get_cvalue (ValaExpression* expr);
1619 ValaCCodeExpression* vala_get_cvalue_ (ValaTargetValue* value);
1620 void vala_set_cvalue (ValaExpression* expr,
1621                       ValaCCodeExpression* cvalue);
1622 ValaCCodeExpression* vala_get_array_size_cvalue (ValaTargetValue* value);
1623 void vala_set_array_size_cvalue (ValaTargetValue* value,
1624                                  ValaCCodeExpression* cvalue);
1625 ValaCCodeExpression* vala_get_delegate_target (ValaExpression* expr);
1626 void vala_set_delegate_target (ValaExpression* expr,
1627                                ValaCCodeExpression* delegate_target);
1628 ValaCCodeExpression* vala_get_delegate_target_destroy_notify (ValaExpression* expr);
1629 void vala_set_delegate_target_destroy_notify (ValaExpression* expr,
1630                                               ValaCCodeExpression* destroy_notify);
1631 void vala_append_array_length (ValaExpression* expr,
1632                                ValaCCodeExpression* size);
1633 ValaList* vala_get_array_lengths (ValaExpression* expr);
1634 gboolean vala_get_lvalue (ValaTargetValue* value);
1635 gboolean vala_get_non_null (ValaTargetValue* value);
1636 const gchar* vala_get_ctype (ValaTargetValue* value);
1637 gboolean vala_get_array_null_terminated (ValaTargetValue* value);
1638 ValaCCodeExpression* vala_get_array_length_cexpr (ValaTargetValue* value);
1639 ValaGObjectModule* vala_gobject_module_new (void);
1640 ValaGObjectModule* vala_gobject_module_construct (GType object_type);
1641 ValaGtkModule* vala_gtk_module_new (void);
1642 ValaGtkModule* vala_gtk_module_construct (GType object_type);
1643 ValaGSignalModule* vala_gsignal_module_new (void);
1644 ValaGSignalModule* vala_gsignal_module_construct (GType object_type);
1645 void vala_gtype_module_generate_virtual_method_declaration (ValaGTypeModule* self,
1646                                                             ValaMethod* m,
1647                                                             ValaCCodeFile* decl_space,
1648                                                             ValaCCodeStruct* type_struct);
1649 void vala_gtype_module_generate_class_init (ValaGTypeModule* self,
1650                                             ValaClass* cl);
1651 void vala_gtype_module_end_instance_init (ValaGTypeModule* self,
1652                                           ValaClass* cl);
1653 ValaGTypeModule* vala_gtype_module_new (void);
1654 ValaGTypeModule* vala_gtype_module_construct (GType object_type);
1655 ValaGValueModule* vala_gvalue_module_new (void);
1656 ValaGValueModule* vala_gvalue_module_construct (GType object_type);
1657 gchar* vala_gvariant_module_get_dbus_signature (ValaSymbol* symbol);
1658 ValaCCodeFunction* vala_gvariant_module_generate_enum_from_string_function_declaration (ValaGVariantModule* self,
1659                                                                                         ValaEnum* en);
1660 ValaCCodeFunction* vala_gvariant_module_generate_enum_from_string_function (ValaGVariantModule* self,
1661                                                                             ValaEnum* en);
1662 void vala_gvariant_module_read_expression (ValaGVariantModule* self,
1663                                            ValaDataType* type,
1664                                            ValaCCodeExpression* iter_expr,
1665                                            ValaCCodeExpression* target_expr,
1666                                            ValaSymbol* sym,
1667                                            ValaCCodeExpression* error_expr,
1668                                            gboolean* may_fail);
1669 ValaCCodeFunction* vala_gvariant_module_generate_enum_to_string_function_declaration (ValaGVariantModule* self,
1670                                                                                       ValaEnum* en);
1671 ValaCCodeFunction* vala_gvariant_module_generate_enum_to_string_function (ValaGVariantModule* self,
1672                                                                           ValaEnum* en);
1673 void vala_gvariant_module_write_expression (ValaGVariantModule* self,
1674                                             ValaDataType* type,
1675                                             ValaCCodeExpression* builder_expr,
1676                                             ValaCCodeExpression* expr,
1677                                             ValaSymbol* sym);
1678 ValaGVariantModule* vala_gvariant_module_new (void);
1679 ValaGVariantModule* vala_gvariant_module_construct (GType object_type);
1680 GType vala_interface_register_function_get_type (void) G_GNUC_CONST;
1681 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaInterfaceRegisterFunction, vala_typeregister_function_unref)
1682 ValaInterface* vala_interface_register_function_get_interface_reference (ValaInterfaceRegisterFunction* self);
1683 void vala_interface_register_function_set_interface_reference (ValaInterfaceRegisterFunction* self,
1684                                                                ValaInterface* value);
1685 ValaInterfaceRegisterFunction* vala_interface_register_function_new (ValaInterface* iface);
1686 ValaInterfaceRegisterFunction* vala_interface_register_function_construct (GType object_type,
1687                                                                            ValaInterface* iface);
1688 GType vala_struct_register_function_get_type (void) G_GNUC_CONST;
1689 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaStructRegisterFunction, vala_typeregister_function_unref)
1690 ValaStruct* vala_struct_register_function_get_struct_reference (ValaStructRegisterFunction* self);
1691 void vala_struct_register_function_set_struct_reference (ValaStructRegisterFunction* self,
1692                                                          ValaStruct* value);
1693 ValaStructRegisterFunction* vala_struct_register_function_new (ValaStruct* st);
1694 ValaStructRegisterFunction* vala_struct_register_function_construct (GType object_type,
1695                                                                      ValaStruct* st);
1696 void vala_typeregister_function_init_from_type (ValaTypeRegisterFunction* self,
1697                                                 ValaCodeContext* context,
1698                                                 gboolean plugin,
1699                                                 gboolean declaration_only);
1700 ValaTypeSymbol* vala_typeregister_function_get_type_declaration (ValaTypeRegisterFunction* self);
1701 gchar* vala_typeregister_function_get_type_struct_name (ValaTypeRegisterFunction* self);
1702 gchar* vala_typeregister_function_get_base_init_func_name (ValaTypeRegisterFunction* self);
1703 gchar* vala_typeregister_function_get_class_finalize_func_name (ValaTypeRegisterFunction* self);
1704 gchar* vala_typeregister_function_get_base_finalize_func_name (ValaTypeRegisterFunction* self);
1705 gchar* vala_typeregister_function_get_class_init_func_name (ValaTypeRegisterFunction* self);
1706 gchar* vala_typeregister_function_get_instance_struct_size (ValaTypeRegisterFunction* self);
1707 gchar* vala_typeregister_function_get_instance_init_func_name (ValaTypeRegisterFunction* self);
1708 gchar* vala_typeregister_function_get_parent_type_name (ValaTypeRegisterFunction* self);
1709 gchar* vala_typeregister_function_get_gtype_value_table_init_function_name (ValaTypeRegisterFunction* self);
1710 gchar* vala_typeregister_function_get_gtype_value_table_peek_pointer_function_name (ValaTypeRegisterFunction* self);
1711 gchar* vala_typeregister_function_get_gtype_value_table_free_function_name (ValaTypeRegisterFunction* self);
1712 gchar* vala_typeregister_function_get_gtype_value_table_copy_function_name (ValaTypeRegisterFunction* self);
1713 gchar* vala_typeregister_function_get_gtype_value_table_lcopy_value_function_name (ValaTypeRegisterFunction* self);
1714 gchar* vala_typeregister_function_get_gtype_value_table_collect_value_function_name (ValaTypeRegisterFunction* self);
1715 gchar* vala_typeregister_function_get_type_flags (ValaTypeRegisterFunction* self);
1716 ValaCCodeFragment* vala_typeregister_function_get_type_interface_init_declaration (ValaTypeRegisterFunction* self);
1717 void vala_typeregister_function_get_type_interface_init_statements (ValaTypeRegisterFunction* self,
1718                                                                     ValaCodeContext* context,
1719                                                                     ValaCCodeBlock* block,
1720                                                                     gboolean plugin);
1721 ValaCCodeFragment* vala_typeregister_function_get_source_declaration (ValaTypeRegisterFunction* self);
1722 ValaCCodeFragment* vala_typeregister_function_get_declaration (ValaTypeRegisterFunction* self);
1723 ValaCCodeFragment* vala_typeregister_function_get_definition (ValaTypeRegisterFunction* self);
1724 ValaSymbolAccessibility vala_typeregister_function_get_accessibility (ValaTypeRegisterFunction* self);
1725 ValaTypeRegisterFunction* vala_typeregister_function_construct (GType object_type);
1726 
1727 G_END_DECLS
1728 
1729 #endif
1730