1
/* valaccodememberaccessmodule.c generated by valac, the Vala compiler
2
* generated from valaccodememberaccessmodule.vala, do not modify */
4
/* valaccodememberaccessmodule.vala
6
* Copyright (C) 2006-2010 JĆ¼rg Billeter
7
* Copyright (C) 2006-2008 Raffaele Sandrini
9
* This library is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU Lesser General Public
11
* License as published by the Free Software Foundation; either
12
* version 2.1 of the License, or (at your option) any later version.
14
* This library is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* Lesser General Public License for more details.
19
* You should have received a copy of the GNU Lesser General Public
20
* License along with this library; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24
* JĆ¼rg Billeter <j@bitron.ch>
25
* Raffaele Sandrini <raffaele@sandrini.ch>
29
#include <glib-object.h>
31
#include <valaccode.h>
37
#define VALA_TYPE_CCODE_BASE_MODULE (vala_ccode_base_module_get_type ())
38
#define VALA_CCODE_BASE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModule))
39
#define VALA_CCODE_BASE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModuleClass))
40
#define VALA_IS_CCODE_BASE_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_BASE_MODULE))
41
#define VALA_IS_CCODE_BASE_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_BASE_MODULE))
42
#define VALA_CCODE_BASE_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModuleClass))
44
typedef struct _ValaCCodeBaseModule ValaCCodeBaseModule;
45
typedef struct _ValaCCodeBaseModuleClass ValaCCodeBaseModuleClass;
46
typedef struct _ValaCCodeBaseModulePrivate ValaCCodeBaseModulePrivate;
48
#define VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT (vala_ccode_base_module_emit_context_get_type ())
49
#define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContext))
50
#define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContextClass))
51
#define VALA_CCODE_BASE_MODULE_IS_EMIT_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT))
52
#define VALA_CCODE_BASE_MODULE_IS_EMIT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT))
53
#define VALA_CCODE_BASE_MODULE_EMIT_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_CCODE_BASE_MODULE_TYPE_EMIT_CONTEXT, ValaCCodeBaseModuleEmitContextClass))
55
typedef struct _ValaCCodeBaseModuleEmitContext ValaCCodeBaseModuleEmitContext;
56
typedef struct _ValaCCodeBaseModuleEmitContextClass ValaCCodeBaseModuleEmitContextClass;
58
#define VALA_TYPE_CCODE_STRUCT_MODULE (vala_ccode_struct_module_get_type ())
59
#define VALA_CCODE_STRUCT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModule))
60
#define VALA_CCODE_STRUCT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModuleClass))
61
#define VALA_IS_CCODE_STRUCT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_STRUCT_MODULE))
62
#define VALA_IS_CCODE_STRUCT_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_STRUCT_MODULE))
63
#define VALA_CCODE_STRUCT_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_STRUCT_MODULE, ValaCCodeStructModuleClass))
65
typedef struct _ValaCCodeStructModule ValaCCodeStructModule;
66
typedef struct _ValaCCodeStructModuleClass ValaCCodeStructModuleClass;
67
typedef struct _ValaCCodeStructModulePrivate ValaCCodeStructModulePrivate;
69
#define VALA_TYPE_CCODE_METHOD_MODULE (vala_ccode_method_module_get_type ())
70
#define VALA_CCODE_METHOD_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModule))
71
#define VALA_CCODE_METHOD_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModuleClass))
72
#define VALA_IS_CCODE_METHOD_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_METHOD_MODULE))
73
#define VALA_IS_CCODE_METHOD_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_METHOD_MODULE))
74
#define VALA_CCODE_METHOD_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_METHOD_MODULE, ValaCCodeMethodModuleClass))
76
typedef struct _ValaCCodeMethodModule ValaCCodeMethodModule;
77
typedef struct _ValaCCodeMethodModuleClass ValaCCodeMethodModuleClass;
78
typedef struct _ValaCCodeMethodModulePrivate ValaCCodeMethodModulePrivate;
80
#define VALA_TYPE_CCODE_CONTROL_FLOW_MODULE (vala_ccode_control_flow_module_get_type ())
81
#define VALA_CCODE_CONTROL_FLOW_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModule))
82
#define VALA_CCODE_CONTROL_FLOW_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModuleClass))
83
#define VALA_IS_CCODE_CONTROL_FLOW_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE))
84
#define VALA_IS_CCODE_CONTROL_FLOW_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE))
85
#define VALA_CCODE_CONTROL_FLOW_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, ValaCCodeControlFlowModuleClass))
87
typedef struct _ValaCCodeControlFlowModule ValaCCodeControlFlowModule;
88
typedef struct _ValaCCodeControlFlowModuleClass ValaCCodeControlFlowModuleClass;
89
typedef struct _ValaCCodeControlFlowModulePrivate ValaCCodeControlFlowModulePrivate;
91
#define VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE (vala_ccode_member_access_module_get_type ())
92
#define VALA_CCODE_MEMBER_ACCESS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModule))
93
#define VALA_CCODE_MEMBER_ACCESS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModuleClass))
94
#define VALA_IS_CCODE_MEMBER_ACCESS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE))
95
#define VALA_IS_CCODE_MEMBER_ACCESS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE))
96
#define VALA_CCODE_MEMBER_ACCESS_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_MEMBER_ACCESS_MODULE, ValaCCodeMemberAccessModuleClass))
98
typedef struct _ValaCCodeMemberAccessModule ValaCCodeMemberAccessModule;
99
typedef struct _ValaCCodeMemberAccessModuleClass ValaCCodeMemberAccessModuleClass;
100
typedef struct _ValaCCodeMemberAccessModulePrivate ValaCCodeMemberAccessModulePrivate;
101
#define _vala_ccode_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_ccode_node_unref (var), NULL)))
102
#define _g_free0(var) (var = (g_free (var), NULL))
103
#define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL)))
104
#define _vala_target_value_unref0(var) ((var == NULL) ? NULL : (var = (vala_target_value_unref (var), NULL)))
106
#define VALA_TYPE_GLIB_VALUE (vala_glib_value_get_type ())
107
#define VALA_GLIB_VALUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GLIB_VALUE, ValaGLibValue))
108
#define VALA_GLIB_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GLIB_VALUE, ValaGLibValueClass))
109
#define VALA_IS_GLIB_VALUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_GLIB_VALUE))
110
#define VALA_IS_GLIB_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_GLIB_VALUE))
111
#define VALA_GLIB_VALUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_GLIB_VALUE, ValaGLibValueClass))
113
typedef struct _ValaGLibValue ValaGLibValue;
114
typedef struct _ValaGLibValueClass ValaGLibValueClass;
115
typedef struct _ValaGLibValuePrivate ValaGLibValuePrivate;
116
#define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
118
struct _ValaCCodeBaseModule {
119
ValaCodeGenerator parent_instance;
120
ValaCCodeBaseModulePrivate * priv;
121
ValaSymbol* root_symbol;
122
ValaCCodeBaseModuleEmitContext* emit_context;
123
ValaCCodeLineDirective* current_line;
124
ValaCCodeFile* header_file;
125
ValaCCodeFile* internal_header_file;
126
ValaCCodeFile* cfile;
127
ValaCCodeBaseModuleEmitContext* class_init_context;
128
ValaCCodeBaseModuleEmitContext* base_init_context;
129
ValaCCodeBaseModuleEmitContext* class_finalize_context;
130
ValaCCodeBaseModuleEmitContext* base_finalize_context;
131
ValaCCodeBaseModuleEmitContext* instance_init_context;
132
ValaCCodeBaseModuleEmitContext* instance_finalize_context;
133
ValaCCodeStruct* param_spec_struct;
134
ValaCCodeStruct* closure_struct;
135
ValaCCodeEnum* prop_enum;
136
ValaSet* user_marshal_set;
137
ValaSet* predefined_marshal_set;
139
gint next_coroutine_state;
140
ValaDataType* void_type;
141
ValaDataType* bool_type;
142
ValaDataType* char_type;
143
ValaDataType* uchar_type;
144
ValaDataType* unichar_type;
145
ValaDataType* short_type;
146
ValaDataType* ushort_type;
147
ValaDataType* int_type;
148
ValaDataType* uint_type;
149
ValaDataType* long_type;
150
ValaDataType* ulong_type;
151
ValaDataType* int8_type;
152
ValaDataType* uint8_type;
153
ValaDataType* int16_type;
154
ValaDataType* uint16_type;
155
ValaDataType* int32_type;
156
ValaDataType* uint32_type;
157
ValaDataType* int64_type;
158
ValaDataType* uint64_type;
159
ValaDataType* string_type;
160
ValaDataType* regex_type;
161
ValaDataType* float_type;
162
ValaDataType* double_type;
163
ValaTypeSymbol* gtype_type;
164
ValaTypeSymbol* gobject_type;
165
ValaErrorType* gerror_type;
166
ValaClass* glist_type;
167
ValaClass* gslist_type;
168
ValaClass* gnode_type;
169
ValaClass* gqueue_type;
170
ValaClass* gvaluearray_type;
171
ValaTypeSymbol* gstringbuilder_type;
172
ValaTypeSymbol* garray_type;
173
ValaTypeSymbol* gbytearray_type;
174
ValaTypeSymbol* gptrarray_type;
175
ValaTypeSymbol* gthreadpool_type;
176
ValaDataType* gdestroynotify_type;
177
ValaDataType* gquark_type;
178
ValaStruct* gvalue_type;
179
ValaClass* gvariant_type;
180
ValaStruct* mutex_type;
181
ValaStruct* gmutex_type;
182
ValaStruct* grecmutex_type;
183
ValaStruct* grwlock_type;
184
ValaStruct* gcond_type;
185
ValaClass* gsource_type;
186
ValaTypeSymbol* type_module_type;
187
ValaTypeSymbol* dbus_proxy_type;
189
gchar* module_init_param_name;
190
gboolean gvaluecollector_h_needed;
191
gboolean requires_assert;
192
gboolean requires_array_free;
193
gboolean requires_array_move;
194
gboolean requires_array_length;
195
gboolean requires_clear_mutex;
199
struct _ValaCCodeBaseModuleClass {
200
ValaCodeGeneratorClass parent_class;
201
void (*append_vala_array_free) (ValaCCodeBaseModule* self);
202
void (*append_vala_array_move) (ValaCCodeBaseModule* self);
203
void (*append_vala_array_length) (ValaCCodeBaseModule* self);
204
gboolean (*generate_enum_declaration) (ValaCCodeBaseModule* self, ValaEnum* en, ValaCCodeFile* decl_space);
205
void (*generate_class_struct_declaration) (ValaCCodeBaseModule* self, ValaClass* cl, ValaCCodeFile* decl_space);
206
void (*generate_struct_declaration) (ValaCCodeBaseModule* self, ValaStruct* st, ValaCCodeFile* decl_space);
207
void (*generate_delegate_declaration) (ValaCCodeBaseModule* self, ValaDelegate* d, ValaCCodeFile* decl_space);
208
void (*generate_cparameters) (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaCCodeFunction* func, ValaCCodeFunctionDeclarator* vdeclarator, ValaMap* carg_map, ValaCCodeFunctionCall* vcall, gint direction);
209
ValaCCodeExpression* (*get_dup_func_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaSourceReference* source_reference, gboolean is_chainup);
210
gchar* (*append_struct_array_free) (ValaCCodeBaseModule* self, ValaStruct* st);
211
ValaCCodeExpression* (*destroy_value) (ValaCCodeBaseModule* self, ValaTargetValue* value, gboolean is_macro_definition);
212
void (*append_scope_free) (ValaCCodeBaseModule* self, ValaSymbol* sym, ValaCodeNode* stop_at);
213
ValaTargetValue* (*get_local_cvalue) (ValaCCodeBaseModule* self, ValaLocalVariable* local);
214
ValaTargetValue* (*get_parameter_cvalue) (ValaCCodeBaseModule* self, ValaParameter* param);
215
ValaTargetValue* (*get_field_cvalue) (ValaCCodeBaseModule* self, ValaField* field, ValaTargetValue* instance);
216
ValaTargetValue* (*load_variable) (ValaCCodeBaseModule* self, ValaVariable* variable, ValaTargetValue* value);
217
ValaTargetValue* (*load_this_parameter) (ValaCCodeBaseModule* self, ValaTypeSymbol* sym);
218
void (*store_value) (ValaCCodeBaseModule* self, ValaTargetValue* lvalue, ValaTargetValue* value);
219
gchar* (*get_delegate_target_cname) (ValaCCodeBaseModule* self, const gchar* delegate_cname);
220
ValaCCodeExpression* (*get_delegate_target_cexpression) (ValaCCodeBaseModule* self, ValaExpression* delegate_expr, ValaCCodeExpression** delegate_target_destroy_notify);
221
ValaCCodeExpression* (*get_delegate_target_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value);
222
ValaCCodeExpression* (*get_delegate_target_destroy_notify_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value);
223
gchar* (*get_delegate_target_destroy_notify_cname) (ValaCCodeBaseModule* self, const gchar* delegate_cname);
224
ValaTargetValue* (*copy_value) (ValaCCodeBaseModule* self, ValaTargetValue* value, ValaCodeNode* node);
225
void (*generate_class_declaration) (ValaCCodeBaseModule* self, ValaClass* cl, ValaCCodeFile* decl_space);
226
void (*generate_interface_declaration) (ValaCCodeBaseModule* self, ValaInterface* iface, ValaCCodeFile* decl_space);
227
void (*generate_method_declaration) (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space);
228
void (*generate_error_domain_declaration) (ValaCCodeBaseModule* self, ValaErrorDomain* edomain, ValaCCodeFile* decl_space);
229
ValaCCodeExpression* (*deserialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* variant_expr, ValaCCodeExpression* expr, ValaCCodeExpression* error_expr, gboolean* may_fail);
230
ValaCCodeExpression* (*serialize_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaCCodeExpression* expr);
231
ValaCCodeExpression* (*get_implicit_cast_expression) (ValaCCodeBaseModule* self, ValaCCodeExpression* source_cexpr, ValaDataType* expression_type, ValaDataType* target_type, ValaCodeNode* node);
232
void (*create_type_check_statement) (ValaCCodeBaseModule* self, ValaCodeNode* method_node, ValaDataType* ret_type, ValaTypeSymbol* t, gboolean non_null, const gchar* var_name);
233
gboolean (*is_gobject_property) (ValaCCodeBaseModule* self, ValaProperty* prop);
234
void (*generate_dynamic_method_wrapper) (ValaCCodeBaseModule* self, ValaDynamicMethod* method);
235
gboolean (*method_has_wrapper) (ValaCCodeBaseModule* self, ValaMethod* method);
236
ValaCCodeFunctionCall* (*get_param_spec) (ValaCCodeBaseModule* self, ValaProperty* prop);
237
ValaCCodeFunctionCall* (*get_signal_creation) (ValaCCodeBaseModule* self, ValaSignal* sig, ValaTypeSymbol* type);
238
void (*register_dbus_info) (ValaCCodeBaseModule* self, ValaCCodeBlock* block, ValaObjectTypeSymbol* bindable);
239
gchar* (*get_dynamic_property_getter_cname) (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
240
gchar* (*get_dynamic_property_setter_cname) (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
241
gchar* (*get_dynamic_signal_cname) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
242
gchar* (*get_dynamic_signal_connect_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
243
gchar* (*get_dynamic_signal_connect_after_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
244
gchar* (*get_dynamic_signal_disconnect_wrapper_name) (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
245
gchar* (*get_array_length_cname) (ValaCCodeBaseModule* self, const gchar* array_cname, gint dim);
246
gchar* (*get_parameter_array_length_cname) (ValaCCodeBaseModule* self, ValaParameter* param, gint dim);
247
ValaCCodeExpression* (*get_array_length_cexpression) (ValaCCodeBaseModule* self, ValaExpression* array_expr, gint dim);
248
ValaCCodeExpression* (*get_array_length_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value, gint dim);
249
gchar* (*get_array_size_cname) (ValaCCodeBaseModule* self, const gchar* array_cname);
250
void (*add_simple_check) (ValaCCodeBaseModule* self, ValaCodeNode* node, gboolean always_fails);
251
gchar* (*generate_ready_function) (ValaCCodeBaseModule* self, ValaMethod* m);
254
struct _ValaCCodeStructModule {
255
ValaCCodeBaseModule parent_instance;
256
ValaCCodeStructModulePrivate * priv;
259
struct _ValaCCodeStructModuleClass {
260
ValaCCodeBaseModuleClass parent_class;
263
struct _ValaCCodeMethodModule {
264
ValaCCodeStructModule parent_instance;
265
ValaCCodeMethodModulePrivate * priv;
268
struct _ValaCCodeMethodModuleClass {
269
ValaCCodeStructModuleClass parent_class;
270
void (*generate_method_result_declaration) (ValaCCodeMethodModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaCCodeFunction* cfunc, ValaMap* cparam_map, ValaMap* carg_map);
271
ValaCCodeParameter* (*generate_parameter) (ValaCCodeMethodModule* self, ValaParameter* param, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaMap* carg_map);
274
struct _ValaCCodeControlFlowModule {
275
ValaCCodeMethodModule parent_instance;
276
ValaCCodeControlFlowModulePrivate * priv;
279
struct _ValaCCodeControlFlowModuleClass {
280
ValaCCodeMethodModuleClass parent_class;
283
struct _ValaCCodeMemberAccessModule {
284
ValaCCodeControlFlowModule parent_instance;
285
ValaCCodeMemberAccessModulePrivate * priv;
288
struct _ValaCCodeMemberAccessModuleClass {
289
ValaCCodeControlFlowModuleClass parent_class;
292
struct _ValaGLibValue {
293
ValaTargetValue parent_instance;
294
ValaGLibValuePrivate * priv;
295
ValaCCodeExpression* cvalue;
299
ValaList* array_length_cvalues;
300
ValaCCodeExpression* array_size_cvalue;
301
gboolean array_null_terminated;
302
ValaCCodeExpression* array_length_cexpr;
303
ValaCCodeExpression* delegate_target_cvalue;
304
ValaCCodeExpression* delegate_target_destroy_notify_cvalue;
307
struct _ValaGLibValueClass {
308
ValaTargetValueClass parent_class;
312
static gpointer vala_ccode_member_access_module_parent_class = NULL;
314
GType vala_ccode_base_module_get_type (void) G_GNUC_CONST;
315
gpointer vala_ccode_base_module_emit_context_ref (gpointer instance);
316
void vala_ccode_base_module_emit_context_unref (gpointer instance);
317
GParamSpec* vala_ccode_base_module_param_spec_emit_context (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
318
void vala_ccode_base_module_value_set_emit_context (GValue* value, gpointer v_object);
319
void vala_ccode_base_module_value_take_emit_context (GValue* value, gpointer v_object);
320
gpointer vala_ccode_base_module_value_get_emit_context (const GValue* value);
321
GType vala_ccode_base_module_emit_context_get_type (void) G_GNUC_CONST;
322
GType vala_ccode_struct_module_get_type (void) G_GNUC_CONST;
323
GType vala_ccode_method_module_get_type (void) G_GNUC_CONST;
324
GType vala_ccode_control_flow_module_get_type (void) G_GNUC_CONST;
325
GType vala_ccode_member_access_module_get_type (void) G_GNUC_CONST;
327
VALA_CCODE_MEMBER_ACCESS_MODULE_DUMMY_PROPERTY
329
static void vala_ccode_member_access_module_real_visit_member_access (ValaCodeVisitor* base, ValaMemberAccess* expr);
330
ValaCCodeExpression* vala_ccode_base_module_get_cvalue (ValaCCodeBaseModule* self, ValaExpression* expr);
331
void vala_ccode_base_module_generate_method_declaration (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space);
332
gboolean vala_ccode_base_module_add_generated_external_symbol (ValaCCodeBaseModule* self, ValaSymbol* external_symbol);
333
gchar* vala_ccode_base_module_get_ccode_upper_case_name (ValaSymbol* sym, const gchar* infix);
334
gchar* vala_ccode_base_module_get_ccode_lower_case_name (ValaCodeNode* node, const gchar* infix);
335
ValaClass* vala_ccode_base_module_get_current_class (ValaCCodeBaseModule* self);
336
void vala_ccode_base_module_set_cvalue (ValaCCodeBaseModule* self, ValaExpression* expr, ValaCCodeExpression* cvalue);
337
gchar* vala_ccode_base_module_get_ccode_vfunc_name (ValaMethod* m);
338
gboolean vala_ccode_base_module_method_has_wrapper (ValaCCodeBaseModule* self, ValaMethod* method);
339
gchar* vala_ccode_base_module_get_ccode_name (ValaCodeNode* node);
340
gchar* vala_ccode_base_module_get_ccode_real_name (ValaSymbol* sym);
341
void vala_ccode_base_module_set_delegate_target_destroy_notify (ValaCCodeBaseModule* self, ValaExpression* expr, ValaCCodeExpression* destroy_notify);
342
void vala_ccode_base_module_set_delegate_target (ValaCCodeBaseModule* self, ValaExpression* expr, ValaCCodeExpression* delegate_target);
343
ValaMethod* vala_ccode_base_module_get_current_method (ValaCCodeBaseModule* self);
344
ValaCCodeExpression* vala_ccode_base_module_get_variable_cexpression (ValaCCodeBaseModule* self, const gchar* name);
345
gint vala_ccode_base_module_get_block_id (ValaCCodeBaseModule* self, ValaBlock* b);
346
ValaCCodeExpression* vala_ccode_base_module_get_ccodenode (ValaCCodeBaseModule* self, ValaExpression* node);
347
gboolean vala_ccode_base_module_is_reference_counting (ValaTypeSymbol* sym);
348
ValaCCodeExpression* vala_ccode_base_module_get_dup_func_expression (ValaCCodeBaseModule* self, ValaDataType* type, ValaSourceReference* source_reference, gboolean is_chainup);
349
ValaCCodeExpression* vala_ccode_base_module_get_destroy_func_expression (ValaCCodeBaseModule* self, ValaDataType* type, gboolean is_chainup);
350
ValaCCodeExpression* vala_ccode_base_module_get_array_length_cexpression (ValaCCodeBaseModule* self, ValaExpression* array_expr, gint dim);
351
ValaTargetValue* vala_ccode_base_module_get_field_cvalue (ValaCCodeBaseModule* self, ValaField* field, ValaTargetValue* instance);
352
gboolean vala_ccode_base_module_generate_enum_declaration (ValaCCodeBaseModule* self, ValaEnum* en, ValaCCodeFile* decl_space);
353
void vala_ccode_base_module_generate_constant_declaration (ValaCCodeBaseModule* self, ValaConstant* c, ValaCCodeFile* decl_space, gboolean definition);
354
void vala_ccode_base_module_append_array_length (ValaCCodeBaseModule* self, ValaExpression* expr, ValaCCodeExpression* size);
355
void vala_ccode_base_module_generate_property_accessor_declaration (ValaCCodeBaseModule* self, ValaPropertyAccessor* acc, ValaCCodeFile* decl_space);
356
ValaTypeSymbol* vala_ccode_base_module_get_current_type_symbol (ValaCCodeBaseModule* self);
357
gboolean vala_ccode_base_module_get_ccode_no_accessor_method (ValaProperty* p);
358
gchar* vala_ccode_base_module_get_dynamic_property_getter_cname (ValaCCodeBaseModule* self, ValaDynamicProperty* node);
359
gboolean vala_ccode_base_module_get_lvalue (ValaCCodeBaseModule* self, ValaTargetValue* value);
360
ValaTargetValue* vala_ccode_base_module_store_temp_value (ValaCCodeBaseModule* self, ValaTargetValue* initializer, ValaCodeNode* node_reference, gboolean* value_owned);
361
ValaCCodeExpression* vala_ccode_base_module_get_cvalue_ (ValaCCodeBaseModule* self, ValaTargetValue* value);
362
ValaTargetValue* vala_ccode_base_module_create_temp_value (ValaCCodeBaseModule* self, ValaDataType* type, gboolean init, ValaCodeNode* node_reference, gboolean* value_owned);
363
GType vala_glib_value_get_type (void) G_GNUC_CONST;
364
ValaTargetValue* vala_ccode_base_module_load_temp_value (ValaCCodeBaseModule* self, ValaTargetValue* lvalue);
365
ValaCCodeFunction* vala_ccode_base_module_get_ccode (ValaCCodeBaseModule* self);
366
gboolean vala_ccode_base_module_get_ccode_array_null_terminated (ValaCodeNode* node);
367
gboolean vala_ccode_base_module_get_ccode_array_length (ValaCodeNode* node);
368
ValaCCodeExpression* vala_ccode_base_module_get_array_length_cvalue (ValaCCodeBaseModule* self, ValaTargetValue* value, gint dim);
369
ValaCCodeExpression* vala_ccode_base_module_get_delegate_target_cvalue (ValaCCodeBaseModule* self, ValaTargetValue* value);
370
ValaCCodeConstant* vala_ccode_base_module_get_property_canonical_cconstant (ValaCCodeBaseModule* self, ValaProperty* prop);
371
gboolean vala_ccode_base_module_requires_copy (ValaCCodeBaseModule* self, ValaDataType* type);
372
ValaLocalVariable* vala_ccode_base_module_get_temp_variable (ValaCCodeBaseModule* self, ValaDataType* type, gboolean value_owned, ValaCodeNode* node_reference, gboolean init);
373
void vala_ccode_base_module_emit_temp_var (ValaCCodeBaseModule* self, ValaLocalVariable* local);
374
ValaDataType* vala_ccode_base_module_get_current_return_type (ValaCCodeBaseModule* self);
375
gboolean vala_ccode_base_module_variable_accessible_in_finally (ValaCCodeBaseModule* self, ValaLocalVariable* local);
376
ValaTargetValue* vala_ccode_base_module_get_local_cvalue (ValaCCodeBaseModule* self, ValaLocalVariable* local);
377
ValaTargetValue* vala_ccode_base_module_get_parameter_cvalue (ValaCCodeBaseModule* self, ValaParameter* param);
378
static ValaTargetValue* vala_ccode_member_access_module_real_get_local_cvalue (ValaCCodeBaseModule* base, ValaLocalVariable* local);
379
ValaGLibValue* vala_glib_value_new (ValaDataType* value_type, ValaCCodeExpression* cvalue, gboolean lvalue);
380
ValaGLibValue* vala_glib_value_construct (GType object_type, ValaDataType* value_type, ValaCCodeExpression* cvalue, gboolean lvalue);
381
gchar* vala_ccode_base_module_get_local_cname (ValaCCodeBaseModule* self, ValaLocalVariable* local);
382
void vala_glib_value_append_array_length_cvalue (ValaGLibValue* self, ValaCCodeExpression* length_cvalue);
383
gchar* vala_ccode_base_module_get_array_length_cname (ValaCCodeBaseModule* self, const gchar* array_cname, gint dim);
384
gchar* vala_ccode_base_module_get_array_size_cname (ValaCCodeBaseModule* self, const gchar* array_cname);
385
gchar* vala_ccode_base_module_get_delegate_target_cname (ValaCCodeBaseModule* self, const gchar* delegate_cname);
386
gchar* vala_ccode_base_module_get_delegate_target_destroy_notify_cname (ValaCCodeBaseModule* self, const gchar* delegate_cname);
387
ValaCCodeExpression* vala_ccode_base_module_get_local_cexpression (ValaCCodeBaseModule* self, ValaLocalVariable* local);
388
gboolean vala_ccode_base_module_is_in_coroutine (ValaCCodeBaseModule* self);
389
static ValaTargetValue* vala_ccode_member_access_module_real_get_parameter_cvalue (ValaCCodeBaseModule* base, ValaParameter* param);
390
gchar* vala_ccode_base_module_get_ccode_array_length_expr (ValaCodeNode* node);
391
gchar* vala_ccode_base_module_get_ccode_type (ValaCodeNode* node);
392
gchar* vala_ccode_base_module_get_variable_cname (ValaCCodeBaseModule* self, const gchar* name);
393
gchar* vala_ccode_base_module_get_parameter_array_length_cname (ValaCCodeBaseModule* self, ValaParameter* param, gint dim);
394
gchar* vala_ccode_base_module_get_ccode_delegate_target_name (ValaVariable* variable);
395
ValaPropertyAccessor* vala_ccode_base_module_get_current_property_accessor (ValaCCodeBaseModule* self);
396
static ValaTargetValue* vala_ccode_member_access_module_real_get_field_cvalue (ValaCCodeBaseModule* base, ValaField* field, ValaTargetValue* instance);
397
ValaDataType* vala_ccode_base_module_get_data_type_for_symbol (ValaTypeSymbol* sym);
398
void vala_ccode_base_module_generate_class_struct_declaration (ValaCCodeBaseModule* self, ValaClass* cl, ValaCCodeFile* decl_space);
399
gchar* vala_ccode_base_module_get_ccode_array_length_name (ValaCodeNode* node);
400
void vala_ccode_base_module_set_array_size_cvalue (ValaCCodeBaseModule* self, ValaTargetValue* value, ValaCCodeExpression* cvalue);
401
gboolean vala_ccode_base_module_get_ccode_delegate_target (ValaCodeNode* node);
402
ValaDataType* vala_ccode_base_module_get_this_type (ValaCCodeBaseModule* self);
403
void vala_ccode_base_module_generate_field_declaration (ValaCCodeBaseModule* self, ValaField* f, ValaCCodeFile* decl_space);
404
static ValaTargetValue* vala_ccode_member_access_module_real_load_variable (ValaCCodeBaseModule* base, ValaVariable* variable, ValaTargetValue* value);
405
gchar* vala_ccode_base_module_get_ccode_array_length_type (ValaCodeNode* node);
406
gboolean vala_ccode_base_module_is_lvalue_access_allowed (ValaCCodeBaseModule* self, ValaDataType* type);
407
static ValaTargetValue* vala_ccode_member_access_module_real_load_local (ValaCodeGenerator* base, ValaLocalVariable* local);
408
ValaTargetValue* vala_ccode_base_module_load_variable (ValaCCodeBaseModule* self, ValaVariable* variable, ValaTargetValue* value);
409
static ValaTargetValue* vala_ccode_member_access_module_real_load_parameter (ValaCodeGenerator* base, ValaParameter* param);
410
static ValaTargetValue* vala_ccode_member_access_module_real_load_this_parameter (ValaCCodeBaseModule* base, ValaTypeSymbol* sym);
411
static ValaTargetValue* vala_ccode_member_access_module_real_load_field (ValaCodeGenerator* base, ValaField* field, ValaTargetValue* instance);
412
ValaCCodeMemberAccessModule* vala_ccode_member_access_module_construct (GType object_type);
413
ValaCCodeControlFlowModule* vala_ccode_control_flow_module_construct (GType object_type);
416
static gpointer _vala_code_node_ref0 (gpointer self) {
417
return self ? vala_code_node_ref (self) : NULL;
421
static gpointer _vala_ccode_node_ref0 (gpointer self) {
422
return self ? vala_ccode_node_ref (self) : NULL;
426
static gpointer _vala_target_value_ref0 (gpointer self) {
427
return self ? vala_target_value_ref (self) : NULL;
431
static void vala_ccode_member_access_module_real_visit_member_access (ValaCodeVisitor* base, ValaMemberAccess* expr) {
432
ValaCCodeMemberAccessModule * self;
433
ValaCCodeExpression* pub_inst;
434
ValaMemberAccess* _tmp0_;
435
ValaExpression* _tmp1_;
436
ValaExpression* _tmp2_;
437
ValaMemberAccess* _tmp7_;
438
ValaDataType* _tmp8_;
439
ValaDataType* _tmp9_;
440
ValaArrayType* _tmp10_;
441
ValaArrayType* array_type;
442
ValaMemberAccess* _tmp11_;
443
ValaDataType* _tmp12_;
444
ValaDataType* _tmp13_;
445
ValaDelegateType* _tmp14_;
446
ValaDelegateType* delegate_type;
447
ValaMemberAccess* _tmp15_;
450
self = (ValaCCodeMemberAccessModule*) base;
451
g_return_if_fail (expr != NULL);
454
_tmp1_ = vala_member_access_get_inner (_tmp0_);
456
if (_tmp2_ != NULL) {
457
ValaMemberAccess* _tmp3_;
458
ValaExpression* _tmp4_;
459
ValaExpression* _tmp5_;
460
ValaCCodeExpression* _tmp6_ = NULL;
462
_tmp4_ = vala_member_access_get_inner (_tmp3_);
464
_tmp6_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp5_);
465
_vala_ccode_node_unref0 (pub_inst);
469
_tmp8_ = vala_expression_get_value_type ((ValaExpression*) _tmp7_);
471
_tmp10_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp9_) : NULL);
472
array_type = _tmp10_;
474
_tmp12_ = vala_expression_get_value_type ((ValaExpression*) _tmp11_);
476
_tmp14_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, VALA_TYPE_DELEGATE_TYPE) ? ((ValaDelegateType*) _tmp13_) : NULL);
477
delegate_type = _tmp14_;
479
_tmp16_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp15_);
481
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, VALA_TYPE_METHOD)) {
482
ValaMemberAccess* _tmp18_;
487
gboolean _tmp22_ = FALSE;
488
gboolean _tmp23_ = FALSE;
492
ValaMemberAccess* _tmp42_;
493
ValaExpression* _tmp43_;
494
ValaExpression* _tmp44_;
495
ValaMethod* _tmp106_;
496
ValaMethod* _tmp107_;
497
ValaMethod* _tmp108_;
498
ValaMemberAccess* _tmp169_;
499
ValaCCodeConstant* _tmp170_;
500
ValaCCodeConstant* _tmp171_;
501
ValaMethod* _tmp172_;
502
ValaMemberBinding _tmp173_;
503
ValaMemberBinding _tmp174_;
505
_tmp19_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp18_);
507
_tmp21_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, VALA_TYPE_METHOD, ValaMethod));
510
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp24_, VALA_TYPE_DYNAMIC_METHOD)) {
515
_tmp23_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, VALA_TYPE_ARRAY_MOVE_METHOD);
523
_tmp22_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, VALA_TYPE_ARRAY_RESIZE_METHOD);
528
ValaCCodeFile* _tmp30_;
529
gboolean _tmp31_ = FALSE;
535
_tmp30_ = ((ValaCCodeBaseModule*) self)->cfile;
536
vala_ccode_base_module_generate_method_declaration ((ValaCCodeBaseModule*) self, _tmp29_, _tmp30_);
538
_tmp33_ = vala_symbol_get_external ((ValaSymbol*) _tmp32_);
545
_tmp36_ = vala_symbol_get_external_package ((ValaSymbol*) _tmp35_);
554
gboolean _tmp40_ = FALSE;
556
_tmp40_ = vala_ccode_base_module_add_generated_external_symbol ((ValaCCodeBaseModule*) self, (ValaSymbol*) _tmp39_);
560
vala_code_visitor_visit_method ((ValaCodeVisitor*) self, _tmp41_);
565
_tmp43_ = vala_member_access_get_inner (_tmp42_);
567
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp44_, VALA_TYPE_BASE_ACCESS)) {
572
_tmp46_ = vala_method_get_base_method (_tmp45_);
574
if (_tmp47_ != NULL) {
581
ValaClass* base_class;
583
gchar* _tmp55_ = NULL;
585
gchar* _tmp57_ = NULL;
587
ValaCCodeIdentifier* _tmp59_;
588
ValaCCodeIdentifier* _tmp60_;
589
ValaCCodeFunctionCall* _tmp61_;
590
ValaCCodeFunctionCall* _tmp62_;
591
ValaCCodeFunctionCall* vcast;
592
ValaCCodeFunctionCall* _tmp63_;
595
gchar* _tmp66_ = NULL;
597
gchar* _tmp68_ = NULL;
599
ValaCCodeIdentifier* _tmp70_;
600
ValaCCodeIdentifier* _tmp71_;
601
ValaMemberAccess* _tmp72_;
602
ValaCCodeFunctionCall* _tmp73_;
604
gchar* _tmp75_ = NULL;
606
ValaCCodeMemberAccess* _tmp77_;
607
ValaCCodeMemberAccess* _tmp78_;
609
_tmp49_ = vala_method_get_base_method (_tmp48_);
611
_tmp51_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp50_);
613
_tmp53_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, VALA_TYPE_CLASS, ValaClass));
614
base_class = _tmp53_;
615
_tmp54_ = base_class;
616
_tmp55_ = vala_ccode_base_module_get_ccode_upper_case_name ((ValaSymbol*) _tmp54_, NULL);
618
_tmp57_ = g_strdup_printf ("%s_CLASS", _tmp56_);
620
_tmp59_ = vala_ccode_identifier_new (_tmp58_);
622
_tmp61_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp60_);
624
_vala_ccode_node_unref0 (_tmp60_);
629
_tmp64_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
631
_tmp66_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp65_, NULL);
633
_tmp68_ = g_strdup_printf ("%s_parent_class", _tmp67_);
635
_tmp70_ = vala_ccode_identifier_new (_tmp69_);
637
vala_ccode_function_call_add_argument (_tmp63_, (ValaCCodeExpression*) _tmp71_);
638
_vala_ccode_node_unref0 (_tmp71_);
644
_tmp75_ = vala_ccode_base_module_get_ccode_vfunc_name (_tmp74_);
646
_tmp77_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp73_, _tmp76_);
648
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp72_, (ValaCCodeExpression*) _tmp78_);
649
_vala_ccode_node_unref0 (_tmp78_);
651
_vala_ccode_node_unref0 (vcast);
652
_vala_code_node_unref0 (base_class);
653
_vala_code_node_unref0 (m);
654
_vala_code_node_unref0 (delegate_type);
655
_vala_code_node_unref0 (array_type);
656
_vala_ccode_node_unref0 (pub_inst);
663
_tmp80_ = vala_method_get_base_interface_method (_tmp79_);
665
if (_tmp81_ != NULL) {
671
ValaInterface* _tmp87_;
672
ValaInterface* base_iface;
675
gchar* _tmp90_ = NULL;
677
ValaInterface* _tmp92_;
678
gchar* _tmp93_ = NULL;
680
gchar* _tmp95_ = NULL;
682
gchar* parent_iface_var;
683
ValaMemberAccess* _tmp97_;
684
const gchar* _tmp98_;
685
ValaCCodeIdentifier* _tmp99_;
686
ValaCCodeIdentifier* _tmp100_;
687
ValaMethod* _tmp101_;
688
gchar* _tmp102_ = NULL;
690
ValaCCodeMemberAccess* _tmp104_;
691
ValaCCodeMemberAccess* _tmp105_;
693
_tmp83_ = vala_method_get_base_interface_method (_tmp82_);
695
_tmp85_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp84_);
697
_tmp87_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp86_, VALA_TYPE_INTERFACE, ValaInterface));
698
base_iface = _tmp87_;
699
_tmp88_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
701
_tmp90_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp89_, NULL);
703
_tmp92_ = base_iface;
704
_tmp93_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp92_, NULL);
706
_tmp95_ = g_strdup_printf ("%s_%s_parent_iface", _tmp91_, _tmp94_);
710
parent_iface_var = _tmp96_;
712
_tmp98_ = parent_iface_var;
713
_tmp99_ = vala_ccode_identifier_new (_tmp98_);
716
_tmp102_ = vala_ccode_base_module_get_ccode_vfunc_name (_tmp101_);
718
_tmp104_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp100_, _tmp103_);
720
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp97_, (ValaCCodeExpression*) _tmp105_);
721
_vala_ccode_node_unref0 (_tmp105_);
723
_vala_ccode_node_unref0 (_tmp100_);
724
_g_free0 (parent_iface_var);
725
_vala_code_node_unref0 (base_iface);
726
_vala_code_node_unref0 (m);
727
_vala_code_node_unref0 (delegate_type);
728
_vala_code_node_unref0 (array_type);
729
_vala_ccode_node_unref0 (pub_inst);
735
_tmp107_ = vala_method_get_base_method (_tmp106_);
737
if (_tmp108_ != NULL) {
738
ValaMethod* _tmp109_;
739
ValaMethod* _tmp110_;
740
ValaMethod* _tmp111_;
741
gboolean _tmp112_ = FALSE;
743
_tmp110_ = vala_method_get_base_method (_tmp109_);
745
_tmp112_ = vala_ccode_base_module_method_has_wrapper ((ValaCCodeBaseModule*) self, _tmp111_);
747
ValaMethod* _tmp113_;
748
ValaMethod* _tmp114_;
749
ValaMethod* _tmp115_;
750
ValaSymbol* _tmp116_;
751
ValaSymbol* _tmp117_;
753
ValaClass* base_class;
755
gchar* _tmp120_ = NULL;
757
gchar* _tmp122_ = NULL;
759
ValaCCodeIdentifier* _tmp124_;
760
ValaCCodeIdentifier* _tmp125_;
761
ValaCCodeFunctionCall* _tmp126_;
762
ValaCCodeFunctionCall* _tmp127_;
763
ValaCCodeFunctionCall* vclass;
764
ValaCCodeFunctionCall* _tmp128_;
765
ValaCCodeExpression* _tmp129_;
766
ValaMemberAccess* _tmp130_;
767
ValaCCodeFunctionCall* _tmp131_;
768
ValaMethod* _tmp132_;
769
gchar* _tmp133_ = NULL;
771
ValaCCodeMemberAccess* _tmp135_;
772
ValaCCodeMemberAccess* _tmp136_;
774
_tmp114_ = vala_method_get_base_method (_tmp113_);
776
_tmp116_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp115_);
778
_tmp118_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp117_, VALA_TYPE_CLASS, ValaClass));
779
base_class = _tmp118_;
780
_tmp119_ = base_class;
781
_tmp120_ = vala_ccode_base_module_get_ccode_upper_case_name ((ValaSymbol*) _tmp119_, NULL);
783
_tmp122_ = g_strdup_printf ("%s_GET_CLASS", _tmp121_);
785
_tmp124_ = vala_ccode_identifier_new (_tmp123_);
787
_tmp126_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp125_);
789
_vala_ccode_node_unref0 (_tmp125_);
795
vala_ccode_function_call_add_argument (_tmp128_, _tmp129_);
799
_tmp133_ = vala_ccode_base_module_get_ccode_vfunc_name (_tmp132_);
801
_tmp135_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp131_, _tmp134_);
803
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp130_, (ValaCCodeExpression*) _tmp136_);
804
_vala_ccode_node_unref0 (_tmp136_);
806
_vala_ccode_node_unref0 (vclass);
807
_vala_code_node_unref0 (base_class);
809
ValaMemberAccess* _tmp137_;
810
ValaMethod* _tmp138_;
811
ValaMethod* _tmp139_;
812
ValaMethod* _tmp140_;
813
gchar* _tmp141_ = NULL;
815
ValaCCodeIdentifier* _tmp143_;
816
ValaCCodeIdentifier* _tmp144_;
819
_tmp139_ = vala_method_get_base_method (_tmp138_);
821
_tmp141_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp140_);
823
_tmp143_ = vala_ccode_identifier_new (_tmp142_);
825
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp137_, (ValaCCodeExpression*) _tmp144_);
826
_vala_ccode_node_unref0 (_tmp144_);
830
ValaMethod* _tmp145_;
831
ValaMethod* _tmp146_;
832
ValaMethod* _tmp147_;
834
_tmp146_ = vala_method_get_base_interface_method (_tmp145_);
836
if (_tmp147_ != NULL) {
837
ValaMemberAccess* _tmp148_;
838
ValaMethod* _tmp149_;
839
ValaMethod* _tmp150_;
840
ValaMethod* _tmp151_;
841
gchar* _tmp152_ = NULL;
843
ValaCCodeIdentifier* _tmp154_;
844
ValaCCodeIdentifier* _tmp155_;
847
_tmp150_ = vala_method_get_base_interface_method (_tmp149_);
849
_tmp152_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp151_);
851
_tmp154_ = vala_ccode_identifier_new (_tmp153_);
853
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp148_, (ValaCCodeExpression*) _tmp155_);
854
_vala_ccode_node_unref0 (_tmp155_);
857
ValaMethod* _tmp156_;
859
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp156_, VALA_TYPE_CREATION_METHOD)) {
860
ValaMemberAccess* _tmp157_;
861
ValaMethod* _tmp158_;
862
gchar* _tmp159_ = NULL;
864
ValaCCodeIdentifier* _tmp161_;
865
ValaCCodeIdentifier* _tmp162_;
868
_tmp159_ = vala_ccode_base_module_get_ccode_real_name ((ValaSymbol*) _tmp158_);
870
_tmp161_ = vala_ccode_identifier_new (_tmp160_);
872
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp157_, (ValaCCodeExpression*) _tmp162_);
873
_vala_ccode_node_unref0 (_tmp162_);
876
ValaMemberAccess* _tmp163_;
877
ValaMethod* _tmp164_;
878
gchar* _tmp165_ = NULL;
880
ValaCCodeIdentifier* _tmp167_;
881
ValaCCodeIdentifier* _tmp168_;
884
_tmp165_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp164_);
886
_tmp167_ = vala_ccode_identifier_new (_tmp166_);
888
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp163_, (ValaCCodeExpression*) _tmp168_);
889
_vala_ccode_node_unref0 (_tmp168_);
895
_tmp170_ = vala_ccode_constant_new ("NULL");
897
vala_ccode_base_module_set_delegate_target_destroy_notify ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp169_, (ValaCCodeExpression*) _tmp171_);
898
_vala_ccode_node_unref0 (_tmp171_);
900
_tmp173_ = vala_method_get_binding (_tmp172_);
902
if (_tmp174_ == VALA_MEMBER_BINDING_STATIC) {
903
ValaMemberAccess* _tmp175_;
904
ValaCCodeConstant* _tmp176_;
905
ValaCCodeConstant* _tmp177_;
907
_tmp176_ = vala_ccode_constant_new ("NULL");
909
vala_ccode_base_module_set_delegate_target ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp175_, (ValaCCodeExpression*) _tmp177_);
910
_vala_ccode_node_unref0 (_tmp177_);
912
ValaMethod* _tmp178_;
916
_tmp179_ = vala_method_get_is_async_callback (_tmp178_);
919
ValaMethod* _tmp181_;
920
ValaMethod* _tmp182_;
923
_tmp181_ = vala_ccode_base_module_get_current_method ((ValaCCodeBaseModule*) self);
925
_tmp183_ = vala_method_get_closure (_tmp182_);
928
ValaMethod* _tmp185_;
929
ValaSymbol* _tmp186_;
930
ValaSymbol* _tmp187_;
935
ValaMemberAccess* _tmp191_;
938
gchar* _tmp194_ = NULL;
940
ValaCCodeExpression* _tmp196_ = NULL;
941
ValaCCodeExpression* _tmp197_;
942
ValaCCodeMemberAccess* _tmp198_;
943
ValaCCodeMemberAccess* _tmp199_;
945
_tmp186_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp185_);
947
_tmp188_ = vala_subroutine_get_body ((ValaSubroutine*) G_TYPE_CHECK_INSTANCE_CAST (_tmp187_, VALA_TYPE_METHOD, ValaMethod));
949
_tmp190_ = _vala_code_node_ref0 (_tmp189_);
953
_tmp193_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp192_);
954
_tmp194_ = g_strdup_printf ("_data%d_", _tmp193_);
956
_tmp196_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp195_);
958
_tmp198_ = vala_ccode_member_access_new_pointer (_tmp197_, "_async_data_");
960
vala_ccode_base_module_set_delegate_target ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp191_, (ValaCCodeExpression*) _tmp199_);
961
_vala_ccode_node_unref0 (_tmp199_);
962
_vala_ccode_node_unref0 (_tmp197_);
964
_vala_code_node_unref0 (block);
966
ValaMemberAccess* _tmp200_;
967
ValaCCodeIdentifier* _tmp201_;
968
ValaCCodeIdentifier* _tmp202_;
970
_tmp201_ = vala_ccode_identifier_new ("_data_");
972
vala_ccode_base_module_set_delegate_target ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp200_, (ValaCCodeExpression*) _tmp202_);
973
_vala_ccode_node_unref0 (_tmp202_);
976
gboolean _tmp203_ = FALSE;
977
ValaMemberAccess* _tmp204_;
978
ValaExpression* _tmp205_;
979
ValaExpression* _tmp206_;
982
_tmp205_ = vala_member_access_get_inner (_tmp204_);
984
if (_tmp206_ != NULL) {
985
ValaMemberAccess* _tmp207_;
989
_tmp208_ = vala_member_access_get_prototype_access (_tmp207_);
991
_tmp203_ = !_tmp209_;
997
ValaMemberAccess* _tmp211_;
998
ValaExpression* _tmp212_;
999
ValaExpression* _tmp213_;
1000
ValaCCodeExpression* _tmp214_ = NULL;
1001
ValaCCodeExpression* delegate_target;
1002
ValaMemberAccess* _tmp215_;
1003
ValaDataType* _tmp216_;
1004
ValaDataType* _tmp217_;
1005
ValaDelegateType* _tmp218_;
1006
gboolean _tmp219_ = FALSE;
1007
gboolean _tmp220_ = FALSE;
1008
gboolean _tmp221_ = FALSE;
1009
ValaMemberAccess* _tmp222_;
1010
ValaDataType* _tmp223_;
1011
ValaDataType* _tmp224_;
1017
ValaMemberAccess* _tmp275_;
1018
ValaCCodeExpression* _tmp276_;
1020
_tmp212_ = vala_member_access_get_inner (_tmp211_);
1021
_tmp213_ = _tmp212_;
1022
_tmp214_ = vala_ccode_base_module_get_ccodenode ((ValaCCodeBaseModule*) self, _tmp213_);
1023
delegate_target = G_TYPE_CHECK_INSTANCE_CAST (_tmp214_, VALA_TYPE_CCODE_EXPRESSION, ValaCCodeExpression);
1025
_tmp216_ = vala_expression_get_target_type ((ValaExpression*) _tmp215_);
1026
_tmp217_ = _tmp216_;
1027
_tmp218_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp217_, VALA_TYPE_DELEGATE_TYPE) ? ((ValaDelegateType*) _tmp217_) : NULL);
1028
_vala_code_node_unref0 (delegate_type);
1029
delegate_type = _tmp218_;
1031
_tmp223_ = vala_expression_get_value_type ((ValaExpression*) _tmp222_);
1032
_tmp224_ = _tmp223_;
1033
_tmp225_ = vala_data_type_get_value_owned (_tmp224_);
1034
_tmp226_ = _tmp225_;
1038
gboolean _tmp227_ = FALSE;
1039
ValaDelegateType* _tmp228_;
1041
_tmp228_ = delegate_type;
1042
if (_tmp228_ != NULL) {
1043
ValaDelegateType* _tmp229_;
1046
_tmp229_ = delegate_type;
1047
_tmp230_ = vala_delegate_type_get_is_called_once (_tmp229_);
1048
_tmp231_ = _tmp230_;
1049
_tmp227_ = _tmp231_;
1053
_tmp232_ = _tmp227_;
1054
_tmp221_ = _tmp232_;
1056
_tmp233_ = _tmp221_;
1058
ValaMemberAccess* _tmp234_;
1059
ValaExpression* _tmp235_;
1060
ValaExpression* _tmp236_;
1061
ValaDataType* _tmp237_;
1062
ValaDataType* _tmp238_;
1063
ValaTypeSymbol* _tmp239_;
1064
ValaTypeSymbol* _tmp240_;
1066
_tmp235_ = vala_member_access_get_inner (_tmp234_);
1067
_tmp236_ = _tmp235_;
1068
_tmp237_ = vala_expression_get_value_type (_tmp236_);
1069
_tmp238_ = _tmp237_;
1070
_tmp239_ = vala_data_type_get_data_type (_tmp238_);
1071
_tmp240_ = _tmp239_;
1072
_tmp220_ = _tmp240_ != NULL;
1076
_tmp241_ = _tmp220_;
1078
ValaMemberAccess* _tmp242_;
1079
ValaExpression* _tmp243_;
1080
ValaExpression* _tmp244_;
1081
ValaDataType* _tmp245_;
1082
ValaDataType* _tmp246_;
1083
ValaTypeSymbol* _tmp247_;
1084
ValaTypeSymbol* _tmp248_;
1085
gboolean _tmp249_ = FALSE;
1087
_tmp243_ = vala_member_access_get_inner (_tmp242_);
1088
_tmp244_ = _tmp243_;
1089
_tmp245_ = vala_expression_get_value_type (_tmp244_);
1090
_tmp246_ = _tmp245_;
1091
_tmp247_ = vala_data_type_get_data_type (_tmp246_);
1092
_tmp248_ = _tmp247_;
1093
_tmp249_ = vala_ccode_base_module_is_reference_counting (_tmp248_);
1094
_tmp219_ = _tmp249_;
1098
_tmp250_ = _tmp219_;
1100
ValaMemberAccess* _tmp251_;
1101
ValaExpression* _tmp252_;
1102
ValaExpression* _tmp253_;
1103
ValaDataType* _tmp254_;
1104
ValaDataType* _tmp255_;
1105
ValaMemberAccess* _tmp256_;
1106
ValaSourceReference* _tmp257_;
1107
ValaSourceReference* _tmp258_;
1108
ValaCCodeExpression* _tmp259_ = NULL;
1109
ValaCCodeExpression* _tmp260_;
1110
ValaCCodeFunctionCall* _tmp261_;
1111
ValaCCodeFunctionCall* _tmp262_;
1112
ValaCCodeFunctionCall* ref_call;
1113
ValaCCodeFunctionCall* _tmp263_;
1114
ValaCCodeExpression* _tmp264_;
1115
ValaCCodeFunctionCall* _tmp265_;
1116
ValaCCodeExpression* _tmp266_;
1117
ValaMemberAccess* _tmp267_;
1118
ValaMemberAccess* _tmp268_;
1119
ValaExpression* _tmp269_;
1120
ValaExpression* _tmp270_;
1121
ValaDataType* _tmp271_;
1122
ValaDataType* _tmp272_;
1123
ValaCCodeExpression* _tmp273_ = NULL;
1124
ValaCCodeExpression* _tmp274_;
1126
_tmp252_ = vala_member_access_get_inner (_tmp251_);
1127
_tmp253_ = _tmp252_;
1128
_tmp254_ = vala_expression_get_value_type (_tmp253_);
1129
_tmp255_ = _tmp254_;
1131
_tmp257_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp256_);
1132
_tmp258_ = _tmp257_;
1133
_tmp259_ = vala_ccode_base_module_get_dup_func_expression ((ValaCCodeBaseModule*) self, _tmp255_, _tmp258_, FALSE);
1134
_tmp260_ = _tmp259_;
1135
_tmp261_ = vala_ccode_function_call_new (_tmp260_);
1136
_tmp262_ = _tmp261_;
1137
_vala_ccode_node_unref0 (_tmp260_);
1138
ref_call = _tmp262_;
1139
_tmp263_ = ref_call;
1140
_tmp264_ = delegate_target;
1141
vala_ccode_function_call_add_argument (_tmp263_, _tmp264_);
1142
_tmp265_ = ref_call;
1143
_tmp266_ = _vala_ccode_node_ref0 ((ValaCCodeExpression*) _tmp265_);
1144
_vala_ccode_node_unref0 (delegate_target);
1145
delegate_target = _tmp266_;
1148
_tmp269_ = vala_member_access_get_inner (_tmp268_);
1149
_tmp270_ = _tmp269_;
1150
_tmp271_ = vala_expression_get_value_type (_tmp270_);
1151
_tmp272_ = _tmp271_;
1152
_tmp273_ = vala_ccode_base_module_get_destroy_func_expression ((ValaCCodeBaseModule*) self, _tmp272_, FALSE);
1153
_tmp274_ = _tmp273_;
1154
vala_ccode_base_module_set_delegate_target_destroy_notify ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp267_, _tmp274_);
1155
_vala_ccode_node_unref0 (_tmp274_);
1156
_vala_ccode_node_unref0 (ref_call);
1159
_tmp276_ = delegate_target;
1160
vala_ccode_base_module_set_delegate_target ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp275_, _tmp276_);
1161
_vala_ccode_node_unref0 (delegate_target);
1165
_vala_code_node_unref0 (m);
1167
ValaMemberAccess* _tmp277_;
1168
ValaSymbol* _tmp278_;
1169
ValaSymbol* _tmp279_;
1171
_tmp278_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp277_);
1172
_tmp279_ = _tmp278_;
1173
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp279_, VALA_TYPE_ARRAY_LENGTH_FIELD)) {
1174
gboolean _tmp280_ = FALSE;
1175
ValaMemberAccess* _tmp281_;
1176
ValaDataType* _tmp282_;
1177
ValaDataType* _tmp283_;
1179
ValaMemberAccess* _tmp291_;
1180
ValaMemberAccess* _tmp292_;
1181
ValaExpression* _tmp293_;
1182
ValaExpression* _tmp294_;
1183
ValaCCodeExpression* _tmp295_ = NULL;
1184
ValaCCodeExpression* _tmp296_;
1186
_tmp282_ = vala_expression_get_value_type ((ValaExpression*) _tmp281_);
1187
_tmp283_ = _tmp282_;
1188
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp283_, VALA_TYPE_ARRAY_TYPE)) {
1189
ValaMemberAccess* _tmp284_;
1190
ValaCodeNode* _tmp285_;
1191
ValaCodeNode* _tmp286_;
1193
_tmp285_ = vala_code_node_get_parent_node ((ValaCodeNode*) _tmp284_);
1194
_tmp286_ = _tmp285_;
1195
_tmp280_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp286_, VALA_TYPE_ELEMENT_ACCESS);
1199
_tmp287_ = _tmp280_;
1201
ValaMemberAccess* _tmp288_;
1202
ValaSourceReference* _tmp289_;
1203
ValaSourceReference* _tmp290_;
1205
_tmp289_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp288_);
1206
_tmp290_ = _tmp289_;
1207
vala_report_error (_tmp290_, "unsupported use of length field of multi-dimensional array");
1211
_tmp293_ = vala_member_access_get_inner (_tmp292_);
1212
_tmp294_ = _tmp293_;
1213
_tmp295_ = vala_ccode_base_module_get_array_length_cexpression ((ValaCCodeBaseModule*) self, _tmp294_, 1);
1214
_tmp296_ = _tmp295_;
1215
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp291_, _tmp296_);
1216
_vala_ccode_node_unref0 (_tmp296_);
1218
ValaMemberAccess* _tmp297_;
1219
ValaSymbol* _tmp298_;
1220
ValaSymbol* _tmp299_;
1222
_tmp298_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp297_);
1223
_tmp299_ = _tmp298_;
1224
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp299_, VALA_TYPE_FIELD)) {
1225
ValaMemberAccess* _tmp300_;
1226
ValaSymbol* _tmp301_;
1227
ValaSymbol* _tmp302_;
1228
ValaField* _tmp303_;
1230
ValaMemberAccess* _tmp304_;
1234
_tmp301_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp300_);
1235
_tmp302_ = _tmp301_;
1236
_tmp303_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp302_, VALA_TYPE_FIELD, ValaField));
1239
_tmp305_ = vala_expression_get_lvalue ((ValaExpression*) _tmp304_);
1240
_tmp306_ = _tmp305_;
1242
ValaTargetValue* _tmp307_ = NULL;
1243
ValaMemberAccess* _tmp308_;
1244
ValaExpression* _tmp309_;
1245
ValaExpression* _tmp310_;
1246
ValaMemberAccess* _tmp316_;
1247
ValaField* _tmp317_;
1248
ValaTargetValue* _tmp318_;
1249
ValaTargetValue* _tmp319_ = NULL;
1250
ValaTargetValue* _tmp320_;
1252
_tmp309_ = vala_member_access_get_inner (_tmp308_);
1253
_tmp310_ = _tmp309_;
1254
if (_tmp310_ != NULL) {
1255
ValaMemberAccess* _tmp311_;
1256
ValaExpression* _tmp312_;
1257
ValaExpression* _tmp313_;
1258
ValaTargetValue* _tmp314_;
1259
ValaTargetValue* _tmp315_;
1261
_tmp312_ = vala_member_access_get_inner (_tmp311_);
1262
_tmp313_ = _tmp312_;
1263
_tmp314_ = vala_expression_get_target_value (_tmp313_);
1264
_tmp315_ = _tmp314_;
1265
_tmp307_ = _tmp315_;
1271
_tmp318_ = _tmp307_;
1272
_tmp319_ = vala_ccode_base_module_get_field_cvalue ((ValaCCodeBaseModule*) self, _tmp317_, _tmp318_);
1273
_tmp320_ = _tmp319_;
1274
vala_expression_set_target_value ((ValaExpression*) _tmp316_, _tmp320_);
1275
_vala_target_value_unref0 (_tmp320_);
1277
ValaTargetValue* _tmp321_ = NULL;
1278
ValaMemberAccess* _tmp322_;
1279
ValaExpression* _tmp323_;
1280
ValaExpression* _tmp324_;
1281
ValaMemberAccess* _tmp330_;
1282
ValaField* _tmp331_;
1283
ValaTargetValue* _tmp332_;
1284
ValaTargetValue* _tmp333_ = NULL;
1285
ValaTargetValue* _tmp334_;
1287
_tmp323_ = vala_member_access_get_inner (_tmp322_);
1288
_tmp324_ = _tmp323_;
1289
if (_tmp324_ != NULL) {
1290
ValaMemberAccess* _tmp325_;
1291
ValaExpression* _tmp326_;
1292
ValaExpression* _tmp327_;
1293
ValaTargetValue* _tmp328_;
1294
ValaTargetValue* _tmp329_;
1296
_tmp326_ = vala_member_access_get_inner (_tmp325_);
1297
_tmp327_ = _tmp326_;
1298
_tmp328_ = vala_expression_get_target_value (_tmp327_);
1299
_tmp329_ = _tmp328_;
1300
_tmp321_ = _tmp329_;
1306
_tmp332_ = _tmp321_;
1307
_tmp333_ = vala_code_generator_load_field ((ValaCodeGenerator*) self, _tmp331_, _tmp332_);
1308
_tmp334_ = _tmp333_;
1309
vala_expression_set_target_value ((ValaExpression*) _tmp330_, _tmp334_);
1310
_vala_target_value_unref0 (_tmp334_);
1312
_vala_code_node_unref0 (field);
1314
ValaMemberAccess* _tmp335_;
1315
ValaSymbol* _tmp336_;
1316
ValaSymbol* _tmp337_;
1318
_tmp336_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp335_);
1319
_tmp337_ = _tmp336_;
1320
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp337_, VALA_TYPE_ENUM_VALUE)) {
1321
ValaMemberAccess* _tmp338_;
1322
ValaSymbol* _tmp339_;
1323
ValaSymbol* _tmp340_;
1324
ValaEnumValue* _tmp341_;
1326
ValaEnumValue* _tmp342_;
1327
ValaSymbol* _tmp343_;
1328
ValaSymbol* _tmp344_;
1329
ValaCCodeFile* _tmp345_;
1330
ValaMemberAccess* _tmp346_;
1331
ValaEnumValue* _tmp347_;
1332
gchar* _tmp348_ = NULL;
1334
ValaCCodeConstant* _tmp350_;
1335
ValaCCodeConstant* _tmp351_;
1337
_tmp339_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp338_);
1338
_tmp340_ = _tmp339_;
1339
_tmp341_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp340_, VALA_TYPE_ENUM_VALUE, ValaEnumValue));
1342
_tmp343_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp342_);
1343
_tmp344_ = _tmp343_;
1344
_tmp345_ = ((ValaCCodeBaseModule*) self)->cfile;
1345
vala_ccode_base_module_generate_enum_declaration ((ValaCCodeBaseModule*) self, G_TYPE_CHECK_INSTANCE_CAST (_tmp344_, VALA_TYPE_ENUM, ValaEnum), _tmp345_);
1348
_tmp348_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp347_);
1349
_tmp349_ = _tmp348_;
1350
_tmp350_ = vala_ccode_constant_new (_tmp349_);
1351
_tmp351_ = _tmp350_;
1352
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp346_, (ValaCCodeExpression*) _tmp351_);
1353
_vala_ccode_node_unref0 (_tmp351_);
1354
_g_free0 (_tmp349_);
1355
_vala_code_node_unref0 (ev);
1357
ValaMemberAccess* _tmp352_;
1358
ValaSymbol* _tmp353_;
1359
ValaSymbol* _tmp354_;
1361
_tmp353_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp352_);
1362
_tmp354_ = _tmp353_;
1363
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp354_, VALA_TYPE_CONSTANT)) {
1364
ValaMemberAccess* _tmp355_;
1365
ValaSymbol* _tmp356_;
1366
ValaSymbol* _tmp357_;
1367
ValaConstant* _tmp358_;
1369
gboolean _tmp359_ = FALSE;
1370
gboolean _tmp360_ = FALSE;
1371
ValaConstant* _tmp361_;
1372
ValaSourceReference* _tmp362_;
1373
ValaSourceReference* _tmp363_;
1375
ValaConstant* _tmp378_;
1376
ValaCCodeFile* _tmp379_;
1378
ValaConstant* _tmp381_;
1379
gchar* _tmp382_ = NULL;
1381
const gchar* _tmp383_;
1382
ValaArrayType* _tmp430_;
1384
_tmp356_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp355_);
1385
_tmp357_ = _tmp356_;
1386
_tmp358_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp357_, VALA_TYPE_CONSTANT, ValaConstant));
1389
_tmp362_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp361_);
1390
_tmp363_ = _tmp362_;
1391
if (_tmp363_ != NULL) {
1392
ValaMemberAccess* _tmp364_;
1393
ValaSourceReference* _tmp365_;
1394
ValaSourceReference* _tmp366_;
1396
_tmp365_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp364_);
1397
_tmp366_ = _tmp365_;
1398
_tmp360_ = _tmp366_ != NULL;
1402
_tmp367_ = _tmp360_;
1404
ValaConstant* _tmp368_;
1405
ValaSourceReference* _tmp369_;
1406
ValaSourceReference* _tmp370_;
1407
ValaSourceFile* _tmp371_;
1408
ValaSourceFile* _tmp372_;
1409
ValaMemberAccess* _tmp373_;
1410
ValaSourceReference* _tmp374_;
1411
ValaSourceReference* _tmp375_;
1412
ValaSourceFile* _tmp376_;
1413
ValaSourceFile* _tmp377_;
1415
_tmp369_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp368_);
1416
_tmp370_ = _tmp369_;
1417
_tmp371_ = vala_source_reference_get_file (_tmp370_);
1418
_tmp372_ = _tmp371_;
1420
_tmp374_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp373_);
1421
_tmp375_ = _tmp374_;
1422
_tmp376_ = vala_source_reference_get_file (_tmp375_);
1423
_tmp377_ = _tmp376_;
1424
_tmp359_ = _tmp372_ == _tmp377_;
1429
_tmp379_ = ((ValaCCodeBaseModule*) self)->cfile;
1430
_tmp380_ = _tmp359_;
1431
vala_ccode_base_module_generate_constant_declaration ((ValaCCodeBaseModule*) self, _tmp378_, _tmp379_, _tmp380_);
1433
_tmp382_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp381_);
1436
if (g_strcmp0 (_tmp383_, "GLib.Log.FILE") == 0) {
1437
ValaMemberAccess* _tmp384_;
1438
ValaSourceReference* _tmp385_;
1439
ValaSourceReference* _tmp386_;
1440
ValaSourceFile* _tmp387_;
1441
ValaSourceFile* _tmp388_;
1442
const gchar* _tmp389_;
1443
const gchar* _tmp390_;
1444
gchar* _tmp391_ = NULL;
1446
ValaMemberAccess* _tmp392_;
1447
const gchar* _tmp393_;
1448
gchar* _tmp394_ = NULL;
1450
ValaCCodeConstant* _tmp396_;
1451
ValaCCodeConstant* _tmp397_;
1453
_tmp385_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp384_);
1454
_tmp386_ = _tmp385_;
1455
_tmp387_ = vala_source_reference_get_file (_tmp386_);
1456
_tmp388_ = _tmp387_;
1457
_tmp389_ = vala_source_file_get_filename (_tmp388_);
1458
_tmp390_ = _tmp389_;
1459
_tmp391_ = g_path_get_basename (_tmp390_);
1463
_tmp394_ = g_strdup_printf ("\"%s\"", _tmp393_);
1464
_tmp395_ = _tmp394_;
1465
_tmp396_ = vala_ccode_constant_new (_tmp395_);
1466
_tmp397_ = _tmp396_;
1467
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp392_, (ValaCCodeExpression*) _tmp397_);
1468
_vala_ccode_node_unref0 (_tmp397_);
1469
_g_free0 (_tmp395_);
1472
const gchar* _tmp398_;
1474
if (g_strcmp0 (_tmp398_, "GLib.Log.LINE") == 0) {
1475
ValaMemberAccess* _tmp399_;
1476
ValaSourceReference* _tmp400_;
1477
ValaSourceReference* _tmp401_;
1478
ValaSourceLocation _tmp402_;
1479
ValaSourceLocation _tmp403_;
1482
ValaMemberAccess* _tmp405_;
1484
gchar* _tmp407_ = NULL;
1486
ValaCCodeConstant* _tmp409_;
1487
ValaCCodeConstant* _tmp410_;
1489
_tmp400_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp399_);
1490
_tmp401_ = _tmp400_;
1491
vala_source_reference_get_begin (_tmp401_, &_tmp402_);
1492
_tmp403_ = _tmp402_;
1493
_tmp404_ = _tmp403_.line;
1497
_tmp407_ = g_strdup_printf ("%d", _tmp406_);
1498
_tmp408_ = _tmp407_;
1499
_tmp409_ = vala_ccode_constant_new (_tmp408_);
1500
_tmp410_ = _tmp409_;
1501
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp405_, (ValaCCodeExpression*) _tmp410_);
1502
_vala_ccode_node_unref0 (_tmp410_);
1503
_g_free0 (_tmp408_);
1505
const gchar* _tmp411_;
1507
if (g_strcmp0 (_tmp411_, "GLib.Log.METHOD") == 0) {
1510
ValaMethod* _tmp413_;
1511
ValaMethod* _tmp414_;
1512
ValaMemberAccess* _tmp418_;
1513
const gchar* _tmp419_;
1514
gchar* _tmp420_ = NULL;
1516
ValaCCodeConstant* _tmp422_;
1517
ValaCCodeConstant* _tmp423_;
1518
_tmp412_ = g_strdup ("");
1520
_tmp413_ = vala_ccode_base_module_get_current_method ((ValaCCodeBaseModule*) self);
1521
_tmp414_ = _tmp413_;
1522
if (_tmp414_ != NULL) {
1523
ValaMethod* _tmp415_;
1524
ValaMethod* _tmp416_;
1525
gchar* _tmp417_ = NULL;
1526
_tmp415_ = vala_ccode_base_module_get_current_method ((ValaCCodeBaseModule*) self);
1527
_tmp416_ = _tmp415_;
1528
_tmp417_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp416_);
1534
_tmp420_ = g_strdup_printf ("\"%s\"", _tmp419_);
1535
_tmp421_ = _tmp420_;
1536
_tmp422_ = vala_ccode_constant_new (_tmp421_);
1537
_tmp423_ = _tmp422_;
1538
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp418_, (ValaCCodeExpression*) _tmp423_);
1539
_vala_ccode_node_unref0 (_tmp423_);
1540
_g_free0 (_tmp421_);
1543
ValaMemberAccess* _tmp424_;
1544
ValaConstant* _tmp425_;
1545
gchar* _tmp426_ = NULL;
1547
ValaCCodeIdentifier* _tmp428_;
1548
ValaCCodeIdentifier* _tmp429_;
1551
_tmp426_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp425_);
1552
_tmp427_ = _tmp426_;
1553
_tmp428_ = vala_ccode_identifier_new (_tmp427_);
1554
_tmp429_ = _tmp428_;
1555
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp424_, (ValaCCodeExpression*) _tmp429_);
1556
_vala_ccode_node_unref0 (_tmp429_);
1557
_g_free0 (_tmp427_);
1561
_tmp430_ = array_type;
1562
if (_tmp430_ != NULL) {
1563
ValaCCodeIdentifier* _tmp431_;
1564
ValaCCodeIdentifier* _tmp432_;
1565
ValaCCodeFunctionCall* _tmp433_;
1566
ValaCCodeFunctionCall* _tmp434_;
1567
ValaCCodeFunctionCall* ccall;
1568
ValaCCodeFunctionCall* _tmp435_;
1569
ValaConstant* _tmp436_;
1570
gchar* _tmp437_ = NULL;
1572
ValaCCodeIdentifier* _tmp439_;
1573
ValaCCodeIdentifier* _tmp440_;
1574
ValaMemberAccess* _tmp441_;
1575
ValaCCodeFunctionCall* _tmp442_;
1576
_tmp431_ = vala_ccode_identifier_new ("G_N_ELEMENTS");
1577
_tmp432_ = _tmp431_;
1578
_tmp433_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp432_);
1579
_tmp434_ = _tmp433_;
1580
_vala_ccode_node_unref0 (_tmp432_);
1584
_tmp437_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp436_);
1585
_tmp438_ = _tmp437_;
1586
_tmp439_ = vala_ccode_identifier_new (_tmp438_);
1587
_tmp440_ = _tmp439_;
1588
vala_ccode_function_call_add_argument (_tmp435_, (ValaCCodeExpression*) _tmp440_);
1589
_vala_ccode_node_unref0 (_tmp440_);
1590
_g_free0 (_tmp438_);
1593
vala_ccode_base_module_append_array_length ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp441_, (ValaCCodeExpression*) _tmp442_);
1594
_vala_ccode_node_unref0 (ccall);
1597
_vala_code_node_unref0 (c);
1599
ValaMemberAccess* _tmp443_;
1600
ValaSymbol* _tmp444_;
1601
ValaSymbol* _tmp445_;
1603
_tmp444_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp443_);
1604
_tmp445_ = _tmp444_;
1605
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp445_, VALA_TYPE_PROPERTY)) {
1606
ValaMemberAccess* _tmp446_;
1607
ValaSymbol* _tmp447_;
1608
ValaSymbol* _tmp448_;
1609
ValaProperty* _tmp449_;
1611
ValaProperty* _tmp450_;
1612
ValaMemberAccess* _tmp466_;
1613
ValaExpression* _tmp467_;
1614
ValaExpression* _tmp468_;
1615
ValaMemberAccess* _tmp802_;
1616
ValaTargetValue* _tmp803_;
1617
ValaTargetValue* _tmp804_;
1618
ValaMemberAccess* _tmp805_;
1619
ValaDataType* _tmp806_;
1620
ValaDataType* _tmp807_;
1621
ValaMemberAccess* _tmp808_;
1622
ValaMemberAccess* _tmp809_;
1623
ValaTargetValue* _tmp810_;
1624
ValaTargetValue* _tmp811_;
1625
ValaMemberAccess* _tmp812_;
1626
ValaTargetValue* _tmp813_ = NULL;
1627
ValaTargetValue* _tmp814_;
1629
_tmp447_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp446_);
1630
_tmp448_ = _tmp447_;
1631
_tmp449_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp448_, VALA_TYPE_PROPERTY, ValaProperty));
1634
if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp450_, VALA_TYPE_DYNAMIC_PROPERTY)) {
1635
ValaProperty* _tmp451_;
1636
ValaPropertyAccessor* _tmp452_;
1637
ValaPropertyAccessor* _tmp453_;
1638
ValaCCodeFile* _tmp454_;
1639
gboolean _tmp455_ = FALSE;
1640
ValaProperty* _tmp456_;
1645
_tmp452_ = vala_property_get_get_accessor (_tmp451_);
1646
_tmp453_ = _tmp452_;
1647
_tmp454_ = ((ValaCCodeBaseModule*) self)->cfile;
1648
vala_ccode_base_module_generate_property_accessor_declaration ((ValaCCodeBaseModule*) self, _tmp453_, _tmp454_);
1650
_tmp457_ = vala_symbol_get_external ((ValaSymbol*) _tmp456_);
1651
_tmp458_ = _tmp457_;
1653
ValaProperty* _tmp459_;
1657
_tmp460_ = vala_symbol_get_external_package ((ValaSymbol*) _tmp459_);
1658
_tmp461_ = _tmp460_;
1659
_tmp455_ = _tmp461_;
1663
_tmp462_ = _tmp455_;
1665
ValaProperty* _tmp463_;
1666
gboolean _tmp464_ = FALSE;
1668
_tmp464_ = vala_ccode_base_module_add_generated_external_symbol ((ValaCCodeBaseModule*) self, (ValaSymbol*) _tmp463_);
1670
ValaProperty* _tmp465_;
1672
vala_code_visitor_visit_property ((ValaCodeVisitor*) self, _tmp465_);
1677
_tmp467_ = vala_member_access_get_inner (_tmp466_);
1678
_tmp468_ = _tmp467_;
1679
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp468_, VALA_TYPE_BASE_ACCESS)) {
1680
ValaProperty* _tmp469_;
1681
ValaProperty* _tmp470_;
1682
ValaProperty* _tmp471_;
1684
_tmp470_ = vala_property_get_base_property (_tmp469_);
1685
_tmp471_ = _tmp470_;
1686
if (_tmp471_ != NULL) {
1687
ValaProperty* _tmp472_;
1688
ValaProperty* _tmp473_;
1689
ValaProperty* _tmp474_;
1690
ValaSymbol* _tmp475_;
1691
ValaSymbol* _tmp476_;
1692
ValaClass* _tmp477_;
1693
ValaClass* base_class;
1694
ValaClass* _tmp478_;
1695
gchar* _tmp479_ = NULL;
1697
gchar* _tmp481_ = NULL;
1699
ValaCCodeIdentifier* _tmp483_;
1700
ValaCCodeIdentifier* _tmp484_;
1701
ValaCCodeFunctionCall* _tmp485_;
1702
ValaCCodeFunctionCall* _tmp486_;
1703
ValaCCodeFunctionCall* vcast;
1704
ValaCCodeFunctionCall* _tmp487_;
1705
ValaClass* _tmp488_;
1706
ValaClass* _tmp489_;
1707
gchar* _tmp490_ = NULL;
1709
gchar* _tmp492_ = NULL;
1711
ValaCCodeIdentifier* _tmp494_;
1712
ValaCCodeIdentifier* _tmp495_;
1713
ValaCCodeFunctionCall* _tmp496_;
1714
ValaProperty* _tmp497_;
1715
const gchar* _tmp498_;
1716
const gchar* _tmp499_;
1717
gchar* _tmp500_ = NULL;
1719
ValaCCodeMemberAccess* _tmp502_;
1720
ValaCCodeMemberAccess* _tmp503_;
1721
ValaCCodeFunctionCall* _tmp504_;
1722
ValaCCodeFunctionCall* _tmp505_;
1723
ValaCCodeFunctionCall* ccall;
1724
ValaCCodeFunctionCall* _tmp506_;
1725
ValaMemberAccess* _tmp507_;
1726
ValaExpression* _tmp508_;
1727
ValaExpression* _tmp509_;
1728
ValaCCodeExpression* _tmp510_ = NULL;
1729
ValaCCodeExpression* _tmp511_;
1730
ValaMemberAccess* _tmp512_;
1731
ValaCCodeFunctionCall* _tmp513_;
1733
_tmp473_ = vala_property_get_base_property (_tmp472_);
1734
_tmp474_ = _tmp473_;
1735
_tmp475_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp474_);
1736
_tmp476_ = _tmp475_;
1737
_tmp477_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp476_, VALA_TYPE_CLASS, ValaClass));
1738
base_class = _tmp477_;
1739
_tmp478_ = base_class;
1740
_tmp479_ = vala_ccode_base_module_get_ccode_upper_case_name ((ValaSymbol*) _tmp478_, NULL);
1741
_tmp480_ = _tmp479_;
1742
_tmp481_ = g_strdup_printf ("%s_CLASS", _tmp480_);
1743
_tmp482_ = _tmp481_;
1744
_tmp483_ = vala_ccode_identifier_new (_tmp482_);
1745
_tmp484_ = _tmp483_;
1746
_tmp485_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp484_);
1747
_tmp486_ = _tmp485_;
1748
_vala_ccode_node_unref0 (_tmp484_);
1749
_g_free0 (_tmp482_);
1750
_g_free0 (_tmp480_);
1753
_tmp488_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
1754
_tmp489_ = _tmp488_;
1755
_tmp490_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp489_, NULL);
1756
_tmp491_ = _tmp490_;
1757
_tmp492_ = g_strdup_printf ("%s_parent_class", _tmp491_);
1758
_tmp493_ = _tmp492_;
1759
_tmp494_ = vala_ccode_identifier_new (_tmp493_);
1760
_tmp495_ = _tmp494_;
1761
vala_ccode_function_call_add_argument (_tmp487_, (ValaCCodeExpression*) _tmp495_);
1762
_vala_ccode_node_unref0 (_tmp495_);
1763
_g_free0 (_tmp493_);
1764
_g_free0 (_tmp491_);
1767
_tmp498_ = vala_symbol_get_name ((ValaSymbol*) _tmp497_);
1768
_tmp499_ = _tmp498_;
1769
_tmp500_ = g_strdup_printf ("get_%s", _tmp499_);
1770
_tmp501_ = _tmp500_;
1771
_tmp502_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp496_, _tmp501_);
1772
_tmp503_ = _tmp502_;
1773
_tmp504_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp503_);
1774
_tmp505_ = _tmp504_;
1775
_vala_ccode_node_unref0 (_tmp503_);
1776
_g_free0 (_tmp501_);
1780
_tmp508_ = vala_member_access_get_inner (_tmp507_);
1781
_tmp509_ = _tmp508_;
1782
_tmp510_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp509_);
1783
_tmp511_ = _tmp510_;
1784
vala_ccode_function_call_add_argument (_tmp506_, _tmp511_);
1785
_vala_ccode_node_unref0 (_tmp511_);
1788
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp512_, (ValaCCodeExpression*) _tmp513_);
1789
_vala_ccode_node_unref0 (ccall);
1790
_vala_ccode_node_unref0 (vcast);
1791
_vala_code_node_unref0 (base_class);
1793
ValaProperty* _tmp514_;
1794
ValaProperty* _tmp515_;
1795
ValaProperty* _tmp516_;
1797
_tmp515_ = vala_property_get_base_interface_property (_tmp514_);
1798
_tmp516_ = _tmp515_;
1799
if (_tmp516_ != NULL) {
1800
ValaProperty* _tmp517_;
1801
ValaProperty* _tmp518_;
1802
ValaProperty* _tmp519_;
1803
ValaSymbol* _tmp520_;
1804
ValaSymbol* _tmp521_;
1805
ValaInterface* _tmp522_;
1806
ValaInterface* base_iface;
1807
ValaClass* _tmp523_;
1808
ValaClass* _tmp524_;
1809
gchar* _tmp525_ = NULL;
1811
ValaInterface* _tmp527_;
1812
gchar* _tmp528_ = NULL;
1814
gchar* _tmp530_ = NULL;
1816
gchar* parent_iface_var;
1817
const gchar* _tmp532_;
1818
ValaCCodeIdentifier* _tmp533_;
1819
ValaCCodeIdentifier* _tmp534_;
1820
ValaProperty* _tmp535_;
1821
const gchar* _tmp536_;
1822
const gchar* _tmp537_;
1823
gchar* _tmp538_ = NULL;
1825
ValaCCodeMemberAccess* _tmp540_;
1826
ValaCCodeMemberAccess* _tmp541_;
1827
ValaCCodeFunctionCall* _tmp542_;
1828
ValaCCodeFunctionCall* _tmp543_;
1829
ValaCCodeFunctionCall* ccall;
1830
ValaCCodeFunctionCall* _tmp544_;
1831
ValaMemberAccess* _tmp545_;
1832
ValaExpression* _tmp546_;
1833
ValaExpression* _tmp547_;
1834
ValaCCodeExpression* _tmp548_ = NULL;
1835
ValaCCodeExpression* _tmp549_;
1836
ValaMemberAccess* _tmp550_;
1837
ValaCCodeFunctionCall* _tmp551_;
1839
_tmp518_ = vala_property_get_base_interface_property (_tmp517_);
1840
_tmp519_ = _tmp518_;
1841
_tmp520_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp519_);
1842
_tmp521_ = _tmp520_;
1843
_tmp522_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp521_, VALA_TYPE_INTERFACE, ValaInterface));
1844
base_iface = _tmp522_;
1845
_tmp523_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
1846
_tmp524_ = _tmp523_;
1847
_tmp525_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp524_, NULL);
1848
_tmp526_ = _tmp525_;
1849
_tmp527_ = base_iface;
1850
_tmp528_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp527_, NULL);
1851
_tmp529_ = _tmp528_;
1852
_tmp530_ = g_strdup_printf ("%s_%s_parent_iface", _tmp526_, _tmp529_);
1853
_tmp531_ = _tmp530_;
1854
_g_free0 (_tmp529_);
1855
_g_free0 (_tmp526_);
1856
parent_iface_var = _tmp531_;
1857
_tmp532_ = parent_iface_var;
1858
_tmp533_ = vala_ccode_identifier_new (_tmp532_);
1859
_tmp534_ = _tmp533_;
1861
_tmp536_ = vala_symbol_get_name ((ValaSymbol*) _tmp535_);
1862
_tmp537_ = _tmp536_;
1863
_tmp538_ = g_strdup_printf ("get_%s", _tmp537_);
1864
_tmp539_ = _tmp538_;
1865
_tmp540_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp534_, _tmp539_);
1866
_tmp541_ = _tmp540_;
1867
_tmp542_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp541_);
1868
_tmp543_ = _tmp542_;
1869
_vala_ccode_node_unref0 (_tmp541_);
1870
_g_free0 (_tmp539_);
1871
_vala_ccode_node_unref0 (_tmp534_);
1875
_tmp546_ = vala_member_access_get_inner (_tmp545_);
1876
_tmp547_ = _tmp546_;
1877
_tmp548_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp547_);
1878
_tmp549_ = _tmp548_;
1879
vala_ccode_function_call_add_argument (_tmp544_, _tmp549_);
1880
_vala_ccode_node_unref0 (_tmp549_);
1883
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp550_, (ValaCCodeExpression*) _tmp551_);
1884
_vala_ccode_node_unref0 (ccall);
1885
_g_free0 (parent_iface_var);
1886
_vala_code_node_unref0 (base_iface);
1890
gboolean _tmp552_ = FALSE;
1891
gboolean _tmp553_ = FALSE;
1892
gboolean _tmp554_ = FALSE;
1893
gboolean _tmp555_ = FALSE;
1894
gboolean _tmp556_ = FALSE;
1895
gboolean _tmp557_ = FALSE;
1896
gboolean _tmp558_ = FALSE;
1897
ValaProperty* _tmp559_;
1898
ValaMemberBinding _tmp560_;
1899
ValaMemberBinding _tmp561_;
1908
_tmp560_ = vala_property_get_binding (_tmp559_);
1909
_tmp561_ = _tmp560_;
1910
if (_tmp561_ == VALA_MEMBER_BINDING_INSTANCE) {
1911
ValaProperty* _tmp562_;
1912
ValaPropertyAccessor* _tmp563_;
1913
ValaPropertyAccessor* _tmp564_;
1917
_tmp563_ = vala_property_get_get_accessor (_tmp562_);
1918
_tmp564_ = _tmp563_;
1919
_tmp565_ = vala_property_accessor_get_automatic_body (_tmp564_);
1920
_tmp566_ = _tmp565_;
1921
_tmp558_ = _tmp566_;
1925
_tmp567_ = _tmp558_;
1927
ValaProperty* _tmp568_;
1928
ValaPropertyAccessor* _tmp569_;
1929
ValaPropertyAccessor* _tmp570_;
1930
ValaDataType* _tmp571_;
1931
ValaDataType* _tmp572_;
1935
_tmp569_ = vala_property_get_get_accessor (_tmp568_);
1936
_tmp570_ = _tmp569_;
1937
_tmp571_ = vala_property_accessor_get_value_type (_tmp570_);
1938
_tmp572_ = _tmp571_;
1939
_tmp573_ = vala_data_type_get_value_owned (_tmp572_);
1940
_tmp574_ = _tmp573_;
1941
_tmp557_ = !_tmp574_;
1945
_tmp575_ = _tmp557_;
1947
ValaTypeSymbol* _tmp576_;
1948
ValaTypeSymbol* _tmp577_;
1949
ValaProperty* _tmp578_;
1950
ValaSymbol* _tmp579_;
1951
ValaSymbol* _tmp580_;
1952
_tmp576_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
1953
_tmp577_ = _tmp576_;
1955
_tmp579_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp578_);
1956
_tmp580_ = _tmp579_;
1957
_tmp556_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp577_, VALA_TYPE_SYMBOL, ValaSymbol) == _tmp580_;
1961
_tmp581_ = _tmp556_;
1963
ValaTypeSymbol* _tmp582_;
1964
ValaTypeSymbol* _tmp583_;
1965
_tmp582_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
1966
_tmp583_ = _tmp582_;
1967
_tmp555_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp583_, VALA_TYPE_CLASS);
1971
_tmp584_ = _tmp555_;
1973
ValaProperty* _tmp585_;
1974
ValaProperty* _tmp586_;
1975
ValaProperty* _tmp587_;
1977
_tmp586_ = vala_property_get_base_property (_tmp585_);
1978
_tmp587_ = _tmp586_;
1979
_tmp554_ = _tmp587_ == NULL;
1983
_tmp588_ = _tmp554_;
1985
ValaProperty* _tmp589_;
1986
ValaProperty* _tmp590_;
1987
ValaProperty* _tmp591_;
1989
_tmp590_ = vala_property_get_base_interface_property (_tmp589_);
1990
_tmp591_ = _tmp590_;
1991
_tmp553_ = _tmp591_ == NULL;
1995
_tmp592_ = _tmp553_;
1997
gboolean _tmp593_ = FALSE;
1998
ValaProperty* _tmp594_;
1999
ValaDataType* _tmp595_;
2000
ValaDataType* _tmp596_;
2003
_tmp595_ = vala_property_get_property_type (_tmp594_);
2004
_tmp596_ = _tmp595_;
2005
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp596_, VALA_TYPE_ARRAY_TYPE)) {
2008
ValaProperty* _tmp597_;
2009
ValaDataType* _tmp598_;
2010
ValaDataType* _tmp599_;
2012
_tmp598_ = vala_property_get_property_type (_tmp597_);
2013
_tmp599_ = _tmp598_;
2014
_tmp593_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp599_, VALA_TYPE_DELEGATE_TYPE);
2016
_tmp600_ = _tmp593_;
2017
_tmp552_ = !_tmp600_;
2021
_tmp601_ = _tmp552_;
2023
ValaCCodeExpression* inst = NULL;
2024
ValaCCodeExpression* _tmp602_;
2025
ValaCCodeMemberAccess* _tmp603_;
2026
ValaMemberAccess* _tmp604_;
2027
ValaCCodeExpression* _tmp605_;
2028
ValaProperty* _tmp606_;
2029
ValaField* _tmp607_;
2030
ValaField* _tmp608_;
2031
gchar* _tmp609_ = NULL;
2033
ValaCCodeMemberAccess* _tmp611_;
2034
ValaCCodeMemberAccess* _tmp612_;
2035
_tmp602_ = pub_inst;
2036
_tmp603_ = vala_ccode_member_access_new_pointer (_tmp602_, "priv");
2037
_vala_ccode_node_unref0 (inst);
2038
inst = (ValaCCodeExpression*) _tmp603_;
2042
_tmp607_ = vala_property_get_field (_tmp606_);
2043
_tmp608_ = _tmp607_;
2044
_tmp609_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp608_);
2045
_tmp610_ = _tmp609_;
2046
_tmp611_ = vala_ccode_member_access_new_pointer (_tmp605_, _tmp610_);
2047
_tmp612_ = _tmp611_;
2048
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp604_, (ValaCCodeExpression*) _tmp612_);
2049
_vala_ccode_node_unref0 (_tmp612_);
2050
_g_free0 (_tmp610_);
2051
_vala_ccode_node_unref0 (inst);
2053
ValaProperty* _tmp613_;
2054
gboolean _tmp614_ = FALSE;
2056
_tmp614_ = vala_ccode_base_module_get_ccode_no_accessor_method (_tmp613_);
2058
gchar* getter_cname = NULL;
2059
ValaProperty* _tmp615_;
2060
const gchar* _tmp622_;
2061
ValaCCodeIdentifier* _tmp623_;
2062
ValaCCodeIdentifier* _tmp624_;
2063
ValaCCodeFunctionCall* _tmp625_;
2064
ValaCCodeFunctionCall* _tmp626_;
2065
ValaCCodeFunctionCall* ccall;
2066
ValaProperty* _tmp627_;
2067
ValaMemberBinding _tmp628_;
2068
ValaMemberBinding _tmp629_;
2069
ValaProperty* _tmp656_;
2070
ValaPropertyAccessor* _tmp657_;
2071
ValaPropertyAccessor* _tmp658_;
2072
ValaDataType* _tmp659_;
2073
ValaDataType* _tmp660_;
2074
ValaMemberAccess* _tmp661_;
2075
ValaTargetValue* _tmp662_ = NULL;
2076
ValaGLibValue* temp_value;
2077
ValaMemberAccess* _tmp663_;
2078
ValaGLibValue* _tmp664_;
2079
ValaTargetValue* _tmp665_ = NULL;
2080
ValaTargetValue* _tmp666_;
2081
ValaGLibValue* _tmp667_;
2082
ValaCCodeExpression* _tmp668_ = NULL;
2083
ValaCCodeExpression* ctemp;
2084
ValaProperty* _tmp669_;
2085
ValaDataType* _tmp670_;
2086
ValaDataType* _tmp671_;
2087
gboolean _tmp672_ = FALSE;
2089
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp615_, VALA_TYPE_DYNAMIC_PROPERTY)) {
2090
ValaProperty* _tmp616_;
2091
gchar* _tmp617_ = NULL;
2093
_tmp617_ = vala_ccode_base_module_get_dynamic_property_getter_cname ((ValaCCodeBaseModule*) self, G_TYPE_CHECK_INSTANCE_CAST (_tmp616_, VALA_TYPE_DYNAMIC_PROPERTY, ValaDynamicProperty));
2094
_g_free0 (getter_cname);
2095
getter_cname = _tmp617_;
2097
ValaProperty* _tmp618_;
2098
ValaPropertyAccessor* _tmp619_;
2099
ValaPropertyAccessor* _tmp620_;
2100
gchar* _tmp621_ = NULL;
2102
_tmp619_ = vala_property_get_get_accessor (_tmp618_);
2103
_tmp620_ = _tmp619_;
2104
_tmp621_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp620_);
2105
_g_free0 (getter_cname);
2106
getter_cname = _tmp621_;
2108
_tmp622_ = getter_cname;
2109
_tmp623_ = vala_ccode_identifier_new (_tmp622_);
2110
_tmp624_ = _tmp623_;
2111
_tmp625_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp624_);
2112
_tmp626_ = _tmp625_;
2113
_vala_ccode_node_unref0 (_tmp624_);
2116
_tmp628_ = vala_property_get_binding (_tmp627_);
2117
_tmp629_ = _tmp628_;
2118
if (_tmp629_ == VALA_MEMBER_BINDING_INSTANCE) {
2119
gboolean _tmp630_ = FALSE;
2120
ValaProperty* _tmp631_;
2121
ValaSymbol* _tmp632_;
2122
ValaSymbol* _tmp633_;
2124
ValaCCodeFunctionCall* _tmp654_;
2125
ValaCCodeExpression* _tmp655_;
2127
_tmp632_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp631_);
2128
_tmp633_ = _tmp632_;
2129
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp633_, VALA_TYPE_STRUCT)) {
2130
ValaProperty* _tmp634_;
2131
ValaSymbol* _tmp635_;
2132
ValaSymbol* _tmp636_;
2133
gboolean _tmp637_ = FALSE;
2135
_tmp635_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp634_);
2136
_tmp636_ = _tmp635_;
2137
_tmp637_ = vala_struct_is_simple_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp636_, VALA_TYPE_STRUCT, ValaStruct));
2138
_tmp630_ = !_tmp637_;
2142
_tmp638_ = _tmp630_;
2144
ValaMemberAccess* _tmp639_;
2145
ValaExpression* _tmp640_;
2146
ValaExpression* _tmp641_;
2147
ValaTargetValue* _tmp642_;
2148
ValaTargetValue* _tmp643_;
2149
ValaTargetValue* _tmp644_;
2150
ValaTargetValue* instance;
2151
ValaTargetValue* _tmp645_;
2152
gboolean _tmp646_ = FALSE;
2153
ValaTargetValue* _tmp650_;
2154
ValaCCodeExpression* _tmp651_ = NULL;
2155
ValaCCodeExpression* _tmp652_;
2156
ValaCCodeUnaryExpression* _tmp653_;
2158
_tmp640_ = vala_member_access_get_inner (_tmp639_);
2159
_tmp641_ = _tmp640_;
2160
_tmp642_ = vala_expression_get_target_value (_tmp641_);
2161
_tmp643_ = _tmp642_;
2162
_tmp644_ = _vala_target_value_ref0 (_tmp643_);
2163
instance = _tmp644_;
2164
_tmp645_ = instance;
2165
_tmp646_ = vala_ccode_base_module_get_lvalue ((ValaCCodeBaseModule*) self, _tmp645_);
2167
ValaTargetValue* _tmp647_;
2168
ValaMemberAccess* _tmp648_;
2169
ValaTargetValue* _tmp649_ = NULL;
2170
_tmp647_ = instance;
2172
_tmp649_ = vala_ccode_base_module_store_temp_value ((ValaCCodeBaseModule*) self, _tmp647_, (ValaCodeNode*) _tmp648_, NULL);
2173
_vala_target_value_unref0 (instance);
2174
instance = _tmp649_;
2176
_tmp650_ = instance;
2177
_tmp651_ = vala_ccode_base_module_get_cvalue_ ((ValaCCodeBaseModule*) self, _tmp650_);
2178
_tmp652_ = _tmp651_;
2179
_tmp653_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp652_);
2180
_vala_ccode_node_unref0 (pub_inst);
2181
pub_inst = (ValaCCodeExpression*) _tmp653_;
2182
_vala_ccode_node_unref0 (_tmp652_);
2183
_vala_target_value_unref0 (instance);
2186
_tmp655_ = pub_inst;
2187
vala_ccode_function_call_add_argument (_tmp654_, _tmp655_);
2190
_tmp657_ = vala_property_get_get_accessor (_tmp656_);
2191
_tmp658_ = _tmp657_;
2192
_tmp659_ = vala_property_accessor_get_value_type (_tmp658_);
2193
_tmp660_ = _tmp659_;
2195
_tmp662_ = vala_ccode_base_module_create_temp_value ((ValaCCodeBaseModule*) self, _tmp660_, FALSE, (ValaCodeNode*) _tmp661_, NULL);
2196
temp_value = G_TYPE_CHECK_INSTANCE_CAST (_tmp662_, VALA_TYPE_GLIB_VALUE, ValaGLibValue);
2198
_tmp664_ = temp_value;
2199
_tmp665_ = vala_ccode_base_module_load_temp_value ((ValaCCodeBaseModule*) self, (ValaTargetValue*) _tmp664_);
2200
_tmp666_ = _tmp665_;
2201
vala_expression_set_target_value ((ValaExpression*) _tmp663_, _tmp666_);
2202
_vala_target_value_unref0 (_tmp666_);
2203
_tmp667_ = temp_value;
2204
_tmp668_ = vala_ccode_base_module_get_cvalue_ ((ValaCCodeBaseModule*) self, (ValaTargetValue*) _tmp667_);
2207
_tmp670_ = vala_property_get_property_type (_tmp669_);
2208
_tmp671_ = _tmp670_;
2209
_tmp672_ = vala_data_type_is_real_non_null_struct_type (_tmp671_);
2211
ValaCCodeFunctionCall* _tmp673_;
2212
ValaCCodeExpression* _tmp674_;
2213
ValaCCodeUnaryExpression* _tmp675_;
2214
ValaCCodeUnaryExpression* _tmp676_;
2215
ValaCCodeFunction* _tmp677_;
2216
ValaCCodeFunction* _tmp678_;
2217
ValaCCodeFunctionCall* _tmp679_;
2220
_tmp675_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp674_);
2221
_tmp676_ = _tmp675_;
2222
vala_ccode_function_call_add_argument (_tmp673_, (ValaCCodeExpression*) _tmp676_);
2223
_vala_ccode_node_unref0 (_tmp676_);
2224
_tmp677_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2225
_tmp678_ = _tmp677_;
2227
vala_ccode_function_add_expression (_tmp678_, (ValaCCodeExpression*) _tmp679_);
2229
ValaCCodeFunction* _tmp680_;
2230
ValaCCodeFunction* _tmp681_;
2231
ValaCCodeExpression* _tmp682_;
2232
ValaCCodeFunctionCall* _tmp683_;
2233
ValaProperty* _tmp684_;
2234
ValaDataType* _tmp685_;
2235
ValaDataType* _tmp686_;
2236
ValaArrayType* _tmp687_;
2237
ValaArrayType* _tmp688_;
2238
_tmp680_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2239
_tmp681_ = _tmp680_;
2242
vala_ccode_function_add_assignment (_tmp681_, _tmp682_, (ValaCCodeExpression*) _tmp683_);
2244
_tmp685_ = vala_property_get_property_type (_tmp684_);
2245
_tmp686_ = _tmp685_;
2246
_tmp687_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp686_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp686_) : NULL);
2247
_vala_code_node_unref0 (array_type);
2248
array_type = _tmp687_;
2249
_tmp688_ = array_type;
2250
if (_tmp688_ != NULL) {
2251
ValaProperty* _tmp689_;
2252
gboolean _tmp690_ = FALSE;
2254
_tmp690_ = vala_ccode_base_module_get_ccode_array_null_terminated ((ValaCodeNode*) _tmp689_);
2256
ValaCCodeIdentifier* _tmp691_;
2257
ValaCCodeIdentifier* _tmp692_;
2258
ValaCCodeFunctionCall* _tmp693_;
2259
ValaCCodeFunctionCall* _tmp694_;
2260
ValaCCodeFunctionCall* len_call;
2261
ValaCCodeFunctionCall* _tmp695_;
2262
ValaCCodeExpression* _tmp696_;
2263
ValaCCodeFunction* _tmp697_;
2264
ValaCCodeFunction* _tmp698_;
2265
ValaGLibValue* _tmp699_;
2267
gpointer _tmp701_ = NULL;
2268
ValaCCodeExpression* _tmp702_;
2269
ValaCCodeFunctionCall* _tmp703_;
2270
((ValaCCodeBaseModule*) self)->requires_array_length = TRUE;
2271
_tmp691_ = vala_ccode_identifier_new ("_vala_array_length");
2272
_tmp692_ = _tmp691_;
2273
_tmp693_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp692_);
2274
_tmp694_ = _tmp693_;
2275
_vala_ccode_node_unref0 (_tmp692_);
2276
len_call = _tmp694_;
2277
_tmp695_ = len_call;
2279
vala_ccode_function_call_add_argument (_tmp695_, _tmp696_);
2280
_tmp697_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2281
_tmp698_ = _tmp697_;
2282
_tmp699_ = temp_value;
2283
_tmp700_ = _tmp699_->array_length_cvalues;
2284
_tmp701_ = vala_list_get (_tmp700_, 0);
2285
_tmp702_ = (ValaCCodeExpression*) _tmp701_;
2286
_tmp703_ = len_call;
2287
vala_ccode_function_add_assignment (_tmp698_, _tmp702_, (ValaCCodeExpression*) _tmp703_);
2288
_vala_ccode_node_unref0 (_tmp702_);
2289
_vala_ccode_node_unref0 (len_call);
2291
ValaProperty* _tmp704_;
2292
gboolean _tmp705_ = FALSE;
2294
_tmp705_ = vala_ccode_base_module_get_ccode_array_length ((ValaCodeNode*) _tmp704_);
2305
ValaArrayType* _tmp710_;
2308
ValaCCodeFunctionCall* _tmp713_;
2309
ValaGLibValue* _tmp714_;
2311
ValaCCodeExpression* _tmp716_ = NULL;
2312
ValaCCodeExpression* _tmp717_;
2313
ValaCCodeUnaryExpression* _tmp718_;
2314
ValaCCodeUnaryExpression* _tmp719_;
2315
_tmp707_ = _tmp706_;
2323
_tmp710_ = array_type;
2324
_tmp711_ = vala_array_type_get_rank (_tmp710_);
2325
_tmp712_ = _tmp711_;
2326
if (!(_tmp709_ <= _tmp712_)) {
2330
_tmp714_ = temp_value;
2332
_tmp716_ = vala_ccode_base_module_get_array_length_cvalue ((ValaCCodeBaseModule*) self, (ValaTargetValue*) _tmp714_, _tmp715_);
2333
_tmp717_ = _tmp716_;
2334
_tmp718_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp717_);
2335
_tmp719_ = _tmp718_;
2336
vala_ccode_function_call_add_argument (_tmp713_, (ValaCCodeExpression*) _tmp719_);
2337
_vala_ccode_node_unref0 (_tmp719_);
2338
_vala_ccode_node_unref0 (_tmp717_);
2345
ValaProperty* _tmp720_;
2346
ValaDataType* _tmp721_;
2347
ValaDataType* _tmp722_;
2348
ValaDelegateType* _tmp723_;
2349
gboolean _tmp724_ = FALSE;
2350
ValaDelegateType* _tmp725_;
2353
_tmp721_ = vala_property_get_property_type (_tmp720_);
2354
_tmp722_ = _tmp721_;
2355
_tmp723_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp722_, VALA_TYPE_DELEGATE_TYPE) ? ((ValaDelegateType*) _tmp722_) : NULL);
2356
_vala_code_node_unref0 (delegate_type);
2357
delegate_type = _tmp723_;
2358
_tmp725_ = delegate_type;
2359
if (_tmp725_ != NULL) {
2360
ValaDelegateType* _tmp726_;
2361
ValaDelegate* _tmp727_;
2362
ValaDelegate* _tmp728_;
2365
_tmp726_ = delegate_type;
2366
_tmp727_ = vala_delegate_type_get_delegate_symbol (_tmp726_);
2367
_tmp728_ = _tmp727_;
2368
_tmp729_ = vala_delegate_get_has_target (_tmp728_);
2369
_tmp730_ = _tmp729_;
2370
_tmp724_ = _tmp730_;
2374
_tmp731_ = _tmp724_;
2376
ValaCCodeFunctionCall* _tmp732_;
2377
ValaGLibValue* _tmp733_;
2378
ValaCCodeExpression* _tmp734_ = NULL;
2379
ValaCCodeExpression* _tmp735_;
2380
ValaCCodeUnaryExpression* _tmp736_;
2381
ValaCCodeUnaryExpression* _tmp737_;
2383
_tmp733_ = temp_value;
2384
_tmp734_ = vala_ccode_base_module_get_delegate_target_cvalue ((ValaCCodeBaseModule*) self, (ValaTargetValue*) _tmp733_);
2385
_tmp735_ = _tmp734_;
2386
_tmp736_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp735_);
2387
_tmp737_ = _tmp736_;
2388
vala_ccode_function_call_add_argument (_tmp732_, (ValaCCodeExpression*) _tmp737_);
2389
_vala_ccode_node_unref0 (_tmp737_);
2390
_vala_ccode_node_unref0 (_tmp735_);
2394
_vala_ccode_node_unref0 (ctemp);
2395
_vala_target_value_unref0 (temp_value);
2396
_vala_ccode_node_unref0 (ccall);
2397
_g_free0 (getter_cname);
2399
ValaCCodeIdentifier* _tmp738_;
2400
ValaCCodeIdentifier* _tmp739_;
2401
ValaCCodeFunctionCall* _tmp740_;
2402
ValaCCodeFunctionCall* _tmp741_;
2403
ValaCCodeFunctionCall* ccall;
2404
ValaCCodeFunctionCall* _tmp742_;
2405
ValaCCodeExpression* _tmp743_;
2406
ValaCCodeFunctionCall* _tmp744_;
2407
ValaProperty* _tmp745_;
2408
ValaCCodeConstant* _tmp746_ = NULL;
2409
ValaCCodeConstant* _tmp747_;
2410
ValaProperty* _tmp748_;
2411
ValaPropertyAccessor* _tmp749_;
2412
ValaPropertyAccessor* _tmp750_;
2413
ValaDataType* _tmp751_;
2414
ValaDataType* _tmp752_;
2417
ValaMemberAccess* _tmp774_;
2418
ValaDataType* _tmp775_;
2419
ValaDataType* _tmp776_;
2420
gboolean _tmp777_ = FALSE;
2421
ValaMemberAccess* _tmp781_;
2422
ValaDataType* _tmp782_;
2423
ValaDataType* _tmp783_;
2424
ValaLocalVariable* _tmp784_ = NULL;
2425
ValaLocalVariable* temp_var;
2426
ValaLocalVariable* _tmp785_;
2427
const gchar* _tmp786_;
2428
const gchar* _tmp787_;
2429
ValaCCodeExpression* _tmp788_ = NULL;
2430
ValaCCodeExpression* ctemp;
2431
ValaLocalVariable* _tmp789_;
2432
ValaCCodeFunctionCall* _tmp790_;
2433
ValaCCodeExpression* _tmp791_;
2434
ValaCCodeUnaryExpression* _tmp792_;
2435
ValaCCodeUnaryExpression* _tmp793_;
2436
ValaCCodeFunctionCall* _tmp794_;
2437
ValaCCodeConstant* _tmp795_;
2438
ValaCCodeConstant* _tmp796_;
2439
ValaCCodeFunction* _tmp797_;
2440
ValaCCodeFunction* _tmp798_;
2441
ValaCCodeFunctionCall* _tmp799_;
2442
ValaMemberAccess* _tmp800_;
2443
ValaCCodeExpression* _tmp801_;
2444
_tmp738_ = vala_ccode_identifier_new ("g_object_get");
2445
_tmp739_ = _tmp738_;
2446
_tmp740_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp739_);
2447
_tmp741_ = _tmp740_;
2448
_vala_ccode_node_unref0 (_tmp739_);
2451
_tmp743_ = pub_inst;
2452
vala_ccode_function_call_add_argument (_tmp742_, _tmp743_);
2455
_tmp746_ = vala_ccode_base_module_get_property_canonical_cconstant ((ValaCCodeBaseModule*) self, _tmp745_);
2456
_tmp747_ = _tmp746_;
2457
vala_ccode_function_call_add_argument (_tmp744_, (ValaCCodeExpression*) _tmp747_);
2458
_vala_ccode_node_unref0 (_tmp747_);
2460
_tmp749_ = vala_property_get_get_accessor (_tmp748_);
2461
_tmp750_ = _tmp749_;
2462
_tmp751_ = vala_property_accessor_get_value_type (_tmp750_);
2463
_tmp752_ = _tmp751_;
2464
_tmp753_ = vala_data_type_get_value_owned (_tmp752_);
2465
_tmp754_ = _tmp753_;
2467
ValaProperty* _tmp755_;
2468
ValaPropertyAccessor* _tmp756_;
2469
ValaPropertyAccessor* _tmp757_;
2470
ValaDataType* _tmp758_;
2471
ValaDataType* _tmp759_;
2472
ValaDataType* _tmp760_ = NULL;
2473
ValaDataType* owned_value_type;
2474
ValaDataType* _tmp761_;
2475
ValaDataType* _tmp762_;
2476
gboolean _tmp763_ = FALSE;
2478
_tmp756_ = vala_property_get_get_accessor (_tmp755_);
2479
_tmp757_ = _tmp756_;
2480
_tmp758_ = vala_property_accessor_get_value_type (_tmp757_);
2481
_tmp759_ = _tmp758_;
2482
_tmp760_ = vala_data_type_copy (_tmp759_);
2483
owned_value_type = _tmp760_;
2484
_tmp761_ = owned_value_type;
2485
vala_data_type_set_value_owned (_tmp761_, TRUE);
2486
_tmp762_ = owned_value_type;
2487
_tmp763_ = vala_ccode_base_module_requires_copy ((ValaCCodeBaseModule*) self, _tmp762_);
2489
ValaProperty* _tmp764_;
2490
ValaPropertyAccessor* _tmp765_;
2491
ValaPropertyAccessor* _tmp766_;
2492
ValaSourceReference* _tmp767_;
2493
ValaSourceReference* _tmp768_;
2494
ValaProperty* _tmp769_;
2495
gchar* _tmp770_ = NULL;
2497
gchar* _tmp772_ = NULL;
2500
_tmp765_ = vala_property_get_get_accessor (_tmp764_);
2501
_tmp766_ = _tmp765_;
2502
_tmp767_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp766_);
2503
_tmp768_ = _tmp767_;
2505
_tmp770_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp769_);
2506
_tmp771_ = _tmp770_;
2507
_tmp772_ = g_strdup_printf ("unowned return value for getter of property `%s' not supported without" \
2508
" accessor", _tmp771_);
2509
_tmp773_ = _tmp772_;
2510
vala_report_error (_tmp768_, _tmp773_);
2511
_g_free0 (_tmp773_);
2512
_g_free0 (_tmp771_);
2514
_vala_code_node_unref0 (owned_value_type);
2517
_tmp775_ = vala_expression_get_value_type ((ValaExpression*) _tmp774_);
2518
_tmp776_ = _tmp775_;
2519
_tmp777_ = vala_data_type_is_real_struct_type (_tmp776_);
2521
ValaMemberAccess* _tmp778_;
2522
ValaDataType* _tmp779_;
2523
ValaDataType* _tmp780_;
2525
_tmp779_ = vala_expression_get_value_type ((ValaExpression*) _tmp778_);
2526
_tmp780_ = _tmp779_;
2527
vala_data_type_set_nullable (_tmp780_, TRUE);
2530
_tmp782_ = vala_expression_get_value_type ((ValaExpression*) _tmp781_);
2531
_tmp783_ = _tmp782_;
2532
_tmp784_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, _tmp783_, TRUE, NULL, TRUE);
2533
temp_var = _tmp784_;
2534
_tmp785_ = temp_var;
2535
_tmp786_ = vala_symbol_get_name ((ValaSymbol*) _tmp785_);
2536
_tmp787_ = _tmp786_;
2537
_tmp788_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp787_);
2539
_tmp789_ = temp_var;
2540
vala_ccode_base_module_emit_temp_var ((ValaCCodeBaseModule*) self, _tmp789_);
2543
_tmp792_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp791_);
2544
_tmp793_ = _tmp792_;
2545
vala_ccode_function_call_add_argument (_tmp790_, (ValaCCodeExpression*) _tmp793_);
2546
_vala_ccode_node_unref0 (_tmp793_);
2548
_tmp795_ = vala_ccode_constant_new ("NULL");
2549
_tmp796_ = _tmp795_;
2550
vala_ccode_function_call_add_argument (_tmp794_, (ValaCCodeExpression*) _tmp796_);
2551
_vala_ccode_node_unref0 (_tmp796_);
2552
_tmp797_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2553
_tmp798_ = _tmp797_;
2555
vala_ccode_function_add_expression (_tmp798_, (ValaCCodeExpression*) _tmp799_);
2558
vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) _tmp800_, _tmp801_);
2559
_vala_ccode_node_unref0 (ctemp);
2560
_vala_code_node_unref0 (temp_var);
2561
_vala_ccode_node_unref0 (ccall);
2566
_tmp803_ = vala_expression_get_target_value ((ValaExpression*) _tmp802_);
2567
_tmp804_ = _tmp803_;
2569
_tmp806_ = vala_expression_get_value_type ((ValaExpression*) _tmp805_);
2570
_tmp807_ = _tmp806_;
2571
vala_target_value_set_value_type (_tmp804_, _tmp807_);
2574
_tmp810_ = vala_expression_get_target_value ((ValaExpression*) _tmp809_);
2575
_tmp811_ = _tmp810_;
2577
_tmp813_ = vala_ccode_base_module_store_temp_value ((ValaCCodeBaseModule*) self, _tmp811_, (ValaCodeNode*) _tmp812_, NULL);
2578
_tmp814_ = _tmp813_;
2579
vala_expression_set_target_value ((ValaExpression*) _tmp808_, _tmp814_);
2580
_vala_target_value_unref0 (_tmp814_);
2581
_vala_code_node_unref0 (prop);
2583
ValaMemberAccess* _tmp815_;
2584
ValaSymbol* _tmp816_;
2585
ValaSymbol* _tmp817_;
2587
_tmp816_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp815_);
2588
_tmp817_ = _tmp816_;
2589
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp817_, VALA_TYPE_LOCAL_VARIABLE)) {
2590
ValaMemberAccess* _tmp818_;
2591
ValaSymbol* _tmp819_;
2592
ValaSymbol* _tmp820_;
2593
ValaLocalVariable* _tmp821_;
2594
ValaLocalVariable* local;
2595
gboolean _tmp822_ = FALSE;
2596
gboolean _tmp823_ = FALSE;
2597
gboolean _tmp824_ = FALSE;
2598
gboolean _tmp825_ = FALSE;
2599
gboolean _tmp826_ = FALSE;
2600
ValaMemberAccess* _tmp827_;
2601
ValaCodeNode* _tmp828_;
2602
ValaCodeNode* _tmp829_;
2609
_tmp819_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp818_);
2610
_tmp820_ = _tmp819_;
2611
_tmp821_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp820_, VALA_TYPE_LOCAL_VARIABLE, ValaLocalVariable));
2614
_tmp828_ = vala_code_node_get_parent_node ((ValaCodeNode*) _tmp827_);
2615
_tmp829_ = _tmp828_;
2616
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp829_, VALA_TYPE_RETURN_STATEMENT)) {
2617
ValaDataType* _tmp830_;
2618
ValaDataType* _tmp831_;
2621
_tmp830_ = vala_ccode_base_module_get_current_return_type ((ValaCCodeBaseModule*) self);
2622
_tmp831_ = _tmp830_;
2623
_tmp832_ = vala_data_type_get_value_owned (_tmp831_);
2624
_tmp833_ = _tmp832_;
2625
_tmp826_ = _tmp833_;
2629
_tmp834_ = _tmp826_;
2631
ValaLocalVariable* _tmp835_;
2632
ValaDataType* _tmp836_;
2633
ValaDataType* _tmp837_;
2637
_tmp836_ = vala_variable_get_variable_type ((ValaVariable*) _tmp835_);
2638
_tmp837_ = _tmp836_;
2639
_tmp838_ = vala_data_type_get_value_owned (_tmp837_);
2640
_tmp839_ = _tmp838_;
2641
_tmp825_ = _tmp839_;
2645
_tmp840_ = _tmp825_;
2647
ValaLocalVariable* _tmp841_;
2651
_tmp842_ = vala_local_variable_get_captured (_tmp841_);
2652
_tmp843_ = _tmp842_;
2653
_tmp824_ = !_tmp843_;
2657
_tmp844_ = _tmp824_;
2659
ValaLocalVariable* _tmp845_;
2660
gboolean _tmp846_ = FALSE;
2662
_tmp846_ = vala_ccode_base_module_variable_accessible_in_finally ((ValaCCodeBaseModule*) self, _tmp845_);
2663
_tmp823_ = !_tmp846_;
2667
_tmp847_ = _tmp823_;
2669
gboolean _tmp848_ = FALSE;
2670
ValaLocalVariable* _tmp849_;
2671
ValaDataType* _tmp850_;
2672
ValaDataType* _tmp851_;
2675
_tmp850_ = vala_variable_get_variable_type ((ValaVariable*) _tmp849_);
2676
_tmp851_ = _tmp850_;
2677
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp851_, VALA_TYPE_ARRAY_TYPE)) {
2678
ValaLocalVariable* _tmp852_;
2679
ValaDataType* _tmp853_;
2680
ValaDataType* _tmp854_;
2684
_tmp853_ = vala_variable_get_variable_type ((ValaVariable*) _tmp852_);
2685
_tmp854_ = _tmp853_;
2686
_tmp855_ = vala_array_type_get_inline_allocated (G_TYPE_CHECK_INSTANCE_CAST (_tmp854_, VALA_TYPE_ARRAY_TYPE, ValaArrayType));
2687
_tmp856_ = _tmp855_;
2688
_tmp848_ = _tmp856_;
2692
_tmp857_ = _tmp848_;
2693
_tmp822_ = !_tmp857_;
2697
_tmp858_ = _tmp822_;
2699
ValaMemberAccess* _tmp859_;
2700
ValaDataType* _tmp860_;
2701
ValaDataType* _tmp861_;
2702
ValaLocalVariable* _tmp862_;
2703
ValaLocalVariable* _tmp863_;
2704
ValaTargetValue* _tmp864_ = NULL;
2705
ValaGLibValue* glib_value;
2706
ValaMemberAccess* _tmp865_;
2707
ValaGLibValue* _tmp866_;
2708
ValaGLibValue* _tmp867_;
2709
ValaCCodeExpression* _tmp868_;
2710
ValaGLibValue* _tmp871_;
2711
ValaCCodeExpression* _tmp872_;
2713
_tmp860_ = vala_expression_get_value_type ((ValaExpression*) _tmp859_);
2714
_tmp861_ = _tmp860_;
2715
vala_data_type_set_value_owned (_tmp861_, TRUE);
2717
vala_symbol_set_active ((ValaSymbol*) _tmp862_, FALSE);
2719
_tmp864_ = vala_ccode_base_module_get_local_cvalue ((ValaCCodeBaseModule*) self, _tmp863_);
2720
glib_value = G_TYPE_CHECK_INSTANCE_CAST (_tmp864_, VALA_TYPE_GLIB_VALUE, ValaGLibValue);
2722
_tmp866_ = glib_value;
2723
vala_expression_set_target_value ((ValaExpression*) _tmp865_, (ValaTargetValue*) _tmp866_);
2724
_tmp867_ = glib_value;
2725
_tmp868_ = _tmp867_->delegate_target_cvalue;
2726
if (_tmp868_ == NULL) {
2727
ValaGLibValue* _tmp869_;
2728
ValaCCodeConstant* _tmp870_;
2729
_tmp869_ = glib_value;
2730
_tmp870_ = vala_ccode_constant_new ("NULL");
2731
_vala_ccode_node_unref0 (_tmp869_->delegate_target_cvalue);
2732
_tmp869_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp870_;
2734
_tmp871_ = glib_value;
2735
_tmp872_ = _tmp871_->delegate_target_destroy_notify_cvalue;
2736
if (_tmp872_ == NULL) {
2737
ValaGLibValue* _tmp873_;
2738
ValaCCodeConstant* _tmp874_;
2739
_tmp873_ = glib_value;
2740
_tmp874_ = vala_ccode_constant_new ("NULL");
2741
_vala_ccode_node_unref0 (_tmp873_->delegate_target_destroy_notify_cvalue);
2742
_tmp873_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp874_;
2744
_vala_target_value_unref0 (glib_value);
2746
ValaMemberAccess* _tmp875_;
2750
_tmp876_ = vala_expression_get_lvalue ((ValaExpression*) _tmp875_);
2751
_tmp877_ = _tmp876_;
2753
ValaMemberAccess* _tmp878_;
2754
ValaLocalVariable* _tmp879_;
2755
ValaTargetValue* _tmp880_ = NULL;
2756
ValaTargetValue* _tmp881_;
2759
_tmp880_ = vala_ccode_base_module_get_local_cvalue ((ValaCCodeBaseModule*) self, _tmp879_);
2760
_tmp881_ = _tmp880_;
2761
vala_expression_set_target_value ((ValaExpression*) _tmp878_, _tmp881_);
2762
_vala_target_value_unref0 (_tmp881_);
2764
ValaMemberAccess* _tmp882_;
2765
ValaLocalVariable* _tmp883_;
2766
ValaTargetValue* _tmp884_ = NULL;
2767
ValaTargetValue* _tmp885_;
2770
_tmp884_ = vala_code_generator_load_local ((ValaCodeGenerator*) self, _tmp883_);
2771
_tmp885_ = _tmp884_;
2772
vala_expression_set_target_value ((ValaExpression*) _tmp882_, _tmp885_);
2773
_vala_target_value_unref0 (_tmp885_);
2776
_vala_code_node_unref0 (local);
2778
ValaMemberAccess* _tmp886_;
2779
ValaSymbol* _tmp887_;
2780
ValaSymbol* _tmp888_;
2782
_tmp887_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp886_);
2783
_tmp888_ = _tmp887_;
2784
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp888_, VALA_TYPE_PARAMETER)) {
2785
ValaMemberAccess* _tmp889_;
2786
ValaSymbol* _tmp890_;
2787
ValaSymbol* _tmp891_;
2788
ValaParameter* _tmp892_;
2789
ValaParameter* param;
2790
ValaMemberAccess* _tmp893_;
2794
_tmp890_ = vala_expression_get_symbol_reference ((ValaExpression*) _tmp889_);
2795
_tmp891_ = _tmp890_;
2796
_tmp892_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp891_, VALA_TYPE_PARAMETER, ValaParameter));
2799
_tmp894_ = vala_expression_get_lvalue ((ValaExpression*) _tmp893_);
2800
_tmp895_ = _tmp894_;
2802
ValaMemberAccess* _tmp896_;
2803
ValaParameter* _tmp897_;
2804
ValaTargetValue* _tmp898_ = NULL;
2805
ValaTargetValue* _tmp899_;
2808
_tmp898_ = vala_ccode_base_module_get_parameter_cvalue ((ValaCCodeBaseModule*) self, _tmp897_);
2809
_tmp899_ = _tmp898_;
2810
vala_expression_set_target_value ((ValaExpression*) _tmp896_, _tmp899_);
2811
_vala_target_value_unref0 (_tmp899_);
2813
ValaMemberAccess* _tmp900_;
2814
ValaParameter* _tmp901_;
2815
ValaTargetValue* _tmp902_ = NULL;
2816
ValaTargetValue* _tmp903_;
2819
_tmp902_ = vala_code_generator_load_parameter ((ValaCodeGenerator*) self, _tmp901_);
2820
_tmp903_ = _tmp902_;
2821
vala_expression_set_target_value ((ValaExpression*) _tmp900_, _tmp903_);
2822
_vala_target_value_unref0 (_tmp903_);
2824
_vala_code_node_unref0 (param);
2833
_vala_code_node_unref0 (delegate_type);
2834
_vala_code_node_unref0 (array_type);
2835
_vala_ccode_node_unref0 (pub_inst);
2839
static ValaTargetValue* vala_ccode_member_access_module_real_get_local_cvalue (ValaCCodeBaseModule* base, ValaLocalVariable* local) {
2840
ValaCCodeMemberAccessModule * self;
2841
ValaTargetValue* result = NULL;
2842
ValaLocalVariable* _tmp0_;
2843
ValaDataType* _tmp1_;
2844
ValaDataType* _tmp2_;
2845
ValaDataType* _tmp3_ = NULL;
2846
ValaDataType* _tmp4_;
2847
ValaGLibValue* _tmp5_;
2848
ValaGLibValue* _tmp6_;
2849
ValaGLibValue* _result_;
2850
ValaGLibValue* _tmp7_;
2851
ValaLocalVariable* _tmp8_;
2852
ValaDataType* _tmp9_;
2853
ValaDataType* _tmp10_;
2854
ValaArrayType* _tmp11_;
2855
ValaArrayType* array_type;
2856
ValaLocalVariable* _tmp12_;
2857
ValaDataType* _tmp13_;
2858
ValaDataType* _tmp14_;
2859
ValaDelegateType* _tmp15_;
2860
ValaDelegateType* delegate_type;
2861
ValaLocalVariable* _tmp16_;
2864
self = (ValaCCodeMemberAccessModule*) base;
2865
g_return_val_if_fail (local != NULL, NULL);
2867
_tmp1_ = vala_variable_get_variable_type ((ValaVariable*) _tmp0_);
2869
_tmp3_ = vala_data_type_copy (_tmp2_);
2871
_tmp5_ = vala_glib_value_new (_tmp4_, NULL, FALSE);
2873
_vala_code_node_unref0 (_tmp4_);
2876
_tmp7_->lvalue = TRUE;
2878
_tmp9_ = vala_variable_get_variable_type ((ValaVariable*) _tmp8_);
2880
_tmp11_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp10_) : NULL);
2881
array_type = _tmp11_;
2883
_tmp13_ = vala_variable_get_variable_type ((ValaVariable*) _tmp12_);
2885
_tmp15_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, VALA_TYPE_DELEGATE_TYPE) ? ((ValaDelegateType*) _tmp14_) : NULL);
2886
delegate_type = _tmp15_;
2888
_tmp17_ = vala_local_variable_get_is_result (_tmp16_);
2891
gboolean _tmp19_ = FALSE;
2892
ValaLocalVariable* _tmp20_;
2893
ValaDataType* _tmp21_;
2894
ValaDataType* _tmp22_;
2897
_tmp21_ = vala_variable_get_variable_type ((ValaVariable*) _tmp20_);
2899
if (_tmp22_ != NULL) {
2900
ValaLocalVariable* _tmp23_;
2901
ValaDataType* _tmp24_;
2902
ValaDataType* _tmp25_;
2903
gboolean _tmp26_ = FALSE;
2905
_tmp24_ = vala_variable_get_variable_type ((ValaVariable*) _tmp23_);
2907
_tmp26_ = vala_data_type_is_real_non_null_struct_type (_tmp25_);
2914
ValaGLibValue* _tmp28_;
2915
ValaCCodeIdentifier* _tmp29_;
2916
ValaCCodeIdentifier* _tmp30_;
2917
ValaCCodeUnaryExpression* _tmp31_;
2919
_tmp29_ = vala_ccode_identifier_new ("result");
2921
_tmp31_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp30_);
2922
_vala_ccode_node_unref0 (_tmp28_->cvalue);
2923
_tmp28_->cvalue = (ValaCCodeExpression*) _tmp31_;
2924
_vala_ccode_node_unref0 (_tmp30_);
2926
ValaGLibValue* _tmp32_;
2927
ValaCCodeIdentifier* _tmp33_;
2929
_tmp33_ = vala_ccode_identifier_new ("result");
2930
_vala_ccode_node_unref0 (_tmp32_->cvalue);
2931
_tmp32_->cvalue = (ValaCCodeExpression*) _tmp33_;
2934
ValaLocalVariable* _tmp34_;
2938
_tmp35_ = vala_local_variable_get_captured (_tmp34_);
2941
ValaLocalVariable* _tmp37_;
2942
ValaSymbol* _tmp38_;
2943
ValaSymbol* _tmp39_;
2946
ValaGLibValue* _tmp41_;
2949
gchar* _tmp44_ = NULL;
2951
ValaCCodeExpression* _tmp46_ = NULL;
2952
ValaCCodeExpression* _tmp47_;
2953
ValaLocalVariable* _tmp48_;
2954
gchar* _tmp49_ = NULL;
2956
ValaCCodeMemberAccess* _tmp51_;
2957
gboolean _tmp52_ = FALSE;
2958
ValaArrayType* _tmp53_;
2961
_tmp38_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp37_);
2963
_tmp40_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, VALA_TYPE_BLOCK, ValaBlock));
2967
_tmp43_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp42_);
2968
_tmp44_ = g_strdup_printf ("_data%d_", _tmp43_);
2970
_tmp46_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp45_);
2973
_tmp49_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp48_);
2975
_tmp51_ = vala_ccode_member_access_new_pointer (_tmp47_, _tmp50_);
2976
_vala_ccode_node_unref0 (_tmp41_->cvalue);
2977
_tmp41_->cvalue = (ValaCCodeExpression*) _tmp51_;
2979
_vala_ccode_node_unref0 (_tmp47_);
2981
_tmp53_ = array_type;
2982
if (_tmp53_ != NULL) {
2983
ValaArrayType* _tmp54_;
2986
_tmp54_ = array_type;
2987
_tmp55_ = vala_array_type_get_fixed_length (_tmp54_);
2995
ValaArrayType* _tmp80_;
3007
ValaArrayType* _tmp62_;
3010
ValaGLibValue* _tmp65_;
3013
gchar* _tmp68_ = NULL;
3015
ValaCCodeExpression* _tmp70_ = NULL;
3016
ValaCCodeExpression* _tmp71_;
3017
ValaLocalVariable* _tmp72_;
3018
gchar* _tmp73_ = NULL;
3021
gchar* _tmp76_ = NULL;
3023
ValaCCodeMemberAccess* _tmp78_;
3024
ValaCCodeMemberAccess* _tmp79_;
3033
_tmp62_ = array_type;
3034
_tmp63_ = vala_array_type_get_rank (_tmp62_);
3036
if (!(_tmp61_ <= _tmp64_)) {
3041
_tmp67_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp66_);
3042
_tmp68_ = g_strdup_printf ("_data%d_", _tmp67_);
3044
_tmp70_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp69_);
3047
_tmp73_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp72_);
3050
_tmp76_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, _tmp74_, _tmp75_);
3052
_tmp78_ = vala_ccode_member_access_new_pointer (_tmp71_, _tmp77_);
3054
vala_glib_value_append_array_length_cvalue (_tmp65_, (ValaCCodeExpression*) _tmp79_);
3055
_vala_ccode_node_unref0 (_tmp79_);
3058
_vala_ccode_node_unref0 (_tmp71_);
3063
_tmp80_ = array_type;
3064
_tmp81_ = vala_array_type_get_rank (_tmp80_);
3067
ValaGLibValue* _tmp83_;
3070
gchar* _tmp86_ = NULL;
3072
ValaCCodeExpression* _tmp88_ = NULL;
3073
ValaCCodeExpression* _tmp89_;
3074
ValaLocalVariable* _tmp90_;
3075
gchar* _tmp91_ = NULL;
3077
gchar* _tmp93_ = NULL;
3079
ValaCCodeMemberAccess* _tmp95_;
3082
_tmp85_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp84_);
3083
_tmp86_ = g_strdup_printf ("_data%d_", _tmp85_);
3085
_tmp88_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp87_);
3088
_tmp91_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp90_);
3090
_tmp93_ = vala_ccode_base_module_get_array_size_cname ((ValaCCodeBaseModule*) self, _tmp92_);
3092
_tmp95_ = vala_ccode_member_access_new_pointer (_tmp89_, _tmp94_);
3093
_vala_ccode_node_unref0 (_tmp83_->array_size_cvalue);
3094
_tmp83_->array_size_cvalue = (ValaCCodeExpression*) _tmp95_;
3097
_vala_ccode_node_unref0 (_tmp89_);
3101
gboolean _tmp96_ = FALSE;
3102
ValaDelegateType* _tmp97_;
3104
_tmp97_ = delegate_type;
3105
if (_tmp97_ != NULL) {
3106
ValaDelegateType* _tmp98_;
3107
ValaDelegate* _tmp99_;
3108
ValaDelegate* _tmp100_;
3111
_tmp98_ = delegate_type;
3112
_tmp99_ = vala_delegate_type_get_delegate_symbol (_tmp98_);
3114
_tmp101_ = vala_delegate_get_has_target (_tmp100_);
3115
_tmp102_ = _tmp101_;
3122
ValaGLibValue* _tmp104_;
3123
ValaBlock* _tmp105_;
3125
gchar* _tmp107_ = NULL;
3127
ValaCCodeExpression* _tmp109_ = NULL;
3128
ValaCCodeExpression* _tmp110_;
3129
ValaLocalVariable* _tmp111_;
3130
gchar* _tmp112_ = NULL;
3132
gchar* _tmp114_ = NULL;
3134
ValaCCodeMemberAccess* _tmp116_;
3135
ValaDelegateType* _tmp117_;
3138
_tmp104_ = _result_;
3140
_tmp106_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp105_);
3141
_tmp107_ = g_strdup_printf ("_data%d_", _tmp106_);
3142
_tmp108_ = _tmp107_;
3143
_tmp109_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp108_);
3144
_tmp110_ = _tmp109_;
3146
_tmp112_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp111_);
3147
_tmp113_ = _tmp112_;
3148
_tmp114_ = vala_ccode_base_module_get_delegate_target_cname ((ValaCCodeBaseModule*) self, _tmp113_);
3149
_tmp115_ = _tmp114_;
3150
_tmp116_ = vala_ccode_member_access_new_pointer (_tmp110_, _tmp115_);
3151
_vala_ccode_node_unref0 (_tmp104_->delegate_target_cvalue);
3152
_tmp104_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp116_;
3153
_g_free0 (_tmp115_);
3154
_g_free0 (_tmp113_);
3155
_vala_ccode_node_unref0 (_tmp110_);
3156
_g_free0 (_tmp108_);
3157
_tmp117_ = delegate_type;
3158
_tmp118_ = vala_data_type_get_value_owned ((ValaDataType*) _tmp117_);
3159
_tmp119_ = _tmp118_;
3161
ValaGLibValue* _tmp120_;
3162
ValaBlock* _tmp121_;
3164
gchar* _tmp123_ = NULL;
3166
ValaCCodeExpression* _tmp125_ = NULL;
3167
ValaCCodeExpression* _tmp126_;
3168
ValaLocalVariable* _tmp127_;
3169
gchar* _tmp128_ = NULL;
3171
gchar* _tmp130_ = NULL;
3173
ValaCCodeMemberAccess* _tmp132_;
3174
_tmp120_ = _result_;
3176
_tmp122_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp121_);
3177
_tmp123_ = g_strdup_printf ("_data%d_", _tmp122_);
3178
_tmp124_ = _tmp123_;
3179
_tmp125_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp124_);
3180
_tmp126_ = _tmp125_;
3182
_tmp128_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp127_);
3183
_tmp129_ = _tmp128_;
3184
_tmp130_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp129_);
3185
_tmp131_ = _tmp130_;
3186
_tmp132_ = vala_ccode_member_access_new_pointer (_tmp126_, _tmp131_);
3187
_vala_ccode_node_unref0 (_tmp120_->delegate_target_destroy_notify_cvalue);
3188
_tmp120_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp132_;
3189
_g_free0 (_tmp131_);
3190
_g_free0 (_tmp129_);
3191
_vala_ccode_node_unref0 (_tmp126_);
3192
_g_free0 (_tmp124_);
3196
_vala_code_node_unref0 (block);
3198
ValaGLibValue* _tmp133_;
3199
ValaLocalVariable* _tmp134_;
3200
ValaCCodeExpression* _tmp135_ = NULL;
3201
gboolean _tmp136_ = FALSE;
3202
ValaArrayType* _tmp137_;
3204
_tmp133_ = _result_;
3206
_tmp135_ = vala_ccode_base_module_get_local_cexpression ((ValaCCodeBaseModule*) self, _tmp134_);
3207
_vala_ccode_node_unref0 (_tmp133_->cvalue);
3208
_tmp133_->cvalue = _tmp135_;
3209
_tmp137_ = array_type;
3210
if (_tmp137_ != NULL) {
3211
ValaArrayType* _tmp138_;
3214
_tmp138_ = array_type;
3215
_tmp139_ = vala_array_type_get_fixed_length (_tmp138_);
3216
_tmp140_ = _tmp139_;
3217
_tmp136_ = !_tmp140_;
3221
_tmp141_ = _tmp136_;
3223
ValaArrayType* _tmp158_;
3235
ValaArrayType* _tmp146_;
3238
ValaGLibValue* _tmp149_;
3239
ValaLocalVariable* _tmp150_;
3240
gchar* _tmp151_ = NULL;
3243
gchar* _tmp154_ = NULL;
3245
ValaCCodeExpression* _tmp156_ = NULL;
3246
ValaCCodeExpression* _tmp157_;
3247
_tmp143_ = _tmp142_;
3255
_tmp146_ = array_type;
3256
_tmp147_ = vala_array_type_get_rank (_tmp146_);
3257
_tmp148_ = _tmp147_;
3258
if (!(_tmp145_ <= _tmp148_)) {
3261
_tmp149_ = _result_;
3263
_tmp151_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp150_);
3264
_tmp152_ = _tmp151_;
3266
_tmp154_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, _tmp152_, _tmp153_);
3267
_tmp155_ = _tmp154_;
3268
_tmp156_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp155_);
3269
_tmp157_ = _tmp156_;
3270
vala_glib_value_append_array_length_cvalue (_tmp149_, _tmp157_);
3271
_vala_ccode_node_unref0 (_tmp157_);
3272
_g_free0 (_tmp155_);
3273
_g_free0 (_tmp152_);
3277
_tmp158_ = array_type;
3278
_tmp159_ = vala_array_type_get_rank (_tmp158_);
3279
_tmp160_ = _tmp159_;
3280
if (_tmp160_ == 1) {
3281
ValaGLibValue* _tmp161_;
3282
ValaLocalVariable* _tmp162_;
3283
gchar* _tmp163_ = NULL;
3285
gchar* _tmp165_ = NULL;
3287
ValaCCodeExpression* _tmp167_ = NULL;
3288
_tmp161_ = _result_;
3290
_tmp163_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp162_);
3291
_tmp164_ = _tmp163_;
3292
_tmp165_ = vala_ccode_base_module_get_array_size_cname ((ValaCCodeBaseModule*) self, _tmp164_);
3293
_tmp166_ = _tmp165_;
3294
_tmp167_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp166_);
3295
_vala_ccode_node_unref0 (_tmp161_->array_size_cvalue);
3296
_tmp161_->array_size_cvalue = _tmp167_;
3297
_g_free0 (_tmp166_);
3298
_g_free0 (_tmp164_);
3301
gboolean _tmp168_ = FALSE;
3302
ValaDelegateType* _tmp169_;
3304
_tmp169_ = delegate_type;
3305
if (_tmp169_ != NULL) {
3306
ValaDelegateType* _tmp170_;
3307
ValaDelegate* _tmp171_;
3308
ValaDelegate* _tmp172_;
3311
_tmp170_ = delegate_type;
3312
_tmp171_ = vala_delegate_type_get_delegate_symbol (_tmp170_);
3313
_tmp172_ = _tmp171_;
3314
_tmp173_ = vala_delegate_get_has_target (_tmp172_);
3315
_tmp174_ = _tmp173_;
3316
_tmp168_ = _tmp174_;
3320
_tmp175_ = _tmp168_;
3322
gboolean _tmp176_ = FALSE;
3323
_tmp176_ = vala_ccode_base_module_is_in_coroutine ((ValaCCodeBaseModule*) self);
3325
ValaGLibValue* _tmp177_;
3326
ValaCCodeIdentifier* _tmp178_;
3327
ValaCCodeIdentifier* _tmp179_;
3328
ValaLocalVariable* _tmp180_;
3329
gchar* _tmp181_ = NULL;
3331
gchar* _tmp183_ = NULL;
3333
ValaCCodeMemberAccess* _tmp185_;
3334
ValaLocalVariable* _tmp186_;
3335
ValaDataType* _tmp187_;
3336
ValaDataType* _tmp188_;
3339
_tmp177_ = _result_;
3340
_tmp178_ = vala_ccode_identifier_new ("_data_");
3341
_tmp179_ = _tmp178_;
3343
_tmp181_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp180_);
3344
_tmp182_ = _tmp181_;
3345
_tmp183_ = vala_ccode_base_module_get_delegate_target_cname ((ValaCCodeBaseModule*) self, _tmp182_);
3346
_tmp184_ = _tmp183_;
3347
_tmp185_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp179_, _tmp184_);
3348
_vala_ccode_node_unref0 (_tmp177_->delegate_target_cvalue);
3349
_tmp177_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp185_;
3350
_g_free0 (_tmp184_);
3351
_g_free0 (_tmp182_);
3352
_vala_ccode_node_unref0 (_tmp179_);
3354
_tmp187_ = vala_variable_get_variable_type ((ValaVariable*) _tmp186_);
3355
_tmp188_ = _tmp187_;
3356
_tmp189_ = vala_data_type_get_value_owned (_tmp188_);
3357
_tmp190_ = _tmp189_;
3359
ValaGLibValue* _tmp191_;
3360
ValaCCodeIdentifier* _tmp192_;
3361
ValaCCodeIdentifier* _tmp193_;
3362
ValaLocalVariable* _tmp194_;
3363
gchar* _tmp195_ = NULL;
3365
gchar* _tmp197_ = NULL;
3367
ValaCCodeMemberAccess* _tmp199_;
3368
_tmp191_ = _result_;
3369
_tmp192_ = vala_ccode_identifier_new ("_data_");
3370
_tmp193_ = _tmp192_;
3372
_tmp195_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp194_);
3373
_tmp196_ = _tmp195_;
3374
_tmp197_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp196_);
3375
_tmp198_ = _tmp197_;
3376
_tmp199_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp193_, _tmp198_);
3377
_vala_ccode_node_unref0 (_tmp191_->delegate_target_destroy_notify_cvalue);
3378
_tmp191_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp199_;
3379
_g_free0 (_tmp198_);
3380
_g_free0 (_tmp196_);
3381
_vala_ccode_node_unref0 (_tmp193_);
3384
ValaGLibValue* _tmp200_;
3385
ValaLocalVariable* _tmp201_;
3386
gchar* _tmp202_ = NULL;
3388
gchar* _tmp204_ = NULL;
3390
ValaCCodeIdentifier* _tmp206_;
3391
ValaLocalVariable* _tmp207_;
3392
ValaDataType* _tmp208_;
3393
ValaDataType* _tmp209_;
3396
_tmp200_ = _result_;
3398
_tmp202_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp201_);
3399
_tmp203_ = _tmp202_;
3400
_tmp204_ = vala_ccode_base_module_get_delegate_target_cname ((ValaCCodeBaseModule*) self, _tmp203_);
3401
_tmp205_ = _tmp204_;
3402
_tmp206_ = vala_ccode_identifier_new (_tmp205_);
3403
_vala_ccode_node_unref0 (_tmp200_->delegate_target_cvalue);
3404
_tmp200_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp206_;
3405
_g_free0 (_tmp205_);
3406
_g_free0 (_tmp203_);
3408
_tmp208_ = vala_variable_get_variable_type ((ValaVariable*) _tmp207_);
3409
_tmp209_ = _tmp208_;
3410
_tmp210_ = vala_data_type_get_value_owned (_tmp209_);
3411
_tmp211_ = _tmp210_;
3413
ValaGLibValue* _tmp212_;
3414
ValaLocalVariable* _tmp213_;
3415
gchar* _tmp214_ = NULL;
3417
gchar* _tmp216_ = NULL;
3419
ValaCCodeIdentifier* _tmp218_;
3420
_tmp212_ = _result_;
3422
_tmp214_ = vala_ccode_base_module_get_local_cname ((ValaCCodeBaseModule*) self, _tmp213_);
3423
_tmp215_ = _tmp214_;
3424
_tmp216_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp215_);
3425
_tmp217_ = _tmp216_;
3426
_tmp218_ = vala_ccode_identifier_new (_tmp217_);
3427
_vala_ccode_node_unref0 (_tmp212_->delegate_target_destroy_notify_cvalue);
3428
_tmp212_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp218_;
3429
_g_free0 (_tmp217_);
3430
_g_free0 (_tmp215_);
3437
result = (ValaTargetValue*) _result_;
3438
_vala_code_node_unref0 (delegate_type);
3439
_vala_code_node_unref0 (array_type);
3444
static ValaTargetValue* vala_ccode_member_access_module_real_get_parameter_cvalue (ValaCCodeBaseModule* base, ValaParameter* param) {
3445
ValaCCodeMemberAccessModule * self;
3446
ValaTargetValue* result = NULL;
3447
ValaParameter* _tmp0_;
3448
ValaDataType* _tmp1_;
3449
ValaDataType* _tmp2_;
3450
ValaDataType* _tmp3_ = NULL;
3451
ValaDataType* _tmp4_;
3452
ValaGLibValue* _tmp5_;
3453
ValaGLibValue* _tmp6_;
3454
ValaGLibValue* _result_;
3455
ValaGLibValue* _tmp7_;
3456
ValaGLibValue* _tmp8_;
3457
ValaParameter* _tmp9_;
3458
gboolean _tmp10_ = FALSE;
3459
ValaParameter* _tmp11_;
3460
gchar* _tmp12_ = NULL;
3463
ValaGLibValue* _tmp20_;
3464
ValaParameter* _tmp21_;
3465
gchar* _tmp22_ = NULL;
3466
ValaGLibValue* _tmp23_;
3467
ValaDataType* _tmp24_;
3468
ValaDataType* _tmp25_;
3469
ValaArrayType* _tmp26_;
3470
ValaArrayType* array_type;
3471
ValaGLibValue* _tmp27_;
3472
ValaDataType* _tmp28_;
3473
ValaDataType* _tmp29_;
3474
ValaDelegateType* _tmp30_;
3475
ValaDelegateType* delegate_type;
3476
gboolean _tmp31_ = FALSE;
3477
ValaDelegateType* _tmp32_;
3479
gboolean is_unowned_delegate;
3480
gboolean _tmp39_ = FALSE;
3481
gboolean _tmp40_ = FALSE;
3482
ValaParameter* _tmp41_;
3487
ValaParameter* _tmp51_;
3488
const gchar* _tmp52_;
3489
const gchar* _tmp53_;
3490
self = (ValaCCodeMemberAccessModule*) base;
3491
g_return_val_if_fail (param != NULL, NULL);
3493
_tmp1_ = vala_variable_get_variable_type ((ValaVariable*) _tmp0_);
3495
_tmp3_ = vala_data_type_copy (_tmp2_);
3497
_tmp5_ = vala_glib_value_new (_tmp4_, NULL, FALSE);
3499
_vala_code_node_unref0 (_tmp4_);
3502
_tmp7_->lvalue = TRUE;
3505
_tmp10_ = vala_ccode_base_module_get_ccode_array_null_terminated ((ValaCodeNode*) _tmp9_);
3506
_tmp8_->array_null_terminated = _tmp10_;
3508
_tmp12_ = vala_ccode_base_module_get_ccode_array_length_expr ((ValaCodeNode*) _tmp11_);
3510
_tmp14_ = _tmp13_ != NULL;
3513
ValaGLibValue* _tmp15_;
3514
ValaParameter* _tmp16_;
3515
gchar* _tmp17_ = NULL;
3517
ValaCCodeConstant* _tmp19_;
3520
_tmp17_ = vala_ccode_base_module_get_ccode_array_length_expr ((ValaCodeNode*) _tmp16_);
3522
_tmp19_ = vala_ccode_constant_new (_tmp18_);
3523
_vala_ccode_node_unref0 (_tmp15_->array_length_cexpr);
3524
_tmp15_->array_length_cexpr = (ValaCCodeExpression*) _tmp19_;
3529
_tmp22_ = vala_ccode_base_module_get_ccode_type ((ValaCodeNode*) _tmp21_);
3530
_g_free0 (_tmp20_->ctype);
3531
_tmp20_->ctype = _tmp22_;
3533
_tmp24_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp23_);
3535
_tmp26_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp25_) : NULL);
3536
array_type = _tmp26_;
3538
_tmp28_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp27_);
3540
_tmp30_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, VALA_TYPE_DELEGATE_TYPE) ? ((ValaDelegateType*) _tmp29_) : NULL);
3541
delegate_type = _tmp30_;
3542
_tmp32_ = delegate_type;
3543
if (_tmp32_ != NULL) {
3544
ValaParameter* _tmp33_;
3545
ValaDataType* _tmp34_;
3546
ValaDataType* _tmp35_;
3550
_tmp34_ = vala_variable_get_variable_type ((ValaVariable*) _tmp33_);
3552
_tmp36_ = vala_data_type_get_value_owned (_tmp35_);
3559
is_unowned_delegate = _tmp38_;
3561
_tmp42_ = vala_parameter_get_captured (_tmp41_);
3566
gboolean _tmp44_ = FALSE;
3567
_tmp44_ = vala_ccode_base_module_is_in_coroutine ((ValaCCodeBaseModule*) self);
3573
_tmp46_ = is_unowned_delegate;
3580
ValaGLibValue* _tmp48_;
3581
ValaDataType* _tmp49_;
3582
ValaDataType* _tmp50_;
3584
_tmp49_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp48_);
3586
vala_data_type_set_value_owned (_tmp50_, TRUE);
3589
_tmp52_ = vala_symbol_get_name ((ValaSymbol*) _tmp51_);
3591
if (g_strcmp0 (_tmp53_, "this") == 0) {
3592
gboolean _tmp54_ = FALSE;
3593
_tmp54_ = vala_ccode_base_module_is_in_coroutine ((ValaCCodeBaseModule*) self);
3595
ValaGLibValue* _tmp55_;
3596
ValaCCodeIdentifier* _tmp56_;
3597
ValaCCodeIdentifier* _tmp57_;
3598
ValaCCodeMemberAccess* _tmp58_;
3600
_tmp56_ = vala_ccode_identifier_new ("_data_");
3602
_tmp58_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp57_, "self");
3603
_vala_ccode_node_unref0 (_tmp55_->cvalue);
3604
_tmp55_->cvalue = (ValaCCodeExpression*) _tmp58_;
3605
_vala_ccode_node_unref0 (_tmp57_);
3607
ValaGLibValue* _tmp59_;
3608
ValaDataType* _tmp60_;
3609
ValaDataType* _tmp61_;
3610
ValaTypeSymbol* _tmp62_;
3611
ValaTypeSymbol* _tmp63_;
3612
ValaStruct* _tmp64_;
3614
gboolean _tmp65_ = FALSE;
3615
ValaStruct* _tmp66_;
3618
_tmp60_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp59_);
3620
_tmp62_ = vala_data_type_get_data_type (_tmp61_);
3622
_tmp64_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp63_, VALA_TYPE_STRUCT) ? ((ValaStruct*) _tmp63_) : NULL);
3625
if (_tmp66_ != NULL) {
3626
ValaStruct* _tmp67_;
3627
gboolean _tmp68_ = FALSE;
3629
_tmp68_ = vala_struct_is_simple_type (_tmp67_);
3636
ValaGLibValue* _tmp70_;
3637
ValaCCodeIdentifier* _tmp71_;
3639
_tmp71_ = vala_ccode_identifier_new ("(*self)");
3640
_vala_ccode_node_unref0 (_tmp70_->cvalue);
3641
_tmp70_->cvalue = (ValaCCodeExpression*) _tmp71_;
3643
ValaGLibValue* _tmp72_;
3644
ValaCCodeIdentifier* _tmp73_;
3646
_tmp73_ = vala_ccode_identifier_new ("self");
3647
_vala_ccode_node_unref0 (_tmp72_->cvalue);
3648
_tmp72_->cvalue = (ValaCCodeExpression*) _tmp73_;
3650
_vala_code_node_unref0 (st);
3653
ValaParameter* _tmp74_;
3654
const gchar* _tmp75_;
3655
const gchar* _tmp76_;
3658
ValaParameter* _tmp78_;
3661
gboolean _tmp327_ = FALSE;
3662
ValaParameter* _tmp328_;
3667
_tmp75_ = vala_symbol_get_name ((ValaSymbol*) _tmp74_);
3669
_tmp77_ = g_strdup (_tmp76_);
3672
_tmp79_ = vala_parameter_get_captured (_tmp78_);
3675
ValaParameter* _tmp81_;
3676
ValaSymbol* _tmp82_;
3677
ValaSymbol* _tmp83_;
3681
ValaGLibValue* _tmp92_;
3684
gchar* _tmp95_ = NULL;
3686
ValaCCodeExpression* _tmp97_ = NULL;
3687
ValaCCodeExpression* _tmp98_;
3688
ValaParameter* _tmp99_;
3689
const gchar* _tmp100_;
3690
const gchar* _tmp101_;
3691
gchar* _tmp102_ = NULL;
3693
ValaCCodeMemberAccess* _tmp104_;
3694
gboolean _tmp105_ = FALSE;
3695
ValaArrayType* _tmp106_;
3698
_tmp82_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp81_);
3700
_tmp84_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp83_, VALA_TYPE_BLOCK) ? ((ValaBlock*) _tmp83_) : NULL);
3703
if (_tmp85_ == NULL) {
3704
ValaParameter* _tmp86_;
3705
ValaSymbol* _tmp87_;
3706
ValaSymbol* _tmp88_;
3711
_tmp87_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp86_);
3713
_tmp89_ = vala_subroutine_get_body ((ValaSubroutine*) G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, VALA_TYPE_METHOD, ValaMethod));
3715
_tmp91_ = _vala_code_node_ref0 (_tmp90_);
3716
_vala_code_node_unref0 (block);
3721
_tmp94_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp93_);
3722
_tmp95_ = g_strdup_printf ("_data%d_", _tmp94_);
3724
_tmp97_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp96_);
3727
_tmp100_ = vala_symbol_get_name ((ValaSymbol*) _tmp99_);
3728
_tmp101_ = _tmp100_;
3729
_tmp102_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp101_);
3730
_tmp103_ = _tmp102_;
3731
_tmp104_ = vala_ccode_member_access_new_pointer (_tmp98_, _tmp103_);
3732
_vala_ccode_node_unref0 (_tmp92_->cvalue);
3733
_tmp92_->cvalue = (ValaCCodeExpression*) _tmp104_;
3734
_g_free0 (_tmp103_);
3735
_vala_ccode_node_unref0 (_tmp98_);
3737
_tmp106_ = array_type;
3738
if (_tmp106_ != NULL) {
3739
ValaParameter* _tmp107_;
3740
gboolean _tmp108_ = FALSE;
3742
_tmp108_ = vala_ccode_base_module_get_ccode_array_length ((ValaCodeNode*) _tmp107_);
3743
_tmp105_ = _tmp108_;
3747
_tmp109_ = _tmp105_;
3758
ValaArrayType* _tmp114_;
3761
ValaGLibValue* _tmp117_;
3762
ValaBlock* _tmp118_;
3764
gchar* _tmp120_ = NULL;
3766
ValaCCodeExpression* _tmp122_ = NULL;
3767
ValaCCodeExpression* _tmp123_;
3768
ValaParameter* _tmp124_;
3770
gchar* _tmp126_ = NULL;
3772
ValaCCodeMemberAccess* _tmp128_;
3773
ValaCCodeMemberAccess* _tmp129_;
3774
_tmp111_ = _tmp110_;
3782
_tmp114_ = array_type;
3783
_tmp115_ = vala_array_type_get_rank (_tmp114_);
3784
_tmp116_ = _tmp115_;
3785
if (!(_tmp113_ <= _tmp116_)) {
3788
_tmp117_ = _result_;
3790
_tmp119_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp118_);
3791
_tmp120_ = g_strdup_printf ("_data%d_", _tmp119_);
3792
_tmp121_ = _tmp120_;
3793
_tmp122_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp121_);
3794
_tmp123_ = _tmp122_;
3797
_tmp126_ = vala_ccode_base_module_get_parameter_array_length_cname ((ValaCCodeBaseModule*) self, _tmp124_, _tmp125_);
3798
_tmp127_ = _tmp126_;
3799
_tmp128_ = vala_ccode_member_access_new_pointer (_tmp123_, _tmp127_);
3800
_tmp129_ = _tmp128_;
3801
vala_glib_value_append_array_length_cvalue (_tmp117_, (ValaCCodeExpression*) _tmp129_);
3802
_vala_ccode_node_unref0 (_tmp129_);
3803
_g_free0 (_tmp127_);
3804
_vala_ccode_node_unref0 (_tmp123_);
3805
_g_free0 (_tmp121_);
3810
gboolean _tmp130_ = FALSE;
3811
ValaDelegateType* _tmp131_;
3813
_tmp131_ = delegate_type;
3814
if (_tmp131_ != NULL) {
3815
ValaDelegateType* _tmp132_;
3816
ValaDelegate* _tmp133_;
3817
ValaDelegate* _tmp134_;
3820
_tmp132_ = delegate_type;
3821
_tmp133_ = vala_delegate_type_get_delegate_symbol (_tmp132_);
3822
_tmp134_ = _tmp133_;
3823
_tmp135_ = vala_delegate_get_has_target (_tmp134_);
3824
_tmp136_ = _tmp135_;
3825
_tmp130_ = _tmp136_;
3829
_tmp137_ = _tmp130_;
3831
ValaGLibValue* _tmp138_;
3832
ValaBlock* _tmp139_;
3834
gchar* _tmp141_ = NULL;
3836
ValaCCodeExpression* _tmp143_ = NULL;
3837
ValaCCodeExpression* _tmp144_;
3838
ValaParameter* _tmp145_;
3839
gchar* _tmp146_ = NULL;
3841
ValaCCodeMemberAccess* _tmp148_;
3842
ValaGLibValue* _tmp149_;
3843
ValaDataType* _tmp150_;
3844
ValaDataType* _tmp151_;
3847
_tmp138_ = _result_;
3849
_tmp140_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp139_);
3850
_tmp141_ = g_strdup_printf ("_data%d_", _tmp140_);
3851
_tmp142_ = _tmp141_;
3852
_tmp143_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp142_);
3853
_tmp144_ = _tmp143_;
3855
_tmp146_ = vala_ccode_base_module_get_ccode_delegate_target_name ((ValaVariable*) _tmp145_);
3856
_tmp147_ = _tmp146_;
3857
_tmp148_ = vala_ccode_member_access_new_pointer (_tmp144_, _tmp147_);
3858
_vala_ccode_node_unref0 (_tmp138_->delegate_target_cvalue);
3859
_tmp138_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp148_;
3860
_g_free0 (_tmp147_);
3861
_vala_ccode_node_unref0 (_tmp144_);
3862
_g_free0 (_tmp142_);
3863
_tmp149_ = _result_;
3864
_tmp150_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp149_);
3865
_tmp151_ = _tmp150_;
3866
_tmp152_ = vala_data_type_get_value_owned (_tmp151_);
3867
_tmp153_ = _tmp152_;
3869
ValaGLibValue* _tmp154_;
3870
ValaBlock* _tmp155_;
3872
gchar* _tmp157_ = NULL;
3874
ValaCCodeExpression* _tmp159_ = NULL;
3875
ValaCCodeExpression* _tmp160_;
3876
ValaParameter* _tmp161_;
3877
const gchar* _tmp162_;
3878
const gchar* _tmp163_;
3879
gchar* _tmp164_ = NULL;
3881
gchar* _tmp166_ = NULL;
3883
ValaCCodeMemberAccess* _tmp168_;
3884
_tmp154_ = _result_;
3886
_tmp156_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, _tmp155_);
3887
_tmp157_ = g_strdup_printf ("_data%d_", _tmp156_);
3888
_tmp158_ = _tmp157_;
3889
_tmp159_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp158_);
3890
_tmp160_ = _tmp159_;
3892
_tmp162_ = vala_symbol_get_name ((ValaSymbol*) _tmp161_);
3893
_tmp163_ = _tmp162_;
3894
_tmp164_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp163_);
3895
_tmp165_ = _tmp164_;
3896
_tmp166_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp165_);
3897
_tmp167_ = _tmp166_;
3898
_tmp168_ = vala_ccode_member_access_new_pointer (_tmp160_, _tmp167_);
3899
_vala_ccode_node_unref0 (_tmp154_->delegate_target_destroy_notify_cvalue);
3900
_tmp154_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp168_;
3901
_g_free0 (_tmp167_);
3902
_g_free0 (_tmp165_);
3903
_vala_ccode_node_unref0 (_tmp160_);
3904
_g_free0 (_tmp158_);
3908
_vala_code_node_unref0 (block);
3910
gboolean _tmp169_ = FALSE;
3911
_tmp169_ = vala_ccode_base_module_is_in_coroutine ((ValaCCodeBaseModule*) self);
3913
ValaGLibValue* _tmp170_;
3914
ValaParameter* _tmp171_;
3915
const gchar* _tmp172_;
3916
const gchar* _tmp173_;
3917
ValaCCodeExpression* _tmp174_ = NULL;
3918
gboolean _tmp175_ = FALSE;
3919
ValaDelegateType* _tmp176_;
3921
_tmp170_ = _result_;
3923
_tmp172_ = vala_symbol_get_name ((ValaSymbol*) _tmp171_);
3924
_tmp173_ = _tmp172_;
3925
_tmp174_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp173_);
3926
_vala_ccode_node_unref0 (_tmp170_->cvalue);
3927
_tmp170_->cvalue = _tmp174_;
3928
_tmp176_ = delegate_type;
3929
if (_tmp176_ != NULL) {
3930
ValaDelegateType* _tmp177_;
3931
ValaDelegate* _tmp178_;
3932
ValaDelegate* _tmp179_;
3935
_tmp177_ = delegate_type;
3936
_tmp178_ = vala_delegate_type_get_delegate_symbol (_tmp177_);
3937
_tmp179_ = _tmp178_;
3938
_tmp180_ = vala_delegate_get_has_target (_tmp179_);
3939
_tmp181_ = _tmp180_;
3940
_tmp175_ = _tmp181_;
3944
_tmp182_ = _tmp175_;
3946
ValaGLibValue* _tmp183_;
3947
ValaCCodeIdentifier* _tmp184_;
3948
ValaCCodeIdentifier* _tmp185_;
3949
ValaParameter* _tmp186_;
3950
gchar* _tmp187_ = NULL;
3952
ValaCCodeMemberAccess* _tmp189_;
3953
ValaDelegateType* _tmp190_;
3956
_tmp183_ = _result_;
3957
_tmp184_ = vala_ccode_identifier_new ("_data_");
3958
_tmp185_ = _tmp184_;
3960
_tmp187_ = vala_ccode_base_module_get_ccode_delegate_target_name ((ValaVariable*) _tmp186_);
3961
_tmp188_ = _tmp187_;
3962
_tmp189_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp185_, _tmp188_);
3963
_vala_ccode_node_unref0 (_tmp183_->delegate_target_cvalue);
3964
_tmp183_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp189_;
3965
_g_free0 (_tmp188_);
3966
_vala_ccode_node_unref0 (_tmp185_);
3967
_tmp190_ = delegate_type;
3968
_tmp191_ = vala_data_type_get_value_owned ((ValaDataType*) _tmp190_);
3969
_tmp192_ = _tmp191_;
3971
ValaGLibValue* _tmp193_;
3972
ValaCCodeIdentifier* _tmp194_;
3973
ValaCCodeIdentifier* _tmp195_;
3974
ValaParameter* _tmp196_;
3975
const gchar* _tmp197_;
3976
const gchar* _tmp198_;
3977
gchar* _tmp199_ = NULL;
3979
gchar* _tmp201_ = NULL;
3981
ValaCCodeMemberAccess* _tmp203_;
3982
_tmp193_ = _result_;
3983
_tmp194_ = vala_ccode_identifier_new ("_data_");
3984
_tmp195_ = _tmp194_;
3986
_tmp197_ = vala_symbol_get_name ((ValaSymbol*) _tmp196_);
3987
_tmp198_ = _tmp197_;
3988
_tmp199_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp198_);
3989
_tmp200_ = _tmp199_;
3990
_tmp201_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp200_);
3991
_tmp202_ = _tmp201_;
3992
_tmp203_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp195_, _tmp202_);
3993
_vala_ccode_node_unref0 (_tmp193_->delegate_target_destroy_notify_cvalue);
3994
_tmp193_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp203_;
3995
_g_free0 (_tmp202_);
3996
_g_free0 (_tmp200_);
3997
_vala_ccode_node_unref0 (_tmp195_);
4001
ValaGLibValue* _tmp204_;
4002
ValaDataType* _tmp205_;
4003
ValaDataType* _tmp206_;
4004
ValaTypeSymbol* _tmp207_;
4005
ValaTypeSymbol* _tmp208_;
4006
ValaStruct* _tmp209_;
4007
ValaStruct* type_as_struct;
4008
ValaParameter* _tmp210_;
4009
ValaParameterDirection _tmp211_;
4010
ValaParameterDirection _tmp212_;
4011
gboolean _tmp215_ = FALSE;
4012
ValaParameter* _tmp216_;
4013
ValaParameterDirection _tmp217_;
4014
ValaParameterDirection _tmp218_;
4016
gboolean _tmp285_ = FALSE;
4017
ValaDelegateType* _tmp286_;
4019
_tmp204_ = _result_;
4020
_tmp205_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp204_);
4021
_tmp206_ = _tmp205_;
4022
_tmp207_ = vala_data_type_get_data_type (_tmp206_);
4023
_tmp208_ = _tmp207_;
4024
_tmp209_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp208_, VALA_TYPE_STRUCT) ? ((ValaStruct*) _tmp208_) : NULL);
4025
type_as_struct = _tmp209_;
4027
_tmp211_ = vala_parameter_get_direction (_tmp210_);
4028
_tmp212_ = _tmp211_;
4029
if (_tmp212_ == VALA_PARAMETER_DIRECTION_OUT) {
4030
const gchar* _tmp213_;
4033
_tmp214_ = g_strconcat ("_vala_", _tmp213_, NULL);
4038
_tmp217_ = vala_parameter_get_direction (_tmp216_);
4039
_tmp218_ = _tmp217_;
4040
if (_tmp218_ == VALA_PARAMETER_DIRECTION_REF) {
4043
gboolean _tmp219_ = FALSE;
4044
gboolean _tmp220_ = FALSE;
4045
gboolean _tmp221_ = FALSE;
4046
ValaParameter* _tmp222_;
4047
ValaParameterDirection _tmp223_;
4048
ValaParameterDirection _tmp224_;
4053
_tmp223_ = vala_parameter_get_direction (_tmp222_);
4054
_tmp224_ = _tmp223_;
4055
if (_tmp224_ == VALA_PARAMETER_DIRECTION_IN) {
4056
ValaStruct* _tmp225_;
4057
_tmp225_ = type_as_struct;
4058
_tmp221_ = _tmp225_ != NULL;
4062
_tmp226_ = _tmp221_;
4064
ValaStruct* _tmp227_;
4065
gboolean _tmp228_ = FALSE;
4066
_tmp227_ = type_as_struct;
4067
_tmp228_ = vala_struct_is_simple_type (_tmp227_);
4068
_tmp220_ = !_tmp228_;
4072
_tmp229_ = _tmp220_;
4074
ValaGLibValue* _tmp230_;
4075
ValaDataType* _tmp231_;
4076
ValaDataType* _tmp232_;
4079
_tmp230_ = _result_;
4080
_tmp231_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp230_);
4081
_tmp232_ = _tmp231_;
4082
_tmp233_ = vala_data_type_get_nullable (_tmp232_);
4083
_tmp234_ = _tmp233_;
4084
_tmp219_ = !_tmp234_;
4088
_tmp235_ = _tmp219_;
4089
_tmp215_ = _tmp235_;
4091
_tmp236_ = _tmp215_;
4093
ValaGLibValue* _tmp237_;
4094
const gchar* _tmp238_;
4095
gchar* _tmp239_ = NULL;
4097
ValaCCodeIdentifier* _tmp241_;
4098
ValaCCodeIdentifier* _tmp242_;
4099
ValaCCodeUnaryExpression* _tmp243_;
4100
_tmp237_ = _result_;
4102
_tmp239_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp238_);
4103
_tmp240_ = _tmp239_;
4104
_tmp241_ = vala_ccode_identifier_new (_tmp240_);
4105
_tmp242_ = _tmp241_;
4106
_tmp243_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp242_);
4107
_vala_ccode_node_unref0 (_tmp237_->cvalue);
4108
_tmp237_->cvalue = (ValaCCodeExpression*) _tmp243_;
4109
_vala_ccode_node_unref0 (_tmp242_);
4110
_g_free0 (_tmp240_);
4112
gboolean _tmp244_ = FALSE;
4113
gboolean _tmp245_ = FALSE;
4114
gboolean _tmp246_ = FALSE;
4115
gboolean _tmp247_ = FALSE;
4116
ValaPropertyAccessor* _tmp248_;
4117
ValaPropertyAccessor* _tmp249_;
4122
_tmp248_ = vala_ccode_base_module_get_current_property_accessor ((ValaCCodeBaseModule*) self);
4123
_tmp249_ = _tmp248_;
4124
if (_tmp249_ != NULL) {
4125
ValaPropertyAccessor* _tmp250_;
4126
ValaPropertyAccessor* _tmp251_;
4129
_tmp250_ = vala_ccode_base_module_get_current_property_accessor ((ValaCCodeBaseModule*) self);
4130
_tmp251_ = _tmp250_;
4131
_tmp252_ = vala_property_accessor_get_writable (_tmp251_);
4132
_tmp253_ = _tmp252_;
4133
_tmp247_ = _tmp253_;
4137
_tmp254_ = _tmp247_;
4139
ValaPropertyAccessor* _tmp255_;
4140
ValaPropertyAccessor* _tmp256_;
4141
ValaParameter* _tmp257_;
4142
ValaParameter* _tmp258_;
4143
ValaParameter* _tmp259_;
4144
_tmp255_ = vala_ccode_base_module_get_current_property_accessor ((ValaCCodeBaseModule*) self);
4145
_tmp256_ = _tmp255_;
4146
_tmp257_ = vala_property_accessor_get_value_parameter (_tmp256_);
4147
_tmp258_ = _tmp257_;
4149
_tmp246_ = _tmp258_ == _tmp259_;
4153
_tmp260_ = _tmp246_;
4155
ValaPropertyAccessor* _tmp261_;
4156
ValaPropertyAccessor* _tmp262_;
4157
ValaProperty* _tmp263_;
4158
ValaProperty* _tmp264_;
4159
ValaDataType* _tmp265_;
4160
ValaDataType* _tmp266_;
4161
gboolean _tmp267_ = FALSE;
4162
_tmp261_ = vala_ccode_base_module_get_current_property_accessor ((ValaCCodeBaseModule*) self);
4163
_tmp262_ = _tmp261_;
4164
_tmp263_ = vala_property_accessor_get_prop (_tmp262_);
4165
_tmp264_ = _tmp263_;
4166
_tmp265_ = vala_property_get_property_type (_tmp264_);
4167
_tmp266_ = _tmp265_;
4168
_tmp267_ = vala_data_type_is_real_struct_type (_tmp266_);
4169
_tmp245_ = _tmp267_;
4173
_tmp268_ = _tmp245_;
4175
ValaPropertyAccessor* _tmp269_;
4176
ValaPropertyAccessor* _tmp270_;
4177
ValaProperty* _tmp271_;
4178
ValaProperty* _tmp272_;
4179
ValaDataType* _tmp273_;
4180
ValaDataType* _tmp274_;
4183
_tmp269_ = vala_ccode_base_module_get_current_property_accessor ((ValaCCodeBaseModule*) self);
4184
_tmp270_ = _tmp269_;
4185
_tmp271_ = vala_property_accessor_get_prop (_tmp270_);
4186
_tmp272_ = _tmp271_;
4187
_tmp273_ = vala_property_get_property_type (_tmp272_);
4188
_tmp274_ = _tmp273_;
4189
_tmp275_ = vala_data_type_get_nullable (_tmp274_);
4190
_tmp276_ = _tmp275_;
4191
_tmp244_ = !_tmp276_;
4195
_tmp277_ = _tmp244_;
4197
ValaGLibValue* _tmp278_;
4198
ValaCCodeIdentifier* _tmp279_;
4199
ValaCCodeIdentifier* _tmp280_;
4200
ValaCCodeUnaryExpression* _tmp281_;
4201
_tmp278_ = _result_;
4202
_tmp279_ = vala_ccode_identifier_new ("value");
4203
_tmp280_ = _tmp279_;
4204
_tmp281_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, (ValaCCodeExpression*) _tmp280_);
4205
_vala_ccode_node_unref0 (_tmp278_->cvalue);
4206
_tmp278_->cvalue = (ValaCCodeExpression*) _tmp281_;
4207
_vala_ccode_node_unref0 (_tmp280_);
4209
ValaGLibValue* _tmp282_;
4210
const gchar* _tmp283_;
4211
ValaCCodeExpression* _tmp284_ = NULL;
4212
_tmp282_ = _result_;
4214
_tmp284_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp283_);
4215
_vala_ccode_node_unref0 (_tmp282_->cvalue);
4216
_tmp282_->cvalue = _tmp284_;
4219
_tmp286_ = delegate_type;
4220
if (_tmp286_ != NULL) {
4221
ValaDelegateType* _tmp287_;
4222
ValaDelegate* _tmp288_;
4223
ValaDelegate* _tmp289_;
4226
_tmp287_ = delegate_type;
4227
_tmp288_ = vala_delegate_type_get_delegate_symbol (_tmp287_);
4228
_tmp289_ = _tmp288_;
4229
_tmp290_ = vala_delegate_get_has_target (_tmp289_);
4230
_tmp291_ = _tmp290_;
4231
_tmp285_ = _tmp291_;
4235
_tmp292_ = _tmp285_;
4237
ValaParameter* _tmp293_;
4238
gchar* _tmp294_ = NULL;
4239
gchar* target_cname;
4240
ValaParameter* _tmp295_;
4241
ValaParameterDirection _tmp296_;
4242
ValaParameterDirection _tmp297_;
4243
const gchar* _tmp300_;
4244
ValaCCodeIdentifier* _tmp301_;
4245
ValaCCodeExpression* target_expr;
4246
const gchar* _tmp302_;
4247
gchar* _tmp303_ = NULL;
4249
gchar* _tmp305_ = NULL;
4251
ValaCCodeIdentifier* _tmp307_;
4252
ValaCCodeExpression* _tmp308_;
4253
ValaCCodeExpression* delegate_target_destroy_notify;
4254
ValaParameter* _tmp309_;
4255
ValaParameterDirection _tmp310_;
4256
ValaParameterDirection _tmp311_;
4257
ValaGLibValue* _tmp316_;
4258
ValaCCodeExpression* _tmp317_;
4259
ValaCCodeExpression* _tmp318_;
4260
ValaGLibValue* _tmp319_;
4261
ValaDataType* _tmp320_;
4262
ValaDataType* _tmp321_;
4266
_tmp294_ = vala_ccode_base_module_get_ccode_delegate_target_name ((ValaVariable*) _tmp293_);
4267
target_cname = _tmp294_;
4269
_tmp296_ = vala_parameter_get_direction (_tmp295_);
4270
_tmp297_ = _tmp296_;
4271
if (_tmp297_ == VALA_PARAMETER_DIRECTION_OUT) {
4272
const gchar* _tmp298_;
4274
_tmp298_ = target_cname;
4275
_tmp299_ = g_strconcat ("_vala_", _tmp298_, NULL);
4276
_g_free0 (target_cname);
4277
target_cname = _tmp299_;
4279
_tmp300_ = target_cname;
4280
_tmp301_ = vala_ccode_identifier_new (_tmp300_);
4281
target_expr = (ValaCCodeExpression*) _tmp301_;
4283
_tmp303_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp302_);
4284
_tmp304_ = _tmp303_;
4285
_tmp305_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp304_);
4286
_tmp306_ = _tmp305_;
4287
_tmp307_ = vala_ccode_identifier_new (_tmp306_);
4288
_tmp308_ = (ValaCCodeExpression*) _tmp307_;
4289
_g_free0 (_tmp306_);
4290
_g_free0 (_tmp304_);
4291
delegate_target_destroy_notify = _tmp308_;
4293
_tmp310_ = vala_parameter_get_direction (_tmp309_);
4294
_tmp311_ = _tmp310_;
4295
if (_tmp311_ == VALA_PARAMETER_DIRECTION_REF) {
4296
ValaCCodeExpression* _tmp312_;
4297
ValaCCodeUnaryExpression* _tmp313_;
4298
ValaCCodeExpression* _tmp314_;
4299
ValaCCodeUnaryExpression* _tmp315_;
4300
_tmp312_ = target_expr;
4301
_tmp313_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, _tmp312_);
4302
_vala_ccode_node_unref0 (target_expr);
4303
target_expr = (ValaCCodeExpression*) _tmp313_;
4304
_tmp314_ = delegate_target_destroy_notify;
4305
_tmp315_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, _tmp314_);
4306
_vala_ccode_node_unref0 (delegate_target_destroy_notify);
4307
delegate_target_destroy_notify = (ValaCCodeExpression*) _tmp315_;
4309
_tmp316_ = _result_;
4310
_tmp317_ = target_expr;
4311
_tmp318_ = _vala_ccode_node_ref0 (_tmp317_);
4312
_vala_ccode_node_unref0 (_tmp316_->delegate_target_cvalue);
4313
_tmp316_->delegate_target_cvalue = _tmp318_;
4314
_tmp319_ = _result_;
4315
_tmp320_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp319_);
4316
_tmp321_ = _tmp320_;
4317
_tmp322_ = vala_data_type_get_value_owned (_tmp321_);
4318
_tmp323_ = _tmp322_;
4320
ValaGLibValue* _tmp324_;
4321
ValaCCodeExpression* _tmp325_;
4322
ValaCCodeExpression* _tmp326_;
4323
_tmp324_ = _result_;
4324
_tmp325_ = delegate_target_destroy_notify;
4325
_tmp326_ = _vala_ccode_node_ref0 (_tmp325_);
4326
_vala_ccode_node_unref0 (_tmp324_->delegate_target_destroy_notify_cvalue);
4327
_tmp324_->delegate_target_destroy_notify_cvalue = _tmp326_;
4329
_vala_ccode_node_unref0 (delegate_target_destroy_notify);
4330
_vala_ccode_node_unref0 (target_expr);
4331
_g_free0 (target_cname);
4333
_vala_code_node_unref0 (type_as_struct);
4337
_tmp329_ = vala_parameter_get_captured (_tmp328_);
4338
_tmp330_ = _tmp329_;
4340
ValaArrayType* _tmp331_;
4341
_tmp331_ = array_type;
4342
_tmp327_ = _tmp331_ != NULL;
4346
_tmp332_ = _tmp327_;
4348
gboolean _tmp333_ = FALSE;
4349
ValaParameter* _tmp334_;
4350
gboolean _tmp335_ = FALSE;
4353
_tmp335_ = vala_ccode_base_module_get_ccode_array_length ((ValaCodeNode*) _tmp334_);
4355
ValaParameter* _tmp336_;
4356
gboolean _tmp337_ = FALSE;
4358
_tmp337_ = vala_ccode_base_module_get_ccode_array_null_terminated ((ValaCodeNode*) _tmp336_);
4359
_tmp333_ = !_tmp337_;
4363
_tmp338_ = _tmp333_;
4374
ValaArrayType* _tmp343_;
4377
ValaParameter* _tmp346_;
4379
gchar* _tmp348_ = NULL;
4381
ValaCCodeExpression* _tmp350_ = NULL;
4382
ValaCCodeExpression* _tmp351_;
4383
ValaCCodeExpression* length_expr;
4384
ValaParameter* _tmp352_;
4385
ValaParameterDirection _tmp353_;
4386
ValaParameterDirection _tmp354_;
4387
ValaGLibValue* _tmp367_;
4388
ValaCCodeExpression* _tmp368_;
4389
_tmp340_ = _tmp339_;
4397
_tmp343_ = array_type;
4398
_tmp344_ = vala_array_type_get_rank (_tmp343_);
4399
_tmp345_ = _tmp344_;
4400
if (!(_tmp342_ <= _tmp345_)) {
4405
_tmp348_ = vala_ccode_base_module_get_parameter_array_length_cname ((ValaCCodeBaseModule*) self, _tmp346_, _tmp347_);
4406
_tmp349_ = _tmp348_;
4407
_tmp350_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp349_);
4408
_tmp351_ = _tmp350_;
4409
_g_free0 (_tmp349_);
4410
length_expr = _tmp351_;
4412
_tmp353_ = vala_parameter_get_direction (_tmp352_);
4413
_tmp354_ = _tmp353_;
4414
if (_tmp354_ == VALA_PARAMETER_DIRECTION_OUT) {
4415
const gchar* _tmp355_;
4416
gchar* _tmp356_ = NULL;
4419
gchar* _tmp359_ = NULL;
4421
ValaCCodeExpression* _tmp361_ = NULL;
4423
_tmp356_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp355_);
4424
_tmp357_ = _tmp356_;
4426
_tmp359_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, _tmp357_, _tmp358_);
4427
_tmp360_ = _tmp359_;
4428
_tmp361_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp360_);
4429
_vala_ccode_node_unref0 (length_expr);
4430
length_expr = _tmp361_;
4431
_g_free0 (_tmp360_);
4432
_g_free0 (_tmp357_);
4434
ValaParameter* _tmp362_;
4435
ValaParameterDirection _tmp363_;
4436
ValaParameterDirection _tmp364_;
4438
_tmp363_ = vala_parameter_get_direction (_tmp362_);
4439
_tmp364_ = _tmp363_;
4440
if (_tmp364_ == VALA_PARAMETER_DIRECTION_REF) {
4441
ValaCCodeExpression* _tmp365_;
4442
ValaCCodeUnaryExpression* _tmp366_;
4443
_tmp365_ = length_expr;
4444
_tmp366_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_POINTER_INDIRECTION, _tmp365_);
4445
_vala_ccode_node_unref0 (length_expr);
4446
length_expr = (ValaCCodeExpression*) _tmp366_;
4449
_tmp367_ = _result_;
4450
_tmp368_ = length_expr;
4451
vala_glib_value_append_array_length_cvalue (_tmp367_, _tmp368_);
4452
_vala_ccode_node_unref0 (length_expr);
4460
result = (ValaTargetValue*) _result_;
4461
_vala_code_node_unref0 (delegate_type);
4462
_vala_code_node_unref0 (array_type);
4467
static ValaTargetValue* vala_ccode_member_access_module_real_get_field_cvalue (ValaCCodeBaseModule* base, ValaField* field, ValaTargetValue* instance) {
4468
ValaCCodeMemberAccessModule * self;
4469
ValaTargetValue* result = NULL;
4471
ValaDataType* _tmp1_;
4472
ValaDataType* _tmp2_;
4473
ValaDataType* _tmp3_ = NULL;
4474
ValaDataType* value_type;
4475
ValaDataType* _tmp4_;
4476
ValaGLibValue* _tmp5_;
4477
ValaGLibValue* _result_;
4478
ValaTargetValue* _tmp6_;
4479
ValaGLibValue* _tmp17_;
4480
ValaGLibValue* _tmp18_;
4482
gboolean _tmp20_ = FALSE;
4484
gchar* _tmp22_ = NULL;
4487
ValaGLibValue* _tmp30_;
4489
gchar* _tmp32_ = NULL;
4490
ValaGLibValue* _tmp33_;
4491
ValaDataType* _tmp34_;
4492
ValaDataType* _tmp35_;
4493
ValaArrayType* _tmp36_;
4494
ValaArrayType* array_type;
4495
ValaGLibValue* _tmp37_;
4496
ValaDataType* _tmp38_;
4497
ValaDataType* _tmp39_;
4498
ValaDelegateType* _tmp40_;
4499
ValaDelegateType* delegate_type;
4501
ValaMemberBinding _tmp42_;
4502
ValaMemberBinding _tmp43_;
4503
self = (ValaCCodeMemberAccessModule*) base;
4504
g_return_val_if_fail (field != NULL, NULL);
4506
_tmp1_ = vala_variable_get_variable_type ((ValaVariable*) _tmp0_);
4508
_tmp3_ = vala_data_type_copy (_tmp2_);
4509
value_type = _tmp3_;
4510
_tmp4_ = value_type;
4511
_tmp5_ = vala_glib_value_new (_tmp4_, NULL, FALSE);
4514
if (_tmp6_ != NULL) {
4515
ValaGLibValue* _tmp7_;
4517
ValaDataType* _tmp9_;
4518
ValaDataType* _tmp10_;
4519
ValaTargetValue* _tmp11_;
4520
ValaDataType* _tmp12_;
4521
ValaDataType* _tmp13_;
4523
ValaDataType* _tmp15_ = NULL;
4524
ValaDataType* _tmp16_;
4527
_tmp9_ = vala_variable_get_variable_type ((ValaVariable*) _tmp8_);
4530
_tmp12_ = vala_target_value_get_value_type (_tmp11_);
4533
_tmp15_ = vala_data_type_get_actual_type (_tmp10_, _tmp13_, NULL, (ValaCodeNode*) _tmp14_);
4535
vala_target_value_set_actual_value_type ((ValaTargetValue*) _tmp7_, _tmp16_);
4536
_vala_code_node_unref0 (_tmp16_);
4539
_tmp17_->lvalue = TRUE;
4542
_tmp20_ = vala_ccode_base_module_get_ccode_array_null_terminated ((ValaCodeNode*) _tmp19_);
4543
_tmp18_->array_null_terminated = _tmp20_;
4545
_tmp22_ = vala_ccode_base_module_get_ccode_array_length_expr ((ValaCodeNode*) _tmp21_);
4547
_tmp24_ = _tmp23_ != NULL;
4550
ValaGLibValue* _tmp25_;
4552
gchar* _tmp27_ = NULL;
4554
ValaCCodeConstant* _tmp29_;
4557
_tmp27_ = vala_ccode_base_module_get_ccode_array_length_expr ((ValaCodeNode*) _tmp26_);
4559
_tmp29_ = vala_ccode_constant_new (_tmp28_);
4560
_vala_ccode_node_unref0 (_tmp25_->array_length_cexpr);
4561
_tmp25_->array_length_cexpr = (ValaCCodeExpression*) _tmp29_;
4566
_tmp32_ = vala_ccode_base_module_get_ccode_type ((ValaCodeNode*) _tmp31_);
4567
_g_free0 (_tmp30_->ctype);
4568
_tmp30_->ctype = _tmp32_;
4570
_tmp34_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp33_);
4572
_tmp36_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp35_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp35_) : NULL);
4573
array_type = _tmp36_;
4575
_tmp38_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp37_);
4577
_tmp40_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp39_, VALA_TYPE_DELEGATE_TYPE) ? ((ValaDelegateType*) _tmp39_) : NULL);
4578
delegate_type = _tmp40_;
4580
_tmp42_ = vala_field_get_binding (_tmp41_);
4582
if (_tmp43_ == VALA_MEMBER_BINDING_INSTANCE) {
4583
ValaCCodeExpression* pub_inst;
4584
ValaTargetValue* _tmp44_;
4586
ValaSymbol* _tmp48_;
4587
ValaSymbol* _tmp49_;
4588
ValaDataType* _tmp50_ = NULL;
4589
ValaDataType* instance_target_type;
4590
ValaDataType* _tmp51_;
4591
ValaTypeSymbol* _tmp52_;
4592
ValaTypeSymbol* _tmp53_;
4595
gboolean _tmp55_ = FALSE;
4596
ValaDataType* _tmp56_;
4597
ValaTypeSymbol* _tmp57_;
4598
ValaTypeSymbol* _tmp58_;
4601
gboolean is_gtypeinstance;
4602
ValaCCodeExpression* inst = NULL;
4603
gboolean _tmp67_ = FALSE;
4606
gboolean _tmp80_ = FALSE;
4607
ValaDataType* _tmp81_;
4608
ValaTypeSymbol* _tmp82_;
4609
ValaTypeSymbol* _tmp83_;
4610
gboolean _tmp84_ = FALSE;
4612
gboolean _tmp104_ = FALSE;
4613
ValaArrayType* _tmp105_;
4617
if (_tmp44_ != NULL) {
4618
ValaTargetValue* _tmp45_;
4619
ValaCCodeExpression* _tmp46_ = NULL;
4621
_tmp46_ = vala_ccode_base_module_get_cvalue_ ((ValaCCodeBaseModule*) self, _tmp45_);
4622
_vala_ccode_node_unref0 (pub_inst);
4626
_tmp48_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp47_);
4628
_tmp50_ = vala_ccode_base_module_get_data_type_for_symbol (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, VALA_TYPE_TYPESYMBOL, ValaTypeSymbol));
4629
instance_target_type = _tmp50_;
4630
_tmp51_ = instance_target_type;
4631
_tmp52_ = vala_data_type_get_data_type (_tmp51_);
4633
_tmp54_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp53_, VALA_TYPE_CLASS) ? ((ValaClass*) _tmp53_) : NULL);
4635
_tmp56_ = instance_target_type;
4636
_tmp57_ = vala_data_type_get_data_type (_tmp56_);
4639
if (_tmp58_ == G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, VALA_TYPE_TYPESYMBOL, ValaTypeSymbol)) {
4640
gboolean _tmp60_ = FALSE;
4644
if (_tmp61_ == NULL) {
4651
_tmp63_ = vala_class_get_is_compact (_tmp62_);
4661
is_gtypeinstance = _tmp66_;
4662
_tmp68_ = is_gtypeinstance;
4665
ValaSymbolAccessibility _tmp70_;
4666
ValaSymbolAccessibility _tmp71_;
4668
_tmp70_ = vala_symbol_get_access ((ValaSymbol*) _tmp69_);
4670
_tmp67_ = _tmp71_ == VALA_SYMBOL_ACCESSIBILITY_PRIVATE;
4676
ValaCCodeExpression* _tmp73_;
4677
ValaCCodeMemberAccess* _tmp74_;
4679
_tmp74_ = vala_ccode_member_access_new_pointer (_tmp73_, "priv");
4680
_vala_ccode_node_unref0 (inst);
4681
inst = (ValaCCodeExpression*) _tmp74_;
4684
ValaCCodeExpression* _tmp78_;
4685
ValaCCodeExpression* _tmp79_;
4687
if (_tmp75_ != NULL) {
4689
ValaCCodeFile* _tmp77_;
4691
_tmp77_ = ((ValaCCodeBaseModule*) self)->cfile;
4692
vala_ccode_base_module_generate_class_struct_declaration ((ValaCCodeBaseModule*) self, _tmp76_, _tmp77_);
4695
_tmp79_ = _vala_ccode_node_ref0 (_tmp78_);
4696
_vala_ccode_node_unref0 (inst);
4699
_tmp81_ = instance_target_type;
4700
_tmp82_ = vala_data_type_get_data_type (_tmp81_);
4702
_tmp84_ = vala_typesymbol_is_reference_type (_tmp83_);
4706
gboolean _tmp85_ = FALSE;
4707
ValaTargetValue* _tmp86_;
4710
if (_tmp86_ != NULL) {
4711
ValaTargetValue* _tmp87_;
4712
ValaDataType* _tmp88_;
4713
ValaDataType* _tmp89_;
4715
_tmp88_ = vala_target_value_get_value_type (_tmp87_);
4717
_tmp85_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp89_, VALA_TYPE_POINTER_TYPE);
4726
ValaGLibValue* _tmp92_;
4727
ValaCCodeExpression* _tmp93_;
4729
gchar* _tmp95_ = NULL;
4731
ValaCCodeMemberAccess* _tmp97_;
4735
_tmp95_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp94_);
4737
_tmp97_ = vala_ccode_member_access_new_pointer (_tmp93_, _tmp96_);
4738
_vala_ccode_node_unref0 (_tmp92_->cvalue);
4739
_tmp92_->cvalue = (ValaCCodeExpression*) _tmp97_;
4742
ValaGLibValue* _tmp98_;
4743
ValaCCodeExpression* _tmp99_;
4744
ValaField* _tmp100_;
4745
gchar* _tmp101_ = NULL;
4747
ValaCCodeMemberAccess* _tmp103_;
4751
_tmp101_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp100_);
4752
_tmp102_ = _tmp101_;
4753
_tmp103_ = vala_ccode_member_access_new (_tmp99_, _tmp102_, FALSE);
4754
_vala_ccode_node_unref0 (_tmp98_->cvalue);
4755
_tmp98_->cvalue = (ValaCCodeExpression*) _tmp103_;
4756
_g_free0 (_tmp102_);
4758
_tmp105_ = array_type;
4759
if (_tmp105_ != NULL) {
4760
ValaField* _tmp106_;
4761
gboolean _tmp107_ = FALSE;
4763
_tmp107_ = vala_ccode_base_module_get_ccode_array_length ((ValaCodeNode*) _tmp106_);
4764
_tmp104_ = _tmp107_;
4768
_tmp108_ = _tmp104_;
4770
gboolean _tmp139_ = FALSE;
4771
ValaArrayType* _tmp140_;
4784
ValaArrayType* _tmp113_;
4787
ValaCCodeExpression* length_expr;
4788
gchar* length_cname = NULL;
4789
ValaField* _tmp116_;
4790
gchar* _tmp117_ = NULL;
4793
ValaField* _tmp127_;
4794
ValaSymbol* _tmp128_;
4795
ValaSymbol* _tmp129_;
4796
gboolean _tmp130_ = FALSE;
4797
ValaGLibValue* _tmp137_;
4798
ValaCCodeExpression* _tmp138_;
4799
_tmp110_ = _tmp109_;
4807
_tmp113_ = array_type;
4808
_tmp114_ = vala_array_type_get_rank (_tmp113_);
4809
_tmp115_ = _tmp114_;
4810
if (!(_tmp112_ <= _tmp115_)) {
4815
_tmp117_ = vala_ccode_base_module_get_ccode_array_length_name ((ValaCodeNode*) _tmp116_);
4816
_tmp118_ = _tmp117_;
4817
_tmp119_ = _tmp118_ != NULL;
4818
_g_free0 (_tmp118_);
4820
ValaField* _tmp120_;
4821
gchar* _tmp121_ = NULL;
4823
_tmp121_ = vala_ccode_base_module_get_ccode_array_length_name ((ValaCodeNode*) _tmp120_);
4824
_g_free0 (length_cname);
4825
length_cname = _tmp121_;
4827
ValaField* _tmp122_;
4828
const gchar* _tmp123_;
4829
const gchar* _tmp124_;
4831
gchar* _tmp126_ = NULL;
4833
_tmp123_ = vala_symbol_get_name ((ValaSymbol*) _tmp122_);
4834
_tmp124_ = _tmp123_;
4836
_tmp126_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, _tmp124_, _tmp125_);
4837
_g_free0 (length_cname);
4838
length_cname = _tmp126_;
4841
_tmp128_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp127_);
4842
_tmp129_ = _tmp128_;
4843
_tmp130_ = vala_typesymbol_is_reference_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp129_, VALA_TYPE_TYPESYMBOL, ValaTypeSymbol));
4845
ValaCCodeExpression* _tmp131_;
4846
const gchar* _tmp132_;
4847
ValaCCodeMemberAccess* _tmp133_;
4849
_tmp132_ = length_cname;
4850
_tmp133_ = vala_ccode_member_access_new_pointer (_tmp131_, _tmp132_);
4851
_vala_ccode_node_unref0 (length_expr);
4852
length_expr = (ValaCCodeExpression*) _tmp133_;
4854
ValaCCodeExpression* _tmp134_;
4855
const gchar* _tmp135_;
4856
ValaCCodeMemberAccess* _tmp136_;
4858
_tmp135_ = length_cname;
4859
_tmp136_ = vala_ccode_member_access_new (_tmp134_, _tmp135_, FALSE);
4860
_vala_ccode_node_unref0 (length_expr);
4861
length_expr = (ValaCCodeExpression*) _tmp136_;
4863
_tmp137_ = _result_;
4864
_tmp138_ = length_expr;
4865
vala_glib_value_append_array_length_cvalue (_tmp137_, _tmp138_);
4866
_g_free0 (length_cname);
4867
_vala_ccode_node_unref0 (length_expr);
4871
_tmp140_ = array_type;
4872
_tmp141_ = vala_array_type_get_rank (_tmp140_);
4873
_tmp142_ = _tmp141_;
4874
if (_tmp142_ == 1) {
4875
ValaField* _tmp143_;
4876
gboolean _tmp144_ = FALSE;
4878
_tmp144_ = vala_symbol_is_internal_symbol ((ValaSymbol*) _tmp143_);
4879
_tmp139_ = _tmp144_;
4883
_tmp145_ = _tmp139_;
4885
ValaField* _tmp146_;
4886
const gchar* _tmp147_;
4887
const gchar* _tmp148_;
4888
gchar* _tmp149_ = NULL;
4890
ValaField* _tmp150_;
4891
ValaSymbol* _tmp151_;
4892
ValaSymbol* _tmp152_;
4893
gboolean _tmp153_ = FALSE;
4895
_tmp147_ = vala_symbol_get_name ((ValaSymbol*) _tmp146_);
4896
_tmp148_ = _tmp147_;
4897
_tmp149_ = vala_ccode_base_module_get_array_size_cname ((ValaCCodeBaseModule*) self, _tmp148_);
4898
size_cname = _tmp149_;
4900
_tmp151_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp150_);
4901
_tmp152_ = _tmp151_;
4902
_tmp153_ = vala_typesymbol_is_reference_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp152_, VALA_TYPE_TYPESYMBOL, ValaTypeSymbol));
4904
ValaGLibValue* _tmp154_;
4905
ValaCCodeExpression* _tmp155_;
4906
const gchar* _tmp156_;
4907
ValaCCodeMemberAccess* _tmp157_;
4908
ValaCCodeMemberAccess* _tmp158_;
4909
_tmp154_ = _result_;
4911
_tmp156_ = size_cname;
4912
_tmp157_ = vala_ccode_member_access_new_pointer (_tmp155_, _tmp156_);
4913
_tmp158_ = _tmp157_;
4914
vala_ccode_base_module_set_array_size_cvalue ((ValaCCodeBaseModule*) self, (ValaTargetValue*) _tmp154_, (ValaCCodeExpression*) _tmp158_);
4915
_vala_ccode_node_unref0 (_tmp158_);
4917
ValaGLibValue* _tmp159_;
4918
ValaCCodeExpression* _tmp160_;
4919
const gchar* _tmp161_;
4920
ValaCCodeMemberAccess* _tmp162_;
4921
ValaCCodeMemberAccess* _tmp163_;
4922
_tmp159_ = _result_;
4924
_tmp161_ = size_cname;
4925
_tmp162_ = vala_ccode_member_access_new (_tmp160_, _tmp161_, FALSE);
4926
_tmp163_ = _tmp162_;
4927
vala_ccode_base_module_set_array_size_cvalue ((ValaCCodeBaseModule*) self, (ValaTargetValue*) _tmp159_, (ValaCCodeExpression*) _tmp163_);
4928
_vala_ccode_node_unref0 (_tmp163_);
4930
_g_free0 (size_cname);
4933
gboolean _tmp164_ = FALSE;
4934
gboolean _tmp165_ = FALSE;
4935
ValaDelegateType* _tmp166_;
4938
_tmp166_ = delegate_type;
4939
if (_tmp166_ != NULL) {
4940
ValaDelegateType* _tmp167_;
4941
ValaDelegate* _tmp168_;
4942
ValaDelegate* _tmp169_;
4945
_tmp167_ = delegate_type;
4946
_tmp168_ = vala_delegate_type_get_delegate_symbol (_tmp167_);
4947
_tmp169_ = _tmp168_;
4948
_tmp170_ = vala_delegate_get_has_target (_tmp169_);
4949
_tmp171_ = _tmp170_;
4950
_tmp165_ = _tmp171_;
4954
_tmp172_ = _tmp165_;
4956
ValaField* _tmp173_;
4957
gboolean _tmp174_ = FALSE;
4959
_tmp174_ = vala_ccode_base_module_get_ccode_delegate_target ((ValaCodeNode*) _tmp173_);
4960
_tmp164_ = _tmp174_;
4964
_tmp175_ = _tmp164_;
4966
ValaField* _tmp176_;
4967
gchar* _tmp177_ = NULL;
4968
gchar* target_cname;
4969
ValaField* _tmp178_;
4970
gchar* _tmp179_ = NULL;
4972
gchar* _tmp181_ = NULL;
4974
gchar* target_destroy_notify_cname;
4975
ValaField* _tmp183_;
4976
ValaSymbol* _tmp184_;
4977
ValaSymbol* _tmp185_;
4978
gboolean _tmp186_ = FALSE;
4980
_tmp177_ = vala_ccode_base_module_get_ccode_delegate_target_name ((ValaVariable*) _tmp176_);
4981
target_cname = _tmp177_;
4983
_tmp179_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp178_);
4984
_tmp180_ = _tmp179_;
4985
_tmp181_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp180_);
4986
_tmp182_ = _tmp181_;
4987
_g_free0 (_tmp180_);
4988
target_destroy_notify_cname = _tmp182_;
4990
_tmp184_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp183_);
4991
_tmp185_ = _tmp184_;
4992
_tmp186_ = vala_typesymbol_is_reference_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp185_, VALA_TYPE_TYPESYMBOL, ValaTypeSymbol));
4994
ValaGLibValue* _tmp187_;
4995
ValaCCodeExpression* _tmp188_;
4996
const gchar* _tmp189_;
4997
ValaCCodeMemberAccess* _tmp190_;
4998
ValaGLibValue* _tmp191_;
4999
ValaDataType* _tmp192_;
5000
ValaDataType* _tmp193_;
5003
_tmp187_ = _result_;
5005
_tmp189_ = target_cname;
5006
_tmp190_ = vala_ccode_member_access_new_pointer (_tmp188_, _tmp189_);
5007
_vala_ccode_node_unref0 (_tmp187_->delegate_target_cvalue);
5008
_tmp187_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp190_;
5009
_tmp191_ = _result_;
5010
_tmp192_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp191_);
5011
_tmp193_ = _tmp192_;
5012
_tmp194_ = vala_data_type_get_value_owned (_tmp193_);
5013
_tmp195_ = _tmp194_;
5015
ValaGLibValue* _tmp196_;
5016
ValaCCodeExpression* _tmp197_;
5017
const gchar* _tmp198_;
5018
ValaCCodeMemberAccess* _tmp199_;
5019
_tmp196_ = _result_;
5021
_tmp198_ = target_destroy_notify_cname;
5022
_tmp199_ = vala_ccode_member_access_new_pointer (_tmp197_, _tmp198_);
5023
_vala_ccode_node_unref0 (_tmp196_->delegate_target_destroy_notify_cvalue);
5024
_tmp196_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp199_;
5027
ValaGLibValue* _tmp200_;
5028
ValaCCodeExpression* _tmp201_;
5029
const gchar* _tmp202_;
5030
ValaCCodeMemberAccess* _tmp203_;
5031
ValaGLibValue* _tmp204_;
5032
ValaDataType* _tmp205_;
5033
ValaDataType* _tmp206_;
5036
_tmp200_ = _result_;
5038
_tmp202_ = target_cname;
5039
_tmp203_ = vala_ccode_member_access_new (_tmp201_, _tmp202_, FALSE);
5040
_vala_ccode_node_unref0 (_tmp200_->delegate_target_cvalue);
5041
_tmp200_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp203_;
5042
_tmp204_ = _result_;
5043
_tmp205_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp204_);
5044
_tmp206_ = _tmp205_;
5045
_tmp207_ = vala_data_type_get_value_owned (_tmp206_);
5046
_tmp208_ = _tmp207_;
5048
ValaGLibValue* _tmp209_;
5049
ValaCCodeExpression* _tmp210_;
5050
const gchar* _tmp211_;
5051
ValaCCodeMemberAccess* _tmp212_;
5052
_tmp209_ = _result_;
5054
_tmp211_ = target_destroy_notify_cname;
5055
_tmp212_ = vala_ccode_member_access_new (_tmp210_, _tmp211_, FALSE);
5056
_vala_ccode_node_unref0 (_tmp209_->delegate_target_destroy_notify_cvalue);
5057
_tmp209_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp212_;
5060
_g_free0 (target_destroy_notify_cname);
5061
_g_free0 (target_cname);
5064
_vala_ccode_node_unref0 (inst);
5065
_vala_code_node_unref0 (cl);
5066
_vala_code_node_unref0 (instance_target_type);
5067
_vala_ccode_node_unref0 (pub_inst);
5069
ValaField* _tmp213_;
5070
ValaMemberBinding _tmp214_;
5071
ValaMemberBinding _tmp215_;
5073
_tmp214_ = vala_field_get_binding (_tmp213_);
5074
_tmp215_ = _tmp214_;
5075
if (_tmp215_ == VALA_MEMBER_BINDING_CLASS) {
5076
ValaField* _tmp216_;
5077
ValaSymbol* _tmp217_;
5078
ValaSymbol* _tmp218_;
5079
ValaClass* _tmp219_;
5081
ValaClass* _tmp220_;
5082
gchar* _tmp221_ = NULL;
5086
ValaCCodeIdentifier* _tmp225_;
5087
ValaCCodeIdentifier* _tmp226_;
5088
ValaCCodeFunctionCall* _tmp227_;
5089
ValaCCodeFunctionCall* _tmp228_;
5090
ValaCCodeFunctionCall* cast;
5091
ValaCCodeExpression* klass = NULL;
5092
ValaTargetValue* _tmp229_;
5093
ValaCCodeFunctionCall* _tmp253_;
5094
ValaCCodeExpression* _tmp254_;
5095
ValaField* _tmp255_;
5096
ValaSymbolAccessibility _tmp256_;
5097
ValaSymbolAccessibility _tmp257_;
5099
_tmp217_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp216_);
5100
_tmp218_ = _tmp217_;
5101
_tmp219_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp218_, VALA_TYPE_CLASS, ValaClass));
5104
_tmp221_ = vala_ccode_base_module_get_ccode_upper_case_name ((ValaSymbol*) _tmp220_, NULL);
5105
_tmp222_ = _tmp221_;
5106
_tmp223_ = g_strconcat (_tmp222_, "_CLASS", NULL);
5107
_tmp224_ = _tmp223_;
5108
_tmp225_ = vala_ccode_identifier_new (_tmp224_);
5109
_tmp226_ = _tmp225_;
5110
_tmp227_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp226_);
5111
_tmp228_ = _tmp227_;
5112
_vala_ccode_node_unref0 (_tmp226_);
5113
_g_free0 (_tmp224_);
5114
_g_free0 (_tmp222_);
5116
_tmp229_ = instance;
5117
if (_tmp229_ == NULL) {
5118
ValaDataType* _tmp230_ = NULL;
5119
ValaDataType* _tmp231_;
5121
_tmp230_ = vala_ccode_base_module_get_this_type ((ValaCCodeBaseModule*) self);
5122
_tmp231_ = _tmp230_;
5123
_tmp232_ = _tmp231_ == NULL;
5124
_vala_code_node_unref0 (_tmp231_);
5126
ValaCCodeIdentifier* _tmp233_;
5127
_tmp233_ = vala_ccode_identifier_new ("klass");
5128
_vala_ccode_node_unref0 (klass);
5129
klass = (ValaCCodeExpression*) _tmp233_;
5131
ValaCCodeIdentifier* _tmp234_;
5132
ValaCCodeIdentifier* _tmp235_;
5133
ValaCCodeFunctionCall* _tmp236_;
5134
ValaCCodeFunctionCall* _tmp237_;
5135
ValaCCodeFunctionCall* k;
5136
ValaCCodeFunctionCall* _tmp238_;
5137
ValaCCodeIdentifier* _tmp239_;
5138
ValaCCodeIdentifier* _tmp240_;
5139
ValaCCodeFunctionCall* _tmp241_;
5140
ValaCCodeExpression* _tmp242_;
5141
_tmp234_ = vala_ccode_identifier_new ("G_OBJECT_GET_CLASS");
5142
_tmp235_ = _tmp234_;
5143
_tmp236_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp235_);
5144
_tmp237_ = _tmp236_;
5145
_vala_ccode_node_unref0 (_tmp235_);
5148
_tmp239_ = vala_ccode_identifier_new ("self");
5149
_tmp240_ = _tmp239_;
5150
vala_ccode_function_call_add_argument (_tmp238_, (ValaCCodeExpression*) _tmp240_);
5151
_vala_ccode_node_unref0 (_tmp240_);
5153
_tmp242_ = _vala_ccode_node_ref0 ((ValaCCodeExpression*) _tmp241_);
5154
_vala_ccode_node_unref0 (klass);
5156
_vala_ccode_node_unref0 (k);
5159
ValaCCodeIdentifier* _tmp243_;
5160
ValaCCodeIdentifier* _tmp244_;
5161
ValaCCodeFunctionCall* _tmp245_;
5162
ValaCCodeFunctionCall* _tmp246_;
5163
ValaCCodeFunctionCall* k;
5164
ValaCCodeFunctionCall* _tmp247_;
5165
ValaTargetValue* _tmp248_;
5166
ValaCCodeExpression* _tmp249_ = NULL;
5167
ValaCCodeExpression* _tmp250_;
5168
ValaCCodeFunctionCall* _tmp251_;
5169
ValaCCodeExpression* _tmp252_;
5170
_tmp243_ = vala_ccode_identifier_new ("G_OBJECT_GET_CLASS");
5171
_tmp244_ = _tmp243_;
5172
_tmp245_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp244_);
5173
_tmp246_ = _tmp245_;
5174
_vala_ccode_node_unref0 (_tmp244_);
5177
_tmp248_ = instance;
5178
_tmp249_ = vala_ccode_base_module_get_cvalue_ ((ValaCCodeBaseModule*) self, _tmp248_);
5179
_tmp250_ = _tmp249_;
5180
vala_ccode_function_call_add_argument (_tmp247_, _tmp250_);
5181
_vala_ccode_node_unref0 (_tmp250_);
5183
_tmp252_ = _vala_ccode_node_ref0 ((ValaCCodeExpression*) _tmp251_);
5184
_vala_ccode_node_unref0 (klass);
5186
_vala_ccode_node_unref0 (k);
5190
vala_ccode_function_call_add_argument (_tmp253_, _tmp254_);
5192
_tmp256_ = vala_symbol_get_access ((ValaSymbol*) _tmp255_);
5193
_tmp257_ = _tmp256_;
5194
if (_tmp257_ == VALA_SYMBOL_ACCESSIBILITY_PRIVATE) {
5195
ValaClass* _tmp258_;
5196
gchar* _tmp259_ = NULL;
5198
gchar* _tmp261_ = NULL;
5200
ValaCCodeIdentifier* _tmp263_;
5201
ValaCCodeIdentifier* _tmp264_;
5202
ValaCCodeFunctionCall* _tmp265_;
5203
ValaCCodeFunctionCall* _tmp266_;
5204
ValaCCodeFunctionCall* ccall;
5205
ValaCCodeFunctionCall* _tmp267_;
5206
ValaCCodeExpression* _tmp268_;
5207
ValaGLibValue* _tmp269_;
5208
ValaCCodeFunctionCall* _tmp270_;
5209
ValaField* _tmp271_;
5210
gchar* _tmp272_ = NULL;
5212
ValaCCodeMemberAccess* _tmp274_;
5214
_tmp259_ = vala_ccode_base_module_get_ccode_upper_case_name ((ValaSymbol*) _tmp258_, NULL);
5215
_tmp260_ = _tmp259_;
5216
_tmp261_ = g_strdup_printf ("%s_GET_CLASS_PRIVATE", _tmp260_);
5217
_tmp262_ = _tmp261_;
5218
_tmp263_ = vala_ccode_identifier_new (_tmp262_);
5219
_tmp264_ = _tmp263_;
5220
_tmp265_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp264_);
5221
_tmp266_ = _tmp265_;
5222
_vala_ccode_node_unref0 (_tmp264_);
5223
_g_free0 (_tmp262_);
5224
_g_free0 (_tmp260_);
5228
vala_ccode_function_call_add_argument (_tmp267_, _tmp268_);
5229
_tmp269_ = _result_;
5232
_tmp272_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp271_);
5233
_tmp273_ = _tmp272_;
5234
_tmp274_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp270_, _tmp273_);
5235
_vala_ccode_node_unref0 (_tmp269_->cvalue);
5236
_tmp269_->cvalue = (ValaCCodeExpression*) _tmp274_;
5237
_g_free0 (_tmp273_);
5238
_vala_ccode_node_unref0 (ccall);
5240
ValaGLibValue* _tmp275_;
5241
ValaCCodeFunctionCall* _tmp276_;
5242
ValaField* _tmp277_;
5243
gchar* _tmp278_ = NULL;
5245
ValaCCodeMemberAccess* _tmp280_;
5246
_tmp275_ = _result_;
5249
_tmp278_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp277_);
5250
_tmp279_ = _tmp278_;
5251
_tmp280_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp276_, _tmp279_);
5252
_vala_ccode_node_unref0 (_tmp275_->cvalue);
5253
_tmp275_->cvalue = (ValaCCodeExpression*) _tmp280_;
5254
_g_free0 (_tmp279_);
5256
_vala_ccode_node_unref0 (klass);
5257
_vala_ccode_node_unref0 (cast);
5258
_vala_code_node_unref0 (cl);
5260
ValaField* _tmp281_;
5261
ValaCCodeFile* _tmp282_;
5262
ValaGLibValue* _tmp283_;
5263
ValaField* _tmp284_;
5264
gchar* _tmp285_ = NULL;
5266
ValaCCodeIdentifier* _tmp287_;
5267
gboolean _tmp288_ = FALSE;
5268
ValaArrayType* _tmp289_;
5271
_tmp282_ = ((ValaCCodeBaseModule*) self)->cfile;
5272
vala_ccode_base_module_generate_field_declaration ((ValaCCodeBaseModule*) self, _tmp281_, _tmp282_);
5273
_tmp283_ = _result_;
5275
_tmp285_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp284_);
5276
_tmp286_ = _tmp285_;
5277
_tmp287_ = vala_ccode_identifier_new (_tmp286_);
5278
_vala_ccode_node_unref0 (_tmp283_->cvalue);
5279
_tmp283_->cvalue = (ValaCCodeExpression*) _tmp287_;
5280
_g_free0 (_tmp286_);
5281
_tmp289_ = array_type;
5282
if (_tmp289_ != NULL) {
5283
ValaField* _tmp290_;
5284
gboolean _tmp291_ = FALSE;
5286
_tmp291_ = vala_ccode_base_module_get_ccode_array_length ((ValaCodeNode*) _tmp290_);
5287
_tmp288_ = _tmp291_;
5291
_tmp292_ = _tmp288_;
5293
gboolean _tmp315_ = FALSE;
5294
ValaArrayType* _tmp316_;
5307
ValaArrayType* _tmp297_;
5310
gchar* length_cname = NULL;
5311
ValaField* _tmp300_;
5312
gchar* _tmp301_ = NULL;
5315
ValaGLibValue* _tmp311_;
5316
const gchar* _tmp312_;
5317
ValaCCodeIdentifier* _tmp313_;
5318
ValaCCodeIdentifier* _tmp314_;
5319
_tmp294_ = _tmp293_;
5327
_tmp297_ = array_type;
5328
_tmp298_ = vala_array_type_get_rank (_tmp297_);
5329
_tmp299_ = _tmp298_;
5330
if (!(_tmp296_ <= _tmp299_)) {
5334
_tmp301_ = vala_ccode_base_module_get_ccode_array_length_name ((ValaCodeNode*) _tmp300_);
5335
_tmp302_ = _tmp301_;
5336
_tmp303_ = _tmp302_ != NULL;
5337
_g_free0 (_tmp302_);
5339
ValaField* _tmp304_;
5340
gchar* _tmp305_ = NULL;
5342
_tmp305_ = vala_ccode_base_module_get_ccode_array_length_name ((ValaCodeNode*) _tmp304_);
5343
_g_free0 (length_cname);
5344
length_cname = _tmp305_;
5346
ValaField* _tmp306_;
5347
gchar* _tmp307_ = NULL;
5350
gchar* _tmp310_ = NULL;
5352
_tmp307_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp306_);
5353
_tmp308_ = _tmp307_;
5355
_tmp310_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, _tmp308_, _tmp309_);
5356
_g_free0 (length_cname);
5357
length_cname = _tmp310_;
5358
_g_free0 (_tmp308_);
5360
_tmp311_ = _result_;
5361
_tmp312_ = length_cname;
5362
_tmp313_ = vala_ccode_identifier_new (_tmp312_);
5363
_tmp314_ = _tmp313_;
5364
vala_glib_value_append_array_length_cvalue (_tmp311_, (ValaCCodeExpression*) _tmp314_);
5365
_vala_ccode_node_unref0 (_tmp314_);
5366
_g_free0 (length_cname);
5370
_tmp316_ = array_type;
5371
_tmp317_ = vala_array_type_get_rank (_tmp316_);
5372
_tmp318_ = _tmp317_;
5373
if (_tmp318_ == 1) {
5374
ValaField* _tmp319_;
5375
gboolean _tmp320_ = FALSE;
5377
_tmp320_ = vala_symbol_is_internal_symbol ((ValaSymbol*) _tmp319_);
5378
_tmp315_ = _tmp320_;
5382
_tmp321_ = _tmp315_;
5384
ValaGLibValue* _tmp322_;
5385
ValaField* _tmp323_;
5386
gchar* _tmp324_ = NULL;
5388
gchar* _tmp326_ = NULL;
5390
ValaCCodeIdentifier* _tmp328_;
5391
ValaCCodeIdentifier* _tmp329_;
5392
_tmp322_ = _result_;
5394
_tmp324_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp323_);
5395
_tmp325_ = _tmp324_;
5396
_tmp326_ = vala_ccode_base_module_get_array_size_cname ((ValaCCodeBaseModule*) self, _tmp325_);
5397
_tmp327_ = _tmp326_;
5398
_tmp328_ = vala_ccode_identifier_new (_tmp327_);
5399
_tmp329_ = _tmp328_;
5400
vala_ccode_base_module_set_array_size_cvalue ((ValaCCodeBaseModule*) self, (ValaTargetValue*) _tmp322_, (ValaCCodeExpression*) _tmp329_);
5401
_vala_ccode_node_unref0 (_tmp329_);
5402
_g_free0 (_tmp327_);
5403
_g_free0 (_tmp325_);
5406
gboolean _tmp330_ = FALSE;
5407
gboolean _tmp331_ = FALSE;
5408
ValaDelegateType* _tmp332_;
5411
_tmp332_ = delegate_type;
5412
if (_tmp332_ != NULL) {
5413
ValaDelegateType* _tmp333_;
5414
ValaDelegate* _tmp334_;
5415
ValaDelegate* _tmp335_;
5418
_tmp333_ = delegate_type;
5419
_tmp334_ = vala_delegate_type_get_delegate_symbol (_tmp333_);
5420
_tmp335_ = _tmp334_;
5421
_tmp336_ = vala_delegate_get_has_target (_tmp335_);
5422
_tmp337_ = _tmp336_;
5423
_tmp331_ = _tmp337_;
5427
_tmp338_ = _tmp331_;
5429
ValaField* _tmp339_;
5430
gboolean _tmp340_ = FALSE;
5432
_tmp340_ = vala_ccode_base_module_get_ccode_delegate_target ((ValaCodeNode*) _tmp339_);
5433
_tmp330_ = _tmp340_;
5437
_tmp341_ = _tmp330_;
5439
ValaGLibValue* _tmp342_;
5440
ValaField* _tmp343_;
5441
gchar* _tmp344_ = NULL;
5443
ValaCCodeIdentifier* _tmp346_;
5444
ValaGLibValue* _tmp347_;
5445
ValaDataType* _tmp348_;
5446
ValaDataType* _tmp349_;
5449
_tmp342_ = _result_;
5451
_tmp344_ = vala_ccode_base_module_get_ccode_delegate_target_name ((ValaVariable*) _tmp343_);
5452
_tmp345_ = _tmp344_;
5453
_tmp346_ = vala_ccode_identifier_new (_tmp345_);
5454
_vala_ccode_node_unref0 (_tmp342_->delegate_target_cvalue);
5455
_tmp342_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp346_;
5456
_g_free0 (_tmp345_);
5457
_tmp347_ = _result_;
5458
_tmp348_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp347_);
5459
_tmp349_ = _tmp348_;
5460
_tmp350_ = vala_data_type_get_value_owned (_tmp349_);
5461
_tmp351_ = _tmp350_;
5463
ValaGLibValue* _tmp352_;
5464
ValaField* _tmp353_;
5465
gchar* _tmp354_ = NULL;
5467
gchar* _tmp356_ = NULL;
5469
ValaCCodeIdentifier* _tmp358_;
5470
_tmp352_ = _result_;
5472
_tmp354_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp353_);
5473
_tmp355_ = _tmp354_;
5474
_tmp356_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp355_);
5475
_tmp357_ = _tmp356_;
5476
_tmp358_ = vala_ccode_identifier_new (_tmp357_);
5477
_vala_ccode_node_unref0 (_tmp352_->delegate_target_destroy_notify_cvalue);
5478
_tmp352_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp358_;
5479
_g_free0 (_tmp357_);
5480
_g_free0 (_tmp355_);
5486
result = (ValaTargetValue*) _result_;
5487
_vala_code_node_unref0 (delegate_type);
5488
_vala_code_node_unref0 (array_type);
5489
_vala_code_node_unref0 (value_type);
5494
static ValaTargetValue* vala_ccode_member_access_module_real_load_variable (ValaCCodeBaseModule* base, ValaVariable* variable, ValaTargetValue* value) {
5495
ValaCCodeMemberAccessModule * self;
5496
ValaTargetValue* result = NULL;
5497
ValaTargetValue* _tmp0_;
5498
ValaGLibValue* _tmp1_;
5499
ValaGLibValue* _result_;
5500
ValaGLibValue* _tmp2_;
5501
ValaDataType* _tmp3_;
5502
ValaDataType* _tmp4_;
5503
ValaArrayType* _tmp5_;
5504
ValaArrayType* array_type;
5505
ValaGLibValue* _tmp6_;
5506
ValaDataType* _tmp7_;
5507
ValaDataType* _tmp8_;
5508
ValaDelegateType* _tmp9_;
5509
ValaDelegateType* delegate_type;
5510
ValaArrayType* _tmp10_;
5511
ValaGLibValue* _tmp102_;
5512
ValaDataType* _tmp103_;
5513
ValaDataType* _tmp104_;
5515
ValaGLibValue* _tmp105_;
5516
ValaDataType* _tmp106_;
5517
ValaDataType* _tmp107_;
5518
gboolean _tmp108_ = FALSE;
5519
gboolean _tmp109_ = FALSE;
5520
ValaVariable* _tmp110_;
5522
gboolean _tmp115_ = FALSE;
5523
ValaVariable* _tmp116_;
5527
ValaVariable* _tmp124_;
5528
ValaLocalVariable* _tmp125_;
5529
ValaLocalVariable* local;
5530
gboolean _tmp126_ = FALSE;
5531
ValaLocalVariable* _tmp127_;
5534
self = (ValaCCodeMemberAccessModule*) base;
5535
g_return_val_if_fail (variable != NULL, NULL);
5536
g_return_val_if_fail (value != NULL, NULL);
5538
_tmp1_ = _vala_target_value_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, VALA_TYPE_GLIB_VALUE, ValaGLibValue));
5541
_tmp3_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp2_);
5543
_tmp5_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, VALA_TYPE_ARRAY_TYPE) ? ((ValaArrayType*) _tmp4_) : NULL);
5544
array_type = _tmp5_;
5546
_tmp7_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp6_);
5548
_tmp9_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, VALA_TYPE_DELEGATE_TYPE) ? ((ValaDelegateType*) _tmp8_) : NULL);
5549
delegate_type = _tmp9_;
5550
_tmp10_ = array_type;
5551
if (_tmp10_ != NULL) {
5552
ValaArrayType* _tmp11_;
5555
ValaGLibValue* _tmp86_;
5556
_tmp11_ = array_type;
5557
_tmp12_ = vala_array_type_get_fixed_length (_tmp11_);
5560
ValaGLibValue* _tmp14_;
5561
ValaGLibValue* _tmp15_;
5562
ValaArrayType* _tmp16_;
5565
gchar* _tmp19_ = NULL;
5567
ValaCCodeConstant* _tmp21_;
5568
ValaCCodeConstant* _tmp22_;
5569
ValaGLibValue* _tmp23_;
5571
_vala_iterable_unref0 (_tmp14_->array_length_cvalues);
5572
_tmp14_->array_length_cvalues = NULL;
5574
_tmp16_ = array_type;
5575
_tmp17_ = vala_array_type_get_length (_tmp16_);
5577
_tmp19_ = g_strdup_printf ("%i", _tmp18_);
5579
_tmp21_ = vala_ccode_constant_new (_tmp20_);
5581
vala_glib_value_append_array_length_cvalue (_tmp15_, (ValaCCodeExpression*) _tmp22_);
5582
_vala_ccode_node_unref0 (_tmp22_);
5585
_tmp23_->lvalue = FALSE;
5587
ValaVariable* _tmp24_;
5588
gboolean _tmp25_ = FALSE;
5590
_tmp25_ = vala_ccode_base_module_get_ccode_array_null_terminated ((ValaCodeNode*) _tmp24_);
5592
ValaCCodeIdentifier* _tmp26_;
5593
ValaCCodeIdentifier* _tmp27_;
5594
ValaCCodeFunctionCall* _tmp28_;
5595
ValaCCodeFunctionCall* _tmp29_;
5596
ValaCCodeFunctionCall* len_call;
5597
ValaCCodeFunctionCall* _tmp30_;
5598
ValaGLibValue* _tmp31_;
5599
ValaCCodeExpression* _tmp32_;
5600
ValaGLibValue* _tmp33_;
5601
ValaGLibValue* _tmp34_;
5602
ValaCCodeFunctionCall* _tmp35_;
5603
ValaGLibValue* _tmp36_;
5604
((ValaCCodeBaseModule*) self)->requires_array_length = TRUE;
5605
_tmp26_ = vala_ccode_identifier_new ("_vala_array_length");
5607
_tmp28_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp27_);
5609
_vala_ccode_node_unref0 (_tmp27_);
5613
_tmp32_ = _tmp31_->cvalue;
5614
vala_ccode_function_call_add_argument (_tmp30_, _tmp32_);
5616
_vala_iterable_unref0 (_tmp33_->array_length_cvalues);
5617
_tmp33_->array_length_cvalues = NULL;
5620
vala_glib_value_append_array_length_cvalue (_tmp34_, (ValaCCodeExpression*) _tmp35_);
5622
_tmp36_->lvalue = FALSE;
5623
_vala_ccode_node_unref0 (len_call);
5625
ValaVariable* _tmp37_;
5626
gchar* _tmp38_ = NULL;
5630
_tmp38_ = vala_ccode_base_module_get_ccode_array_length_expr ((ValaCodeNode*) _tmp37_);
5632
_tmp40_ = _tmp39_ != NULL;
5635
ValaVariable* _tmp41_;
5636
gchar* _tmp42_ = NULL;
5638
ValaCCodeConstant* _tmp44_;
5639
ValaCCodeConstant* _tmp45_;
5640
ValaCCodeConstant* length_expr;
5641
ValaGLibValue* _tmp46_;
5642
ValaGLibValue* _tmp47_;
5643
ValaCCodeConstant* _tmp48_;
5644
ValaGLibValue* _tmp49_;
5646
_tmp42_ = vala_ccode_base_module_get_ccode_array_length_expr ((ValaCodeNode*) _tmp41_);
5648
_tmp44_ = vala_ccode_constant_new (_tmp43_);
5651
length_expr = _tmp45_;
5653
_vala_iterable_unref0 (_tmp46_->array_length_cvalues);
5654
_tmp46_->array_length_cvalues = NULL;
5656
_tmp48_ = length_expr;
5657
vala_glib_value_append_array_length_cvalue (_tmp47_, (ValaCCodeExpression*) _tmp48_);
5659
_tmp49_->lvalue = FALSE;
5660
_vala_ccode_node_unref0 (length_expr);
5662
ValaVariable* _tmp50_;
5663
gboolean _tmp51_ = FALSE;
5665
_tmp51_ = vala_ccode_base_module_get_ccode_array_length ((ValaCodeNode*) _tmp50_);
5667
ValaGLibValue* _tmp52_;
5668
ValaGLibValue* _tmp63_;
5670
_vala_iterable_unref0 (_tmp52_->array_length_cvalues);
5671
_tmp52_->array_length_cvalues = NULL;
5681
ValaArrayType* _tmp57_;
5684
ValaGLibValue* _tmp60_;
5685
ValaCCodeConstant* _tmp61_;
5686
ValaCCodeConstant* _tmp62_;
5695
_tmp57_ = array_type;
5696
_tmp58_ = vala_array_type_get_rank (_tmp57_);
5698
if (!(_tmp56_ <= _tmp59_)) {
5702
_tmp61_ = vala_ccode_constant_new ("-1");
5704
vala_glib_value_append_array_length_cvalue (_tmp60_, (ValaCCodeExpression*) _tmp62_);
5705
_vala_ccode_node_unref0 (_tmp62_);
5710
_tmp63_->lvalue = FALSE;
5712
ValaVariable* _tmp64_;
5713
gchar* _tmp65_ = NULL;
5717
_tmp65_ = vala_ccode_base_module_get_ccode_array_length_type ((ValaCodeNode*) _tmp64_);
5719
_tmp67_ = _tmp66_ != NULL;
5722
ValaGLibValue* _tmp85_;
5732
ValaArrayType* _tmp72_;
5735
ValaGLibValue* _tmp75_;
5738
ValaGLibValue* _tmp78_;
5741
gpointer _tmp81_ = NULL;
5742
ValaCCodeExpression* _tmp82_;
5743
ValaCCodeCastExpression* _tmp83_;
5744
ValaCCodeCastExpression* _tmp84_;
5753
_tmp72_ = array_type;
5754
_tmp73_ = vala_array_type_get_rank (_tmp72_);
5756
if (!(_tmp71_ <= _tmp74_)) {
5760
_tmp76_ = _tmp75_->array_length_cvalues;
5763
_tmp79_ = _tmp78_->array_length_cvalues;
5765
_tmp81_ = vala_list_get (_tmp79_, _tmp80_ - 1);
5766
_tmp82_ = (ValaCCodeExpression*) _tmp81_;
5767
_tmp83_ = vala_ccode_cast_expression_new (_tmp82_, "gint");
5769
vala_list_set (_tmp76_, _tmp77_ - 1, (ValaCCodeExpression*) _tmp84_);
5770
_vala_ccode_node_unref0 (_tmp84_);
5771
_vala_ccode_node_unref0 (_tmp82_);
5776
_tmp85_->lvalue = FALSE;
5783
_vala_ccode_node_unref0 (_tmp86_->array_size_cvalue);
5784
_tmp86_->array_size_cvalue = NULL;
5786
ValaDelegateType* _tmp87_;
5787
_tmp87_ = delegate_type;
5788
if (_tmp87_ != NULL) {
5789
gboolean _tmp88_ = FALSE;
5790
ValaDelegateType* _tmp89_;
5791
ValaDelegate* _tmp90_;
5792
ValaDelegate* _tmp91_;
5796
ValaGLibValue* _tmp99_;
5797
ValaCCodeConstant* _tmp100_;
5798
ValaGLibValue* _tmp101_;
5799
_tmp89_ = delegate_type;
5800
_tmp90_ = vala_delegate_type_get_delegate_symbol (_tmp89_);
5802
_tmp92_ = vala_delegate_get_has_target (_tmp91_);
5807
ValaVariable* _tmp94_;
5808
gboolean _tmp95_ = FALSE;
5810
_tmp95_ = vala_ccode_base_module_get_ccode_delegate_target ((ValaCodeNode*) _tmp94_);
5815
ValaGLibValue* _tmp97_;
5816
ValaCCodeConstant* _tmp98_;
5818
_tmp98_ = vala_ccode_constant_new ("NULL");
5819
_vala_ccode_node_unref0 (_tmp97_->delegate_target_cvalue);
5820
_tmp97_->delegate_target_cvalue = (ValaCCodeExpression*) _tmp98_;
5823
_tmp100_ = vala_ccode_constant_new ("NULL");
5824
_vala_ccode_node_unref0 (_tmp99_->delegate_target_destroy_notify_cvalue);
5825
_tmp99_->delegate_target_destroy_notify_cvalue = (ValaCCodeExpression*) _tmp100_;
5826
_tmp101_ = _result_;
5827
_tmp101_->lvalue = FALSE;
5830
_tmp102_ = _result_;
5831
_tmp103_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp102_);
5832
_tmp104_ = _tmp103_;
5833
vala_data_type_set_value_owned (_tmp104_, FALSE);
5835
_tmp105_ = _result_;
5836
_tmp106_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp105_);
5837
_tmp107_ = _tmp106_;
5838
_tmp108_ = vala_ccode_base_module_is_lvalue_access_allowed ((ValaCCodeBaseModule*) self, _tmp107_);
5842
_tmp110_ = variable;
5843
if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp110_, VALA_TYPE_PARAMETER)) {
5844
ValaVariable* _tmp111_;
5845
const gchar* _tmp112_;
5846
const gchar* _tmp113_;
5847
_tmp111_ = variable;
5848
_tmp112_ = vala_symbol_get_name ((ValaSymbol*) _tmp111_);
5849
_tmp113_ = _tmp112_;
5850
_tmp109_ = g_strcmp0 (_tmp113_, "this") == 0;
5854
_tmp114_ = _tmp109_;
5858
_tmp116_ = variable;
5859
_tmp117_ = vala_variable_get_single_assignment (_tmp116_);
5860
_tmp118_ = _tmp117_;
5862
ValaGLibValue* _tmp119_;
5863
ValaDataType* _tmp120_;
5864
ValaDataType* _tmp121_;
5865
gboolean _tmp122_ = FALSE;
5866
_tmp119_ = _result_;
5867
_tmp120_ = vala_target_value_get_value_type ((ValaTargetValue*) _tmp119_);
5868
_tmp121_ = _tmp120_;
5869
_tmp122_ = vala_data_type_is_real_non_null_struct_type (_tmp121_);
5870
_tmp115_ = !_tmp122_;
5874
_tmp123_ = _tmp115_;
5878
_tmp124_ = variable;
5879
_tmp125_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp124_, VALA_TYPE_LOCAL_VARIABLE) ? ((ValaLocalVariable*) _tmp124_) : NULL);
5882
if (_tmp127_ != NULL) {
5883
ValaLocalVariable* _tmp128_;
5887
_tmp129_ = vala_local_variable_get_floating (_tmp128_);
5888
_tmp130_ = _tmp129_;
5889
_tmp126_ = _tmp130_;
5893
_tmp131_ = _tmp126_;
5897
_tmp132_ = use_temp;
5899
ValaGLibValue* _tmp133_;
5900
ValaVariable* _tmp134_;
5901
ValaTargetValue* _tmp135_ = NULL;
5902
_tmp133_ = _result_;
5903
_tmp134_ = variable;
5904
_tmp135_ = vala_ccode_base_module_store_temp_value ((ValaCCodeBaseModule*) self, (ValaTargetValue*) _tmp133_, (ValaCodeNode*) _tmp134_, NULL);
5905
_vala_target_value_unref0 (_result_);
5906
_result_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp135_, VALA_TYPE_GLIB_VALUE, ValaGLibValue);
5908
result = (ValaTargetValue*) _result_;
5909
_vala_code_node_unref0 (local);
5910
_vala_code_node_unref0 (delegate_type);
5911
_vala_code_node_unref0 (array_type);
5916
static ValaTargetValue* vala_ccode_member_access_module_real_load_local (ValaCodeGenerator* base, ValaLocalVariable* local) {
5917
ValaCCodeMemberAccessModule * self;
5918
ValaTargetValue* result = NULL;
5919
ValaLocalVariable* _tmp0_;
5920
ValaLocalVariable* _tmp1_;
5921
ValaTargetValue* _tmp2_ = NULL;
5922
ValaTargetValue* _tmp3_;
5923
ValaTargetValue* _tmp4_ = NULL;
5924
ValaTargetValue* _tmp5_;
5925
self = (ValaCCodeMemberAccessModule*) base;
5926
g_return_val_if_fail (local != NULL, NULL);
5929
_tmp2_ = vala_ccode_base_module_get_local_cvalue ((ValaCCodeBaseModule*) self, _tmp1_);
5931
_tmp4_ = vala_ccode_base_module_load_variable ((ValaCCodeBaseModule*) self, (ValaVariable*) _tmp0_, _tmp3_);
5933
_vala_target_value_unref0 (_tmp3_);
5939
static ValaTargetValue* vala_ccode_member_access_module_real_load_parameter (ValaCodeGenerator* base, ValaParameter* param) {
5940
ValaCCodeMemberAccessModule * self;
5941
ValaTargetValue* result = NULL;
5942
ValaParameter* _tmp0_;
5943
ValaParameter* _tmp1_;
5944
ValaTargetValue* _tmp2_ = NULL;
5945
ValaTargetValue* _tmp3_;
5946
ValaTargetValue* _tmp4_ = NULL;
5947
ValaTargetValue* _tmp5_;
5948
self = (ValaCCodeMemberAccessModule*) base;
5949
g_return_val_if_fail (param != NULL, NULL);
5952
_tmp2_ = vala_ccode_base_module_get_parameter_cvalue ((ValaCCodeBaseModule*) self, _tmp1_);
5954
_tmp4_ = vala_ccode_base_module_load_variable ((ValaCCodeBaseModule*) self, (ValaVariable*) _tmp0_, _tmp3_);
5956
_vala_target_value_unref0 (_tmp3_);
5962
static ValaTargetValue* vala_ccode_member_access_module_real_load_this_parameter (ValaCCodeBaseModule* base, ValaTypeSymbol* sym) {
5963
ValaCCodeMemberAccessModule * self;
5964
ValaTargetValue* result = NULL;
5965
ValaTypeSymbol* _tmp0_;
5966
ValaDataType* _tmp1_ = NULL;
5967
ValaDataType* _tmp2_;
5968
ValaParameter* _tmp3_;
5969
ValaParameter* _tmp4_;
5970
ValaParameter* param;
5971
ValaTargetValue* _tmp5_ = NULL;
5972
self = (ValaCCodeMemberAccessModule*) base;
5973
g_return_val_if_fail (sym != NULL, NULL);
5975
_tmp1_ = vala_ccode_base_module_get_data_type_for_symbol (_tmp0_);
5977
_tmp3_ = vala_parameter_new ("this", _tmp2_, NULL);
5979
_vala_code_node_unref0 (_tmp2_);
5981
_tmp5_ = vala_code_generator_load_parameter ((ValaCodeGenerator*) self, param);
5983
_vala_code_node_unref0 (param);
5988
static ValaTargetValue* vala_ccode_member_access_module_real_load_field (ValaCodeGenerator* base, ValaField* field, ValaTargetValue* instance) {
5989
ValaCCodeMemberAccessModule * self;
5990
ValaTargetValue* result = NULL;
5993
ValaTargetValue* _tmp2_;
5994
ValaTargetValue* _tmp3_ = NULL;
5995
ValaTargetValue* _tmp4_;
5996
ValaTargetValue* _tmp5_ = NULL;
5997
ValaTargetValue* _tmp6_;
5998
self = (ValaCCodeMemberAccessModule*) base;
5999
g_return_val_if_fail (field != NULL, NULL);
6003
_tmp3_ = vala_ccode_base_module_get_field_cvalue ((ValaCCodeBaseModule*) self, _tmp1_, _tmp2_);
6005
_tmp5_ = vala_ccode_base_module_load_variable ((ValaCCodeBaseModule*) self, (ValaVariable*) _tmp0_, _tmp4_);
6007
_vala_target_value_unref0 (_tmp4_);
6013
ValaCCodeMemberAccessModule* vala_ccode_member_access_module_construct (GType object_type) {
6014
ValaCCodeMemberAccessModule* self = NULL;
6015
self = (ValaCCodeMemberAccessModule*) vala_ccode_control_flow_module_construct (object_type);
6020
static void vala_ccode_member_access_module_class_init (ValaCCodeMemberAccessModuleClass * klass) {
6021
vala_ccode_member_access_module_parent_class = g_type_class_peek_parent (klass);
6022
VALA_CODE_VISITOR_CLASS (klass)->visit_member_access = vala_ccode_member_access_module_real_visit_member_access;
6023
VALA_CCODE_BASE_MODULE_CLASS (klass)->get_local_cvalue = vala_ccode_member_access_module_real_get_local_cvalue;
6024
VALA_CCODE_BASE_MODULE_CLASS (klass)->get_parameter_cvalue = vala_ccode_member_access_module_real_get_parameter_cvalue;
6025
VALA_CCODE_BASE_MODULE_CLASS (klass)->get_field_cvalue = vala_ccode_member_access_module_real_get_field_cvalue;
6026
VALA_CCODE_BASE_MODULE_CLASS (klass)->load_variable = vala_ccode_member_access_module_real_load_variable;
6027
VALA_CODE_GENERATOR_CLASS (klass)->load_local = vala_ccode_member_access_module_real_load_local;
6028
VALA_CODE_GENERATOR_CLASS (klass)->load_parameter = vala_ccode_member_access_module_real_load_parameter;
6029
VALA_CCODE_BASE_MODULE_CLASS (klass)->load_this_parameter = vala_ccode_member_access_module_real_load_this_parameter;
6030
VALA_CODE_GENERATOR_CLASS (klass)->load_field = vala_ccode_member_access_module_real_load_field;
6034
static void vala_ccode_member_access_module_instance_init (ValaCCodeMemberAccessModule * self) {
6038
GType vala_ccode_member_access_module_get_type (void) {
6039
static volatile gsize vala_ccode_member_access_module_type_id__volatile = 0;
6040
if (g_once_init_enter (&vala_ccode_member_access_module_type_id__volatile)) {
6041
static const GTypeInfo g_define_type_info = { sizeof (ValaCCodeMemberAccessModuleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_ccode_member_access_module_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaCCodeMemberAccessModule), 0, (GInstanceInitFunc) vala_ccode_member_access_module_instance_init, NULL };
6042
GType vala_ccode_member_access_module_type_id;
6043
vala_ccode_member_access_module_type_id = g_type_register_static (VALA_TYPE_CCODE_CONTROL_FLOW_MODULE, "ValaCCodeMemberAccessModule", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
6044
g_once_init_leave (&vala_ccode_member_access_module_type_id__volatile, vala_ccode_member_access_module_type_id);
6046
return vala_ccode_member_access_module_type_id__volatile;