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