1
/* valaclasstype.c generated by valac, the Vala compiler
2
* generated from valaclasstype.vala, do not modify */
6
* Copyright (C) 2007-2008 JĆ¼rg Billeter
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.
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.
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
23
* JĆ¼rg Billeter <j@bitron.ch>
27
#include <glib-object.h>
33
#define VALA_TYPE_CODE_NODE (vala_code_node_get_type ())
34
#define VALA_CODE_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CODE_NODE, ValaCodeNode))
35
#define VALA_CODE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CODE_NODE, ValaCodeNodeClass))
36
#define VALA_IS_CODE_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CODE_NODE))
37
#define VALA_IS_CODE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CODE_NODE))
38
#define VALA_CODE_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CODE_NODE, ValaCodeNodeClass))
40
typedef struct _ValaCodeNode ValaCodeNode;
41
typedef struct _ValaCodeNodeClass ValaCodeNodeClass;
42
typedef struct _ValaCodeNodePrivate ValaCodeNodePrivate;
44
#define VALA_TYPE_CODE_VISITOR (vala_code_visitor_get_type ())
45
#define VALA_CODE_VISITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CODE_VISITOR, ValaCodeVisitor))
46
#define VALA_CODE_VISITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CODE_VISITOR, ValaCodeVisitorClass))
47
#define VALA_IS_CODE_VISITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CODE_VISITOR))
48
#define VALA_IS_CODE_VISITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CODE_VISITOR))
49
#define VALA_CODE_VISITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CODE_VISITOR, ValaCodeVisitorClass))
51
typedef struct _ValaCodeVisitor ValaCodeVisitor;
52
typedef struct _ValaCodeVisitorClass ValaCodeVisitorClass;
54
#define VALA_TYPE_CODE_CONTEXT (vala_code_context_get_type ())
55
#define VALA_CODE_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CODE_CONTEXT, ValaCodeContext))
56
#define VALA_CODE_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CODE_CONTEXT, ValaCodeContextClass))
57
#define VALA_IS_CODE_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CODE_CONTEXT))
58
#define VALA_IS_CODE_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CODE_CONTEXT))
59
#define VALA_CODE_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CODE_CONTEXT, ValaCodeContextClass))
61
typedef struct _ValaCodeContext ValaCodeContext;
62
typedef struct _ValaCodeContextClass ValaCodeContextClass;
64
#define VALA_TYPE_CODE_GENERATOR (vala_code_generator_get_type ())
65
#define VALA_CODE_GENERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CODE_GENERATOR, ValaCodeGenerator))
66
#define VALA_CODE_GENERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CODE_GENERATOR, ValaCodeGeneratorClass))
67
#define VALA_IS_CODE_GENERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CODE_GENERATOR))
68
#define VALA_IS_CODE_GENERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CODE_GENERATOR))
69
#define VALA_CODE_GENERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CODE_GENERATOR, ValaCodeGeneratorClass))
71
typedef struct _ValaCodeGenerator ValaCodeGenerator;
72
typedef struct _ValaCodeGeneratorClass ValaCodeGeneratorClass;
74
#define VALA_TYPE_DATA_TYPE (vala_data_type_get_type ())
75
#define VALA_DATA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_DATA_TYPE, ValaDataType))
76
#define VALA_DATA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_DATA_TYPE, ValaDataTypeClass))
77
#define VALA_IS_DATA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_DATA_TYPE))
78
#define VALA_IS_DATA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_DATA_TYPE))
79
#define VALA_DATA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_DATA_TYPE, ValaDataTypeClass))
81
typedef struct _ValaDataType ValaDataType;
82
typedef struct _ValaDataTypeClass ValaDataTypeClass;
84
#define VALA_TYPE_EXPRESSION (vala_expression_get_type ())
85
#define VALA_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_EXPRESSION, ValaExpression))
86
#define VALA_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_EXPRESSION, ValaExpressionClass))
87
#define VALA_IS_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_EXPRESSION))
88
#define VALA_IS_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_EXPRESSION))
89
#define VALA_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_EXPRESSION, ValaExpressionClass))
91
typedef struct _ValaExpression ValaExpression;
92
typedef struct _ValaExpressionClass ValaExpressionClass;
94
#define VALA_TYPE_SYMBOL (vala_symbol_get_type ())
95
#define VALA_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SYMBOL, ValaSymbol))
96
#define VALA_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SYMBOL, ValaSymbolClass))
97
#define VALA_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SYMBOL))
98
#define VALA_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SYMBOL))
99
#define VALA_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SYMBOL, ValaSymbolClass))
101
typedef struct _ValaSymbol ValaSymbol;
102
typedef struct _ValaSymbolClass ValaSymbolClass;
104
#define VALA_TYPE_VARIABLE (vala_variable_get_type ())
105
#define VALA_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_VARIABLE, ValaVariable))
106
#define VALA_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_VARIABLE, ValaVariableClass))
107
#define VALA_IS_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_VARIABLE))
108
#define VALA_IS_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_VARIABLE))
109
#define VALA_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_VARIABLE, ValaVariableClass))
111
typedef struct _ValaVariable ValaVariable;
112
typedef struct _ValaVariableClass ValaVariableClass;
114
#define VALA_TYPE_ATTRIBUTE (vala_attribute_get_type ())
115
#define VALA_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ATTRIBUTE, ValaAttribute))
116
#define VALA_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ATTRIBUTE, ValaAttributeClass))
117
#define VALA_IS_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ATTRIBUTE))
118
#define VALA_IS_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ATTRIBUTE))
119
#define VALA_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ATTRIBUTE, ValaAttributeClass))
121
typedef struct _ValaAttribute ValaAttribute;
122
typedef struct _ValaAttributeClass ValaAttributeClass;
123
typedef struct _ValaDataTypePrivate ValaDataTypePrivate;
125
#define VALA_TYPE_SCOPE (vala_scope_get_type ())
126
#define VALA_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SCOPE, ValaScope))
127
#define VALA_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SCOPE, ValaScopeClass))
128
#define VALA_IS_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SCOPE))
129
#define VALA_IS_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SCOPE))
130
#define VALA_SCOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SCOPE, ValaScopeClass))
132
typedef struct _ValaScope ValaScope;
133
typedef struct _ValaScopeClass ValaScopeClass;
135
#define VALA_TYPE_PARAMETER (vala_parameter_get_type ())
136
#define VALA_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_PARAMETER, ValaParameter))
137
#define VALA_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_PARAMETER, ValaParameterClass))
138
#define VALA_IS_PARAMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_PARAMETER))
139
#define VALA_IS_PARAMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_PARAMETER))
140
#define VALA_PARAMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_PARAMETER, ValaParameterClass))
142
typedef struct _ValaParameter ValaParameter;
143
typedef struct _ValaParameterClass ValaParameterClass;
145
#define VALA_TYPE_MEMBER_ACCESS (vala_member_access_get_type ())
146
#define VALA_MEMBER_ACCESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_MEMBER_ACCESS, ValaMemberAccess))
147
#define VALA_MEMBER_ACCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_MEMBER_ACCESS, ValaMemberAccessClass))
148
#define VALA_IS_MEMBER_ACCESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_MEMBER_ACCESS))
149
#define VALA_IS_MEMBER_ACCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_MEMBER_ACCESS))
150
#define VALA_MEMBER_ACCESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_MEMBER_ACCESS, ValaMemberAccessClass))
152
typedef struct _ValaMemberAccess ValaMemberAccess;
153
typedef struct _ValaMemberAccessClass ValaMemberAccessClass;
155
#define VALA_TYPE_REFERENCE_TYPE (vala_reference_type_get_type ())
156
#define VALA_REFERENCE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_REFERENCE_TYPE, ValaReferenceType))
157
#define VALA_REFERENCE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_REFERENCE_TYPE, ValaReferenceTypeClass))
158
#define VALA_IS_REFERENCE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_REFERENCE_TYPE))
159
#define VALA_IS_REFERENCE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_REFERENCE_TYPE))
160
#define VALA_REFERENCE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_REFERENCE_TYPE, ValaReferenceTypeClass))
162
typedef struct _ValaReferenceType ValaReferenceType;
163
typedef struct _ValaReferenceTypeClass ValaReferenceTypeClass;
164
typedef struct _ValaReferenceTypePrivate ValaReferenceTypePrivate;
166
#define VALA_TYPE_CLASS_TYPE (vala_class_type_get_type ())
167
#define VALA_CLASS_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CLASS_TYPE, ValaClassType))
168
#define VALA_CLASS_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CLASS_TYPE, ValaClassTypeClass))
169
#define VALA_IS_CLASS_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CLASS_TYPE))
170
#define VALA_IS_CLASS_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CLASS_TYPE))
171
#define VALA_CLASS_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CLASS_TYPE, ValaClassTypeClass))
173
typedef struct _ValaClassType ValaClassType;
174
typedef struct _ValaClassTypeClass ValaClassTypeClass;
175
typedef struct _ValaClassTypePrivate ValaClassTypePrivate;
177
#define VALA_TYPE_TYPESYMBOL (vala_typesymbol_get_type ())
178
#define VALA_TYPESYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_TYPESYMBOL, ValaTypeSymbol))
179
#define VALA_TYPESYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_TYPESYMBOL, ValaTypeSymbolClass))
180
#define VALA_IS_TYPESYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_TYPESYMBOL))
181
#define VALA_IS_TYPESYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_TYPESYMBOL))
182
#define VALA_TYPESYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_TYPESYMBOL, ValaTypeSymbolClass))
184
typedef struct _ValaTypeSymbol ValaTypeSymbol;
185
typedef struct _ValaTypeSymbolClass ValaTypeSymbolClass;
187
#define VALA_TYPE_OBJECT_TYPE_SYMBOL (vala_object_type_symbol_get_type ())
188
#define VALA_OBJECT_TYPE_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_OBJECT_TYPE_SYMBOL, ValaObjectTypeSymbol))
189
#define VALA_OBJECT_TYPE_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_OBJECT_TYPE_SYMBOL, ValaObjectTypeSymbolClass))
190
#define VALA_IS_OBJECT_TYPE_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_OBJECT_TYPE_SYMBOL))
191
#define VALA_IS_OBJECT_TYPE_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_OBJECT_TYPE_SYMBOL))
192
#define VALA_OBJECT_TYPE_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_OBJECT_TYPE_SYMBOL, ValaObjectTypeSymbolClass))
194
typedef struct _ValaObjectTypeSymbol ValaObjectTypeSymbol;
195
typedef struct _ValaObjectTypeSymbolClass ValaObjectTypeSymbolClass;
197
#define VALA_TYPE_CLASS (vala_class_get_type ())
198
#define VALA_CLASS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CLASS, ValaClass))
199
#define VALA_CLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CLASS, ValaClassClass))
200
#define VALA_IS_CLASS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CLASS))
201
#define VALA_IS_CLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CLASS))
202
#define VALA_CLASS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CLASS, ValaClassClass))
204
typedef struct _ValaClass ValaClass;
205
typedef struct _ValaClassClass ValaClassClass;
207
#define VALA_TYPE_SOURCE_REFERENCE (vala_source_reference_get_type ())
208
#define VALA_SOURCE_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_SOURCE_REFERENCE, ValaSourceReference))
209
#define VALA_SOURCE_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_SOURCE_REFERENCE, ValaSourceReferenceClass))
210
#define VALA_IS_SOURCE_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_SOURCE_REFERENCE))
211
#define VALA_IS_SOURCE_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_SOURCE_REFERENCE))
212
#define VALA_SOURCE_REFERENCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_SOURCE_REFERENCE, ValaSourceReferenceClass))
214
typedef struct _ValaSourceReference ValaSourceReference;
215
typedef struct _ValaSourceReferenceClass ValaSourceReferenceClass;
216
#define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
217
#define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
219
struct _ValaCodeNode {
220
GTypeInstance parent_instance;
221
volatile int ref_count;
222
ValaCodeNodePrivate * priv;
226
struct _ValaCodeNodeClass {
227
GTypeClass parent_class;
228
void (*finalize) (ValaCodeNode *self);
229
void (*accept) (ValaCodeNode* self, ValaCodeVisitor* visitor);
230
void (*accept_children) (ValaCodeNode* self, ValaCodeVisitor* visitor);
231
gboolean (*check) (ValaCodeNode* self, ValaCodeContext* context);
232
void (*emit) (ValaCodeNode* self, ValaCodeGenerator* codegen);
233
void (*replace_type) (ValaCodeNode* self, ValaDataType* old_type, ValaDataType* new_type);
234
void (*replace_expression) (ValaCodeNode* self, ValaExpression* old_node, ValaExpression* new_node);
235
gchar* (*to_string) (ValaCodeNode* self);
236
void (*get_defined_variables) (ValaCodeNode* self, ValaCollection* collection);
237
void (*get_used_variables) (ValaCodeNode* self, ValaCollection* collection);
240
struct _ValaDataType {
241
ValaCodeNode parent_instance;
242
ValaDataTypePrivate * priv;
245
struct _ValaDataTypeClass {
246
ValaCodeNodeClass parent_class;
247
gchar* (*to_qualified_string) (ValaDataType* self, ValaScope* scope);
248
ValaDataType* (*copy) (ValaDataType* self);
249
gboolean (*equals) (ValaDataType* self, ValaDataType* type2);
250
gboolean (*stricter) (ValaDataType* self, ValaDataType* type2);
251
gboolean (*compatible) (ValaDataType* self, ValaDataType* target_type);
252
gboolean (*is_invokable) (ValaDataType* self);
253
ValaDataType* (*get_return_type) (ValaDataType* self);
254
ValaList* (*get_parameters) (ValaDataType* self);
255
gboolean (*is_reference_type_or_type_parameter) (ValaDataType* self);
256
gboolean (*is_array) (ValaDataType* self);
257
gboolean (*is_accessible) (ValaDataType* self, ValaSymbol* sym);
258
ValaSymbol* (*get_member) (ValaDataType* self, const gchar* member_name);
259
ValaSymbol* (*get_pointer_member) (ValaDataType* self, const gchar* member_name);
260
gboolean (*is_real_struct_type) (ValaDataType* self);
261
gboolean (*is_disposable) (ValaDataType* self);
262
ValaDataType* (*get_actual_type) (ValaDataType* self, ValaDataType* derived_instance_type, ValaMemberAccess* method_access, ValaCodeNode* node_reference);
265
struct _ValaReferenceType {
266
ValaDataType parent_instance;
267
ValaReferenceTypePrivate * priv;
270
struct _ValaReferenceTypeClass {
271
ValaDataTypeClass parent_class;
274
struct _ValaClassType {
275
ValaReferenceType parent_instance;
276
ValaClassTypePrivate * priv;
279
struct _ValaClassTypeClass {
280
ValaReferenceTypeClass parent_class;
283
struct _ValaClassTypePrivate {
284
ValaClass* _class_symbol;
288
static gpointer vala_class_type_parent_class = NULL;
290
gpointer vala_code_node_ref (gpointer instance);
291
void vala_code_node_unref (gpointer instance);
292
GParamSpec* vala_param_spec_code_node (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
293
void vala_value_set_code_node (GValue* value, gpointer v_object);
294
void vala_value_take_code_node (GValue* value, gpointer v_object);
295
gpointer vala_value_get_code_node (const GValue* value);
296
GType vala_code_node_get_type (void) G_GNUC_CONST;
297
gpointer vala_code_visitor_ref (gpointer instance);
298
void vala_code_visitor_unref (gpointer instance);
299
GParamSpec* vala_param_spec_code_visitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
300
void vala_value_set_code_visitor (GValue* value, gpointer v_object);
301
void vala_value_take_code_visitor (GValue* value, gpointer v_object);
302
gpointer vala_value_get_code_visitor (const GValue* value);
303
GType vala_code_visitor_get_type (void) G_GNUC_CONST;
304
gpointer vala_code_context_ref (gpointer instance);
305
void vala_code_context_unref (gpointer instance);
306
GParamSpec* vala_param_spec_code_context (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
307
void vala_value_set_code_context (GValue* value, gpointer v_object);
308
void vala_value_take_code_context (GValue* value, gpointer v_object);
309
gpointer vala_value_get_code_context (const GValue* value);
310
GType vala_code_context_get_type (void) G_GNUC_CONST;
311
GType vala_code_generator_get_type (void) G_GNUC_CONST;
312
GType vala_data_type_get_type (void) G_GNUC_CONST;
313
GType vala_expression_get_type (void) G_GNUC_CONST;
314
GType vala_symbol_get_type (void) G_GNUC_CONST;
315
GType vala_variable_get_type (void) G_GNUC_CONST;
316
GType vala_attribute_get_type (void) G_GNUC_CONST;
317
gpointer vala_scope_ref (gpointer instance);
318
void vala_scope_unref (gpointer instance);
319
GParamSpec* vala_param_spec_scope (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
320
void vala_value_set_scope (GValue* value, gpointer v_object);
321
void vala_value_take_scope (GValue* value, gpointer v_object);
322
gpointer vala_value_get_scope (const GValue* value);
323
GType vala_scope_get_type (void) G_GNUC_CONST;
324
GType vala_parameter_get_type (void) G_GNUC_CONST;
325
GType vala_member_access_get_type (void) G_GNUC_CONST;
326
GType vala_reference_type_get_type (void) G_GNUC_CONST;
327
GType vala_class_type_get_type (void) G_GNUC_CONST;
328
GType vala_typesymbol_get_type (void) G_GNUC_CONST;
329
GType vala_object_type_symbol_get_type (void) G_GNUC_CONST;
330
GType vala_class_get_type (void) G_GNUC_CONST;
331
#define VALA_CLASS_TYPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VALA_TYPE_CLASS_TYPE, ValaClassTypePrivate))
333
VALA_CLASS_TYPE_DUMMY_PROPERTY
335
ValaClassType* vala_class_type_new (ValaClass* class_symbol);
336
ValaClassType* vala_class_type_construct (GType object_type, ValaClass* class_symbol);
337
ValaReferenceType* vala_reference_type_construct (GType object_type);
338
void vala_class_type_set_class_symbol (ValaClassType* self, ValaClass* value);
339
static ValaDataType* vala_class_type_real_copy (ValaDataType* base);
340
ValaClass* vala_class_type_get_class_symbol (ValaClassType* self);
341
gpointer vala_source_reference_ref (gpointer instance);
342
void vala_source_reference_unref (gpointer instance);
343
GParamSpec* vala_param_spec_source_reference (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
344
void vala_value_set_source_reference (GValue* value, gpointer v_object);
345
void vala_value_take_source_reference (GValue* value, gpointer v_object);
346
gpointer vala_value_get_source_reference (const GValue* value);
347
GType vala_source_reference_get_type (void) G_GNUC_CONST;
348
ValaSourceReference* vala_code_node_get_source_reference (ValaCodeNode* self);
349
void vala_code_node_set_source_reference (ValaCodeNode* self, ValaSourceReference* value);
350
gboolean vala_data_type_get_value_owned (ValaDataType* self);
351
void vala_data_type_set_value_owned (ValaDataType* self, gboolean value);
352
gboolean vala_data_type_get_nullable (ValaDataType* self);
353
void vala_data_type_set_nullable (ValaDataType* self, gboolean value);
354
gboolean vala_data_type_get_is_dynamic (ValaDataType* self);
355
void vala_data_type_set_is_dynamic (ValaDataType* self, gboolean value);
356
gboolean vala_data_type_get_floating_reference (ValaDataType* self);
357
void vala_data_type_set_floating_reference (ValaDataType* self, gboolean value);
358
ValaList* vala_data_type_get_type_arguments (ValaDataType* self);
359
void vala_data_type_add_type_argument (ValaDataType* self, ValaDataType* arg);
360
ValaDataType* vala_data_type_copy (ValaDataType* self);
361
static void vala_class_type_finalize (ValaCodeNode* obj);
364
ValaClassType* vala_class_type_construct (GType object_type, ValaClass* class_symbol) {
365
ValaClassType* self = NULL;
367
g_return_val_if_fail (class_symbol != NULL, NULL);
368
self = (ValaClassType*) vala_reference_type_construct (object_type);
369
_tmp0_ = class_symbol;
370
vala_class_type_set_class_symbol (self, _tmp0_);
375
ValaClassType* vala_class_type_new (ValaClass* class_symbol) {
376
return vala_class_type_construct (VALA_TYPE_CLASS_TYPE, class_symbol);
380
static ValaDataType* vala_class_type_real_copy (ValaDataType* base) {
381
ValaClassType * self;
382
ValaDataType* result = NULL;
384
ValaClassType* _tmp1_;
385
ValaClassType* _result_;
386
ValaClassType* _tmp2_;
387
ValaSourceReference* _tmp3_;
388
ValaSourceReference* _tmp4_;
389
ValaClassType* _tmp5_;
392
ValaClassType* _tmp8_;
395
ValaClassType* _tmp11_;
398
ValaClassType* _tmp14_;
401
self = (ValaClassType*) base;
402
_tmp0_ = self->priv->_class_symbol;
403
_tmp1_ = vala_class_type_new (_tmp0_);
406
_tmp3_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
408
vala_code_node_set_source_reference ((ValaCodeNode*) _tmp2_, _tmp4_);
410
_tmp6_ = vala_data_type_get_value_owned ((ValaDataType*) self);
412
vala_data_type_set_value_owned ((ValaDataType*) _tmp5_, _tmp7_);
414
_tmp9_ = vala_data_type_get_nullable ((ValaDataType*) self);
416
vala_data_type_set_nullable ((ValaDataType*) _tmp8_, _tmp10_);
418
_tmp12_ = vala_data_type_get_is_dynamic ((ValaDataType*) self);
420
vala_data_type_set_is_dynamic ((ValaDataType*) _tmp11_, _tmp13_);
422
_tmp15_ = vala_data_type_get_floating_reference ((ValaDataType*) self);
424
vala_data_type_set_floating_reference ((ValaDataType*) _tmp14_, _tmp16_);
426
ValaList* _tmp17_ = NULL;
433
_tmp17_ = vala_data_type_get_type_arguments ((ValaDataType*) self);
436
_tmp19_ = vala_collection_get_size ((ValaCollection*) _tmp18_);
446
gpointer _tmp26_ = NULL;
448
ValaClassType* _tmp27_;
449
ValaDataType* _tmp28_;
450
ValaDataType* _tmp29_ = NULL;
451
ValaDataType* _tmp30_;
452
_tmp21_ = _arg_index;
453
_arg_index = _tmp21_ + 1;
454
_tmp22_ = _arg_index;
456
if (!(_tmp22_ < _tmp23_)) {
460
_tmp25_ = _arg_index;
461
_tmp26_ = vala_list_get (_tmp24_, _tmp25_);
462
arg = (ValaDataType*) _tmp26_;
465
_tmp29_ = vala_data_type_copy (_tmp28_);
467
vala_data_type_add_type_argument ((ValaDataType*) _tmp27_, _tmp30_);
468
_vala_code_node_unref0 (_tmp30_);
469
_vala_code_node_unref0 (arg);
471
_vala_iterable_unref0 (_arg_list);
473
result = (ValaDataType*) _result_;
478
ValaClass* vala_class_type_get_class_symbol (ValaClassType* self) {
481
g_return_val_if_fail (self != NULL, NULL);
482
_tmp0_ = self->priv->_class_symbol;
488
void vala_class_type_set_class_symbol (ValaClassType* self, ValaClass* value) {
490
g_return_if_fail (self != NULL);
492
self->priv->_class_symbol = _tmp0_;
496
static void vala_class_type_class_init (ValaClassTypeClass * klass) {
497
vala_class_type_parent_class = g_type_class_peek_parent (klass);
498
VALA_CODE_NODE_CLASS (klass)->finalize = vala_class_type_finalize;
499
g_type_class_add_private (klass, sizeof (ValaClassTypePrivate));
500
VALA_DATA_TYPE_CLASS (klass)->copy = vala_class_type_real_copy;
504
static void vala_class_type_instance_init (ValaClassType * self) {
505
self->priv = VALA_CLASS_TYPE_GET_PRIVATE (self);
509
static void vala_class_type_finalize (ValaCodeNode* obj) {
510
ValaClassType * self;
511
self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALA_TYPE_CLASS_TYPE, ValaClassType);
512
VALA_CODE_NODE_CLASS (vala_class_type_parent_class)->finalize (obj);
519
GType vala_class_type_get_type (void) {
520
static volatile gsize vala_class_type_type_id__volatile = 0;
521
if (g_once_init_enter (&vala_class_type_type_id__volatile)) {
522
static const GTypeInfo g_define_type_info = { sizeof (ValaClassTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_class_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaClassType), 0, (GInstanceInitFunc) vala_class_type_instance_init, NULL };
523
GType vala_class_type_type_id;
524
vala_class_type_type_id = g_type_register_static (VALA_TYPE_REFERENCE_TYPE, "ValaClassType", &g_define_type_info, 0);
525
g_once_init_leave (&vala_class_type_type_id__volatile, vala_class_type_type_id);
527
return vala_class_type_type_id__volatile;