Imported Upstream version 0.19.0
[platform/upstream/vala.git] / vala / valasymbolresolver.c
1 /* valasymbolresolver.c generated by valac, the Vala compiler
2  * generated from valasymbolresolver.vala, do not modify */
3
4 /* valasymbolresolver.vala
5  *
6  * Copyright (C) 2006-2010  Jürg Billeter
7  * Copyright (C) 2006-2008  Raffaele Sandrini
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
22  *
23  * Author:
24  *      Jürg Billeter <j@bitron.ch>
25  *      Raffaele Sandrini <raffaele@sandrini.ch>
26  */
27
28 #include <glib.h>
29 #include <glib-object.h>
30 #include <valagee.h>
31 #include <stdlib.h>
32 #include <string.h>
33
34
35 #define VALA_TYPE_CODE_VISITOR (vala_code_visitor_get_type ())
36 #define VALA_CODE_VISITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CODE_VISITOR, ValaCodeVisitor))
37 #define VALA_CODE_VISITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CODE_VISITOR, ValaCodeVisitorClass))
38 #define VALA_IS_CODE_VISITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CODE_VISITOR))
39 #define VALA_IS_CODE_VISITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CODE_VISITOR))
40 #define VALA_CODE_VISITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CODE_VISITOR, ValaCodeVisitorClass))
41
42 typedef struct _ValaCodeVisitor ValaCodeVisitor;
43 typedef struct _ValaCodeVisitorClass ValaCodeVisitorClass;
44 typedef struct _ValaCodeVisitorPrivate ValaCodeVisitorPrivate;
45
46 #define VALA_TYPE_SOURCE_FILE (vala_source_file_get_type ())
47 #define VALA_SOURCE_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SOURCE_FILE, ValaSourceFile))
48 #define VALA_SOURCE_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SOURCE_FILE, ValaSourceFileClass))
49 #define VALA_IS_SOURCE_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SOURCE_FILE))
50 #define VALA_IS_SOURCE_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SOURCE_FILE))
51 #define VALA_SOURCE_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SOURCE_FILE, ValaSourceFileClass))
52
53 typedef struct _ValaSourceFile ValaSourceFile;
54 typedef struct _ValaSourceFileClass ValaSourceFileClass;
55
56 #define VALA_TYPE_CODE_NODE (vala_code_node_get_type ())
57 #define VALA_CODE_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CODE_NODE, ValaCodeNode))
58 #define VALA_CODE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CODE_NODE, ValaCodeNodeClass))
59 #define VALA_IS_CODE_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CODE_NODE))
60 #define VALA_IS_CODE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CODE_NODE))
61 #define VALA_CODE_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CODE_NODE, ValaCodeNodeClass))
62
63 typedef struct _ValaCodeNode ValaCodeNode;
64 typedef struct _ValaCodeNodeClass ValaCodeNodeClass;
65
66 #define VALA_TYPE_SYMBOL (vala_symbol_get_type ())
67 #define VALA_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SYMBOL, ValaSymbol))
68 #define VALA_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SYMBOL, ValaSymbolClass))
69 #define VALA_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SYMBOL))
70 #define VALA_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SYMBOL))
71 #define VALA_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SYMBOL, ValaSymbolClass))
72
73 typedef struct _ValaSymbol ValaSymbol;
74 typedef struct _ValaSymbolClass ValaSymbolClass;
75
76 #define VALA_TYPE_NAMESPACE (vala_namespace_get_type ())
77 #define VALA_NAMESPACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_NAMESPACE, ValaNamespace))
78 #define VALA_NAMESPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_NAMESPACE, ValaNamespaceClass))
79 #define VALA_IS_NAMESPACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_NAMESPACE))
80 #define VALA_IS_NAMESPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_NAMESPACE))
81 #define VALA_NAMESPACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_NAMESPACE, ValaNamespaceClass))
82
83 typedef struct _ValaNamespace ValaNamespace;
84 typedef struct _ValaNamespaceClass ValaNamespaceClass;
85
86 #define VALA_TYPE_TYPESYMBOL (vala_typesymbol_get_type ())
87 #define VALA_TYPESYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TYPESYMBOL, ValaTypeSymbol))
88 #define VALA_TYPESYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TYPESYMBOL, ValaTypeSymbolClass))
89 #define VALA_IS_TYPESYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TYPESYMBOL))
90 #define VALA_IS_TYPESYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TYPESYMBOL))
91 #define VALA_TYPESYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TYPESYMBOL, ValaTypeSymbolClass))
92
93 typedef struct _ValaTypeSymbol ValaTypeSymbol;
94 typedef struct _ValaTypeSymbolClass ValaTypeSymbolClass;
95
96 #define VALA_TYPE_OBJECT_TYPE_SYMBOL (vala_object_type_symbol_get_type ())
97 #define VALA_OBJECT_TYPE_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_OBJECT_TYPE_SYMBOL, ValaObjectTypeSymbol))
98 #define VALA_OBJECT_TYPE_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_OBJECT_TYPE_SYMBOL, ValaObjectTypeSymbolClass))
99 #define VALA_IS_OBJECT_TYPE_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_OBJECT_TYPE_SYMBOL))
100 #define VALA_IS_OBJECT_TYPE_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_OBJECT_TYPE_SYMBOL))
101 #define VALA_OBJECT_TYPE_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_OBJECT_TYPE_SYMBOL, ValaObjectTypeSymbolClass))
102
103 typedef struct _ValaObjectTypeSymbol ValaObjectTypeSymbol;
104 typedef struct _ValaObjectTypeSymbolClass ValaObjectTypeSymbolClass;
105
106 #define VALA_TYPE_CLASS (vala_class_get_type ())
107 #define VALA_CLASS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CLASS, ValaClass))
108 #define VALA_CLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CLASS, ValaClassClass))
109 #define VALA_IS_CLASS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CLASS))
110 #define VALA_IS_CLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CLASS))
111 #define VALA_CLASS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CLASS, ValaClassClass))
112
113 typedef struct _ValaClass ValaClass;
114 typedef struct _ValaClassClass ValaClassClass;
115
116 #define VALA_TYPE_STRUCT (vala_struct_get_type ())
117 #define VALA_STRUCT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_STRUCT, ValaStruct))
118 #define VALA_STRUCT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_STRUCT, ValaStructClass))
119 #define VALA_IS_STRUCT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_STRUCT))
120 #define VALA_IS_STRUCT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_STRUCT))
121 #define VALA_STRUCT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_STRUCT, ValaStructClass))
122
123 typedef struct _ValaStruct ValaStruct;
124 typedef struct _ValaStructClass ValaStructClass;
125
126 #define VALA_TYPE_INTERFACE (vala_interface_get_type ())
127 #define VALA_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_INTERFACE, ValaInterface))
128 #define VALA_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_INTERFACE, ValaInterfaceClass))
129 #define VALA_IS_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_INTERFACE))
130 #define VALA_IS_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_INTERFACE))
131 #define VALA_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_INTERFACE, ValaInterfaceClass))
132
133 typedef struct _ValaInterface ValaInterface;
134 typedef struct _ValaInterfaceClass ValaInterfaceClass;
135
136 #define VALA_TYPE_ENUM (vala_enum_get_type ())
137 #define VALA_ENUM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ENUM, ValaEnum))
138 #define VALA_ENUM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ENUM, ValaEnumClass))
139 #define VALA_IS_ENUM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ENUM))
140 #define VALA_IS_ENUM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ENUM))
141 #define VALA_ENUM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ENUM, ValaEnumClass))
142
143 typedef struct _ValaEnum ValaEnum;
144 typedef struct _ValaEnumClass ValaEnumClass;
145
146 #define VALA_TYPE_CONSTANT (vala_constant_get_type ())
147 #define VALA_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CONSTANT, ValaConstant))
148 #define VALA_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CONSTANT, ValaConstantClass))
149 #define VALA_IS_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CONSTANT))
150 #define VALA_IS_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CONSTANT))
151 #define VALA_CONSTANT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CONSTANT, ValaConstantClass))
152
153 typedef struct _ValaConstant ValaConstant;
154 typedef struct _ValaConstantClass ValaConstantClass;
155
156 #define VALA_TYPE_ENUM_VALUE (vala_enum_value_get_type ())
157 #define VALA_ENUM_VALUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ENUM_VALUE, ValaEnumValue))
158 #define VALA_ENUM_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ENUM_VALUE, ValaEnumValueClass))
159 #define VALA_IS_ENUM_VALUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ENUM_VALUE))
160 #define VALA_IS_ENUM_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ENUM_VALUE))
161 #define VALA_ENUM_VALUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ENUM_VALUE, ValaEnumValueClass))
162
163 typedef struct _ValaEnumValue ValaEnumValue;
164 typedef struct _ValaEnumValueClass ValaEnumValueClass;
165
166 #define VALA_TYPE_ERROR_DOMAIN (vala_error_domain_get_type ())
167 #define VALA_ERROR_DOMAIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ERROR_DOMAIN, ValaErrorDomain))
168 #define VALA_ERROR_DOMAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ERROR_DOMAIN, ValaErrorDomainClass))
169 #define VALA_IS_ERROR_DOMAIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ERROR_DOMAIN))
170 #define VALA_IS_ERROR_DOMAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ERROR_DOMAIN))
171 #define VALA_ERROR_DOMAIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ERROR_DOMAIN, ValaErrorDomainClass))
172
173 typedef struct _ValaErrorDomain ValaErrorDomain;
174 typedef struct _ValaErrorDomainClass ValaErrorDomainClass;
175
176 #define VALA_TYPE_ERROR_CODE (vala_error_code_get_type ())
177 #define VALA_ERROR_CODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ERROR_CODE, ValaErrorCode))
178 #define VALA_ERROR_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ERROR_CODE, ValaErrorCodeClass))
179 #define VALA_IS_ERROR_CODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ERROR_CODE))
180 #define VALA_IS_ERROR_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ERROR_CODE))
181 #define VALA_ERROR_CODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ERROR_CODE, ValaErrorCodeClass))
182
183 typedef struct _ValaErrorCode ValaErrorCode;
184 typedef struct _ValaErrorCodeClass ValaErrorCodeClass;
185
186 #define VALA_TYPE_DELEGATE (vala_delegate_get_type ())
187 #define VALA_DELEGATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DELEGATE, ValaDelegate))
188 #define VALA_DELEGATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DELEGATE, ValaDelegateClass))
189 #define VALA_IS_DELEGATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DELEGATE))
190 #define VALA_IS_DELEGATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DELEGATE))
191 #define VALA_DELEGATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DELEGATE, ValaDelegateClass))
192
193 typedef struct _ValaDelegate ValaDelegate;
194 typedef struct _ValaDelegateClass ValaDelegateClass;
195
196 #define VALA_TYPE_VARIABLE (vala_variable_get_type ())
197 #define VALA_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_VARIABLE, ValaVariable))
198 #define VALA_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_VARIABLE, ValaVariableClass))
199 #define VALA_IS_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_VARIABLE))
200 #define VALA_IS_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_VARIABLE))
201 #define VALA_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_VARIABLE, ValaVariableClass))
202
203 typedef struct _ValaVariable ValaVariable;
204 typedef struct _ValaVariableClass ValaVariableClass;
205
206 #define VALA_TYPE_FIELD (vala_field_get_type ())
207 #define VALA_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_FIELD, ValaField))
208 #define VALA_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_FIELD, ValaFieldClass))
209 #define VALA_IS_FIELD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_FIELD))
210 #define VALA_IS_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_FIELD))
211 #define VALA_FIELD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_FIELD, ValaFieldClass))
212
213 typedef struct _ValaField ValaField;
214 typedef struct _ValaFieldClass ValaFieldClass;
215
216 #define VALA_TYPE_SUBROUTINE (vala_subroutine_get_type ())
217 #define VALA_SUBROUTINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SUBROUTINE, ValaSubroutine))
218 #define VALA_SUBROUTINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SUBROUTINE, ValaSubroutineClass))
219 #define VALA_IS_SUBROUTINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SUBROUTINE))
220 #define VALA_IS_SUBROUTINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SUBROUTINE))
221 #define VALA_SUBROUTINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SUBROUTINE, ValaSubroutineClass))
222
223 typedef struct _ValaSubroutine ValaSubroutine;
224 typedef struct _ValaSubroutineClass ValaSubroutineClass;
225
226 #define VALA_TYPE_METHOD (vala_method_get_type ())
227 #define VALA_METHOD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_METHOD, ValaMethod))
228 #define VALA_METHOD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_METHOD, ValaMethodClass))
229 #define VALA_IS_METHOD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_METHOD))
230 #define VALA_IS_METHOD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_METHOD))
231 #define VALA_METHOD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_METHOD, ValaMethodClass))
232
233 typedef struct _ValaMethod ValaMethod;
234 typedef struct _ValaMethodClass ValaMethodClass;
235
236 #define VALA_TYPE_CREATION_METHOD (vala_creation_method_get_type ())
237 #define VALA_CREATION_METHOD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CREATION_METHOD, ValaCreationMethod))
238 #define VALA_CREATION_METHOD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CREATION_METHOD, ValaCreationMethodClass))
239 #define VALA_IS_CREATION_METHOD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CREATION_METHOD))
240 #define VALA_IS_CREATION_METHOD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CREATION_METHOD))
241 #define VALA_CREATION_METHOD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CREATION_METHOD, ValaCreationMethodClass))
242
243 typedef struct _ValaCreationMethod ValaCreationMethod;
244 typedef struct _ValaCreationMethodClass ValaCreationMethodClass;
245
246 #define VALA_TYPE_PARAMETER (vala_parameter_get_type ())
247 #define VALA_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_PARAMETER, ValaParameter))
248 #define VALA_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_PARAMETER, ValaParameterClass))
249 #define VALA_IS_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_PARAMETER))
250 #define VALA_IS_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_PARAMETER))
251 #define VALA_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_PARAMETER, ValaParameterClass))
252
253 typedef struct _ValaParameter ValaParameter;
254 typedef struct _ValaParameterClass ValaParameterClass;
255
256 #define VALA_TYPE_PROPERTY (vala_property_get_type ())
257 #define VALA_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_PROPERTY, ValaProperty))
258 #define VALA_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_PROPERTY, ValaPropertyClass))
259 #define VALA_IS_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_PROPERTY))
260 #define VALA_IS_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_PROPERTY))
261 #define VALA_PROPERTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_PROPERTY, ValaPropertyClass))
262
263 typedef struct _ValaProperty ValaProperty;
264 typedef struct _ValaPropertyClass ValaPropertyClass;
265
266 #define VALA_TYPE_PROPERTY_ACCESSOR (vala_property_accessor_get_type ())
267 #define VALA_PROPERTY_ACCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_PROPERTY_ACCESSOR, ValaPropertyAccessor))
268 #define VALA_PROPERTY_ACCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_PROPERTY_ACCESSOR, ValaPropertyAccessorClass))
269 #define VALA_IS_PROPERTY_ACCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_PROPERTY_ACCESSOR))
270 #define VALA_IS_PROPERTY_ACCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_PROPERTY_ACCESSOR))
271 #define VALA_PROPERTY_ACCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_PROPERTY_ACCESSOR, ValaPropertyAccessorClass))
272
273 typedef struct _ValaPropertyAccessor ValaPropertyAccessor;
274 typedef struct _ValaPropertyAccessorClass ValaPropertyAccessorClass;
275
276 #define VALA_TYPE_SIGNAL (vala_signal_get_type ())
277 #define VALA_SIGNAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SIGNAL, ValaSignal))
278 #define VALA_SIGNAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SIGNAL, ValaSignalClass))
279 #define VALA_IS_SIGNAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SIGNAL))
280 #define VALA_IS_SIGNAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SIGNAL))
281 #define VALA_SIGNAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SIGNAL, ValaSignalClass))
282
283 typedef struct _ValaSignal ValaSignal;
284 typedef struct _ValaSignalClass ValaSignalClass;
285
286 #define VALA_TYPE_CONSTRUCTOR (vala_constructor_get_type ())
287 #define VALA_CONSTRUCTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CONSTRUCTOR, ValaConstructor))
288 #define VALA_CONSTRUCTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CONSTRUCTOR, ValaConstructorClass))
289 #define VALA_IS_CONSTRUCTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CONSTRUCTOR))
290 #define VALA_IS_CONSTRUCTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CONSTRUCTOR))
291 #define VALA_CONSTRUCTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CONSTRUCTOR, ValaConstructorClass))
292
293 typedef struct _ValaConstructor ValaConstructor;
294 typedef struct _ValaConstructorClass ValaConstructorClass;
295
296 #define VALA_TYPE_DESTRUCTOR (vala_destructor_get_type ())
297 #define VALA_DESTRUCTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DESTRUCTOR, ValaDestructor))
298 #define VALA_DESTRUCTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DESTRUCTOR, ValaDestructorClass))
299 #define VALA_IS_DESTRUCTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DESTRUCTOR))
300 #define VALA_IS_DESTRUCTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DESTRUCTOR))
301 #define VALA_DESTRUCTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DESTRUCTOR, ValaDestructorClass))
302
303 typedef struct _ValaDestructor ValaDestructor;
304 typedef struct _ValaDestructorClass ValaDestructorClass;
305
306 #define VALA_TYPE_TYPEPARAMETER (vala_typeparameter_get_type ())
307 #define VALA_TYPEPARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TYPEPARAMETER, ValaTypeParameter))
308 #define VALA_TYPEPARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TYPEPARAMETER, ValaTypeParameterClass))
309 #define VALA_IS_TYPEPARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TYPEPARAMETER))
310 #define VALA_IS_TYPEPARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TYPEPARAMETER))
311 #define VALA_TYPEPARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TYPEPARAMETER, ValaTypeParameterClass))
312
313 typedef struct _ValaTypeParameter ValaTypeParameter;
314 typedef struct _ValaTypeParameterClass ValaTypeParameterClass;
315
316 #define VALA_TYPE_USING_DIRECTIVE (vala_using_directive_get_type ())
317 #define VALA_USING_DIRECTIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_USING_DIRECTIVE, ValaUsingDirective))
318 #define VALA_USING_DIRECTIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_USING_DIRECTIVE, ValaUsingDirectiveClass))
319 #define VALA_IS_USING_DIRECTIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_USING_DIRECTIVE))
320 #define VALA_IS_USING_DIRECTIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_USING_DIRECTIVE))
321 #define VALA_USING_DIRECTIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_USING_DIRECTIVE, ValaUsingDirectiveClass))
322
323 typedef struct _ValaUsingDirective ValaUsingDirective;
324 typedef struct _ValaUsingDirectiveClass ValaUsingDirectiveClass;
325
326 #define VALA_TYPE_DATA_TYPE (vala_data_type_get_type ())
327 #define VALA_DATA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DATA_TYPE, ValaDataType))
328 #define VALA_DATA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DATA_TYPE, ValaDataTypeClass))
329 #define VALA_IS_DATA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DATA_TYPE))
330 #define VALA_IS_DATA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DATA_TYPE))
331 #define VALA_DATA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DATA_TYPE, ValaDataTypeClass))
332
333 typedef struct _ValaDataType ValaDataType;
334 typedef struct _ValaDataTypeClass ValaDataTypeClass;
335
336 #define VALA_TYPE_BLOCK (vala_block_get_type ())
337 #define VALA_BLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_BLOCK, ValaBlock))
338 #define VALA_BLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_BLOCK, ValaBlockClass))
339 #define VALA_IS_BLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_BLOCK))
340 #define VALA_IS_BLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_BLOCK))
341 #define VALA_BLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_BLOCK, ValaBlockClass))
342
343 typedef struct _ValaBlock ValaBlock;
344 typedef struct _ValaBlockClass ValaBlockClass;
345
346 #define VALA_TYPE_EMPTY_STATEMENT (vala_empty_statement_get_type ())
347 #define VALA_EMPTY_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_EMPTY_STATEMENT, ValaEmptyStatement))
348 #define VALA_EMPTY_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_EMPTY_STATEMENT, ValaEmptyStatementClass))
349 #define VALA_IS_EMPTY_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_EMPTY_STATEMENT))
350 #define VALA_IS_EMPTY_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_EMPTY_STATEMENT))
351 #define VALA_EMPTY_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_EMPTY_STATEMENT, ValaEmptyStatementClass))
352
353 typedef struct _ValaEmptyStatement ValaEmptyStatement;
354 typedef struct _ValaEmptyStatementClass ValaEmptyStatementClass;
355
356 #define VALA_TYPE_DECLARATION_STATEMENT (vala_declaration_statement_get_type ())
357 #define VALA_DECLARATION_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DECLARATION_STATEMENT, ValaDeclarationStatement))
358 #define VALA_DECLARATION_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DECLARATION_STATEMENT, ValaDeclarationStatementClass))
359 #define VALA_IS_DECLARATION_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DECLARATION_STATEMENT))
360 #define VALA_IS_DECLARATION_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DECLARATION_STATEMENT))
361 #define VALA_DECLARATION_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DECLARATION_STATEMENT, ValaDeclarationStatementClass))
362
363 typedef struct _ValaDeclarationStatement ValaDeclarationStatement;
364 typedef struct _ValaDeclarationStatementClass ValaDeclarationStatementClass;
365
366 #define VALA_TYPE_LOCAL_VARIABLE (vala_local_variable_get_type ())
367 #define VALA_LOCAL_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_LOCAL_VARIABLE, ValaLocalVariable))
368 #define VALA_LOCAL_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_LOCAL_VARIABLE, ValaLocalVariableClass))
369 #define VALA_IS_LOCAL_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_LOCAL_VARIABLE))
370 #define VALA_IS_LOCAL_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_LOCAL_VARIABLE))
371 #define VALA_LOCAL_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_LOCAL_VARIABLE, ValaLocalVariableClass))
372
373 typedef struct _ValaLocalVariable ValaLocalVariable;
374 typedef struct _ValaLocalVariableClass ValaLocalVariableClass;
375
376 #define VALA_TYPE_EXPRESSION (vala_expression_get_type ())
377 #define VALA_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_EXPRESSION, ValaExpression))
378 #define VALA_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_EXPRESSION, ValaExpressionClass))
379 #define VALA_IS_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_EXPRESSION))
380 #define VALA_IS_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_EXPRESSION))
381 #define VALA_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_EXPRESSION, ValaExpressionClass))
382
383 typedef struct _ValaExpression ValaExpression;
384 typedef struct _ValaExpressionClass ValaExpressionClass;
385
386 #define VALA_TYPE_INITIALIZER_LIST (vala_initializer_list_get_type ())
387 #define VALA_INITIALIZER_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_INITIALIZER_LIST, ValaInitializerList))
388 #define VALA_INITIALIZER_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_INITIALIZER_LIST, ValaInitializerListClass))
389 #define VALA_IS_INITIALIZER_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_INITIALIZER_LIST))
390 #define VALA_IS_INITIALIZER_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_INITIALIZER_LIST))
391 #define VALA_INITIALIZER_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_INITIALIZER_LIST, ValaInitializerListClass))
392
393 typedef struct _ValaInitializerList ValaInitializerList;
394 typedef struct _ValaInitializerListClass ValaInitializerListClass;
395
396 #define VALA_TYPE_EXPRESSION_STATEMENT (vala_expression_statement_get_type ())
397 #define VALA_EXPRESSION_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_EXPRESSION_STATEMENT, ValaExpressionStatement))
398 #define VALA_EXPRESSION_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_EXPRESSION_STATEMENT, ValaExpressionStatementClass))
399 #define VALA_IS_EXPRESSION_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_EXPRESSION_STATEMENT))
400 #define VALA_IS_EXPRESSION_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_EXPRESSION_STATEMENT))
401 #define VALA_EXPRESSION_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_EXPRESSION_STATEMENT, ValaExpressionStatementClass))
402
403 typedef struct _ValaExpressionStatement ValaExpressionStatement;
404 typedef struct _ValaExpressionStatementClass ValaExpressionStatementClass;
405
406 #define VALA_TYPE_IF_STATEMENT (vala_if_statement_get_type ())
407 #define VALA_IF_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_IF_STATEMENT, ValaIfStatement))
408 #define VALA_IF_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_IF_STATEMENT, ValaIfStatementClass))
409 #define VALA_IS_IF_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_IF_STATEMENT))
410 #define VALA_IS_IF_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_IF_STATEMENT))
411 #define VALA_IF_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_IF_STATEMENT, ValaIfStatementClass))
412
413 typedef struct _ValaIfStatement ValaIfStatement;
414 typedef struct _ValaIfStatementClass ValaIfStatementClass;
415
416 #define VALA_TYPE_SWITCH_STATEMENT (vala_switch_statement_get_type ())
417 #define VALA_SWITCH_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SWITCH_STATEMENT, ValaSwitchStatement))
418 #define VALA_SWITCH_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SWITCH_STATEMENT, ValaSwitchStatementClass))
419 #define VALA_IS_SWITCH_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SWITCH_STATEMENT))
420 #define VALA_IS_SWITCH_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SWITCH_STATEMENT))
421 #define VALA_SWITCH_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SWITCH_STATEMENT, ValaSwitchStatementClass))
422
423 typedef struct _ValaSwitchStatement ValaSwitchStatement;
424 typedef struct _ValaSwitchStatementClass ValaSwitchStatementClass;
425
426 #define VALA_TYPE_SWITCH_SECTION (vala_switch_section_get_type ())
427 #define VALA_SWITCH_SECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SWITCH_SECTION, ValaSwitchSection))
428 #define VALA_SWITCH_SECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SWITCH_SECTION, ValaSwitchSectionClass))
429 #define VALA_IS_SWITCH_SECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SWITCH_SECTION))
430 #define VALA_IS_SWITCH_SECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SWITCH_SECTION))
431 #define VALA_SWITCH_SECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SWITCH_SECTION, ValaSwitchSectionClass))
432
433 typedef struct _ValaSwitchSection ValaSwitchSection;
434 typedef struct _ValaSwitchSectionClass ValaSwitchSectionClass;
435
436 #define VALA_TYPE_SWITCH_LABEL (vala_switch_label_get_type ())
437 #define VALA_SWITCH_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SWITCH_LABEL, ValaSwitchLabel))
438 #define VALA_SWITCH_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SWITCH_LABEL, ValaSwitchLabelClass))
439 #define VALA_IS_SWITCH_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SWITCH_LABEL))
440 #define VALA_IS_SWITCH_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SWITCH_LABEL))
441 #define VALA_SWITCH_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SWITCH_LABEL, ValaSwitchLabelClass))
442
443 typedef struct _ValaSwitchLabel ValaSwitchLabel;
444 typedef struct _ValaSwitchLabelClass ValaSwitchLabelClass;
445
446 #define VALA_TYPE_LOOP (vala_loop_get_type ())
447 #define VALA_LOOP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_LOOP, ValaLoop))
448 #define VALA_LOOP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_LOOP, ValaLoopClass))
449 #define VALA_IS_LOOP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_LOOP))
450 #define VALA_IS_LOOP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_LOOP))
451 #define VALA_LOOP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_LOOP, ValaLoopClass))
452
453 typedef struct _ValaLoop ValaLoop;
454 typedef struct _ValaLoopClass ValaLoopClass;
455
456 #define VALA_TYPE_WHILE_STATEMENT (vala_while_statement_get_type ())
457 #define VALA_WHILE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_WHILE_STATEMENT, ValaWhileStatement))
458 #define VALA_WHILE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_WHILE_STATEMENT, ValaWhileStatementClass))
459 #define VALA_IS_WHILE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_WHILE_STATEMENT))
460 #define VALA_IS_WHILE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_WHILE_STATEMENT))
461 #define VALA_WHILE_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_WHILE_STATEMENT, ValaWhileStatementClass))
462
463 typedef struct _ValaWhileStatement ValaWhileStatement;
464 typedef struct _ValaWhileStatementClass ValaWhileStatementClass;
465
466 #define VALA_TYPE_DO_STATEMENT (vala_do_statement_get_type ())
467 #define VALA_DO_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DO_STATEMENT, ValaDoStatement))
468 #define VALA_DO_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DO_STATEMENT, ValaDoStatementClass))
469 #define VALA_IS_DO_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DO_STATEMENT))
470 #define VALA_IS_DO_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DO_STATEMENT))
471 #define VALA_DO_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DO_STATEMENT, ValaDoStatementClass))
472
473 typedef struct _ValaDoStatement ValaDoStatement;
474 typedef struct _ValaDoStatementClass ValaDoStatementClass;
475
476 #define VALA_TYPE_FOR_STATEMENT (vala_for_statement_get_type ())
477 #define VALA_FOR_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_FOR_STATEMENT, ValaForStatement))
478 #define VALA_FOR_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_FOR_STATEMENT, ValaForStatementClass))
479 #define VALA_IS_FOR_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_FOR_STATEMENT))
480 #define VALA_IS_FOR_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_FOR_STATEMENT))
481 #define VALA_FOR_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_FOR_STATEMENT, ValaForStatementClass))
482
483 typedef struct _ValaForStatement ValaForStatement;
484 typedef struct _ValaForStatementClass ValaForStatementClass;
485
486 #define VALA_TYPE_FOREACH_STATEMENT (vala_foreach_statement_get_type ())
487 #define VALA_FOREACH_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_FOREACH_STATEMENT, ValaForeachStatement))
488 #define VALA_FOREACH_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_FOREACH_STATEMENT, ValaForeachStatementClass))
489 #define VALA_IS_FOREACH_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_FOREACH_STATEMENT))
490 #define VALA_IS_FOREACH_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_FOREACH_STATEMENT))
491 #define VALA_FOREACH_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_FOREACH_STATEMENT, ValaForeachStatementClass))
492
493 typedef struct _ValaForeachStatement ValaForeachStatement;
494 typedef struct _ValaForeachStatementClass ValaForeachStatementClass;
495
496 #define VALA_TYPE_BREAK_STATEMENT (vala_break_statement_get_type ())
497 #define VALA_BREAK_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_BREAK_STATEMENT, ValaBreakStatement))
498 #define VALA_BREAK_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_BREAK_STATEMENT, ValaBreakStatementClass))
499 #define VALA_IS_BREAK_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_BREAK_STATEMENT))
500 #define VALA_IS_BREAK_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_BREAK_STATEMENT))
501 #define VALA_BREAK_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_BREAK_STATEMENT, ValaBreakStatementClass))
502
503 typedef struct _ValaBreakStatement ValaBreakStatement;
504 typedef struct _ValaBreakStatementClass ValaBreakStatementClass;
505
506 #define VALA_TYPE_CONTINUE_STATEMENT (vala_continue_statement_get_type ())
507 #define VALA_CONTINUE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CONTINUE_STATEMENT, ValaContinueStatement))
508 #define VALA_CONTINUE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CONTINUE_STATEMENT, ValaContinueStatementClass))
509 #define VALA_IS_CONTINUE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CONTINUE_STATEMENT))
510 #define VALA_IS_CONTINUE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CONTINUE_STATEMENT))
511 #define VALA_CONTINUE_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CONTINUE_STATEMENT, ValaContinueStatementClass))
512
513 typedef struct _ValaContinueStatement ValaContinueStatement;
514 typedef struct _ValaContinueStatementClass ValaContinueStatementClass;
515
516 #define VALA_TYPE_RETURN_STATEMENT (vala_return_statement_get_type ())
517 #define VALA_RETURN_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_RETURN_STATEMENT, ValaReturnStatement))
518 #define VALA_RETURN_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_RETURN_STATEMENT, ValaReturnStatementClass))
519 #define VALA_IS_RETURN_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_RETURN_STATEMENT))
520 #define VALA_IS_RETURN_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_RETURN_STATEMENT))
521 #define VALA_RETURN_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_RETURN_STATEMENT, ValaReturnStatementClass))
522
523 typedef struct _ValaReturnStatement ValaReturnStatement;
524 typedef struct _ValaReturnStatementClass ValaReturnStatementClass;
525
526 #define VALA_TYPE_YIELD_STATEMENT (vala_yield_statement_get_type ())
527 #define VALA_YIELD_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_YIELD_STATEMENT, ValaYieldStatement))
528 #define VALA_YIELD_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_YIELD_STATEMENT, ValaYieldStatementClass))
529 #define VALA_IS_YIELD_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_YIELD_STATEMENT))
530 #define VALA_IS_YIELD_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_YIELD_STATEMENT))
531 #define VALA_YIELD_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_YIELD_STATEMENT, ValaYieldStatementClass))
532
533 typedef struct _ValaYieldStatement ValaYieldStatement;
534 typedef struct _ValaYieldStatementClass ValaYieldStatementClass;
535
536 #define VALA_TYPE_THROW_STATEMENT (vala_throw_statement_get_type ())
537 #define VALA_THROW_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_THROW_STATEMENT, ValaThrowStatement))
538 #define VALA_THROW_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_THROW_STATEMENT, ValaThrowStatementClass))
539 #define VALA_IS_THROW_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_THROW_STATEMENT))
540 #define VALA_IS_THROW_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_THROW_STATEMENT))
541 #define VALA_THROW_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_THROW_STATEMENT, ValaThrowStatementClass))
542
543 typedef struct _ValaThrowStatement ValaThrowStatement;
544 typedef struct _ValaThrowStatementClass ValaThrowStatementClass;
545
546 #define VALA_TYPE_TRY_STATEMENT (vala_try_statement_get_type ())
547 #define VALA_TRY_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TRY_STATEMENT, ValaTryStatement))
548 #define VALA_TRY_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TRY_STATEMENT, ValaTryStatementClass))
549 #define VALA_IS_TRY_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TRY_STATEMENT))
550 #define VALA_IS_TRY_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TRY_STATEMENT))
551 #define VALA_TRY_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TRY_STATEMENT, ValaTryStatementClass))
552
553 typedef struct _ValaTryStatement ValaTryStatement;
554 typedef struct _ValaTryStatementClass ValaTryStatementClass;
555
556 #define VALA_TYPE_CATCH_CLAUSE (vala_catch_clause_get_type ())
557 #define VALA_CATCH_CLAUSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CATCH_CLAUSE, ValaCatchClause))
558 #define VALA_CATCH_CLAUSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CATCH_CLAUSE, ValaCatchClauseClass))
559 #define VALA_IS_CATCH_CLAUSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CATCH_CLAUSE))
560 #define VALA_IS_CATCH_CLAUSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CATCH_CLAUSE))
561 #define VALA_CATCH_CLAUSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CATCH_CLAUSE, ValaCatchClauseClass))
562
563 typedef struct _ValaCatchClause ValaCatchClause;
564 typedef struct _ValaCatchClauseClass ValaCatchClauseClass;
565
566 #define VALA_TYPE_LOCK_STATEMENT (vala_lock_statement_get_type ())
567 #define VALA_LOCK_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_LOCK_STATEMENT, ValaLockStatement))
568 #define VALA_LOCK_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_LOCK_STATEMENT, ValaLockStatementClass))
569 #define VALA_IS_LOCK_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_LOCK_STATEMENT))
570 #define VALA_IS_LOCK_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_LOCK_STATEMENT))
571 #define VALA_LOCK_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_LOCK_STATEMENT, ValaLockStatementClass))
572
573 typedef struct _ValaLockStatement ValaLockStatement;
574 typedef struct _ValaLockStatementClass ValaLockStatementClass;
575
576 #define VALA_TYPE_UNLOCK_STATEMENT (vala_unlock_statement_get_type ())
577 #define VALA_UNLOCK_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_UNLOCK_STATEMENT, ValaUnlockStatement))
578 #define VALA_UNLOCK_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_UNLOCK_STATEMENT, ValaUnlockStatementClass))
579 #define VALA_IS_UNLOCK_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_UNLOCK_STATEMENT))
580 #define VALA_IS_UNLOCK_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_UNLOCK_STATEMENT))
581 #define VALA_UNLOCK_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_UNLOCK_STATEMENT, ValaUnlockStatementClass))
582
583 typedef struct _ValaUnlockStatement ValaUnlockStatement;
584 typedef struct _ValaUnlockStatementClass ValaUnlockStatementClass;
585
586 #define VALA_TYPE_DELETE_STATEMENT (vala_delete_statement_get_type ())
587 #define VALA_DELETE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DELETE_STATEMENT, ValaDeleteStatement))
588 #define VALA_DELETE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DELETE_STATEMENT, ValaDeleteStatementClass))
589 #define VALA_IS_DELETE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DELETE_STATEMENT))
590 #define VALA_IS_DELETE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DELETE_STATEMENT))
591 #define VALA_DELETE_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DELETE_STATEMENT, ValaDeleteStatementClass))
592
593 typedef struct _ValaDeleteStatement ValaDeleteStatement;
594 typedef struct _ValaDeleteStatementClass ValaDeleteStatementClass;
595
596 #define VALA_TYPE_ARRAY_CREATION_EXPRESSION (vala_array_creation_expression_get_type ())
597 #define VALA_ARRAY_CREATION_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ARRAY_CREATION_EXPRESSION, ValaArrayCreationExpression))
598 #define VALA_ARRAY_CREATION_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ARRAY_CREATION_EXPRESSION, ValaArrayCreationExpressionClass))
599 #define VALA_IS_ARRAY_CREATION_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ARRAY_CREATION_EXPRESSION))
600 #define VALA_IS_ARRAY_CREATION_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ARRAY_CREATION_EXPRESSION))
601 #define VALA_ARRAY_CREATION_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ARRAY_CREATION_EXPRESSION, ValaArrayCreationExpressionClass))
602
603 typedef struct _ValaArrayCreationExpression ValaArrayCreationExpression;
604 typedef struct _ValaArrayCreationExpressionClass ValaArrayCreationExpressionClass;
605
606 #define VALA_TYPE_LITERAL (vala_literal_get_type ())
607 #define VALA_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_LITERAL, ValaLiteral))
608 #define VALA_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_LITERAL, ValaLiteralClass))
609 #define VALA_IS_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_LITERAL))
610 #define VALA_IS_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_LITERAL))
611 #define VALA_LITERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_LITERAL, ValaLiteralClass))
612
613 typedef struct _ValaLiteral ValaLiteral;
614 typedef struct _ValaLiteralClass ValaLiteralClass;
615
616 #define VALA_TYPE_BOOLEAN_LITERAL (vala_boolean_literal_get_type ())
617 #define VALA_BOOLEAN_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_BOOLEAN_LITERAL, ValaBooleanLiteral))
618 #define VALA_BOOLEAN_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_BOOLEAN_LITERAL, ValaBooleanLiteralClass))
619 #define VALA_IS_BOOLEAN_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_BOOLEAN_LITERAL))
620 #define VALA_IS_BOOLEAN_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_BOOLEAN_LITERAL))
621 #define VALA_BOOLEAN_LITERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_BOOLEAN_LITERAL, ValaBooleanLiteralClass))
622
623 typedef struct _ValaBooleanLiteral ValaBooleanLiteral;
624 typedef struct _ValaBooleanLiteralClass ValaBooleanLiteralClass;
625
626 #define VALA_TYPE_CHARACTER_LITERAL (vala_character_literal_get_type ())
627 #define VALA_CHARACTER_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CHARACTER_LITERAL, ValaCharacterLiteral))
628 #define VALA_CHARACTER_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CHARACTER_LITERAL, ValaCharacterLiteralClass))
629 #define VALA_IS_CHARACTER_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CHARACTER_LITERAL))
630 #define VALA_IS_CHARACTER_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CHARACTER_LITERAL))
631 #define VALA_CHARACTER_LITERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CHARACTER_LITERAL, ValaCharacterLiteralClass))
632
633 typedef struct _ValaCharacterLiteral ValaCharacterLiteral;
634 typedef struct _ValaCharacterLiteralClass ValaCharacterLiteralClass;
635
636 #define VALA_TYPE_INTEGER_LITERAL (vala_integer_literal_get_type ())
637 #define VALA_INTEGER_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_INTEGER_LITERAL, ValaIntegerLiteral))
638 #define VALA_INTEGER_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_INTEGER_LITERAL, ValaIntegerLiteralClass))
639 #define VALA_IS_INTEGER_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_INTEGER_LITERAL))
640 #define VALA_IS_INTEGER_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_INTEGER_LITERAL))
641 #define VALA_INTEGER_LITERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_INTEGER_LITERAL, ValaIntegerLiteralClass))
642
643 typedef struct _ValaIntegerLiteral ValaIntegerLiteral;
644 typedef struct _ValaIntegerLiteralClass ValaIntegerLiteralClass;
645
646 #define VALA_TYPE_REAL_LITERAL (vala_real_literal_get_type ())
647 #define VALA_REAL_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_REAL_LITERAL, ValaRealLiteral))
648 #define VALA_REAL_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_REAL_LITERAL, ValaRealLiteralClass))
649 #define VALA_IS_REAL_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_REAL_LITERAL))
650 #define VALA_IS_REAL_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_REAL_LITERAL))
651 #define VALA_REAL_LITERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_REAL_LITERAL, ValaRealLiteralClass))
652
653 typedef struct _ValaRealLiteral ValaRealLiteral;
654 typedef struct _ValaRealLiteralClass ValaRealLiteralClass;
655
656 #define VALA_TYPE_REGEX_LITERAL (vala_regex_literal_get_type ())
657 #define VALA_REGEX_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_REGEX_LITERAL, ValaRegexLiteral))
658 #define VALA_REGEX_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_REGEX_LITERAL, ValaRegexLiteralClass))
659 #define VALA_IS_REGEX_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_REGEX_LITERAL))
660 #define VALA_IS_REGEX_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_REGEX_LITERAL))
661 #define VALA_REGEX_LITERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_REGEX_LITERAL, ValaRegexLiteralClass))
662
663 typedef struct _ValaRegexLiteral ValaRegexLiteral;
664 typedef struct _ValaRegexLiteralClass ValaRegexLiteralClass;
665
666 #define VALA_TYPE_STRING_LITERAL (vala_string_literal_get_type ())
667 #define VALA_STRING_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_STRING_LITERAL, ValaStringLiteral))
668 #define VALA_STRING_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_STRING_LITERAL, ValaStringLiteralClass))
669 #define VALA_IS_STRING_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_STRING_LITERAL))
670 #define VALA_IS_STRING_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_STRING_LITERAL))
671 #define VALA_STRING_LITERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_STRING_LITERAL, ValaStringLiteralClass))
672
673 typedef struct _ValaStringLiteral ValaStringLiteral;
674 typedef struct _ValaStringLiteralClass ValaStringLiteralClass;
675
676 #define VALA_TYPE_TEMPLATE (vala_template_get_type ())
677 #define VALA_TEMPLATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TEMPLATE, ValaTemplate))
678 #define VALA_TEMPLATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TEMPLATE, ValaTemplateClass))
679 #define VALA_IS_TEMPLATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TEMPLATE))
680 #define VALA_IS_TEMPLATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TEMPLATE))
681 #define VALA_TEMPLATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TEMPLATE, ValaTemplateClass))
682
683 typedef struct _ValaTemplate ValaTemplate;
684 typedef struct _ValaTemplateClass ValaTemplateClass;
685
686 #define VALA_TYPE_TUPLE (vala_tuple_get_type ())
687 #define VALA_TUPLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TUPLE, ValaTuple))
688 #define VALA_TUPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TUPLE, ValaTupleClass))
689 #define VALA_IS_TUPLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TUPLE))
690 #define VALA_IS_TUPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TUPLE))
691 #define VALA_TUPLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TUPLE, ValaTupleClass))
692
693 typedef struct _ValaTuple ValaTuple;
694 typedef struct _ValaTupleClass ValaTupleClass;
695
696 #define VALA_TYPE_NULL_LITERAL (vala_null_literal_get_type ())
697 #define VALA_NULL_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_NULL_LITERAL, ValaNullLiteral))
698 #define VALA_NULL_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_NULL_LITERAL, ValaNullLiteralClass))
699 #define VALA_IS_NULL_LITERAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_NULL_LITERAL))
700 #define VALA_IS_NULL_LITERAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_NULL_LITERAL))
701 #define VALA_NULL_LITERAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_NULL_LITERAL, ValaNullLiteralClass))
702
703 typedef struct _ValaNullLiteral ValaNullLiteral;
704 typedef struct _ValaNullLiteralClass ValaNullLiteralClass;
705
706 #define VALA_TYPE_MEMBER_ACCESS (vala_member_access_get_type ())
707 #define VALA_MEMBER_ACCESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_MEMBER_ACCESS, ValaMemberAccess))
708 #define VALA_MEMBER_ACCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_MEMBER_ACCESS, ValaMemberAccessClass))
709 #define VALA_IS_MEMBER_ACCESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_MEMBER_ACCESS))
710 #define VALA_IS_MEMBER_ACCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_MEMBER_ACCESS))
711 #define VALA_MEMBER_ACCESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_MEMBER_ACCESS, ValaMemberAccessClass))
712
713 typedef struct _ValaMemberAccess ValaMemberAccess;
714 typedef struct _ValaMemberAccessClass ValaMemberAccessClass;
715
716 #define VALA_TYPE_METHOD_CALL (vala_method_call_get_type ())
717 #define VALA_METHOD_CALL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_METHOD_CALL, ValaMethodCall))
718 #define VALA_METHOD_CALL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_METHOD_CALL, ValaMethodCallClass))
719 #define VALA_IS_METHOD_CALL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_METHOD_CALL))
720 #define VALA_IS_METHOD_CALL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_METHOD_CALL))
721 #define VALA_METHOD_CALL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_METHOD_CALL, ValaMethodCallClass))
722
723 typedef struct _ValaMethodCall ValaMethodCall;
724 typedef struct _ValaMethodCallClass ValaMethodCallClass;
725
726 #define VALA_TYPE_ELEMENT_ACCESS (vala_element_access_get_type ())
727 #define VALA_ELEMENT_ACCESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ELEMENT_ACCESS, ValaElementAccess))
728 #define VALA_ELEMENT_ACCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ELEMENT_ACCESS, ValaElementAccessClass))
729 #define VALA_IS_ELEMENT_ACCESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ELEMENT_ACCESS))
730 #define VALA_IS_ELEMENT_ACCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ELEMENT_ACCESS))
731 #define VALA_ELEMENT_ACCESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ELEMENT_ACCESS, ValaElementAccessClass))
732
733 typedef struct _ValaElementAccess ValaElementAccess;
734 typedef struct _ValaElementAccessClass ValaElementAccessClass;
735
736 #define VALA_TYPE_SLICE_EXPRESSION (vala_slice_expression_get_type ())
737 #define VALA_SLICE_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SLICE_EXPRESSION, ValaSliceExpression))
738 #define VALA_SLICE_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SLICE_EXPRESSION, ValaSliceExpressionClass))
739 #define VALA_IS_SLICE_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SLICE_EXPRESSION))
740 #define VALA_IS_SLICE_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SLICE_EXPRESSION))
741 #define VALA_SLICE_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SLICE_EXPRESSION, ValaSliceExpressionClass))
742
743 typedef struct _ValaSliceExpression ValaSliceExpression;
744 typedef struct _ValaSliceExpressionClass ValaSliceExpressionClass;
745
746 #define VALA_TYPE_BASE_ACCESS (vala_base_access_get_type ())
747 #define VALA_BASE_ACCESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_BASE_ACCESS, ValaBaseAccess))
748 #define VALA_BASE_ACCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_BASE_ACCESS, ValaBaseAccessClass))
749 #define VALA_IS_BASE_ACCESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_BASE_ACCESS))
750 #define VALA_IS_BASE_ACCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_BASE_ACCESS))
751 #define VALA_BASE_ACCESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_BASE_ACCESS, ValaBaseAccessClass))
752
753 typedef struct _ValaBaseAccess ValaBaseAccess;
754 typedef struct _ValaBaseAccessClass ValaBaseAccessClass;
755
756 #define VALA_TYPE_POSTFIX_EXPRESSION (vala_postfix_expression_get_type ())
757 #define VALA_POSTFIX_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_POSTFIX_EXPRESSION, ValaPostfixExpression))
758 #define VALA_POSTFIX_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_POSTFIX_EXPRESSION, ValaPostfixExpressionClass))
759 #define VALA_IS_POSTFIX_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_POSTFIX_EXPRESSION))
760 #define VALA_IS_POSTFIX_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_POSTFIX_EXPRESSION))
761 #define VALA_POSTFIX_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_POSTFIX_EXPRESSION, ValaPostfixExpressionClass))
762
763 typedef struct _ValaPostfixExpression ValaPostfixExpression;
764 typedef struct _ValaPostfixExpressionClass ValaPostfixExpressionClass;
765
766 #define VALA_TYPE_OBJECT_CREATION_EXPRESSION (vala_object_creation_expression_get_type ())
767 #define VALA_OBJECT_CREATION_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_OBJECT_CREATION_EXPRESSION, ValaObjectCreationExpression))
768 #define VALA_OBJECT_CREATION_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_OBJECT_CREATION_EXPRESSION, ValaObjectCreationExpressionClass))
769 #define VALA_IS_OBJECT_CREATION_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_OBJECT_CREATION_EXPRESSION))
770 #define VALA_IS_OBJECT_CREATION_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_OBJECT_CREATION_EXPRESSION))
771 #define VALA_OBJECT_CREATION_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_OBJECT_CREATION_EXPRESSION, ValaObjectCreationExpressionClass))
772
773 typedef struct _ValaObjectCreationExpression ValaObjectCreationExpression;
774 typedef struct _ValaObjectCreationExpressionClass ValaObjectCreationExpressionClass;
775
776 #define VALA_TYPE_SIZEOF_EXPRESSION (vala_sizeof_expression_get_type ())
777 #define VALA_SIZEOF_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SIZEOF_EXPRESSION, ValaSizeofExpression))
778 #define VALA_SIZEOF_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SIZEOF_EXPRESSION, ValaSizeofExpressionClass))
779 #define VALA_IS_SIZEOF_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SIZEOF_EXPRESSION))
780 #define VALA_IS_SIZEOF_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SIZEOF_EXPRESSION))
781 #define VALA_SIZEOF_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SIZEOF_EXPRESSION, ValaSizeofExpressionClass))
782
783 typedef struct _ValaSizeofExpression ValaSizeofExpression;
784 typedef struct _ValaSizeofExpressionClass ValaSizeofExpressionClass;
785
786 #define VALA_TYPE_TYPEOF_EXPRESSION (vala_typeof_expression_get_type ())
787 #define VALA_TYPEOF_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TYPEOF_EXPRESSION, ValaTypeofExpression))
788 #define VALA_TYPEOF_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TYPEOF_EXPRESSION, ValaTypeofExpressionClass))
789 #define VALA_IS_TYPEOF_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TYPEOF_EXPRESSION))
790 #define VALA_IS_TYPEOF_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TYPEOF_EXPRESSION))
791 #define VALA_TYPEOF_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TYPEOF_EXPRESSION, ValaTypeofExpressionClass))
792
793 typedef struct _ValaTypeofExpression ValaTypeofExpression;
794 typedef struct _ValaTypeofExpressionClass ValaTypeofExpressionClass;
795
796 #define VALA_TYPE_UNARY_EXPRESSION (vala_unary_expression_get_type ())
797 #define VALA_UNARY_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_UNARY_EXPRESSION, ValaUnaryExpression))
798 #define VALA_UNARY_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_UNARY_EXPRESSION, ValaUnaryExpressionClass))
799 #define VALA_IS_UNARY_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_UNARY_EXPRESSION))
800 #define VALA_IS_UNARY_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_UNARY_EXPRESSION))
801 #define VALA_UNARY_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_UNARY_EXPRESSION, ValaUnaryExpressionClass))
802
803 typedef struct _ValaUnaryExpression ValaUnaryExpression;
804 typedef struct _ValaUnaryExpressionClass ValaUnaryExpressionClass;
805
806 #define VALA_TYPE_CAST_EXPRESSION (vala_cast_expression_get_type ())
807 #define VALA_CAST_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CAST_EXPRESSION, ValaCastExpression))
808 #define VALA_CAST_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CAST_EXPRESSION, ValaCastExpressionClass))
809 #define VALA_IS_CAST_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CAST_EXPRESSION))
810 #define VALA_IS_CAST_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CAST_EXPRESSION))
811 #define VALA_CAST_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CAST_EXPRESSION, ValaCastExpressionClass))
812
813 typedef struct _ValaCastExpression ValaCastExpression;
814 typedef struct _ValaCastExpressionClass ValaCastExpressionClass;
815
816 #define VALA_TYPE_NAMED_ARGUMENT (vala_named_argument_get_type ())
817 #define VALA_NAMED_ARGUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_NAMED_ARGUMENT, ValaNamedArgument))
818 #define VALA_NAMED_ARGUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_NAMED_ARGUMENT, ValaNamedArgumentClass))
819 #define VALA_IS_NAMED_ARGUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_NAMED_ARGUMENT))
820 #define VALA_IS_NAMED_ARGUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_NAMED_ARGUMENT))
821 #define VALA_NAMED_ARGUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_NAMED_ARGUMENT, ValaNamedArgumentClass))
822
823 typedef struct _ValaNamedArgument ValaNamedArgument;
824 typedef struct _ValaNamedArgumentClass ValaNamedArgumentClass;
825
826 #define VALA_TYPE_POINTER_INDIRECTION (vala_pointer_indirection_get_type ())
827 #define VALA_POINTER_INDIRECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_POINTER_INDIRECTION, ValaPointerIndirection))
828 #define VALA_POINTER_INDIRECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_POINTER_INDIRECTION, ValaPointerIndirectionClass))
829 #define VALA_IS_POINTER_INDIRECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_POINTER_INDIRECTION))
830 #define VALA_IS_POINTER_INDIRECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_POINTER_INDIRECTION))
831 #define VALA_POINTER_INDIRECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_POINTER_INDIRECTION, ValaPointerIndirectionClass))
832
833 typedef struct _ValaPointerIndirection ValaPointerIndirection;
834 typedef struct _ValaPointerIndirectionClass ValaPointerIndirectionClass;
835
836 #define VALA_TYPE_ADDRESSOF_EXPRESSION (vala_addressof_expression_get_type ())
837 #define VALA_ADDRESSOF_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ADDRESSOF_EXPRESSION, ValaAddressofExpression))
838 #define VALA_ADDRESSOF_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ADDRESSOF_EXPRESSION, ValaAddressofExpressionClass))
839 #define VALA_IS_ADDRESSOF_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ADDRESSOF_EXPRESSION))
840 #define VALA_IS_ADDRESSOF_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ADDRESSOF_EXPRESSION))
841 #define VALA_ADDRESSOF_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ADDRESSOF_EXPRESSION, ValaAddressofExpressionClass))
842
843 typedef struct _ValaAddressofExpression ValaAddressofExpression;
844 typedef struct _ValaAddressofExpressionClass ValaAddressofExpressionClass;
845
846 #define VALA_TYPE_REFERENCE_TRANSFER_EXPRESSION (vala_reference_transfer_expression_get_type ())
847 #define VALA_REFERENCE_TRANSFER_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_REFERENCE_TRANSFER_EXPRESSION, ValaReferenceTransferExpression))
848 #define VALA_REFERENCE_TRANSFER_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_REFERENCE_TRANSFER_EXPRESSION, ValaReferenceTransferExpressionClass))
849 #define VALA_IS_REFERENCE_TRANSFER_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_REFERENCE_TRANSFER_EXPRESSION))
850 #define VALA_IS_REFERENCE_TRANSFER_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_REFERENCE_TRANSFER_EXPRESSION))
851 #define VALA_REFERENCE_TRANSFER_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_REFERENCE_TRANSFER_EXPRESSION, ValaReferenceTransferExpressionClass))
852
853 typedef struct _ValaReferenceTransferExpression ValaReferenceTransferExpression;
854 typedef struct _ValaReferenceTransferExpressionClass ValaReferenceTransferExpressionClass;
855
856 #define VALA_TYPE_BINARY_EXPRESSION (vala_binary_expression_get_type ())
857 #define VALA_BINARY_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_BINARY_EXPRESSION, ValaBinaryExpression))
858 #define VALA_BINARY_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_BINARY_EXPRESSION, ValaBinaryExpressionClass))
859 #define VALA_IS_BINARY_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_BINARY_EXPRESSION))
860 #define VALA_IS_BINARY_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_BINARY_EXPRESSION))
861 #define VALA_BINARY_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_BINARY_EXPRESSION, ValaBinaryExpressionClass))
862
863 typedef struct _ValaBinaryExpression ValaBinaryExpression;
864 typedef struct _ValaBinaryExpressionClass ValaBinaryExpressionClass;
865
866 #define VALA_TYPE_TYPECHECK (vala_typecheck_get_type ())
867 #define VALA_TYPECHECK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TYPECHECK, ValaTypeCheck))
868 #define VALA_TYPECHECK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TYPECHECK, ValaTypeCheckClass))
869 #define VALA_IS_TYPECHECK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TYPECHECK))
870 #define VALA_IS_TYPECHECK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TYPECHECK))
871 #define VALA_TYPECHECK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TYPECHECK, ValaTypeCheckClass))
872
873 typedef struct _ValaTypeCheck ValaTypeCheck;
874 typedef struct _ValaTypeCheckClass ValaTypeCheckClass;
875
876 #define VALA_TYPE_CONDITIONAL_EXPRESSION (vala_conditional_expression_get_type ())
877 #define VALA_CONDITIONAL_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CONDITIONAL_EXPRESSION, ValaConditionalExpression))
878 #define VALA_CONDITIONAL_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CONDITIONAL_EXPRESSION, ValaConditionalExpressionClass))
879 #define VALA_IS_CONDITIONAL_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CONDITIONAL_EXPRESSION))
880 #define VALA_IS_CONDITIONAL_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CONDITIONAL_EXPRESSION))
881 #define VALA_CONDITIONAL_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CONDITIONAL_EXPRESSION, ValaConditionalExpressionClass))
882
883 typedef struct _ValaConditionalExpression ValaConditionalExpression;
884 typedef struct _ValaConditionalExpressionClass ValaConditionalExpressionClass;
885
886 #define VALA_TYPE_LAMBDA_EXPRESSION (vala_lambda_expression_get_type ())
887 #define VALA_LAMBDA_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_LAMBDA_EXPRESSION, ValaLambdaExpression))
888 #define VALA_LAMBDA_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_LAMBDA_EXPRESSION, ValaLambdaExpressionClass))
889 #define VALA_IS_LAMBDA_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_LAMBDA_EXPRESSION))
890 #define VALA_IS_LAMBDA_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_LAMBDA_EXPRESSION))
891 #define VALA_LAMBDA_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_LAMBDA_EXPRESSION, ValaLambdaExpressionClass))
892
893 typedef struct _ValaLambdaExpression ValaLambdaExpression;
894 typedef struct _ValaLambdaExpressionClass ValaLambdaExpressionClass;
895
896 #define VALA_TYPE_ASSIGNMENT (vala_assignment_get_type ())
897 #define VALA_ASSIGNMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ASSIGNMENT, ValaAssignment))
898 #define VALA_ASSIGNMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ASSIGNMENT, ValaAssignmentClass))
899 #define VALA_IS_ASSIGNMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ASSIGNMENT))
900 #define VALA_IS_ASSIGNMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ASSIGNMENT))
901 #define VALA_ASSIGNMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ASSIGNMENT, ValaAssignmentClass))
902
903 typedef struct _ValaAssignment ValaAssignment;
904 typedef struct _ValaAssignmentClass ValaAssignmentClass;
905
906 #define VALA_TYPE_SYMBOL_RESOLVER (vala_symbol_resolver_get_type ())
907 #define VALA_SYMBOL_RESOLVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SYMBOL_RESOLVER, ValaSymbolResolver))
908 #define VALA_SYMBOL_RESOLVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SYMBOL_RESOLVER, ValaSymbolResolverClass))
909 #define VALA_IS_SYMBOL_RESOLVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SYMBOL_RESOLVER))
910 #define VALA_IS_SYMBOL_RESOLVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SYMBOL_RESOLVER))
911 #define VALA_SYMBOL_RESOLVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SYMBOL_RESOLVER, ValaSymbolResolverClass))
912
913 typedef struct _ValaSymbolResolver ValaSymbolResolver;
914 typedef struct _ValaSymbolResolverClass ValaSymbolResolverClass;
915 typedef struct _ValaSymbolResolverPrivate ValaSymbolResolverPrivate;
916
917 #define VALA_TYPE_CODE_CONTEXT (vala_code_context_get_type ())
918 #define VALA_CODE_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CODE_CONTEXT, ValaCodeContext))
919 #define VALA_CODE_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CODE_CONTEXT, ValaCodeContextClass))
920 #define VALA_IS_CODE_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CODE_CONTEXT))
921 #define VALA_IS_CODE_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CODE_CONTEXT))
922 #define VALA_CODE_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CODE_CONTEXT, ValaCodeContextClass))
923
924 typedef struct _ValaCodeContext ValaCodeContext;
925 typedef struct _ValaCodeContextClass ValaCodeContextClass;
926
927 #define VALA_TYPE_SCOPE (vala_scope_get_type ())
928 #define VALA_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SCOPE, ValaScope))
929 #define VALA_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SCOPE, ValaScopeClass))
930 #define VALA_IS_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SCOPE))
931 #define VALA_IS_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SCOPE))
932 #define VALA_SCOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SCOPE, ValaScopeClass))
933
934 typedef struct _ValaScope ValaScope;
935 typedef struct _ValaScopeClass ValaScopeClass;
936 #define _vala_code_context_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_context_unref (var), NULL)))
937 #define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
938 #define _vala_scope_unref0(var) ((var == NULL) ? NULL : (var = (vala_scope_unref (var), NULL)))
939
940 #define VALA_TYPE_SOURCE_REFERENCE (vala_source_reference_get_type ())
941 #define VALA_SOURCE_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SOURCE_REFERENCE, ValaSourceReference))
942 #define VALA_SOURCE_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SOURCE_REFERENCE, ValaSourceReferenceClass))
943 #define VALA_IS_SOURCE_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SOURCE_REFERENCE))
944 #define VALA_IS_SOURCE_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SOURCE_REFERENCE))
945 #define VALA_SOURCE_REFERENCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SOURCE_REFERENCE, ValaSourceReferenceClass))
946
947 typedef struct _ValaSourceReference ValaSourceReference;
948 typedef struct _ValaSourceReferenceClass ValaSourceReferenceClass;
949 #define _g_free0(var) (var = (g_free (var), NULL))
950 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
951
952 #define VALA_TYPE_UNRESOLVED_SYMBOL (vala_unresolved_symbol_get_type ())
953 #define VALA_UNRESOLVED_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_UNRESOLVED_SYMBOL, ValaUnresolvedSymbol))
954 #define VALA_UNRESOLVED_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_UNRESOLVED_SYMBOL, ValaUnresolvedSymbolClass))
955 #define VALA_IS_UNRESOLVED_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_UNRESOLVED_SYMBOL))
956 #define VALA_IS_UNRESOLVED_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_UNRESOLVED_SYMBOL))
957 #define VALA_UNRESOLVED_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_UNRESOLVED_SYMBOL, ValaUnresolvedSymbolClass))
958
959 typedef struct _ValaUnresolvedSymbol ValaUnresolvedSymbol;
960 typedef struct _ValaUnresolvedSymbolClass ValaUnresolvedSymbolClass;
961
962 #define VALA_TYPE_ATTRIBUTE (vala_attribute_get_type ())
963 #define VALA_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ATTRIBUTE, ValaAttribute))
964 #define VALA_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ATTRIBUTE, ValaAttributeClass))
965 #define VALA_IS_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ATTRIBUTE))
966 #define VALA_IS_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ATTRIBUTE))
967 #define VALA_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ATTRIBUTE, ValaAttributeClass))
968
969 typedef struct _ValaAttribute ValaAttribute;
970 typedef struct _ValaAttributeClass ValaAttributeClass;
971
972 #define VALA_TYPE_VALUE_TYPE (vala_value_type_get_type ())
973 #define VALA_VALUE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_VALUE_TYPE, ValaValueType))
974 #define VALA_VALUE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_VALUE_TYPE, ValaValueTypeClass))
975 #define VALA_IS_VALUE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_VALUE_TYPE))
976 #define VALA_IS_VALUE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_VALUE_TYPE))
977 #define VALA_VALUE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_VALUE_TYPE, ValaValueTypeClass))
978
979 typedef struct _ValaValueType ValaValueType;
980 typedef struct _ValaValueTypeClass ValaValueTypeClass;
981
982 #define VALA_TYPE_BOOLEAN_TYPE (vala_boolean_type_get_type ())
983 #define VALA_BOOLEAN_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_BOOLEAN_TYPE, ValaBooleanType))
984 #define VALA_BOOLEAN_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_BOOLEAN_TYPE, ValaBooleanTypeClass))
985 #define VALA_IS_BOOLEAN_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_BOOLEAN_TYPE))
986 #define VALA_IS_BOOLEAN_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_BOOLEAN_TYPE))
987 #define VALA_BOOLEAN_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_BOOLEAN_TYPE, ValaBooleanTypeClass))
988
989 typedef struct _ValaBooleanType ValaBooleanType;
990 typedef struct _ValaBooleanTypeClass ValaBooleanTypeClass;
991
992 #define VALA_TYPE_INTEGER_TYPE (vala_integer_type_get_type ())
993 #define VALA_INTEGER_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_INTEGER_TYPE, ValaIntegerType))
994 #define VALA_INTEGER_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_INTEGER_TYPE, ValaIntegerTypeClass))
995 #define VALA_IS_INTEGER_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_INTEGER_TYPE))
996 #define VALA_IS_INTEGER_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_INTEGER_TYPE))
997 #define VALA_INTEGER_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_INTEGER_TYPE, ValaIntegerTypeClass))
998
999 typedef struct _ValaIntegerType ValaIntegerType;
1000 typedef struct _ValaIntegerTypeClass ValaIntegerTypeClass;
1001
1002 #define VALA_TYPE_FLOATING_TYPE (vala_floating_type_get_type ())
1003 #define VALA_FLOATING_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_FLOATING_TYPE, ValaFloatingType))
1004 #define VALA_FLOATING_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_FLOATING_TYPE, ValaFloatingTypeClass))
1005 #define VALA_IS_FLOATING_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_FLOATING_TYPE))
1006 #define VALA_IS_FLOATING_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_FLOATING_TYPE))
1007 #define VALA_FLOATING_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_FLOATING_TYPE, ValaFloatingTypeClass))
1008
1009 typedef struct _ValaFloatingType ValaFloatingType;
1010 typedef struct _ValaFloatingTypeClass ValaFloatingTypeClass;
1011
1012 #define VALA_TYPE_STRUCT_VALUE_TYPE (vala_struct_value_type_get_type ())
1013 #define VALA_STRUCT_VALUE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_STRUCT_VALUE_TYPE, ValaStructValueType))
1014 #define VALA_STRUCT_VALUE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_STRUCT_VALUE_TYPE, ValaStructValueTypeClass))
1015 #define VALA_IS_STRUCT_VALUE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_STRUCT_VALUE_TYPE))
1016 #define VALA_IS_STRUCT_VALUE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_STRUCT_VALUE_TYPE))
1017 #define VALA_STRUCT_VALUE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_STRUCT_VALUE_TYPE, ValaStructValueTypeClass))
1018
1019 typedef struct _ValaStructValueType ValaStructValueType;
1020 typedef struct _ValaStructValueTypeClass ValaStructValueTypeClass;
1021
1022 #define VALA_TYPE_UNRESOLVED_TYPE (vala_unresolved_type_get_type ())
1023 #define VALA_UNRESOLVED_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_UNRESOLVED_TYPE, ValaUnresolvedType))
1024 #define VALA_UNRESOLVED_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_UNRESOLVED_TYPE, ValaUnresolvedTypeClass))
1025 #define VALA_IS_UNRESOLVED_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_UNRESOLVED_TYPE))
1026 #define VALA_IS_UNRESOLVED_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_UNRESOLVED_TYPE))
1027 #define VALA_UNRESOLVED_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_UNRESOLVED_TYPE, ValaUnresolvedTypeClass))
1028
1029 typedef struct _ValaUnresolvedType ValaUnresolvedType;
1030 typedef struct _ValaUnresolvedTypeClass ValaUnresolvedTypeClass;
1031
1032 #define VALA_TYPE_VOID_TYPE (vala_void_type_get_type ())
1033 #define VALA_VOID_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_VOID_TYPE, ValaVoidType))
1034 #define VALA_VOID_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_VOID_TYPE, ValaVoidTypeClass))
1035 #define VALA_IS_VOID_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_VOID_TYPE))
1036 #define VALA_IS_VOID_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_VOID_TYPE))
1037 #define VALA_VOID_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_VOID_TYPE, ValaVoidTypeClass))
1038
1039 typedef struct _ValaVoidType ValaVoidType;
1040 typedef struct _ValaVoidTypeClass ValaVoidTypeClass;
1041
1042 #define VALA_TYPE_INVALID_TYPE (vala_invalid_type_get_type ())
1043 #define VALA_INVALID_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_INVALID_TYPE, ValaInvalidType))
1044 #define VALA_INVALID_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_INVALID_TYPE, ValaInvalidTypeClass))
1045 #define VALA_IS_INVALID_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_INVALID_TYPE))
1046 #define VALA_IS_INVALID_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_INVALID_TYPE))
1047 #define VALA_INVALID_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_INVALID_TYPE, ValaInvalidTypeClass))
1048
1049 typedef struct _ValaInvalidType ValaInvalidType;
1050 typedef struct _ValaInvalidTypeClass ValaInvalidTypeClass;
1051
1052 #define VALA_TYPE_GENERIC_TYPE (vala_generic_type_get_type ())
1053 #define VALA_GENERIC_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GENERIC_TYPE, ValaGenericType))
1054 #define VALA_GENERIC_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GENERIC_TYPE, ValaGenericTypeClass))
1055 #define VALA_IS_GENERIC_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GENERIC_TYPE))
1056 #define VALA_IS_GENERIC_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GENERIC_TYPE))
1057 #define VALA_GENERIC_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GENERIC_TYPE, ValaGenericTypeClass))
1058
1059 typedef struct _ValaGenericType ValaGenericType;
1060 typedef struct _ValaGenericTypeClass ValaGenericTypeClass;
1061
1062 #define VALA_TYPE_DELEGATE_TYPE (vala_delegate_type_get_type ())
1063 #define VALA_DELEGATE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DELEGATE_TYPE, ValaDelegateType))
1064 #define VALA_DELEGATE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DELEGATE_TYPE, ValaDelegateTypeClass))
1065 #define VALA_IS_DELEGATE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DELEGATE_TYPE))
1066 #define VALA_IS_DELEGATE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DELEGATE_TYPE))
1067 #define VALA_DELEGATE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DELEGATE_TYPE, ValaDelegateTypeClass))
1068
1069 typedef struct _ValaDelegateType ValaDelegateType;
1070 typedef struct _ValaDelegateTypeClass ValaDelegateTypeClass;
1071
1072 #define VALA_TYPE_REFERENCE_TYPE (vala_reference_type_get_type ())
1073 #define VALA_REFERENCE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_REFERENCE_TYPE, ValaReferenceType))
1074 #define VALA_REFERENCE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_REFERENCE_TYPE, ValaReferenceTypeClass))
1075 #define VALA_IS_REFERENCE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_REFERENCE_TYPE))
1076 #define VALA_IS_REFERENCE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_REFERENCE_TYPE))
1077 #define VALA_REFERENCE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_REFERENCE_TYPE, ValaReferenceTypeClass))
1078
1079 typedef struct _ValaReferenceType ValaReferenceType;
1080 typedef struct _ValaReferenceTypeClass ValaReferenceTypeClass;
1081
1082 #define VALA_TYPE_ERROR_TYPE (vala_error_type_get_type ())
1083 #define VALA_ERROR_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ERROR_TYPE, ValaErrorType))
1084 #define VALA_ERROR_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ERROR_TYPE, ValaErrorTypeClass))
1085 #define VALA_IS_ERROR_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ERROR_TYPE))
1086 #define VALA_IS_ERROR_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ERROR_TYPE))
1087 #define VALA_ERROR_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ERROR_TYPE, ValaErrorTypeClass))
1088
1089 typedef struct _ValaErrorType ValaErrorType;
1090 typedef struct _ValaErrorTypeClass ValaErrorTypeClass;
1091
1092 #define VALA_TYPE_OBJECT_TYPE (vala_object_type_get_type ())
1093 #define VALA_OBJECT_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_OBJECT_TYPE, ValaObjectType))
1094 #define VALA_OBJECT_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_OBJECT_TYPE, ValaObjectTypeClass))
1095 #define VALA_IS_OBJECT_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_OBJECT_TYPE))
1096 #define VALA_IS_OBJECT_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_OBJECT_TYPE))
1097 #define VALA_OBJECT_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_OBJECT_TYPE, ValaObjectTypeClass))
1098
1099 typedef struct _ValaObjectType ValaObjectType;
1100 typedef struct _ValaObjectTypeClass ValaObjectTypeClass;
1101
1102 #define VALA_TYPE_ENUM_VALUE_TYPE (vala_enum_value_type_get_type ())
1103 #define VALA_ENUM_VALUE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ENUM_VALUE_TYPE, ValaEnumValueType))
1104 #define VALA_ENUM_VALUE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ENUM_VALUE_TYPE, ValaEnumValueTypeClass))
1105 #define VALA_IS_ENUM_VALUE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ENUM_VALUE_TYPE))
1106 #define VALA_IS_ENUM_VALUE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ENUM_VALUE_TYPE))
1107 #define VALA_ENUM_VALUE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ENUM_VALUE_TYPE, ValaEnumValueTypeClass))
1108
1109 typedef struct _ValaEnumValueType ValaEnumValueType;
1110 typedef struct _ValaEnumValueTypeClass ValaEnumValueTypeClass;
1111
1112 #define VALA_TYPE_ARRAY_TYPE (vala_array_type_get_type ())
1113 #define VALA_ARRAY_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ARRAY_TYPE, ValaArrayType))
1114 #define VALA_ARRAY_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ARRAY_TYPE, ValaArrayTypeClass))
1115 #define VALA_IS_ARRAY_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ARRAY_TYPE))
1116 #define VALA_IS_ARRAY_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ARRAY_TYPE))
1117 #define VALA_ARRAY_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ARRAY_TYPE, ValaArrayTypeClass))
1118
1119 typedef struct _ValaArrayType ValaArrayType;
1120 typedef struct _ValaArrayTypeClass ValaArrayTypeClass;
1121
1122 struct _ValaCodeVisitor {
1123         GTypeInstance parent_instance;
1124         volatile int ref_count;
1125         ValaCodeVisitorPrivate * priv;
1126 };
1127
1128 struct _ValaCodeVisitorClass {
1129         GTypeClass parent_class;
1130         void (*finalize) (ValaCodeVisitor *self);
1131         void (*visit_source_file) (ValaCodeVisitor* self, ValaSourceFile* source_file);
1132         void (*visit_namespace) (ValaCodeVisitor* self, ValaNamespace* ns);
1133         void (*visit_class) (ValaCodeVisitor* self, ValaClass* cl);
1134         void (*visit_struct) (ValaCodeVisitor* self, ValaStruct* st);
1135         void (*visit_interface) (ValaCodeVisitor* self, ValaInterface* iface);
1136         void (*visit_enum) (ValaCodeVisitor* self, ValaEnum* en);
1137         void (*visit_enum_value) (ValaCodeVisitor* self, ValaEnumValue* ev);
1138         void (*visit_error_domain) (ValaCodeVisitor* self, ValaErrorDomain* edomain);
1139         void (*visit_error_code) (ValaCodeVisitor* self, ValaErrorCode* ecode);
1140         void (*visit_delegate) (ValaCodeVisitor* self, ValaDelegate* d);
1141         void (*visit_constant) (ValaCodeVisitor* self, ValaConstant* c);
1142         void (*visit_field) (ValaCodeVisitor* self, ValaField* f);
1143         void (*visit_method) (ValaCodeVisitor* self, ValaMethod* m);
1144         void (*visit_creation_method) (ValaCodeVisitor* self, ValaCreationMethod* m);
1145         void (*visit_formal_parameter) (ValaCodeVisitor* self, ValaParameter* p);
1146         void (*visit_property) (ValaCodeVisitor* self, ValaProperty* prop);
1147         void (*visit_property_accessor) (ValaCodeVisitor* self, ValaPropertyAccessor* acc);
1148         void (*visit_signal) (ValaCodeVisitor* self, ValaSignal* sig);
1149         void (*visit_constructor) (ValaCodeVisitor* self, ValaConstructor* c);
1150         void (*visit_destructor) (ValaCodeVisitor* self, ValaDestructor* d);
1151         void (*visit_type_parameter) (ValaCodeVisitor* self, ValaTypeParameter* p);
1152         void (*visit_using_directive) (ValaCodeVisitor* self, ValaUsingDirective* ns);
1153         void (*visit_data_type) (ValaCodeVisitor* self, ValaDataType* type);
1154         void (*visit_block) (ValaCodeVisitor* self, ValaBlock* b);
1155         void (*visit_empty_statement) (ValaCodeVisitor* self, ValaEmptyStatement* stmt);
1156         void (*visit_declaration_statement) (ValaCodeVisitor* self, ValaDeclarationStatement* stmt);
1157         void (*visit_local_variable) (ValaCodeVisitor* self, ValaLocalVariable* local);
1158         void (*visit_initializer_list) (ValaCodeVisitor* self, ValaInitializerList* list);
1159         void (*visit_expression_statement) (ValaCodeVisitor* self, ValaExpressionStatement* stmt);
1160         void (*visit_if_statement) (ValaCodeVisitor* self, ValaIfStatement* stmt);
1161         void (*visit_switch_statement) (ValaCodeVisitor* self, ValaSwitchStatement* stmt);
1162         void (*visit_switch_section) (ValaCodeVisitor* self, ValaSwitchSection* section);
1163         void (*visit_switch_label) (ValaCodeVisitor* self, ValaSwitchLabel* label);
1164         void (*visit_loop) (ValaCodeVisitor* self, ValaLoop* stmt);
1165         void (*visit_while_statement) (ValaCodeVisitor* self, ValaWhileStatement* stmt);
1166         void (*visit_do_statement) (ValaCodeVisitor* self, ValaDoStatement* stmt);
1167         void (*visit_for_statement) (ValaCodeVisitor* self, ValaForStatement* stmt);
1168         void (*visit_foreach_statement) (ValaCodeVisitor* self, ValaForeachStatement* stmt);
1169         void (*visit_break_statement) (ValaCodeVisitor* self, ValaBreakStatement* stmt);
1170         void (*visit_continue_statement) (ValaCodeVisitor* self, ValaContinueStatement* stmt);
1171         void (*visit_return_statement) (ValaCodeVisitor* self, ValaReturnStatement* stmt);
1172         void (*visit_yield_statement) (ValaCodeVisitor* self, ValaYieldStatement* y);
1173         void (*visit_throw_statement) (ValaCodeVisitor* self, ValaThrowStatement* stmt);
1174         void (*visit_try_statement) (ValaCodeVisitor* self, ValaTryStatement* stmt);
1175         void (*visit_catch_clause) (ValaCodeVisitor* self, ValaCatchClause* clause);
1176         void (*visit_lock_statement) (ValaCodeVisitor* self, ValaLockStatement* stmt);
1177         void (*visit_unlock_statement) (ValaCodeVisitor* self, ValaUnlockStatement* stmt);
1178         void (*visit_delete_statement) (ValaCodeVisitor* self, ValaDeleteStatement* stmt);
1179         void (*visit_expression) (ValaCodeVisitor* self, ValaExpression* expr);
1180         void (*visit_array_creation_expression) (ValaCodeVisitor* self, ValaArrayCreationExpression* expr);
1181         void (*visit_boolean_literal) (ValaCodeVisitor* self, ValaBooleanLiteral* lit);
1182         void (*visit_character_literal) (ValaCodeVisitor* self, ValaCharacterLiteral* lit);
1183         void (*visit_integer_literal) (ValaCodeVisitor* self, ValaIntegerLiteral* lit);
1184         void (*visit_real_literal) (ValaCodeVisitor* self, ValaRealLiteral* lit);
1185         void (*visit_regex_literal) (ValaCodeVisitor* self, ValaRegexLiteral* lit);
1186         void (*visit_string_literal) (ValaCodeVisitor* self, ValaStringLiteral* lit);
1187         void (*visit_template) (ValaCodeVisitor* self, ValaTemplate* tmpl);
1188         void (*visit_tuple) (ValaCodeVisitor* self, ValaTuple* tuple);
1189         void (*visit_null_literal) (ValaCodeVisitor* self, ValaNullLiteral* lit);
1190         void (*visit_member_access) (ValaCodeVisitor* self, ValaMemberAccess* expr);
1191         void (*visit_method_call) (ValaCodeVisitor* self, ValaMethodCall* expr);
1192         void (*visit_element_access) (ValaCodeVisitor* self, ValaElementAccess* expr);
1193         void (*visit_slice_expression) (ValaCodeVisitor* self, ValaSliceExpression* expr);
1194         void (*visit_base_access) (ValaCodeVisitor* self, ValaBaseAccess* expr);
1195         void (*visit_postfix_expression) (ValaCodeVisitor* self, ValaPostfixExpression* expr);
1196         void (*visit_object_creation_expression) (ValaCodeVisitor* self, ValaObjectCreationExpression* expr);
1197         void (*visit_sizeof_expression) (ValaCodeVisitor* self, ValaSizeofExpression* expr);
1198         void (*visit_typeof_expression) (ValaCodeVisitor* self, ValaTypeofExpression* expr);
1199         void (*visit_unary_expression) (ValaCodeVisitor* self, ValaUnaryExpression* expr);
1200         void (*visit_cast_expression) (ValaCodeVisitor* self, ValaCastExpression* expr);
1201         void (*visit_named_argument) (ValaCodeVisitor* self, ValaNamedArgument* expr);
1202         void (*visit_pointer_indirection) (ValaCodeVisitor* self, ValaPointerIndirection* expr);
1203         void (*visit_addressof_expression) (ValaCodeVisitor* self, ValaAddressofExpression* expr);
1204         void (*visit_reference_transfer_expression) (ValaCodeVisitor* self, ValaReferenceTransferExpression* expr);
1205         void (*visit_binary_expression) (ValaCodeVisitor* self, ValaBinaryExpression* expr);
1206         void (*visit_type_check) (ValaCodeVisitor* self, ValaTypeCheck* expr);
1207         void (*visit_conditional_expression) (ValaCodeVisitor* self, ValaConditionalExpression* expr);
1208         void (*visit_lambda_expression) (ValaCodeVisitor* self, ValaLambdaExpression* expr);
1209         void (*visit_assignment) (ValaCodeVisitor* self, ValaAssignment* a);
1210         void (*visit_end_full_expression) (ValaCodeVisitor* self, ValaExpression* expr);
1211 };
1212
1213 struct _ValaSymbolResolver {
1214         ValaCodeVisitor parent_instance;
1215         ValaSymbolResolverPrivate * priv;
1216 };
1217
1218 struct _ValaSymbolResolverClass {
1219         ValaCodeVisitorClass parent_class;
1220 };
1221
1222 struct _ValaSymbolResolverPrivate {
1223         ValaCodeContext* context;
1224         ValaSymbol* root_symbol;
1225         ValaScope* current_scope;
1226 };
1227
1228
1229 static gpointer vala_symbol_resolver_parent_class = NULL;
1230
1231 gpointer vala_code_visitor_ref (gpointer instance);
1232 void vala_code_visitor_unref (gpointer instance);
1233 GParamSpec* vala_param_spec_code_visitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
1234 void vala_value_set_code_visitor (GValue* value, gpointer v_object);
1235 void vala_value_take_code_visitor (GValue* value, gpointer v_object);
1236 gpointer vala_value_get_code_visitor (const GValue* value);
1237 GType vala_code_visitor_get_type (void) G_GNUC_CONST;
1238 gpointer vala_source_file_ref (gpointer instance);
1239 void vala_source_file_unref (gpointer instance);
1240 GParamSpec* vala_param_spec_source_file (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
1241 void vala_value_set_source_file (GValue* value, gpointer v_object);
1242 void vala_value_take_source_file (GValue* value, gpointer v_object);
1243 gpointer vala_value_get_source_file (const GValue* value);
1244 GType vala_source_file_get_type (void) G_GNUC_CONST;
1245 gpointer vala_code_node_ref (gpointer instance);
1246 void vala_code_node_unref (gpointer instance);
1247 GParamSpec* vala_param_spec_code_node (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
1248 void vala_value_set_code_node (GValue* value, gpointer v_object);
1249 void vala_value_take_code_node (GValue* value, gpointer v_object);
1250 gpointer vala_value_get_code_node (const GValue* value);
1251 GType vala_code_node_get_type (void) G_GNUC_CONST;
1252 GType vala_symbol_get_type (void) G_GNUC_CONST;
1253 GType vala_namespace_get_type (void) G_GNUC_CONST;
1254 GType vala_typesymbol_get_type (void) G_GNUC_CONST;
1255 GType vala_object_type_symbol_get_type (void) G_GNUC_CONST;
1256 GType vala_class_get_type (void) G_GNUC_CONST;
1257 GType vala_struct_get_type (void) G_GNUC_CONST;
1258 GType vala_interface_get_type (void) G_GNUC_CONST;
1259 GType vala_enum_get_type (void) G_GNUC_CONST;
1260 GType vala_constant_get_type (void) G_GNUC_CONST;
1261 GType vala_enum_value_get_type (void) G_GNUC_CONST;
1262 GType vala_error_domain_get_type (void) G_GNUC_CONST;
1263 GType vala_error_code_get_type (void) G_GNUC_CONST;
1264 GType vala_delegate_get_type (void) G_GNUC_CONST;
1265 GType vala_variable_get_type (void) G_GNUC_CONST;
1266 GType vala_field_get_type (void) G_GNUC_CONST;
1267 GType vala_subroutine_get_type (void) G_GNUC_CONST;
1268 GType vala_method_get_type (void) G_GNUC_CONST;
1269 GType vala_creation_method_get_type (void) G_GNUC_CONST;
1270 GType vala_parameter_get_type (void) G_GNUC_CONST;
1271 GType vala_property_get_type (void) G_GNUC_CONST;
1272 GType vala_property_accessor_get_type (void) G_GNUC_CONST;
1273 GType vala_signal_get_type (void) G_GNUC_CONST;
1274 GType vala_constructor_get_type (void) G_GNUC_CONST;
1275 GType vala_destructor_get_type (void) G_GNUC_CONST;
1276 GType vala_typeparameter_get_type (void) G_GNUC_CONST;
1277 GType vala_using_directive_get_type (void) G_GNUC_CONST;
1278 GType vala_data_type_get_type (void) G_GNUC_CONST;
1279 GType vala_block_get_type (void) G_GNUC_CONST;
1280 GType vala_empty_statement_get_type (void) G_GNUC_CONST;
1281 GType vala_declaration_statement_get_type (void) G_GNUC_CONST;
1282 GType vala_local_variable_get_type (void) G_GNUC_CONST;
1283 GType vala_expression_get_type (void) G_GNUC_CONST;
1284 GType vala_initializer_list_get_type (void) G_GNUC_CONST;
1285 GType vala_expression_statement_get_type (void) G_GNUC_CONST;
1286 GType vala_if_statement_get_type (void) G_GNUC_CONST;
1287 GType vala_switch_statement_get_type (void) G_GNUC_CONST;
1288 GType vala_switch_section_get_type (void) G_GNUC_CONST;
1289 GType vala_switch_label_get_type (void) G_GNUC_CONST;
1290 GType vala_loop_get_type (void) G_GNUC_CONST;
1291 GType vala_while_statement_get_type (void) G_GNUC_CONST;
1292 GType vala_do_statement_get_type (void) G_GNUC_CONST;
1293 GType vala_for_statement_get_type (void) G_GNUC_CONST;
1294 GType vala_foreach_statement_get_type (void) G_GNUC_CONST;
1295 GType vala_break_statement_get_type (void) G_GNUC_CONST;
1296 GType vala_continue_statement_get_type (void) G_GNUC_CONST;
1297 GType vala_return_statement_get_type (void) G_GNUC_CONST;
1298 GType vala_yield_statement_get_type (void) G_GNUC_CONST;
1299 GType vala_throw_statement_get_type (void) G_GNUC_CONST;
1300 GType vala_try_statement_get_type (void) G_GNUC_CONST;
1301 GType vala_catch_clause_get_type (void) G_GNUC_CONST;
1302 GType vala_lock_statement_get_type (void) G_GNUC_CONST;
1303 GType vala_unlock_statement_get_type (void) G_GNUC_CONST;
1304 GType vala_delete_statement_get_type (void) G_GNUC_CONST;
1305 GType vala_array_creation_expression_get_type (void) G_GNUC_CONST;
1306 GType vala_literal_get_type (void) G_GNUC_CONST;
1307 GType vala_boolean_literal_get_type (void) G_GNUC_CONST;
1308 GType vala_character_literal_get_type (void) G_GNUC_CONST;
1309 GType vala_integer_literal_get_type (void) G_GNUC_CONST;
1310 GType vala_real_literal_get_type (void) G_GNUC_CONST;
1311 GType vala_regex_literal_get_type (void) G_GNUC_CONST;
1312 GType vala_string_literal_get_type (void) G_GNUC_CONST;
1313 GType vala_template_get_type (void) G_GNUC_CONST;
1314 GType vala_tuple_get_type (void) G_GNUC_CONST;
1315 GType vala_null_literal_get_type (void) G_GNUC_CONST;
1316 GType vala_member_access_get_type (void) G_GNUC_CONST;
1317 GType vala_method_call_get_type (void) G_GNUC_CONST;
1318 GType vala_element_access_get_type (void) G_GNUC_CONST;
1319 GType vala_slice_expression_get_type (void) G_GNUC_CONST;
1320 GType vala_base_access_get_type (void) G_GNUC_CONST;
1321 GType vala_postfix_expression_get_type (void) G_GNUC_CONST;
1322 GType vala_object_creation_expression_get_type (void) G_GNUC_CONST;
1323 GType vala_sizeof_expression_get_type (void) G_GNUC_CONST;
1324 GType vala_typeof_expression_get_type (void) G_GNUC_CONST;
1325 GType vala_unary_expression_get_type (void) G_GNUC_CONST;
1326 GType vala_cast_expression_get_type (void) G_GNUC_CONST;
1327 GType vala_named_argument_get_type (void) G_GNUC_CONST;
1328 GType vala_pointer_indirection_get_type (void) G_GNUC_CONST;
1329 GType vala_addressof_expression_get_type (void) G_GNUC_CONST;
1330 GType vala_reference_transfer_expression_get_type (void) G_GNUC_CONST;
1331 GType vala_binary_expression_get_type (void) G_GNUC_CONST;
1332 GType vala_typecheck_get_type (void) G_GNUC_CONST;
1333 GType vala_conditional_expression_get_type (void) G_GNUC_CONST;
1334 GType vala_lambda_expression_get_type (void) G_GNUC_CONST;
1335 GType vala_assignment_get_type (void) G_GNUC_CONST;
1336 GType vala_symbol_resolver_get_type (void) G_GNUC_CONST;
1337 gpointer vala_code_context_ref (gpointer instance);
1338 void vala_code_context_unref (gpointer instance);
1339 GParamSpec* vala_param_spec_code_context (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
1340 void vala_value_set_code_context (GValue* value, gpointer v_object);
1341 void vala_value_take_code_context (GValue* value, gpointer v_object);
1342 gpointer vala_value_get_code_context (const GValue* value);
1343 GType vala_code_context_get_type (void) G_GNUC_CONST;
1344 gpointer vala_scope_ref (gpointer instance);
1345 void vala_scope_unref (gpointer instance);
1346 GParamSpec* vala_param_spec_scope (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
1347 void vala_value_set_scope (GValue* value, gpointer v_object);
1348 void vala_value_take_scope (GValue* value, gpointer v_object);
1349 gpointer vala_value_get_scope (const GValue* value);
1350 GType vala_scope_get_type (void) G_GNUC_CONST;
1351 #define VALA_SYMBOL_RESOLVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VALA_TYPE_SYMBOL_RESOLVER, ValaSymbolResolverPrivate))
1352 enum  {
1353         VALA_SYMBOL_RESOLVER_DUMMY_PROPERTY
1354 };
1355 void vala_symbol_resolver_resolve (ValaSymbolResolver* self, ValaCodeContext* context);
1356 ValaNamespace* vala_code_context_get_root (ValaCodeContext* self);
1357 void vala_code_node_accept (ValaCodeNode* self, ValaCodeVisitor* visitor);
1358 static void vala_symbol_resolver_real_visit_namespace (ValaCodeVisitor* base, ValaNamespace* ns);
1359 ValaScope* vala_symbol_get_scope (ValaSymbol* self);
1360 void vala_code_node_accept_children (ValaCodeNode* self, ValaCodeVisitor* visitor);
1361 static void vala_symbol_resolver_real_visit_class (ValaCodeVisitor* base, ValaClass* cl);
1362 void vala_class_set_base_class (ValaClass* self, ValaClass* value);
1363 ValaList* vala_class_get_base_types (ValaClass* self);
1364 ValaTypeSymbol* vala_data_type_get_data_type (ValaDataType* self);
1365 ValaClass* vala_class_get_base_class (ValaClass* self);
1366 void vala_code_node_set_error (ValaCodeNode* self, gboolean value);
1367 gpointer vala_source_reference_ref (gpointer instance);
1368 void vala_source_reference_unref (gpointer instance);
1369 GParamSpec* vala_param_spec_source_reference (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
1370 void vala_value_set_source_reference (GValue* value, gpointer v_object);
1371 void vala_value_take_source_reference (GValue* value, gpointer v_object);
1372 gpointer vala_value_get_source_reference (const GValue* value);
1373 GType vala_source_reference_get_type (void) G_GNUC_CONST;
1374 void vala_report_error (ValaSourceReference* source, const gchar* message);
1375 ValaSourceReference* vala_code_node_get_source_reference (ValaCodeNode* self);
1376 gchar* vala_symbol_get_full_name (ValaSymbol* self);
1377 gboolean vala_typesymbol_is_subtype_of (ValaTypeSymbol* self, ValaTypeSymbol* t);
1378 ValaScope* vala_scope_get_parent_scope (ValaScope* self);
1379 static void vala_symbol_resolver_real_visit_struct (ValaCodeVisitor* base, ValaStruct* st);
1380 ValaDataType* vala_struct_get_base_type (ValaStruct* self);
1381 ValaStruct* vala_struct_get_base_struct (ValaStruct* self);
1382 static void vala_symbol_resolver_real_visit_interface (ValaCodeVisitor* base, ValaInterface* iface);
1383 ValaList* vala_interface_get_prerequisites (ValaInterface* self);
1384 static void vala_symbol_resolver_real_visit_enum (ValaCodeVisitor* base, ValaEnum* en);
1385 static void vala_symbol_resolver_real_visit_error_domain (ValaCodeVisitor* base, ValaErrorDomain* ed);
1386 static void vala_symbol_resolver_real_visit_delegate (ValaCodeVisitor* base, ValaDelegate* cb);
1387 static void vala_symbol_resolver_real_visit_constant (ValaCodeVisitor* base, ValaConstant* c);
1388 ValaSymbol* vala_symbol_get_parent_symbol (ValaSymbol* self);
1389 static void vala_symbol_resolver_real_visit_field (ValaCodeVisitor* base, ValaField* f);
1390 static void vala_symbol_resolver_real_visit_method (ValaCodeVisitor* base, ValaMethod* m);
1391 static void vala_symbol_resolver_real_visit_creation_method (ValaCodeVisitor* base, ValaCreationMethod* m);
1392 static void vala_symbol_resolver_real_visit_formal_parameter (ValaCodeVisitor* base, ValaParameter* p);
1393 static void vala_symbol_resolver_real_visit_property (ValaCodeVisitor* base, ValaProperty* prop);
1394 static void vala_symbol_resolver_real_visit_property_accessor (ValaCodeVisitor* base, ValaPropertyAccessor* acc);
1395 static void vala_symbol_resolver_real_visit_signal (ValaCodeVisitor* base, ValaSignal* sig);
1396 static void vala_symbol_resolver_real_visit_constructor (ValaCodeVisitor* base, ValaConstructor* c);
1397 static void vala_symbol_resolver_real_visit_destructor (ValaCodeVisitor* base, ValaDestructor* d);
1398 static void vala_symbol_resolver_real_visit_block (ValaCodeVisitor* base, ValaBlock* b);
1399 static void vala_symbol_resolver_real_visit_using_directive (ValaCodeVisitor* base, ValaUsingDirective* ns);
1400 ValaSymbol* vala_using_directive_get_namespace_symbol (ValaUsingDirective* self);
1401 GType vala_unresolved_symbol_get_type (void) G_GNUC_CONST;
1402 static ValaSymbol* vala_symbol_resolver_resolve_symbol (ValaSymbolResolver* self, ValaUnresolvedSymbol* unresolved_symbol);
1403 void vala_using_directive_set_namespace_symbol (ValaUsingDirective* self, ValaSymbol* value);
1404 gchar* vala_code_node_to_string (ValaCodeNode* self);
1405 gboolean vala_unresolved_symbol_get_qualified (ValaUnresolvedSymbol* self);
1406 ValaSymbol* vala_scope_lookup (ValaScope* self, const gchar* name);
1407 const gchar* vala_symbol_get_name (ValaSymbol* self);
1408 ValaUnresolvedSymbol* vala_unresolved_symbol_get_inner (ValaUnresolvedSymbol* self);
1409 ValaList* vala_source_reference_get_using_directives (ValaSourceReference* self);
1410 gboolean vala_code_node_get_error (ValaCodeNode* self);
1411 void vala_symbol_set_used (ValaSymbol* self, gboolean value);
1412 static ValaDataType* vala_symbol_resolver_get_type_for_struct (ValaSymbolResolver* self, ValaStruct* st, ValaStruct* base_struct);
1413 GType vala_attribute_get_type (void) G_GNUC_CONST;
1414 ValaAttribute* vala_code_node_get_attribute (ValaCodeNode* self, const gchar* name);
1415 ValaBooleanType* vala_boolean_type_new (ValaStruct* type_symbol);
1416 ValaBooleanType* vala_boolean_type_construct (GType object_type, ValaStruct* type_symbol);
1417 GType vala_value_type_get_type (void) G_GNUC_CONST;
1418 GType vala_boolean_type_get_type (void) G_GNUC_CONST;
1419 ValaIntegerType* vala_integer_type_new (ValaStruct* type_symbol, const gchar* literal_value, const gchar* literal_type_name);
1420 ValaIntegerType* vala_integer_type_construct (GType object_type, ValaStruct* type_symbol, const gchar* literal_value, const gchar* literal_type_name);
1421 GType vala_integer_type_get_type (void) G_GNUC_CONST;
1422 ValaFloatingType* vala_floating_type_new (ValaStruct* type_symbol);
1423 ValaFloatingType* vala_floating_type_construct (GType object_type, ValaStruct* type_symbol);
1424 GType vala_floating_type_get_type (void) G_GNUC_CONST;
1425 ValaStructValueType* vala_struct_value_type_new (ValaStruct* type_symbol);
1426 ValaStructValueType* vala_struct_value_type_construct (GType object_type, ValaStruct* type_symbol);
1427 GType vala_struct_value_type_get_type (void) G_GNUC_CONST;
1428 GType vala_unresolved_type_get_type (void) G_GNUC_CONST;
1429 static ValaDataType* vala_symbol_resolver_resolve_type (ValaSymbolResolver* self, ValaUnresolvedType* unresolved_type);
1430 ValaUnresolvedSymbol* vala_unresolved_type_get_unresolved_symbol (ValaUnresolvedType* self);
1431 ValaVoidType* vala_void_type_new (ValaSourceReference* source_reference);
1432 ValaVoidType* vala_void_type_construct (GType object_type, ValaSourceReference* source_reference);
1433 GType vala_void_type_get_type (void) G_GNUC_CONST;
1434 ValaInvalidType* vala_invalid_type_new (void);
1435 ValaInvalidType* vala_invalid_type_construct (GType object_type);
1436 GType vala_invalid_type_get_type (void) G_GNUC_CONST;
1437 ValaGenericType* vala_generic_type_new (ValaTypeParameter* type_parameter);
1438 ValaGenericType* vala_generic_type_construct (GType object_type, ValaTypeParameter* type_parameter);
1439 GType vala_generic_type_get_type (void) G_GNUC_CONST;
1440 ValaDelegateType* vala_delegate_type_new (ValaDelegate* delegate_symbol);
1441 ValaDelegateType* vala_delegate_type_construct (GType object_type, ValaDelegate* delegate_symbol);
1442 GType vala_delegate_type_get_type (void) G_GNUC_CONST;
1443 gboolean vala_class_get_is_error_base (ValaClass* self);
1444 ValaErrorType* vala_error_type_new (ValaErrorDomain* error_domain, ValaErrorCode* error_code, ValaSourceReference* source_reference);
1445 ValaErrorType* vala_error_type_construct (GType object_type, ValaErrorDomain* error_domain, ValaErrorCode* error_code, ValaSourceReference* source_reference);
1446 GType vala_reference_type_get_type (void) G_GNUC_CONST;
1447 GType vala_error_type_get_type (void) G_GNUC_CONST;
1448 ValaObjectType* vala_object_type_new (ValaObjectTypeSymbol* type_symbol);
1449 ValaObjectType* vala_object_type_construct (GType object_type, ValaObjectTypeSymbol* type_symbol);
1450 GType vala_object_type_get_type (void) G_GNUC_CONST;
1451 ValaEnumValueType* vala_enum_value_type_new (ValaEnum* type_symbol);
1452 ValaEnumValueType* vala_enum_value_type_construct (GType object_type, ValaEnum* type_symbol);
1453 GType vala_enum_value_type_get_type (void) G_GNUC_CONST;
1454 void vala_code_node_set_source_reference (ValaCodeNode* self, ValaSourceReference* value);
1455 gboolean vala_data_type_get_value_owned (ValaDataType* self);
1456 void vala_data_type_set_value_owned (ValaDataType* self, gboolean value);
1457 void vala_data_type_set_nullable (ValaDataType* self, gboolean value);
1458 gboolean vala_data_type_get_nullable (ValaDataType* self);
1459 gboolean vala_data_type_get_is_dynamic (ValaDataType* self);
1460 void vala_data_type_set_is_dynamic (ValaDataType* self, gboolean value);
1461 ValaList* vala_data_type_get_type_arguments (ValaDataType* self);
1462 void vala_data_type_add_type_argument (ValaDataType* self, ValaDataType* arg);
1463 static void vala_symbol_resolver_real_visit_data_type (ValaCodeVisitor* base, ValaDataType* data_type);
1464 ValaCodeNode* vala_code_node_get_parent_node (ValaCodeNode* self);
1465 void vala_code_node_replace_type (ValaCodeNode* self, ValaDataType* old_type, ValaDataType* new_type);
1466 static void vala_symbol_resolver_real_visit_declaration_statement (ValaCodeVisitor* base, ValaDeclarationStatement* stmt);
1467 static void vala_symbol_resolver_real_visit_local_variable (ValaCodeVisitor* base, ValaLocalVariable* local);
1468 gboolean vala_code_context_get_experimental_non_null (ValaCodeContext* self);
1469 ValaDataType* vala_variable_get_variable_type (ValaVariable* self);
1470 GType vala_array_type_get_type (void) G_GNUC_CONST;
1471 gboolean vala_array_type_get_fixed_length (ValaArrayType* self);
1472 static void vala_symbol_resolver_real_visit_initializer_list (ValaCodeVisitor* base, ValaInitializerList* list);
1473 static void vala_symbol_resolver_real_visit_expression_statement (ValaCodeVisitor* base, ValaExpressionStatement* stmt);
1474 static void vala_symbol_resolver_real_visit_if_statement (ValaCodeVisitor* base, ValaIfStatement* stmt);
1475 static void vala_symbol_resolver_real_visit_switch_statement (ValaCodeVisitor* base, ValaSwitchStatement* stmt);
1476 static void vala_symbol_resolver_real_visit_switch_section (ValaCodeVisitor* base, ValaSwitchSection* section);
1477 static void vala_symbol_resolver_real_visit_switch_label (ValaCodeVisitor* base, ValaSwitchLabel* label);
1478 static void vala_symbol_resolver_real_visit_loop (ValaCodeVisitor* base, ValaLoop* stmt);
1479 static void vala_symbol_resolver_real_visit_while_statement (ValaCodeVisitor* base, ValaWhileStatement* stmt);
1480 static void vala_symbol_resolver_real_visit_do_statement (ValaCodeVisitor* base, ValaDoStatement* stmt);
1481 static void vala_symbol_resolver_real_visit_for_statement (ValaCodeVisitor* base, ValaForStatement* stmt);
1482 static void vala_symbol_resolver_real_visit_foreach_statement (ValaCodeVisitor* base, ValaForeachStatement* stmt);
1483 static void vala_symbol_resolver_real_visit_return_statement (ValaCodeVisitor* base, ValaReturnStatement* stmt);
1484 static void vala_symbol_resolver_real_visit_yield_statement (ValaCodeVisitor* base, ValaYieldStatement* stmt);
1485 static void vala_symbol_resolver_real_visit_throw_statement (ValaCodeVisitor* base, ValaThrowStatement* stmt);
1486 static void vala_symbol_resolver_real_visit_try_statement (ValaCodeVisitor* base, ValaTryStatement* stmt);
1487 static void vala_symbol_resolver_real_visit_delete_statement (ValaCodeVisitor* base, ValaDeleteStatement* stmt);
1488 static void vala_symbol_resolver_real_visit_catch_clause (ValaCodeVisitor* base, ValaCatchClause* clause);
1489 static void vala_symbol_resolver_real_visit_array_creation_expression (ValaCodeVisitor* base, ValaArrayCreationExpression* e);
1490 static void vala_symbol_resolver_real_visit_template (ValaCodeVisitor* base, ValaTemplate* tmpl);
1491 static void vala_symbol_resolver_real_visit_tuple (ValaCodeVisitor* base, ValaTuple* tuple);
1492 static void vala_symbol_resolver_real_visit_member_access (ValaCodeVisitor* base, ValaMemberAccess* expr);
1493 static void vala_symbol_resolver_real_visit_method_call (ValaCodeVisitor* base, ValaMethodCall* expr);
1494 static void vala_symbol_resolver_real_visit_element_access (ValaCodeVisitor* base, ValaElementAccess* expr);
1495 static void vala_symbol_resolver_real_visit_slice_expression (ValaCodeVisitor* base, ValaSliceExpression* expr);
1496 static void vala_symbol_resolver_real_visit_postfix_expression (ValaCodeVisitor* base, ValaPostfixExpression* expr);
1497 static void vala_symbol_resolver_real_visit_object_creation_expression (ValaCodeVisitor* base, ValaObjectCreationExpression* expr);
1498 static void vala_symbol_resolver_real_visit_sizeof_expression (ValaCodeVisitor* base, ValaSizeofExpression* expr);
1499 static void vala_symbol_resolver_real_visit_typeof_expression (ValaCodeVisitor* base, ValaTypeofExpression* expr);
1500 static void vala_symbol_resolver_real_visit_unary_expression (ValaCodeVisitor* base, ValaUnaryExpression* expr);
1501 static void vala_symbol_resolver_real_visit_cast_expression (ValaCodeVisitor* base, ValaCastExpression* expr);
1502 static void vala_symbol_resolver_real_visit_addressof_expression (ValaCodeVisitor* base, ValaAddressofExpression* expr);
1503 static void vala_symbol_resolver_real_visit_reference_transfer_expression (ValaCodeVisitor* base, ValaReferenceTransferExpression* expr);
1504 static void vala_symbol_resolver_real_visit_binary_expression (ValaCodeVisitor* base, ValaBinaryExpression* expr);
1505 static void vala_symbol_resolver_real_visit_type_check (ValaCodeVisitor* base, ValaTypeCheck* expr);
1506 static void vala_symbol_resolver_real_visit_conditional_expression (ValaCodeVisitor* base, ValaConditionalExpression* expr);
1507 static void vala_symbol_resolver_real_visit_lambda_expression (ValaCodeVisitor* base, ValaLambdaExpression* l);
1508 static void vala_symbol_resolver_real_visit_assignment (ValaCodeVisitor* base, ValaAssignment* a);
1509 ValaSymbolResolver* vala_symbol_resolver_new (void);
1510 ValaSymbolResolver* vala_symbol_resolver_construct (GType object_type);
1511 ValaCodeVisitor* vala_code_visitor_construct (GType object_type);
1512 static void vala_symbol_resolver_finalize (ValaCodeVisitor* obj);
1513
1514
1515 /**
1516  * Resolve symbol names in the specified code context.
1517  *
1518  * @param context a code context
1519  */
1520 static gpointer _vala_code_context_ref0 (gpointer self) {
1521         return self ? vala_code_context_ref (self) : NULL;
1522 }
1523
1524
1525 static gpointer _vala_code_node_ref0 (gpointer self) {
1526         return self ? vala_code_node_ref (self) : NULL;
1527 }
1528
1529
1530 void vala_symbol_resolver_resolve (ValaSymbolResolver* self, ValaCodeContext* context) {
1531         ValaCodeContext* _tmp0_;
1532         ValaCodeContext* _tmp1_;
1533         ValaCodeContext* _tmp2_;
1534         ValaNamespace* _tmp3_;
1535         ValaNamespace* _tmp4_;
1536         ValaSymbol* _tmp5_;
1537         ValaCodeContext* _tmp6_;
1538         ValaNamespace* _tmp7_;
1539         ValaNamespace* _tmp8_;
1540         g_return_if_fail (self != NULL);
1541         g_return_if_fail (context != NULL);
1542         _tmp0_ = context;
1543         _tmp1_ = _vala_code_context_ref0 (_tmp0_);
1544         _vala_code_context_unref0 (self->priv->context);
1545         self->priv->context = _tmp1_;
1546         _tmp2_ = context;
1547         _tmp3_ = vala_code_context_get_root (_tmp2_);
1548         _tmp4_ = _tmp3_;
1549         _tmp5_ = _vala_code_node_ref0 ((ValaSymbol*) _tmp4_);
1550         _vala_code_node_unref0 (self->priv->root_symbol);
1551         self->priv->root_symbol = _tmp5_;
1552         _tmp6_ = context;
1553         _tmp7_ = vala_code_context_get_root (_tmp6_);
1554         _tmp8_ = _tmp7_;
1555         vala_code_node_accept ((ValaCodeNode*) _tmp8_, (ValaCodeVisitor*) self);
1556 }
1557
1558
1559 static gpointer _vala_scope_ref0 (gpointer self) {
1560         return self ? vala_scope_ref (self) : NULL;
1561 }
1562
1563
1564 static void vala_symbol_resolver_real_visit_namespace (ValaCodeVisitor* base, ValaNamespace* ns) {
1565         ValaSymbolResolver * self;
1566         ValaScope* _tmp0_;
1567         ValaScope* _tmp1_;
1568         ValaScope* old_scope;
1569         ValaNamespace* _tmp2_;
1570         ValaScope* _tmp3_;
1571         ValaScope* _tmp4_;
1572         ValaScope* _tmp5_;
1573         ValaNamespace* _tmp6_;
1574         ValaScope* _tmp7_;
1575         self = (ValaSymbolResolver*) base;
1576         g_return_if_fail (ns != NULL);
1577         _tmp0_ = self->priv->current_scope;
1578         _tmp1_ = _vala_scope_ref0 (_tmp0_);
1579         old_scope = _tmp1_;
1580         _tmp2_ = ns;
1581         _tmp3_ = vala_symbol_get_scope ((ValaSymbol*) _tmp2_);
1582         _tmp4_ = _tmp3_;
1583         _tmp5_ = _vala_scope_ref0 (_tmp4_);
1584         _vala_scope_unref0 (self->priv->current_scope);
1585         self->priv->current_scope = _tmp5_;
1586         _tmp6_ = ns;
1587         vala_code_node_accept_children ((ValaCodeNode*) _tmp6_, (ValaCodeVisitor*) self);
1588         _tmp7_ = _vala_scope_ref0 (old_scope);
1589         _vala_scope_unref0 (self->priv->current_scope);
1590         self->priv->current_scope = _tmp7_;
1591         _vala_scope_unref0 (old_scope);
1592 }
1593
1594
1595 static void vala_symbol_resolver_real_visit_class (ValaCodeVisitor* base, ValaClass* cl) {
1596         ValaSymbolResolver * self;
1597         ValaClass* _tmp0_;
1598         ValaScope* _tmp1_;
1599         ValaScope* _tmp2_;
1600         ValaScope* _tmp3_;
1601         ValaClass* _tmp4_;
1602         ValaClass* _tmp5_;
1603         ValaScope* _tmp65_;
1604         ValaScope* _tmp66_;
1605         ValaScope* _tmp67_;
1606         ValaScope* _tmp68_;
1607         self = (ValaSymbolResolver*) base;
1608         g_return_if_fail (cl != NULL);
1609         _tmp0_ = cl;
1610         _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) _tmp0_);
1611         _tmp2_ = _tmp1_;
1612         _tmp3_ = _vala_scope_ref0 (_tmp2_);
1613         _vala_scope_unref0 (self->priv->current_scope);
1614         self->priv->current_scope = _tmp3_;
1615         _tmp4_ = cl;
1616         vala_code_node_accept_children ((ValaCodeNode*) _tmp4_, (ValaCodeVisitor*) self);
1617         _tmp5_ = cl;
1618         vala_class_set_base_class (_tmp5_, NULL);
1619         {
1620                 ValaClass* _tmp6_;
1621                 ValaList* _tmp7_ = NULL;
1622                 ValaList* _type_list;
1623                 ValaList* _tmp8_;
1624                 gint _tmp9_;
1625                 gint _tmp10_;
1626                 gint _type_size;
1627                 gint _type_index;
1628                 _tmp6_ = cl;
1629                 _tmp7_ = vala_class_get_base_types (_tmp6_);
1630                 _type_list = _tmp7_;
1631                 _tmp8_ = _type_list;
1632                 _tmp9_ = vala_collection_get_size ((ValaCollection*) _tmp8_);
1633                 _tmp10_ = _tmp9_;
1634                 _type_size = _tmp10_;
1635                 _type_index = -1;
1636                 while (TRUE) {
1637                         gint _tmp11_;
1638                         gint _tmp12_;
1639                         gint _tmp13_;
1640                         ValaList* _tmp14_;
1641                         gint _tmp15_;
1642                         gpointer _tmp16_ = NULL;
1643                         ValaDataType* type;
1644                         ValaDataType* _tmp17_;
1645                         ValaTypeSymbol* _tmp18_;
1646                         ValaTypeSymbol* _tmp19_;
1647                         _tmp11_ = _type_index;
1648                         _type_index = _tmp11_ + 1;
1649                         _tmp12_ = _type_index;
1650                         _tmp13_ = _type_size;
1651                         if (!(_tmp12_ < _tmp13_)) {
1652                                 break;
1653                         }
1654                         _tmp14_ = _type_list;
1655                         _tmp15_ = _type_index;
1656                         _tmp16_ = vala_list_get (_tmp14_, _tmp15_);
1657                         type = (ValaDataType*) _tmp16_;
1658                         _tmp17_ = type;
1659                         _tmp18_ = vala_data_type_get_data_type (_tmp17_);
1660                         _tmp19_ = _tmp18_;
1661                         if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, VALA_TYPE_CLASS)) {
1662                                 ValaClass* _tmp20_;
1663                                 ValaClass* _tmp21_;
1664                                 ValaClass* _tmp22_;
1665                                 ValaClass* _tmp42_;
1666                                 ValaDataType* _tmp43_;
1667                                 ValaTypeSymbol* _tmp44_;
1668                                 ValaTypeSymbol* _tmp45_;
1669                                 ValaClass* _tmp46_;
1670                                 ValaClass* _tmp47_;
1671                                 ValaClass* _tmp48_;
1672                                 ValaClass* _tmp49_;
1673                                 gboolean _tmp50_ = FALSE;
1674                                 _tmp20_ = cl;
1675                                 _tmp21_ = vala_class_get_base_class (_tmp20_);
1676                                 _tmp22_ = _tmp21_;
1677                                 if (_tmp22_ != NULL) {
1678                                         ValaClass* _tmp23_;
1679                                         ValaDataType* _tmp24_;
1680                                         ValaSourceReference* _tmp25_;
1681                                         ValaSourceReference* _tmp26_;
1682                                         ValaClass* _tmp27_;
1683                                         gchar* _tmp28_ = NULL;
1684                                         gchar* _tmp29_;
1685                                         ValaClass* _tmp30_;
1686                                         ValaClass* _tmp31_;
1687                                         ValaClass* _tmp32_;
1688                                         gchar* _tmp33_ = NULL;
1689                                         gchar* _tmp34_;
1690                                         ValaDataType* _tmp35_;
1691                                         ValaTypeSymbol* _tmp36_;
1692                                         ValaTypeSymbol* _tmp37_;
1693                                         gchar* _tmp38_ = NULL;
1694                                         gchar* _tmp39_;
1695                                         gchar* _tmp40_ = NULL;
1696                                         gchar* _tmp41_;
1697                                         _tmp23_ = cl;
1698                                         vala_code_node_set_error ((ValaCodeNode*) _tmp23_, TRUE);
1699                                         _tmp24_ = type;
1700                                         _tmp25_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp24_);
1701                                         _tmp26_ = _tmp25_;
1702                                         _tmp27_ = cl;
1703                                         _tmp28_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp27_);
1704                                         _tmp29_ = _tmp28_;
1705                                         _tmp30_ = cl;
1706                                         _tmp31_ = vala_class_get_base_class (_tmp30_);
1707                                         _tmp32_ = _tmp31_;
1708                                         _tmp33_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp32_);
1709                                         _tmp34_ = _tmp33_;
1710                                         _tmp35_ = type;
1711                                         _tmp36_ = vala_data_type_get_data_type (_tmp35_);
1712                                         _tmp37_ = _tmp36_;
1713                                         _tmp38_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp37_);
1714                                         _tmp39_ = _tmp38_;
1715                                         _tmp40_ = g_strdup_printf ("%s: Classes cannot have multiple base classes (`%s' and `%s')", _tmp29_, _tmp34_, _tmp39_);
1716                                         _tmp41_ = _tmp40_;
1717                                         vala_report_error (_tmp26_, _tmp41_);
1718                                         _g_free0 (_tmp41_);
1719                                         _g_free0 (_tmp39_);
1720                                         _g_free0 (_tmp34_);
1721                                         _g_free0 (_tmp29_);
1722                                         _vala_code_node_unref0 (type);
1723                                         _vala_iterable_unref0 (_type_list);
1724                                         return;
1725                                 }
1726                                 _tmp42_ = cl;
1727                                 _tmp43_ = type;
1728                                 _tmp44_ = vala_data_type_get_data_type (_tmp43_);
1729                                 _tmp45_ = _tmp44_;
1730                                 vala_class_set_base_class (_tmp42_, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, VALA_TYPE_CLASS, ValaClass));
1731                                 _tmp46_ = cl;
1732                                 _tmp47_ = vala_class_get_base_class (_tmp46_);
1733                                 _tmp48_ = _tmp47_;
1734                                 _tmp49_ = cl;
1735                                 _tmp50_ = vala_typesymbol_is_subtype_of ((ValaTypeSymbol*) _tmp48_, (ValaTypeSymbol*) _tmp49_);
1736                                 if (_tmp50_) {
1737                                         ValaClass* _tmp51_;
1738                                         ValaDataType* _tmp52_;
1739                                         ValaSourceReference* _tmp53_;
1740                                         ValaSourceReference* _tmp54_;
1741                                         ValaClass* _tmp55_;
1742                                         gchar* _tmp56_ = NULL;
1743                                         gchar* _tmp57_;
1744                                         ValaClass* _tmp58_;
1745                                         ValaClass* _tmp59_;
1746                                         ValaClass* _tmp60_;
1747                                         gchar* _tmp61_ = NULL;
1748                                         gchar* _tmp62_;
1749                                         gchar* _tmp63_ = NULL;
1750                                         gchar* _tmp64_;
1751                                         _tmp51_ = cl;
1752                                         vala_code_node_set_error ((ValaCodeNode*) _tmp51_, TRUE);
1753                                         _tmp52_ = type;
1754                                         _tmp53_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp52_);
1755                                         _tmp54_ = _tmp53_;
1756                                         _tmp55_ = cl;
1757                                         _tmp56_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp55_);
1758                                         _tmp57_ = _tmp56_;
1759                                         _tmp58_ = cl;
1760                                         _tmp59_ = vala_class_get_base_class (_tmp58_);
1761                                         _tmp60_ = _tmp59_;
1762                                         _tmp61_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp60_);
1763                                         _tmp62_ = _tmp61_;
1764                                         _tmp63_ = g_strdup_printf ("Base class cycle (`%s' and `%s')", _tmp57_, _tmp62_);
1765                                         _tmp64_ = _tmp63_;
1766                                         vala_report_error (_tmp54_, _tmp64_);
1767                                         _g_free0 (_tmp64_);
1768                                         _g_free0 (_tmp62_);
1769                                         _g_free0 (_tmp57_);
1770                                         _vala_code_node_unref0 (type);
1771                                         _vala_iterable_unref0 (_type_list);
1772                                         return;
1773                                 }
1774                         }
1775                         _vala_code_node_unref0 (type);
1776                 }
1777                 _vala_iterable_unref0 (_type_list);
1778         }
1779         _tmp65_ = self->priv->current_scope;
1780         _tmp66_ = vala_scope_get_parent_scope (_tmp65_);
1781         _tmp67_ = _tmp66_;
1782         _tmp68_ = _vala_scope_ref0 (_tmp67_);
1783         _vala_scope_unref0 (self->priv->current_scope);
1784         self->priv->current_scope = _tmp68_;
1785 }
1786
1787
1788 static void vala_symbol_resolver_real_visit_struct (ValaCodeVisitor* base, ValaStruct* st) {
1789         ValaSymbolResolver * self;
1790         ValaStruct* _tmp0_;
1791         ValaScope* _tmp1_;
1792         ValaScope* _tmp2_;
1793         ValaScope* _tmp3_;
1794         ValaStruct* _tmp4_;
1795         ValaStruct* _tmp5_;
1796         ValaDataType* _tmp6_;
1797         ValaDataType* _tmp7_;
1798         ValaScope* _tmp28_;
1799         ValaScope* _tmp29_;
1800         ValaScope* _tmp30_;
1801         ValaScope* _tmp31_;
1802         self = (ValaSymbolResolver*) base;
1803         g_return_if_fail (st != NULL);
1804         _tmp0_ = st;
1805         _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) _tmp0_);
1806         _tmp2_ = _tmp1_;
1807         _tmp3_ = _vala_scope_ref0 (_tmp2_);
1808         _vala_scope_unref0 (self->priv->current_scope);
1809         self->priv->current_scope = _tmp3_;
1810         _tmp4_ = st;
1811         vala_code_node_accept_children ((ValaCodeNode*) _tmp4_, (ValaCodeVisitor*) self);
1812         _tmp5_ = st;
1813         _tmp6_ = vala_struct_get_base_type (_tmp5_);
1814         _tmp7_ = _tmp6_;
1815         if (_tmp7_ != NULL) {
1816                 ValaStruct* _tmp8_;
1817                 ValaStruct* _tmp9_;
1818                 ValaStruct* _tmp10_;
1819                 ValaStruct* _tmp11_;
1820                 ValaStruct* base_type;
1821                 ValaStruct* _tmp12_;
1822                 _tmp8_ = st;
1823                 _tmp9_ = vala_struct_get_base_struct (_tmp8_);
1824                 _tmp10_ = _tmp9_;
1825                 _tmp11_ = _vala_code_node_ref0 (_tmp10_);
1826                 base_type = _tmp11_;
1827                 _tmp12_ = base_type;
1828                 if (_tmp12_ != NULL) {
1829                         ValaStruct* _tmp13_;
1830                         ValaStruct* _tmp14_;
1831                         gboolean _tmp15_ = FALSE;
1832                         _tmp13_ = base_type;
1833                         _tmp14_ = st;
1834                         _tmp15_ = vala_typesymbol_is_subtype_of ((ValaTypeSymbol*) _tmp13_, (ValaTypeSymbol*) _tmp14_);
1835                         if (_tmp15_) {
1836                                 ValaStruct* _tmp16_;
1837                                 ValaStruct* _tmp17_;
1838                                 ValaSourceReference* _tmp18_;
1839                                 ValaSourceReference* _tmp19_;
1840                                 ValaStruct* _tmp20_;
1841                                 gchar* _tmp21_ = NULL;
1842                                 gchar* _tmp22_;
1843                                 ValaStruct* _tmp23_;
1844                                 gchar* _tmp24_ = NULL;
1845                                 gchar* _tmp25_;
1846                                 gchar* _tmp26_ = NULL;
1847                                 gchar* _tmp27_;
1848                                 _tmp16_ = st;
1849                                 vala_code_node_set_error ((ValaCodeNode*) _tmp16_, TRUE);
1850                                 _tmp17_ = base_type;
1851                                 _tmp18_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp17_);
1852                                 _tmp19_ = _tmp18_;
1853                                 _tmp20_ = st;
1854                                 _tmp21_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp20_);
1855                                 _tmp22_ = _tmp21_;
1856                                 _tmp23_ = base_type;
1857                                 _tmp24_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp23_);
1858                                 _tmp25_ = _tmp24_;
1859                                 _tmp26_ = g_strdup_printf ("Base struct cycle (`%s' and `%s')", _tmp22_, _tmp25_);
1860                                 _tmp27_ = _tmp26_;
1861                                 vala_report_error (_tmp19_, _tmp27_);
1862                                 _g_free0 (_tmp27_);
1863                                 _g_free0 (_tmp25_);
1864                                 _g_free0 (_tmp22_);
1865                                 _vala_code_node_unref0 (base_type);
1866                                 return;
1867                         }
1868                 }
1869                 _vala_code_node_unref0 (base_type);
1870         }
1871         _tmp28_ = self->priv->current_scope;
1872         _tmp29_ = vala_scope_get_parent_scope (_tmp28_);
1873         _tmp30_ = _tmp29_;
1874         _tmp31_ = _vala_scope_ref0 (_tmp30_);
1875         _vala_scope_unref0 (self->priv->current_scope);
1876         self->priv->current_scope = _tmp31_;
1877 }
1878
1879
1880 static void vala_symbol_resolver_real_visit_interface (ValaCodeVisitor* base, ValaInterface* iface) {
1881         ValaSymbolResolver * self;
1882         ValaInterface* _tmp0_;
1883         ValaScope* _tmp1_;
1884         ValaScope* _tmp2_;
1885         ValaScope* _tmp3_;
1886         ValaInterface* _tmp4_;
1887         ValaScope* _tmp40_;
1888         ValaScope* _tmp41_;
1889         ValaScope* _tmp42_;
1890         ValaScope* _tmp43_;
1891         self = (ValaSymbolResolver*) base;
1892         g_return_if_fail (iface != NULL);
1893         _tmp0_ = iface;
1894         _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) _tmp0_);
1895         _tmp2_ = _tmp1_;
1896         _tmp3_ = _vala_scope_ref0 (_tmp2_);
1897         _vala_scope_unref0 (self->priv->current_scope);
1898         self->priv->current_scope = _tmp3_;
1899         _tmp4_ = iface;
1900         vala_code_node_accept_children ((ValaCodeNode*) _tmp4_, (ValaCodeVisitor*) self);
1901         {
1902                 ValaInterface* _tmp5_;
1903                 ValaList* _tmp6_ = NULL;
1904                 ValaList* _type_list;
1905                 ValaList* _tmp7_;
1906                 gint _tmp8_;
1907                 gint _tmp9_;
1908                 gint _type_size;
1909                 gint _type_index;
1910                 _tmp5_ = iface;
1911                 _tmp6_ = vala_interface_get_prerequisites (_tmp5_);
1912                 _type_list = _tmp6_;
1913                 _tmp7_ = _type_list;
1914                 _tmp8_ = vala_collection_get_size ((ValaCollection*) _tmp7_);
1915                 _tmp9_ = _tmp8_;
1916                 _type_size = _tmp9_;
1917                 _type_index = -1;
1918                 while (TRUE) {
1919                         gint _tmp10_;
1920                         gint _tmp11_;
1921                         gint _tmp12_;
1922                         ValaList* _tmp13_;
1923                         gint _tmp14_;
1924                         gpointer _tmp15_ = NULL;
1925                         ValaDataType* type;
1926                         gboolean _tmp16_ = FALSE;
1927                         ValaDataType* _tmp17_;
1928                         ValaTypeSymbol* _tmp18_;
1929                         ValaTypeSymbol* _tmp19_;
1930                         gboolean _tmp25_;
1931                         _tmp10_ = _type_index;
1932                         _type_index = _tmp10_ + 1;
1933                         _tmp11_ = _type_index;
1934                         _tmp12_ = _type_size;
1935                         if (!(_tmp11_ < _tmp12_)) {
1936                                 break;
1937                         }
1938                         _tmp13_ = _type_list;
1939                         _tmp14_ = _type_index;
1940                         _tmp15_ = vala_list_get (_tmp13_, _tmp14_);
1941                         type = (ValaDataType*) _tmp15_;
1942                         _tmp17_ = type;
1943                         _tmp18_ = vala_data_type_get_data_type (_tmp17_);
1944                         _tmp19_ = _tmp18_;
1945                         if (_tmp19_ != NULL) {
1946                                 ValaDataType* _tmp20_;
1947                                 ValaTypeSymbol* _tmp21_;
1948                                 ValaTypeSymbol* _tmp22_;
1949                                 ValaInterface* _tmp23_;
1950                                 gboolean _tmp24_ = FALSE;
1951                                 _tmp20_ = type;
1952                                 _tmp21_ = vala_data_type_get_data_type (_tmp20_);
1953                                 _tmp22_ = _tmp21_;
1954                                 _tmp23_ = iface;
1955                                 _tmp24_ = vala_typesymbol_is_subtype_of (_tmp22_, (ValaTypeSymbol*) _tmp23_);
1956                                 _tmp16_ = _tmp24_;
1957                         } else {
1958                                 _tmp16_ = FALSE;
1959                         }
1960                         _tmp25_ = _tmp16_;
1961                         if (_tmp25_) {
1962                                 ValaInterface* _tmp26_;
1963                                 ValaDataType* _tmp27_;
1964                                 ValaSourceReference* _tmp28_;
1965                                 ValaSourceReference* _tmp29_;
1966                                 ValaInterface* _tmp30_;
1967                                 gchar* _tmp31_ = NULL;
1968                                 gchar* _tmp32_;
1969                                 ValaDataType* _tmp33_;
1970                                 ValaTypeSymbol* _tmp34_;
1971                                 ValaTypeSymbol* _tmp35_;
1972                                 gchar* _tmp36_ = NULL;
1973                                 gchar* _tmp37_;
1974                                 gchar* _tmp38_ = NULL;
1975                                 gchar* _tmp39_;
1976                                 _tmp26_ = iface;
1977                                 vala_code_node_set_error ((ValaCodeNode*) _tmp26_, TRUE);
1978                                 _tmp27_ = type;
1979                                 _tmp28_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp27_);
1980                                 _tmp29_ = _tmp28_;
1981                                 _tmp30_ = iface;
1982                                 _tmp31_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp30_);
1983                                 _tmp32_ = _tmp31_;
1984                                 _tmp33_ = type;
1985                                 _tmp34_ = vala_data_type_get_data_type (_tmp33_);
1986                                 _tmp35_ = _tmp34_;
1987                                 _tmp36_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp35_);
1988                                 _tmp37_ = _tmp36_;
1989                                 _tmp38_ = g_strdup_printf ("Prerequisite cycle (`%s' and `%s')", _tmp32_, _tmp37_);
1990                                 _tmp39_ = _tmp38_;
1991                                 vala_report_error (_tmp29_, _tmp39_);
1992                                 _g_free0 (_tmp39_);
1993                                 _g_free0 (_tmp37_);
1994                                 _g_free0 (_tmp32_);
1995                                 _vala_code_node_unref0 (type);
1996                                 _vala_iterable_unref0 (_type_list);
1997                                 return;
1998                         }
1999                         _vala_code_node_unref0 (type);
2000                 }
2001                 _vala_iterable_unref0 (_type_list);
2002         }
2003         _tmp40_ = self->priv->current_scope;
2004         _tmp41_ = vala_scope_get_parent_scope (_tmp40_);
2005         _tmp42_ = _tmp41_;
2006         _tmp43_ = _vala_scope_ref0 (_tmp42_);
2007         _vala_scope_unref0 (self->priv->current_scope);
2008         self->priv->current_scope = _tmp43_;
2009 }
2010
2011
2012 static void vala_symbol_resolver_real_visit_enum (ValaCodeVisitor* base, ValaEnum* en) {
2013         ValaSymbolResolver * self;
2014         ValaEnum* _tmp0_;
2015         ValaScope* _tmp1_;
2016         ValaScope* _tmp2_;
2017         ValaScope* _tmp3_;
2018         ValaEnum* _tmp4_;
2019         ValaScope* _tmp5_;
2020         ValaScope* _tmp6_;
2021         ValaScope* _tmp7_;
2022         ValaScope* _tmp8_;
2023         self = (ValaSymbolResolver*) base;
2024         g_return_if_fail (en != NULL);
2025         _tmp0_ = en;
2026         _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) _tmp0_);
2027         _tmp2_ = _tmp1_;
2028         _tmp3_ = _vala_scope_ref0 (_tmp2_);
2029         _vala_scope_unref0 (self->priv->current_scope);
2030         self->priv->current_scope = _tmp3_;
2031         _tmp4_ = en;
2032         vala_code_node_accept_children ((ValaCodeNode*) _tmp4_, (ValaCodeVisitor*) self);
2033         _tmp5_ = self->priv->current_scope;
2034         _tmp6_ = vala_scope_get_parent_scope (_tmp5_);
2035         _tmp7_ = _tmp6_;
2036         _tmp8_ = _vala_scope_ref0 (_tmp7_);
2037         _vala_scope_unref0 (self->priv->current_scope);
2038         self->priv->current_scope = _tmp8_;
2039 }
2040
2041
2042 static void vala_symbol_resolver_real_visit_error_domain (ValaCodeVisitor* base, ValaErrorDomain* ed) {
2043         ValaSymbolResolver * self;
2044         ValaErrorDomain* _tmp0_;
2045         ValaScope* _tmp1_;
2046         ValaScope* _tmp2_;
2047         ValaScope* _tmp3_;
2048         ValaErrorDomain* _tmp4_;
2049         ValaScope* _tmp5_;
2050         ValaScope* _tmp6_;
2051         ValaScope* _tmp7_;
2052         ValaScope* _tmp8_;
2053         self = (ValaSymbolResolver*) base;
2054         g_return_if_fail (ed != NULL);
2055         _tmp0_ = ed;
2056         _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) _tmp0_);
2057         _tmp2_ = _tmp1_;
2058         _tmp3_ = _vala_scope_ref0 (_tmp2_);
2059         _vala_scope_unref0 (self->priv->current_scope);
2060         self->priv->current_scope = _tmp3_;
2061         _tmp4_ = ed;
2062         vala_code_node_accept_children ((ValaCodeNode*) _tmp4_, (ValaCodeVisitor*) self);
2063         _tmp5_ = self->priv->current_scope;
2064         _tmp6_ = vala_scope_get_parent_scope (_tmp5_);
2065         _tmp7_ = _tmp6_;
2066         _tmp8_ = _vala_scope_ref0 (_tmp7_);
2067         _vala_scope_unref0 (self->priv->current_scope);
2068         self->priv->current_scope = _tmp8_;
2069 }
2070
2071
2072 static void vala_symbol_resolver_real_visit_delegate (ValaCodeVisitor* base, ValaDelegate* cb) {
2073         ValaSymbolResolver * self;
2074         ValaDelegate* _tmp0_;
2075         ValaScope* _tmp1_;
2076         ValaScope* _tmp2_;
2077         ValaScope* _tmp3_;
2078         ValaDelegate* _tmp4_;
2079         ValaScope* _tmp5_;
2080         ValaScope* _tmp6_;
2081         ValaScope* _tmp7_;
2082         ValaScope* _tmp8_;
2083         self = (ValaSymbolResolver*) base;
2084         g_return_if_fail (cb != NULL);
2085         _tmp0_ = cb;
2086         _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) _tmp0_);
2087         _tmp2_ = _tmp1_;
2088         _tmp3_ = _vala_scope_ref0 (_tmp2_);
2089         _vala_scope_unref0 (self->priv->current_scope);
2090         self->priv->current_scope = _tmp3_;
2091         _tmp4_ = cb;
2092         vala_code_node_accept_children ((ValaCodeNode*) _tmp4_, (ValaCodeVisitor*) self);
2093         _tmp5_ = self->priv->current_scope;
2094         _tmp6_ = vala_scope_get_parent_scope (_tmp5_);
2095         _tmp7_ = _tmp6_;
2096         _tmp8_ = _vala_scope_ref0 (_tmp7_);
2097         _vala_scope_unref0 (self->priv->current_scope);
2098         self->priv->current_scope = _tmp8_;
2099 }
2100
2101
2102 static void vala_symbol_resolver_real_visit_constant (ValaCodeVisitor* base, ValaConstant* c) {
2103         ValaSymbolResolver * self;
2104         ValaScope* _tmp0_;
2105         ValaScope* _tmp1_;
2106         ValaScope* old_scope;
2107         ValaConstant* _tmp2_;
2108         ValaSymbol* _tmp3_;
2109         ValaSymbol* _tmp4_;
2110         ValaConstant* _tmp9_;
2111         ValaScope* _tmp10_;
2112         ValaScope* _tmp11_;
2113         self = (ValaSymbolResolver*) base;
2114         g_return_if_fail (c != NULL);
2115         _tmp0_ = self->priv->current_scope;
2116         _tmp1_ = _vala_scope_ref0 (_tmp0_);
2117         old_scope = _tmp1_;
2118         _tmp2_ = c;
2119         _tmp3_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp2_);
2120         _tmp4_ = _tmp3_;
2121         if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, VALA_TYPE_BLOCK)) {
2122                 ValaConstant* _tmp5_;
2123                 ValaScope* _tmp6_;
2124                 ValaScope* _tmp7_;
2125                 ValaScope* _tmp8_;
2126                 _tmp5_ = c;
2127                 _tmp6_ = vala_symbol_get_scope ((ValaSymbol*) _tmp5_);
2128                 _tmp7_ = _tmp6_;
2129                 _tmp8_ = _vala_scope_ref0 (_tmp7_);
2130                 _vala_scope_unref0 (self->priv->current_scope);
2131                 self->priv->current_scope = _tmp8_;
2132         }
2133         _tmp9_ = c;
2134         vala_code_node_accept_children ((ValaCodeNode*) _tmp9_, (ValaCodeVisitor*) self);
2135         _tmp10_ = old_scope;
2136         _tmp11_ = _vala_scope_ref0 (_tmp10_);
2137         _vala_scope_unref0 (self->priv->current_scope);
2138         self->priv->current_scope = _tmp11_;
2139         _vala_scope_unref0 (old_scope);
2140 }
2141
2142
2143 static void vala_symbol_resolver_real_visit_field (ValaCodeVisitor* base, ValaField* f) {
2144         ValaSymbolResolver * self;
2145         ValaField* _tmp0_;
2146         ValaScope* _tmp1_;
2147         ValaScope* _tmp2_;
2148         ValaScope* _tmp3_;
2149         ValaField* _tmp4_;
2150         ValaScope* _tmp5_;
2151         ValaScope* _tmp6_;
2152         ValaScope* _tmp7_;
2153         ValaScope* _tmp8_;
2154         self = (ValaSymbolResolver*) base;
2155         g_return_if_fail (f != NULL);
2156         _tmp0_ = f;
2157         _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) _tmp0_);
2158         _tmp2_ = _tmp1_;
2159         _tmp3_ = _vala_scope_ref0 (_tmp2_);
2160         _vala_scope_unref0 (self->priv->current_scope);
2161         self->priv->current_scope = _tmp3_;
2162         _tmp4_ = f;
2163         vala_code_node_accept_children ((ValaCodeNode*) _tmp4_, (ValaCodeVisitor*) self);
2164         _tmp5_ = self->priv->current_scope;
2165         _tmp6_ = vala_scope_get_parent_scope (_tmp5_);
2166         _tmp7_ = _tmp6_;
2167         _tmp8_ = _vala_scope_ref0 (_tmp7_);
2168         _vala_scope_unref0 (self->priv->current_scope);
2169         self->priv->current_scope = _tmp8_;
2170 }
2171
2172
2173 static void vala_symbol_resolver_real_visit_method (ValaCodeVisitor* base, ValaMethod* m) {
2174         ValaSymbolResolver * self;
2175         ValaMethod* _tmp0_;
2176         ValaScope* _tmp1_;
2177         ValaScope* _tmp2_;
2178         ValaScope* _tmp3_;
2179         ValaMethod* _tmp4_;
2180         ValaScope* _tmp5_;
2181         ValaScope* _tmp6_;
2182         ValaScope* _tmp7_;
2183         ValaScope* _tmp8_;
2184         self = (ValaSymbolResolver*) base;
2185         g_return_if_fail (m != NULL);
2186         _tmp0_ = m;
2187         _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) _tmp0_);
2188         _tmp2_ = _tmp1_;
2189         _tmp3_ = _vala_scope_ref0 (_tmp2_);
2190         _vala_scope_unref0 (self->priv->current_scope);
2191         self->priv->current_scope = _tmp3_;
2192         _tmp4_ = m;
2193         vala_code_node_accept_children ((ValaCodeNode*) _tmp4_, (ValaCodeVisitor*) self);
2194         _tmp5_ = self->priv->current_scope;
2195         _tmp6_ = vala_scope_get_parent_scope (_tmp5_);
2196         _tmp7_ = _tmp6_;
2197         _tmp8_ = _vala_scope_ref0 (_tmp7_);
2198         _vala_scope_unref0 (self->priv->current_scope);
2199         self->priv->current_scope = _tmp8_;
2200 }
2201
2202
2203 static void vala_symbol_resolver_real_visit_creation_method (ValaCodeVisitor* base, ValaCreationMethod* m) {
2204         ValaSymbolResolver * self;
2205         ValaCreationMethod* _tmp0_;
2206         self = (ValaSymbolResolver*) base;
2207         g_return_if_fail (m != NULL);
2208         _tmp0_ = m;
2209         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
2210 }
2211
2212
2213 static void vala_symbol_resolver_real_visit_formal_parameter (ValaCodeVisitor* base, ValaParameter* p) {
2214         ValaSymbolResolver * self;
2215         ValaParameter* _tmp0_;
2216         self = (ValaSymbolResolver*) base;
2217         g_return_if_fail (p != NULL);
2218         _tmp0_ = p;
2219         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
2220 }
2221
2222
2223 static void vala_symbol_resolver_real_visit_property (ValaCodeVisitor* base, ValaProperty* prop) {
2224         ValaSymbolResolver * self;
2225         ValaProperty* _tmp0_;
2226         self = (ValaSymbolResolver*) base;
2227         g_return_if_fail (prop != NULL);
2228         _tmp0_ = prop;
2229         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
2230 }
2231
2232
2233 static void vala_symbol_resolver_real_visit_property_accessor (ValaCodeVisitor* base, ValaPropertyAccessor* acc) {
2234         ValaSymbolResolver * self;
2235         ValaPropertyAccessor* _tmp0_;
2236         self = (ValaSymbolResolver*) base;
2237         g_return_if_fail (acc != NULL);
2238         _tmp0_ = acc;
2239         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
2240 }
2241
2242
2243 static void vala_symbol_resolver_real_visit_signal (ValaCodeVisitor* base, ValaSignal* sig) {
2244         ValaSymbolResolver * self;
2245         ValaSignal* _tmp0_;
2246         self = (ValaSymbolResolver*) base;
2247         g_return_if_fail (sig != NULL);
2248         _tmp0_ = sig;
2249         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
2250 }
2251
2252
2253 static void vala_symbol_resolver_real_visit_constructor (ValaCodeVisitor* base, ValaConstructor* c) {
2254         ValaSymbolResolver * self;
2255         ValaConstructor* _tmp0_;
2256         self = (ValaSymbolResolver*) base;
2257         g_return_if_fail (c != NULL);
2258         _tmp0_ = c;
2259         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
2260 }
2261
2262
2263 static void vala_symbol_resolver_real_visit_destructor (ValaCodeVisitor* base, ValaDestructor* d) {
2264         ValaSymbolResolver * self;
2265         ValaDestructor* _tmp0_;
2266         self = (ValaSymbolResolver*) base;
2267         g_return_if_fail (d != NULL);
2268         _tmp0_ = d;
2269         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
2270 }
2271
2272
2273 static void vala_symbol_resolver_real_visit_block (ValaCodeVisitor* base, ValaBlock* b) {
2274         ValaSymbolResolver * self;
2275         ValaBlock* _tmp0_;
2276         self = (ValaSymbolResolver*) base;
2277         g_return_if_fail (b != NULL);
2278         _tmp0_ = b;
2279         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
2280 }
2281
2282
2283 static void vala_symbol_resolver_real_visit_using_directive (ValaCodeVisitor* base, ValaUsingDirective* ns) {
2284         ValaSymbolResolver * self;
2285         ValaUsingDirective* _tmp0_;
2286         ValaSymbol* _tmp1_;
2287         ValaSymbol* _tmp2_;
2288         ValaUnresolvedSymbol* _tmp3_;
2289         ValaUnresolvedSymbol* unresolved_symbol;
2290         ValaUnresolvedSymbol* _tmp4_;
2291         self = (ValaSymbolResolver*) base;
2292         g_return_if_fail (ns != NULL);
2293         _tmp0_ = ns;
2294         _tmp1_ = vala_using_directive_get_namespace_symbol (_tmp0_);
2295         _tmp2_ = _tmp1_;
2296         _tmp3_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, VALA_TYPE_UNRESOLVED_SYMBOL) ? ((ValaUnresolvedSymbol*) _tmp2_) : NULL);
2297         unresolved_symbol = _tmp3_;
2298         _tmp4_ = unresolved_symbol;
2299         if (_tmp4_ != NULL) {
2300                 ValaUsingDirective* _tmp5_;
2301                 ValaUnresolvedSymbol* _tmp6_;
2302                 ValaSymbol* _tmp7_ = NULL;
2303                 ValaSymbol* _tmp8_;
2304                 ValaUsingDirective* _tmp9_;
2305                 ValaSymbol* _tmp10_;
2306                 ValaSymbol* _tmp11_;
2307                 _tmp5_ = ns;
2308                 _tmp6_ = unresolved_symbol;
2309                 _tmp7_ = vala_symbol_resolver_resolve_symbol (self, _tmp6_);
2310                 _tmp8_ = _tmp7_;
2311                 vala_using_directive_set_namespace_symbol (_tmp5_, _tmp8_);
2312                 _vala_code_node_unref0 (_tmp8_);
2313                 _tmp9_ = ns;
2314                 _tmp10_ = vala_using_directive_get_namespace_symbol (_tmp9_);
2315                 _tmp11_ = _tmp10_;
2316                 if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, VALA_TYPE_NAMESPACE)) {
2317                         ValaUsingDirective* _tmp12_;
2318                         ValaUsingDirective* _tmp13_;
2319                         ValaSourceReference* _tmp14_;
2320                         ValaSourceReference* _tmp15_;
2321                         ValaUnresolvedSymbol* _tmp16_;
2322                         gchar* _tmp17_ = NULL;
2323                         gchar* _tmp18_;
2324                         gchar* _tmp19_ = NULL;
2325                         gchar* _tmp20_;
2326                         _tmp12_ = ns;
2327                         vala_code_node_set_error ((ValaCodeNode*) _tmp12_, TRUE);
2328                         _tmp13_ = ns;
2329                         _tmp14_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp13_);
2330                         _tmp15_ = _tmp14_;
2331                         _tmp16_ = unresolved_symbol;
2332                         _tmp17_ = vala_code_node_to_string ((ValaCodeNode*) _tmp16_);
2333                         _tmp18_ = _tmp17_;
2334                         _tmp19_ = g_strdup_printf ("The namespace name `%s' could not be found", _tmp18_);
2335                         _tmp20_ = _tmp19_;
2336                         vala_report_error (_tmp15_, _tmp20_);
2337                         _g_free0 (_tmp20_);
2338                         _g_free0 (_tmp18_);
2339                         _vala_code_node_unref0 (unresolved_symbol);
2340                         return;
2341                 }
2342         }
2343         _vala_code_node_unref0 (unresolved_symbol);
2344 }
2345
2346
2347 static gpointer _vala_iterable_ref0 (gpointer self) {
2348         return self ? vala_iterable_ref (self) : NULL;
2349 }
2350
2351
2352 static ValaSymbol* vala_symbol_resolver_resolve_symbol (ValaSymbolResolver* self, ValaUnresolvedSymbol* unresolved_symbol) {
2353         ValaSymbol* result = NULL;
2354         ValaUnresolvedSymbol* _tmp0_;
2355         gboolean _tmp1_;
2356         gboolean _tmp2_;
2357         g_return_val_if_fail (self != NULL, NULL);
2358         g_return_val_if_fail (unresolved_symbol != NULL, NULL);
2359         _tmp0_ = unresolved_symbol;
2360         _tmp1_ = vala_unresolved_symbol_get_qualified (_tmp0_);
2361         _tmp2_ = _tmp1_;
2362         if (_tmp2_) {
2363                 ValaSymbol* _tmp3_;
2364                 ValaScope* _tmp4_;
2365                 ValaScope* _tmp5_;
2366                 ValaUnresolvedSymbol* _tmp6_;
2367                 const gchar* _tmp7_;
2368                 const gchar* _tmp8_;
2369                 ValaSymbol* _tmp9_ = NULL;
2370                 _tmp3_ = self->priv->root_symbol;
2371                 _tmp4_ = vala_symbol_get_scope (_tmp3_);
2372                 _tmp5_ = _tmp4_;
2373                 _tmp6_ = unresolved_symbol;
2374                 _tmp7_ = vala_symbol_get_name ((ValaSymbol*) _tmp6_);
2375                 _tmp8_ = _tmp7_;
2376                 _tmp9_ = vala_scope_lookup (_tmp5_, _tmp8_);
2377                 result = _tmp9_;
2378                 return result;
2379         } else {
2380                 ValaUnresolvedSymbol* _tmp10_;
2381                 ValaUnresolvedSymbol* _tmp11_;
2382                 ValaUnresolvedSymbol* _tmp12_;
2383                 _tmp10_ = unresolved_symbol;
2384                 _tmp11_ = vala_unresolved_symbol_get_inner (_tmp10_);
2385                 _tmp12_ = _tmp11_;
2386                 if (_tmp12_ == NULL) {
2387                         ValaSymbol* sym;
2388                         ValaScope* _tmp13_;
2389                         ValaScope* _tmp14_;
2390                         ValaScope* scope;
2391                         gboolean _tmp35_ = FALSE;
2392                         ValaSymbol* _tmp36_;
2393                         gboolean _tmp40_;
2394                         sym = NULL;
2395                         _tmp13_ = self->priv->current_scope;
2396                         _tmp14_ = _vala_scope_ref0 (_tmp13_);
2397                         scope = _tmp14_;
2398                         while (TRUE) {
2399                                 gboolean _tmp15_ = FALSE;
2400                                 ValaSymbol* _tmp16_;
2401                                 gboolean _tmp18_;
2402                                 ValaScope* _tmp19_;
2403                                 ValaUnresolvedSymbol* _tmp20_;
2404                                 const gchar* _tmp21_;
2405                                 const gchar* _tmp22_;
2406                                 ValaSymbol* _tmp23_ = NULL;
2407                                 gboolean _tmp24_ = FALSE;
2408                                 gboolean _tmp25_ = FALSE;
2409                                 ValaSymbol* _tmp26_;
2410                                 gboolean _tmp28_;
2411                                 gboolean _tmp30_;
2412                                 ValaScope* _tmp31_;
2413                                 ValaScope* _tmp32_;
2414                                 ValaScope* _tmp33_;
2415                                 ValaScope* _tmp34_;
2416                                 _tmp16_ = sym;
2417                                 if (_tmp16_ == NULL) {
2418                                         ValaScope* _tmp17_;
2419                                         _tmp17_ = scope;
2420                                         _tmp15_ = _tmp17_ != NULL;
2421                                 } else {
2422                                         _tmp15_ = FALSE;
2423                                 }
2424                                 _tmp18_ = _tmp15_;
2425                                 if (!_tmp18_) {
2426                                         break;
2427                                 }
2428                                 _tmp19_ = scope;
2429                                 _tmp20_ = unresolved_symbol;
2430                                 _tmp21_ = vala_symbol_get_name ((ValaSymbol*) _tmp20_);
2431                                 _tmp22_ = _tmp21_;
2432                                 _tmp23_ = vala_scope_lookup (_tmp19_, _tmp22_);
2433                                 _vala_code_node_unref0 (sym);
2434                                 sym = _tmp23_;
2435                                 _tmp26_ = sym;
2436                                 if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp26_, VALA_TYPE_NAMESPACE)) {
2437                                         _tmp25_ = TRUE;
2438                                 } else {
2439                                         ValaSymbol* _tmp27_;
2440                                         _tmp27_ = sym;
2441                                         _tmp25_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, VALA_TYPE_TYPESYMBOL);
2442                                 }
2443                                 _tmp28_ = _tmp25_;
2444                                 if (_tmp28_) {
2445                                         _tmp24_ = TRUE;
2446                                 } else {
2447                                         ValaSymbol* _tmp29_;
2448                                         _tmp29_ = sym;
2449                                         _tmp24_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, VALA_TYPE_TYPEPARAMETER);
2450                                 }
2451                                 _tmp30_ = _tmp24_;
2452                                 if (!_tmp30_) {
2453                                         _vala_code_node_unref0 (sym);
2454                                         sym = NULL;
2455                                 }
2456                                 _tmp31_ = scope;
2457                                 _tmp32_ = vala_scope_get_parent_scope (_tmp31_);
2458                                 _tmp33_ = _tmp32_;
2459                                 _tmp34_ = _vala_scope_ref0 (_tmp33_);
2460                                 _vala_scope_unref0 (scope);
2461                                 scope = _tmp34_;
2462                         }
2463                         _tmp36_ = sym;
2464                         if (_tmp36_ == NULL) {
2465                                 ValaUnresolvedSymbol* _tmp37_;
2466                                 ValaSourceReference* _tmp38_;
2467                                 ValaSourceReference* _tmp39_;
2468                                 _tmp37_ = unresolved_symbol;
2469                                 _tmp38_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp37_);
2470                                 _tmp39_ = _tmp38_;
2471                                 _tmp35_ = _tmp39_ != NULL;
2472                         } else {
2473                                 _tmp35_ = FALSE;
2474                         }
2475                         _tmp40_ = _tmp35_;
2476                         if (_tmp40_) {
2477                                 {
2478                                         ValaUnresolvedSymbol* _tmp41_;
2479                                         ValaSourceReference* _tmp42_;
2480                                         ValaSourceReference* _tmp43_;
2481                                         ValaList* _tmp44_;
2482                                         ValaList* _tmp45_;
2483                                         ValaList* _tmp46_;
2484                                         ValaList* _ns_list;
2485                                         ValaList* _tmp47_;
2486                                         gint _tmp48_;
2487                                         gint _tmp49_;
2488                                         gint _ns_size;
2489                                         gint _ns_index;
2490                                         _tmp41_ = unresolved_symbol;
2491                                         _tmp42_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp41_);
2492                                         _tmp43_ = _tmp42_;
2493                                         _tmp44_ = vala_source_reference_get_using_directives (_tmp43_);
2494                                         _tmp45_ = _tmp44_;
2495                                         _tmp46_ = _vala_iterable_ref0 (_tmp45_);
2496                                         _ns_list = _tmp46_;
2497                                         _tmp47_ = _ns_list;
2498                                         _tmp48_ = vala_collection_get_size ((ValaCollection*) _tmp47_);
2499                                         _tmp49_ = _tmp48_;
2500                                         _ns_size = _tmp49_;
2501                                         _ns_index = -1;
2502                                         while (TRUE) {
2503                                                 gint _tmp50_;
2504                                                 gint _tmp51_;
2505                                                 gint _tmp52_;
2506                                                 ValaList* _tmp53_;
2507                                                 gint _tmp54_;
2508                                                 gpointer _tmp55_ = NULL;
2509                                                 ValaUsingDirective* ns;
2510                                                 gboolean _tmp56_ = FALSE;
2511                                                 ValaUsingDirective* _tmp57_;
2512                                                 gboolean _tmp58_;
2513                                                 gboolean _tmp59_;
2514                                                 gboolean _tmp63_;
2515                                                 ValaUsingDirective* _tmp64_;
2516                                                 ValaSymbol* _tmp65_;
2517                                                 ValaSymbol* _tmp66_;
2518                                                 ValaScope* _tmp67_;
2519                                                 ValaScope* _tmp68_;
2520                                                 ValaUnresolvedSymbol* _tmp69_;
2521                                                 const gchar* _tmp70_;
2522                                                 const gchar* _tmp71_;
2523                                                 ValaSymbol* _tmp72_ = NULL;
2524                                                 ValaSymbol* local_sym;
2525                                                 gboolean _tmp73_ = FALSE;
2526                                                 gboolean _tmp74_ = FALSE;
2527                                                 ValaSymbol* _tmp75_;
2528                                                 gboolean _tmp77_;
2529                                                 gboolean _tmp79_;
2530                                                 ValaSymbol* _tmp80_;
2531                                                 _tmp50_ = _ns_index;
2532                                                 _ns_index = _tmp50_ + 1;
2533                                                 _tmp51_ = _ns_index;
2534                                                 _tmp52_ = _ns_size;
2535                                                 if (!(_tmp51_ < _tmp52_)) {
2536                                                         break;
2537                                                 }
2538                                                 _tmp53_ = _ns_list;
2539                                                 _tmp54_ = _ns_index;
2540                                                 _tmp55_ = vala_list_get (_tmp53_, _tmp54_);
2541                                                 ns = (ValaUsingDirective*) _tmp55_;
2542                                                 _tmp57_ = ns;
2543                                                 _tmp58_ = vala_code_node_get_error ((ValaCodeNode*) _tmp57_);
2544                                                 _tmp59_ = _tmp58_;
2545                                                 if (_tmp59_) {
2546                                                         _tmp56_ = TRUE;
2547                                                 } else {
2548                                                         ValaUsingDirective* _tmp60_;
2549                                                         ValaSymbol* _tmp61_;
2550                                                         ValaSymbol* _tmp62_;
2551                                                         _tmp60_ = ns;
2552                                                         _tmp61_ = vala_using_directive_get_namespace_symbol (_tmp60_);
2553                                                         _tmp62_ = _tmp61_;
2554                                                         _tmp56_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp62_, VALA_TYPE_UNRESOLVED_SYMBOL);
2555                                                 }
2556                                                 _tmp63_ = _tmp56_;
2557                                                 if (_tmp63_) {
2558                                                         _vala_code_node_unref0 (ns);
2559                                                         continue;
2560                                                 }
2561                                                 _tmp64_ = ns;
2562                                                 _tmp65_ = vala_using_directive_get_namespace_symbol (_tmp64_);
2563                                                 _tmp66_ = _tmp65_;
2564                                                 _tmp67_ = vala_symbol_get_scope (_tmp66_);
2565                                                 _tmp68_ = _tmp67_;
2566                                                 _tmp69_ = unresolved_symbol;
2567                                                 _tmp70_ = vala_symbol_get_name ((ValaSymbol*) _tmp69_);
2568                                                 _tmp71_ = _tmp70_;
2569                                                 _tmp72_ = vala_scope_lookup (_tmp68_, _tmp71_);
2570                                                 local_sym = _tmp72_;
2571                                                 _tmp75_ = local_sym;
2572                                                 if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp75_, VALA_TYPE_NAMESPACE)) {
2573                                                         _tmp74_ = TRUE;
2574                                                 } else {
2575                                                         ValaSymbol* _tmp76_;
2576                                                         _tmp76_ = local_sym;
2577                                                         _tmp74_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp76_, VALA_TYPE_TYPESYMBOL);
2578                                                 }
2579                                                 _tmp77_ = _tmp74_;
2580                                                 if (_tmp77_) {
2581                                                         _tmp73_ = TRUE;
2582                                                 } else {
2583                                                         ValaSymbol* _tmp78_;
2584                                                         _tmp78_ = sym;
2585                                                         _tmp73_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp78_, VALA_TYPE_TYPEPARAMETER);
2586                                                 }
2587                                                 _tmp79_ = _tmp73_;
2588                                                 if (!_tmp79_) {
2589                                                         _vala_code_node_unref0 (local_sym);
2590                                                         local_sym = NULL;
2591                                                 }
2592                                                 _tmp80_ = local_sym;
2593                                                 if (_tmp80_ != NULL) {
2594                                                         gboolean _tmp81_ = FALSE;
2595                                                         ValaSymbol* _tmp82_;
2596                                                         gboolean _tmp85_;
2597                                                         ValaSymbol* _tmp101_;
2598                                                         ValaSymbol* _tmp102_;
2599                                                         _tmp82_ = sym;
2600                                                         if (_tmp82_ != NULL) {
2601                                                                 ValaSymbol* _tmp83_;
2602                                                                 ValaSymbol* _tmp84_;
2603                                                                 _tmp83_ = sym;
2604                                                                 _tmp84_ = local_sym;
2605                                                                 _tmp81_ = _tmp83_ != _tmp84_;
2606                                                         } else {
2607                                                                 _tmp81_ = FALSE;
2608                                                         }
2609                                                         _tmp85_ = _tmp81_;
2610                                                         if (_tmp85_) {
2611                                                                 ValaUnresolvedSymbol* _tmp86_;
2612                                                                 ValaUnresolvedSymbol* _tmp87_;
2613                                                                 ValaSourceReference* _tmp88_;
2614                                                                 ValaSourceReference* _tmp89_;
2615                                                                 ValaUnresolvedSymbol* _tmp90_;
2616                                                                 const gchar* _tmp91_;
2617                                                                 const gchar* _tmp92_;
2618                                                                 ValaSymbol* _tmp93_;
2619                                                                 gchar* _tmp94_ = NULL;
2620                                                                 gchar* _tmp95_;
2621                                                                 ValaSymbol* _tmp96_;
2622                                                                 gchar* _tmp97_ = NULL;
2623                                                                 gchar* _tmp98_;
2624                                                                 gchar* _tmp99_ = NULL;
2625                                                                 gchar* _tmp100_;
2626                                                                 _tmp86_ = unresolved_symbol;
2627                                                                 vala_code_node_set_error ((ValaCodeNode*) _tmp86_, TRUE);
2628                                                                 _tmp87_ = unresolved_symbol;
2629                                                                 _tmp88_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp87_);
2630                                                                 _tmp89_ = _tmp88_;
2631                                                                 _tmp90_ = unresolved_symbol;
2632                                                                 _tmp91_ = vala_symbol_get_name ((ValaSymbol*) _tmp90_);
2633                                                                 _tmp92_ = _tmp91_;
2634                                                                 _tmp93_ = sym;
2635                                                                 _tmp94_ = vala_symbol_get_full_name (_tmp93_);
2636                                                                 _tmp95_ = _tmp94_;
2637                                                                 _tmp96_ = local_sym;
2638                                                                 _tmp97_ = vala_symbol_get_full_name (_tmp96_);
2639                                                                 _tmp98_ = _tmp97_;
2640                                                                 _tmp99_ = g_strdup_printf ("`%s' is an ambiguous reference between `%s' and `%s'", _tmp92_, _tmp95_, _tmp98_);
2641                                                                 _tmp100_ = _tmp99_;
2642                                                                 vala_report_error (_tmp89_, _tmp100_);
2643                                                                 _g_free0 (_tmp100_);
2644                                                                 _g_free0 (_tmp98_);
2645                                                                 _g_free0 (_tmp95_);
2646                                                                 result = NULL;
2647                                                                 _vala_code_node_unref0 (local_sym);
2648                                                                 _vala_code_node_unref0 (ns);
2649                                                                 _vala_iterable_unref0 (_ns_list);
2650                                                                 _vala_scope_unref0 (scope);
2651                                                                 _vala_code_node_unref0 (sym);
2652                                                                 return result;
2653                                                         }
2654                                                         _tmp101_ = local_sym;
2655                                                         _tmp102_ = _vala_code_node_ref0 (_tmp101_);
2656                                                         _vala_code_node_unref0 (sym);
2657                                                         sym = _tmp102_;
2658                                                 }
2659                                                 _vala_code_node_unref0 (local_sym);
2660                                                 _vala_code_node_unref0 (ns);
2661                                         }
2662                                         _vala_iterable_unref0 (_ns_list);
2663                                 }
2664                         }
2665                         result = sym;
2666                         _vala_scope_unref0 (scope);
2667                         return result;
2668                 } else {
2669                         ValaUnresolvedSymbol* _tmp103_;
2670                         ValaUnresolvedSymbol* _tmp104_;
2671                         ValaUnresolvedSymbol* _tmp105_;
2672                         ValaSymbol* _tmp106_ = NULL;
2673                         ValaSymbol* parent_symbol;
2674                         ValaSymbol* _tmp107_;
2675                         ValaSymbol* _tmp121_;
2676                         ValaSymbol* _tmp122_;
2677                         ValaScope* _tmp123_;
2678                         ValaScope* _tmp124_;
2679                         ValaUnresolvedSymbol* _tmp125_;
2680                         const gchar* _tmp126_;
2681                         const gchar* _tmp127_;
2682                         ValaSymbol* _tmp128_ = NULL;
2683                         _tmp103_ = unresolved_symbol;
2684                         _tmp104_ = vala_unresolved_symbol_get_inner (_tmp103_);
2685                         _tmp105_ = _tmp104_;
2686                         _tmp106_ = vala_symbol_resolver_resolve_symbol (self, _tmp105_);
2687                         parent_symbol = _tmp106_;
2688                         _tmp107_ = parent_symbol;
2689                         if (_tmp107_ == NULL) {
2690                                 ValaUnresolvedSymbol* _tmp108_;
2691                                 ValaUnresolvedSymbol* _tmp109_;
2692                                 ValaUnresolvedSymbol* _tmp110_;
2693                                 ValaUnresolvedSymbol* _tmp111_;
2694                                 ValaSourceReference* _tmp112_;
2695                                 ValaSourceReference* _tmp113_;
2696                                 ValaUnresolvedSymbol* _tmp114_;
2697                                 ValaUnresolvedSymbol* _tmp115_;
2698                                 ValaUnresolvedSymbol* _tmp116_;
2699                                 const gchar* _tmp117_;
2700                                 const gchar* _tmp118_;
2701                                 gchar* _tmp119_ = NULL;
2702                                 gchar* _tmp120_;
2703                                 _tmp108_ = unresolved_symbol;
2704                                 vala_code_node_set_error ((ValaCodeNode*) _tmp108_, TRUE);
2705                                 _tmp109_ = unresolved_symbol;
2706                                 _tmp110_ = vala_unresolved_symbol_get_inner (_tmp109_);
2707                                 _tmp111_ = _tmp110_;
2708                                 _tmp112_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp111_);
2709                                 _tmp113_ = _tmp112_;
2710                                 _tmp114_ = unresolved_symbol;
2711                                 _tmp115_ = vala_unresolved_symbol_get_inner (_tmp114_);
2712                                 _tmp116_ = _tmp115_;
2713                                 _tmp117_ = vala_symbol_get_name ((ValaSymbol*) _tmp116_);
2714                                 _tmp118_ = _tmp117_;
2715                                 _tmp119_ = g_strdup_printf ("The symbol `%s' could not be found", _tmp118_);
2716                                 _tmp120_ = _tmp119_;
2717                                 vala_report_error (_tmp113_, _tmp120_);
2718                                 _g_free0 (_tmp120_);
2719                                 result = NULL;
2720                                 _vala_code_node_unref0 (parent_symbol);
2721                                 return result;
2722                         }
2723                         _tmp121_ = parent_symbol;
2724                         vala_symbol_set_used (_tmp121_, TRUE);
2725                         _tmp122_ = parent_symbol;
2726                         _tmp123_ = vala_symbol_get_scope (_tmp122_);
2727                         _tmp124_ = _tmp123_;
2728                         _tmp125_ = unresolved_symbol;
2729                         _tmp126_ = vala_symbol_get_name ((ValaSymbol*) _tmp125_);
2730                         _tmp127_ = _tmp126_;
2731                         _tmp128_ = vala_scope_lookup (_tmp124_, _tmp127_);
2732                         result = _tmp128_;
2733                         _vala_code_node_unref0 (parent_symbol);
2734                         return result;
2735                 }
2736         }
2737 }
2738
2739
2740 static ValaDataType* vala_symbol_resolver_get_type_for_struct (ValaSymbolResolver* self, ValaStruct* st, ValaStruct* base_struct) {
2741         ValaDataType* result = NULL;
2742         ValaStruct* _tmp0_;
2743         ValaDataType* _tmp1_;
2744         ValaDataType* _tmp2_;
2745         ValaStruct* _tmp14_;
2746         ValaStruct* _tmp15_;
2747         ValaStruct* _tmp16_;
2748         ValaStruct* _tmp22_;
2749         ValaAttribute* _tmp23_ = NULL;
2750         ValaAttribute* _tmp24_;
2751         gboolean _tmp25_;
2752         g_return_val_if_fail (self != NULL, NULL);
2753         g_return_val_if_fail (st != NULL, NULL);
2754         g_return_val_if_fail (base_struct != NULL, NULL);
2755         _tmp0_ = st;
2756         _tmp1_ = vala_struct_get_base_type (_tmp0_);
2757         _tmp2_ = _tmp1_;
2758         if (_tmp2_ != NULL) {
2759                 ValaScope* _tmp3_;
2760                 ValaScope* _tmp4_;
2761                 ValaScope* old_scope;
2762                 ValaStruct* _tmp5_;
2763                 ValaScope* _tmp6_;
2764                 ValaScope* _tmp7_;
2765                 ValaScope* _tmp8_;
2766                 ValaStruct* _tmp9_;
2767                 ValaDataType* _tmp10_;
2768                 ValaDataType* _tmp11_;
2769                 ValaScope* _tmp12_;
2770                 ValaScope* _tmp13_;
2771                 _tmp3_ = self->priv->current_scope;
2772                 _tmp4_ = _vala_scope_ref0 (_tmp3_);
2773                 old_scope = _tmp4_;
2774                 _tmp5_ = st;
2775                 _tmp6_ = vala_symbol_get_scope ((ValaSymbol*) _tmp5_);
2776                 _tmp7_ = _tmp6_;
2777                 _tmp8_ = _vala_scope_ref0 (_tmp7_);
2778                 _vala_scope_unref0 (self->priv->current_scope);
2779                 self->priv->current_scope = _tmp8_;
2780                 _tmp9_ = st;
2781                 _tmp10_ = vala_struct_get_base_type (_tmp9_);
2782                 _tmp11_ = _tmp10_;
2783                 vala_code_node_accept ((ValaCodeNode*) _tmp11_, (ValaCodeVisitor*) self);
2784                 _tmp12_ = old_scope;
2785                 _tmp13_ = _vala_scope_ref0 (_tmp12_);
2786                 _vala_scope_unref0 (self->priv->current_scope);
2787                 self->priv->current_scope = _tmp13_;
2788                 _vala_scope_unref0 (old_scope);
2789         }
2790         _tmp14_ = base_struct;
2791         _tmp15_ = vala_struct_get_base_struct (_tmp14_);
2792         _tmp16_ = _tmp15_;
2793         if (_tmp16_ != NULL) {
2794                 ValaStruct* _tmp17_;
2795                 ValaStruct* _tmp18_;
2796                 ValaStruct* _tmp19_;
2797                 ValaStruct* _tmp20_;
2798                 ValaDataType* _tmp21_ = NULL;
2799                 _tmp17_ = st;
2800                 _tmp18_ = base_struct;
2801                 _tmp19_ = vala_struct_get_base_struct (_tmp18_);
2802                 _tmp20_ = _tmp19_;
2803                 _tmp21_ = vala_symbol_resolver_get_type_for_struct (self, _tmp17_, _tmp20_);
2804                 result = _tmp21_;
2805                 return result;
2806         }
2807         _tmp22_ = base_struct;
2808         _tmp23_ = vala_code_node_get_attribute ((ValaCodeNode*) _tmp22_, "BooleanType");
2809         _tmp24_ = _tmp23_;
2810         _tmp25_ = _tmp24_ != NULL;
2811         _vala_code_node_unref0 (_tmp24_);
2812         if (_tmp25_) {
2813                 ValaStruct* _tmp26_;
2814                 ValaBooleanType* _tmp27_;
2815                 _tmp26_ = st;
2816                 _tmp27_ = vala_boolean_type_new (_tmp26_);
2817                 result = (ValaDataType*) _tmp27_;
2818                 return result;
2819         } else {
2820                 ValaStruct* _tmp28_;
2821                 ValaAttribute* _tmp29_ = NULL;
2822                 ValaAttribute* _tmp30_;
2823                 gboolean _tmp31_;
2824                 _tmp28_ = base_struct;
2825                 _tmp29_ = vala_code_node_get_attribute ((ValaCodeNode*) _tmp28_, "IntegerType");
2826                 _tmp30_ = _tmp29_;
2827                 _tmp31_ = _tmp30_ != NULL;
2828                 _vala_code_node_unref0 (_tmp30_);
2829                 if (_tmp31_) {
2830                         ValaStruct* _tmp32_;
2831                         ValaIntegerType* _tmp33_;
2832                         _tmp32_ = st;
2833                         _tmp33_ = vala_integer_type_new (_tmp32_, NULL, NULL);
2834                         result = (ValaDataType*) _tmp33_;
2835                         return result;
2836                 } else {
2837                         ValaStruct* _tmp34_;
2838                         ValaAttribute* _tmp35_ = NULL;
2839                         ValaAttribute* _tmp36_;
2840                         gboolean _tmp37_;
2841                         _tmp34_ = base_struct;
2842                         _tmp35_ = vala_code_node_get_attribute ((ValaCodeNode*) _tmp34_, "FloatingType");
2843                         _tmp36_ = _tmp35_;
2844                         _tmp37_ = _tmp36_ != NULL;
2845                         _vala_code_node_unref0 (_tmp36_);
2846                         if (_tmp37_) {
2847                                 ValaStruct* _tmp38_;
2848                                 ValaFloatingType* _tmp39_;
2849                                 _tmp38_ = st;
2850                                 _tmp39_ = vala_floating_type_new (_tmp38_);
2851                                 result = (ValaDataType*) _tmp39_;
2852                                 return result;
2853                         } else {
2854                                 ValaStruct* _tmp40_;
2855                                 ValaStructValueType* _tmp41_;
2856                                 _tmp40_ = st;
2857                                 _tmp41_ = vala_struct_value_type_new (_tmp40_);
2858                                 result = (ValaDataType*) _tmp41_;
2859                                 return result;
2860                         }
2861                 }
2862         }
2863 }
2864
2865
2866 static ValaDataType* vala_symbol_resolver_resolve_type (ValaSymbolResolver* self, ValaUnresolvedType* unresolved_type) {
2867         ValaDataType* result = NULL;
2868         ValaDataType* type;
2869         ValaUnresolvedType* _tmp0_;
2870         ValaUnresolvedSymbol* _tmp1_;
2871         ValaUnresolvedSymbol* _tmp2_;
2872         const gchar* _tmp3_;
2873         const gchar* _tmp4_;
2874         ValaUnresolvedType* _tmp6_;
2875         ValaUnresolvedSymbol* _tmp7_;
2876         ValaUnresolvedSymbol* _tmp8_;
2877         ValaSymbol* _tmp9_ = NULL;
2878         ValaSymbol* sym;
2879         ValaSymbol* _tmp10_;
2880         ValaSymbol* _tmp27_;
2881         ValaDataType* _tmp89_;
2882         ValaUnresolvedType* _tmp90_;
2883         ValaSourceReference* _tmp91_;
2884         ValaSourceReference* _tmp92_;
2885         ValaDataType* _tmp93_;
2886         ValaUnresolvedType* _tmp94_;
2887         gboolean _tmp95_;
2888         gboolean _tmp96_;
2889         ValaSymbol* _tmp97_;
2890         ValaDataType* _tmp98_;
2891         ValaDataType* _tmp104_;
2892         ValaUnresolvedType* _tmp105_;
2893         gboolean _tmp106_;
2894         gboolean _tmp107_;
2895         g_return_val_if_fail (self != NULL, NULL);
2896         g_return_val_if_fail (unresolved_type != NULL, NULL);
2897         type = NULL;
2898         _tmp0_ = unresolved_type;
2899         _tmp1_ = vala_unresolved_type_get_unresolved_symbol (_tmp0_);
2900         _tmp2_ = _tmp1_;
2901         _tmp3_ = vala_symbol_get_name ((ValaSymbol*) _tmp2_);
2902         _tmp4_ = _tmp3_;
2903         if (g_strcmp0 (_tmp4_, "void") == 0) {
2904                 ValaVoidType* _tmp5_;
2905                 _tmp5_ = vala_void_type_new (NULL);
2906                 result = (ValaDataType*) _tmp5_;
2907                 _vala_code_node_unref0 (type);
2908                 return result;
2909         }
2910         _tmp6_ = unresolved_type;
2911         _tmp7_ = vala_unresolved_type_get_unresolved_symbol (_tmp6_);
2912         _tmp8_ = _tmp7_;
2913         _tmp9_ = vala_symbol_resolver_resolve_symbol (self, _tmp8_);
2914         sym = _tmp9_;
2915         _tmp10_ = sym;
2916         if (_tmp10_ == NULL) {
2917                 ValaUnresolvedType* _tmp11_;
2918                 ValaUnresolvedSymbol* _tmp12_;
2919                 ValaUnresolvedSymbol* _tmp13_;
2920                 gboolean _tmp14_;
2921                 gboolean _tmp15_;
2922                 ValaInvalidType* _tmp26_;
2923                 _tmp11_ = unresolved_type;
2924                 _tmp12_ = vala_unresolved_type_get_unresolved_symbol (_tmp11_);
2925                 _tmp13_ = _tmp12_;
2926                 _tmp14_ = vala_code_node_get_error ((ValaCodeNode*) _tmp13_);
2927                 _tmp15_ = _tmp14_;
2928                 if (!_tmp15_) {
2929                         ValaUnresolvedType* _tmp16_;
2930                         ValaSourceReference* _tmp17_;
2931                         ValaSourceReference* _tmp18_;
2932                         ValaUnresolvedType* _tmp19_;
2933                         ValaUnresolvedSymbol* _tmp20_;
2934                         ValaUnresolvedSymbol* _tmp21_;
2935                         gchar* _tmp22_ = NULL;
2936                         gchar* _tmp23_;
2937                         gchar* _tmp24_ = NULL;
2938                         gchar* _tmp25_;
2939                         _tmp16_ = unresolved_type;
2940                         _tmp17_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp16_);
2941                         _tmp18_ = _tmp17_;
2942                         _tmp19_ = unresolved_type;
2943                         _tmp20_ = vala_unresolved_type_get_unresolved_symbol (_tmp19_);
2944                         _tmp21_ = _tmp20_;
2945                         _tmp22_ = vala_code_node_to_string ((ValaCodeNode*) _tmp21_);
2946                         _tmp23_ = _tmp22_;
2947                         _tmp24_ = g_strdup_printf ("The type name `%s' could not be found", _tmp23_);
2948                         _tmp25_ = _tmp24_;
2949                         vala_report_error (_tmp18_, _tmp25_);
2950                         _g_free0 (_tmp25_);
2951                         _g_free0 (_tmp23_);
2952                 }
2953                 _tmp26_ = vala_invalid_type_new ();
2954                 result = (ValaDataType*) _tmp26_;
2955                 _vala_code_node_unref0 (sym);
2956                 _vala_code_node_unref0 (type);
2957                 return result;
2958         }
2959         _tmp27_ = sym;
2960         if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, VALA_TYPE_TYPEPARAMETER)) {
2961                 ValaSymbol* _tmp28_;
2962                 ValaGenericType* _tmp29_;
2963                 _tmp28_ = sym;
2964                 _tmp29_ = vala_generic_type_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, VALA_TYPE_TYPEPARAMETER, ValaTypeParameter));
2965                 _vala_code_node_unref0 (type);
2966                 type = (ValaDataType*) _tmp29_;
2967         } else {
2968                 ValaSymbol* _tmp30_;
2969                 _tmp30_ = sym;
2970                 if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, VALA_TYPE_TYPESYMBOL)) {
2971                         ValaSymbol* _tmp31_;
2972                         _tmp31_ = sym;
2973                         if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp31_, VALA_TYPE_DELEGATE)) {
2974                                 ValaSymbol* _tmp32_;
2975                                 ValaDelegateType* _tmp33_;
2976                                 _tmp32_ = sym;
2977                                 _tmp33_ = vala_delegate_type_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, VALA_TYPE_DELEGATE, ValaDelegate));
2978                                 _vala_code_node_unref0 (type);
2979                                 type = (ValaDataType*) _tmp33_;
2980                         } else {
2981                                 ValaSymbol* _tmp34_;
2982                                 _tmp34_ = sym;
2983                                 if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp34_, VALA_TYPE_CLASS)) {
2984                                         ValaSymbol* _tmp35_;
2985                                         ValaClass* _tmp36_;
2986                                         ValaClass* cl;
2987                                         ValaClass* _tmp37_;
2988                                         gboolean _tmp38_;
2989                                         gboolean _tmp39_;
2990                                         _tmp35_ = sym;
2991                                         _tmp36_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, VALA_TYPE_CLASS, ValaClass));
2992                                         cl = _tmp36_;
2993                                         _tmp37_ = cl;
2994                                         _tmp38_ = vala_class_get_is_error_base (_tmp37_);
2995                                         _tmp39_ = _tmp38_;
2996                                         if (_tmp39_) {
2997                                                 ValaUnresolvedType* _tmp40_;
2998                                                 ValaSourceReference* _tmp41_;
2999                                                 ValaSourceReference* _tmp42_;
3000                                                 ValaErrorType* _tmp43_;
3001                                                 _tmp40_ = unresolved_type;
3002                                                 _tmp41_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp40_);
3003                                                 _tmp42_ = _tmp41_;
3004                                                 _tmp43_ = vala_error_type_new (NULL, NULL, _tmp42_);
3005                                                 _vala_code_node_unref0 (type);
3006                                                 type = (ValaDataType*) _tmp43_;
3007                                         } else {
3008                                                 ValaClass* _tmp44_;
3009                                                 ValaObjectType* _tmp45_;
3010                                                 _tmp44_ = cl;
3011                                                 _tmp45_ = vala_object_type_new ((ValaObjectTypeSymbol*) _tmp44_);
3012                                                 _vala_code_node_unref0 (type);
3013                                                 type = (ValaDataType*) _tmp45_;
3014                                         }
3015                                         _vala_code_node_unref0 (cl);
3016                                 } else {
3017                                         ValaSymbol* _tmp46_;
3018                                         _tmp46_ = sym;
3019                                         if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp46_, VALA_TYPE_INTERFACE)) {
3020                                                 ValaSymbol* _tmp47_;
3021                                                 ValaObjectType* _tmp48_;
3022                                                 _tmp47_ = sym;
3023                                                 _tmp48_ = vala_object_type_new ((ValaObjectTypeSymbol*) G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, VALA_TYPE_INTERFACE, ValaInterface));
3024                                                 _vala_code_node_unref0 (type);
3025                                                 type = (ValaDataType*) _tmp48_;
3026                                         } else {
3027                                                 ValaSymbol* _tmp49_;
3028                                                 _tmp49_ = sym;
3029                                                 if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp49_, VALA_TYPE_STRUCT)) {
3030                                                         ValaSymbol* _tmp50_;
3031                                                         ValaSymbol* _tmp51_;
3032                                                         ValaDataType* _tmp52_ = NULL;
3033                                                         _tmp50_ = sym;
3034                                                         _tmp51_ = sym;
3035                                                         _tmp52_ = vala_symbol_resolver_get_type_for_struct (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, VALA_TYPE_STRUCT, ValaStruct), G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, VALA_TYPE_STRUCT, ValaStruct));
3036                                                         _vala_code_node_unref0 (type);
3037                                                         type = _tmp52_;
3038                                                 } else {
3039                                                         ValaSymbol* _tmp53_;
3040                                                         _tmp53_ = sym;
3041                                                         if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp53_, VALA_TYPE_ENUM)) {
3042                                                                 ValaSymbol* _tmp54_;
3043                                                                 ValaEnumValueType* _tmp55_;
3044                                                                 _tmp54_ = sym;
3045                                                                 _tmp55_ = vala_enum_value_type_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, VALA_TYPE_ENUM, ValaEnum));
3046                                                                 _vala_code_node_unref0 (type);
3047                                                                 type = (ValaDataType*) _tmp55_;
3048                                                         } else {
3049                                                                 ValaSymbol* _tmp56_;
3050                                                                 _tmp56_ = sym;
3051                                                                 if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp56_, VALA_TYPE_ERROR_DOMAIN)) {
3052                                                                         ValaSymbol* _tmp57_;
3053                                                                         ValaUnresolvedType* _tmp58_;
3054                                                                         ValaSourceReference* _tmp59_;
3055                                                                         ValaSourceReference* _tmp60_;
3056                                                                         ValaErrorType* _tmp61_;
3057                                                                         _tmp57_ = sym;
3058                                                                         _tmp58_ = unresolved_type;
3059                                                                         _tmp59_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp58_);
3060                                                                         _tmp60_ = _tmp59_;
3061                                                                         _tmp61_ = vala_error_type_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, VALA_TYPE_ERROR_DOMAIN, ValaErrorDomain), NULL, _tmp60_);
3062                                                                         _vala_code_node_unref0 (type);
3063                                                                         type = (ValaDataType*) _tmp61_;
3064                                                                 } else {
3065                                                                         ValaSymbol* _tmp62_;
3066                                                                         _tmp62_ = sym;
3067                                                                         if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp62_, VALA_TYPE_ERROR_CODE)) {
3068                                                                                 ValaSymbol* _tmp63_;
3069                                                                                 ValaSymbol* _tmp64_;
3070                                                                                 ValaSymbol* _tmp65_;
3071                                                                                 ValaSymbol* _tmp66_;
3072                                                                                 ValaUnresolvedType* _tmp67_;
3073                                                                                 ValaSourceReference* _tmp68_;
3074                                                                                 ValaSourceReference* _tmp69_;
3075                                                                                 ValaErrorType* _tmp70_;
3076                                                                                 _tmp63_ = sym;
3077                                                                                 _tmp64_ = vala_symbol_get_parent_symbol (_tmp63_);
3078                                                                                 _tmp65_ = _tmp64_;
3079                                                                                 _tmp66_ = sym;
3080                                                                                 _tmp67_ = unresolved_type;
3081                                                                                 _tmp68_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp67_);
3082                                                                                 _tmp69_ = _tmp68_;
3083                                                                                 _tmp70_ = vala_error_type_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, VALA_TYPE_ERROR_DOMAIN, ValaErrorDomain), G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, VALA_TYPE_ERROR_CODE, ValaErrorCode), _tmp69_);
3084                                                                                 _vala_code_node_unref0 (type);
3085                                                                                 type = (ValaDataType*) _tmp70_;
3086                                                                         } else {
3087                                                                                 ValaUnresolvedType* _tmp71_;
3088                                                                                 ValaSourceReference* _tmp72_;
3089                                                                                 ValaSourceReference* _tmp73_;
3090                                                                                 ValaSymbol* _tmp74_;
3091                                                                                 gchar* _tmp75_ = NULL;
3092                                                                                 gchar* _tmp76_;
3093                                                                                 gchar* _tmp77_ = NULL;
3094                                                                                 gchar* _tmp78_;
3095                                                                                 ValaInvalidType* _tmp79_;
3096                                                                                 _tmp71_ = unresolved_type;
3097                                                                                 _tmp72_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp71_);
3098                                                                                 _tmp73_ = _tmp72_;
3099                                                                                 _tmp74_ = sym;
3100                                                                                 _tmp75_ = vala_symbol_get_full_name (_tmp74_);
3101                                                                                 _tmp76_ = _tmp75_;
3102                                                                                 _tmp77_ = g_strdup_printf ("internal error: `%s' is not a supported type", _tmp76_);
3103                                                                                 _tmp78_ = _tmp77_;
3104                                                                                 vala_report_error (_tmp73_, _tmp78_);
3105                                                                                 _g_free0 (_tmp78_);
3106                                                                                 _g_free0 (_tmp76_);
3107                                                                                 _tmp79_ = vala_invalid_type_new ();
3108                                                                                 result = (ValaDataType*) _tmp79_;
3109                                                                                 _vala_code_node_unref0 (sym);
3110                                                                                 _vala_code_node_unref0 (type);
3111                                                                                 return result;
3112                                                                         }
3113                                                                 }
3114                                                         }
3115                                                 }
3116                                         }
3117                                 }
3118                         }
3119                 } else {
3120                         ValaUnresolvedType* _tmp80_;
3121                         ValaSourceReference* _tmp81_;
3122                         ValaSourceReference* _tmp82_;
3123                         ValaSymbol* _tmp83_;
3124                         gchar* _tmp84_ = NULL;
3125                         gchar* _tmp85_;
3126                         gchar* _tmp86_ = NULL;
3127                         gchar* _tmp87_;
3128                         ValaInvalidType* _tmp88_;
3129                         _tmp80_ = unresolved_type;
3130                         _tmp81_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp80_);
3131                         _tmp82_ = _tmp81_;
3132                         _tmp83_ = sym;
3133                         _tmp84_ = vala_symbol_get_full_name (_tmp83_);
3134                         _tmp85_ = _tmp84_;
3135                         _tmp86_ = g_strdup_printf ("`%s' is not a type", _tmp85_);
3136                         _tmp87_ = _tmp86_;
3137                         vala_report_error (_tmp82_, _tmp87_);
3138                         _g_free0 (_tmp87_);
3139                         _g_free0 (_tmp85_);
3140                         _tmp88_ = vala_invalid_type_new ();
3141                         result = (ValaDataType*) _tmp88_;
3142                         _vala_code_node_unref0 (sym);
3143                         _vala_code_node_unref0 (type);
3144                         return result;
3145                 }
3146         }
3147         _tmp89_ = type;
3148         _tmp90_ = unresolved_type;
3149         _tmp91_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp90_);
3150         _tmp92_ = _tmp91_;
3151         vala_code_node_set_source_reference ((ValaCodeNode*) _tmp89_, _tmp92_);
3152         _tmp93_ = type;
3153         _tmp94_ = unresolved_type;
3154         _tmp95_ = vala_data_type_get_value_owned ((ValaDataType*) _tmp94_);
3155         _tmp96_ = _tmp95_;
3156         vala_data_type_set_value_owned (_tmp93_, _tmp96_);
3157         _tmp97_ = sym;
3158         vala_symbol_set_used (_tmp97_, TRUE);
3159         _tmp98_ = type;
3160         if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp98_, VALA_TYPE_GENERIC_TYPE)) {
3161                 ValaDataType* _tmp99_;
3162                 _tmp99_ = type;
3163                 vala_data_type_set_nullable (_tmp99_, TRUE);
3164         } else {
3165                 ValaDataType* _tmp100_;
3166                 ValaUnresolvedType* _tmp101_;
3167                 gboolean _tmp102_;
3168                 gboolean _tmp103_;
3169                 _tmp100_ = type;
3170                 _tmp101_ = unresolved_type;
3171                 _tmp102_ = vala_data_type_get_nullable ((ValaDataType*) _tmp101_);
3172                 _tmp103_ = _tmp102_;
3173                 vala_data_type_set_nullable (_tmp100_, _tmp103_);
3174         }
3175         _tmp104_ = type;
3176         _tmp105_ = unresolved_type;
3177         _tmp106_ = vala_data_type_get_is_dynamic ((ValaDataType*) _tmp105_);
3178         _tmp107_ = _tmp106_;
3179         vala_data_type_set_is_dynamic (_tmp104_, _tmp107_);
3180         {
3181                 ValaUnresolvedType* _tmp108_;
3182                 ValaList* _tmp109_ = NULL;
3183                 ValaList* _type_arg_list;
3184                 ValaList* _tmp110_;
3185                 gint _tmp111_;
3186                 gint _tmp112_;
3187                 gint _type_arg_size;
3188                 gint _type_arg_index;
3189                 _tmp108_ = unresolved_type;
3190                 _tmp109_ = vala_data_type_get_type_arguments ((ValaDataType*) _tmp108_);
3191                 _type_arg_list = _tmp109_;
3192                 _tmp110_ = _type_arg_list;
3193                 _tmp111_ = vala_collection_get_size ((ValaCollection*) _tmp110_);
3194                 _tmp112_ = _tmp111_;
3195                 _type_arg_size = _tmp112_;
3196                 _type_arg_index = -1;
3197                 while (TRUE) {
3198                         gint _tmp113_;
3199                         gint _tmp114_;
3200                         gint _tmp115_;
3201                         ValaList* _tmp116_;
3202                         gint _tmp117_;
3203                         gpointer _tmp118_ = NULL;
3204                         ValaDataType* type_arg;
3205                         ValaDataType* _tmp119_;
3206                         ValaDataType* _tmp120_;
3207                         _tmp113_ = _type_arg_index;
3208                         _type_arg_index = _tmp113_ + 1;
3209                         _tmp114_ = _type_arg_index;
3210                         _tmp115_ = _type_arg_size;
3211                         if (!(_tmp114_ < _tmp115_)) {
3212                                 break;
3213                         }
3214                         _tmp116_ = _type_arg_list;
3215                         _tmp117_ = _type_arg_index;
3216                         _tmp118_ = vala_list_get (_tmp116_, _tmp117_);
3217                         type_arg = (ValaDataType*) _tmp118_;
3218                         _tmp119_ = type;
3219                         _tmp120_ = type_arg;
3220                         vala_data_type_add_type_argument (_tmp119_, _tmp120_);
3221                         _vala_code_node_unref0 (type_arg);
3222                 }
3223                 _vala_iterable_unref0 (_type_arg_list);
3224         }
3225         result = type;
3226         _vala_code_node_unref0 (sym);
3227         return result;
3228 }
3229
3230
3231 static void vala_symbol_resolver_real_visit_data_type (ValaCodeVisitor* base, ValaDataType* data_type) {
3232         ValaSymbolResolver * self;
3233         ValaDataType* _tmp0_;
3234         ValaDataType* _tmp1_;
3235         ValaDataType* _tmp2_;
3236         ValaUnresolvedType* _tmp3_;
3237         ValaUnresolvedType* unresolved_type;
3238         ValaUnresolvedType* _tmp4_;
3239         ValaCodeNode* _tmp5_;
3240         ValaCodeNode* _tmp6_;
3241         ValaUnresolvedType* _tmp7_;
3242         ValaUnresolvedType* _tmp8_;
3243         ValaDataType* _tmp9_ = NULL;
3244         ValaDataType* _tmp10_;
3245         self = (ValaSymbolResolver*) base;
3246         g_return_if_fail (data_type != NULL);
3247         _tmp0_ = data_type;
3248         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3249         _tmp1_ = data_type;
3250         if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, VALA_TYPE_UNRESOLVED_TYPE)) {
3251                 return;
3252         }
3253         _tmp2_ = data_type;
3254         _tmp3_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, VALA_TYPE_UNRESOLVED_TYPE, ValaUnresolvedType));
3255         unresolved_type = _tmp3_;
3256         _tmp4_ = unresolved_type;
3257         _tmp5_ = vala_code_node_get_parent_node ((ValaCodeNode*) _tmp4_);
3258         _tmp6_ = _tmp5_;
3259         _tmp7_ = unresolved_type;
3260         _tmp8_ = unresolved_type;
3261         _tmp9_ = vala_symbol_resolver_resolve_type (self, _tmp8_);
3262         _tmp10_ = _tmp9_;
3263         vala_code_node_replace_type (_tmp6_, (ValaDataType*) _tmp7_, _tmp10_);
3264         _vala_code_node_unref0 (_tmp10_);
3265         _vala_code_node_unref0 (unresolved_type);
3266 }
3267
3268
3269 static void vala_symbol_resolver_real_visit_declaration_statement (ValaCodeVisitor* base, ValaDeclarationStatement* stmt) {
3270         ValaSymbolResolver * self;
3271         ValaDeclarationStatement* _tmp0_;
3272         self = (ValaSymbolResolver*) base;
3273         g_return_if_fail (stmt != NULL);
3274         _tmp0_ = stmt;
3275         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3276 }
3277
3278
3279 static void vala_symbol_resolver_real_visit_local_variable (ValaCodeVisitor* base, ValaLocalVariable* local) {
3280         ValaSymbolResolver * self;
3281         ValaLocalVariable* _tmp0_;
3282         ValaCodeContext* _tmp1_;
3283         gboolean _tmp2_;
3284         gboolean _tmp3_;
3285         self = (ValaSymbolResolver*) base;
3286         g_return_if_fail (local != NULL);
3287         _tmp0_ = local;
3288         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3289         _tmp1_ = self->priv->context;
3290         _tmp2_ = vala_code_context_get_experimental_non_null (_tmp1_);
3291         _tmp3_ = _tmp2_;
3292         if (!_tmp3_) {
3293                 ValaLocalVariable* _tmp4_;
3294                 ValaDataType* _tmp5_;
3295                 ValaDataType* _tmp6_;
3296                 _tmp4_ = local;
3297                 _tmp5_ = vala_variable_get_variable_type ((ValaVariable*) _tmp4_);
3298                 _tmp6_ = _tmp5_;
3299                 if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, VALA_TYPE_REFERENCE_TYPE)) {
3300                         ValaLocalVariable* _tmp7_;
3301                         ValaDataType* _tmp8_;
3302                         ValaDataType* _tmp9_;
3303                         ValaArrayType* _tmp10_;
3304                         ValaArrayType* array_type;
3305                         gboolean _tmp11_ = FALSE;
3306                         ValaArrayType* _tmp12_;
3307                         gboolean _tmp16_;
3308                         _tmp7_ = local;
3309                         _tmp8_ = vala_variable_get_variable_type ((ValaVariable*) _tmp7_);
3310                         _tmp9_ = _tmp8_;
3311                         _tmp10_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp9_) : NULL);
3312                         array_type = _tmp10_;
3313                         _tmp12_ = array_type;
3314                         if (_tmp12_ != NULL) {
3315                                 ValaArrayType* _tmp13_;
3316                                 gboolean _tmp14_;
3317                                 gboolean _tmp15_;
3318                                 _tmp13_ = array_type;
3319                                 _tmp14_ = vala_array_type_get_fixed_length (_tmp13_);
3320                                 _tmp15_ = _tmp14_;
3321                                 _tmp11_ = _tmp15_;
3322                         } else {
3323                                 _tmp11_ = FALSE;
3324                         }
3325                         _tmp16_ = _tmp11_;
3326                         if (_tmp16_) {
3327                         } else {
3328                                 ValaLocalVariable* _tmp17_;
3329                                 ValaDataType* _tmp18_;
3330                                 ValaDataType* _tmp19_;
3331                                 _tmp17_ = local;
3332                                 _tmp18_ = vala_variable_get_variable_type ((ValaVariable*) _tmp17_);
3333                                 _tmp19_ = _tmp18_;
3334                                 vala_data_type_set_nullable (_tmp19_, TRUE);
3335                         }
3336                         _vala_code_node_unref0 (array_type);
3337                 }
3338         }
3339 }
3340
3341
3342 static void vala_symbol_resolver_real_visit_initializer_list (ValaCodeVisitor* base, ValaInitializerList* list) {
3343         ValaSymbolResolver * self;
3344         ValaInitializerList* _tmp0_;
3345         self = (ValaSymbolResolver*) base;
3346         g_return_if_fail (list != NULL);
3347         _tmp0_ = list;
3348         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3349 }
3350
3351
3352 static void vala_symbol_resolver_real_visit_expression_statement (ValaCodeVisitor* base, ValaExpressionStatement* stmt) {
3353         ValaSymbolResolver * self;
3354         ValaExpressionStatement* _tmp0_;
3355         self = (ValaSymbolResolver*) base;
3356         g_return_if_fail (stmt != NULL);
3357         _tmp0_ = stmt;
3358         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3359 }
3360
3361
3362 static void vala_symbol_resolver_real_visit_if_statement (ValaCodeVisitor* base, ValaIfStatement* stmt) {
3363         ValaSymbolResolver * self;
3364         ValaIfStatement* _tmp0_;
3365         self = (ValaSymbolResolver*) base;
3366         g_return_if_fail (stmt != NULL);
3367         _tmp0_ = stmt;
3368         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3369 }
3370
3371
3372 static void vala_symbol_resolver_real_visit_switch_statement (ValaCodeVisitor* base, ValaSwitchStatement* stmt) {
3373         ValaSymbolResolver * self;
3374         ValaSwitchStatement* _tmp0_;
3375         self = (ValaSymbolResolver*) base;
3376         g_return_if_fail (stmt != NULL);
3377         _tmp0_ = stmt;
3378         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3379 }
3380
3381
3382 static void vala_symbol_resolver_real_visit_switch_section (ValaCodeVisitor* base, ValaSwitchSection* section) {
3383         ValaSymbolResolver * self;
3384         ValaSwitchSection* _tmp0_;
3385         self = (ValaSymbolResolver*) base;
3386         g_return_if_fail (section != NULL);
3387         _tmp0_ = section;
3388         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3389 }
3390
3391
3392 static void vala_symbol_resolver_real_visit_switch_label (ValaCodeVisitor* base, ValaSwitchLabel* label) {
3393         ValaSymbolResolver * self;
3394         ValaSwitchLabel* _tmp0_;
3395         self = (ValaSymbolResolver*) base;
3396         g_return_if_fail (label != NULL);
3397         _tmp0_ = label;
3398         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3399 }
3400
3401
3402 static void vala_symbol_resolver_real_visit_loop (ValaCodeVisitor* base, ValaLoop* stmt) {
3403         ValaSymbolResolver * self;
3404         ValaLoop* _tmp0_;
3405         self = (ValaSymbolResolver*) base;
3406         g_return_if_fail (stmt != NULL);
3407         _tmp0_ = stmt;
3408         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3409 }
3410
3411
3412 static void vala_symbol_resolver_real_visit_while_statement (ValaCodeVisitor* base, ValaWhileStatement* stmt) {
3413         ValaSymbolResolver * self;
3414         ValaWhileStatement* _tmp0_;
3415         self = (ValaSymbolResolver*) base;
3416         g_return_if_fail (stmt != NULL);
3417         _tmp0_ = stmt;
3418         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3419 }
3420
3421
3422 static void vala_symbol_resolver_real_visit_do_statement (ValaCodeVisitor* base, ValaDoStatement* stmt) {
3423         ValaSymbolResolver * self;
3424         ValaDoStatement* _tmp0_;
3425         self = (ValaSymbolResolver*) base;
3426         g_return_if_fail (stmt != NULL);
3427         _tmp0_ = stmt;
3428         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3429 }
3430
3431
3432 static void vala_symbol_resolver_real_visit_for_statement (ValaCodeVisitor* base, ValaForStatement* stmt) {
3433         ValaSymbolResolver * self;
3434         ValaForStatement* _tmp0_;
3435         self = (ValaSymbolResolver*) base;
3436         g_return_if_fail (stmt != NULL);
3437         _tmp0_ = stmt;
3438         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3439 }
3440
3441
3442 static void vala_symbol_resolver_real_visit_foreach_statement (ValaCodeVisitor* base, ValaForeachStatement* stmt) {
3443         ValaSymbolResolver * self;
3444         ValaForeachStatement* _tmp0_;
3445         self = (ValaSymbolResolver*) base;
3446         g_return_if_fail (stmt != NULL);
3447         _tmp0_ = stmt;
3448         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3449 }
3450
3451
3452 static void vala_symbol_resolver_real_visit_return_statement (ValaCodeVisitor* base, ValaReturnStatement* stmt) {
3453         ValaSymbolResolver * self;
3454         ValaReturnStatement* _tmp0_;
3455         self = (ValaSymbolResolver*) base;
3456         g_return_if_fail (stmt != NULL);
3457         _tmp0_ = stmt;
3458         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3459 }
3460
3461
3462 static void vala_symbol_resolver_real_visit_yield_statement (ValaCodeVisitor* base, ValaYieldStatement* stmt) {
3463         ValaSymbolResolver * self;
3464         ValaYieldStatement* _tmp0_;
3465         self = (ValaSymbolResolver*) base;
3466         g_return_if_fail (stmt != NULL);
3467         _tmp0_ = stmt;
3468         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3469 }
3470
3471
3472 static void vala_symbol_resolver_real_visit_throw_statement (ValaCodeVisitor* base, ValaThrowStatement* stmt) {
3473         ValaSymbolResolver * self;
3474         ValaThrowStatement* _tmp0_;
3475         self = (ValaSymbolResolver*) base;
3476         g_return_if_fail (stmt != NULL);
3477         _tmp0_ = stmt;
3478         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3479 }
3480
3481
3482 static void vala_symbol_resolver_real_visit_try_statement (ValaCodeVisitor* base, ValaTryStatement* stmt) {
3483         ValaSymbolResolver * self;
3484         ValaTryStatement* _tmp0_;
3485         self = (ValaSymbolResolver*) base;
3486         g_return_if_fail (stmt != NULL);
3487         _tmp0_ = stmt;
3488         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3489 }
3490
3491
3492 static void vala_symbol_resolver_real_visit_delete_statement (ValaCodeVisitor* base, ValaDeleteStatement* stmt) {
3493         ValaSymbolResolver * self;
3494         ValaDeleteStatement* _tmp0_;
3495         self = (ValaSymbolResolver*) base;
3496         g_return_if_fail (stmt != NULL);
3497         _tmp0_ = stmt;
3498         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3499 }
3500
3501
3502 static void vala_symbol_resolver_real_visit_catch_clause (ValaCodeVisitor* base, ValaCatchClause* clause) {
3503         ValaSymbolResolver * self;
3504         ValaCatchClause* _tmp0_;
3505         self = (ValaSymbolResolver*) base;
3506         g_return_if_fail (clause != NULL);
3507         _tmp0_ = clause;
3508         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3509 }
3510
3511
3512 static void vala_symbol_resolver_real_visit_array_creation_expression (ValaCodeVisitor* base, ValaArrayCreationExpression* e) {
3513         ValaSymbolResolver * self;
3514         ValaArrayCreationExpression* _tmp0_;
3515         self = (ValaSymbolResolver*) base;
3516         g_return_if_fail (e != NULL);
3517         _tmp0_ = e;
3518         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3519 }
3520
3521
3522 static void vala_symbol_resolver_real_visit_template (ValaCodeVisitor* base, ValaTemplate* tmpl) {
3523         ValaSymbolResolver * self;
3524         ValaTemplate* _tmp0_;
3525         self = (ValaSymbolResolver*) base;
3526         g_return_if_fail (tmpl != NULL);
3527         _tmp0_ = tmpl;
3528         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3529 }
3530
3531
3532 static void vala_symbol_resolver_real_visit_tuple (ValaCodeVisitor* base, ValaTuple* tuple) {
3533         ValaSymbolResolver * self;
3534         ValaTuple* _tmp0_;
3535         self = (ValaSymbolResolver*) base;
3536         g_return_if_fail (tuple != NULL);
3537         _tmp0_ = tuple;
3538         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3539 }
3540
3541
3542 static void vala_symbol_resolver_real_visit_member_access (ValaCodeVisitor* base, ValaMemberAccess* expr) {
3543         ValaSymbolResolver * self;
3544         ValaMemberAccess* _tmp0_;
3545         self = (ValaSymbolResolver*) base;
3546         g_return_if_fail (expr != NULL);
3547         _tmp0_ = expr;
3548         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3549 }
3550
3551
3552 static void vala_symbol_resolver_real_visit_method_call (ValaCodeVisitor* base, ValaMethodCall* expr) {
3553         ValaSymbolResolver * self;
3554         ValaMethodCall* _tmp0_;
3555         self = (ValaSymbolResolver*) base;
3556         g_return_if_fail (expr != NULL);
3557         _tmp0_ = expr;
3558         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3559 }
3560
3561
3562 static void vala_symbol_resolver_real_visit_element_access (ValaCodeVisitor* base, ValaElementAccess* expr) {
3563         ValaSymbolResolver * self;
3564         ValaElementAccess* _tmp0_;
3565         self = (ValaSymbolResolver*) base;
3566         g_return_if_fail (expr != NULL);
3567         _tmp0_ = expr;
3568         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3569 }
3570
3571
3572 static void vala_symbol_resolver_real_visit_slice_expression (ValaCodeVisitor* base, ValaSliceExpression* expr) {
3573         ValaSymbolResolver * self;
3574         ValaSliceExpression* _tmp0_;
3575         self = (ValaSymbolResolver*) base;
3576         g_return_if_fail (expr != NULL);
3577         _tmp0_ = expr;
3578         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3579 }
3580
3581
3582 static void vala_symbol_resolver_real_visit_postfix_expression (ValaCodeVisitor* base, ValaPostfixExpression* expr) {
3583         ValaSymbolResolver * self;
3584         ValaPostfixExpression* _tmp0_;
3585         self = (ValaSymbolResolver*) base;
3586         g_return_if_fail (expr != NULL);
3587         _tmp0_ = expr;
3588         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3589 }
3590
3591
3592 static void vala_symbol_resolver_real_visit_object_creation_expression (ValaCodeVisitor* base, ValaObjectCreationExpression* expr) {
3593         ValaSymbolResolver * self;
3594         ValaObjectCreationExpression* _tmp0_;
3595         self = (ValaSymbolResolver*) base;
3596         g_return_if_fail (expr != NULL);
3597         _tmp0_ = expr;
3598         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3599 }
3600
3601
3602 static void vala_symbol_resolver_real_visit_sizeof_expression (ValaCodeVisitor* base, ValaSizeofExpression* expr) {
3603         ValaSymbolResolver * self;
3604         ValaSizeofExpression* _tmp0_;
3605         self = (ValaSymbolResolver*) base;
3606         g_return_if_fail (expr != NULL);
3607         _tmp0_ = expr;
3608         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3609 }
3610
3611
3612 static void vala_symbol_resolver_real_visit_typeof_expression (ValaCodeVisitor* base, ValaTypeofExpression* expr) {
3613         ValaSymbolResolver * self;
3614         ValaTypeofExpression* _tmp0_;
3615         self = (ValaSymbolResolver*) base;
3616         g_return_if_fail (expr != NULL);
3617         _tmp0_ = expr;
3618         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3619 }
3620
3621
3622 static void vala_symbol_resolver_real_visit_unary_expression (ValaCodeVisitor* base, ValaUnaryExpression* expr) {
3623         ValaSymbolResolver * self;
3624         ValaUnaryExpression* _tmp0_;
3625         self = (ValaSymbolResolver*) base;
3626         g_return_if_fail (expr != NULL);
3627         _tmp0_ = expr;
3628         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3629 }
3630
3631
3632 static void vala_symbol_resolver_real_visit_cast_expression (ValaCodeVisitor* base, ValaCastExpression* expr) {
3633         ValaSymbolResolver * self;
3634         ValaCastExpression* _tmp0_;
3635         self = (ValaSymbolResolver*) base;
3636         g_return_if_fail (expr != NULL);
3637         _tmp0_ = expr;
3638         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3639 }
3640
3641
3642 static void vala_symbol_resolver_real_visit_addressof_expression (ValaCodeVisitor* base, ValaAddressofExpression* expr) {
3643         ValaSymbolResolver * self;
3644         ValaAddressofExpression* _tmp0_;
3645         self = (ValaSymbolResolver*) base;
3646         g_return_if_fail (expr != NULL);
3647         _tmp0_ = expr;
3648         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3649 }
3650
3651
3652 static void vala_symbol_resolver_real_visit_reference_transfer_expression (ValaCodeVisitor* base, ValaReferenceTransferExpression* expr) {
3653         ValaSymbolResolver * self;
3654         ValaReferenceTransferExpression* _tmp0_;
3655         self = (ValaSymbolResolver*) base;
3656         g_return_if_fail (expr != NULL);
3657         _tmp0_ = expr;
3658         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3659 }
3660
3661
3662 static void vala_symbol_resolver_real_visit_binary_expression (ValaCodeVisitor* base, ValaBinaryExpression* expr) {
3663         ValaSymbolResolver * self;
3664         ValaBinaryExpression* _tmp0_;
3665         self = (ValaSymbolResolver*) base;
3666         g_return_if_fail (expr != NULL);
3667         _tmp0_ = expr;
3668         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3669 }
3670
3671
3672 static void vala_symbol_resolver_real_visit_type_check (ValaCodeVisitor* base, ValaTypeCheck* expr) {
3673         ValaSymbolResolver * self;
3674         ValaTypeCheck* _tmp0_;
3675         self = (ValaSymbolResolver*) base;
3676         g_return_if_fail (expr != NULL);
3677         _tmp0_ = expr;
3678         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3679 }
3680
3681
3682 static void vala_symbol_resolver_real_visit_conditional_expression (ValaCodeVisitor* base, ValaConditionalExpression* expr) {
3683         ValaSymbolResolver * self;
3684         ValaConditionalExpression* _tmp0_;
3685         self = (ValaSymbolResolver*) base;
3686         g_return_if_fail (expr != NULL);
3687         _tmp0_ = expr;
3688         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3689 }
3690
3691
3692 static void vala_symbol_resolver_real_visit_lambda_expression (ValaCodeVisitor* base, ValaLambdaExpression* l) {
3693         ValaSymbolResolver * self;
3694         ValaLambdaExpression* _tmp0_;
3695         self = (ValaSymbolResolver*) base;
3696         g_return_if_fail (l != NULL);
3697         _tmp0_ = l;
3698         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3699 }
3700
3701
3702 static void vala_symbol_resolver_real_visit_assignment (ValaCodeVisitor* base, ValaAssignment* a) {
3703         ValaSymbolResolver * self;
3704         ValaAssignment* _tmp0_;
3705         self = (ValaSymbolResolver*) base;
3706         g_return_if_fail (a != NULL);
3707         _tmp0_ = a;
3708         vala_code_node_accept_children ((ValaCodeNode*) _tmp0_, (ValaCodeVisitor*) self);
3709 }
3710
3711
3712 ValaSymbolResolver* vala_symbol_resolver_construct (GType object_type) {
3713         ValaSymbolResolver* self = NULL;
3714         self = (ValaSymbolResolver*) vala_code_visitor_construct (object_type);
3715         return self;
3716 }
3717
3718
3719 ValaSymbolResolver* vala_symbol_resolver_new (void) {
3720         return vala_symbol_resolver_construct (VALA_TYPE_SYMBOL_RESOLVER);
3721 }
3722
3723
3724 static void vala_symbol_resolver_class_init (ValaSymbolResolverClass * klass) {
3725         vala_symbol_resolver_parent_class = g_type_class_peek_parent (klass);
3726         VALA_CODE_VISITOR_CLASS (klass)->finalize = vala_symbol_resolver_finalize;
3727         g_type_class_add_private (klass, sizeof (ValaSymbolResolverPrivate));
3728         VALA_CODE_VISITOR_CLASS (klass)->visit_namespace = vala_symbol_resolver_real_visit_namespace;
3729         VALA_CODE_VISITOR_CLASS (klass)->visit_class = vala_symbol_resolver_real_visit_class;
3730         VALA_CODE_VISITOR_CLASS (klass)->visit_struct = vala_symbol_resolver_real_visit_struct;
3731         VALA_CODE_VISITOR_CLASS (klass)->visit_interface = vala_symbol_resolver_real_visit_interface;
3732         VALA_CODE_VISITOR_CLASS (klass)->visit_enum = vala_symbol_resolver_real_visit_enum;
3733         VALA_CODE_VISITOR_CLASS (klass)->visit_error_domain = vala_symbol_resolver_real_visit_error_domain;
3734         VALA_CODE_VISITOR_CLASS (klass)->visit_delegate = vala_symbol_resolver_real_visit_delegate;
3735         VALA_CODE_VISITOR_CLASS (klass)->visit_constant = vala_symbol_resolver_real_visit_constant;
3736         VALA_CODE_VISITOR_CLASS (klass)->visit_field = vala_symbol_resolver_real_visit_field;
3737         VALA_CODE_VISITOR_CLASS (klass)->visit_method = vala_symbol_resolver_real_visit_method;
3738         VALA_CODE_VISITOR_CLASS (klass)->visit_creation_method = vala_symbol_resolver_real_visit_creation_method;
3739         VALA_CODE_VISITOR_CLASS (klass)->visit_formal_parameter = vala_symbol_resolver_real_visit_formal_parameter;
3740         VALA_CODE_VISITOR_CLASS (klass)->visit_property = vala_symbol_resolver_real_visit_property;
3741         VALA_CODE_VISITOR_CLASS (klass)->visit_property_accessor = vala_symbol_resolver_real_visit_property_accessor;
3742         VALA_CODE_VISITOR_CLASS (klass)->visit_signal = vala_symbol_resolver_real_visit_signal;
3743         VALA_CODE_VISITOR_CLASS (klass)->visit_constructor = vala_symbol_resolver_real_visit_constructor;
3744         VALA_CODE_VISITOR_CLASS (klass)->visit_destructor = vala_symbol_resolver_real_visit_destructor;
3745         VALA_CODE_VISITOR_CLASS (klass)->visit_block = vala_symbol_resolver_real_visit_block;
3746         VALA_CODE_VISITOR_CLASS (klass)->visit_using_directive = vala_symbol_resolver_real_visit_using_directive;
3747         VALA_CODE_VISITOR_CLASS (klass)->visit_data_type = vala_symbol_resolver_real_visit_data_type;
3748         VALA_CODE_VISITOR_CLASS (klass)->visit_declaration_statement = vala_symbol_resolver_real_visit_declaration_statement;
3749         VALA_CODE_VISITOR_CLASS (klass)->visit_local_variable = vala_symbol_resolver_real_visit_local_variable;
3750         VALA_CODE_VISITOR_CLASS (klass)->visit_initializer_list = vala_symbol_resolver_real_visit_initializer_list;
3751         VALA_CODE_VISITOR_CLASS (klass)->visit_expression_statement = vala_symbol_resolver_real_visit_expression_statement;
3752         VALA_CODE_VISITOR_CLASS (klass)->visit_if_statement = vala_symbol_resolver_real_visit_if_statement;
3753         VALA_CODE_VISITOR_CLASS (klass)->visit_switch_statement = vala_symbol_resolver_real_visit_switch_statement;
3754         VALA_CODE_VISITOR_CLASS (klass)->visit_switch_section = vala_symbol_resolver_real_visit_switch_section;
3755         VALA_CODE_VISITOR_CLASS (klass)->visit_switch_label = vala_symbol_resolver_real_visit_switch_label;
3756         VALA_CODE_VISITOR_CLASS (klass)->visit_loop = vala_symbol_resolver_real_visit_loop;
3757         VALA_CODE_VISITOR_CLASS (klass)->visit_while_statement = vala_symbol_resolver_real_visit_while_statement;
3758         VALA_CODE_VISITOR_CLASS (klass)->visit_do_statement = vala_symbol_resolver_real_visit_do_statement;
3759         VALA_CODE_VISITOR_CLASS (klass)->visit_for_statement = vala_symbol_resolver_real_visit_for_statement;
3760         VALA_CODE_VISITOR_CLASS (klass)->visit_foreach_statement = vala_symbol_resolver_real_visit_foreach_statement;
3761         VALA_CODE_VISITOR_CLASS (klass)->visit_return_statement = vala_symbol_resolver_real_visit_return_statement;
3762         VALA_CODE_VISITOR_CLASS (klass)->visit_yield_statement = vala_symbol_resolver_real_visit_yield_statement;
3763         VALA_CODE_VISITOR_CLASS (klass)->visit_throw_statement = vala_symbol_resolver_real_visit_throw_statement;
3764         VALA_CODE_VISITOR_CLASS (klass)->visit_try_statement = vala_symbol_resolver_real_visit_try_statement;
3765         VALA_CODE_VISITOR_CLASS (klass)->visit_delete_statement = vala_symbol_resolver_real_visit_delete_statement;
3766         VALA_CODE_VISITOR_CLASS (klass)->visit_catch_clause = vala_symbol_resolver_real_visit_catch_clause;
3767         VALA_CODE_VISITOR_CLASS (klass)->visit_array_creation_expression = vala_symbol_resolver_real_visit_array_creation_expression;
3768         VALA_CODE_VISITOR_CLASS (klass)->visit_template = vala_symbol_resolver_real_visit_template;
3769         VALA_CODE_VISITOR_CLASS (klass)->visit_tuple = vala_symbol_resolver_real_visit_tuple;
3770         VALA_CODE_VISITOR_CLASS (klass)->visit_member_access = vala_symbol_resolver_real_visit_member_access;
3771         VALA_CODE_VISITOR_CLASS (klass)->visit_method_call = vala_symbol_resolver_real_visit_method_call;
3772         VALA_CODE_VISITOR_CLASS (klass)->visit_element_access = vala_symbol_resolver_real_visit_element_access;
3773         VALA_CODE_VISITOR_CLASS (klass)->visit_slice_expression = vala_symbol_resolver_real_visit_slice_expression;
3774         VALA_CODE_VISITOR_CLASS (klass)->visit_postfix_expression = vala_symbol_resolver_real_visit_postfix_expression;
3775         VALA_CODE_VISITOR_CLASS (klass)->visit_object_creation_expression = vala_symbol_resolver_real_visit_object_creation_expression;
3776         VALA_CODE_VISITOR_CLASS (klass)->visit_sizeof_expression = vala_symbol_resolver_real_visit_sizeof_expression;
3777         VALA_CODE_VISITOR_CLASS (klass)->visit_typeof_expression = vala_symbol_resolver_real_visit_typeof_expression;
3778         VALA_CODE_VISITOR_CLASS (klass)->visit_unary_expression = vala_symbol_resolver_real_visit_unary_expression;
3779         VALA_CODE_VISITOR_CLASS (klass)->visit_cast_expression = vala_symbol_resolver_real_visit_cast_expression;
3780         VALA_CODE_VISITOR_CLASS (klass)->visit_addressof_expression = vala_symbol_resolver_real_visit_addressof_expression;
3781         VALA_CODE_VISITOR_CLASS (klass)->visit_reference_transfer_expression = vala_symbol_resolver_real_visit_reference_transfer_expression;
3782         VALA_CODE_VISITOR_CLASS (klass)->visit_binary_expression = vala_symbol_resolver_real_visit_binary_expression;
3783         VALA_CODE_VISITOR_CLASS (klass)->visit_type_check = vala_symbol_resolver_real_visit_type_check;
3784         VALA_CODE_VISITOR_CLASS (klass)->visit_conditional_expression = vala_symbol_resolver_real_visit_conditional_expression;
3785         VALA_CODE_VISITOR_CLASS (klass)->visit_lambda_expression = vala_symbol_resolver_real_visit_lambda_expression;
3786         VALA_CODE_VISITOR_CLASS (klass)->visit_assignment = vala_symbol_resolver_real_visit_assignment;
3787 }
3788
3789
3790 static void vala_symbol_resolver_instance_init (ValaSymbolResolver * self) {
3791         self->priv = VALA_SYMBOL_RESOLVER_GET_PRIVATE (self);
3792 }
3793
3794
3795 static void vala_symbol_resolver_finalize (ValaCodeVisitor* obj) {
3796         ValaSymbolResolver * self;
3797         self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALA_TYPE_SYMBOL_RESOLVER, ValaSymbolResolver);
3798         _vala_code_context_unref0 (self->priv->context);
3799         _vala_code_node_unref0 (self->priv->root_symbol);
3800         _vala_scope_unref0 (self->priv->current_scope);
3801         VALA_CODE_VISITOR_CLASS (vala_symbol_resolver_parent_class)->finalize (obj);
3802 }
3803
3804
3805 /**
3806  * Code visitor resolving symbol names.
3807  */
3808 GType vala_symbol_resolver_get_type (void) {
3809         static volatile gsize vala_symbol_resolver_type_id__volatile = 0;
3810         if (g_once_init_enter (&vala_symbol_resolver_type_id__volatile)) {
3811                 static const GTypeInfo g_define_type_info = { sizeof (ValaSymbolResolverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_symbol_resolver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaSymbolResolver), 0, (GInstanceInitFunc) vala_symbol_resolver_instance_init, NULL };
3812                 GType vala_symbol_resolver_type_id;
3813                 vala_symbol_resolver_type_id = g_type_register_static (VALA_TYPE_CODE_VISITOR, "ValaSymbolResolver", &g_define_type_info, 0);
3814                 g_once_init_leave (&vala_symbol_resolver_type_id__volatile, vala_symbol_resolver_type_id);
3815         }
3816         return vala_symbol_resolver_type_id__volatile;
3817 }
3818
3819
3820