1 /* valaerrordomain.c generated by valac, the Vala compiler
2 * generated from valaerrordomain.vala, do not modify */
3
4 /* valaerrordomain.vala
5 *
6 * Copyright (C) 2008-2010 Jürg Billeter
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 *
22 * Author:
23 * Jürg Billeter <j@bitron.ch>
24 */
25
26 #include "vala.h"
27 #include <valagee.h>
28 #include <glib-object.h>
29 #include <glib.h>
30 #include <stdlib.h>
31 #include <string.h>
32
33 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
34 #define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
35 #define _g_free0(var) (var = (g_free (var), NULL))
36
37 struct _ValaErrorDomainPrivate {
38 ValaList* codes;
39 ValaList* methods;
40 };
41
42 static gint ValaErrorDomain_private_offset;
43 static gpointer vala_error_domain_parent_class = NULL;
44
45 static void vala_error_domain_real_add_method (ValaSymbol* base,
46 ValaMethod* m);
47 static void vala_error_domain_real_accept (ValaCodeNode* base,
48 ValaCodeVisitor* visitor);
49 static void vala_error_domain_real_accept_children (ValaCodeNode* base,
50 ValaCodeVisitor* visitor);
51 static gboolean vala_error_domain_real_is_reference_type (ValaTypeSymbol* base);
52 static gboolean vala_error_domain_real_check (ValaCodeNode* base,
53 ValaCodeContext* context);
54 static void vala_error_domain_finalize (ValaCodeNode * obj);
55 static GType vala_error_domain_get_type_once (void);
56
57 static inline gpointer
vala_error_domain_get_instance_private(ValaErrorDomain * self)58 vala_error_domain_get_instance_private (ValaErrorDomain* self)
59 {
60 return G_STRUCT_MEMBER_P (self, ValaErrorDomain_private_offset);
61 }
62
63 /**
64 * Creates a new error domain.
65 *
66 * @param name type name
67 * @param source_reference reference to source code
68 * @return newly created error domain
69 */
70 ValaErrorDomain*
vala_error_domain_construct(GType object_type,const gchar * name,ValaSourceReference * source_reference,ValaComment * comment)71 vala_error_domain_construct (GType object_type,
72 const gchar* name,
73 ValaSourceReference* source_reference,
74 ValaComment* comment)
75 {
76 ValaErrorDomain* self = NULL;
77 g_return_val_if_fail (name != NULL, NULL);
78 self = (ValaErrorDomain*) vala_typesymbol_construct (object_type, name, source_reference, comment);
79 return self;
80 }
81
82 ValaErrorDomain*
vala_error_domain_new(const gchar * name,ValaSourceReference * source_reference,ValaComment * comment)83 vala_error_domain_new (const gchar* name,
84 ValaSourceReference* source_reference,
85 ValaComment* comment)
86 {
87 return vala_error_domain_construct (VALA_TYPE_ERROR_DOMAIN, name, source_reference, comment);
88 }
89
90 /**
91 * Appends the specified code to the list of error codes.
92 *
93 * @param ecode an error code
94 */
95 void
vala_error_domain_add_code(ValaErrorDomain * self,ValaErrorCode * ecode)96 vala_error_domain_add_code (ValaErrorDomain* self,
97 ValaErrorCode* ecode)
98 {
99 ValaList* _tmp0_;
100 ValaScope* _tmp1_;
101 ValaScope* _tmp2_;
102 const gchar* _tmp3_;
103 const gchar* _tmp4_;
104 g_return_if_fail (self != NULL);
105 g_return_if_fail (ecode != NULL);
106 _tmp0_ = self->priv->codes;
107 vala_collection_add ((ValaCollection*) _tmp0_, ecode);
108 _tmp1_ = vala_symbol_get_scope ((ValaSymbol*) self);
109 _tmp2_ = _tmp1_;
110 _tmp3_ = vala_symbol_get_name ((ValaSymbol*) ecode);
111 _tmp4_ = _tmp3_;
112 vala_scope_add (_tmp2_, _tmp4_, (ValaSymbol*) ecode);
113 }
114
115 /**
116 * Adds the specified method as a member to this error domain.
117 *
118 * @param m a method
119 */
120 static void
vala_error_domain_real_add_method(ValaSymbol * base,ValaMethod * m)121 vala_error_domain_real_add_method (ValaSymbol* base,
122 ValaMethod* m)
123 {
124 ValaErrorDomain * self;
125 ValaMemberBinding _tmp2_;
126 ValaMemberBinding _tmp3_;
127 ValaList* _tmp18_;
128 ValaScope* _tmp19_;
129 ValaScope* _tmp20_;
130 const gchar* _tmp21_;
131 const gchar* _tmp22_;
132 self = (ValaErrorDomain*) base;
133 g_return_if_fail (m != NULL);
134 if (VALA_IS_CREATION_METHOD (m)) {
135 ValaSourceReference* _tmp0_;
136 ValaSourceReference* _tmp1_;
137 _tmp0_ = vala_code_node_get_source_reference ((ValaCodeNode*) m);
138 _tmp1_ = _tmp0_;
139 vala_report_error (_tmp1_, "construction methods may only be declared within classes and structs");
140 vala_code_node_set_error ((ValaCodeNode*) m, TRUE);
141 return;
142 }
143 _tmp2_ = vala_method_get_binding (m);
144 _tmp3_ = _tmp2_;
145 if (_tmp3_ == VALA_MEMBER_BINDING_INSTANCE) {
146 ValaErrorType* _tmp4_;
147 ValaErrorType* _tmp5_;
148 ValaSourceReference* _tmp6_;
149 ValaSourceReference* _tmp7_;
150 ValaParameter* _tmp8_;
151 ValaParameter* _tmp9_;
152 ValaScope* _tmp10_;
153 ValaScope* _tmp11_;
154 ValaParameter* _tmp12_;
155 ValaParameter* _tmp13_;
156 const gchar* _tmp14_;
157 const gchar* _tmp15_;
158 ValaParameter* _tmp16_;
159 ValaParameter* _tmp17_;
160 _tmp4_ = vala_error_type_new (self, NULL, NULL);
161 _tmp5_ = _tmp4_;
162 _tmp6_ = vala_code_node_get_source_reference ((ValaCodeNode*) m);
163 _tmp7_ = _tmp6_;
164 _tmp8_ = vala_parameter_new ("this", (ValaDataType*) _tmp5_, _tmp7_);
165 _tmp9_ = _tmp8_;
166 vala_method_set_this_parameter (m, _tmp9_);
167 _vala_code_node_unref0 (_tmp9_);
168 _vala_code_node_unref0 (_tmp5_);
169 _tmp10_ = vala_symbol_get_scope ((ValaSymbol*) m);
170 _tmp11_ = _tmp10_;
171 _tmp12_ = vala_method_get_this_parameter (m);
172 _tmp13_ = _tmp12_;
173 _tmp14_ = vala_symbol_get_name ((ValaSymbol*) _tmp13_);
174 _tmp15_ = _tmp14_;
175 _tmp16_ = vala_method_get_this_parameter (m);
176 _tmp17_ = _tmp16_;
177 vala_scope_add (_tmp11_, _tmp15_, (ValaSymbol*) _tmp17_);
178 }
179 _tmp18_ = self->priv->methods;
180 vala_collection_add ((ValaCollection*) _tmp18_, m);
181 _tmp19_ = vala_symbol_get_scope ((ValaSymbol*) self);
182 _tmp20_ = _tmp19_;
183 _tmp21_ = vala_symbol_get_name ((ValaSymbol*) m);
184 _tmp22_ = _tmp21_;
185 vala_scope_add (_tmp20_, _tmp22_, (ValaSymbol*) m);
186 }
187
188 /**
189 * Returns the list of error codes.
190 *
191 * @return list of error codes
192 */
193 ValaList*
vala_error_domain_get_codes(ValaErrorDomain * self)194 vala_error_domain_get_codes (ValaErrorDomain* self)
195 {
196 ValaList* _tmp0_;
197 ValaList* result = NULL;
198 g_return_val_if_fail (self != NULL, NULL);
199 _tmp0_ = self->priv->codes;
200 result = _tmp0_;
201 return result;
202 }
203
204 /**
205 * Returns the list of methods.
206 *
207 * @return list of methods
208 */
209 ValaList*
vala_error_domain_get_methods(ValaErrorDomain * self)210 vala_error_domain_get_methods (ValaErrorDomain* self)
211 {
212 ValaList* _tmp0_;
213 ValaList* result = NULL;
214 g_return_val_if_fail (self != NULL, NULL);
215 _tmp0_ = self->priv->methods;
216 result = _tmp0_;
217 return result;
218 }
219
220 static void
vala_error_domain_real_accept(ValaCodeNode * base,ValaCodeVisitor * visitor)221 vala_error_domain_real_accept (ValaCodeNode* base,
222 ValaCodeVisitor* visitor)
223 {
224 ValaErrorDomain * self;
225 self = (ValaErrorDomain*) base;
226 g_return_if_fail (visitor != NULL);
227 vala_code_visitor_visit_error_domain (visitor, self);
228 }
229
230 static gpointer
_vala_iterable_ref0(gpointer self)231 _vala_iterable_ref0 (gpointer self)
232 {
233 return self ? vala_iterable_ref (self) : NULL;
234 }
235
236 static void
vala_error_domain_real_accept_children(ValaCodeNode * base,ValaCodeVisitor * visitor)237 vala_error_domain_real_accept_children (ValaCodeNode* base,
238 ValaCodeVisitor* visitor)
239 {
240 ValaErrorDomain * self;
241 self = (ValaErrorDomain*) base;
242 g_return_if_fail (visitor != NULL);
243 {
244 ValaList* _ecode_list = NULL;
245 ValaList* _tmp0_;
246 ValaList* _tmp1_;
247 gint _ecode_size = 0;
248 ValaList* _tmp2_;
249 gint _tmp3_;
250 gint _tmp4_;
251 gint _ecode_index = 0;
252 _tmp0_ = self->priv->codes;
253 _tmp1_ = _vala_iterable_ref0 (_tmp0_);
254 _ecode_list = _tmp1_;
255 _tmp2_ = _ecode_list;
256 _tmp3_ = vala_collection_get_size ((ValaCollection*) _tmp2_);
257 _tmp4_ = _tmp3_;
258 _ecode_size = _tmp4_;
259 _ecode_index = -1;
260 while (TRUE) {
261 gint _tmp5_;
262 gint _tmp6_;
263 ValaErrorCode* ecode = NULL;
264 ValaList* _tmp7_;
265 gpointer _tmp8_;
266 ValaErrorCode* _tmp9_;
267 _ecode_index = _ecode_index + 1;
268 _tmp5_ = _ecode_index;
269 _tmp6_ = _ecode_size;
270 if (!(_tmp5_ < _tmp6_)) {
271 break;
272 }
273 _tmp7_ = _ecode_list;
274 _tmp8_ = vala_list_get (_tmp7_, _ecode_index);
275 ecode = (ValaErrorCode*) _tmp8_;
276 _tmp9_ = ecode;
277 vala_code_node_accept ((ValaCodeNode*) _tmp9_, visitor);
278 _vala_code_node_unref0 (ecode);
279 }
280 _vala_iterable_unref0 (_ecode_list);
281 }
282 {
283 ValaList* _m_list = NULL;
284 ValaList* _tmp10_;
285 ValaList* _tmp11_;
286 gint _m_size = 0;
287 ValaList* _tmp12_;
288 gint _tmp13_;
289 gint _tmp14_;
290 gint _m_index = 0;
291 _tmp10_ = self->priv->methods;
292 _tmp11_ = _vala_iterable_ref0 (_tmp10_);
293 _m_list = _tmp11_;
294 _tmp12_ = _m_list;
295 _tmp13_ = vala_collection_get_size ((ValaCollection*) _tmp12_);
296 _tmp14_ = _tmp13_;
297 _m_size = _tmp14_;
298 _m_index = -1;
299 while (TRUE) {
300 gint _tmp15_;
301 gint _tmp16_;
302 ValaMethod* m = NULL;
303 ValaList* _tmp17_;
304 gpointer _tmp18_;
305 ValaMethod* _tmp19_;
306 _m_index = _m_index + 1;
307 _tmp15_ = _m_index;
308 _tmp16_ = _m_size;
309 if (!(_tmp15_ < _tmp16_)) {
310 break;
311 }
312 _tmp17_ = _m_list;
313 _tmp18_ = vala_list_get (_tmp17_, _m_index);
314 m = (ValaMethod*) _tmp18_;
315 _tmp19_ = m;
316 vala_code_node_accept ((ValaCodeNode*) _tmp19_, visitor);
317 _vala_code_node_unref0 (m);
318 }
319 _vala_iterable_unref0 (_m_list);
320 }
321 }
322
323 static gboolean
vala_error_domain_real_is_reference_type(ValaTypeSymbol * base)324 vala_error_domain_real_is_reference_type (ValaTypeSymbol* base)
325 {
326 ValaErrorDomain * self;
327 gboolean result = FALSE;
328 self = (ValaErrorDomain*) base;
329 result = FALSE;
330 return result;
331 }
332
333 static gboolean
vala_error_domain_real_check(ValaCodeNode * base,ValaCodeContext * context)334 vala_error_domain_real_check (ValaCodeNode* base,
335 ValaCodeContext* context)
336 {
337 ValaErrorDomain * self;
338 gboolean _tmp0_;
339 gboolean _tmp1_;
340 ValaList* _tmp4_;
341 gint _tmp5_;
342 gint _tmp6_;
343 gboolean _tmp44_;
344 gboolean _tmp45_;
345 gboolean result = FALSE;
346 self = (ValaErrorDomain*) base;
347 g_return_val_if_fail (context != NULL, FALSE);
348 _tmp0_ = vala_code_node_get_checked ((ValaCodeNode*) self);
349 _tmp1_ = _tmp0_;
350 if (_tmp1_) {
351 gboolean _tmp2_;
352 gboolean _tmp3_;
353 _tmp2_ = vala_code_node_get_error ((ValaCodeNode*) self);
354 _tmp3_ = _tmp2_;
355 result = !_tmp3_;
356 return result;
357 }
358 vala_code_node_set_checked ((ValaCodeNode*) self, TRUE);
359 _tmp4_ = self->priv->codes;
360 _tmp5_ = vala_collection_get_size ((ValaCollection*) _tmp4_);
361 _tmp6_ = _tmp5_;
362 if (_tmp6_ <= 0) {
363 ValaSourceReference* _tmp7_;
364 ValaSourceReference* _tmp8_;
365 gchar* _tmp9_;
366 gchar* _tmp10_;
367 gchar* _tmp11_;
368 gchar* _tmp12_;
369 _tmp7_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
370 _tmp8_ = _tmp7_;
371 _tmp9_ = vala_symbol_get_full_name ((ValaSymbol*) self);
372 _tmp10_ = _tmp9_;
373 _tmp11_ = g_strdup_printf ("Error domain `%s' requires at least one code", _tmp10_);
374 _tmp12_ = _tmp11_;
375 vala_report_error (_tmp8_, _tmp12_);
376 _g_free0 (_tmp12_);
377 _g_free0 (_tmp10_);
378 vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
379 result = FALSE;
380 return result;
381 }
382 {
383 ValaList* _ecode_list = NULL;
384 ValaList* _tmp13_;
385 ValaList* _tmp14_;
386 gint _ecode_size = 0;
387 ValaList* _tmp15_;
388 gint _tmp16_;
389 gint _tmp17_;
390 gint _ecode_index = 0;
391 _tmp13_ = self->priv->codes;
392 _tmp14_ = _vala_iterable_ref0 (_tmp13_);
393 _ecode_list = _tmp14_;
394 _tmp15_ = _ecode_list;
395 _tmp16_ = vala_collection_get_size ((ValaCollection*) _tmp15_);
396 _tmp17_ = _tmp16_;
397 _ecode_size = _tmp17_;
398 _ecode_index = -1;
399 while (TRUE) {
400 gint _tmp18_;
401 gint _tmp19_;
402 ValaErrorCode* ecode = NULL;
403 ValaList* _tmp20_;
404 gpointer _tmp21_;
405 ValaErrorCode* _tmp22_;
406 _ecode_index = _ecode_index + 1;
407 _tmp18_ = _ecode_index;
408 _tmp19_ = _ecode_size;
409 if (!(_tmp18_ < _tmp19_)) {
410 break;
411 }
412 _tmp20_ = _ecode_list;
413 _tmp21_ = vala_list_get (_tmp20_, _ecode_index);
414 ecode = (ValaErrorCode*) _tmp21_;
415 _tmp22_ = ecode;
416 vala_code_node_check ((ValaCodeNode*) _tmp22_, context);
417 _vala_code_node_unref0 (ecode);
418 }
419 _vala_iterable_unref0 (_ecode_list);
420 }
421 {
422 ValaList* _m_list = NULL;
423 ValaList* _tmp23_;
424 ValaList* _tmp24_;
425 gint _m_size = 0;
426 ValaList* _tmp25_;
427 gint _tmp26_;
428 gint _tmp27_;
429 gint _m_index = 0;
430 _tmp23_ = self->priv->methods;
431 _tmp24_ = _vala_iterable_ref0 (_tmp23_);
432 _m_list = _tmp24_;
433 _tmp25_ = _m_list;
434 _tmp26_ = vala_collection_get_size ((ValaCollection*) _tmp25_);
435 _tmp27_ = _tmp26_;
436 _m_size = _tmp27_;
437 _m_index = -1;
438 while (TRUE) {
439 gint _tmp28_;
440 gint _tmp29_;
441 ValaMethod* m = NULL;
442 ValaList* _tmp30_;
443 gpointer _tmp31_;
444 ValaMethod* _tmp32_;
445 ValaMemberBinding _tmp33_;
446 ValaMemberBinding _tmp34_;
447 ValaMethod* _tmp43_;
448 _m_index = _m_index + 1;
449 _tmp28_ = _m_index;
450 _tmp29_ = _m_size;
451 if (!(_tmp28_ < _tmp29_)) {
452 break;
453 }
454 _tmp30_ = _m_list;
455 _tmp31_ = vala_list_get (_tmp30_, _m_index);
456 m = (ValaMethod*) _tmp31_;
457 _tmp32_ = m;
458 _tmp33_ = vala_method_get_binding (_tmp32_);
459 _tmp34_ = _tmp33_;
460 if (_tmp34_ == VALA_MEMBER_BINDING_INSTANCE) {
461 gboolean _tmp35_;
462 gboolean _tmp36_;
463 _tmp35_ = vala_symbol_get_external_package ((ValaSymbol*) self);
464 _tmp36_ = _tmp35_;
465 if (_tmp36_) {
466 ValaMethod* _tmp37_;
467 ValaSourceReference* _tmp38_;
468 ValaSourceReference* _tmp39_;
469 _tmp37_ = m;
470 _tmp38_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp37_);
471 _tmp39_ = _tmp38_;
472 vala_report_warning (_tmp39_, "Instance methods are not supported in error domains yet");
473 } else {
474 ValaMethod* _tmp40_;
475 ValaSourceReference* _tmp41_;
476 ValaSourceReference* _tmp42_;
477 _tmp40_ = m;
478 _tmp41_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp40_);
479 _tmp42_ = _tmp41_;
480 vala_report_error (_tmp42_, "Instance methods are not supported in error domains yet");
481 }
482 vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
483 }
484 _tmp43_ = m;
485 vala_code_node_check ((ValaCodeNode*) _tmp43_, context);
486 _vala_code_node_unref0 (m);
487 }
488 _vala_iterable_unref0 (_m_list);
489 }
490 _tmp44_ = vala_code_node_get_error ((ValaCodeNode*) self);
491 _tmp45_ = _tmp44_;
492 result = !_tmp45_;
493 return result;
494 }
495
496 static void
vala_error_domain_class_init(ValaErrorDomainClass * klass,gpointer klass_data)497 vala_error_domain_class_init (ValaErrorDomainClass * klass,
498 gpointer klass_data)
499 {
500 vala_error_domain_parent_class = g_type_class_peek_parent (klass);
501 ((ValaCodeNodeClass *) klass)->finalize = vala_error_domain_finalize;
502 g_type_class_adjust_private_offset (klass, &ValaErrorDomain_private_offset);
503 ((ValaSymbolClass *) klass)->add_method = (void (*) (ValaSymbol*, ValaMethod*)) vala_error_domain_real_add_method;
504 ((ValaCodeNodeClass *) klass)->accept = (void (*) (ValaCodeNode*, ValaCodeVisitor*)) vala_error_domain_real_accept;
505 ((ValaCodeNodeClass *) klass)->accept_children = (void (*) (ValaCodeNode*, ValaCodeVisitor*)) vala_error_domain_real_accept_children;
506 ((ValaTypeSymbolClass *) klass)->is_reference_type = (gboolean (*) (ValaTypeSymbol*)) vala_error_domain_real_is_reference_type;
507 ((ValaCodeNodeClass *) klass)->check = (gboolean (*) (ValaCodeNode*, ValaCodeContext*)) vala_error_domain_real_check;
508 }
509
510 static void
vala_error_domain_instance_init(ValaErrorDomain * self,gpointer klass)511 vala_error_domain_instance_init (ValaErrorDomain * self,
512 gpointer klass)
513 {
514 GEqualFunc _tmp0_;
515 ValaArrayList* _tmp1_;
516 GEqualFunc _tmp2_;
517 ValaArrayList* _tmp3_;
518 self->priv = vala_error_domain_get_instance_private (self);
519 _tmp0_ = g_direct_equal;
520 _tmp1_ = vala_array_list_new (VALA_TYPE_ERROR_CODE, (GBoxedCopyFunc) vala_code_node_ref, (GDestroyNotify) vala_code_node_unref, _tmp0_);
521 self->priv->codes = (ValaList*) _tmp1_;
522 _tmp2_ = g_direct_equal;
523 _tmp3_ = vala_array_list_new (VALA_TYPE_METHOD, (GBoxedCopyFunc) vala_code_node_ref, (GDestroyNotify) vala_code_node_unref, _tmp2_);
524 self->priv->methods = (ValaList*) _tmp3_;
525 }
526
527 static void
vala_error_domain_finalize(ValaCodeNode * obj)528 vala_error_domain_finalize (ValaCodeNode * obj)
529 {
530 ValaErrorDomain * self;
531 self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALA_TYPE_ERROR_DOMAIN, ValaErrorDomain);
532 _vala_iterable_unref0 (self->priv->codes);
533 _vala_iterable_unref0 (self->priv->methods);
534 VALA_CODE_NODE_CLASS (vala_error_domain_parent_class)->finalize (obj);
535 }
536
537 /**
538 * Represents an error domain declaration in the source code.
539 */
540 static GType
vala_error_domain_get_type_once(void)541 vala_error_domain_get_type_once (void)
542 {
543 static const GTypeInfo g_define_type_info = { sizeof (ValaErrorDomainClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_error_domain_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaErrorDomain), 0, (GInstanceInitFunc) vala_error_domain_instance_init, NULL };
544 GType vala_error_domain_type_id;
545 vala_error_domain_type_id = g_type_register_static (VALA_TYPE_TYPESYMBOL, "ValaErrorDomain", &g_define_type_info, 0);
546 ValaErrorDomain_private_offset = g_type_add_instance_private (vala_error_domain_type_id, sizeof (ValaErrorDomainPrivate));
547 return vala_error_domain_type_id;
548 }
549
550 GType
vala_error_domain_get_type(void)551 vala_error_domain_get_type (void)
552 {
553 static volatile gsize vala_error_domain_type_id__volatile = 0;
554 if (g_once_init_enter (&vala_error_domain_type_id__volatile)) {
555 GType vala_error_domain_type_id;
556 vala_error_domain_type_id = vala_error_domain_get_type_once ();
557 g_once_init_leave (&vala_error_domain_type_id__volatile, vala_error_domain_type_id);
558 }
559 return vala_error_domain_type_id__volatile;
560 }
561
562