1 /* valacallabletype.c generated by valac, the Vala compiler
2 * generated from valacallabletype.vala, do not modify */
3
4 /* valacallabletype.vala
5 *
6 * Copyright (C) 2017 Rico Tzschichholz
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 * Rico Tzschichholz <ricotz@ubuntu.com>
24 */
25
26 #include "vala.h"
27 #include <glib.h>
28 #include <valagee.h>
29 #include <glib-object.h>
30 #include <stdlib.h>
31 #include <string.h>
32
33 #define _g_free0(var) (var = (g_free (var), NULL))
34 #define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
35 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
36 #define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
37
38 static gpointer vala_callable_type_parent_class = NULL;
39
40 static gboolean vala_callable_type_real_is_invokable (ValaDataType* base);
41 static ValaDataType* vala_callable_type_real_get_return_type (ValaDataType* base);
42 static ValaList* vala_callable_type_real_get_parameters (ValaDataType* base);
43 static gchar* vala_callable_type_real_to_prototype_string (ValaDataType* base,
44 const gchar* override_name);
45 static GType vala_callable_type_get_type_once (void);
46
47 ValaCallable*
vala_callable_type_get_callable_symbol(ValaCallableType * self)48 vala_callable_type_get_callable_symbol (ValaCallableType* self)
49 {
50 ValaCallable* result;
51 ValaSymbol* _tmp0_;
52 ValaSymbol* _tmp1_;
53 g_return_val_if_fail (self != NULL, NULL);
54 _tmp0_ = vala_data_type_get_symbol ((ValaDataType*) self);
55 _tmp1_ = _tmp0_;
56 result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, VALA_TYPE_CALLABLE, ValaCallable);
57 return result;
58 }
59
60 ValaCallableType*
vala_callable_type_construct(GType object_type,ValaSymbol * symbol)61 vala_callable_type_construct (GType object_type,
62 ValaSymbol* symbol)
63 {
64 ValaCallableType* self = NULL;
65 g_return_val_if_fail (symbol != NULL, NULL);
66 self = (ValaCallableType*) vala_data_type_construct_with_symbol (object_type, symbol);
67 return self;
68 }
69
70 static gboolean
vala_callable_type_real_is_invokable(ValaDataType * base)71 vala_callable_type_real_is_invokable (ValaDataType* base)
72 {
73 ValaCallableType * self;
74 gboolean result = FALSE;
75 self = (ValaCallableType*) base;
76 result = TRUE;
77 return result;
78 }
79
80 static ValaDataType*
vala_callable_type_real_get_return_type(ValaDataType * base)81 vala_callable_type_real_get_return_type (ValaDataType* base)
82 {
83 ValaCallableType * self;
84 ValaCallable* _tmp0_;
85 ValaCallable* _tmp1_;
86 ValaDataType* _tmp2_;
87 ValaDataType* _tmp3_;
88 ValaDataType* result = NULL;
89 self = (ValaCallableType*) base;
90 _tmp0_ = vala_callable_type_get_callable_symbol (self);
91 _tmp1_ = _tmp0_;
92 _tmp2_ = vala_callable_get_return_type (_tmp1_);
93 _tmp3_ = _tmp2_;
94 result = _tmp3_;
95 return result;
96 }
97
98 static ValaList*
vala_callable_type_real_get_parameters(ValaDataType * base)99 vala_callable_type_real_get_parameters (ValaDataType* base)
100 {
101 ValaCallableType * self;
102 ValaCallable* _tmp0_;
103 ValaCallable* _tmp1_;
104 ValaList* _tmp2_;
105 ValaList* result = NULL;
106 self = (ValaCallableType*) base;
107 _tmp0_ = vala_callable_type_get_callable_symbol (self);
108 _tmp1_ = _tmp0_;
109 _tmp2_ = vala_callable_get_parameters (_tmp1_);
110 result = _tmp2_;
111 return result;
112 }
113
114 static gpointer
_vala_iterable_ref0(gpointer self)115 _vala_iterable_ref0 (gpointer self)
116 {
117 return self ? vala_iterable_ref (self) : NULL;
118 }
119
120 static gchar*
vala_callable_type_real_to_prototype_string(ValaDataType * base,const gchar * override_name)121 vala_callable_type_real_to_prototype_string (ValaDataType* base,
122 const gchar* override_name)
123 {
124 ValaCallableType * self;
125 GString* builder = NULL;
126 GString* _tmp0_;
127 ValaDelegateType* delegate_type = NULL;
128 ValaMethodType* method_type = NULL;
129 ValaSignalType* signal_type = NULL;
130 gboolean _tmp1_ = FALSE;
131 ValaMethodType* _tmp2_;
132 gboolean _tmp13_ = FALSE;
133 ValaMethodType* _tmp14_;
134 GString* _tmp22_;
135 gchar* _tmp23_ = NULL;
136 gchar* _tmp24_;
137 GString* _tmp26_;
138 GString* _tmp27_;
139 GString* _tmp28_;
140 gint i = 0;
141 ValaDelegateType* _tmp29_;
142 GString* _tmp109_;
143 ValaArrayList* error_types = NULL;
144 GEqualFunc _tmp110_;
145 ValaArrayList* _tmp111_;
146 ValaArrayList* _tmp112_;
147 ValaArrayList* _tmp113_;
148 gint _tmp114_;
149 gint _tmp115_;
150 GString* _tmp131_;
151 const gchar* _tmp132_;
152 gchar* _tmp133_;
153 gchar* result = NULL;
154 self = (ValaCallableType*) base;
155 _tmp0_ = g_string_new ("");
156 builder = _tmp0_;
157 delegate_type = VALA_IS_DELEGATE_TYPE (self) ? ((ValaDelegateType*) self) : NULL;
158 method_type = VALA_IS_METHOD_TYPE (self) ? ((ValaMethodType*) self) : NULL;
159 signal_type = VALA_IS_SIGNAL_TYPE (self) ? ((ValaSignalType*) self) : NULL;
160 _tmp2_ = method_type;
161 if (_tmp2_ != NULL) {
162 ValaMethodType* _tmp3_;
163 ValaMethod* _tmp4_;
164 ValaMethod* _tmp5_;
165 gboolean _tmp6_;
166 gboolean _tmp7_;
167 _tmp3_ = method_type;
168 _tmp4_ = vala_method_type_get_method_symbol (_tmp3_);
169 _tmp5_ = _tmp4_;
170 _tmp6_ = vala_method_get_coroutine (_tmp5_);
171 _tmp7_ = _tmp6_;
172 _tmp1_ = _tmp7_;
173 } else {
174 _tmp1_ = FALSE;
175 }
176 if (_tmp1_) {
177 GString* _tmp8_;
178 _tmp8_ = builder;
179 g_string_append (_tmp8_, "async ");
180 } else {
181 ValaDelegateType* _tmp9_;
182 _tmp9_ = delegate_type;
183 if (_tmp9_ != NULL) {
184 GString* _tmp10_;
185 _tmp10_ = builder;
186 g_string_append (_tmp10_, "delegate ");
187 } else {
188 ValaSignalType* _tmp11_;
189 _tmp11_ = signal_type;
190 if (_tmp11_ != NULL) {
191 GString* _tmp12_;
192 _tmp12_ = builder;
193 g_string_append (_tmp12_, "signal ");
194 }
195 }
196 }
197 _tmp14_ = method_type;
198 if (_tmp14_ == NULL) {
199 _tmp13_ = TRUE;
200 } else {
201 ValaMethodType* _tmp15_;
202 ValaMethod* _tmp16_;
203 ValaMethod* _tmp17_;
204 _tmp15_ = method_type;
205 _tmp16_ = vala_method_type_get_method_symbol (_tmp15_);
206 _tmp17_ = _tmp16_;
207 _tmp13_ = !VALA_IS_CREATION_METHOD (_tmp17_);
208 }
209 if (_tmp13_) {
210 GString* _tmp18_;
211 ValaDataType* _tmp19_;
212 gchar* _tmp20_;
213 gchar* _tmp21_;
214 _tmp18_ = builder;
215 _tmp19_ = vala_data_type_get_return_type ((ValaDataType*) self);
216 _tmp20_ = vala_data_type_to_prototype_string (_tmp19_, NULL);
217 _tmp21_ = _tmp20_;
218 g_string_append (_tmp18_, _tmp21_);
219 _g_free0 (_tmp21_);
220 }
221 _tmp22_ = builder;
222 g_string_append_c (_tmp22_, ' ');
223 _tmp24_ = g_strdup (override_name);
224 _tmp23_ = _tmp24_;
225 if (_tmp23_ == NULL) {
226 gchar* _tmp25_;
227 _tmp25_ = vala_code_node_to_string ((ValaCodeNode*) self);
228 _g_free0 (_tmp23_);
229 _tmp23_ = _tmp25_;
230 }
231 _tmp26_ = builder;
232 g_string_append (_tmp26_, _tmp23_);
233 _tmp27_ = builder;
234 g_string_append_c (_tmp27_, ' ');
235 _tmp28_ = builder;
236 g_string_append_c (_tmp28_, '(');
237 i = 1;
238 _tmp29_ = delegate_type;
239 if (_tmp29_ != NULL) {
240 ValaDelegate* delegate_symbol = NULL;
241 ValaDelegateType* _tmp30_;
242 ValaDelegate* _tmp31_;
243 ValaDelegate* _tmp32_;
244 gboolean _tmp33_ = FALSE;
245 ValaDelegate* _tmp34_;
246 ValaSymbol* _tmp35_;
247 ValaSymbol* _tmp36_;
248 _tmp30_ = delegate_type;
249 _tmp31_ = vala_delegate_type_get_delegate_symbol (_tmp30_);
250 _tmp32_ = _tmp31_;
251 delegate_symbol = _tmp32_;
252 _tmp34_ = delegate_symbol;
253 _tmp35_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp34_);
254 _tmp36_ = _tmp35_;
255 if (VALA_IS_SIGNAL (_tmp36_)) {
256 ValaDelegate* _tmp37_;
257 ValaDataType* _tmp38_;
258 ValaDataType* _tmp39_;
259 _tmp37_ = delegate_symbol;
260 _tmp38_ = vala_delegate_get_sender_type (_tmp37_);
261 _tmp39_ = _tmp38_;
262 _tmp33_ = _tmp39_ != NULL;
263 } else {
264 _tmp33_ = FALSE;
265 }
266 if (_tmp33_) {
267 GString* _tmp40_;
268 ValaDelegate* _tmp41_;
269 ValaDataType* _tmp42_;
270 ValaDataType* _tmp43_;
271 gchar* _tmp44_;
272 gchar* _tmp45_;
273 gint _tmp46_;
274 _tmp40_ = builder;
275 _tmp41_ = delegate_symbol;
276 _tmp42_ = vala_delegate_get_sender_type (_tmp41_);
277 _tmp43_ = _tmp42_;
278 _tmp44_ = vala_data_type_to_qualified_string (_tmp43_, NULL);
279 _tmp45_ = _tmp44_;
280 g_string_append (_tmp40_, _tmp45_);
281 _g_free0 (_tmp45_);
282 _tmp46_ = i;
283 i = _tmp46_ + 1;
284 }
285 }
286 {
287 ValaList* _param_list = NULL;
288 ValaList* _tmp47_;
289 ValaList* _tmp48_;
290 gint _param_size = 0;
291 ValaList* _tmp49_;
292 gint _tmp50_;
293 gint _tmp51_;
294 gint _param_index = 0;
295 _tmp47_ = vala_data_type_get_parameters ((ValaDataType*) self);
296 _tmp48_ = _vala_iterable_ref0 (_tmp47_);
297 _param_list = _tmp48_;
298 _tmp49_ = _param_list;
299 _tmp50_ = vala_collection_get_size ((ValaCollection*) _tmp49_);
300 _tmp51_ = _tmp50_;
301 _param_size = _tmp51_;
302 _param_index = -1;
303 while (TRUE) {
304 gint _tmp52_;
305 gint _tmp53_;
306 ValaParameter* param = NULL;
307 ValaList* _tmp54_;
308 gpointer _tmp55_;
309 ValaParameter* _tmp57_;
310 gboolean _tmp58_;
311 gboolean _tmp59_;
312 ValaParameter* _tmp61_;
313 gboolean _tmp62_;
314 gboolean _tmp63_;
315 ValaParameter* _tmp65_;
316 ValaParameterDirection _tmp66_;
317 ValaParameterDirection _tmp67_;
318 GString* _tmp92_;
319 ValaParameter* _tmp93_;
320 ValaDataType* _tmp94_;
321 ValaDataType* _tmp95_;
322 gchar* _tmp96_;
323 gchar* _tmp97_;
324 ValaParameter* _tmp98_;
325 ValaExpression* _tmp99_;
326 ValaExpression* _tmp100_;
327 gint _tmp108_;
328 _param_index = _param_index + 1;
329 _tmp52_ = _param_index;
330 _tmp53_ = _param_size;
331 if (!(_tmp52_ < _tmp53_)) {
332 break;
333 }
334 _tmp54_ = _param_list;
335 _tmp55_ = vala_list_get (_tmp54_, _param_index);
336 param = (ValaParameter*) _tmp55_;
337 if (i > 1) {
338 GString* _tmp56_;
339 _tmp56_ = builder;
340 g_string_append (_tmp56_, ", ");
341 }
342 _tmp57_ = param;
343 _tmp58_ = vala_parameter_get_ellipsis (_tmp57_);
344 _tmp59_ = _tmp58_;
345 if (_tmp59_) {
346 GString* _tmp60_;
347 _tmp60_ = builder;
348 g_string_append (_tmp60_, "...");
349 _vala_code_node_unref0 (param);
350 continue;
351 }
352 _tmp61_ = param;
353 _tmp62_ = vala_parameter_get_params_array (_tmp61_);
354 _tmp63_ = _tmp62_;
355 if (_tmp63_) {
356 GString* _tmp64_;
357 _tmp64_ = builder;
358 g_string_append (_tmp64_, "params ");
359 }
360 _tmp65_ = param;
361 _tmp66_ = vala_parameter_get_direction (_tmp65_);
362 _tmp67_ = _tmp66_;
363 if (_tmp67_ == VALA_PARAMETER_DIRECTION_IN) {
364 ValaParameter* _tmp68_;
365 ValaDataType* _tmp69_;
366 ValaDataType* _tmp70_;
367 gboolean _tmp71_;
368 gboolean _tmp72_;
369 _tmp68_ = param;
370 _tmp69_ = vala_variable_get_variable_type ((ValaVariable*) _tmp68_);
371 _tmp70_ = _tmp69_;
372 _tmp71_ = vala_data_type_get_value_owned (_tmp70_);
373 _tmp72_ = _tmp71_;
374 if (_tmp72_) {
375 GString* _tmp73_;
376 _tmp73_ = builder;
377 g_string_append (_tmp73_, "owned ");
378 }
379 } else {
380 ValaParameter* _tmp74_;
381 ValaParameterDirection _tmp75_;
382 ValaParameterDirection _tmp76_;
383 gboolean _tmp82_ = FALSE;
384 ValaParameter* _tmp83_;
385 ValaDataType* _tmp84_;
386 ValaDataType* _tmp85_;
387 gboolean _tmp86_;
388 gboolean _tmp87_;
389 _tmp74_ = param;
390 _tmp75_ = vala_parameter_get_direction (_tmp74_);
391 _tmp76_ = _tmp75_;
392 if (_tmp76_ == VALA_PARAMETER_DIRECTION_REF) {
393 GString* _tmp77_;
394 _tmp77_ = builder;
395 g_string_append (_tmp77_, "ref ");
396 } else {
397 ValaParameter* _tmp78_;
398 ValaParameterDirection _tmp79_;
399 ValaParameterDirection _tmp80_;
400 _tmp78_ = param;
401 _tmp79_ = vala_parameter_get_direction (_tmp78_);
402 _tmp80_ = _tmp79_;
403 if (_tmp80_ == VALA_PARAMETER_DIRECTION_OUT) {
404 GString* _tmp81_;
405 _tmp81_ = builder;
406 g_string_append (_tmp81_, "out ");
407 }
408 }
409 _tmp83_ = param;
410 _tmp84_ = vala_variable_get_variable_type ((ValaVariable*) _tmp83_);
411 _tmp85_ = _tmp84_;
412 _tmp86_ = vala_data_type_get_value_owned (_tmp85_);
413 _tmp87_ = _tmp86_;
414 if (!_tmp87_) {
415 ValaParameter* _tmp88_;
416 ValaDataType* _tmp89_;
417 ValaDataType* _tmp90_;
418 _tmp88_ = param;
419 _tmp89_ = vala_variable_get_variable_type ((ValaVariable*) _tmp88_);
420 _tmp90_ = _tmp89_;
421 _tmp82_ = VALA_IS_REFERENCE_TYPE (_tmp90_);
422 } else {
423 _tmp82_ = FALSE;
424 }
425 if (_tmp82_) {
426 GString* _tmp91_;
427 _tmp91_ = builder;
428 g_string_append (_tmp91_, "weak ");
429 }
430 }
431 _tmp92_ = builder;
432 _tmp93_ = param;
433 _tmp94_ = vala_variable_get_variable_type ((ValaVariable*) _tmp93_);
434 _tmp95_ = _tmp94_;
435 _tmp96_ = vala_data_type_to_qualified_string (_tmp95_, NULL);
436 _tmp97_ = _tmp96_;
437 g_string_append (_tmp92_, _tmp97_);
438 _g_free0 (_tmp97_);
439 _tmp98_ = param;
440 _tmp99_ = vala_variable_get_initializer ((ValaVariable*) _tmp98_);
441 _tmp100_ = _tmp99_;
442 if (_tmp100_ != NULL) {
443 GString* _tmp101_;
444 GString* _tmp102_;
445 ValaParameter* _tmp103_;
446 ValaExpression* _tmp104_;
447 ValaExpression* _tmp105_;
448 gchar* _tmp106_;
449 gchar* _tmp107_;
450 _tmp101_ = builder;
451 g_string_append (_tmp101_, " = ");
452 _tmp102_ = builder;
453 _tmp103_ = param;
454 _tmp104_ = vala_variable_get_initializer ((ValaVariable*) _tmp103_);
455 _tmp105_ = _tmp104_;
456 _tmp106_ = vala_code_node_to_string ((ValaCodeNode*) _tmp105_);
457 _tmp107_ = _tmp106_;
458 g_string_append (_tmp102_, _tmp107_);
459 _g_free0 (_tmp107_);
460 }
461 _tmp108_ = i;
462 i = _tmp108_ + 1;
463 _vala_code_node_unref0 (param);
464 }
465 _vala_iterable_unref0 (_param_list);
466 }
467 _tmp109_ = builder;
468 g_string_append_c (_tmp109_, ')');
469 _tmp110_ = g_direct_equal;
470 _tmp111_ = vala_array_list_new (VALA_TYPE_DATA_TYPE, (GBoxedCopyFunc) vala_code_node_ref, (GDestroyNotify) vala_code_node_unref, _tmp110_);
471 error_types = _tmp111_;
472 _tmp112_ = error_types;
473 vala_code_node_get_error_types ((ValaCodeNode*) self, (ValaCollection*) _tmp112_, NULL);
474 _tmp113_ = error_types;
475 _tmp114_ = vala_collection_get_size ((ValaCollection*) _tmp113_);
476 _tmp115_ = _tmp114_;
477 if (_tmp115_ > 0) {
478 GString* _tmp116_;
479 gboolean first = FALSE;
480 _tmp116_ = builder;
481 g_string_append (_tmp116_, " throws ");
482 first = TRUE;
483 {
484 ValaArrayList* _type_list = NULL;
485 ValaArrayList* _tmp117_;
486 ValaArrayList* _tmp118_;
487 gint _type_size = 0;
488 ValaArrayList* _tmp119_;
489 gint _tmp120_;
490 gint _tmp121_;
491 gint _type_index = 0;
492 _tmp117_ = error_types;
493 _tmp118_ = _vala_iterable_ref0 (_tmp117_);
494 _type_list = _tmp118_;
495 _tmp119_ = _type_list;
496 _tmp120_ = vala_collection_get_size ((ValaCollection*) _tmp119_);
497 _tmp121_ = _tmp120_;
498 _type_size = _tmp121_;
499 _type_index = -1;
500 while (TRUE) {
501 gint _tmp122_;
502 gint _tmp123_;
503 ValaDataType* type = NULL;
504 ValaArrayList* _tmp124_;
505 gpointer _tmp125_;
506 GString* _tmp127_;
507 ValaDataType* _tmp128_;
508 gchar* _tmp129_;
509 gchar* _tmp130_;
510 _type_index = _type_index + 1;
511 _tmp122_ = _type_index;
512 _tmp123_ = _type_size;
513 if (!(_tmp122_ < _tmp123_)) {
514 break;
515 }
516 _tmp124_ = _type_list;
517 _tmp125_ = vala_list_get ((ValaList*) _tmp124_, _type_index);
518 type = (ValaDataType*) _tmp125_;
519 if (!first) {
520 GString* _tmp126_;
521 _tmp126_ = builder;
522 g_string_append (_tmp126_, ", ");
523 } else {
524 first = FALSE;
525 }
526 _tmp127_ = builder;
527 _tmp128_ = type;
528 _tmp129_ = vala_code_node_to_string ((ValaCodeNode*) _tmp128_);
529 _tmp130_ = _tmp129_;
530 g_string_append (_tmp127_, _tmp130_);
531 _g_free0 (_tmp130_);
532 _vala_code_node_unref0 (type);
533 }
534 _vala_iterable_unref0 (_type_list);
535 }
536 }
537 _tmp131_ = builder;
538 _tmp132_ = _tmp131_->str;
539 _tmp133_ = g_strdup (_tmp132_);
540 result = _tmp133_;
541 _vala_iterable_unref0 (error_types);
542 _g_free0 (_tmp23_);
543 _g_string_free0 (builder);
544 return result;
545 }
546
547 static void
vala_callable_type_class_init(ValaCallableTypeClass * klass,gpointer klass_data)548 vala_callable_type_class_init (ValaCallableTypeClass * klass,
549 gpointer klass_data)
550 {
551 vala_callable_type_parent_class = g_type_class_peek_parent (klass);
552 ((ValaDataTypeClass *) klass)->is_invokable = (gboolean (*) (ValaDataType*)) vala_callable_type_real_is_invokable;
553 ((ValaDataTypeClass *) klass)->get_return_type = (ValaDataType* (*) (ValaDataType*)) vala_callable_type_real_get_return_type;
554 ((ValaDataTypeClass *) klass)->get_parameters = (ValaList* (*) (ValaDataType*)) vala_callable_type_real_get_parameters;
555 ((ValaDataTypeClass *) klass)->to_prototype_string = (gchar* (*) (ValaDataType*, const gchar*)) vala_callable_type_real_to_prototype_string;
556 }
557
558 static void
vala_callable_type_instance_init(ValaCallableType * self,gpointer klass)559 vala_callable_type_instance_init (ValaCallableType * self,
560 gpointer klass)
561 {
562 }
563
564 /**
565 * A callable type, i.e. a delegate, method, or signal type.
566 */
567 static GType
vala_callable_type_get_type_once(void)568 vala_callable_type_get_type_once (void)
569 {
570 static const GTypeInfo g_define_type_info = { sizeof (ValaCallableTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_callable_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaCallableType), 0, (GInstanceInitFunc) vala_callable_type_instance_init, NULL };
571 GType vala_callable_type_type_id;
572 vala_callable_type_type_id = g_type_register_static (VALA_TYPE_DATA_TYPE, "ValaCallableType", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
573 return vala_callable_type_type_id;
574 }
575
576 GType
vala_callable_type_get_type(void)577 vala_callable_type_get_type (void)
578 {
579 static volatile gsize vala_callable_type_type_id__volatile = 0;
580 if (g_once_init_enter (&vala_callable_type_type_id__volatile)) {
581 GType vala_callable_type_type_id;
582 vala_callable_type_type_id = vala_callable_type_get_type_once ();
583 g_once_init_leave (&vala_callable_type_type_id__volatile, vala_callable_type_type_id);
584 }
585 return vala_callable_type_type_id__volatile;
586 }
587
588