1 /* valavartype.c generated by valac, the Vala compiler
2  * generated from valavartype.vala, do not modify */
3 
4 /* valavartype.vala
5  *
6  * Copyright (C) 2019  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 <stdlib.h>
28 #include <string.h>
29 #include <glib.h>
30 
31 static gpointer vala_var_type_parent_class = NULL;
32 
33 static gchar* vala_var_type_real_to_qualified_string (ValaDataType* base,
34                                                ValaScope* scope);
35 static ValaDataType* vala_var_type_real_copy (ValaDataType* base);
36 static GType vala_var_type_get_type_once (void);
37 
38 ValaVarType*
vala_var_type_construct(GType object_type,gboolean value_owned)39 vala_var_type_construct (GType object_type,
40                          gboolean value_owned)
41 {
42 	ValaVarType* self = NULL;
43 	self = (ValaVarType*) vala_data_type_construct (object_type);
44 	vala_data_type_set_value_owned ((ValaDataType*) self, value_owned);
45 	return self;
46 }
47 
48 ValaVarType*
vala_var_type_new(gboolean value_owned)49 vala_var_type_new (gboolean value_owned)
50 {
51 	return vala_var_type_construct (VALA_TYPE_VAR_TYPE, value_owned);
52 }
53 
54 static gchar*
vala_var_type_real_to_qualified_string(ValaDataType * base,ValaScope * scope)55 vala_var_type_real_to_qualified_string (ValaDataType* base,
56                                         ValaScope* scope)
57 {
58 	ValaVarType * self;
59 	gchar* _tmp0_;
60 	gchar* result = NULL;
61 	self = (ValaVarType*) base;
62 	_tmp0_ = g_strdup ("var");
63 	result = _tmp0_;
64 	return result;
65 }
66 
67 static ValaDataType*
vala_var_type_real_copy(ValaDataType * base)68 vala_var_type_real_copy (ValaDataType* base)
69 {
70 	ValaVarType * self;
71 	gboolean _tmp0_;
72 	gboolean _tmp1_;
73 	ValaVarType* _tmp2_;
74 	ValaDataType* result = NULL;
75 	self = (ValaVarType*) base;
76 	_tmp0_ = vala_data_type_get_value_owned ((ValaDataType*) self);
77 	_tmp1_ = _tmp0_;
78 	_tmp2_ = vala_var_type_new (_tmp1_);
79 	result = (ValaDataType*) _tmp2_;
80 	return result;
81 }
82 
83 static void
vala_var_type_class_init(ValaVarTypeClass * klass,gpointer klass_data)84 vala_var_type_class_init (ValaVarTypeClass * klass,
85                           gpointer klass_data)
86 {
87 	vala_var_type_parent_class = g_type_class_peek_parent (klass);
88 	((ValaDataTypeClass *) klass)->to_qualified_string = (gchar* (*) (ValaDataType*, ValaScope*)) vala_var_type_real_to_qualified_string;
89 	((ValaDataTypeClass *) klass)->copy = (ValaDataType* (*) (ValaDataType*)) vala_var_type_real_copy;
90 }
91 
92 static void
vala_var_type_instance_init(ValaVarType * self,gpointer klass)93 vala_var_type_instance_init (ValaVarType * self,
94                              gpointer klass)
95 {
96 }
97 
98 /**
99  * A to be inferred data type.
100  */
101 static GType
vala_var_type_get_type_once(void)102 vala_var_type_get_type_once (void)
103 {
104 	static const GTypeInfo g_define_type_info = { sizeof (ValaVarTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_var_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaVarType), 0, (GInstanceInitFunc) vala_var_type_instance_init, NULL };
105 	GType vala_var_type_type_id;
106 	vala_var_type_type_id = g_type_register_static (VALA_TYPE_DATA_TYPE, "ValaVarType", &g_define_type_info, 0);
107 	return vala_var_type_type_id;
108 }
109 
110 GType
vala_var_type_get_type(void)111 vala_var_type_get_type (void)
112 {
113 	static volatile gsize vala_var_type_type_id__volatile = 0;
114 	if (g_once_init_enter (&vala_var_type_type_id__volatile)) {
115 		GType vala_var_type_type_id;
116 		vala_var_type_type_id = vala_var_type_get_type_once ();
117 		g_once_init_leave (&vala_var_type_type_id__volatile, vala_var_type_type_id);
118 	}
119 	return vala_var_type_type_id__volatile;
120 }
121 
122