91
91
typedef struct _ValaSymbol ValaSymbol;
92
92
typedef struct _ValaSymbolClass ValaSymbolClass;
94
#define VALA_TYPE_VARIABLE (vala_variable_get_type ())
95
#define VALA_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_VARIABLE, ValaVariable))
96
#define VALA_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_VARIABLE, ValaVariableClass))
97
#define VALA_IS_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_VARIABLE))
98
#define VALA_IS_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_VARIABLE))
99
#define VALA_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_VARIABLE, ValaVariableClass))
101
typedef struct _ValaVariable ValaVariable;
102
typedef struct _ValaVariableClass ValaVariableClass;
94
104
#define VALA_TYPE_LOCAL_VARIABLE (vala_local_variable_get_type ())
95
105
#define VALA_LOCAL_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_LOCAL_VARIABLE, ValaLocalVariable))
96
106
#define VALA_LOCAL_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_LOCAL_VARIABLE, ValaLocalVariableClass))
266
276
typedef struct _ValaEnum ValaEnum;
267
277
typedef struct _ValaEnumClass ValaEnumClass;
279
#define VALA_TYPE_CONSTANT (vala_constant_get_type ())
280
#define VALA_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CONSTANT, ValaConstant))
281
#define VALA_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CONSTANT, ValaConstantClass))
282
#define VALA_IS_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CONSTANT))
283
#define VALA_IS_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CONSTANT))
284
#define VALA_CONSTANT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CONSTANT, ValaConstantClass))
286
typedef struct _ValaConstant ValaConstant;
287
typedef struct _ValaConstantClass ValaConstantClass;
269
289
#define VALA_TYPE_ENUM_VALUE (vala_enum_value_get_type ())
270
290
#define VALA_ENUM_VALUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ENUM_VALUE, ValaEnumValue))
271
291
#define VALA_ENUM_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ENUM_VALUE, ValaEnumValueClass))
306
326
typedef struct _ValaDelegate ValaDelegate;
307
327
typedef struct _ValaDelegateClass ValaDelegateClass;
309
#define VALA_TYPE_MEMBER (vala_member_get_type ())
310
#define VALA_MEMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_MEMBER, ValaMember))
311
#define VALA_MEMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_MEMBER, ValaMemberClass))
312
#define VALA_IS_MEMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_MEMBER))
313
#define VALA_IS_MEMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_MEMBER))
314
#define VALA_MEMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_MEMBER, ValaMemberClass))
316
typedef struct _ValaMember ValaMember;
317
typedef struct _ValaMemberClass ValaMemberClass;
319
#define VALA_TYPE_CONSTANT (vala_constant_get_type ())
320
#define VALA_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CONSTANT, ValaConstant))
321
#define VALA_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CONSTANT, ValaConstantClass))
322
#define VALA_IS_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CONSTANT))
323
#define VALA_IS_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CONSTANT))
324
#define VALA_CONSTANT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CONSTANT, ValaConstantClass))
326
typedef struct _ValaConstant ValaConstant;
327
typedef struct _ValaConstantClass ValaConstantClass;
329
329
#define VALA_TYPE_FIELD (vala_field_get_type ())
330
330
#define VALA_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_FIELD, ValaField))
331
331
#define VALA_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_FIELD, ValaFieldClass))
1158
1158
void (*visit_error_domain) (ValaCodeVisitor* self, ValaErrorDomain* edomain);
1159
1159
void (*visit_error_code) (ValaCodeVisitor* self, ValaErrorCode* ecode);
1160
1160
void (*visit_delegate) (ValaCodeVisitor* self, ValaDelegate* d);
1161
void (*visit_member) (ValaCodeVisitor* self, ValaMember* m);
1162
1161
void (*visit_constant) (ValaCodeVisitor* self, ValaConstant* c);
1163
1162
void (*visit_field) (ValaCodeVisitor* self, ValaField* f);
1164
1163
void (*visit_method) (ValaCodeVisitor* self, ValaMethod* m);
1388
1388
GType vala_struct_get_type (void) G_GNUC_CONST;
1389
1389
GType vala_interface_get_type (void) G_GNUC_CONST;
1390
1390
GType vala_enum_get_type (void) G_GNUC_CONST;
1391
GType vala_constant_get_type (void) G_GNUC_CONST;
1391
1392
GType vala_enum_value_get_type (void) G_GNUC_CONST;
1392
1393
GType vala_error_domain_get_type (void) G_GNUC_CONST;
1393
1394
GType vala_error_code_get_type (void) G_GNUC_CONST;
1394
1395
GType vala_delegate_get_type (void) G_GNUC_CONST;
1395
GType vala_member_get_type (void) G_GNUC_CONST;
1396
GType vala_constant_get_type (void) G_GNUC_CONST;
1397
1396
GType vala_field_get_type (void) G_GNUC_CONST;
1398
1397
GType vala_method_get_type (void) G_GNUC_CONST;
1399
1398
GType vala_creation_method_get_type (void) G_GNUC_CONST;
1539
1538
ValaMethod* vala_semantic_analyzer_find_current_method (ValaSemanticAnalyzer* self);
1540
1539
gboolean vala_semantic_analyzer_is_in_constructor (ValaSemanticAnalyzer* self);
1541
1540
ValaFormalParameter* vala_method_get_this_parameter (ValaMethod* self);
1542
ValaDataType* vala_local_variable_get_variable_type (ValaLocalVariable* self);
1541
ValaDataType* vala_variable_get_variable_type (ValaVariable* self);
1543
1542
gboolean vala_delegate_matches_method (ValaDelegate* self, ValaMethod* m, ValaDataType* dt);
1544
ValaDataType* vala_field_get_field_type (ValaField* self);
1545
1543
gboolean vala_data_type_is_disposable (ValaDataType* self);
1546
1544
GType vala_pointer_type_get_type (void) G_GNUC_CONST;
1547
1545
gboolean vala_data_type_get_value_owned (ValaDataType* self);
1565
* Creates a new assignment.
1567
* @param left left hand side
1568
* @param operator assignment operator
1569
* @param right right hand side
1570
* @param source_reference reference to source code
1571
* @return newly created assignment
1566
1573
ValaAssignment* vala_assignment_construct (GType object_type, ValaExpression* left, ValaExpression* right, ValaAssignmentOperator operator, ValaSourceReference* source_reference) {
1567
1574
ValaAssignment* self;
1568
1575
g_return_val_if_fail (left != NULL, NULL);
2143
2150
_vala_code_node_unref0 (prop);
2145
2152
gboolean _tmp63_ = FALSE;
2146
if (VALA_IS_LOCAL_VARIABLE (vala_expression_get_symbol_reference ((ValaExpression*) ma))) {
2153
if (VALA_IS_VARIABLE (vala_expression_get_symbol_reference ((ValaExpression*) ma))) {
2147
2154
_tmp63_ = vala_expression_get_value_type (vala_assignment_get_right (self)) == NULL;
2149
2156
_tmp63_ = FALSE;
2152
ValaLocalVariable* local;
2159
ValaVariable* variable;
2153
2160
gboolean _tmp64_ = FALSE;
2154
local = _vala_code_node_ref0 (VALA_LOCAL_VARIABLE (vala_expression_get_symbol_reference ((ValaExpression*) ma)));
2161
variable = _vala_code_node_ref0 (VALA_VARIABLE (vala_expression_get_symbol_reference ((ValaExpression*) ma)));
2155
2162
if (VALA_IS_METHOD (vala_expression_get_symbol_reference (vala_assignment_get_right (self)))) {
2156
_tmp64_ = VALA_IS_DELEGATE_TYPE (vala_local_variable_get_variable_type (local));
2163
_tmp64_ = VALA_IS_DELEGATE_TYPE (vala_variable_get_variable_type (variable));
2158
2165
_tmp64_ = FALSE;
2177
2184
_vala_code_node_unref0 (cb);
2178
2185
_vala_code_node_unref0 (dt);
2179
2186
_vala_code_node_unref0 (m);
2180
_vala_code_node_unref0 (local);
2187
_vala_code_node_unref0 (variable);
2181
2188
_vala_code_node_unref0 (ma);
2184
vala_expression_set_value_type (vala_assignment_get_right (self), vala_local_variable_get_variable_type (local));
2191
vala_expression_set_value_type (vala_assignment_get_right (self), vala_variable_get_variable_type (variable));
2185
2192
_vala_code_node_unref0 (cb);
2186
2193
_vala_code_node_unref0 (dt);
2187
2194
_vala_code_node_unref0 (m);
2189
2196
vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
2190
2197
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), "Assignment: Invalid callback assignment attempt");
2191
2198
result = FALSE;
2192
_vala_code_node_unref0 (local);
2199
_vala_code_node_unref0 (variable);
2193
2200
_vala_code_node_unref0 (ma);
2196
_vala_code_node_unref0 (local);
2198
gboolean _tmp68_ = FALSE;
2199
if (VALA_IS_FIELD (vala_expression_get_symbol_reference ((ValaExpression*) ma))) {
2200
_tmp68_ = vala_expression_get_value_type (vala_assignment_get_right (self)) == NULL;
2206
gboolean _tmp69_ = FALSE;
2207
f = _vala_code_node_ref0 (VALA_FIELD (vala_expression_get_symbol_reference ((ValaExpression*) ma)));
2208
if (VALA_IS_METHOD (vala_expression_get_symbol_reference (vala_assignment_get_right (self)))) {
2209
_tmp69_ = VALA_IS_DELEGATE_TYPE (vala_field_get_field_type (f));
2215
ValaDelegateType* dt;
2217
m = _vala_code_node_ref0 (VALA_METHOD (vala_expression_get_symbol_reference (vala_assignment_get_right (self))));
2218
dt = _vala_code_node_ref0 (VALA_DELEGATE_TYPE (vala_field_get_field_type (f)));
2219
cb = _vala_code_node_ref0 (vala_delegate_type_get_delegate_symbol (dt));
2220
if (!vala_delegate_matches_method (cb, m, (ValaDataType*) dt)) {
2224
vala_code_node_set_error ((ValaCodeNode*) f, TRUE);
2225
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), _tmp72_ = g_strdup_printf ("declaration of method `%s' doesn't match declaration of callback `%s'", _tmp70_ = vala_symbol_get_full_name ((ValaSymbol*) m), _tmp71_ = vala_symbol_get_full_name ((ValaSymbol*) cb)));
2230
_vala_code_node_unref0 (cb);
2231
_vala_code_node_unref0 (dt);
2232
_vala_code_node_unref0 (m);
2233
_vala_code_node_unref0 (f);
2234
_vala_code_node_unref0 (ma);
2237
vala_expression_set_value_type (vala_assignment_get_right (self), vala_field_get_field_type (f));
2238
_vala_code_node_unref0 (cb);
2239
_vala_code_node_unref0 (dt);
2240
_vala_code_node_unref0 (m);
2242
vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
2243
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), "Assignment: Invalid callback assignment attempt");
2245
_vala_code_node_unref0 (f);
2246
_vala_code_node_unref0 (ma);
2249
_vala_code_node_unref0 (f);
2203
_vala_code_node_unref0 (variable);
2253
2206
if (vala_expression_get_value_type (vala_assignment_get_left (self)) != NULL) {
2254
_tmp73_ = vala_expression_get_value_type (vala_assignment_get_right (self)) != NULL;
2207
_tmp68_ = vala_expression_get_value_type (vala_assignment_get_right (self)) != NULL;
2259
2212
if (!vala_data_type_compatible (vala_expression_get_value_type (vala_assignment_get_right (self)), vala_expression_get_value_type (vala_assignment_get_left (self)))) {
2263
2216
vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
2264
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), _tmp76_ = g_strdup_printf ("Assignment: Cannot convert from `%s' to `%s'", _tmp74_ = vala_code_node_to_string ((ValaCodeNode*) vala_expression_get_value_type (vala_assignment_get_right (self))), _tmp75_ = vala_code_node_to_string ((ValaCodeNode*) vala_expression_get_value_type (vala_assignment_get_left (self)))));
2217
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), _tmp71_ = g_strdup_printf ("Assignment: Cannot convert from `%s' to `%s'", _tmp69_ = vala_code_node_to_string ((ValaCodeNode*) vala_expression_get_value_type (vala_assignment_get_right (self))), _tmp70_ = vala_code_node_to_string ((ValaCodeNode*) vala_expression_get_value_type (vala_assignment_get_left (self)))));
2268
2221
result = FALSE;
2269
2222
_vala_code_node_unref0 (ma);
2272
2225
if (!VALA_IS_PROPERTY (vala_expression_get_symbol_reference ((ValaExpression*) ma))) {
2273
2226
if (vala_data_type_is_disposable (vala_expression_get_value_type (vala_assignment_get_right (self)))) {
2274
gboolean _tmp77_ = FALSE;
2227
gboolean _tmp72_ = FALSE;
2275
2228
if (!VALA_IS_POINTER_TYPE (vala_expression_get_value_type (vala_assignment_get_left (self)))) {
2276
_tmp77_ = !vala_data_type_get_value_owned (vala_expression_get_value_type (vala_assignment_get_left (self)));
2229
_tmp72_ = !vala_data_type_get_value_owned (vala_expression_get_value_type (vala_assignment_get_left (self)));
2281
2234
vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
2282
2235
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), "Invalid assignment from owned expression to unowned variable");
2290
right_ma = _vala_code_node_ref0 ((_tmp78_ = vala_assignment_get_right (self), VALA_IS_MEMBER_ACCESS (_tmp78_) ? ((ValaMemberAccess*) _tmp78_) : NULL));
2243
right_ma = _vala_code_node_ref0 ((_tmp73_ = vala_assignment_get_right (self), VALA_IS_MEMBER_ACCESS (_tmp73_) ? ((ValaMemberAccess*) _tmp73_) : NULL));
2291
2244
if (right_ma != NULL) {
2292
_tmp79_ = vala_expression_get_symbol_reference ((ValaExpression*) ma) == vala_expression_get_symbol_reference ((ValaExpression*) right_ma);
2245
_tmp74_ = vala_expression_get_symbol_reference ((ValaExpression*) ma) == vala_expression_get_symbol_reference ((ValaExpression*) right_ma);
2297
gboolean _tmp80_ = FALSE;
2250
gboolean _tmp75_ = FALSE;
2298
2251
if (VALA_IS_LOCAL_VARIABLE (vala_expression_get_symbol_reference ((ValaExpression*) ma))) {
2301
_tmp80_ = VALA_IS_FORMAL_PARAMETER (vala_expression_get_symbol_reference ((ValaExpression*) ma));
2254
_tmp75_ = VALA_IS_FORMAL_PARAMETER (vala_expression_get_symbol_reference ((ValaExpression*) ma));
2304
2257
vala_report_warning (vala_code_node_get_source_reference ((ValaCodeNode*) self), "Assignment to same variable");
2306
2259
if (VALA_IS_FIELD (vala_expression_get_symbol_reference ((ValaExpression*) ma))) {
2309
2262
if (vala_field_get_binding (f) == MEMBER_BINDING_STATIC) {
2310
2263
vala_report_warning (vala_code_node_get_source_reference ((ValaCodeNode*) self), "Assignment to same variable");
2312
ValaExpression* _tmp81_;
2265
ValaExpression* _tmp76_;
2313
2266
ValaMemberAccess* ma_inner;
2314
ValaExpression* _tmp82_;
2267
ValaExpression* _tmp77_;
2315
2268
ValaMemberAccess* right_ma_inner;
2316
gboolean _tmp83_ = FALSE;
2317
gboolean _tmp84_ = FALSE;
2318
gboolean _tmp85_ = FALSE;
2319
gboolean _tmp86_ = FALSE;
2320
gboolean _tmp87_ = FALSE;
2321
ma_inner = _vala_code_node_ref0 ((_tmp81_ = vala_member_access_get_inner (ma), VALA_IS_MEMBER_ACCESS (_tmp81_) ? ((ValaMemberAccess*) _tmp81_) : NULL));
2322
right_ma_inner = _vala_code_node_ref0 ((_tmp82_ = vala_member_access_get_inner (right_ma), VALA_IS_MEMBER_ACCESS (_tmp82_) ? ((ValaMemberAccess*) _tmp82_) : NULL));
2269
gboolean _tmp78_ = FALSE;
2270
gboolean _tmp79_ = FALSE;
2271
gboolean _tmp80_ = FALSE;
2272
gboolean _tmp81_ = FALSE;
2273
gboolean _tmp82_ = FALSE;
2274
ma_inner = _vala_code_node_ref0 ((_tmp76_ = vala_member_access_get_inner (ma), VALA_IS_MEMBER_ACCESS (_tmp76_) ? ((ValaMemberAccess*) _tmp76_) : NULL));
2275
right_ma_inner = _vala_code_node_ref0 ((_tmp77_ = vala_member_access_get_inner (right_ma), VALA_IS_MEMBER_ACCESS (_tmp77_) ? ((ValaMemberAccess*) _tmp77_) : NULL));
2323
2276
if (ma_inner != NULL) {
2324
_tmp87_ = _vala_strcmp0 (vala_member_access_get_member_name (ma_inner), "this") == 0;
2329
_tmp86_ = vala_member_access_get_inner (ma_inner) == NULL;
2334
_tmp85_ = right_ma_inner != NULL;
2339
_tmp84_ = _vala_strcmp0 (vala_member_access_get_member_name (right_ma_inner), "this") == 0;
2344
_tmp83_ = vala_member_access_get_inner (right_ma_inner) == NULL;
2277
_tmp82_ = _vala_strcmp0 (vala_member_access_get_member_name (ma_inner), "this") == 0;
2282
_tmp81_ = vala_member_access_get_inner (ma_inner) == NULL;
2287
_tmp80_ = right_ma_inner != NULL;
2292
_tmp79_ = _vala_strcmp0 (vala_member_access_get_member_name (right_ma_inner), "this") == 0;
2297
_tmp78_ = vala_member_access_get_inner (right_ma_inner) == NULL;
2349
2302
vala_report_warning (vala_code_node_get_source_reference ((ValaCodeNode*) self), "Assignment to same variable");
2351
2304
_vala_code_node_unref0 (right_ma_inner);
2362
2315
ValaElementAccess* ea;
2363
2316
ea = _vala_code_node_ref0 (VALA_ELEMENT_ACCESS (vala_assignment_get_left (self)));
2364
2317
if (!vala_data_type_compatible (vala_expression_get_value_type (vala_assignment_get_right (self)), vala_expression_get_value_type (vala_assignment_get_left (self)))) {
2368
2321
vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
2369
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), _tmp90_ = g_strdup_printf ("Assignment: Cannot convert from `%s' to `%s'", _tmp88_ = vala_code_node_to_string ((ValaCodeNode*) vala_expression_get_value_type (vala_assignment_get_right (self))), _tmp89_ = vala_code_node_to_string ((ValaCodeNode*) vala_expression_get_value_type (vala_assignment_get_left (self)))));
2322
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), _tmp85_ = g_strdup_printf ("Assignment: Cannot convert from `%s' to `%s'", _tmp83_ = vala_code_node_to_string ((ValaCodeNode*) vala_expression_get_value_type (vala_assignment_get_right (self))), _tmp84_ = vala_code_node_to_string ((ValaCodeNode*) vala_expression_get_value_type (vala_assignment_get_left (self)))));
2373
2326
result = FALSE;
2374
2327
_vala_code_node_unref0 (ea);
2377
2330
if (vala_data_type_is_disposable (vala_expression_get_value_type (vala_assignment_get_right (self)))) {
2378
2331
ValaDataType* element_type;
2379
gboolean _tmp93_ = FALSE;
2332
gboolean _tmp88_ = FALSE;
2380
2333
element_type = NULL;
2381
2334
if (VALA_IS_ARRAY_TYPE (vala_expression_get_value_type (vala_element_access_get_container (ea)))) {
2382
2335
ValaArrayType* array_type;
2383
ValaDataType* _tmp91_;
2336
ValaDataType* _tmp86_;
2384
2337
array_type = _vala_code_node_ref0 (VALA_ARRAY_TYPE (vala_expression_get_value_type (vala_element_access_get_container (ea))));
2385
element_type = (_tmp91_ = _vala_code_node_ref0 (vala_array_type_get_element_type (array_type)), _vala_code_node_unref0 (element_type), _tmp91_);
2338
element_type = (_tmp86_ = _vala_code_node_ref0 (vala_array_type_get_element_type (array_type)), _vala_code_node_unref0 (element_type), _tmp86_);
2386
2339
_vala_code_node_unref0 (array_type);
2388
2341
ValaList* args;
2389
ValaDataType* _tmp92_;
2342
ValaDataType* _tmp87_;
2390
2343
args = vala_data_type_get_type_arguments (vala_expression_get_value_type (vala_element_access_get_container (ea)));
2391
2344
g_assert (vala_collection_get_size ((ValaCollection*) args) == 1);
2392
element_type = (_tmp92_ = (ValaDataType*) vala_list_get (args, 0), _vala_code_node_unref0 (element_type), _tmp92_);
2345
element_type = (_tmp87_ = (ValaDataType*) vala_list_get (args, 0), _vala_code_node_unref0 (element_type), _tmp87_);
2393
2346
_vala_collection_object_unref0 (args);
2395
2348
if (!VALA_IS_POINTER_TYPE (element_type)) {
2396
_tmp93_ = !vala_data_type_get_value_owned (element_type);
2349
_tmp88_ = !vala_data_type_get_value_owned (element_type);
2401
2354
vala_code_node_set_error ((ValaCodeNode*) self, TRUE);
2402
2355
vala_report_error (vala_code_node_get_source_reference ((ValaCodeNode*) self), "Invalid assignment from owned expression to unowned variable");
2403
2356
result = FALSE;
2420
2373
if (vala_expression_get_value_type (vala_assignment_get_left (self)) != NULL) {
2421
ValaDataType* _tmp94_;
2422
vala_expression_set_value_type ((ValaExpression*) self, _tmp94_ = vala_data_type_copy (vala_expression_get_value_type (vala_assignment_get_left (self))));
2423
_vala_code_node_unref0 (_tmp94_);
2374
ValaDataType* _tmp89_;
2375
vala_expression_set_value_type ((ValaExpression*) self, _tmp89_ = vala_data_type_copy (vala_expression_get_value_type (vala_assignment_get_left (self))));
2376
_vala_code_node_unref0 (_tmp89_);
2424
2377
vala_data_type_set_value_owned (vala_expression_get_value_type ((ValaExpression*) self), FALSE);
2426
2379
vala_expression_set_value_type ((ValaExpression*) self, NULL);
2428
vala_code_node_add_error_types ((ValaCodeNode*) self, _tmp95_ = vala_code_node_get_error_types ((ValaCodeNode*) vala_assignment_get_left (self)));
2429
_vala_collection_object_unref0 (_tmp95_);
2430
vala_code_node_add_error_types ((ValaCodeNode*) self, _tmp96_ = vala_code_node_get_error_types ((ValaCodeNode*) vala_assignment_get_right (self)));
2431
_vala_collection_object_unref0 (_tmp96_);
2381
vala_code_node_add_error_types ((ValaCodeNode*) self, _tmp90_ = vala_code_node_get_error_types ((ValaCodeNode*) vala_assignment_get_left (self)));
2382
_vala_collection_object_unref0 (_tmp90_);
2383
vala_code_node_add_error_types ((ValaCodeNode*) self, _tmp91_ = vala_code_node_get_error_types ((ValaCodeNode*) vala_assignment_get_right (self)));
2384
_vala_collection_object_unref0 (_tmp91_);
2432
2385
result = !vala_code_node_get_error ((ValaCodeNode*) self);