440
445
ValaClass* _tmp4_;
442
447
_tmp2_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
443
_tmp4_ = _vala_code_node_ref0 ((_tmp3_ = _tmp2_, VALA_IS_CLASS (_tmp3_) ? ((ValaClass*) _tmp3_) : NULL));
449
_tmp4_ = _vala_code_node_ref0 (VALA_IS_CLASS (_tmp3_) ? ((ValaClass*) _tmp3_) : NULL);
445
451
if (cl != NULL) {
446
452
ValaObjectType* _tmp5_ = NULL;
447
ValaDataType* _tmp6_;
448
453
_tmp5_ = vala_object_type_new ((ValaObjectTypeSymbol*) cl);
449
_tmp6_ = (ValaDataType*) _tmp5_;
450
454
_vala_code_node_unref0 (creturn_type);
451
creturn_type = _tmp6_;
455
creturn_type = (ValaDataType*) _tmp5_;
453
457
_vala_code_node_unref0 (cl);
455
ValaDataType* _tmp7_ = NULL;
457
_tmp7_ = vala_method_get_return_type (m);
458
_tmp8_ = vala_data_type_is_real_non_null_struct_type (_tmp7_);
460
ValaVoidType* _tmp9_ = NULL;
461
ValaDataType* _tmp10_;
462
_tmp9_ = vala_void_type_new (NULL);
463
_tmp10_ = (ValaDataType*) _tmp9_;
459
ValaDataType* _tmp6_ = NULL;
461
_tmp6_ = vala_method_get_return_type (m);
462
_tmp7_ = vala_data_type_is_real_non_null_struct_type (_tmp6_);
464
ValaVoidType* _tmp8_ = NULL;
465
_tmp8_ = vala_void_type_new (NULL);
464
466
_vala_code_node_unref0 (creturn_type);
465
creturn_type = _tmp10_;
467
creturn_type = (ValaDataType*) _tmp8_;
468
_tmp11_ = vala_data_type_get_cname (creturn_type);
470
_tmp9_ = vala_data_type_get_cname (creturn_type);
472
_tmp11_ = vala_ccode_method_module_get_creturn_type (self, m, _tmp10_);
469
473
_tmp12_ = _tmp11_;
470
_tmp13_ = vala_ccode_method_module_get_creturn_type (self, m, _tmp12_);
472
vala_ccode_function_set_return_type (cfunc, _tmp14_);
474
vala_ccode_function_set_return_type (cfunc, _tmp12_);
474
475
_g_free0 (_tmp12_);
475
_tmp15_ = vala_method_get_return_type (m);
476
vala_ccode_base_module_generate_type_declaration ((ValaCCodeBaseModule*) self, _tmp15_, decl_space);
477
_tmp16_ = vala_method_get_return_type (m);
478
_tmp17_ = vala_data_type_is_real_non_null_struct_type (_tmp16_);
480
ValaDataType* _tmp18_ = NULL;
481
gchar* _tmp19_ = NULL;
477
_tmp13_ = vala_method_get_return_type (m);
478
vala_ccode_base_module_generate_type_declaration ((ValaCCodeBaseModule*) self, _tmp13_, decl_space);
479
_tmp14_ = vala_method_get_return_type (m);
480
_tmp15_ = vala_data_type_is_real_non_null_struct_type (_tmp14_);
482
ValaDataType* _tmp16_ = NULL;
483
gchar* _tmp17_ = NULL;
484
ValaCCodeParameter* _tmp22_ = NULL;
485
ValaCCodeParameter* _tmp23_;
487
ValaCCodeParameter* _tmp21_ = NULL;
488
ValaCCodeParameter* _tmp22_;
486
489
ValaCCodeParameter* cparam;
488
_tmp18_ = vala_method_get_return_type (m);
489
_tmp19_ = vala_data_type_get_cname (_tmp18_);
491
_tmp16_ = vala_method_get_return_type (m);
492
_tmp17_ = vala_data_type_get_cname (_tmp16_);
494
_tmp19_ = g_strconcat (_tmp18_, "*", NULL);
490
495
_tmp20_ = _tmp19_;
491
_tmp21_ = g_strconcat (_tmp20_, "*", NULL);
492
_tmp22_ = vala_ccode_parameter_new ("result", _tmp21_);
493
cparam = (_tmp23_ = _tmp22_, _g_free0 (_tmp21_), _g_free0 (_tmp20_), _tmp23_);
494
_tmp24_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (gdouble) (-3), FALSE);
495
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp24_), cparam);
496
_tmp21_ = vala_ccode_parameter_new ("result", _tmp20_);
501
_tmp23_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (gdouble) (-3), FALSE);
502
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp23_), cparam);
496
503
if (carg_map != NULL) {
498
ValaCCodeExpression* _tmp26_ = NULL;
499
ValaCCodeExpression* _tmp27_;
500
_tmp25_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (gdouble) (-3), FALSE);
501
_tmp26_ = vala_ccode_base_module_get_result_cexpression ((ValaCCodeBaseModule*) self, "result");
503
vala_map_set (carg_map, GINT_TO_POINTER (_tmp25_), _tmp27_);
504
_vala_ccode_node_unref0 (_tmp27_);
505
ValaCCodeExpression* _tmp25_ = NULL;
506
ValaCCodeExpression* _tmp26_;
507
_tmp24_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (gdouble) (-3), FALSE);
508
_tmp25_ = vala_ccode_base_module_get_result_cexpression ((ValaCCodeBaseModule*) self, "result");
510
vala_map_set (carg_map, GINT_TO_POINTER (_tmp24_), _tmp26_);
511
_vala_ccode_node_unref0 (_tmp26_);
506
513
_vala_ccode_node_unref0 (cparam);
508
gboolean _tmp28_ = FALSE;
510
_tmp29_ = vala_method_get_no_array_length (m);
515
gboolean _tmp27_ = FALSE;
517
_tmp28_ = vala_method_get_no_array_length (m);
519
ValaDataType* _tmp29_ = NULL;
520
_tmp29_ = vala_method_get_return_type (m);
521
_tmp27_ = VALA_IS_ARRAY_TYPE (_tmp29_);
512
526
ValaDataType* _tmp30_ = NULL;
527
ValaArrayType* _tmp31_;
528
ValaArrayType* array_type;
513
529
_tmp30_ = vala_method_get_return_type (m);
514
_tmp28_ = VALA_IS_ARRAY_TYPE (_tmp30_);
519
ValaDataType* _tmp31_ = NULL;
520
ValaArrayType* _tmp32_;
521
ValaArrayType* array_type;
522
_tmp31_ = vala_method_get_return_type (m);
523
_tmp32_ = _vala_code_node_ref0 (VALA_ARRAY_TYPE (_tmp31_));
524
array_type = _tmp32_;
530
_tmp31_ = _vala_code_node_ref0 (VALA_ARRAY_TYPE (_tmp30_));
531
array_type = _tmp31_;
533
gchar* _tmp35_ = NULL;
535
ValaCCodeParameter* _tmp37_ = NULL;
536
ValaCCodeParameter* _tmp38_;
540
gchar* _tmp34_ = NULL;
542
ValaCCodeParameter* _tmp36_ = NULL;
543
ValaCCodeParameter* _tmp37_;
537
544
ValaCCodeParameter* cparam;
544
_tmp34_ = vala_array_type_get_rank (array_type);
545
if (!(dim <= _tmp34_)) {
551
_tmp33_ = vala_array_type_get_rank (array_type);
552
if (!(dim <= _tmp33_)) {
548
_tmp35_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, "result", dim);
550
_tmp37_ = vala_ccode_parameter_new (_tmp36_, "int*");
551
cparam = (_tmp38_ = _tmp37_, _g_free0 (_tmp36_), _tmp38_);
552
_tmp39_ = vala_method_get_carray_length_parameter_position (m);
553
_tmp40_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp39_ + (0.01 * dim), FALSE);
554
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp40_), cparam);
555
_tmp34_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, "result", dim);
557
_tmp36_ = vala_ccode_parameter_new (_tmp35_, "int*");
561
_tmp38_ = vala_method_get_carray_length_parameter_position (m);
562
_tmp39_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp38_ + (0.01 * dim), FALSE);
563
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp39_), cparam);
555
564
if (carg_map != NULL) {
558
const gchar* _tmp43_ = NULL;
559
ValaCCodeExpression* _tmp44_ = NULL;
560
ValaCCodeExpression* _tmp45_;
561
_tmp41_ = vala_method_get_carray_length_parameter_position (m);
562
_tmp42_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp41_ + (0.01 * dim), FALSE);
563
_tmp43_ = vala_ccode_parameter_get_name (cparam);
564
_tmp44_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp43_);
566
vala_map_set (carg_map, GINT_TO_POINTER (_tmp42_), _tmp45_);
567
_vala_ccode_node_unref0 (_tmp45_);
567
const gchar* _tmp42_ = NULL;
568
ValaCCodeExpression* _tmp43_ = NULL;
569
ValaCCodeExpression* _tmp44_;
570
_tmp40_ = vala_method_get_carray_length_parameter_position (m);
571
_tmp41_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp40_ + (0.01 * dim), FALSE);
572
_tmp42_ = vala_ccode_parameter_get_name (cparam);
573
_tmp43_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp42_);
575
vala_map_set (carg_map, GINT_TO_POINTER (_tmp41_), _tmp44_);
576
_vala_ccode_node_unref0 (_tmp44_);
569
578
_vala_ccode_node_unref0 (cparam);
1342
1372
_tmp15_ = vala_data_type_is_real_non_null_struct_type (_tmp14_);
1344
1374
ValaVoidType* _tmp16_ = NULL;
1345
ValaDataType* _tmp17_;
1346
1375
_tmp16_ = vala_void_type_new (NULL);
1347
_tmp17_ = (ValaDataType*) _tmp16_;
1348
1376
_vala_code_node_unref0 (creturn_type);
1349
creturn_type = _tmp17_;
1377
creturn_type = (ValaDataType*) _tmp16_;
1351
_tmp19_ = vala_method_get_binding (m);
1352
if (_tmp19_ == VALA_MEMBER_BINDING_CLASS) {
1379
_tmp18_ = vala_method_get_binding (m);
1380
if (_tmp18_ == VALA_MEMBER_BINDING_CLASS) {
1355
ValaMemberBinding _tmp20_;
1356
_tmp20_ = vala_method_get_binding (m);
1357
_tmp18_ = _tmp20_ == VALA_MEMBER_BINDING_STATIC;
1383
ValaMemberBinding _tmp19_;
1384
_tmp19_ = vala_method_get_binding (m);
1385
_tmp17_ = _tmp19_ == VALA_MEMBER_BINDING_STATIC;
1360
1388
((ValaCCodeBaseModule*) self)->in_static_or_class_context = TRUE;
1363
ValaList* _tmp21_ = NULL;
1391
ValaList* _tmp20_ = NULL;
1364
1392
ValaList* _param_list;
1366
1394
gint _param_size;
1367
1395
gint _param_index;
1368
_tmp21_ = vala_method_get_parameters (m);
1369
_param_list = _tmp21_;
1370
_tmp22_ = vala_collection_get_size ((ValaCollection*) _param_list);
1371
_param_size = _tmp22_;
1396
_tmp20_ = vala_method_get_parameters (m);
1397
_param_list = _tmp20_;
1398
_tmp21_ = vala_collection_get_size ((ValaCollection*) _param_list);
1399
_param_size = _tmp21_;
1372
1400
_param_index = -1;
1374
gpointer _tmp23_ = NULL;
1402
gpointer _tmp22_ = NULL;
1375
1403
ValaParameter* param;
1376
1404
_param_index = _param_index + 1;
1377
1405
if (!(_param_index < _param_size)) {
1380
_tmp23_ = vala_list_get (_param_list, _param_index);
1381
param = (ValaParameter*) _tmp23_;
1408
_tmp22_ = vala_list_get (_param_list, _param_index);
1409
param = (ValaParameter*) _tmp22_;
1382
1410
vala_code_node_accept ((ValaCodeNode*) param, (ValaCodeVisitor*) self);
1383
1411
_vala_code_node_unref0 (param);
1385
1413
_vala_iterable_unref0 (_param_list);
1387
_tmp26_ = vala_method_get_is_abstract (m);
1392
_tmp27_ = vala_method_get_is_virtual (m);
1415
_tmp25_ = vala_method_get_is_abstract (m);
1396
1417
_tmp24_ = TRUE;
1398
gboolean _tmp28_ = FALSE;
1399
ValaMethod* _tmp29_ = NULL;
1400
_tmp29_ = vala_method_get_base_method (m);
1401
if (_tmp29_ == NULL) {
1402
ValaMethod* _tmp30_ = NULL;
1403
_tmp30_ = vala_method_get_base_interface_method (m);
1404
_tmp28_ = _tmp30_ == NULL;
1420
_tmp26_ = vala_method_get_is_virtual (m);
1426
gboolean _tmp27_ = FALSE;
1427
ValaMethod* _tmp28_ = NULL;
1428
_tmp28_ = vala_method_get_base_method (m);
1429
if (_tmp28_ == NULL) {
1430
ValaMethod* _tmp29_ = NULL;
1431
_tmp29_ = vala_method_get_base_interface_method (m);
1432
_tmp27_ = _tmp29_ == NULL;
1411
1440
gboolean _tmp31_;
1413
1441
vala_ccode_base_module_generate_method_declaration ((ValaCCodeBaseModule*) self, m, ((ValaCCodeBaseModule*) self)->cfile);
1414
_tmp31_ = vala_symbol_is_internal_symbol ((ValaSymbol*) m);
1442
_tmp30_ = vala_symbol_is_internal_symbol ((ValaSymbol*) m);
1444
vala_ccode_base_module_generate_method_declaration ((ValaCCodeBaseModule*) self, m, ((ValaCCodeBaseModule*) self)->header_file);
1446
_tmp31_ = vala_symbol_is_private_symbol ((ValaSymbol*) m);
1415
1447
if (!_tmp31_) {
1416
vala_ccode_base_module_generate_method_declaration ((ValaCCodeBaseModule*) self, m, ((ValaCCodeBaseModule*) self)->header_file);
1418
_tmp32_ = vala_symbol_is_private_symbol ((ValaSymbol*) m);
1420
1448
vala_ccode_base_module_generate_method_declaration ((ValaCCodeBaseModule*) self, m, ((ValaCCodeBaseModule*) self)->internal_header_file);
1423
_tmp33_ = vala_method_get_real_cname (m);
1425
_tmp35_ = vala_ccode_function_new (_tmp34_, "void");
1451
_tmp32_ = vala_method_get_real_cname (m);
1453
_tmp34_ = vala_ccode_function_new (_tmp33_, "void");
1427
1454
_vala_ccode_node_unref0 (function);
1430
_tmp37_ = vala_method_get_is_inline (m);
1432
ValaCCodeModifiers _tmp38_;
1433
_tmp38_ = vala_ccode_function_get_modifiers (function);
1434
vala_ccode_function_set_modifiers (function, _tmp38_ | VALA_CCODE_MODIFIERS_INLINE);
1457
_tmp35_ = vala_method_get_is_inline (m);
1459
ValaCCodeModifiers _tmp36_;
1460
_tmp36_ = vala_ccode_function_get_modifiers (function);
1461
vala_ccode_function_set_modifiers (function, _tmp36_ | VALA_CCODE_MODIFIERS_INLINE);
1436
_tmp39_ = vala_hash_map_new (G_TYPE_INT, NULL, NULL, VALA_TYPE_CCODE_PARAMETER, (GBoxedCopyFunc) vala_ccode_node_ref, vala_ccode_node_unref, g_direct_hash, g_direct_equal, g_direct_equal);
1437
cparam_map = _tmp39_;
1463
_tmp37_ = vala_hash_map_new (G_TYPE_INT, NULL, NULL, VALA_TYPE_CCODE_PARAMETER, (GBoxedCopyFunc) vala_ccode_node_ref, vala_ccode_node_unref, g_direct_hash, g_direct_equal, g_direct_equal);
1464
cparam_map = _tmp37_;
1438
1465
vala_ccode_base_module_generate_cparameters ((ValaCCodeBaseModule*) self, m, ((ValaCCodeBaseModule*) self)->cfile, (ValaMap*) cparam_map, function, NULL, NULL, NULL, 3);
1439
_tmp41_ = vala_method_get_is_abstract (m);
1466
_tmp39_ = vala_method_get_is_abstract (m);
1443
gboolean _tmp42_ = FALSE;
1470
gboolean _tmp40_ = FALSE;
1472
_tmp41_ = vala_method_get_is_abstract (m);
1474
ValaTypeSymbol* _tmp42_ = NULL;
1475
_tmp42_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
1476
_tmp40_ = VALA_IS_CLASS (_tmp42_);
1444
1483
gboolean _tmp43_;
1445
_tmp43_ = vala_method_get_is_abstract (m);
1447
ValaTypeSymbol* _tmp44_ = NULL;
1448
_tmp44_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
1449
_tmp42_ = VALA_IS_CLASS (_tmp44_);
1457
_tmp45_ = vala_method_get_coroutine (m);
1459
gboolean _tmp46_ = FALSE;
1460
ValaMethod* _tmp47_ = NULL;
1461
_tmp47_ = vala_method_get_base_method (m);
1462
if (_tmp47_ != NULL) {
1484
_tmp43_ = vala_method_get_coroutine (m);
1486
gboolean _tmp44_ = FALSE;
1487
ValaMethod* _tmp45_ = NULL;
1488
_tmp45_ = vala_method_get_base_method (m);
1489
if (_tmp45_ != NULL) {
1465
ValaMethod* _tmp48_ = NULL;
1466
_tmp48_ = vala_method_get_base_interface_method (m);
1467
_tmp46_ = _tmp48_ != NULL;
1492
ValaMethod* _tmp46_ = NULL;
1493
_tmp46_ = vala_method_get_base_interface_method (m);
1494
_tmp44_ = _tmp46_ != NULL;
1470
ValaCCodeModifiers _tmp49_;
1471
_tmp49_ = vala_ccode_function_get_modifiers (function);
1472
vala_ccode_function_set_modifiers (function, _tmp49_ | VALA_CCODE_MODIFIERS_STATIC);
1497
ValaCCodeModifiers _tmp47_;
1498
_tmp47_ = vala_ccode_function_get_modifiers (function);
1499
vala_ccode_function_set_modifiers (function, _tmp47_ | VALA_CCODE_MODIFIERS_STATIC);
1473
1500
vala_ccode_file_add_function_declaration (((ValaCCodeBaseModule*) self)->cfile, function);
1476
_tmp50_ = vala_symbol_is_private_symbol ((ValaSymbol*) m);
1478
ValaCCodeModifiers _tmp51_;
1479
_tmp51_ = vala_ccode_function_get_modifiers (function);
1480
vala_ccode_function_set_modifiers (function, _tmp51_ | VALA_CCODE_MODIFIERS_STATIC);
1503
_tmp48_ = vala_symbol_is_private_symbol ((ValaSymbol*) m);
1505
ValaCCodeModifiers _tmp49_;
1506
_tmp49_ = vala_ccode_function_get_modifiers (function);
1507
vala_ccode_function_set_modifiers (function, _tmp49_ | VALA_CCODE_MODIFIERS_STATIC);
1484
ValaBlock* _tmp52_ = NULL;
1485
_tmp52_ = vala_subroutine_get_body ((ValaSubroutine*) m);
1486
if (_tmp52_ != NULL) {
1487
gchar* _tmp53_ = NULL;
1511
ValaBlock* _tmp50_ = NULL;
1512
_tmp50_ = vala_subroutine_get_body ((ValaSubroutine*) m);
1513
if (_tmp50_ != NULL) {
1514
gchar* _tmp51_ = NULL;
1488
1517
gchar* _tmp54_;
1490
ValaCCodeFunction* _tmp56_ = NULL;
1491
ValaCCodeFunction* _tmp57_;
1518
ValaCCodeFunction* _tmp55_ = NULL;
1519
gchar* _tmp56_ = NULL;
1492
1521
gchar* _tmp58_ = NULL;
1493
1522
gchar* _tmp59_;
1494
gchar* _tmp60_ = NULL;
1495
1524
gchar* _tmp61_;
1497
ValaCCodeParameter* _tmp63_ = NULL;
1498
ValaCCodeParameter* _tmp64_;
1499
ValaCCodeModifiers _tmp65_;
1500
_tmp53_ = vala_method_get_real_cname (m);
1525
ValaCCodeParameter* _tmp62_ = NULL;
1526
ValaCCodeParameter* _tmp63_;
1527
ValaCCodeModifiers _tmp64_;
1528
_tmp51_ = vala_method_get_real_cname (m);
1530
_tmp53_ = g_strconcat (_tmp52_, "_co", NULL);
1501
1531
_tmp54_ = _tmp53_;
1502
_tmp55_ = g_strconcat (_tmp54_, "_co", NULL);
1503
_tmp56_ = vala_ccode_function_new (_tmp55_, "gboolean");
1532
_tmp55_ = vala_ccode_function_new (_tmp54_, "gboolean");
1505
1533
_vala_ccode_node_unref0 (function);
1508
1535
_g_free0 (_tmp54_);
1509
_tmp58_ = vala_method_get_cname (m);
1537
_tmp56_ = vala_method_get_cname (m);
1539
_tmp58_ = vala_symbol_lower_case_to_camel_case (_tmp57_);
1510
1540
_tmp59_ = _tmp58_;
1511
_tmp60_ = vala_symbol_lower_case_to_camel_case (_tmp59_);
1541
_tmp60_ = g_strconcat (_tmp59_, "Data*", NULL);
1512
1542
_tmp61_ = _tmp60_;
1513
_tmp62_ = g_strconcat (_tmp61_, "Data*", NULL);
1514
_tmp63_ = vala_ccode_parameter_new ("data", _tmp62_);
1516
vala_ccode_function_add_parameter (function, _tmp64_);
1517
_vala_ccode_node_unref0 (_tmp64_);
1543
_tmp62_ = vala_ccode_parameter_new ("data", _tmp61_);
1545
vala_ccode_function_add_parameter (function, _tmp63_);
1546
_vala_ccode_node_unref0 (_tmp63_);
1519
1547
_g_free0 (_tmp61_);
1520
1548
_g_free0 (_tmp59_);
1521
_tmp65_ = vala_ccode_function_get_modifiers (function);
1522
vala_ccode_function_set_modifiers (function, _tmp65_ | VALA_CCODE_MODIFIERS_STATIC);
1550
_tmp64_ = vala_ccode_function_get_modifiers (function);
1551
vala_ccode_function_set_modifiers (function, _tmp64_ | VALA_CCODE_MODIFIERS_STATIC);
1523
1552
vala_ccode_file_add_function_declaration (((ValaCCodeBaseModule*) self)->cfile, function);
1527
_tmp66_ = vala_symbol_get_comment ((ValaSymbol*) m);
1528
if (_tmp66_ != NULL) {
1529
ValaComment* _tmp67_ = NULL;
1530
const gchar* _tmp68_ = NULL;
1531
ValaCCodeComment* _tmp69_ = NULL;
1532
ValaCCodeComment* _tmp70_;
1533
_tmp67_ = vala_symbol_get_comment ((ValaSymbol*) m);
1534
_tmp68_ = vala_comment_get_content (_tmp67_);
1535
_tmp69_ = vala_ccode_comment_new (_tmp68_);
1537
vala_ccode_file_add_type_member_definition (((ValaCCodeBaseModule*) self)->cfile, (ValaCCodeNode*) _tmp70_);
1538
_vala_ccode_node_unref0 (_tmp70_);
1556
_tmp65_ = vala_symbol_get_comment ((ValaSymbol*) m);
1557
if (_tmp65_ != NULL) {
1558
ValaComment* _tmp66_ = NULL;
1559
const gchar* _tmp67_ = NULL;
1560
ValaCCodeComment* _tmp68_ = NULL;
1561
ValaCCodeComment* _tmp69_;
1562
_tmp66_ = vala_symbol_get_comment ((ValaSymbol*) m);
1563
_tmp67_ = vala_comment_get_content (_tmp66_);
1564
_tmp68_ = vala_ccode_comment_new (_tmp67_);
1566
vala_ccode_file_add_type_member_definition (((ValaCCodeBaseModule*) self)->cfile, (ValaCCodeNode*) _tmp69_);
1567
_vala_ccode_node_unref0 (_tmp69_);
1540
1569
vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, function);
1541
_tmp72_ = vala_method_get_is_abstract (m);
1570
_tmp71_ = vala_method_get_is_abstract (m);
1545
gboolean _tmp73_ = FALSE;
1547
_tmp74_ = vala_method_get_is_abstract (m);
1549
ValaTypeSymbol* _tmp75_ = NULL;
1550
_tmp75_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
1551
_tmp73_ = VALA_IS_CLASS (_tmp75_);
1574
gboolean _tmp72_ = FALSE;
1576
_tmp73_ = vala_method_get_is_abstract (m);
1578
ValaTypeSymbol* _tmp74_ = NULL;
1579
_tmp74_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
1580
_tmp72_ = VALA_IS_CLASS (_tmp74_);
1558
ValaBlock* _tmp76_ = NULL;
1559
_tmp76_ = vala_subroutine_get_body ((ValaSubroutine*) m);
1560
if (_tmp76_ != NULL) {
1563
gboolean _tmp324_ = FALSE;
1564
gboolean _tmp325_ = FALSE;
1565
ValaDataType* _tmp326_ = NULL;
1566
gboolean _tmp472_ = FALSE;
1567
ValaCodeContext* _tmp473_ = NULL;
1568
ValaMethod* _tmp474_ = NULL;
1569
_tmp77_ = vala_method_get_coroutine (m);
1571
ValaCCodeFunction* _tmp78_ = NULL;
1572
ValaCCodeIdentifier* _tmp79_ = NULL;
1573
ValaCCodeIdentifier* _tmp80_;
1574
ValaCCodeMemberAccess* _tmp81_ = NULL;
1575
ValaCCodeMemberAccess* _tmp82_;
1576
ValaCCodeFunction* _tmp83_ = NULL;
1577
ValaCCodeConstant* _tmp84_ = NULL;
1578
ValaCCodeConstant* _tmp85_;
1579
ValaCCodeFunction* _tmp86_ = NULL;
1587
ValaBlock* _tmp75_ = NULL;
1588
_tmp75_ = vala_subroutine_get_body ((ValaSubroutine*) m);
1589
if (_tmp75_ != NULL) {
1592
gboolean _tmp316_ = FALSE;
1593
gboolean _tmp317_ = FALSE;
1594
ValaDataType* _tmp318_ = NULL;
1595
gboolean _tmp461_ = FALSE;
1596
ValaCodeContext* _tmp462_ = NULL;
1597
ValaMethod* _tmp463_ = NULL;
1598
_tmp76_ = vala_method_get_coroutine (m);
1600
ValaCCodeFunction* _tmp77_ = NULL;
1601
ValaCCodeIdentifier* _tmp78_ = NULL;
1602
ValaCCodeIdentifier* _tmp79_;
1603
ValaCCodeMemberAccess* _tmp80_ = NULL;
1604
ValaCCodeMemberAccess* _tmp81_;
1605
ValaCCodeFunction* _tmp82_ = NULL;
1606
ValaCCodeConstant* _tmp83_ = NULL;
1607
ValaCCodeConstant* _tmp84_;
1608
ValaCCodeFunction* _tmp85_ = NULL;
1609
ValaCCodeFunction* _tmp96_ = NULL;
1580
1610
ValaCCodeFunction* _tmp97_ = NULL;
1581
ValaCCodeFunction* _tmp98_ = NULL;
1582
ValaCCodeIdentifier* _tmp99_ = NULL;
1583
ValaCCodeIdentifier* _tmp100_;
1584
ValaCCodeFunctionCall* _tmp101_ = NULL;
1585
ValaCCodeFunctionCall* _tmp102_;
1611
ValaCCodeIdentifier* _tmp98_ = NULL;
1612
ValaCCodeIdentifier* _tmp99_;
1613
ValaCCodeFunctionCall* _tmp100_ = NULL;
1614
ValaCCodeFunctionCall* _tmp101_;
1615
ValaCCodeFunction* _tmp102_ = NULL;
1586
1616
ValaCCodeFunction* _tmp103_ = NULL;
1587
ValaCCodeFunction* _tmp104_ = NULL;
1588
_tmp78_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1589
_tmp79_ = vala_ccode_identifier_new ("data");
1591
_tmp81_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp80_, "_state_");
1593
vala_ccode_function_open_switch (_tmp78_, (ValaCCodeExpression*) _tmp82_);
1594
_vala_ccode_node_unref0 (_tmp82_);
1595
_vala_ccode_node_unref0 (_tmp80_);
1596
_tmp83_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1597
_tmp84_ = vala_ccode_constant_new ("0");
1599
vala_ccode_function_add_case (_tmp83_, (ValaCCodeExpression*) _tmp85_);
1600
_vala_ccode_node_unref0 (_tmp85_);
1601
_tmp86_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1602
vala_ccode_function_add_goto (_tmp86_, "_state_0");
1617
_tmp77_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1618
_tmp78_ = vala_ccode_identifier_new ("data");
1620
_tmp80_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp79_, "_state_");
1622
vala_ccode_function_open_switch (_tmp77_, (ValaCCodeExpression*) _tmp81_);
1623
_vala_ccode_node_unref0 (_tmp81_);
1624
_vala_ccode_node_unref0 (_tmp79_);
1625
_tmp82_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1626
_tmp83_ = vala_ccode_constant_new ("0");
1628
vala_ccode_function_add_case (_tmp82_, (ValaCCodeExpression*) _tmp84_);
1629
_vala_ccode_node_unref0 (_tmp84_);
1630
_tmp85_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1631
vala_ccode_function_add_goto (_tmp85_, "_state_0");
1611
ValaCCodeFunction* _tmp89_ = NULL;
1612
gchar* _tmp90_ = NULL;
1614
ValaCCodeConstant* _tmp92_ = NULL;
1615
ValaCCodeConstant* _tmp93_;
1616
ValaCCodeFunction* _tmp94_ = NULL;
1617
gchar* _tmp95_ = NULL;
1640
ValaCCodeFunction* _tmp88_ = NULL;
1641
gchar* _tmp89_ = NULL;
1643
ValaCCodeConstant* _tmp91_ = NULL;
1644
ValaCCodeConstant* _tmp92_;
1645
ValaCCodeFunction* _tmp93_ = NULL;
1646
gchar* _tmp94_ = NULL;
1623
_tmp88_ = vala_method_get_yield_count (m);
1624
if (!(state <= _tmp88_)) {
1652
_tmp87_ = vala_method_get_yield_count (m);
1653
if (!(state <= _tmp87_)) {
1627
_tmp89_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1628
_tmp90_ = g_strdup_printf ("%i", state);
1630
_tmp92_ = vala_ccode_constant_new (_tmp91_);
1632
vala_ccode_function_add_case (_tmp89_, (ValaCCodeExpression*) _tmp93_);
1633
_vala_ccode_node_unref0 (_tmp93_);
1635
_tmp94_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1636
_tmp95_ = g_strdup_printf ("_state_%d", state);
1638
vala_ccode_function_add_goto (_tmp94_, _tmp96_);
1656
_tmp88_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1657
_tmp89_ = g_strdup_printf ("%i", state);
1659
_tmp91_ = vala_ccode_constant_new (_tmp90_);
1661
vala_ccode_function_add_case (_tmp88_, (ValaCCodeExpression*) _tmp92_);
1662
_vala_ccode_node_unref0 (_tmp92_);
1664
_tmp93_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1665
_tmp94_ = g_strdup_printf ("_state_%d", state);
1667
vala_ccode_function_add_goto (_tmp93_, _tmp95_);
1672
_tmp96_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1673
vala_ccode_function_add_default (_tmp96_);
1643
1674
_tmp97_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1644
vala_ccode_function_add_default (_tmp97_);
1645
_tmp98_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1646
_tmp99_ = vala_ccode_identifier_new ("g_assert_not_reached");
1648
_tmp101_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp100_);
1649
_tmp102_ = _tmp101_;
1650
vala_ccode_function_add_expression (_tmp98_, (ValaCCodeExpression*) _tmp102_);
1651
_vala_ccode_node_unref0 (_tmp102_);
1652
_vala_ccode_node_unref0 (_tmp100_);
1675
_tmp98_ = vala_ccode_identifier_new ("g_assert_not_reached");
1677
_tmp100_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp99_);
1678
_tmp101_ = _tmp100_;
1679
vala_ccode_function_add_expression (_tmp97_, (ValaCCodeExpression*) _tmp101_);
1680
_vala_ccode_node_unref0 (_tmp101_);
1681
_vala_ccode_node_unref0 (_tmp99_);
1682
_tmp102_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1683
vala_ccode_function_close (_tmp102_);
1653
1684
_tmp103_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1654
vala_ccode_function_close (_tmp103_);
1655
_tmp104_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1656
vala_ccode_function_add_label (_tmp104_, "_state_0");
1685
vala_ccode_function_add_label (_tmp103_, "_state_0");
1658
_tmp105_ = vala_method_get_closure (m);
1660
ValaBlock* _tmp106_ = NULL;
1661
ValaBlock* _tmp107_;
1687
_tmp104_ = vala_method_get_closure (m);
1689
ValaBlock* _tmp105_ = NULL;
1690
ValaBlock* _tmp106_;
1662
1691
ValaBlock* closure_block;
1665
ValaMemberBinding _tmp135_;
1666
_tmp106_ = vala_ccode_base_module_get_current_closure_block ((ValaCCodeBaseModule*) self);
1667
_tmp107_ = _vala_code_node_ref0 (_tmp106_);
1668
closure_block = _tmp107_;
1669
_tmp108_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, closure_block);
1670
block_id = _tmp108_;
1694
ValaMemberBinding _tmp133_;
1695
_tmp105_ = vala_ccode_base_module_get_current_closure_block ((ValaCCodeBaseModule*) self);
1696
_tmp106_ = _vala_code_node_ref0 (_tmp105_);
1697
closure_block = _tmp106_;
1698
_tmp107_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, closure_block);
1699
block_id = _tmp107_;
1672
ValaSymbol* _tmp109_ = NULL;
1673
ValaBlock* _tmp110_ = NULL;
1674
ValaBlock* _tmp111_;
1701
ValaSymbol* _tmp108_ = NULL;
1702
ValaBlock* _tmp109_ = NULL;
1703
ValaBlock* _tmp110_;
1675
1704
ValaBlock* parent_closure_block;
1677
1706
gint parent_block_id;
1678
gchar* _tmp113_ = NULL;
1680
ValaCCodeIdentifier* _tmp115_ = NULL;
1681
ValaCCodeIdentifier* _tmp116_;
1682
gchar* _tmp117_ = NULL;
1684
ValaCCodeMemberAccess* _tmp119_ = NULL;
1685
ValaCCodeMemberAccess* _tmp120_;
1707
gchar* _tmp112_ = NULL;
1709
ValaCCodeIdentifier* _tmp114_ = NULL;
1710
ValaCCodeIdentifier* _tmp115_;
1711
gchar* _tmp116_ = NULL;
1713
ValaCCodeMemberAccess* _tmp118_ = NULL;
1714
ValaCCodeMemberAccess* _tmp119_;
1686
1715
ValaCCodeMemberAccess* parent_data;
1687
ValaCCodeFunction* _tmp121_ = NULL;
1688
gchar* _tmp122_ = NULL;
1690
gchar* _tmp124_ = NULL;
1692
ValaCCodeVariableDeclarator* _tmp126_ = NULL;
1693
ValaCCodeVariableDeclarator* _tmp127_;
1694
ValaCCodeFunction* _tmp128_ = NULL;
1695
gchar* _tmp129_ = NULL;
1697
ValaCCodeIdentifier* _tmp131_ = NULL;
1698
ValaCCodeIdentifier* _tmp132_;
1699
ValaBlock* _tmp133_;
1700
ValaBlock* _tmp134_;
1701
_tmp109_ = vala_symbol_get_parent_symbol ((ValaSymbol*) closure_block);
1702
_tmp110_ = vala_ccode_base_module_next_closure_block ((ValaCCodeBaseModule*) self, _tmp109_);
1703
_tmp111_ = _vala_code_node_ref0 (_tmp110_);
1704
parent_closure_block = _tmp111_;
1716
ValaCCodeFunction* _tmp120_ = NULL;
1717
gchar* _tmp121_ = NULL;
1719
gchar* _tmp123_ = NULL;
1721
ValaCCodeVariableDeclarator* _tmp125_ = NULL;
1722
ValaCCodeVariableDeclarator* _tmp126_;
1723
ValaCCodeFunction* _tmp127_ = NULL;
1724
gchar* _tmp128_ = NULL;
1726
ValaCCodeIdentifier* _tmp130_ = NULL;
1727
ValaCCodeIdentifier* _tmp131_;
1728
ValaBlock* _tmp132_;
1729
_tmp108_ = vala_symbol_get_parent_symbol ((ValaSymbol*) closure_block);
1730
_tmp109_ = vala_ccode_base_module_next_closure_block ((ValaCCodeBaseModule*) self, _tmp108_);
1731
_tmp110_ = _vala_code_node_ref0 (_tmp109_);
1732
parent_closure_block = _tmp110_;
1705
1733
if (parent_closure_block == NULL) {
1706
1734
_vala_code_node_unref0 (parent_closure_block);
1709
_tmp112_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, parent_closure_block);
1710
parent_block_id = _tmp112_;
1711
_tmp113_ = g_strdup_printf ("_data%d_", block_id);
1712
_tmp114_ = _tmp113_;
1713
_tmp115_ = vala_ccode_identifier_new (_tmp114_);
1714
_tmp116_ = _tmp115_;
1715
_tmp117_ = g_strdup_printf ("_data%d_", parent_block_id);
1716
_tmp118_ = _tmp117_;
1717
_tmp119_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp116_, _tmp118_);
1718
parent_data = (_tmp120_ = _tmp119_, _g_free0 (_tmp118_), _vala_ccode_node_unref0 (_tmp116_), _g_free0 (_tmp114_), _tmp120_);
1719
_tmp121_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1720
_tmp122_ = g_strdup_printf ("Block%dData*", parent_block_id);
1721
_tmp123_ = _tmp122_;
1722
_tmp124_ = g_strdup_printf ("_data%d_", parent_block_id);
1723
_tmp125_ = _tmp124_;
1724
_tmp126_ = vala_ccode_variable_declarator_new (_tmp125_, NULL, NULL);
1725
_tmp127_ = _tmp126_;
1726
vala_ccode_function_add_declaration (_tmp121_, _tmp123_, (ValaCCodeDeclarator*) _tmp127_, 0);
1727
_vala_ccode_node_unref0 (_tmp127_);
1728
_g_free0 (_tmp125_);
1729
_g_free0 (_tmp123_);
1730
_tmp128_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1731
_tmp129_ = g_strdup_printf ("_data%d_", parent_block_id);
1732
_tmp130_ = _tmp129_;
1733
_tmp131_ = vala_ccode_identifier_new (_tmp130_);
1734
_tmp132_ = _tmp131_;
1735
vala_ccode_function_add_assignment (_tmp128_, (ValaCCodeExpression*) _tmp132_, (ValaCCodeExpression*) parent_data);
1736
_vala_ccode_node_unref0 (_tmp132_);
1737
_g_free0 (_tmp130_);
1738
_tmp133_ = _vala_code_node_ref0 (parent_closure_block);
1739
_tmp134_ = _tmp133_;
1737
_tmp111_ = vala_ccode_base_module_get_block_id ((ValaCCodeBaseModule*) self, parent_closure_block);
1738
parent_block_id = _tmp111_;
1739
_tmp112_ = g_strdup_printf ("_data%d_", block_id);
1740
_tmp113_ = _tmp112_;
1741
_tmp114_ = vala_ccode_identifier_new (_tmp113_);
1742
_tmp115_ = _tmp114_;
1743
_tmp116_ = g_strdup_printf ("_data%d_", parent_block_id);
1744
_tmp117_ = _tmp116_;
1745
_tmp118_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp115_, _tmp117_);
1746
_tmp119_ = _tmp118_;
1747
_g_free0 (_tmp117_);
1748
_vala_ccode_node_unref0 (_tmp115_);
1749
_g_free0 (_tmp113_);
1750
parent_data = _tmp119_;
1751
_tmp120_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1752
_tmp121_ = g_strdup_printf ("Block%dData*", parent_block_id);
1753
_tmp122_ = _tmp121_;
1754
_tmp123_ = g_strdup_printf ("_data%d_", parent_block_id);
1755
_tmp124_ = _tmp123_;
1756
_tmp125_ = vala_ccode_variable_declarator_new (_tmp124_, NULL, NULL);
1757
_tmp126_ = _tmp125_;
1758
vala_ccode_function_add_declaration (_tmp120_, _tmp122_, (ValaCCodeDeclarator*) _tmp126_, 0);
1759
_vala_ccode_node_unref0 (_tmp126_);
1760
_g_free0 (_tmp124_);
1761
_g_free0 (_tmp122_);
1762
_tmp127_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1763
_tmp128_ = g_strdup_printf ("_data%d_", parent_block_id);
1764
_tmp129_ = _tmp128_;
1765
_tmp130_ = vala_ccode_identifier_new (_tmp129_);
1766
_tmp131_ = _tmp130_;
1767
vala_ccode_function_add_assignment (_tmp127_, (ValaCCodeExpression*) _tmp131_, (ValaCCodeExpression*) parent_data);
1768
_vala_ccode_node_unref0 (_tmp131_);
1769
_g_free0 (_tmp129_);
1770
_tmp132_ = _vala_code_node_ref0 (parent_closure_block);
1740
1771
_vala_code_node_unref0 (closure_block);
1741
closure_block = _tmp134_;
1772
closure_block = _tmp132_;
1742
1773
block_id = parent_block_id;
1743
1774
_vala_ccode_node_unref0 (parent_data);
1744
1775
_vala_code_node_unref0 (parent_closure_block);
1746
_tmp135_ = vala_method_get_binding (m);
1747
if (_tmp135_ == VALA_MEMBER_BINDING_INSTANCE) {
1748
gchar* _tmp136_ = NULL;
1750
ValaCCodeIdentifier* _tmp138_ = NULL;
1751
ValaCCodeIdentifier* _tmp139_;
1752
ValaCCodeMemberAccess* _tmp140_ = NULL;
1753
ValaCCodeMemberAccess* _tmp141_;
1777
_tmp133_ = vala_method_get_binding (m);
1778
if (_tmp133_ == VALA_MEMBER_BINDING_INSTANCE) {
1779
gchar* _tmp134_ = NULL;
1781
ValaCCodeIdentifier* _tmp136_ = NULL;
1782
ValaCCodeIdentifier* _tmp137_;
1783
ValaCCodeMemberAccess* _tmp138_ = NULL;
1784
ValaCCodeMemberAccess* _tmp139_;
1754
1785
ValaCCodeMemberAccess* cself;
1755
ValaCCodeFunction* _tmp142_ = NULL;
1756
ValaClass* _tmp143_ = NULL;
1786
ValaCCodeFunction* _tmp140_ = NULL;
1787
ValaClass* _tmp141_ = NULL;
1788
gchar* _tmp142_ = NULL;
1757
1790
gchar* _tmp144_ = NULL;
1758
1791
gchar* _tmp145_;
1759
gchar* _tmp146_ = NULL;
1761
ValaCCodeVariableDeclarator* _tmp148_ = NULL;
1762
ValaCCodeVariableDeclarator* _tmp149_;
1763
ValaCCodeFunction* _tmp150_ = NULL;
1764
ValaCCodeIdentifier* _tmp151_ = NULL;
1765
ValaCCodeIdentifier* _tmp152_;
1766
_tmp136_ = g_strdup_printf ("_data%d_", block_id);
1792
ValaCCodeVariableDeclarator* _tmp146_ = NULL;
1793
ValaCCodeVariableDeclarator* _tmp147_;
1794
ValaCCodeFunction* _tmp148_ = NULL;
1795
ValaCCodeIdentifier* _tmp149_ = NULL;
1796
ValaCCodeIdentifier* _tmp150_;
1797
_tmp134_ = g_strdup_printf ("_data%d_", block_id);
1798
_tmp135_ = _tmp134_;
1799
_tmp136_ = vala_ccode_identifier_new (_tmp135_);
1767
1800
_tmp137_ = _tmp136_;
1768
_tmp138_ = vala_ccode_identifier_new (_tmp137_);
1801
_tmp138_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp137_, "self");
1769
1802
_tmp139_ = _tmp138_;
1770
_tmp140_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp139_, "self");
1771
cself = (_tmp141_ = _tmp140_, _vala_ccode_node_unref0 (_tmp139_), _g_free0 (_tmp137_), _tmp141_);
1772
_tmp142_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1773
_tmp143_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
1774
_tmp144_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) _tmp143_, FALSE);
1803
_vala_ccode_node_unref0 (_tmp137_);
1804
_g_free0 (_tmp135_);
1806
_tmp140_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1807
_tmp141_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
1808
_tmp142_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) _tmp141_, FALSE);
1809
_tmp143_ = _tmp142_;
1810
_tmp144_ = g_strdup_printf ("%s *", _tmp143_);
1775
1811
_tmp145_ = _tmp144_;
1776
_tmp146_ = g_strdup_printf ("%s *", _tmp145_);
1812
_tmp146_ = vala_ccode_variable_declarator_new ("self", NULL, NULL);
1777
1813
_tmp147_ = _tmp146_;
1778
_tmp148_ = vala_ccode_variable_declarator_new ("self", NULL, NULL);
1779
_tmp149_ = _tmp148_;
1780
vala_ccode_function_add_declaration (_tmp142_, _tmp147_, (ValaCCodeDeclarator*) _tmp149_, 0);
1781
_vala_ccode_node_unref0 (_tmp149_);
1782
_g_free0 (_tmp147_);
1814
vala_ccode_function_add_declaration (_tmp140_, _tmp145_, (ValaCCodeDeclarator*) _tmp147_, 0);
1815
_vala_ccode_node_unref0 (_tmp147_);
1783
1816
_g_free0 (_tmp145_);
1784
_tmp150_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1785
_tmp151_ = vala_ccode_identifier_new ("self");
1786
_tmp152_ = _tmp151_;
1787
vala_ccode_function_add_assignment (_tmp150_, (ValaCCodeExpression*) _tmp152_, (ValaCCodeExpression*) cself);
1788
_vala_ccode_node_unref0 (_tmp152_);
1817
_g_free0 (_tmp143_);
1818
_tmp148_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1819
_tmp149_ = vala_ccode_identifier_new ("self");
1820
_tmp150_ = _tmp149_;
1821
vala_ccode_function_add_assignment (_tmp148_, (ValaCCodeExpression*) _tmp150_, (ValaCCodeExpression*) cself);
1822
_vala_ccode_node_unref0 (_tmp150_);
1789
1823
_vala_ccode_node_unref0 (cself);
1792
ValaList* _tmp153_ = NULL;
1826
ValaList* _tmp151_ = NULL;
1793
1827
ValaList* _type_param_list;
1795
1829
gint _type_param_size;
1796
1830
gint _type_param_index;
1797
_tmp153_ = vala_method_get_type_parameters (m);
1798
_type_param_list = _tmp153_;
1799
_tmp154_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
1800
_type_param_size = _tmp154_;
1831
_tmp151_ = vala_method_get_type_parameters (m);
1832
_type_param_list = _tmp151_;
1833
_tmp152_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
1834
_type_param_size = _tmp152_;
1801
1835
_type_param_index = -1;
1803
gpointer _tmp155_ = NULL;
1837
gpointer _tmp153_ = NULL;
1804
1838
ValaTypeParameter* type_param;
1805
1839
gchar* func_name = NULL;
1806
const gchar* _tmp156_ = NULL;
1840
const gchar* _tmp154_ = NULL;
1841
gchar* _tmp155_ = NULL;
1807
1843
gchar* _tmp157_ = NULL;
1809
gchar* _tmp159_ = NULL;
1844
ValaCCodeFunction* _tmp158_ = NULL;
1845
ValaCCodeVariableDeclarator* _tmp159_ = NULL;
1846
ValaCCodeVariableDeclarator* _tmp160_;
1811
1847
ValaCCodeFunction* _tmp161_ = NULL;
1812
ValaCCodeVariableDeclarator* _tmp162_ = NULL;
1813
ValaCCodeVariableDeclarator* _tmp163_;
1814
ValaCCodeFunction* _tmp164_ = NULL;
1815
ValaCCodeIdentifier* _tmp165_ = NULL;
1816
ValaCCodeIdentifier* _tmp166_;
1817
gchar* _tmp167_ = NULL;
1819
ValaCCodeExpression* _tmp169_ = NULL;
1820
ValaCCodeExpression* _tmp170_;
1821
ValaCCodeMemberAccess* _tmp171_ = NULL;
1822
ValaCCodeMemberAccess* _tmp172_;
1823
const gchar* _tmp173_ = NULL;
1824
gchar* _tmp174_ = NULL;
1826
gchar* _tmp176_ = NULL;
1828
ValaCCodeFunction* _tmp178_ = NULL;
1829
ValaCCodeVariableDeclarator* _tmp179_ = NULL;
1830
ValaCCodeVariableDeclarator* _tmp180_;
1831
ValaCCodeFunction* _tmp181_ = NULL;
1832
ValaCCodeIdentifier* _tmp182_ = NULL;
1833
ValaCCodeIdentifier* _tmp183_;
1834
gchar* _tmp184_ = NULL;
1836
ValaCCodeExpression* _tmp186_ = NULL;
1837
ValaCCodeExpression* _tmp187_;
1838
ValaCCodeMemberAccess* _tmp188_ = NULL;
1839
ValaCCodeMemberAccess* _tmp189_;
1840
const gchar* _tmp190_ = NULL;
1841
gchar* _tmp191_ = NULL;
1843
gchar* _tmp193_ = NULL;
1845
ValaCCodeFunction* _tmp195_ = NULL;
1846
ValaCCodeVariableDeclarator* _tmp196_ = NULL;
1847
ValaCCodeVariableDeclarator* _tmp197_;
1848
ValaCCodeFunction* _tmp198_ = NULL;
1849
ValaCCodeIdentifier* _tmp199_ = NULL;
1850
ValaCCodeIdentifier* _tmp200_;
1851
gchar* _tmp201_ = NULL;
1853
ValaCCodeExpression* _tmp203_ = NULL;
1854
ValaCCodeExpression* _tmp204_;
1855
ValaCCodeMemberAccess* _tmp205_ = NULL;
1856
ValaCCodeMemberAccess* _tmp206_;
1848
ValaCCodeIdentifier* _tmp162_ = NULL;
1849
ValaCCodeIdentifier* _tmp163_;
1850
gchar* _tmp164_ = NULL;
1852
ValaCCodeExpression* _tmp166_ = NULL;
1853
ValaCCodeExpression* _tmp167_;
1854
ValaCCodeMemberAccess* _tmp168_ = NULL;
1855
ValaCCodeMemberAccess* _tmp169_;
1856
const gchar* _tmp170_ = NULL;
1857
gchar* _tmp171_ = NULL;
1859
gchar* _tmp173_ = NULL;
1860
ValaCCodeFunction* _tmp174_ = NULL;
1861
ValaCCodeVariableDeclarator* _tmp175_ = NULL;
1862
ValaCCodeVariableDeclarator* _tmp176_;
1863
ValaCCodeFunction* _tmp177_ = NULL;
1864
ValaCCodeIdentifier* _tmp178_ = NULL;
1865
ValaCCodeIdentifier* _tmp179_;
1866
gchar* _tmp180_ = NULL;
1868
ValaCCodeExpression* _tmp182_ = NULL;
1869
ValaCCodeExpression* _tmp183_;
1870
ValaCCodeMemberAccess* _tmp184_ = NULL;
1871
ValaCCodeMemberAccess* _tmp185_;
1872
const gchar* _tmp186_ = NULL;
1873
gchar* _tmp187_ = NULL;
1875
gchar* _tmp189_ = NULL;
1876
ValaCCodeFunction* _tmp190_ = NULL;
1877
ValaCCodeVariableDeclarator* _tmp191_ = NULL;
1878
ValaCCodeVariableDeclarator* _tmp192_;
1879
ValaCCodeFunction* _tmp193_ = NULL;
1880
ValaCCodeIdentifier* _tmp194_ = NULL;
1881
ValaCCodeIdentifier* _tmp195_;
1882
gchar* _tmp196_ = NULL;
1884
ValaCCodeExpression* _tmp198_ = NULL;
1885
ValaCCodeExpression* _tmp199_;
1886
ValaCCodeMemberAccess* _tmp200_ = NULL;
1887
ValaCCodeMemberAccess* _tmp201_;
1857
1888
_type_param_index = _type_param_index + 1;
1858
1889
if (!(_type_param_index < _type_param_size)) {
1861
_tmp155_ = vala_list_get (_type_param_list, _type_param_index);
1862
type_param = (ValaTypeParameter*) _tmp155_;
1863
_tmp156_ = vala_symbol_get_name ((ValaSymbol*) type_param);
1864
_tmp157_ = g_utf8_strdown (_tmp156_, (gssize) (-1));
1865
_tmp158_ = _tmp157_;
1866
_tmp159_ = g_strdup_printf ("%s_type", _tmp158_);
1892
_tmp153_ = vala_list_get (_type_param_list, _type_param_index);
1893
type_param = (ValaTypeParameter*) _tmp153_;
1894
_tmp154_ = vala_symbol_get_name ((ValaSymbol*) type_param);
1895
_tmp155_ = g_utf8_strdown (_tmp154_, (gssize) (-1));
1896
_tmp156_ = _tmp155_;
1897
_tmp157_ = g_strdup_printf ("%s_type", _tmp156_);
1898
_g_free0 (func_name);
1899
func_name = _tmp157_;
1900
_g_free0 (_tmp156_);
1901
_tmp158_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1902
_tmp159_ = vala_ccode_variable_declarator_new (func_name, NULL, NULL);
1867
1903
_tmp160_ = _tmp159_;
1868
_g_free0 (func_name);
1869
func_name = _tmp160_;
1870
_g_free0 (_tmp158_);
1904
vala_ccode_function_add_declaration (_tmp158_, "GType", (ValaCCodeDeclarator*) _tmp160_, 0);
1905
_vala_ccode_node_unref0 (_tmp160_);
1871
1906
_tmp161_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1872
_tmp162_ = vala_ccode_variable_declarator_new (func_name, NULL, NULL);
1907
_tmp162_ = vala_ccode_identifier_new (func_name);
1873
1908
_tmp163_ = _tmp162_;
1874
vala_ccode_function_add_declaration (_tmp161_, "GType", (ValaCCodeDeclarator*) _tmp163_, 0);
1909
_tmp164_ = g_strdup_printf ("_data%d_", block_id);
1910
_tmp165_ = _tmp164_;
1911
_tmp166_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp165_);
1912
_tmp167_ = _tmp166_;
1913
_tmp168_ = vala_ccode_member_access_new_pointer (_tmp167_, func_name);
1914
_tmp169_ = _tmp168_;
1915
vala_ccode_function_add_assignment (_tmp161_, (ValaCCodeExpression*) _tmp163_, (ValaCCodeExpression*) _tmp169_);
1916
_vala_ccode_node_unref0 (_tmp169_);
1917
_vala_ccode_node_unref0 (_tmp167_);
1918
_g_free0 (_tmp165_);
1875
1919
_vala_ccode_node_unref0 (_tmp163_);
1876
_tmp164_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1877
_tmp165_ = vala_ccode_identifier_new (func_name);
1878
_tmp166_ = _tmp165_;
1879
_tmp167_ = g_strdup_printf ("_data%d_", block_id);
1880
_tmp168_ = _tmp167_;
1881
_tmp169_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp168_);
1882
_tmp170_ = _tmp169_;
1883
_tmp171_ = vala_ccode_member_access_new_pointer (_tmp170_, func_name);
1920
_tmp170_ = vala_symbol_get_name ((ValaSymbol*) type_param);
1921
_tmp171_ = g_utf8_strdown (_tmp170_, (gssize) (-1));
1884
1922
_tmp172_ = _tmp171_;
1885
vala_ccode_function_add_assignment (_tmp164_, (ValaCCodeExpression*) _tmp166_, (ValaCCodeExpression*) _tmp172_);
1886
_vala_ccode_node_unref0 (_tmp172_);
1887
_vala_ccode_node_unref0 (_tmp170_);
1888
_g_free0 (_tmp168_);
1889
_vala_ccode_node_unref0 (_tmp166_);
1890
_tmp173_ = vala_symbol_get_name ((ValaSymbol*) type_param);
1891
_tmp174_ = g_utf8_strdown (_tmp173_, (gssize) (-1));
1892
_tmp175_ = _tmp174_;
1893
_tmp176_ = g_strdup_printf ("%s_dup_func", _tmp175_);
1894
_tmp177_ = _tmp176_;
1923
_tmp173_ = g_strdup_printf ("%s_dup_func", _tmp172_);
1895
1924
_g_free0 (func_name);
1896
func_name = _tmp177_;
1897
_g_free0 (_tmp175_);
1898
_tmp178_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1899
_tmp179_ = vala_ccode_variable_declarator_new (func_name, NULL, NULL);
1900
_tmp180_ = _tmp179_;
1901
vala_ccode_function_add_declaration (_tmp178_, "GBoxedCopyFunc", (ValaCCodeDeclarator*) _tmp180_, 0);
1902
_vala_ccode_node_unref0 (_tmp180_);
1903
_tmp181_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1904
_tmp182_ = vala_ccode_identifier_new (func_name);
1925
func_name = _tmp173_;
1926
_g_free0 (_tmp172_);
1927
_tmp174_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1928
_tmp175_ = vala_ccode_variable_declarator_new (func_name, NULL, NULL);
1929
_tmp176_ = _tmp175_;
1930
vala_ccode_function_add_declaration (_tmp174_, "GBoxedCopyFunc", (ValaCCodeDeclarator*) _tmp176_, 0);
1931
_vala_ccode_node_unref0 (_tmp176_);
1932
_tmp177_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1933
_tmp178_ = vala_ccode_identifier_new (func_name);
1934
_tmp179_ = _tmp178_;
1935
_tmp180_ = g_strdup_printf ("_data%d_", block_id);
1936
_tmp181_ = _tmp180_;
1937
_tmp182_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp181_);
1905
1938
_tmp183_ = _tmp182_;
1906
_tmp184_ = g_strdup_printf ("_data%d_", block_id);
1939
_tmp184_ = vala_ccode_member_access_new_pointer (_tmp183_, func_name);
1907
1940
_tmp185_ = _tmp184_;
1908
_tmp186_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp185_);
1909
_tmp187_ = _tmp186_;
1910
_tmp188_ = vala_ccode_member_access_new_pointer (_tmp187_, func_name);
1911
_tmp189_ = _tmp188_;
1912
vala_ccode_function_add_assignment (_tmp181_, (ValaCCodeExpression*) _tmp183_, (ValaCCodeExpression*) _tmp189_);
1913
_vala_ccode_node_unref0 (_tmp189_);
1914
_vala_ccode_node_unref0 (_tmp187_);
1915
_g_free0 (_tmp185_);
1941
vala_ccode_function_add_assignment (_tmp177_, (ValaCCodeExpression*) _tmp179_, (ValaCCodeExpression*) _tmp185_);
1942
_vala_ccode_node_unref0 (_tmp185_);
1916
1943
_vala_ccode_node_unref0 (_tmp183_);
1917
_tmp190_ = vala_symbol_get_name ((ValaSymbol*) type_param);
1918
_tmp191_ = g_utf8_strdown (_tmp190_, (gssize) (-1));
1944
_g_free0 (_tmp181_);
1945
_vala_ccode_node_unref0 (_tmp179_);
1946
_tmp186_ = vala_symbol_get_name ((ValaSymbol*) type_param);
1947
_tmp187_ = g_utf8_strdown (_tmp186_, (gssize) (-1));
1948
_tmp188_ = _tmp187_;
1949
_tmp189_ = g_strdup_printf ("%s_destroy_func", _tmp188_);
1950
_g_free0 (func_name);
1951
func_name = _tmp189_;
1952
_g_free0 (_tmp188_);
1953
_tmp190_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1954
_tmp191_ = vala_ccode_variable_declarator_new (func_name, NULL, NULL);
1919
1955
_tmp192_ = _tmp191_;
1920
_tmp193_ = g_strdup_printf ("%s_destroy_func", _tmp192_);
1921
_tmp194_ = _tmp193_;
1922
_g_free0 (func_name);
1923
func_name = _tmp194_;
1924
_g_free0 (_tmp192_);
1925
_tmp195_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1926
_tmp196_ = vala_ccode_variable_declarator_new (func_name, NULL, NULL);
1956
vala_ccode_function_add_declaration (_tmp190_, "GDestroyNotify", (ValaCCodeDeclarator*) _tmp192_, 0);
1957
_vala_ccode_node_unref0 (_tmp192_);
1958
_tmp193_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1959
_tmp194_ = vala_ccode_identifier_new (func_name);
1960
_tmp195_ = _tmp194_;
1961
_tmp196_ = g_strdup_printf ("_data%d_", block_id);
1927
1962
_tmp197_ = _tmp196_;
1928
vala_ccode_function_add_declaration (_tmp195_, "GDestroyNotify", (ValaCCodeDeclarator*) _tmp197_, 0);
1929
_vala_ccode_node_unref0 (_tmp197_);
1930
_tmp198_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1931
_tmp199_ = vala_ccode_identifier_new (func_name);
1932
_tmp200_ = _tmp199_;
1933
_tmp201_ = g_strdup_printf ("_data%d_", block_id);
1934
_tmp202_ = _tmp201_;
1935
_tmp203_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp202_);
1936
_tmp204_ = _tmp203_;
1937
_tmp205_ = vala_ccode_member_access_new_pointer (_tmp204_, func_name);
1938
_tmp206_ = _tmp205_;
1939
vala_ccode_function_add_assignment (_tmp198_, (ValaCCodeExpression*) _tmp200_, (ValaCCodeExpression*) _tmp206_);
1940
_vala_ccode_node_unref0 (_tmp206_);
1941
_vala_ccode_node_unref0 (_tmp204_);
1942
_g_free0 (_tmp202_);
1943
_vala_ccode_node_unref0 (_tmp200_);
1963
_tmp198_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp197_);
1964
_tmp199_ = _tmp198_;
1965
_tmp200_ = vala_ccode_member_access_new_pointer (_tmp199_, func_name);
1966
_tmp201_ = _tmp200_;
1967
vala_ccode_function_add_assignment (_tmp193_, (ValaCCodeExpression*) _tmp195_, (ValaCCodeExpression*) _tmp201_);
1968
_vala_ccode_node_unref0 (_tmp201_);
1969
_vala_ccode_node_unref0 (_tmp199_);
1970
_g_free0 (_tmp197_);
1971
_vala_ccode_node_unref0 (_tmp195_);
1944
1972
_g_free0 (func_name);
1945
1973
_vala_code_node_unref0 (type_param);
1949
1977
_vala_code_node_unref0 (closure_block);
1951
gboolean _tmp207_ = FALSE;
1952
ValaSymbol* _tmp208_ = NULL;
1953
_tmp208_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
1954
if (VALA_IS_CLASS (_tmp208_)) {
1956
_tmp209_ = vala_method_get_coroutine (m);
1957
_tmp207_ = !_tmp209_;
1979
gboolean _tmp202_ = FALSE;
1980
ValaSymbol* _tmp203_ = NULL;
1981
_tmp203_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
1982
if (VALA_IS_CLASS (_tmp203_)) {
1984
_tmp204_ = vala_method_get_coroutine (m);
1985
_tmp202_ = !_tmp204_;
1962
ValaSymbol* _tmp210_ = NULL;
1963
ValaClass* _tmp211_;
1990
ValaSymbol* _tmp205_ = NULL;
1991
ValaClass* _tmp206_;
1965
gboolean _tmp212_ = FALSE;
1967
_tmp210_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
1968
_tmp211_ = _vala_code_node_ref0 (VALA_CLASS (_tmp210_));
1970
_tmp213_ = vala_method_get_overrides (m);
1993
gboolean _tmp207_ = FALSE;
1995
_tmp205_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
1996
_tmp206_ = _vala_code_node_ref0 (VALA_CLASS (_tmp205_));
1998
_tmp208_ = vala_method_get_overrides (m);
1974
gboolean _tmp214_ = FALSE;
1975
gboolean _tmp215_ = FALSE;
1976
ValaMethod* _tmp216_ = NULL;
1977
_tmp216_ = vala_method_get_base_interface_method (m);
1978
if (_tmp216_ != NULL) {
1980
_tmp217_ = vala_method_get_is_abstract (m);
1981
_tmp215_ = !_tmp217_;
1987
_tmp218_ = vala_method_get_is_virtual (m);
1988
_tmp214_ = !_tmp218_;
1992
_tmp212_ = _tmp214_;
2002
gboolean _tmp209_ = FALSE;
2003
gboolean _tmp210_ = FALSE;
2004
ValaMethod* _tmp211_ = NULL;
2005
_tmp211_ = vala_method_get_base_interface_method (m);
2006
if (_tmp211_ != NULL) {
2008
_tmp212_ = vala_method_get_is_abstract (m);
2009
_tmp210_ = !_tmp212_;
2015
_tmp213_ = vala_method_get_is_virtual (m);
2016
_tmp209_ = !_tmp213_;
2020
_tmp207_ = _tmp209_;
1995
2023
ValaMethod* base_method = NULL;
1996
2024
ValaReferenceType* base_expression_type = NULL;
1998
ValaObjectType* _tmp232_ = NULL;
2026
ValaObjectType* _tmp223_ = NULL;
1999
2027
ValaObjectType* self_target_type;
2000
ValaCCodeIdentifier* _tmp233_ = NULL;
2001
ValaCCodeIdentifier* _tmp234_;
2002
ValaCCodeExpression* _tmp235_ = NULL;
2003
ValaCCodeExpression* _tmp236_;
2028
ValaCCodeIdentifier* _tmp224_ = NULL;
2029
ValaCCodeIdentifier* _tmp225_;
2030
ValaCCodeExpression* _tmp226_ = NULL;
2031
ValaCCodeExpression* _tmp227_;
2004
2032
ValaCCodeExpression* cself;
2005
ValaCCodeFunction* _tmp237_ = NULL;
2006
gchar* _tmp238_ = NULL;
2008
gchar* _tmp240_ = NULL;
2010
ValaCCodeVariableDeclarator* _tmp242_ = NULL;
2011
ValaCCodeVariableDeclarator* _tmp243_;
2012
ValaCCodeFunction* _tmp244_ = NULL;
2013
ValaCCodeIdentifier* _tmp245_ = NULL;
2014
ValaCCodeIdentifier* _tmp246_;
2015
_tmp219_ = vala_method_get_overrides (m);
2017
ValaMethod* _tmp220_ = NULL;
2018
ValaMethod* _tmp221_;
2019
ValaMethod* _tmp222_;
2020
ValaSymbol* _tmp223_ = NULL;
2021
ValaObjectType* _tmp224_ = NULL;
2022
ValaReferenceType* _tmp225_;
2023
_tmp220_ = vala_method_get_base_method (m);
2024
_tmp221_ = _vala_code_node_ref0 (_tmp220_);
2025
_tmp222_ = _tmp221_;
2033
ValaCCodeFunction* _tmp228_ = NULL;
2034
gchar* _tmp229_ = NULL;
2036
gchar* _tmp231_ = NULL;
2038
ValaCCodeVariableDeclarator* _tmp233_ = NULL;
2039
ValaCCodeVariableDeclarator* _tmp234_;
2040
ValaCCodeFunction* _tmp235_ = NULL;
2041
ValaCCodeIdentifier* _tmp236_ = NULL;
2042
ValaCCodeIdentifier* _tmp237_;
2043
_tmp214_ = vala_method_get_overrides (m);
2045
ValaMethod* _tmp215_ = NULL;
2046
ValaMethod* _tmp216_;
2047
ValaSymbol* _tmp217_ = NULL;
2048
ValaObjectType* _tmp218_ = NULL;
2049
_tmp215_ = vala_method_get_base_method (m);
2050
_tmp216_ = _vala_code_node_ref0 (_tmp215_);
2026
2051
_vala_code_node_unref0 (base_method);
2027
base_method = _tmp222_;
2028
_tmp223_ = vala_symbol_get_parent_symbol ((ValaSymbol*) base_method);
2029
_tmp224_ = vala_object_type_new ((ValaObjectTypeSymbol*) VALA_CLASS (_tmp223_));
2030
_tmp225_ = (ValaReferenceType*) _tmp224_;
2052
base_method = _tmp216_;
2053
_tmp217_ = vala_symbol_get_parent_symbol ((ValaSymbol*) base_method);
2054
_tmp218_ = vala_object_type_new ((ValaObjectTypeSymbol*) VALA_CLASS (_tmp217_));
2031
2055
_vala_code_node_unref0 (base_expression_type);
2032
base_expression_type = _tmp225_;
2056
base_expression_type = (ValaReferenceType*) _tmp218_;
2034
ValaMethod* _tmp226_ = NULL;
2035
ValaMethod* _tmp227_;
2036
ValaMethod* _tmp228_;
2037
ValaSymbol* _tmp229_ = NULL;
2038
ValaObjectType* _tmp230_ = NULL;
2039
ValaReferenceType* _tmp231_;
2040
_tmp226_ = vala_method_get_base_interface_method (m);
2041
_tmp227_ = _vala_code_node_ref0 (_tmp226_);
2042
_tmp228_ = _tmp227_;
2058
ValaMethod* _tmp219_ = NULL;
2059
ValaMethod* _tmp220_;
2060
ValaSymbol* _tmp221_ = NULL;
2061
ValaObjectType* _tmp222_ = NULL;
2062
_tmp219_ = vala_method_get_base_interface_method (m);
2063
_tmp220_ = _vala_code_node_ref0 (_tmp219_);
2043
2064
_vala_code_node_unref0 (base_method);
2044
base_method = _tmp228_;
2045
_tmp229_ = vala_symbol_get_parent_symbol ((ValaSymbol*) base_method);
2046
_tmp230_ = vala_object_type_new ((ValaObjectTypeSymbol*) VALA_INTERFACE (_tmp229_));
2047
_tmp231_ = (ValaReferenceType*) _tmp230_;
2065
base_method = _tmp220_;
2066
_tmp221_ = vala_symbol_get_parent_symbol ((ValaSymbol*) base_method);
2067
_tmp222_ = vala_object_type_new ((ValaObjectTypeSymbol*) VALA_INTERFACE (_tmp221_));
2048
2068
_vala_code_node_unref0 (base_expression_type);
2049
base_expression_type = _tmp231_;
2069
base_expression_type = (ValaReferenceType*) _tmp222_;
2051
_tmp232_ = vala_object_type_new ((ValaObjectTypeSymbol*) cl);
2052
self_target_type = _tmp232_;
2053
_tmp233_ = vala_ccode_identifier_new ("base");
2071
_tmp223_ = vala_object_type_new ((ValaObjectTypeSymbol*) cl);
2072
self_target_type = _tmp223_;
2073
_tmp224_ = vala_ccode_identifier_new ("base");
2074
_tmp225_ = _tmp224_;
2075
_tmp226_ = vala_ccode_base_module_transform_expression ((ValaCCodeBaseModule*) self, (ValaCCodeExpression*) _tmp225_, (ValaDataType*) base_expression_type, (ValaDataType*) self_target_type, NULL);
2076
_tmp227_ = _tmp226_;
2077
_vala_ccode_node_unref0 (_tmp225_);
2079
_tmp228_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2080
_tmp229_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2081
_tmp230_ = _tmp229_;
2082
_tmp231_ = g_strdup_printf ("%s *", _tmp230_);
2083
_tmp232_ = _tmp231_;
2084
_tmp233_ = vala_ccode_variable_declarator_new ("self", NULL, NULL);
2054
2085
_tmp234_ = _tmp233_;
2055
_tmp235_ = vala_ccode_base_module_transform_expression ((ValaCCodeBaseModule*) self, (ValaCCodeExpression*) _tmp234_, (ValaDataType*) base_expression_type, (ValaDataType*) self_target_type, NULL);
2056
cself = (_tmp236_ = _tmp235_, _vala_ccode_node_unref0 (_tmp234_), _tmp236_);
2057
_tmp237_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2058
_tmp238_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2059
_tmp239_ = _tmp238_;
2060
_tmp240_ = g_strdup_printf ("%s *", _tmp239_);
2061
_tmp241_ = _tmp240_;
2062
_tmp242_ = vala_ccode_variable_declarator_new ("self", NULL, NULL);
2063
_tmp243_ = _tmp242_;
2064
vala_ccode_function_add_declaration (_tmp237_, _tmp241_, (ValaCCodeDeclarator*) _tmp243_, 0);
2065
_vala_ccode_node_unref0 (_tmp243_);
2066
_g_free0 (_tmp241_);
2067
_g_free0 (_tmp239_);
2068
_tmp244_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2069
_tmp245_ = vala_ccode_identifier_new ("self");
2070
_tmp246_ = _tmp245_;
2071
vala_ccode_function_add_assignment (_tmp244_, (ValaCCodeExpression*) _tmp246_, cself);
2072
_vala_ccode_node_unref0 (_tmp246_);
2086
vala_ccode_function_add_declaration (_tmp228_, _tmp232_, (ValaCCodeDeclarator*) _tmp234_, 0);
2087
_vala_ccode_node_unref0 (_tmp234_);
2088
_g_free0 (_tmp232_);
2089
_g_free0 (_tmp230_);
2090
_tmp235_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2091
_tmp236_ = vala_ccode_identifier_new ("self");
2092
_tmp237_ = _tmp236_;
2093
vala_ccode_function_add_assignment (_tmp235_, (ValaCCodeExpression*) _tmp237_, cself);
2094
_vala_ccode_node_unref0 (_tmp237_);
2073
2095
_vala_ccode_node_unref0 (cself);
2074
2096
_vala_code_node_unref0 (self_target_type);
2075
2097
_vala_code_node_unref0 (base_expression_type);
2076
2098
_vala_code_node_unref0 (base_method);
2078
gboolean _tmp247_ = FALSE;
2079
ValaMemberBinding _tmp248_;
2080
_tmp248_ = vala_method_get_binding (m);
2081
if (_tmp248_ == VALA_MEMBER_BINDING_INSTANCE) {
2082
_tmp247_ = !VALA_IS_CREATION_METHOD (m);
2100
gboolean _tmp238_ = FALSE;
2101
ValaMemberBinding _tmp239_;
2102
_tmp239_ = vala_method_get_binding (m);
2103
if (_tmp239_ == VALA_MEMBER_BINDING_INSTANCE) {
2104
_tmp238_ = !VALA_IS_CREATION_METHOD (m);
2087
2109
vala_ccode_method_module_create_method_type_check_statement (self, m, creturn_type, (ValaTypeSymbol*) cl, TRUE, "self");
2094
ValaList* _tmp249_ = NULL;
2116
ValaList* _tmp240_ = NULL;
2095
2117
ValaList* _param_list;
2097
2119
gint _param_size;
2098
2120
gint _param_index;
2099
_tmp249_ = vala_method_get_parameters (m);
2100
_param_list = _tmp249_;
2101
_tmp250_ = vala_collection_get_size ((ValaCollection*) _param_list);
2102
_param_size = _tmp250_;
2121
_tmp240_ = vala_method_get_parameters (m);
2122
_param_list = _tmp240_;
2123
_tmp241_ = vala_collection_get_size ((ValaCollection*) _param_list);
2124
_param_size = _tmp241_;
2103
2125
_param_index = -1;
2105
gpointer _tmp251_ = NULL;
2127
gpointer _tmp242_ = NULL;
2106
2128
ValaParameter* param;
2108
ValaParameterDirection _tmp253_;
2130
ValaParameterDirection _tmp244_;
2109
2131
_param_index = _param_index + 1;
2110
2132
if (!(_param_index < _param_size)) {
2113
_tmp251_ = vala_list_get (_param_list, _param_index);
2114
param = (ValaParameter*) _tmp251_;
2115
_tmp252_ = vala_parameter_get_ellipsis (param);
2135
_tmp242_ = vala_list_get (_param_list, _param_index);
2136
param = (ValaParameter*) _tmp242_;
2137
_tmp243_ = vala_parameter_get_ellipsis (param);
2117
2139
_vala_code_node_unref0 (param);
2120
_tmp253_ = vala_parameter_get_direction (param);
2121
if (_tmp253_ != VALA_PARAMETER_DIRECTION_OUT) {
2122
ValaDataType* _tmp254_ = NULL;
2123
ValaTypeSymbol* _tmp255_ = NULL;
2124
ValaTypeSymbol* _tmp256_;
2142
_tmp244_ = vala_parameter_get_direction (param);
2143
if (_tmp244_ != VALA_PARAMETER_DIRECTION_OUT) {
2144
ValaDataType* _tmp245_ = NULL;
2145
ValaTypeSymbol* _tmp246_ = NULL;
2146
ValaTypeSymbol* _tmp247_;
2125
2147
ValaTypeSymbol* t;
2126
gboolean _tmp257_ = FALSE;
2127
_tmp254_ = vala_variable_get_variable_type ((ValaVariable*) param);
2128
_tmp255_ = vala_data_type_get_data_type (_tmp254_);
2129
_tmp256_ = _vala_code_node_ref0 (_tmp255_);
2148
gboolean _tmp248_ = FALSE;
2149
_tmp245_ = vala_variable_get_variable_type ((ValaVariable*) param);
2150
_tmp246_ = vala_data_type_get_data_type (_tmp245_);
2151
_tmp247_ = _vala_code_node_ref0 (_tmp246_);
2131
2153
if (t != NULL) {
2133
_tmp258_ = vala_typesymbol_is_reference_type (t);
2134
_tmp257_ = _tmp258_;
2155
_tmp249_ = vala_typesymbol_is_reference_type (t);
2156
_tmp248_ = _tmp249_;
2139
ValaDataType* _tmp259_ = NULL;
2141
const gchar* _tmp261_ = NULL;
2142
gchar* _tmp262_ = NULL;
2144
_tmp259_ = vala_variable_get_variable_type ((ValaVariable*) param);
2145
_tmp260_ = vala_data_type_get_nullable (_tmp259_);
2146
_tmp261_ = vala_symbol_get_name ((ValaSymbol*) param);
2147
_tmp262_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp261_);
2148
_tmp263_ = _tmp262_;
2149
vala_ccode_method_module_create_method_type_check_statement (self, m, creturn_type, t, !_tmp260_, _tmp263_);
2150
_g_free0 (_tmp263_);
2161
ValaDataType* _tmp250_ = NULL;
2163
const gchar* _tmp252_ = NULL;
2164
gchar* _tmp253_ = NULL;
2166
_tmp250_ = vala_variable_get_variable_type ((ValaVariable*) param);
2167
_tmp251_ = vala_data_type_get_nullable (_tmp250_);
2168
_tmp252_ = vala_symbol_get_name ((ValaSymbol*) param);
2169
_tmp253_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp252_);
2170
_tmp254_ = _tmp253_;
2171
vala_ccode_method_module_create_method_type_check_statement (self, m, creturn_type, t, !_tmp251_, _tmp254_);
2172
_g_free0 (_tmp254_);
2152
2174
_vala_code_node_unref0 (t);
2155
_tmp264_ = vala_method_get_coroutine (m);
2157
const gchar* _tmp265_ = NULL;
2159
gchar* _tmp267_ = NULL;
2161
ValaDataType* _tmp269_ = NULL;
2162
ValaCCodeExpression* _tmp270_ = NULL;
2163
ValaCCodeExpression* _tmp271_;
2164
ValaCCodeVariableDeclarator* _tmp272_ = NULL;
2165
ValaCCodeVariableDeclarator* _tmp273_;
2177
_tmp255_ = vala_method_get_coroutine (m);
2179
const gchar* _tmp256_ = NULL;
2182
gchar* _tmp259_ = NULL;
2184
ValaDataType* _tmp261_ = NULL;
2185
ValaCCodeExpression* _tmp262_ = NULL;
2186
ValaCCodeExpression* _tmp263_;
2187
ValaCCodeVariableDeclarator* _tmp264_ = NULL;
2188
ValaCCodeVariableDeclarator* _tmp265_;
2166
2189
ValaCCodeVariableDeclarator* vardecl;
2167
ValaCCodeFunction* _tmp274_ = NULL;
2168
ValaDataType* _tmp275_ = NULL;
2169
gchar* _tmp276_ = NULL;
2171
ValaDataType* _tmp278_ = NULL;
2172
_tmp265_ = vala_symbol_get_name ((ValaSymbol*) param);
2173
_tmp266_ = g_strconcat ("_", _tmp265_, NULL);
2174
_tmp267_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp266_);
2175
_tmp268_ = _tmp267_;
2176
_tmp269_ = vala_variable_get_variable_type ((ValaVariable*) param);
2177
_tmp270_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp269_, TRUE);
2178
_tmp271_ = _tmp270_;
2179
_tmp272_ = vala_ccode_variable_declarator_new_zero (_tmp268_, _tmp271_, NULL);
2180
vardecl = (_tmp273_ = _tmp272_, _vala_ccode_node_unref0 (_tmp271_), _g_free0 (_tmp268_), _g_free0 (_tmp266_), _tmp273_);
2181
_tmp274_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2182
_tmp275_ = vala_variable_get_variable_type ((ValaVariable*) param);
2183
_tmp276_ = vala_data_type_get_cname (_tmp275_);
2184
_tmp277_ = _tmp276_;
2185
vala_ccode_function_add_declaration (_tmp274_, _tmp277_, (ValaCCodeDeclarator*) vardecl, 0);
2186
_g_free0 (_tmp277_);
2187
_tmp278_ = vala_variable_get_variable_type ((ValaVariable*) param);
2188
if (VALA_IS_ARRAY_TYPE (_tmp278_)) {
2189
ValaDataType* _tmp279_ = NULL;
2190
ValaArrayType* _tmp280_;
2190
ValaCCodeFunction* _tmp266_ = NULL;
2191
ValaDataType* _tmp267_ = NULL;
2192
gchar* _tmp268_ = NULL;
2194
ValaDataType* _tmp270_ = NULL;
2195
_tmp256_ = vala_symbol_get_name ((ValaSymbol*) param);
2196
_tmp257_ = g_strconcat ("_", _tmp256_, NULL);
2197
_tmp258_ = _tmp257_;
2198
_tmp259_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp258_);
2199
_tmp260_ = _tmp259_;
2200
_tmp261_ = vala_variable_get_variable_type ((ValaVariable*) param);
2201
_tmp262_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp261_, TRUE);
2202
_tmp263_ = _tmp262_;
2203
_tmp264_ = vala_ccode_variable_declarator_new_zero (_tmp260_, _tmp263_, NULL);
2204
_tmp265_ = _tmp264_;
2205
_vala_ccode_node_unref0 (_tmp263_);
2206
_g_free0 (_tmp260_);
2207
_g_free0 (_tmp258_);
2209
_tmp266_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2210
_tmp267_ = vala_variable_get_variable_type ((ValaVariable*) param);
2211
_tmp268_ = vala_data_type_get_cname (_tmp267_);
2212
_tmp269_ = _tmp268_;
2213
vala_ccode_function_add_declaration (_tmp266_, _tmp269_, (ValaCCodeDeclarator*) vardecl, 0);
2214
_g_free0 (_tmp269_);
2215
_tmp270_ = vala_variable_get_variable_type ((ValaVariable*) param);
2216
if (VALA_IS_ARRAY_TYPE (_tmp270_)) {
2217
ValaDataType* _tmp271_ = NULL;
2218
ValaArrayType* _tmp272_;
2191
2219
ValaArrayType* array_type;
2193
_tmp279_ = vala_variable_get_variable_type ((ValaVariable*) param);
2194
_tmp280_ = _vala_code_node_ref0 (VALA_ARRAY_TYPE (_tmp279_));
2195
array_type = _tmp280_;
2196
_tmp281_ = vala_array_type_get_fixed_length (array_type);
2221
_tmp271_ = vala_variable_get_variable_type ((ValaVariable*) param);
2222
_tmp272_ = _vala_code_node_ref0 (VALA_ARRAY_TYPE (_tmp271_));
2223
array_type = _tmp272_;
2224
_tmp273_ = vala_array_type_get_fixed_length (array_type);
2206
const gchar* _tmp284_ = NULL;
2208
gchar* _tmp286_ = NULL;
2210
gchar* _tmp288_ = NULL;
2212
ValaCCodeConstant* _tmp290_ = NULL;
2213
ValaCCodeConstant* _tmp291_;
2214
ValaCCodeVariableDeclarator* _tmp292_ = NULL;
2215
ValaCCodeVariableDeclarator* _tmp293_;
2216
ValaCCodeFunction* _tmp294_ = NULL;
2234
const gchar* _tmp276_ = NULL;
2237
gchar* _tmp279_ = NULL;
2239
gchar* _tmp281_ = NULL;
2241
ValaCCodeConstant* _tmp283_ = NULL;
2242
ValaCCodeConstant* _tmp284_;
2243
ValaCCodeVariableDeclarator* _tmp285_ = NULL;
2244
ValaCCodeFunction* _tmp286_ = NULL;
2221
_tmp283_ = vala_array_type_get_rank (array_type);
2222
if (!(dim <= _tmp283_)) {
2249
_tmp275_ = vala_array_type_get_rank (array_type);
2250
if (!(dim <= _tmp275_)) {
2225
_tmp284_ = vala_symbol_get_name ((ValaSymbol*) param);
2226
_tmp285_ = g_strconcat ("_", _tmp284_, NULL);
2227
_tmp286_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp285_);
2228
_tmp287_ = _tmp286_;
2229
_tmp288_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, _tmp287_, dim);
2230
_tmp289_ = _tmp288_;
2231
_tmp290_ = vala_ccode_constant_new ("0");
2232
_tmp291_ = _tmp290_;
2233
_tmp292_ = vala_ccode_variable_declarator_new_zero (_tmp289_, (ValaCCodeExpression*) _tmp291_, NULL);
2234
_tmp293_ = _tmp292_;
2253
_tmp276_ = vala_symbol_get_name ((ValaSymbol*) param);
2254
_tmp277_ = g_strconcat ("_", _tmp276_, NULL);
2255
_tmp278_ = _tmp277_;
2256
_tmp279_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp278_);
2257
_tmp280_ = _tmp279_;
2258
_tmp281_ = vala_ccode_base_module_get_array_length_cname ((ValaCCodeBaseModule*) self, _tmp280_, dim);
2259
_tmp282_ = _tmp281_;
2260
_tmp283_ = vala_ccode_constant_new ("0");
2261
_tmp284_ = _tmp283_;
2262
_tmp285_ = vala_ccode_variable_declarator_new_zero (_tmp282_, (ValaCCodeExpression*) _tmp284_, NULL);
2235
2263
_vala_ccode_node_unref0 (vardecl);
2237
_vala_ccode_node_unref0 (_tmp291_);
2238
_g_free0 (_tmp289_);
2239
_g_free0 (_tmp287_);
2240
_g_free0 (_tmp285_);
2241
_tmp294_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2242
vala_ccode_function_add_declaration (_tmp294_, "int", (ValaCCodeDeclarator*) vardecl, 0);
2265
_vala_ccode_node_unref0 (_tmp284_);
2266
_g_free0 (_tmp282_);
2267
_g_free0 (_tmp280_);
2268
_g_free0 (_tmp278_);
2269
_tmp286_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2270
vala_ccode_function_add_declaration (_tmp286_, "int", (ValaCCodeDeclarator*) vardecl, 0);
2247
2275
_vala_code_node_unref0 (array_type);
2249
ValaDataType* _tmp295_ = NULL;
2250
_tmp295_ = vala_variable_get_variable_type ((ValaVariable*) param);
2251
if (VALA_IS_DELEGATE_TYPE (_tmp295_)) {
2252
ValaDataType* _tmp296_ = NULL;
2253
ValaDelegateType* _tmp297_;
2277
ValaDataType* _tmp287_ = NULL;
2278
_tmp287_ = vala_variable_get_variable_type ((ValaVariable*) param);
2279
if (VALA_IS_DELEGATE_TYPE (_tmp287_)) {
2280
ValaDataType* _tmp288_ = NULL;
2281
ValaDelegateType* _tmp289_;
2254
2282
ValaDelegateType* deleg_type;
2255
ValaDelegate* _tmp298_ = NULL;
2256
ValaDelegate* _tmp299_;
2283
ValaDelegate* _tmp290_ = NULL;
2284
ValaDelegate* _tmp291_;
2257
2285
ValaDelegate* d;
2259
_tmp296_ = vala_variable_get_variable_type ((ValaVariable*) param);
2260
_tmp297_ = _vala_code_node_ref0 (VALA_DELEGATE_TYPE (_tmp296_));
2261
deleg_type = _tmp297_;
2262
_tmp298_ = vala_delegate_type_get_delegate_symbol (deleg_type);
2263
_tmp299_ = _vala_code_node_ref0 (_tmp298_);
2265
_tmp300_ = vala_delegate_get_has_target (d);
2267
const gchar* _tmp301_ = NULL;
2269
gchar* _tmp303_ = NULL;
2271
gchar* _tmp305_ = NULL;
2273
ValaCCodeConstant* _tmp307_ = NULL;
2274
ValaCCodeConstant* _tmp308_;
2275
ValaCCodeVariableDeclarator* _tmp309_ = NULL;
2276
ValaCCodeVariableDeclarator* _tmp310_;
2277
ValaCCodeFunction* _tmp311_ = NULL;
2279
_tmp301_ = vala_symbol_get_name ((ValaSymbol*) param);
2280
_tmp302_ = g_strconcat ("_", _tmp301_, NULL);
2281
_tmp303_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp302_);
2282
_tmp304_ = _tmp303_;
2283
_tmp305_ = vala_ccode_base_module_get_delegate_target_cname ((ValaCCodeBaseModule*) self, _tmp304_);
2284
_tmp306_ = _tmp305_;
2285
_tmp307_ = vala_ccode_constant_new ("NULL");
2286
_tmp308_ = _tmp307_;
2287
_tmp309_ = vala_ccode_variable_declarator_new_zero (_tmp306_, (ValaCCodeExpression*) _tmp308_, NULL);
2288
_tmp310_ = _tmp309_;
2287
_tmp288_ = vala_variable_get_variable_type ((ValaVariable*) param);
2288
_tmp289_ = _vala_code_node_ref0 (VALA_DELEGATE_TYPE (_tmp288_));
2289
deleg_type = _tmp289_;
2290
_tmp290_ = vala_delegate_type_get_delegate_symbol (deleg_type);
2291
_tmp291_ = _vala_code_node_ref0 (_tmp290_);
2293
_tmp292_ = vala_delegate_get_has_target (d);
2295
const gchar* _tmp293_ = NULL;
2298
gchar* _tmp296_ = NULL;
2300
gchar* _tmp298_ = NULL;
2302
ValaCCodeConstant* _tmp300_ = NULL;
2303
ValaCCodeConstant* _tmp301_;
2304
ValaCCodeVariableDeclarator* _tmp302_ = NULL;
2305
ValaCCodeFunction* _tmp303_ = NULL;
2307
_tmp293_ = vala_symbol_get_name ((ValaSymbol*) param);
2308
_tmp294_ = g_strconcat ("_", _tmp293_, NULL);
2309
_tmp295_ = _tmp294_;
2310
_tmp296_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp295_);
2311
_tmp297_ = _tmp296_;
2312
_tmp298_ = vala_ccode_base_module_get_delegate_target_cname ((ValaCCodeBaseModule*) self, _tmp297_);
2313
_tmp299_ = _tmp298_;
2314
_tmp300_ = vala_ccode_constant_new ("NULL");
2315
_tmp301_ = _tmp300_;
2316
_tmp302_ = vala_ccode_variable_declarator_new_zero (_tmp299_, (ValaCCodeExpression*) _tmp301_, NULL);
2289
2317
_vala_ccode_node_unref0 (vardecl);
2291
_vala_ccode_node_unref0 (_tmp308_);
2292
_g_free0 (_tmp306_);
2293
_g_free0 (_tmp304_);
2294
_g_free0 (_tmp302_);
2295
_tmp311_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2296
vala_ccode_function_add_declaration (_tmp311_, "void *", (ValaCCodeDeclarator*) vardecl, 0);
2297
_tmp312_ = vala_data_type_get_value_owned ((ValaDataType*) deleg_type);
2299
const gchar* _tmp313_ = NULL;
2301
gchar* _tmp315_ = NULL;
2303
gchar* _tmp317_ = NULL;
2305
ValaCCodeConstant* _tmp319_ = NULL;
2306
ValaCCodeConstant* _tmp320_;
2307
ValaCCodeVariableDeclarator* _tmp321_ = NULL;
2308
ValaCCodeVariableDeclarator* _tmp322_;
2309
ValaCCodeFunction* _tmp323_ = NULL;
2310
_tmp313_ = vala_symbol_get_name ((ValaSymbol*) param);
2311
_tmp314_ = g_strconcat ("_", _tmp313_, NULL);
2312
_tmp315_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp314_);
2313
_tmp316_ = _tmp315_;
2314
_tmp317_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp316_);
2315
_tmp318_ = _tmp317_;
2316
_tmp319_ = vala_ccode_constant_new ("NULL");
2317
_tmp320_ = _tmp319_;
2318
_tmp321_ = vala_ccode_variable_declarator_new_zero (_tmp318_, (ValaCCodeExpression*) _tmp320_, NULL);
2319
_tmp322_ = _tmp321_;
2319
_vala_ccode_node_unref0 (_tmp301_);
2320
_g_free0 (_tmp299_);
2321
_g_free0 (_tmp297_);
2322
_g_free0 (_tmp295_);
2323
_tmp303_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2324
vala_ccode_function_add_declaration (_tmp303_, "void *", (ValaCCodeDeclarator*) vardecl, 0);
2325
_tmp304_ = vala_data_type_get_value_owned ((ValaDataType*) deleg_type);
2327
const gchar* _tmp305_ = NULL;
2330
gchar* _tmp308_ = NULL;
2332
gchar* _tmp310_ = NULL;
2334
ValaCCodeConstant* _tmp312_ = NULL;
2335
ValaCCodeConstant* _tmp313_;
2336
ValaCCodeVariableDeclarator* _tmp314_ = NULL;
2337
ValaCCodeFunction* _tmp315_ = NULL;
2338
_tmp305_ = vala_symbol_get_name ((ValaSymbol*) param);
2339
_tmp306_ = g_strconcat ("_", _tmp305_, NULL);
2340
_tmp307_ = _tmp306_;
2341
_tmp308_ = vala_ccode_base_module_get_variable_cname ((ValaCCodeBaseModule*) self, _tmp307_);
2342
_tmp309_ = _tmp308_;
2343
_tmp310_ = vala_ccode_base_module_get_delegate_target_destroy_notify_cname ((ValaCCodeBaseModule*) self, _tmp309_);
2344
_tmp311_ = _tmp310_;
2345
_tmp312_ = vala_ccode_constant_new ("NULL");
2346
_tmp313_ = _tmp312_;
2347
_tmp314_ = vala_ccode_variable_declarator_new_zero (_tmp311_, (ValaCCodeExpression*) _tmp313_, NULL);
2320
2348
_vala_ccode_node_unref0 (vardecl);
2322
_vala_ccode_node_unref0 (_tmp320_);
2323
_g_free0 (_tmp318_);
2324
_g_free0 (_tmp316_);
2325
_g_free0 (_tmp314_);
2326
_tmp323_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2327
vala_ccode_function_add_declaration (_tmp323_, "GDestroyNotify", (ValaCCodeDeclarator*) vardecl, 0);
2350
_vala_ccode_node_unref0 (_tmp313_);
2351
_g_free0 (_tmp311_);
2352
_g_free0 (_tmp309_);
2353
_g_free0 (_tmp307_);
2354
_tmp315_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2355
vala_ccode_function_add_declaration (_tmp315_, "GDestroyNotify", (ValaCCodeDeclarator*) vardecl, 0);
2330
2358
_vala_code_node_unref0 (d);
2339
2367
_vala_iterable_unref0 (_param_list);
2341
_tmp326_ = vala_method_get_return_type (m);
2342
if (!VALA_IS_VOID_TYPE (_tmp326_)) {
2343
ValaDataType* _tmp327_ = NULL;
2345
_tmp327_ = vala_method_get_return_type (m);
2346
_tmp328_ = vala_data_type_is_real_non_null_struct_type (_tmp327_);
2347
_tmp325_ = !_tmp328_;
2353
_tmp329_ = vala_method_get_coroutine (m);
2354
_tmp324_ = !_tmp329_;
2359
ValaDataType* _tmp330_ = NULL;
2360
ValaCCodeExpression* _tmp331_ = NULL;
2361
ValaCCodeExpression* _tmp332_;
2362
ValaCCodeVariableDeclarator* _tmp333_ = NULL;
2363
ValaCCodeVariableDeclarator* _tmp334_;
2369
_tmp318_ = vala_method_get_return_type (m);
2370
if (!VALA_IS_VOID_TYPE (_tmp318_)) {
2371
ValaDataType* _tmp319_ = NULL;
2373
_tmp319_ = vala_method_get_return_type (m);
2374
_tmp320_ = vala_data_type_is_real_non_null_struct_type (_tmp319_);
2375
_tmp317_ = !_tmp320_;
2381
_tmp321_ = vala_method_get_coroutine (m);
2382
_tmp316_ = !_tmp321_;
2387
ValaDataType* _tmp322_ = NULL;
2388
ValaCCodeExpression* _tmp323_ = NULL;
2389
ValaCCodeExpression* _tmp324_;
2390
ValaCCodeVariableDeclarator* _tmp325_ = NULL;
2391
ValaCCodeVariableDeclarator* _tmp326_;
2364
2392
ValaCCodeVariableDeclarator* vardecl;
2365
ValaCCodeFunction* _tmp335_ = NULL;
2366
ValaDataType* _tmp336_ = NULL;
2367
gchar* _tmp337_ = NULL;
2369
_tmp330_ = vala_method_get_return_type (m);
2370
_tmp331_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp330_, TRUE);
2371
_tmp332_ = _tmp331_;
2372
_tmp333_ = vala_ccode_variable_declarator_new ("result", _tmp332_, NULL);
2373
vardecl = (_tmp334_ = _tmp333_, _vala_ccode_node_unref0 (_tmp332_), _tmp334_);
2393
ValaCCodeFunction* _tmp327_ = NULL;
2394
ValaDataType* _tmp328_ = NULL;
2395
gchar* _tmp329_ = NULL;
2397
_tmp322_ = vala_method_get_return_type (m);
2398
_tmp323_ = vala_ccode_base_module_default_value_for_type ((ValaCCodeBaseModule*) self, _tmp322_, TRUE);
2399
_tmp324_ = _tmp323_;
2400
_tmp325_ = vala_ccode_variable_declarator_new ("result", _tmp324_, NULL);
2401
_tmp326_ = _tmp325_;
2402
_vala_ccode_node_unref0 (_tmp324_);
2374
2404
vala_ccode_variable_declarator_set_init0 (vardecl, TRUE);
2375
_tmp335_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2376
_tmp336_ = vala_method_get_return_type (m);
2377
_tmp337_ = vala_data_type_get_cname (_tmp336_);
2378
_tmp338_ = _tmp337_;
2379
vala_ccode_function_add_declaration (_tmp335_, _tmp338_, (ValaCCodeDeclarator*) vardecl, 0);
2380
_g_free0 (_tmp338_);
2405
_tmp327_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2406
_tmp328_ = vala_method_get_return_type (m);
2407
_tmp329_ = vala_data_type_get_cname (_tmp328_);
2408
_tmp330_ = _tmp329_;
2409
vala_ccode_function_add_declaration (_tmp327_, _tmp330_, (ValaCCodeDeclarator*) vardecl, 0);
2410
_g_free0 (_tmp330_);
2381
2411
_vala_ccode_node_unref0 (vardecl);
2383
2413
if (VALA_IS_CREATION_METHOD (m)) {
2384
2414
if (in_gobject_creation_method) {
2385
ValaCCodeFunction* _tmp339_ = NULL;
2386
ValaTypeSymbol* _tmp340_ = NULL;
2387
gchar* _tmp341_ = NULL;
2389
gchar* _tmp343_ = NULL;
2391
ValaCCodeConstant* _tmp345_ = NULL;
2392
ValaCCodeConstant* _tmp346_;
2393
ValaCCodeVariableDeclarator* _tmp347_ = NULL;
2394
ValaCCodeVariableDeclarator* _tmp348_;
2395
_tmp339_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2396
_tmp340_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2397
_tmp341_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) VALA_CLASS (_tmp340_), FALSE);
2398
_tmp342_ = _tmp341_;
2399
_tmp343_ = g_strdup_printf ("%s *", _tmp342_);
2400
_tmp344_ = _tmp343_;
2401
_tmp345_ = vala_ccode_constant_new ("NULL");
2402
_tmp346_ = _tmp345_;
2403
_tmp347_ = vala_ccode_variable_declarator_new_zero ("self", (ValaCCodeExpression*) _tmp346_, NULL);
2404
_tmp348_ = _tmp347_;
2405
vala_ccode_function_add_declaration (_tmp339_, _tmp344_, (ValaCCodeDeclarator*) _tmp348_, 0);
2406
_vala_ccode_node_unref0 (_tmp348_);
2407
_vala_ccode_node_unref0 (_tmp346_);
2408
_g_free0 (_tmp344_);
2409
_g_free0 (_tmp342_);
2415
ValaCCodeFunction* _tmp331_ = NULL;
2416
ValaTypeSymbol* _tmp332_ = NULL;
2417
gchar* _tmp333_ = NULL;
2419
gchar* _tmp335_ = NULL;
2421
ValaCCodeConstant* _tmp337_ = NULL;
2422
ValaCCodeConstant* _tmp338_;
2423
ValaCCodeVariableDeclarator* _tmp339_ = NULL;
2424
ValaCCodeVariableDeclarator* _tmp340_;
2425
_tmp331_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2426
_tmp332_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2427
_tmp333_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) VALA_CLASS (_tmp332_), FALSE);
2428
_tmp334_ = _tmp333_;
2429
_tmp335_ = g_strdup_printf ("%s *", _tmp334_);
2430
_tmp336_ = _tmp335_;
2431
_tmp337_ = vala_ccode_constant_new ("NULL");
2432
_tmp338_ = _tmp337_;
2433
_tmp339_ = vala_ccode_variable_declarator_new_zero ("self", (ValaCCodeExpression*) _tmp338_, NULL);
2434
_tmp340_ = _tmp339_;
2435
vala_ccode_function_add_declaration (_tmp331_, _tmp336_, (ValaCCodeDeclarator*) _tmp340_, 0);
2436
_vala_ccode_node_unref0 (_tmp340_);
2437
_vala_ccode_node_unref0 (_tmp338_);
2438
_g_free0 (_tmp336_);
2439
_g_free0 (_tmp334_);
2412
_tmp349_ = vala_ccode_method_module_is_gtypeinstance_creation_method (self, m);
2414
ValaSymbol* _tmp350_ = NULL;
2415
ValaClass* _tmp351_;
2442
_tmp341_ = vala_ccode_method_module_is_gtypeinstance_creation_method (self, m);
2444
ValaSymbol* _tmp342_ = NULL;
2445
ValaClass* _tmp343_;
2417
ValaCCodeFunction* _tmp352_ = NULL;
2418
gchar* _tmp353_ = NULL;
2421
ValaCCodeConstant* _tmp356_ = NULL;
2422
ValaCCodeConstant* _tmp357_;
2423
ValaCCodeVariableDeclarator* _tmp358_ = NULL;
2424
ValaCCodeVariableDeclarator* _tmp359_;
2426
_tmp350_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
2427
_tmp351_ = _vala_code_node_ref0 (VALA_CLASS (_tmp350_));
2429
_tmp352_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2430
_tmp353_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2431
_tmp354_ = _tmp353_;
2432
_tmp355_ = g_strconcat (_tmp354_, "*", NULL);
2433
_tmp356_ = vala_ccode_constant_new ("NULL");
2434
_tmp357_ = _tmp356_;
2435
_tmp358_ = vala_ccode_variable_declarator_new_zero ("self", (ValaCCodeExpression*) _tmp357_, NULL);
2436
_tmp359_ = _tmp358_;
2437
vala_ccode_function_add_declaration (_tmp352_, _tmp355_, (ValaCCodeDeclarator*) _tmp359_, 0);
2438
_vala_ccode_node_unref0 (_tmp359_);
2439
_vala_ccode_node_unref0 (_tmp357_);
2440
_g_free0 (_tmp355_);
2441
_g_free0 (_tmp354_);
2442
_tmp360_ = vala_class_is_fundamental (cl);
2447
ValaCCodeFunction* _tmp344_ = NULL;
2448
gchar* _tmp345_ = NULL;
2452
ValaCCodeConstant* _tmp349_ = NULL;
2453
ValaCCodeConstant* _tmp350_;
2454
ValaCCodeVariableDeclarator* _tmp351_ = NULL;
2455
ValaCCodeVariableDeclarator* _tmp352_;
2457
_tmp342_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
2458
_tmp343_ = _vala_code_node_ref0 (VALA_CLASS (_tmp342_));
2460
_tmp344_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2461
_tmp345_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2462
_tmp346_ = _tmp345_;
2463
_tmp347_ = g_strconcat (_tmp346_, "*", NULL);
2464
_tmp348_ = _tmp347_;
2465
_tmp349_ = vala_ccode_constant_new ("NULL");
2466
_tmp350_ = _tmp349_;
2467
_tmp351_ = vala_ccode_variable_declarator_new_zero ("self", (ValaCCodeExpression*) _tmp350_, NULL);
2468
_tmp352_ = _tmp351_;
2469
vala_ccode_function_add_declaration (_tmp344_, _tmp348_, (ValaCCodeDeclarator*) _tmp352_, 0);
2470
_vala_ccode_node_unref0 (_tmp352_);
2471
_vala_ccode_node_unref0 (_tmp350_);
2472
_g_free0 (_tmp348_);
2473
_g_free0 (_tmp346_);
2474
_tmp353_ = vala_class_is_fundamental (cl);
2476
ValaCCodeIdentifier* _tmp354_ = NULL;
2477
ValaCCodeIdentifier* _tmp355_;
2478
ValaCCodeFunctionCall* _tmp356_ = NULL;
2479
ValaCCodeFunctionCall* _tmp357_;
2480
ValaCCodeFunctionCall* ccall;
2481
ValaCCodeIdentifier* _tmp358_ = NULL;
2482
ValaCCodeIdentifier* _tmp359_;
2483
ValaCCodeFunction* _tmp360_ = NULL;
2444
2484
ValaCCodeIdentifier* _tmp361_ = NULL;
2445
2485
ValaCCodeIdentifier* _tmp362_;
2446
ValaCCodeFunctionCall* _tmp363_ = NULL;
2447
ValaCCodeFunctionCall* _tmp364_;
2448
ValaCCodeFunctionCall* ccall;
2449
ValaCCodeIdentifier* _tmp365_ = NULL;
2450
ValaCCodeIdentifier* _tmp366_;
2451
ValaCCodeFunction* _tmp367_ = NULL;
2452
ValaCCodeIdentifier* _tmp368_ = NULL;
2453
ValaCCodeIdentifier* _tmp369_;
2454
gchar* _tmp370_ = NULL;
2457
ValaCCodeCastExpression* _tmp373_ = NULL;
2458
ValaCCodeCastExpression* _tmp374_;
2459
_tmp361_ = vala_ccode_identifier_new ("g_type_create_instance");
2486
gchar* _tmp363_ = NULL;
2490
ValaCCodeCastExpression* _tmp367_ = NULL;
2491
ValaCCodeCastExpression* _tmp368_;
2492
_tmp354_ = vala_ccode_identifier_new ("g_type_create_instance");
2493
_tmp355_ = _tmp354_;
2494
_tmp356_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp355_);
2495
_tmp357_ = _tmp356_;
2496
_vala_ccode_node_unref0 (_tmp355_);
2498
_tmp358_ = vala_ccode_identifier_new ("object_type");
2499
_tmp359_ = _tmp358_;
2500
vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp359_);
2501
_vala_ccode_node_unref0 (_tmp359_);
2502
_tmp360_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2503
_tmp361_ = vala_ccode_identifier_new ("self");
2460
2504
_tmp362_ = _tmp361_;
2461
_tmp363_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp362_);
2462
ccall = (_tmp364_ = _tmp363_, _vala_ccode_node_unref0 (_tmp362_), _tmp364_);
2463
_tmp365_ = vala_ccode_identifier_new ("object_type");
2505
_tmp363_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2506
_tmp364_ = _tmp363_;
2507
_tmp365_ = g_strconcat (_tmp364_, "*", NULL);
2464
2508
_tmp366_ = _tmp365_;
2465
vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp366_);
2466
_vala_ccode_node_unref0 (_tmp366_);
2467
_tmp367_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2468
_tmp368_ = vala_ccode_identifier_new ("self");
2469
_tmp369_ = _tmp368_;
2470
_tmp370_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2471
_tmp371_ = _tmp370_;
2472
_tmp372_ = g_strconcat (_tmp371_, "*", NULL);
2473
_tmp373_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) ccall, _tmp372_);
2474
_tmp374_ = _tmp373_;
2475
vala_ccode_function_add_assignment (_tmp367_, (ValaCCodeExpression*) _tmp369_, (ValaCCodeExpression*) _tmp374_);
2476
_vala_ccode_node_unref0 (_tmp374_);
2477
_g_free0 (_tmp372_);
2478
_g_free0 (_tmp371_);
2479
_vala_ccode_node_unref0 (_tmp369_);
2509
_tmp367_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) ccall, _tmp366_);
2510
_tmp368_ = _tmp367_;
2511
vala_ccode_function_add_assignment (_tmp360_, (ValaCCodeExpression*) _tmp362_, (ValaCCodeExpression*) _tmp368_);
2512
_vala_ccode_node_unref0 (_tmp368_);
2513
_g_free0 (_tmp366_);
2514
_g_free0 (_tmp364_);
2515
_vala_ccode_node_unref0 (_tmp362_);
2481
ValaClass* _tmp375_ = NULL;
2482
ValaList* _tmp376_ = NULL;
2517
ValaClass* _tmp369_ = NULL;
2518
ValaList* _tmp370_ = NULL;
2483
2519
ValaList* _type_param_list;
2485
2521
gint _type_param_size;
2486
2522
gint _type_param_index;
2487
_tmp375_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
2488
_tmp376_ = vala_object_type_symbol_get_type_parameters ((ValaObjectTypeSymbol*) _tmp375_);
2489
_type_param_list = _tmp376_;
2490
_tmp377_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
2491
_type_param_size = _tmp377_;
2523
_tmp369_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
2524
_tmp370_ = vala_object_type_symbol_get_type_parameters ((ValaObjectTypeSymbol*) _tmp369_);
2525
_type_param_list = _tmp370_;
2526
_tmp371_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
2527
_type_param_size = _tmp371_;
2492
2528
_type_param_index = -1;
2494
gpointer _tmp378_ = NULL;
2530
gpointer _tmp372_ = NULL;
2495
2531
ValaTypeParameter* type_param;
2496
2532
ValaCCodeIdentifier* param_name = NULL;
2497
2533
ValaCCodeAssignment* assign = NULL;
2498
ValaCCodeIdentifier* _tmp379_ = NULL;
2499
ValaCCodeIdentifier* _tmp380_;
2500
ValaCCodeMemberAccess* _tmp381_ = NULL;
2501
ValaCCodeMemberAccess* _tmp382_;
2534
ValaCCodeIdentifier* _tmp373_ = NULL;
2535
ValaCCodeIdentifier* _tmp374_;
2536
ValaCCodeMemberAccess* _tmp375_ = NULL;
2537
ValaCCodeMemberAccess* _tmp376_;
2502
2538
ValaCCodeMemberAccess* priv_access;
2539
const gchar* _tmp377_ = NULL;
2540
gchar* _tmp378_ = NULL;
2542
gchar* _tmp380_ = NULL;
2544
ValaCCodeIdentifier* _tmp382_ = NULL;
2503
2545
const gchar* _tmp383_ = NULL;
2504
gchar* _tmp384_ = NULL;
2506
gchar* _tmp386_ = NULL;
2508
ValaCCodeIdentifier* _tmp388_ = NULL;
2509
ValaCCodeIdentifier* _tmp389_;
2510
const gchar* _tmp390_ = NULL;
2511
ValaCCodeMemberAccess* _tmp391_ = NULL;
2512
ValaCCodeMemberAccess* _tmp392_;
2513
ValaCCodeAssignment* _tmp393_ = NULL;
2514
ValaCCodeAssignment* _tmp394_;
2515
ValaCCodeFunction* _tmp395_ = NULL;
2516
const gchar* _tmp396_ = NULL;
2517
gchar* _tmp397_ = NULL;
2519
gchar* _tmp399_ = NULL;
2521
ValaCCodeIdentifier* _tmp401_ = NULL;
2522
ValaCCodeIdentifier* _tmp402_;
2523
const gchar* _tmp403_ = NULL;
2524
ValaCCodeMemberAccess* _tmp404_ = NULL;
2525
ValaCCodeMemberAccess* _tmp405_;
2526
ValaCCodeAssignment* _tmp406_ = NULL;
2527
ValaCCodeAssignment* _tmp407_;
2528
ValaCCodeFunction* _tmp408_ = NULL;
2529
const gchar* _tmp409_ = NULL;
2530
gchar* _tmp410_ = NULL;
2532
gchar* _tmp412_ = NULL;
2534
ValaCCodeIdentifier* _tmp414_ = NULL;
2535
ValaCCodeIdentifier* _tmp415_;
2536
const gchar* _tmp416_ = NULL;
2537
ValaCCodeMemberAccess* _tmp417_ = NULL;
2538
ValaCCodeMemberAccess* _tmp418_;
2539
ValaCCodeAssignment* _tmp419_ = NULL;
2540
ValaCCodeAssignment* _tmp420_;
2541
ValaCCodeFunction* _tmp421_ = NULL;
2546
ValaCCodeMemberAccess* _tmp384_ = NULL;
2547
ValaCCodeMemberAccess* _tmp385_;
2548
ValaCCodeAssignment* _tmp386_ = NULL;
2549
ValaCCodeFunction* _tmp387_ = NULL;
2550
const gchar* _tmp388_ = NULL;
2551
gchar* _tmp389_ = NULL;
2553
gchar* _tmp391_ = NULL;
2555
ValaCCodeIdentifier* _tmp393_ = NULL;
2556
const gchar* _tmp394_ = NULL;
2557
ValaCCodeMemberAccess* _tmp395_ = NULL;
2558
ValaCCodeMemberAccess* _tmp396_;
2559
ValaCCodeAssignment* _tmp397_ = NULL;
2560
ValaCCodeFunction* _tmp398_ = NULL;
2561
const gchar* _tmp399_ = NULL;
2562
gchar* _tmp400_ = NULL;
2564
gchar* _tmp402_ = NULL;
2566
ValaCCodeIdentifier* _tmp404_ = NULL;
2567
const gchar* _tmp405_ = NULL;
2568
ValaCCodeMemberAccess* _tmp406_ = NULL;
2569
ValaCCodeMemberAccess* _tmp407_;
2570
ValaCCodeAssignment* _tmp408_ = NULL;
2571
ValaCCodeFunction* _tmp409_ = NULL;
2542
2572
_type_param_index = _type_param_index + 1;
2543
2573
if (!(_type_param_index < _type_param_size)) {
2546
_tmp378_ = vala_list_get (_type_param_list, _type_param_index);
2547
type_param = (ValaTypeParameter*) _tmp378_;
2548
_tmp379_ = vala_ccode_identifier_new ("self");
2549
_tmp380_ = _tmp379_;
2550
_tmp381_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp380_, "priv");
2551
priv_access = (_tmp382_ = _tmp381_, _vala_ccode_node_unref0 (_tmp380_), _tmp382_);
2552
_tmp383_ = vala_symbol_get_name ((ValaSymbol*) type_param);
2553
_tmp384_ = g_utf8_strdown (_tmp383_, (gssize) (-1));
2576
_tmp372_ = vala_list_get (_type_param_list, _type_param_index);
2577
type_param = (ValaTypeParameter*) _tmp372_;
2578
_tmp373_ = vala_ccode_identifier_new ("self");
2579
_tmp374_ = _tmp373_;
2580
_tmp375_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp374_, "priv");
2581
_tmp376_ = _tmp375_;
2582
_vala_ccode_node_unref0 (_tmp374_);
2583
priv_access = _tmp376_;
2584
_tmp377_ = vala_symbol_get_name ((ValaSymbol*) type_param);
2585
_tmp378_ = g_utf8_strdown (_tmp377_, (gssize) (-1));
2586
_tmp379_ = _tmp378_;
2587
_tmp380_ = g_strdup_printf ("%s_type", _tmp379_);
2588
_tmp381_ = _tmp380_;
2589
_tmp382_ = vala_ccode_identifier_new (_tmp381_);
2590
_vala_ccode_node_unref0 (param_name);
2591
param_name = _tmp382_;
2592
_g_free0 (_tmp381_);
2593
_g_free0 (_tmp379_);
2594
_tmp383_ = vala_ccode_identifier_get_name (param_name);
2595
_tmp384_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) priv_access, _tmp383_);
2554
2596
_tmp385_ = _tmp384_;
2555
_tmp386_ = g_strdup_printf ("%s_type", _tmp385_);
2556
_tmp387_ = _tmp386_;
2557
_tmp388_ = vala_ccode_identifier_new (_tmp387_);
2558
_tmp389_ = _tmp388_;
2559
_vala_ccode_node_unref0 (param_name);
2560
param_name = _tmp389_;
2561
_g_free0 (_tmp387_);
2562
_g_free0 (_tmp385_);
2563
_tmp390_ = vala_ccode_identifier_get_name (param_name);
2564
_tmp391_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) priv_access, _tmp390_);
2597
_tmp386_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp385_, (ValaCCodeExpression*) param_name, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
2598
_vala_ccode_node_unref0 (assign);
2600
_vala_ccode_node_unref0 (_tmp385_);
2601
_tmp387_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2602
vala_ccode_function_add_expression (_tmp387_, (ValaCCodeExpression*) assign);
2603
_tmp388_ = vala_symbol_get_name ((ValaSymbol*) type_param);
2604
_tmp389_ = g_utf8_strdown (_tmp388_, (gssize) (-1));
2605
_tmp390_ = _tmp389_;
2606
_tmp391_ = g_strdup_printf ("%s_dup_func", _tmp390_);
2565
2607
_tmp392_ = _tmp391_;
2566
_tmp393_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp392_, (ValaCCodeExpression*) param_name, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
2567
_tmp394_ = _tmp393_;
2608
_tmp393_ = vala_ccode_identifier_new (_tmp392_);
2609
_vala_ccode_node_unref0 (param_name);
2610
param_name = _tmp393_;
2611
_g_free0 (_tmp392_);
2612
_g_free0 (_tmp390_);
2613
_tmp394_ = vala_ccode_identifier_get_name (param_name);
2614
_tmp395_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) priv_access, _tmp394_);
2615
_tmp396_ = _tmp395_;
2616
_tmp397_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp396_, (ValaCCodeExpression*) param_name, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
2568
2617
_vala_ccode_node_unref0 (assign);
2570
_vala_ccode_node_unref0 (_tmp392_);
2571
_tmp395_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2572
vala_ccode_function_add_expression (_tmp395_, (ValaCCodeExpression*) assign);
2573
_tmp396_ = vala_symbol_get_name ((ValaSymbol*) type_param);
2574
_tmp397_ = g_utf8_strdown (_tmp396_, (gssize) (-1));
2575
_tmp398_ = _tmp397_;
2576
_tmp399_ = g_strdup_printf ("%s_dup_func", _tmp398_);
2577
_tmp400_ = _tmp399_;
2578
_tmp401_ = vala_ccode_identifier_new (_tmp400_);
2579
_tmp402_ = _tmp401_;
2619
_vala_ccode_node_unref0 (_tmp396_);
2620
_tmp398_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2621
vala_ccode_function_add_expression (_tmp398_, (ValaCCodeExpression*) assign);
2622
_tmp399_ = vala_symbol_get_name ((ValaSymbol*) type_param);
2623
_tmp400_ = g_utf8_strdown (_tmp399_, (gssize) (-1));
2624
_tmp401_ = _tmp400_;
2625
_tmp402_ = g_strdup_printf ("%s_destroy_func", _tmp401_);
2626
_tmp403_ = _tmp402_;
2627
_tmp404_ = vala_ccode_identifier_new (_tmp403_);
2580
2628
_vala_ccode_node_unref0 (param_name);
2581
param_name = _tmp402_;
2582
_g_free0 (_tmp400_);
2583
_g_free0 (_tmp398_);
2584
_tmp403_ = vala_ccode_identifier_get_name (param_name);
2585
_tmp404_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) priv_access, _tmp403_);
2586
_tmp405_ = _tmp404_;
2587
_tmp406_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp405_, (ValaCCodeExpression*) param_name, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
2629
param_name = _tmp404_;
2630
_g_free0 (_tmp403_);
2631
_g_free0 (_tmp401_);
2632
_tmp405_ = vala_ccode_identifier_get_name (param_name);
2633
_tmp406_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) priv_access, _tmp405_);
2588
2634
_tmp407_ = _tmp406_;
2589
_vala_ccode_node_unref0 (assign);
2591
_vala_ccode_node_unref0 (_tmp405_);
2592
_tmp408_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2593
vala_ccode_function_add_expression (_tmp408_, (ValaCCodeExpression*) assign);
2594
_tmp409_ = vala_symbol_get_name ((ValaSymbol*) type_param);
2595
_tmp410_ = g_utf8_strdown (_tmp409_, (gssize) (-1));
2596
_tmp411_ = _tmp410_;
2597
_tmp412_ = g_strdup_printf ("%s_destroy_func", _tmp411_);
2598
_tmp413_ = _tmp412_;
2599
_tmp414_ = vala_ccode_identifier_new (_tmp413_);
2600
_tmp415_ = _tmp414_;
2601
_vala_ccode_node_unref0 (param_name);
2602
param_name = _tmp415_;
2603
_g_free0 (_tmp413_);
2604
_g_free0 (_tmp411_);
2605
_tmp416_ = vala_ccode_identifier_get_name (param_name);
2606
_tmp417_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) priv_access, _tmp416_);
2607
_tmp418_ = _tmp417_;
2608
_tmp419_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp418_, (ValaCCodeExpression*) param_name, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
2609
_tmp420_ = _tmp419_;
2610
_vala_ccode_node_unref0 (assign);
2612
_vala_ccode_node_unref0 (_tmp418_);
2613
_tmp421_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2614
vala_ccode_function_add_expression (_tmp421_, (ValaCCodeExpression*) assign);
2635
_tmp408_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp407_, (ValaCCodeExpression*) param_name, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
2636
_vala_ccode_node_unref0 (assign);
2638
_vala_ccode_node_unref0 (_tmp407_);
2639
_tmp409_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2640
vala_ccode_function_add_expression (_tmp409_, (ValaCCodeExpression*) assign);
2615
2641
_vala_ccode_node_unref0 (priv_access);
2616
2642
_vala_ccode_node_unref0 (assign);
2617
2643
_vala_ccode_node_unref0 (param_name);
2624
2650
_vala_code_node_unref0 (cl);
2626
ValaTypeSymbol* _tmp422_ = NULL;
2627
_tmp422_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2628
if (VALA_IS_CLASS (_tmp422_)) {
2629
ValaSymbol* _tmp423_ = NULL;
2630
ValaClass* _tmp424_;
2652
ValaTypeSymbol* _tmp410_ = NULL;
2653
_tmp410_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2654
if (VALA_IS_CLASS (_tmp410_)) {
2655
ValaSymbol* _tmp411_ = NULL;
2656
ValaClass* _tmp412_;
2632
ValaCCodeFunction* _tmp425_ = NULL;
2633
gchar* _tmp426_ = NULL;
2636
ValaCCodeVariableDeclarator* _tmp429_ = NULL;
2637
ValaCCodeVariableDeclarator* _tmp430_;
2639
ValaClass* _tmp443_ = NULL;
2640
_tmp423_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
2641
_tmp424_ = _vala_code_node_ref0 (VALA_CLASS (_tmp423_));
2643
_tmp425_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2644
_tmp426_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2645
_tmp427_ = _tmp426_;
2646
_tmp428_ = g_strconcat (_tmp427_, "*", NULL);
2647
_tmp429_ = vala_ccode_variable_declarator_new ("self", NULL, NULL);
2648
_tmp430_ = _tmp429_;
2649
vala_ccode_function_add_declaration (_tmp425_, _tmp428_, (ValaCCodeDeclarator*) _tmp430_, 0);
2650
_vala_ccode_node_unref0 (_tmp430_);
2651
_g_free0 (_tmp428_);
2652
_g_free0 (_tmp427_);
2653
_tmp431_ = vala_creation_method_get_chain_up (VALA_CREATION_METHOD (m));
2655
ValaCCodeIdentifier* _tmp432_ = NULL;
2656
ValaCCodeIdentifier* _tmp433_;
2657
ValaCCodeFunctionCall* _tmp434_ = NULL;
2658
ValaCCodeFunctionCall* _tmp435_;
2658
ValaCCodeFunction* _tmp413_ = NULL;
2659
gchar* _tmp414_ = NULL;
2663
ValaCCodeVariableDeclarator* _tmp418_ = NULL;
2664
ValaCCodeVariableDeclarator* _tmp419_;
2666
ValaClass* _tmp432_ = NULL;
2667
_tmp411_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
2668
_tmp412_ = _vala_code_node_ref0 (VALA_CLASS (_tmp411_));
2670
_tmp413_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2671
_tmp414_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2672
_tmp415_ = _tmp414_;
2673
_tmp416_ = g_strconcat (_tmp415_, "*", NULL);
2674
_tmp417_ = _tmp416_;
2675
_tmp418_ = vala_ccode_variable_declarator_new ("self", NULL, NULL);
2676
_tmp419_ = _tmp418_;
2677
vala_ccode_function_add_declaration (_tmp413_, _tmp417_, (ValaCCodeDeclarator*) _tmp419_, 0);
2678
_vala_ccode_node_unref0 (_tmp419_);
2679
_g_free0 (_tmp417_);
2680
_g_free0 (_tmp415_);
2681
_tmp420_ = vala_creation_method_get_chain_up (VALA_CREATION_METHOD (m));
2683
ValaCCodeIdentifier* _tmp421_ = NULL;
2684
ValaCCodeIdentifier* _tmp422_;
2685
ValaCCodeFunctionCall* _tmp423_ = NULL;
2686
ValaCCodeFunctionCall* _tmp424_;
2659
2687
ValaCCodeFunctionCall* ccall;
2660
gchar* _tmp436_ = NULL;
2662
ValaCCodeIdentifier* _tmp438_ = NULL;
2663
ValaCCodeIdentifier* _tmp439_;
2664
ValaCCodeFunction* _tmp440_ = NULL;
2688
gchar* _tmp425_ = NULL;
2690
ValaCCodeIdentifier* _tmp427_ = NULL;
2691
ValaCCodeIdentifier* _tmp428_;
2692
ValaCCodeFunction* _tmp429_ = NULL;
2693
ValaCCodeIdentifier* _tmp430_ = NULL;
2694
ValaCCodeIdentifier* _tmp431_;
2695
_tmp421_ = vala_ccode_identifier_new ("g_slice_new0");
2696
_tmp422_ = _tmp421_;
2697
_tmp423_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp422_);
2698
_tmp424_ = _tmp423_;
2699
_vala_ccode_node_unref0 (_tmp422_);
2701
_tmp425_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2702
_tmp426_ = _tmp425_;
2703
_tmp427_ = vala_ccode_identifier_new (_tmp426_);
2704
_tmp428_ = _tmp427_;
2705
vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp428_);
2706
_vala_ccode_node_unref0 (_tmp428_);
2707
_g_free0 (_tmp426_);
2708
_tmp429_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2709
_tmp430_ = vala_ccode_identifier_new ("self");
2710
_tmp431_ = _tmp430_;
2711
vala_ccode_function_add_assignment (_tmp429_, (ValaCCodeExpression*) _tmp431_, (ValaCCodeExpression*) ccall);
2712
_vala_ccode_node_unref0 (_tmp431_);
2713
_vala_ccode_node_unref0 (ccall);
2715
_tmp432_ = vala_class_get_base_class (cl);
2716
if (_tmp432_ == NULL) {
2717
gchar* _tmp433_ = NULL;
2719
gchar* _tmp435_ = NULL;
2721
ValaCCodeIdentifier* _tmp437_ = NULL;
2722
ValaCCodeIdentifier* _tmp438_;
2723
ValaCCodeFunctionCall* _tmp439_ = NULL;
2724
ValaCCodeFunctionCall* _tmp440_;
2725
ValaCCodeFunctionCall* cinitcall;
2665
2726
ValaCCodeIdentifier* _tmp441_ = NULL;
2666
2727
ValaCCodeIdentifier* _tmp442_;
2667
_tmp432_ = vala_ccode_identifier_new ("g_slice_new0");
2668
_tmp433_ = _tmp432_;
2669
_tmp434_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp433_);
2670
ccall = (_tmp435_ = _tmp434_, _vala_ccode_node_unref0 (_tmp433_), _tmp435_);
2671
_tmp436_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2672
_tmp437_ = _tmp436_;
2673
_tmp438_ = vala_ccode_identifier_new (_tmp437_);
2674
_tmp439_ = _tmp438_;
2675
vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp439_);
2676
_vala_ccode_node_unref0 (_tmp439_);
2677
_g_free0 (_tmp437_);
2678
_tmp440_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2728
ValaCCodeFunction* _tmp443_ = NULL;
2729
_tmp433_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) cl, NULL);
2730
_tmp434_ = _tmp433_;
2731
_tmp435_ = g_strdup_printf ("%s_instance_init", _tmp434_);
2732
_tmp436_ = _tmp435_;
2733
_tmp437_ = vala_ccode_identifier_new (_tmp436_);
2734
_tmp438_ = _tmp437_;
2735
_tmp439_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp438_);
2736
_tmp440_ = _tmp439_;
2737
_vala_ccode_node_unref0 (_tmp438_);
2738
_g_free0 (_tmp436_);
2739
_g_free0 (_tmp434_);
2740
cinitcall = _tmp440_;
2679
2741
_tmp441_ = vala_ccode_identifier_new ("self");
2680
2742
_tmp442_ = _tmp441_;
2681
vala_ccode_function_add_assignment (_tmp440_, (ValaCCodeExpression*) _tmp442_, (ValaCCodeExpression*) ccall);
2743
vala_ccode_function_call_add_argument (cinitcall, (ValaCCodeExpression*) _tmp442_);
2682
2744
_vala_ccode_node_unref0 (_tmp442_);
2683
_vala_ccode_node_unref0 (ccall);
2685
_tmp443_ = vala_class_get_base_class (cl);
2686
if (_tmp443_ == NULL) {
2687
gchar* _tmp444_ = NULL;
2689
gchar* _tmp446_ = NULL;
2691
ValaCCodeIdentifier* _tmp448_ = NULL;
2692
ValaCCodeIdentifier* _tmp449_;
2693
ValaCCodeFunctionCall* _tmp450_ = NULL;
2694
ValaCCodeFunctionCall* _tmp451_;
2695
ValaCCodeFunctionCall* cinitcall;
2696
ValaCCodeIdentifier* _tmp452_ = NULL;
2697
ValaCCodeIdentifier* _tmp453_;
2698
ValaCCodeFunction* _tmp454_ = NULL;
2699
_tmp444_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) cl, NULL);
2700
_tmp445_ = _tmp444_;
2701
_tmp446_ = g_strdup_printf ("%s_instance_init", _tmp445_);
2702
_tmp447_ = _tmp446_;
2703
_tmp448_ = vala_ccode_identifier_new (_tmp447_);
2704
_tmp449_ = _tmp448_;
2705
_tmp450_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp449_);
2706
cinitcall = (_tmp451_ = _tmp450_, _vala_ccode_node_unref0 (_tmp449_), _g_free0 (_tmp447_), _g_free0 (_tmp445_), _tmp451_);
2707
_tmp452_ = vala_ccode_identifier_new ("self");
2708
_tmp453_ = _tmp452_;
2709
vala_ccode_function_call_add_argument (cinitcall, (ValaCCodeExpression*) _tmp453_);
2710
_vala_ccode_node_unref0 (_tmp453_);
2711
_tmp454_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2712
vala_ccode_function_add_expression (_tmp454_, (ValaCCodeExpression*) cinitcall);
2745
_tmp443_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2746
vala_ccode_function_add_expression (_tmp443_, (ValaCCodeExpression*) cinitcall);
2713
2747
_vala_ccode_node_unref0 (cinitcall);
2715
2749
_vala_code_node_unref0 (cl);
2717
ValaSymbol* _tmp455_ = NULL;
2718
ValaStruct* _tmp456_;
2751
ValaSymbol* _tmp444_ = NULL;
2752
ValaStruct* _tmp445_;
2719
2753
ValaStruct* st;
2720
ValaCCodeIdentifier* _tmp457_ = NULL;
2721
ValaCCodeIdentifier* _tmp458_;
2722
ValaCCodeFunctionCall* _tmp459_ = NULL;
2723
ValaCCodeFunctionCall* _tmp460_;
2754
ValaCCodeIdentifier* _tmp446_ = NULL;
2755
ValaCCodeIdentifier* _tmp447_;
2756
ValaCCodeFunctionCall* _tmp448_ = NULL;
2757
ValaCCodeFunctionCall* _tmp449_;
2724
2758
ValaCCodeFunctionCall* czero;
2725
ValaCCodeIdentifier* _tmp461_ = NULL;
2726
ValaCCodeIdentifier* _tmp462_;
2727
ValaCCodeConstant* _tmp463_ = NULL;
2728
ValaCCodeConstant* _tmp464_;
2729
gchar* _tmp465_ = NULL;
2731
gchar* _tmp467_ = NULL;
2733
ValaCCodeIdentifier* _tmp469_ = NULL;
2734
ValaCCodeIdentifier* _tmp470_;
2735
ValaCCodeFunction* _tmp471_ = NULL;
2736
_tmp455_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
2737
_tmp456_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp455_));
2759
ValaCCodeIdentifier* _tmp450_ = NULL;
2760
ValaCCodeIdentifier* _tmp451_;
2761
ValaCCodeConstant* _tmp452_ = NULL;
2762
ValaCCodeConstant* _tmp453_;
2763
gchar* _tmp454_ = NULL;
2765
gchar* _tmp456_ = NULL;
2767
ValaCCodeIdentifier* _tmp458_ = NULL;
2768
ValaCCodeIdentifier* _tmp459_;
2769
ValaCCodeFunction* _tmp460_ = NULL;
2770
_tmp444_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
2771
_tmp445_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp444_));
2739
2773
vala_ccode_file_add_include (((ValaCCodeBaseModule*) self)->cfile, "string.h", FALSE);
2740
_tmp457_ = vala_ccode_identifier_new ("memset");
2741
_tmp458_ = _tmp457_;
2742
_tmp459_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp458_);
2743
czero = (_tmp460_ = _tmp459_, _vala_ccode_node_unref0 (_tmp458_), _tmp460_);
2744
_tmp461_ = vala_ccode_identifier_new ("self");
2745
_tmp462_ = _tmp461_;
2746
vala_ccode_function_call_add_argument (czero, (ValaCCodeExpression*) _tmp462_);
2747
_vala_ccode_node_unref0 (_tmp462_);
2748
_tmp463_ = vala_ccode_constant_new ("0");
2749
_tmp464_ = _tmp463_;
2750
vala_ccode_function_call_add_argument (czero, (ValaCCodeExpression*) _tmp464_);
2751
_vala_ccode_node_unref0 (_tmp464_);
2752
_tmp465_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) st, FALSE);
2753
_tmp466_ = _tmp465_;
2754
_tmp467_ = g_strdup_printf ("sizeof (%s)", _tmp466_);
2755
_tmp468_ = _tmp467_;
2756
_tmp469_ = vala_ccode_identifier_new (_tmp468_);
2757
_tmp470_ = _tmp469_;
2758
vala_ccode_function_call_add_argument (czero, (ValaCCodeExpression*) _tmp470_);
2759
_vala_ccode_node_unref0 (_tmp470_);
2760
_g_free0 (_tmp468_);
2761
_g_free0 (_tmp466_);
2762
_tmp471_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2763
vala_ccode_function_add_expression (_tmp471_, (ValaCCodeExpression*) czero);
2774
_tmp446_ = vala_ccode_identifier_new ("memset");
2775
_tmp447_ = _tmp446_;
2776
_tmp448_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp447_);
2777
_tmp449_ = _tmp448_;
2778
_vala_ccode_node_unref0 (_tmp447_);
2780
_tmp450_ = vala_ccode_identifier_new ("self");
2781
_tmp451_ = _tmp450_;
2782
vala_ccode_function_call_add_argument (czero, (ValaCCodeExpression*) _tmp451_);
2783
_vala_ccode_node_unref0 (_tmp451_);
2784
_tmp452_ = vala_ccode_constant_new ("0");
2785
_tmp453_ = _tmp452_;
2786
vala_ccode_function_call_add_argument (czero, (ValaCCodeExpression*) _tmp453_);
2787
_vala_ccode_node_unref0 (_tmp453_);
2788
_tmp454_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) st, FALSE);
2789
_tmp455_ = _tmp454_;
2790
_tmp456_ = g_strdup_printf ("sizeof (%s)", _tmp455_);
2791
_tmp457_ = _tmp456_;
2792
_tmp458_ = vala_ccode_identifier_new (_tmp457_);
2793
_tmp459_ = _tmp458_;
2794
vala_ccode_function_call_add_argument (czero, (ValaCCodeExpression*) _tmp459_);
2795
_vala_ccode_node_unref0 (_tmp459_);
2796
_g_free0 (_tmp457_);
2797
_g_free0 (_tmp455_);
2798
_tmp460_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2799
vala_ccode_function_add_expression (_tmp460_, (ValaCCodeExpression*) czero);
2764
2800
_vala_ccode_node_unref0 (czero);
2765
2801
_vala_code_node_unref0 (st);
2770
_tmp473_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
2771
_tmp474_ = vala_code_context_get_module_init_method (_tmp473_);
2772
if (_tmp474_ == m) {
2773
_tmp472_ = ((ValaCCodeBaseModule*) self)->in_plugin;
2806
_tmp462_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
2807
_tmp463_ = vala_code_context_get_module_init_method (_tmp462_);
2808
if (_tmp463_ == m) {
2809
_tmp461_ = ((ValaCCodeBaseModule*) self)->in_plugin;
2778
ValaCodeContext* _tmp475_ = NULL;
2779
ValaNamespace* _tmp476_ = NULL;
2780
ValaHashSet* _tmp477_ = NULL;
2781
ValaHashSet* _tmp478_;
2782
_tmp475_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
2783
_tmp476_ = vala_code_context_get_root (_tmp475_);
2784
_tmp477_ = vala_hash_set_new (VALA_TYPE_SYMBOL, (GBoxedCopyFunc) vala_code_node_ref, vala_code_node_unref, g_direct_hash, g_direct_equal);
2785
_tmp478_ = _tmp477_;
2786
vala_ccode_method_module_register_plugin_types (self, (ValaSymbol*) _tmp476_, (ValaSet*) _tmp478_);
2787
_vala_iterable_unref0 (_tmp478_);
2814
ValaCodeContext* _tmp464_ = NULL;
2815
ValaNamespace* _tmp465_ = NULL;
2816
ValaHashSet* _tmp466_ = NULL;
2817
ValaHashSet* _tmp467_;
2818
_tmp464_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
2819
_tmp465_ = vala_code_context_get_root (_tmp464_);
2820
_tmp466_ = vala_hash_set_new (VALA_TYPE_SYMBOL, (GBoxedCopyFunc) vala_code_node_ref, vala_code_node_unref, g_direct_hash, g_direct_equal);
2821
_tmp467_ = _tmp466_;
2822
vala_ccode_method_module_register_plugin_types (self, (ValaSymbol*) _tmp465_, (ValaSet*) _tmp467_);
2823
_vala_iterable_unref0 (_tmp467_);
2790
ValaList* _tmp479_ = NULL;
2826
ValaList* _tmp468_ = NULL;
2791
2827
ValaList* _precondition_list;
2793
2829
gint _precondition_size;
2794
2830
gint _precondition_index;
2795
_tmp479_ = vala_method_get_preconditions (m);
2796
_precondition_list = _tmp479_;
2797
_tmp480_ = vala_collection_get_size ((ValaCollection*) _precondition_list);
2798
_precondition_size = _tmp480_;
2831
_tmp468_ = vala_method_get_preconditions (m);
2832
_precondition_list = _tmp468_;
2833
_tmp469_ = vala_collection_get_size ((ValaCollection*) _precondition_list);
2834
_precondition_size = _tmp469_;
2799
2835
_precondition_index = -1;
2801
gpointer _tmp481_ = NULL;
2837
gpointer _tmp470_ = NULL;
2802
2838
ValaExpression* precondition;
2803
2839
_precondition_index = _precondition_index + 1;
2804
2840
if (!(_precondition_index < _precondition_size)) {
2807
_tmp481_ = vala_list_get (_precondition_list, _precondition_index);
2808
precondition = (ValaExpression*) _tmp481_;
2843
_tmp470_ = vala_list_get (_precondition_list, _precondition_index);
2844
precondition = (ValaExpression*) _tmp470_;
2809
2845
vala_ccode_method_module_create_precondition_statement (self, (ValaCodeNode*) m, creturn_type, precondition);
2810
2846
_vala_code_node_unref0 (precondition);
2816
_tmp482_ = vala_subroutine_get_body ((ValaSubroutine*) m);
2817
if (_tmp482_ != NULL) {
2818
ValaBlock* _tmp483_ = NULL;
2819
_tmp483_ = vala_subroutine_get_body ((ValaSubroutine*) m);
2820
vala_code_node_emit ((ValaCodeNode*) _tmp483_, (ValaCodeGenerator*) self);
2852
_tmp471_ = vala_subroutine_get_body ((ValaSubroutine*) m);
2853
if (_tmp471_ != NULL) {
2854
ValaBlock* _tmp472_ = NULL;
2855
_tmp472_ = vala_subroutine_get_body ((ValaSubroutine*) m);
2856
vala_code_node_emit ((ValaCodeNode*) _tmp472_, (ValaCodeGenerator*) self);
2822
_tmp485_ = vala_method_get_is_abstract (m);
2858
_tmp474_ = vala_method_get_is_abstract (m);
2826
gboolean _tmp486_ = FALSE;
2828
_tmp487_ = vala_method_get_is_abstract (m);
2830
ValaTypeSymbol* _tmp488_ = NULL;
2831
_tmp488_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2832
_tmp486_ = VALA_IS_CLASS (_tmp488_);
2862
gboolean _tmp475_ = FALSE;
2864
_tmp476_ = vala_method_get_is_abstract (m);
2866
ValaTypeSymbol* _tmp477_ = NULL;
2867
_tmp477_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2868
_tmp475_ = VALA_IS_CLASS (_tmp477_);
2836
_tmp484_ = _tmp486_;
2872
_tmp473_ = _tmp475_;
2839
ValaBlock* _tmp489_ = NULL;
2840
_tmp489_ = vala_subroutine_get_body ((ValaSubroutine*) m);
2841
if (_tmp489_ != NULL) {
2844
gboolean _tmp498_ = FALSE;
2845
gboolean _tmp499_ = FALSE;
2846
ValaDataType* _tmp500_ = NULL;
2847
ValaCCodeFunction* _tmp576_ = NULL;
2848
_tmp490_ = vala_ccode_base_module_get_current_method_inner_error ((ValaCCodeBaseModule*) self);
2851
_tmp491_ = vala_method_get_coroutine (m);
2875
ValaBlock* _tmp478_ = NULL;
2876
_tmp478_ = vala_subroutine_get_body ((ValaSubroutine*) m);
2877
if (_tmp478_ != NULL) {
2880
gboolean _tmp487_ = FALSE;
2881
gboolean _tmp488_ = FALSE;
2882
ValaDataType* _tmp489_ = NULL;
2883
ValaCCodeFunction* _tmp562_ = NULL;
2884
_tmp479_ = vala_ccode_base_module_get_current_method_inner_error ((ValaCCodeBaseModule*) self);
2887
_tmp480_ = vala_method_get_coroutine (m);
2853
2889
vala_ccode_struct_add_field (((ValaCCodeBaseModule*) self)->closure_struct, "GError *", "_inner_error_", NULL);
2855
ValaCCodeFunction* _tmp492_ = NULL;
2856
ValaCCodeConstant* _tmp493_ = NULL;
2857
ValaCCodeConstant* _tmp494_;
2858
ValaCCodeVariableDeclarator* _tmp495_ = NULL;
2859
ValaCCodeVariableDeclarator* _tmp496_;
2860
_tmp492_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2861
_tmp493_ = vala_ccode_constant_new ("NULL");
2862
_tmp494_ = _tmp493_;
2863
_tmp495_ = vala_ccode_variable_declarator_new_zero ("_inner_error_", (ValaCCodeExpression*) _tmp494_, NULL);
2864
_tmp496_ = _tmp495_;
2865
vala_ccode_function_add_declaration (_tmp492_, "GError *", (ValaCCodeDeclarator*) _tmp496_, 0);
2866
_vala_ccode_node_unref0 (_tmp496_);
2867
_vala_ccode_node_unref0 (_tmp494_);
2891
ValaCCodeFunction* _tmp481_ = NULL;
2892
ValaCCodeConstant* _tmp482_ = NULL;
2893
ValaCCodeConstant* _tmp483_;
2894
ValaCCodeVariableDeclarator* _tmp484_ = NULL;
2895
ValaCCodeVariableDeclarator* _tmp485_;
2896
_tmp481_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2897
_tmp482_ = vala_ccode_constant_new ("NULL");
2898
_tmp483_ = _tmp482_;
2899
_tmp484_ = vala_ccode_variable_declarator_new_zero ("_inner_error_", (ValaCCodeExpression*) _tmp483_, NULL);
2900
_tmp485_ = _tmp484_;
2901
vala_ccode_function_add_declaration (_tmp481_, "GError *", (ValaCCodeDeclarator*) _tmp485_, 0);
2902
_vala_ccode_node_unref0 (_tmp485_);
2903
_vala_ccode_node_unref0 (_tmp483_);
2870
_tmp497_ = vala_method_get_coroutine (m);
2906
_tmp486_ = vala_method_get_coroutine (m);
2872
2908
vala_ccode_method_module_complete_async (self);
2874
_tmp500_ = vala_method_get_return_type (m);
2875
if (!VALA_IS_VOID_TYPE (_tmp500_)) {
2876
ValaDataType* _tmp501_ = NULL;
2878
_tmp501_ = vala_method_get_return_type (m);
2879
_tmp502_ = vala_data_type_is_real_non_null_struct_type (_tmp501_);
2880
_tmp499_ = !_tmp502_;
2886
_tmp503_ = vala_method_get_coroutine (m);
2887
_tmp498_ = !_tmp503_;
2892
gboolean _tmp504_ = FALSE;
2893
ValaBasicBlock* _tmp505_ = NULL;
2894
_tmp505_ = vala_subroutine_get_return_block ((ValaSubroutine*) m);
2895
if (_tmp505_ != NULL) {
2896
ValaBasicBlock* _tmp506_ = NULL;
2897
ValaList* _tmp507_ = NULL;
2900
_tmp506_ = vala_subroutine_get_return_block ((ValaSubroutine*) m);
2901
_tmp507_ = vala_basic_block_get_predecessors (_tmp506_);
2902
_tmp508_ = _tmp507_;
2903
_tmp509_ = vala_collection_get_size ((ValaCollection*) _tmp508_);
2904
_tmp504_ = _tmp509_ == 0;
2905
_vala_iterable_unref0 (_tmp508_);
2910
_tmp489_ = vala_method_get_return_type (m);
2911
if (!VALA_IS_VOID_TYPE (_tmp489_)) {
2912
ValaDataType* _tmp490_ = NULL;
2914
_tmp490_ = vala_method_get_return_type (m);
2915
_tmp491_ = vala_data_type_is_real_non_null_struct_type (_tmp490_);
2916
_tmp488_ = !_tmp491_;
2922
_tmp492_ = vala_method_get_coroutine (m);
2923
_tmp487_ = !_tmp492_;
2928
gboolean _tmp493_ = FALSE;
2929
ValaBasicBlock* _tmp494_ = NULL;
2930
_tmp494_ = vala_subroutine_get_return_block ((ValaSubroutine*) m);
2931
if (_tmp494_ != NULL) {
2932
ValaBasicBlock* _tmp495_ = NULL;
2933
ValaList* _tmp496_ = NULL;
2936
_tmp495_ = vala_subroutine_get_return_block ((ValaSubroutine*) m);
2937
_tmp496_ = vala_basic_block_get_predecessors (_tmp495_);
2938
_tmp497_ = _tmp496_;
2939
_tmp498_ = vala_collection_get_size ((ValaCollection*) _tmp497_);
2940
_tmp493_ = _tmp498_ == 0;
2941
_vala_iterable_unref0 (_tmp497_);
2910
ValaCCodeFunction* _tmp510_ = NULL;
2911
ValaCCodeIdentifier* _tmp511_ = NULL;
2912
ValaCCodeIdentifier* _tmp512_;
2913
_tmp510_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2914
_tmp511_ = vala_ccode_identifier_new ("result");
2915
_tmp512_ = _tmp511_;
2916
vala_ccode_function_add_return (_tmp510_, (ValaCCodeExpression*) _tmp512_);
2917
_vala_ccode_node_unref0 (_tmp512_);
2946
ValaCCodeFunction* _tmp499_ = NULL;
2947
ValaCCodeIdentifier* _tmp500_ = NULL;
2948
ValaCCodeIdentifier* _tmp501_;
2949
_tmp499_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
2950
_tmp500_ = vala_ccode_identifier_new ("result");
2951
_tmp501_ = _tmp500_;
2952
vala_ccode_function_add_return (_tmp499_, (ValaCCodeExpression*) _tmp501_);
2953
_vala_ccode_node_unref0 (_tmp501_);
2920
2956
if (VALA_IS_CREATION_METHOD (m)) {
2921
ValaTypeSymbol* _tmp513_ = NULL;
2922
gboolean _tmp519_ = FALSE;
2923
gboolean _tmp520_ = FALSE;
2924
gboolean _tmp521_ = FALSE;
2925
gboolean _tmp522_ = FALSE;
2926
ValaTypeSymbol* _tmp523_ = NULL;
2927
ValaTypeSymbol* _tmp566_ = NULL;
2928
_tmp513_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2929
if (VALA_IS_CLASS (_tmp513_)) {
2930
ValaClass* _tmp514_ = NULL;
2931
ValaObjectType* _tmp515_ = NULL;
2932
ValaDataType* _tmp516_;
2933
_tmp514_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
2934
_tmp515_ = vala_object_type_new ((ValaObjectTypeSymbol*) _tmp514_);
2935
_tmp516_ = (ValaDataType*) _tmp515_;
2936
_vala_code_node_unref0 (creturn_type);
2937
creturn_type = _tmp516_;
2939
ValaVoidType* _tmp517_ = NULL;
2940
ValaDataType* _tmp518_;
2941
_tmp517_ = vala_void_type_new (NULL);
2942
_tmp518_ = (ValaDataType*) _tmp517_;
2943
_vala_code_node_unref0 (creturn_type);
2944
creturn_type = _tmp518_;
2946
_tmp523_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2947
if (VALA_IS_CLASS (_tmp523_)) {
2948
_tmp522_ = ((ValaCCodeBaseModule*) self)->gobject_type != NULL;
2953
ValaClass* _tmp524_ = NULL;
2955
_tmp524_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
2956
_tmp525_ = vala_typesymbol_is_subtype_of ((ValaTypeSymbol*) _tmp524_, ((ValaCCodeBaseModule*) self)->gobject_type);
2957
_tmp521_ = _tmp525_;
2962
ValaClass* _tmp526_ = NULL;
2963
ValaList* _tmp527_ = NULL;
2966
_tmp526_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
2967
_tmp527_ = vala_object_type_symbol_get_type_parameters ((ValaObjectTypeSymbol*) _tmp526_);
2968
_tmp528_ = _tmp527_;
2969
_tmp529_ = vala_collection_get_size ((ValaCollection*) _tmp528_);
2970
_tmp520_ = _tmp529_ > 0;
2971
_vala_iterable_unref0 (_tmp528_);
2977
_tmp530_ = vala_creation_method_get_chain_up (VALA_CREATION_METHOD (m));
2978
_tmp519_ = !_tmp530_;
2957
ValaTypeSymbol* _tmp502_ = NULL;
2958
gboolean _tmp506_ = FALSE;
2959
gboolean _tmp507_ = FALSE;
2960
gboolean _tmp508_ = FALSE;
2961
gboolean _tmp509_ = FALSE;
2962
ValaTypeSymbol* _tmp510_ = NULL;
2963
ValaTypeSymbol* _tmp553_ = NULL;
2964
_tmp502_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2965
if (VALA_IS_CLASS (_tmp502_)) {
2966
ValaClass* _tmp503_ = NULL;
2967
ValaObjectType* _tmp504_ = NULL;
2968
_tmp503_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
2969
_tmp504_ = vala_object_type_new ((ValaObjectTypeSymbol*) _tmp503_);
2970
_vala_code_node_unref0 (creturn_type);
2971
creturn_type = (ValaDataType*) _tmp504_;
2973
ValaVoidType* _tmp505_ = NULL;
2974
_tmp505_ = vala_void_type_new (NULL);
2975
_vala_code_node_unref0 (creturn_type);
2976
creturn_type = (ValaDataType*) _tmp505_;
2978
_tmp510_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
2979
if (VALA_IS_CLASS (_tmp510_)) {
2980
_tmp509_ = ((ValaCCodeBaseModule*) self)->gobject_type != NULL;
2985
ValaClass* _tmp511_ = NULL;
2987
_tmp511_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
2988
_tmp512_ = vala_typesymbol_is_subtype_of ((ValaTypeSymbol*) _tmp511_, ((ValaCCodeBaseModule*) self)->gobject_type);
2989
_tmp508_ = _tmp512_;
2994
ValaClass* _tmp513_ = NULL;
2995
ValaList* _tmp514_ = NULL;
2998
_tmp513_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
2999
_tmp514_ = vala_object_type_symbol_get_type_parameters ((ValaObjectTypeSymbol*) _tmp513_);
3000
_tmp515_ = _tmp514_;
3001
_tmp516_ = vala_collection_get_size ((ValaCollection*) _tmp515_);
3002
_tmp507_ = _tmp516_ > 0;
3003
_vala_iterable_unref0 (_tmp515_);
3009
_tmp517_ = vala_creation_method_get_chain_up (VALA_CREATION_METHOD (m));
3010
_tmp506_ = !_tmp517_;
3015
ValaCCodeIdentifier* _tmp518_ = NULL;
3016
ValaCCodeIdentifier* _tmp519_;
3017
ValaCCodeIdentifier* _tmp520_ = NULL;
3018
ValaCCodeIdentifier* _tmp521_;
3019
ValaCCodeBinaryExpression* _tmp522_ = NULL;
3020
ValaCCodeBinaryExpression* _tmp523_;
3021
ValaCCodeBinaryExpression* ccond;
3022
ValaCCodeBlock* _tmp524_ = NULL;
3023
ValaCCodeBlock* cdofreeparam;
3024
ValaCCodeIdentifier* _tmp525_ = NULL;
3025
ValaCCodeIdentifier* _tmp526_;
3026
ValaCCodeUnaryExpression* _tmp527_ = NULL;
3027
ValaCCodeUnaryExpression* _tmp528_;
3028
ValaCCodeExpressionStatement* _tmp529_ = NULL;
3029
ValaCCodeExpressionStatement* _tmp530_;
2983
3030
ValaCCodeIdentifier* _tmp531_ = NULL;
2984
3031
ValaCCodeIdentifier* _tmp532_;
2985
ValaCCodeIdentifier* _tmp533_ = NULL;
2986
ValaCCodeIdentifier* _tmp534_;
2987
ValaCCodeBinaryExpression* _tmp535_ = NULL;
2988
ValaCCodeBinaryExpression* _tmp536_;
2989
ValaCCodeBinaryExpression* ccond;
2990
ValaCCodeBlock* _tmp537_ = NULL;
2991
ValaCCodeBlock* cdofreeparam;
2992
ValaCCodeIdentifier* _tmp538_ = NULL;
2993
ValaCCodeIdentifier* _tmp539_;
2994
ValaCCodeUnaryExpression* _tmp540_ = NULL;
2995
ValaCCodeUnaryExpression* _tmp541_;
2996
ValaCCodeExpressionStatement* _tmp542_ = NULL;
2997
ValaCCodeExpressionStatement* _tmp543_;
2998
ValaCCodeIdentifier* _tmp544_ = NULL;
2999
ValaCCodeIdentifier* _tmp545_;
3000
ValaCCodeFunctionCall* _tmp546_ = NULL;
3001
ValaCCodeFunctionCall* _tmp547_;
3032
ValaCCodeFunctionCall* _tmp533_ = NULL;
3033
ValaCCodeFunctionCall* _tmp534_;
3002
3034
ValaCCodeFunctionCall* cunsetcall;
3003
ValaCCodeIdentifier* _tmp548_ = NULL;
3004
ValaCCodeIdentifier* _tmp549_;
3005
ValaCCodeMemberAccess* _tmp550_ = NULL;
3006
ValaCCodeMemberAccess* _tmp551_;
3007
ValaCCodeUnaryExpression* _tmp552_ = NULL;
3008
ValaCCodeUnaryExpression* _tmp553_;
3009
ValaCCodeExpressionStatement* _tmp554_ = NULL;
3010
ValaCCodeExpressionStatement* _tmp555_;
3011
ValaCCodeFunction* _tmp556_ = NULL;
3012
ValaCCodeWhileStatement* _tmp557_ = NULL;
3013
ValaCCodeWhileStatement* _tmp558_;
3014
ValaCCodeIdentifier* _tmp559_ = NULL;
3015
ValaCCodeIdentifier* _tmp560_;
3016
ValaCCodeFunctionCall* _tmp561_ = NULL;
3017
ValaCCodeFunctionCall* _tmp562_;
3035
ValaCCodeIdentifier* _tmp535_ = NULL;
3036
ValaCCodeIdentifier* _tmp536_;
3037
ValaCCodeMemberAccess* _tmp537_ = NULL;
3038
ValaCCodeMemberAccess* _tmp538_;
3039
ValaCCodeUnaryExpression* _tmp539_ = NULL;
3040
ValaCCodeUnaryExpression* _tmp540_;
3041
ValaCCodeExpressionStatement* _tmp541_ = NULL;
3042
ValaCCodeExpressionStatement* _tmp542_;
3043
ValaCCodeFunction* _tmp543_ = NULL;
3044
ValaCCodeWhileStatement* _tmp544_ = NULL;
3045
ValaCCodeWhileStatement* _tmp545_;
3046
ValaCCodeIdentifier* _tmp546_ = NULL;
3047
ValaCCodeIdentifier* _tmp547_;
3048
ValaCCodeFunctionCall* _tmp548_ = NULL;
3049
ValaCCodeFunctionCall* _tmp549_;
3018
3050
ValaCCodeFunctionCall* cfreeparams;
3019
ValaCCodeIdentifier* _tmp563_ = NULL;
3020
ValaCCodeIdentifier* _tmp564_;
3021
ValaCCodeFunction* _tmp565_ = NULL;
3022
_tmp531_ = vala_ccode_identifier_new ("__params_it");
3051
ValaCCodeIdentifier* _tmp550_ = NULL;
3052
ValaCCodeIdentifier* _tmp551_;
3053
ValaCCodeFunction* _tmp552_ = NULL;
3054
_tmp518_ = vala_ccode_identifier_new ("__params_it");
3055
_tmp519_ = _tmp518_;
3056
_tmp520_ = vala_ccode_identifier_new ("__params");
3057
_tmp521_ = _tmp520_;
3058
_tmp522_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_GREATER_THAN, (ValaCCodeExpression*) _tmp519_, (ValaCCodeExpression*) _tmp521_);
3059
_tmp523_ = _tmp522_;
3060
_vala_ccode_node_unref0 (_tmp521_);
3061
_vala_ccode_node_unref0 (_tmp519_);
3063
_tmp524_ = vala_ccode_block_new ();
3064
cdofreeparam = _tmp524_;
3065
_tmp525_ = vala_ccode_identifier_new ("__params_it");
3066
_tmp526_ = _tmp525_;
3067
_tmp527_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_PREFIX_DECREMENT, (ValaCCodeExpression*) _tmp526_);
3068
_tmp528_ = _tmp527_;
3069
_tmp529_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp528_);
3070
_tmp530_ = _tmp529_;
3071
vala_ccode_block_add_statement (cdofreeparam, (ValaCCodeNode*) _tmp530_);
3072
_vala_ccode_node_unref0 (_tmp530_);
3073
_vala_ccode_node_unref0 (_tmp528_);
3074
_vala_ccode_node_unref0 (_tmp526_);
3075
_tmp531_ = vala_ccode_identifier_new ("g_value_unset");
3023
3076
_tmp532_ = _tmp531_;
3024
_tmp533_ = vala_ccode_identifier_new ("__params");
3077
_tmp533_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp532_);
3025
3078
_tmp534_ = _tmp533_;
3026
_tmp535_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_GREATER_THAN, (ValaCCodeExpression*) _tmp532_, (ValaCCodeExpression*) _tmp534_);
3027
ccond = (_tmp536_ = _tmp535_, _vala_ccode_node_unref0 (_tmp534_), _vala_ccode_node_unref0 (_tmp532_), _tmp536_);
3028
_tmp537_ = vala_ccode_block_new ();
3029
cdofreeparam = _tmp537_;
3030
_tmp538_ = vala_ccode_identifier_new ("__params_it");
3031
_tmp539_ = _tmp538_;
3032
_tmp540_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_PREFIX_DECREMENT, (ValaCCodeExpression*) _tmp539_);
3033
_tmp541_ = _tmp540_;
3034
_tmp542_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp541_);
3035
_tmp543_ = _tmp542_;
3036
vala_ccode_block_add_statement (cdofreeparam, (ValaCCodeNode*) _tmp543_);
3037
_vala_ccode_node_unref0 (_tmp543_);
3038
_vala_ccode_node_unref0 (_tmp541_);
3039
_vala_ccode_node_unref0 (_tmp539_);
3040
_tmp544_ = vala_ccode_identifier_new ("g_value_unset");
3079
_vala_ccode_node_unref0 (_tmp532_);
3080
cunsetcall = _tmp534_;
3081
_tmp535_ = vala_ccode_identifier_new ("__params_it");
3082
_tmp536_ = _tmp535_;
3083
_tmp537_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp536_, "value");
3084
_tmp538_ = _tmp537_;
3085
_tmp539_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp538_);
3086
_tmp540_ = _tmp539_;
3087
vala_ccode_function_call_add_argument (cunsetcall, (ValaCCodeExpression*) _tmp540_);
3088
_vala_ccode_node_unref0 (_tmp540_);
3089
_vala_ccode_node_unref0 (_tmp538_);
3090
_vala_ccode_node_unref0 (_tmp536_);
3091
_tmp541_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cunsetcall);
3092
_tmp542_ = _tmp541_;
3093
vala_ccode_block_add_statement (cdofreeparam, (ValaCCodeNode*) _tmp542_);
3094
_vala_ccode_node_unref0 (_tmp542_);
3095
_tmp543_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3096
_tmp544_ = vala_ccode_while_statement_new ((ValaCCodeExpression*) ccond, (ValaCCodeStatement*) cdofreeparam);
3041
3097
_tmp545_ = _tmp544_;
3042
_tmp546_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp545_);
3043
cunsetcall = (_tmp547_ = _tmp546_, _vala_ccode_node_unref0 (_tmp545_), _tmp547_);
3044
_tmp548_ = vala_ccode_identifier_new ("__params_it");
3098
vala_ccode_function_add_statement (_tmp543_, (ValaCCodeNode*) _tmp545_);
3099
_vala_ccode_node_unref0 (_tmp545_);
3100
_tmp546_ = vala_ccode_identifier_new ("g_free");
3101
_tmp547_ = _tmp546_;
3102
_tmp548_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp547_);
3045
3103
_tmp549_ = _tmp548_;
3046
_tmp550_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) _tmp549_, "value");
3104
_vala_ccode_node_unref0 (_tmp547_);
3105
cfreeparams = _tmp549_;
3106
_tmp550_ = vala_ccode_identifier_new ("__params");
3047
3107
_tmp551_ = _tmp550_;
3048
_tmp552_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp551_);
3049
_tmp553_ = _tmp552_;
3050
vala_ccode_function_call_add_argument (cunsetcall, (ValaCCodeExpression*) _tmp553_);
3051
_vala_ccode_node_unref0 (_tmp553_);
3108
vala_ccode_function_call_add_argument (cfreeparams, (ValaCCodeExpression*) _tmp551_);
3052
3109
_vala_ccode_node_unref0 (_tmp551_);
3053
_vala_ccode_node_unref0 (_tmp549_);
3054
_tmp554_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) cunsetcall);
3055
_tmp555_ = _tmp554_;
3056
vala_ccode_block_add_statement (cdofreeparam, (ValaCCodeNode*) _tmp555_);
3057
_vala_ccode_node_unref0 (_tmp555_);
3058
_tmp556_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3059
_tmp557_ = vala_ccode_while_statement_new ((ValaCCodeExpression*) ccond, (ValaCCodeStatement*) cdofreeparam);
3060
_tmp558_ = _tmp557_;
3061
vala_ccode_function_add_statement (_tmp556_, (ValaCCodeNode*) _tmp558_);
3062
_vala_ccode_node_unref0 (_tmp558_);
3063
_tmp559_ = vala_ccode_identifier_new ("g_free");
3064
_tmp560_ = _tmp559_;
3065
_tmp561_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp560_);
3066
cfreeparams = (_tmp562_ = _tmp561_, _vala_ccode_node_unref0 (_tmp560_), _tmp562_);
3067
_tmp563_ = vala_ccode_identifier_new ("__params");
3068
_tmp564_ = _tmp563_;
3069
vala_ccode_function_call_add_argument (cfreeparams, (ValaCCodeExpression*) _tmp564_);
3070
_vala_ccode_node_unref0 (_tmp564_);
3071
_tmp565_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3072
vala_ccode_function_add_expression (_tmp565_, (ValaCCodeExpression*) cfreeparams);
3110
_tmp552_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3111
vala_ccode_function_add_expression (_tmp552_, (ValaCCodeExpression*) cfreeparams);
3073
3112
_vala_ccode_node_unref0 (cfreeparams);
3074
3113
_vala_ccode_node_unref0 (cunsetcall);
3075
3114
_vala_ccode_node_unref0 (cdofreeparam);
3076
3115
_vala_ccode_node_unref0 (ccond);
3078
_tmp566_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
3079
if (VALA_IS_CLASS (_tmp566_)) {
3080
ValaCCodeIdentifier* _tmp567_ = NULL;
3117
_tmp553_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
3118
if (VALA_IS_CLASS (_tmp553_)) {
3119
ValaCCodeIdentifier* _tmp554_ = NULL;
3081
3120
ValaCCodeExpression* cresult;
3082
gchar* _tmp568_ = NULL;
3085
ValaCCodeFunction* _tmp575_ = NULL;
3086
_tmp567_ = vala_ccode_identifier_new ("self");
3087
cresult = (ValaCCodeExpression*) _tmp567_;
3088
_tmp568_ = vala_ccode_base_module_get_custom_creturn_type ((ValaCCodeBaseModule*) self, m);
3089
_tmp569_ = _tmp568_;
3090
if ((_tmp570_ = _tmp569_ != NULL, _g_free0 (_tmp569_), _tmp570_)) {
3091
gchar* _tmp571_ = NULL;
3093
ValaCCodeCastExpression* _tmp573_ = NULL;
3094
ValaCCodeExpression* _tmp574_;
3095
_tmp571_ = vala_ccode_base_module_get_custom_creturn_type ((ValaCCodeBaseModule*) self, m);
3096
_tmp572_ = _tmp571_;
3097
_tmp573_ = vala_ccode_cast_expression_new (cresult, _tmp572_);
3098
_tmp574_ = (ValaCCodeExpression*) _tmp573_;
3121
gchar* _tmp555_ = NULL;
3124
ValaCCodeFunction* _tmp561_ = NULL;
3125
_tmp554_ = vala_ccode_identifier_new ("self");
3126
cresult = (ValaCCodeExpression*) _tmp554_;
3127
_tmp555_ = vala_ccode_base_module_get_custom_creturn_type ((ValaCCodeBaseModule*) self, m);
3128
_tmp556_ = _tmp555_;
3129
_tmp557_ = _tmp556_ != NULL;
3130
_g_free0 (_tmp556_);
3132
gchar* _tmp558_ = NULL;
3134
ValaCCodeCastExpression* _tmp560_ = NULL;
3135
_tmp558_ = vala_ccode_base_module_get_custom_creturn_type ((ValaCCodeBaseModule*) self, m);
3136
_tmp559_ = _tmp558_;
3137
_tmp560_ = vala_ccode_cast_expression_new (cresult, _tmp559_);
3099
3138
_vala_ccode_node_unref0 (cresult);
3101
_g_free0 (_tmp572_);
3139
cresult = (ValaCCodeExpression*) _tmp560_;
3140
_g_free0 (_tmp559_);
3103
_tmp575_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3104
vala_ccode_function_add_return (_tmp575_, cresult);
3142
_tmp561_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3143
vala_ccode_function_add_return (_tmp561_, cresult);
3105
3144
_vala_ccode_node_unref0 (cresult);
3108
_tmp576_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3109
vala_ccode_file_add_function (((ValaCCodeBaseModule*) self)->cfile, _tmp576_);
3147
_tmp562_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3148
vala_ccode_file_add_function (((ValaCCodeBaseModule*) self)->cfile, _tmp562_);
3112
_tmp578_ = vala_method_get_is_abstract (m);
3114
ValaTypeSymbol* _tmp579_ = NULL;
3115
_tmp579_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
3116
_tmp577_ = VALA_IS_CLASS (_tmp579_);
3151
_tmp564_ = vala_method_get_is_abstract (m);
3153
ValaTypeSymbol* _tmp565_ = NULL;
3154
_tmp565_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
3155
_tmp563_ = VALA_IS_CLASS (_tmp565_);
3121
ValaTypeSymbol* _tmp580_ = NULL;
3160
ValaTypeSymbol* _tmp566_ = NULL;
3161
ValaCCodeIdentifier* _tmp567_ = NULL;
3162
ValaCCodeIdentifier* _tmp568_;
3163
ValaCCodeFunctionCall* _tmp569_ = NULL;
3164
ValaCCodeFunctionCall* _tmp570_;
3165
ValaCCodeFunctionCall* type_from_instance_call;
3166
ValaCCodeIdentifier* _tmp571_ = NULL;
3167
ValaCCodeIdentifier* _tmp572_;
3168
ValaCCodeIdentifier* _tmp573_ = NULL;
3169
ValaCCodeIdentifier* _tmp574_;
3170
ValaCCodeFunctionCall* _tmp575_ = NULL;
3171
ValaCCodeFunctionCall* _tmp576_;
3172
ValaCCodeFunctionCall* type_name_call;
3173
gchar* _tmp577_ = NULL;
3175
gchar* _tmp579_ = NULL;
3177
gchar* error_string;
3122
3178
ValaCCodeIdentifier* _tmp581_ = NULL;
3123
3179
ValaCCodeIdentifier* _tmp582_;
3124
3180
ValaCCodeFunctionCall* _tmp583_ = NULL;
3125
3181
ValaCCodeFunctionCall* _tmp584_;
3126
ValaCCodeFunctionCall* type_from_instance_call;
3127
ValaCCodeIdentifier* _tmp585_ = NULL;
3128
ValaCCodeIdentifier* _tmp586_;
3129
ValaCCodeIdentifier* _tmp587_ = NULL;
3130
ValaCCodeIdentifier* _tmp588_;
3131
ValaCCodeFunctionCall* _tmp589_ = NULL;
3132
ValaCCodeFunctionCall* _tmp590_;
3133
ValaCCodeFunctionCall* type_name_call;
3134
gchar* _tmp591_ = NULL;
3136
gchar* _tmp593_ = NULL;
3138
gchar* error_string;
3139
ValaCCodeIdentifier* _tmp595_ = NULL;
3140
ValaCCodeIdentifier* _tmp596_;
3141
ValaCCodeFunctionCall* _tmp597_ = NULL;
3142
ValaCCodeFunctionCall* _tmp598_;
3143
3182
ValaCCodeFunctionCall* cerrorcall;
3144
ValaCCodeConstant* _tmp599_ = NULL;
3145
ValaCCodeConstant* _tmp600_;
3146
ValaCCodeFunction* _tmp601_ = NULL;
3147
ValaCCodeFunction* _tmp602_ = NULL;
3148
_tmp580_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
3149
vala_ccode_method_module_create_method_type_check_statement (self, m, creturn_type, _tmp580_, TRUE, "self");
3150
_tmp581_ = vala_ccode_identifier_new ("G_TYPE_FROM_INSTANCE");
3183
ValaCCodeConstant* _tmp585_ = NULL;
3184
ValaCCodeConstant* _tmp586_;
3185
ValaCCodeFunction* _tmp587_ = NULL;
3186
ValaCCodeFunction* _tmp588_ = NULL;
3187
_tmp566_ = vala_ccode_base_module_get_current_type_symbol ((ValaCCodeBaseModule*) self);
3188
vala_ccode_method_module_create_method_type_check_statement (self, m, creturn_type, _tmp566_, TRUE, "self");
3189
_tmp567_ = vala_ccode_identifier_new ("G_TYPE_FROM_INSTANCE");
3190
_tmp568_ = _tmp567_;
3191
_tmp569_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp568_);
3192
_tmp570_ = _tmp569_;
3193
_vala_ccode_node_unref0 (_tmp568_);
3194
type_from_instance_call = _tmp570_;
3195
_tmp571_ = vala_ccode_identifier_new ("self");
3196
_tmp572_ = _tmp571_;
3197
vala_ccode_function_call_add_argument (type_from_instance_call, (ValaCCodeExpression*) _tmp572_);
3198
_vala_ccode_node_unref0 (_tmp572_);
3199
_tmp573_ = vala_ccode_identifier_new ("g_type_name");
3200
_tmp574_ = _tmp573_;
3201
_tmp575_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp574_);
3202
_tmp576_ = _tmp575_;
3203
_vala_ccode_node_unref0 (_tmp574_);
3204
type_name_call = _tmp576_;
3205
vala_ccode_function_call_add_argument (type_name_call, (ValaCCodeExpression*) type_from_instance_call);
3206
_tmp577_ = vala_method_get_cname (m);
3207
_tmp578_ = _tmp577_;
3208
_tmp579_ = g_strdup_printf ("\"Type `%%s' does not implement abstract method `%s'\"", _tmp578_);
3209
_tmp580_ = _tmp579_;
3210
_g_free0 (_tmp578_);
3211
error_string = _tmp580_;
3212
_tmp581_ = vala_ccode_identifier_new ("g_critical");
3151
3213
_tmp582_ = _tmp581_;
3152
3214
_tmp583_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp582_);
3153
type_from_instance_call = (_tmp584_ = _tmp583_, _vala_ccode_node_unref0 (_tmp582_), _tmp584_);
3154
_tmp585_ = vala_ccode_identifier_new ("self");
3215
_tmp584_ = _tmp583_;
3216
_vala_ccode_node_unref0 (_tmp582_);
3217
cerrorcall = _tmp584_;
3218
_tmp585_ = vala_ccode_constant_new (error_string);
3155
3219
_tmp586_ = _tmp585_;
3156
vala_ccode_function_call_add_argument (type_from_instance_call, (ValaCCodeExpression*) _tmp586_);
3220
vala_ccode_function_call_add_argument (cerrorcall, (ValaCCodeExpression*) _tmp586_);
3157
3221
_vala_ccode_node_unref0 (_tmp586_);
3158
_tmp587_ = vala_ccode_identifier_new ("g_type_name");
3159
_tmp588_ = _tmp587_;
3160
_tmp589_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp588_);
3161
type_name_call = (_tmp590_ = _tmp589_, _vala_ccode_node_unref0 (_tmp588_), _tmp590_);
3162
vala_ccode_function_call_add_argument (type_name_call, (ValaCCodeExpression*) type_from_instance_call);
3163
_tmp591_ = vala_method_get_cname (m);
3164
_tmp592_ = _tmp591_;
3165
_tmp593_ = g_strdup_printf ("\"Type `%%s' does not implement abstract method `%s'\"", _tmp592_);
3166
error_string = (_tmp594_ = _tmp593_, _g_free0 (_tmp592_), _tmp594_);
3167
_tmp595_ = vala_ccode_identifier_new ("g_critical");
3168
_tmp596_ = _tmp595_;
3169
_tmp597_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp596_);
3170
cerrorcall = (_tmp598_ = _tmp597_, _vala_ccode_node_unref0 (_tmp596_), _tmp598_);
3171
_tmp599_ = vala_ccode_constant_new (error_string);
3172
_tmp600_ = _tmp599_;
3173
vala_ccode_function_call_add_argument (cerrorcall, (ValaCCodeExpression*) _tmp600_);
3174
_vala_ccode_node_unref0 (_tmp600_);
3175
3222
vala_ccode_function_call_add_argument (cerrorcall, (ValaCCodeExpression*) type_name_call);
3176
_tmp601_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3177
vala_ccode_function_add_expression (_tmp601_, (ValaCCodeExpression*) cerrorcall);
3223
_tmp587_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3224
vala_ccode_function_add_expression (_tmp587_, (ValaCCodeExpression*) cerrorcall);
3178
3225
vala_ccode_base_module_return_default_value ((ValaCCodeBaseModule*) self, creturn_type);
3179
_tmp602_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3180
vala_ccode_file_add_function (((ValaCCodeBaseModule*) self)->cfile, _tmp602_);
3226
_tmp588_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3227
vala_ccode_file_add_function (((ValaCCodeBaseModule*) self)->cfile, _tmp588_);
3181
3228
_vala_ccode_node_unref0 (cerrorcall);
3182
3229
_g_free0 (error_string);
3183
3230
_vala_ccode_node_unref0 (type_name_call);
3186
3233
((ValaCCodeBaseModule*) self)->in_static_or_class_context = FALSE;
3187
3234
vala_ccode_base_module_pop_context ((ValaCCodeBaseModule*) self);
3188
_tmp606_ = vala_method_get_is_abstract (m);
3193
_tmp607_ = vala_method_get_is_virtual (m);
3194
_tmp605_ = _tmp607_;
3198
_tmp608_ = vala_method_get_coroutine (m);
3199
_tmp604_ = !_tmp608_;
3204
ValaSignal* _tmp609_ = NULL;
3205
_tmp609_ = vala_method_get_signal_reference (m);
3206
_tmp603_ = _tmp609_ == NULL;
3211
ValaHashMap* _tmp610_ = NULL;
3212
ValaHashMap* _tmp611_;
3213
ValaHashMap* _tmp612_ = NULL;
3235
_tmp592_ = vala_method_get_is_abstract (m);
3240
_tmp593_ = vala_method_get_is_virtual (m);
3241
_tmp591_ = _tmp593_;
3245
_tmp594_ = vala_method_get_coroutine (m);
3246
_tmp590_ = !_tmp594_;
3251
ValaSignal* _tmp595_ = NULL;
3252
_tmp595_ = vala_method_get_signal_reference (m);
3253
_tmp589_ = _tmp595_ == NULL;
3258
ValaHashMap* _tmp596_ = NULL;
3259
ValaHashMap* _tmp597_ = NULL;
3214
3260
ValaHashMap* carg_map;
3215
_tmp610_ = vala_hash_map_new (G_TYPE_INT, NULL, NULL, VALA_TYPE_CCODE_PARAMETER, (GBoxedCopyFunc) vala_ccode_node_ref, vala_ccode_node_unref, g_direct_hash, g_direct_equal, g_direct_equal);
3216
_tmp611_ = _tmp610_;
3261
_tmp596_ = vala_hash_map_new (G_TYPE_INT, NULL, NULL, VALA_TYPE_CCODE_PARAMETER, (GBoxedCopyFunc) vala_ccode_node_ref, vala_ccode_node_unref, g_direct_hash, g_direct_equal, g_direct_equal);
3217
3262
_vala_map_unref0 (cparam_map);
3218
cparam_map = _tmp611_;
3219
_tmp612_ = vala_hash_map_new (G_TYPE_INT, NULL, NULL, VALA_TYPE_CCODE_EXPRESSION, (GBoxedCopyFunc) vala_ccode_node_ref, vala_ccode_node_unref, g_direct_hash, g_direct_equal, g_direct_equal);
3220
carg_map = _tmp612_;
3263
cparam_map = _tmp596_;
3264
_tmp597_ = vala_hash_map_new (G_TYPE_INT, NULL, NULL, VALA_TYPE_CCODE_EXPRESSION, (GBoxedCopyFunc) vala_ccode_node_ref, vala_ccode_node_unref, g_direct_hash, g_direct_equal, g_direct_equal);
3265
carg_map = _tmp597_;
3221
3266
vala_ccode_method_module_generate_vfunc (self, m, creturn_type, (ValaMap*) cparam_map, (ValaMap*) carg_map, "", 3);
3222
3267
_vala_map_unref0 (carg_map);
3224
_tmp613_ = vala_method_get_entry_point (m);
3226
ValaCCodeFunction* _tmp614_ = NULL;
3269
_tmp598_ = vala_method_get_entry_point (m);
3271
ValaCCodeFunction* _tmp599_ = NULL;
3227
3272
ValaCCodeFunction* cmain;
3228
ValaCCodeLineDirective* _tmp615_ = NULL;
3229
ValaCCodeParameter* _tmp616_ = NULL;
3230
ValaCCodeParameter* _tmp617_;
3231
ValaCCodeParameter* _tmp618_ = NULL;
3232
ValaCCodeParameter* _tmp619_;
3233
ValaCCodeBlock* _tmp620_ = NULL;
3273
ValaCCodeLineDirective* _tmp600_ = NULL;
3274
ValaCCodeParameter* _tmp601_ = NULL;
3275
ValaCCodeParameter* _tmp602_;
3276
ValaCCodeParameter* _tmp603_ = NULL;
3277
ValaCCodeParameter* _tmp604_;
3278
ValaCCodeBlock* _tmp605_ = NULL;
3234
3279
ValaCCodeBlock* main_block;
3235
ValaCodeContext* _tmp621_ = NULL;
3236
ValaProfile _tmp622_;
3237
const gchar* _tmp652_ = NULL;
3238
ValaCCodeIdentifier* _tmp653_ = NULL;
3239
ValaCCodeIdentifier* _tmp654_;
3240
ValaCCodeFunctionCall* _tmp655_ = NULL;
3241
ValaCCodeFunctionCall* _tmp656_;
3280
ValaCodeContext* _tmp606_ = NULL;
3281
ValaProfile _tmp607_;
3282
const gchar* _tmp637_ = NULL;
3283
ValaCCodeIdentifier* _tmp638_ = NULL;
3284
ValaCCodeIdentifier* _tmp639_;
3285
ValaCCodeFunctionCall* _tmp640_ = NULL;
3286
ValaCCodeFunctionCall* _tmp641_;
3242
3287
ValaCCodeFunctionCall* main_call;
3243
ValaList* _tmp657_ = NULL;
3247
ValaDataType* _tmp665_ = NULL;
3248
_tmp614_ = vala_ccode_function_new ("main", "int");
3250
_tmp615_ = vala_ccode_node_get_line ((ValaCCodeNode*) function);
3251
vala_ccode_node_set_line ((ValaCCodeNode*) cmain, _tmp615_);
3252
_tmp616_ = vala_ccode_parameter_new ("argc", "int");
3253
_tmp617_ = _tmp616_;
3254
vala_ccode_function_add_parameter (cmain, _tmp617_);
3255
_vala_ccode_node_unref0 (_tmp617_);
3256
_tmp618_ = vala_ccode_parameter_new ("argv", "char **");
3257
_tmp619_ = _tmp618_;
3258
vala_ccode_function_add_parameter (cmain, _tmp619_);
3259
_vala_ccode_node_unref0 (_tmp619_);
3260
_tmp620_ = vala_ccode_block_new ();
3261
main_block = _tmp620_;
3262
_tmp621_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
3263
_tmp622_ = vala_code_context_get_profile (_tmp621_);
3264
if (_tmp622_ == VALA_PROFILE_GOBJECT) {
3265
ValaCodeContext* _tmp623_ = NULL;
3267
ValaCodeContext* _tmp634_ = NULL;
3269
ValaCCodeIdentifier* _tmp645_ = NULL;
3270
ValaCCodeIdentifier* _tmp646_;
3271
ValaCCodeFunctionCall* _tmp647_ = NULL;
3272
ValaCCodeFunctionCall* _tmp648_;
3273
ValaCCodeExpressionStatement* _tmp649_ = NULL;
3274
ValaCCodeExpressionStatement* _tmp650_;
3288
ValaList* _tmp642_ = NULL;
3292
ValaDataType* _tmp650_ = NULL;
3293
_tmp599_ = vala_ccode_function_new ("main", "int");
3295
_tmp600_ = vala_ccode_node_get_line ((ValaCCodeNode*) function);
3296
vala_ccode_node_set_line ((ValaCCodeNode*) cmain, _tmp600_);
3297
_tmp601_ = vala_ccode_parameter_new ("argc", "int");
3298
_tmp602_ = _tmp601_;
3299
vala_ccode_function_add_parameter (cmain, _tmp602_);
3300
_vala_ccode_node_unref0 (_tmp602_);
3301
_tmp603_ = vala_ccode_parameter_new ("argv", "char **");
3302
_tmp604_ = _tmp603_;
3303
vala_ccode_function_add_parameter (cmain, _tmp604_);
3304
_vala_ccode_node_unref0 (_tmp604_);
3305
_tmp605_ = vala_ccode_block_new ();
3306
main_block = _tmp605_;
3307
_tmp606_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
3308
_tmp607_ = vala_code_context_get_profile (_tmp606_);
3309
if (_tmp607_ == VALA_PROFILE_GOBJECT) {
3310
ValaCodeContext* _tmp608_ = NULL;
3312
ValaCodeContext* _tmp619_ = NULL;
3314
ValaCCodeIdentifier* _tmp630_ = NULL;
3315
ValaCCodeIdentifier* _tmp631_;
3316
ValaCCodeFunctionCall* _tmp632_ = NULL;
3317
ValaCCodeFunctionCall* _tmp633_;
3318
ValaCCodeExpressionStatement* _tmp634_ = NULL;
3319
ValaCCodeExpressionStatement* _tmp635_;
3275
3320
ValaCCodeExpressionStatement* type_init_call;
3276
ValaCCodeLineDirective* _tmp651_ = NULL;
3277
_tmp623_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
3278
_tmp624_ = vala_code_context_get_mem_profiler (_tmp623_);
3280
ValaCCodeIdentifier* _tmp625_ = NULL;
3281
ValaCCodeIdentifier* _tmp626_;
3282
ValaCCodeFunctionCall* _tmp627_ = NULL;
3283
ValaCCodeFunctionCall* _tmp628_;
3321
ValaCCodeLineDirective* _tmp636_ = NULL;
3322
_tmp608_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
3323
_tmp609_ = vala_code_context_get_mem_profiler (_tmp608_);
3325
ValaCCodeIdentifier* _tmp610_ = NULL;
3326
ValaCCodeIdentifier* _tmp611_;
3327
ValaCCodeFunctionCall* _tmp612_ = NULL;
3328
ValaCCodeFunctionCall* _tmp613_;
3284
3329
ValaCCodeFunctionCall* mem_profiler_init_call;
3285
ValaCCodeLineDirective* _tmp629_ = NULL;
3286
ValaCCodeConstant* _tmp630_ = NULL;
3287
ValaCCodeConstant* _tmp631_;
3288
ValaCCodeExpressionStatement* _tmp632_ = NULL;
3289
ValaCCodeExpressionStatement* _tmp633_;
3290
_tmp625_ = vala_ccode_identifier_new ("g_mem_set_vtable");
3291
_tmp626_ = _tmp625_;
3292
_tmp627_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp626_);
3293
mem_profiler_init_call = (_tmp628_ = _tmp627_, _vala_ccode_node_unref0 (_tmp626_), _tmp628_);
3294
_tmp629_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3295
vala_ccode_node_set_line ((ValaCCodeNode*) mem_profiler_init_call, _tmp629_);
3296
_tmp630_ = vala_ccode_constant_new ("glib_mem_profiler_table");
3297
_tmp631_ = _tmp630_;
3298
vala_ccode_function_call_add_argument (mem_profiler_init_call, (ValaCCodeExpression*) _tmp631_);
3299
_vala_ccode_node_unref0 (_tmp631_);
3300
_tmp632_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) mem_profiler_init_call);
3301
_tmp633_ = _tmp632_;
3302
vala_ccode_block_add_statement (main_block, (ValaCCodeNode*) _tmp633_);
3303
_vala_ccode_node_unref0 (_tmp633_);
3330
ValaCCodeLineDirective* _tmp614_ = NULL;
3331
ValaCCodeConstant* _tmp615_ = NULL;
3332
ValaCCodeConstant* _tmp616_;
3333
ValaCCodeExpressionStatement* _tmp617_ = NULL;
3334
ValaCCodeExpressionStatement* _tmp618_;
3335
_tmp610_ = vala_ccode_identifier_new ("g_mem_set_vtable");
3336
_tmp611_ = _tmp610_;
3337
_tmp612_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp611_);
3338
_tmp613_ = _tmp612_;
3339
_vala_ccode_node_unref0 (_tmp611_);
3340
mem_profiler_init_call = _tmp613_;
3341
_tmp614_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3342
vala_ccode_node_set_line ((ValaCCodeNode*) mem_profiler_init_call, _tmp614_);
3343
_tmp615_ = vala_ccode_constant_new ("glib_mem_profiler_table");
3344
_tmp616_ = _tmp615_;
3345
vala_ccode_function_call_add_argument (mem_profiler_init_call, (ValaCCodeExpression*) _tmp616_);
3346
_vala_ccode_node_unref0 (_tmp616_);
3347
_tmp617_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) mem_profiler_init_call);
3348
_tmp618_ = _tmp617_;
3349
vala_ccode_block_add_statement (main_block, (ValaCCodeNode*) _tmp618_);
3350
_vala_ccode_node_unref0 (_tmp618_);
3304
3351
_vala_ccode_node_unref0 (mem_profiler_init_call);
3306
_tmp634_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
3307
_tmp635_ = vala_code_context_get_thread (_tmp634_);
3309
ValaCCodeIdentifier* _tmp636_ = NULL;
3310
ValaCCodeIdentifier* _tmp637_;
3311
ValaCCodeFunctionCall* _tmp638_ = NULL;
3312
ValaCCodeFunctionCall* _tmp639_;
3353
_tmp619_ = vala_ccode_base_module_get_context ((ValaCCodeBaseModule*) self);
3354
_tmp620_ = vala_code_context_get_thread (_tmp619_);
3356
ValaCCodeIdentifier* _tmp621_ = NULL;
3357
ValaCCodeIdentifier* _tmp622_;
3358
ValaCCodeFunctionCall* _tmp623_ = NULL;
3359
ValaCCodeFunctionCall* _tmp624_;
3313
3360
ValaCCodeFunctionCall* thread_init_call;
3314
ValaCCodeLineDirective* _tmp640_ = NULL;
3315
ValaCCodeConstant* _tmp641_ = NULL;
3316
ValaCCodeConstant* _tmp642_;
3317
ValaCCodeExpressionStatement* _tmp643_ = NULL;
3318
ValaCCodeExpressionStatement* _tmp644_;
3319
_tmp636_ = vala_ccode_identifier_new ("g_thread_init");
3320
_tmp637_ = _tmp636_;
3321
_tmp638_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp637_);
3322
thread_init_call = (_tmp639_ = _tmp638_, _vala_ccode_node_unref0 (_tmp637_), _tmp639_);
3323
_tmp640_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3324
vala_ccode_node_set_line ((ValaCCodeNode*) thread_init_call, _tmp640_);
3325
_tmp641_ = vala_ccode_constant_new ("NULL");
3326
_tmp642_ = _tmp641_;
3327
vala_ccode_function_call_add_argument (thread_init_call, (ValaCCodeExpression*) _tmp642_);
3328
_vala_ccode_node_unref0 (_tmp642_);
3329
_tmp643_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) thread_init_call);
3330
_tmp644_ = _tmp643_;
3331
vala_ccode_block_add_statement (main_block, (ValaCCodeNode*) _tmp644_);
3332
_vala_ccode_node_unref0 (_tmp644_);
3361
ValaCCodeLineDirective* _tmp625_ = NULL;
3362
ValaCCodeConstant* _tmp626_ = NULL;
3363
ValaCCodeConstant* _tmp627_;
3364
ValaCCodeExpressionStatement* _tmp628_ = NULL;
3365
ValaCCodeExpressionStatement* _tmp629_;
3366
_tmp621_ = vala_ccode_identifier_new ("g_thread_init");
3367
_tmp622_ = _tmp621_;
3368
_tmp623_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp622_);
3369
_tmp624_ = _tmp623_;
3370
_vala_ccode_node_unref0 (_tmp622_);
3371
thread_init_call = _tmp624_;
3372
_tmp625_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3373
vala_ccode_node_set_line ((ValaCCodeNode*) thread_init_call, _tmp625_);
3374
_tmp626_ = vala_ccode_constant_new ("NULL");
3375
_tmp627_ = _tmp626_;
3376
vala_ccode_function_call_add_argument (thread_init_call, (ValaCCodeExpression*) _tmp627_);
3377
_vala_ccode_node_unref0 (_tmp627_);
3378
_tmp628_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) thread_init_call);
3379
_tmp629_ = _tmp628_;
3380
vala_ccode_block_add_statement (main_block, (ValaCCodeNode*) _tmp629_);
3381
_vala_ccode_node_unref0 (_tmp629_);
3333
3382
_vala_ccode_node_unref0 (thread_init_call);
3335
_tmp645_ = vala_ccode_identifier_new ("g_type_init");
3336
_tmp646_ = _tmp645_;
3337
_tmp647_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp646_);
3338
_tmp648_ = _tmp647_;
3339
_tmp649_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp648_);
3340
type_init_call = (_tmp650_ = _tmp649_, _vala_ccode_node_unref0 (_tmp648_), _vala_ccode_node_unref0 (_tmp646_), _tmp650_);
3341
_tmp651_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3342
vala_ccode_node_set_line ((ValaCCodeNode*) type_init_call, _tmp651_);
3384
_tmp630_ = vala_ccode_identifier_new ("g_type_init");
3385
_tmp631_ = _tmp630_;
3386
_tmp632_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp631_);
3387
_tmp633_ = _tmp632_;
3388
_tmp634_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp633_);
3389
_tmp635_ = _tmp634_;
3390
_vala_ccode_node_unref0 (_tmp633_);
3391
_vala_ccode_node_unref0 (_tmp631_);
3392
type_init_call = _tmp635_;
3393
_tmp636_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3394
vala_ccode_node_set_line ((ValaCCodeNode*) type_init_call, _tmp636_);
3343
3395
vala_ccode_block_add_statement (main_block, (ValaCCodeNode*) type_init_call);
3344
3396
_vala_ccode_node_unref0 (type_init_call);
3346
_tmp652_ = vala_ccode_function_get_name (function);
3347
_tmp653_ = vala_ccode_identifier_new (_tmp652_);
3348
_tmp654_ = _tmp653_;
3349
_tmp655_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp654_);
3350
main_call = (_tmp656_ = _tmp655_, _vala_ccode_node_unref0 (_tmp654_), _tmp656_);
3351
_tmp657_ = vala_method_get_parameters (m);
3352
_tmp658_ = _tmp657_;
3353
_tmp659_ = vala_collection_get_size ((ValaCollection*) _tmp658_);
3354
if ((_tmp660_ = _tmp659_ == 1, _vala_iterable_unref0 (_tmp658_), _tmp660_)) {
3355
ValaCCodeIdentifier* _tmp661_ = NULL;
3356
ValaCCodeIdentifier* _tmp662_;
3357
ValaCCodeIdentifier* _tmp663_ = NULL;
3358
ValaCCodeIdentifier* _tmp664_;
3359
_tmp661_ = vala_ccode_identifier_new ("argv");
3360
_tmp662_ = _tmp661_;
3361
vala_ccode_function_call_add_argument (main_call, (ValaCCodeExpression*) _tmp662_);
3362
_vala_ccode_node_unref0 (_tmp662_);
3363
_tmp663_ = vala_ccode_identifier_new ("argc");
3364
_tmp664_ = _tmp663_;
3365
vala_ccode_function_call_add_argument (main_call, (ValaCCodeExpression*) _tmp664_);
3366
_vala_ccode_node_unref0 (_tmp664_);
3398
_tmp637_ = vala_ccode_function_get_name (function);
3399
_tmp638_ = vala_ccode_identifier_new (_tmp637_);
3400
_tmp639_ = _tmp638_;
3401
_tmp640_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp639_);
3402
_tmp641_ = _tmp640_;
3403
_vala_ccode_node_unref0 (_tmp639_);
3404
main_call = _tmp641_;
3405
_tmp642_ = vala_method_get_parameters (m);
3406
_tmp643_ = _tmp642_;
3407
_tmp644_ = vala_collection_get_size ((ValaCollection*) _tmp643_);
3408
_tmp645_ = _tmp644_ == 1;
3409
_vala_iterable_unref0 (_tmp643_);
3411
ValaCCodeIdentifier* _tmp646_ = NULL;
3412
ValaCCodeIdentifier* _tmp647_;
3413
ValaCCodeIdentifier* _tmp648_ = NULL;
3414
ValaCCodeIdentifier* _tmp649_;
3415
_tmp646_ = vala_ccode_identifier_new ("argv");
3416
_tmp647_ = _tmp646_;
3417
vala_ccode_function_call_add_argument (main_call, (ValaCCodeExpression*) _tmp647_);
3418
_vala_ccode_node_unref0 (_tmp647_);
3419
_tmp648_ = vala_ccode_identifier_new ("argc");
3420
_tmp649_ = _tmp648_;
3421
vala_ccode_function_call_add_argument (main_call, (ValaCCodeExpression*) _tmp649_);
3422
_vala_ccode_node_unref0 (_tmp649_);
3368
_tmp665_ = vala_method_get_return_type (m);
3369
if (VALA_IS_VOID_TYPE (_tmp665_)) {
3370
ValaCCodeExpressionStatement* _tmp666_ = NULL;
3424
_tmp650_ = vala_method_get_return_type (m);
3425
if (VALA_IS_VOID_TYPE (_tmp650_)) {
3426
ValaCCodeExpressionStatement* _tmp651_ = NULL;
3371
3427
ValaCCodeExpressionStatement* main_stmt;
3372
ValaCCodeLineDirective* _tmp667_ = NULL;
3373
ValaCCodeConstant* _tmp668_ = NULL;
3374
ValaCCodeConstant* _tmp669_;
3375
ValaCCodeReturnStatement* _tmp670_ = NULL;
3376
ValaCCodeReturnStatement* _tmp671_;
3428
ValaCCodeLineDirective* _tmp652_ = NULL;
3429
ValaCCodeConstant* _tmp653_ = NULL;
3430
ValaCCodeConstant* _tmp654_;
3431
ValaCCodeReturnStatement* _tmp655_ = NULL;
3432
ValaCCodeReturnStatement* _tmp656_;
3377
3433
ValaCCodeReturnStatement* ret_stmt;
3378
ValaCCodeLineDirective* _tmp672_ = NULL;
3379
_tmp666_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) main_call);
3380
main_stmt = _tmp666_;
3381
_tmp667_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3382
vala_ccode_node_set_line ((ValaCCodeNode*) main_stmt, _tmp667_);
3434
ValaCCodeLineDirective* _tmp657_ = NULL;
3435
_tmp651_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) main_call);
3436
main_stmt = _tmp651_;
3437
_tmp652_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3438
vala_ccode_node_set_line ((ValaCCodeNode*) main_stmt, _tmp652_);
3383
3439
vala_ccode_block_add_statement (main_block, (ValaCCodeNode*) main_stmt);
3384
_tmp668_ = vala_ccode_constant_new ("0");
3385
_tmp669_ = _tmp668_;
3386
_tmp670_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) _tmp669_);
3387
ret_stmt = (_tmp671_ = _tmp670_, _vala_ccode_node_unref0 (_tmp669_), _tmp671_);
3388
_tmp672_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3389
vala_ccode_node_set_line ((ValaCCodeNode*) ret_stmt, _tmp672_);
3440
_tmp653_ = vala_ccode_constant_new ("0");
3441
_tmp654_ = _tmp653_;
3442
_tmp655_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) _tmp654_);
3443
_tmp656_ = _tmp655_;
3444
_vala_ccode_node_unref0 (_tmp654_);
3445
ret_stmt = _tmp656_;
3446
_tmp657_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3447
vala_ccode_node_set_line ((ValaCCodeNode*) ret_stmt, _tmp657_);
3390
3448
vala_ccode_block_add_statement (main_block, (ValaCCodeNode*) ret_stmt);
3391
3449
_vala_ccode_node_unref0 (ret_stmt);
3392
3450
_vala_ccode_node_unref0 (main_stmt);
3394
ValaCCodeReturnStatement* _tmp673_ = NULL;
3452
ValaCCodeReturnStatement* _tmp658_ = NULL;
3395
3453
ValaCCodeReturnStatement* main_stmt;
3396
ValaCCodeLineDirective* _tmp674_ = NULL;
3397
_tmp673_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) main_call);
3398
main_stmt = _tmp673_;
3399
_tmp674_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3400
vala_ccode_node_set_line ((ValaCCodeNode*) main_stmt, _tmp674_);
3454
ValaCCodeLineDirective* _tmp659_ = NULL;
3455
_tmp658_ = vala_ccode_return_statement_new ((ValaCCodeExpression*) main_call);
3456
main_stmt = _tmp658_;
3457
_tmp659_ = vala_ccode_node_get_line ((ValaCCodeNode*) cmain);
3458
vala_ccode_node_set_line ((ValaCCodeNode*) main_stmt, _tmp659_);
3401
3459
vala_ccode_block_add_statement (main_block, (ValaCCodeNode*) main_stmt);
3402
3460
_vala_ccode_node_unref0 (main_stmt);
3707
3756
vala_ccode_base_module_generate_type_declaration ((ValaCCodeBaseModule*) self, this_type, decl_space);
3708
3757
instance_param = NULL;
3709
_tmp37_ = vala_method_get_base_interface_method (m);
3710
if (_tmp37_ != NULL) {
3712
_tmp38_ = vala_method_get_is_abstract (m);
3719
_tmp39_ = vala_method_get_is_virtual (m);
3725
ValaMethod* _tmp40_ = NULL;
3726
ValaSymbol* _tmp41_ = NULL;
3727
ValaObjectType* _tmp42_ = NULL;
3758
_tmp33_ = vala_method_get_base_interface_method (m);
3759
if (_tmp33_ != NULL) {
3761
_tmp34_ = vala_method_get_is_abstract (m);
3768
_tmp35_ = vala_method_get_is_virtual (m);
3774
ValaMethod* _tmp36_ = NULL;
3775
ValaSymbol* _tmp37_ = NULL;
3776
ValaObjectType* _tmp38_ = NULL;
3728
3777
ValaObjectType* base_type;
3729
gchar* _tmp43_ = NULL;
3731
ValaCCodeParameter* _tmp45_ = NULL;
3732
ValaCCodeParameter* _tmp46_;
3733
_tmp40_ = vala_method_get_base_interface_method (m);
3734
_tmp41_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp40_);
3735
_tmp42_ = vala_object_type_new ((ValaObjectTypeSymbol*) VALA_INTERFACE (_tmp41_));
3736
base_type = _tmp42_;
3737
_tmp43_ = vala_data_type_get_cname ((ValaDataType*) base_type);
3739
_tmp45_ = vala_ccode_parameter_new ("base", _tmp44_);
3778
gchar* _tmp39_ = NULL;
3780
ValaCCodeParameter* _tmp41_ = NULL;
3781
_tmp36_ = vala_method_get_base_interface_method (m);
3782
_tmp37_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp36_);
3783
_tmp38_ = vala_object_type_new ((ValaObjectTypeSymbol*) VALA_INTERFACE (_tmp37_));
3784
base_type = _tmp38_;
3785
_tmp39_ = vala_data_type_get_cname ((ValaDataType*) base_type);
3787
_tmp41_ = vala_ccode_parameter_new ("base", _tmp40_);
3741
3788
_vala_ccode_node_unref0 (instance_param);
3742
instance_param = _tmp46_;
3789
instance_param = _tmp41_;
3744
3791
_vala_code_node_unref0 (base_type);
3747
_tmp47_ = vala_method_get_overrides (m);
3749
ValaMethod* _tmp48_ = NULL;
3750
ValaSymbol* _tmp49_ = NULL;
3751
ValaObjectType* _tmp50_ = NULL;
3794
_tmp42_ = vala_method_get_overrides (m);
3796
ValaMethod* _tmp43_ = NULL;
3797
ValaSymbol* _tmp44_ = NULL;
3798
ValaObjectType* _tmp45_ = NULL;
3752
3799
ValaObjectType* base_type;
3753
gchar* _tmp51_ = NULL;
3755
ValaCCodeParameter* _tmp53_ = NULL;
3756
ValaCCodeParameter* _tmp54_;
3757
_tmp48_ = vala_method_get_base_method (m);
3758
_tmp49_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp48_);
3759
_tmp50_ = vala_object_type_new ((ValaObjectTypeSymbol*) VALA_CLASS (_tmp49_));
3760
base_type = _tmp50_;
3761
_tmp51_ = vala_data_type_get_cname ((ValaDataType*) base_type);
3763
_tmp53_ = vala_ccode_parameter_new ("base", _tmp52_);
3800
gchar* _tmp46_ = NULL;
3802
ValaCCodeParameter* _tmp48_ = NULL;
3803
_tmp43_ = vala_method_get_base_method (m);
3804
_tmp44_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp43_);
3805
_tmp45_ = vala_object_type_new ((ValaObjectTypeSymbol*) VALA_CLASS (_tmp44_));
3806
base_type = _tmp45_;
3807
_tmp46_ = vala_data_type_get_cname ((ValaDataType*) base_type);
3809
_tmp48_ = vala_ccode_parameter_new ("base", _tmp47_);
3765
3810
_vala_ccode_node_unref0 (instance_param);
3766
instance_param = _tmp54_;
3811
instance_param = _tmp48_;
3768
3813
_vala_code_node_unref0 (base_type);
3770
gboolean _tmp55_ = FALSE;
3771
ValaSymbol* _tmp56_ = NULL;
3772
_tmp56_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
3773
if (VALA_IS_STRUCT (_tmp56_)) {
3774
ValaSymbol* _tmp57_ = NULL;
3776
_tmp57_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
3777
_tmp58_ = vala_struct_is_simple_type (VALA_STRUCT (_tmp57_));
3815
gboolean _tmp49_ = FALSE;
3816
ValaSymbol* _tmp50_ = NULL;
3817
_tmp50_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
3818
if (VALA_IS_STRUCT (_tmp50_)) {
3819
ValaSymbol* _tmp51_ = NULL;
3821
_tmp51_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
3822
_tmp52_ = vala_struct_is_simple_type (VALA_STRUCT (_tmp51_));
3783
gchar* _tmp59_ = NULL;
3785
ValaCCodeParameter* _tmp61_ = NULL;
3786
ValaCCodeParameter* _tmp62_;
3787
_tmp59_ = vala_data_type_get_cname (this_type);
3789
_tmp61_ = vala_ccode_parameter_new ("*self", _tmp60_);
3828
gchar* _tmp53_ = NULL;
3830
ValaCCodeParameter* _tmp55_ = NULL;
3831
_tmp53_ = vala_data_type_get_cname (this_type);
3833
_tmp55_ = vala_ccode_parameter_new ("*self", _tmp54_);
3791
3834
_vala_ccode_node_unref0 (instance_param);
3792
instance_param = _tmp62_;
3835
instance_param = _tmp55_;
3795
gchar* _tmp63_ = NULL;
3797
ValaCCodeParameter* _tmp65_ = NULL;
3798
ValaCCodeParameter* _tmp66_;
3799
_tmp63_ = vala_data_type_get_cname (this_type);
3801
_tmp65_ = vala_ccode_parameter_new ("self", _tmp64_);
3838
gchar* _tmp56_ = NULL;
3840
ValaCCodeParameter* _tmp58_ = NULL;
3841
_tmp56_ = vala_data_type_get_cname (this_type);
3843
_tmp58_ = vala_ccode_parameter_new ("self", _tmp57_);
3803
3844
_vala_ccode_node_unref0 (instance_param);
3804
instance_param = _tmp66_;
3845
instance_param = _tmp58_;
3809
_tmp67_ = vala_method_get_cinstance_parameter_position (m);
3810
_tmp68_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp67_, FALSE);
3811
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp68_), instance_param);
3850
_tmp59_ = vala_method_get_cinstance_parameter_position (m);
3851
_tmp60_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp59_, FALSE);
3852
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp60_), instance_param);
3812
3853
_vala_ccode_node_unref0 (instance_param);
3813
3854
_vala_code_node_unref0 (this_type);
3814
3855
_vala_code_node_unref0 (parent_type);
3816
ValaMemberBinding _tmp69_;
3817
_tmp69_ = vala_method_get_binding (m);
3818
if (_tmp69_ == VALA_MEMBER_BINDING_CLASS) {
3819
ValaTypeSymbol* _tmp70_ = NULL;
3857
ValaMemberBinding _tmp61_;
3858
_tmp61_ = vala_method_get_binding (m);
3859
if (_tmp61_ == VALA_MEMBER_BINDING_CLASS) {
3860
ValaTypeSymbol* _tmp62_ = NULL;
3820
3861
ValaTypeSymbol* parent_type;
3821
3862
ValaDataType* this_type = NULL;
3822
ValaClassType* _tmp71_ = NULL;
3823
ValaDataType* _tmp72_;
3824
gchar* _tmp73_ = NULL;
3826
ValaCCodeParameter* _tmp75_ = NULL;
3827
ValaCCodeParameter* _tmp76_;
3863
ValaClassType* _tmp63_ = NULL;
3864
gchar* _tmp64_ = NULL;
3866
ValaCCodeParameter* _tmp66_ = NULL;
3867
ValaCCodeParameter* _tmp67_;
3828
3868
ValaCCodeParameter* class_param;
3831
_tmp70_ = vala_ccode_method_module_find_parent_type (self, (ValaSymbol*) m);
3832
parent_type = _tmp70_;
3833
_tmp71_ = vala_class_type_new (VALA_CLASS (parent_type));
3834
_tmp72_ = (ValaDataType*) _tmp71_;
3871
_tmp62_ = vala_ccode_method_module_find_parent_type (self, (ValaSymbol*) m);
3872
parent_type = _tmp62_;
3873
_tmp63_ = vala_class_type_new (VALA_CLASS (parent_type));
3835
3874
_vala_code_node_unref0 (this_type);
3836
this_type = _tmp72_;
3837
_tmp73_ = vala_data_type_get_cname (this_type);
3839
_tmp75_ = vala_ccode_parameter_new ("klass", _tmp74_);
3840
class_param = (_tmp76_ = _tmp75_, _g_free0 (_tmp74_), _tmp76_);
3841
_tmp77_ = vala_method_get_cinstance_parameter_position (m);
3842
_tmp78_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp77_, FALSE);
3843
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp78_), class_param);
3875
this_type = (ValaDataType*) _tmp63_;
3876
_tmp64_ = vala_data_type_get_cname (this_type);
3878
_tmp66_ = vala_ccode_parameter_new ("klass", _tmp65_);
3881
class_param = _tmp67_;
3882
_tmp68_ = vala_method_get_cinstance_parameter_position (m);
3883
_tmp69_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp68_, FALSE);
3884
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp69_), class_param);
3844
3885
_vala_ccode_node_unref0 (class_param);
3845
3886
_vala_code_node_unref0 (this_type);
3846
3887
_vala_code_node_unref0 (parent_type);
3851
_tmp79_ = vala_ccode_method_module_is_gtypeinstance_creation_method (self, m);
3892
_tmp70_ = vala_ccode_method_module_is_gtypeinstance_creation_method (self, m);
3853
3894
gint type_param_index;
3854
ValaSymbol* _tmp80_ = NULL;
3895
ValaSymbol* _tmp71_ = NULL;
3857
3898
type_param_index = 0;
3858
_tmp80_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
3859
_tmp81_ = _vala_code_node_ref0 (VALA_CLASS (_tmp80_));
3899
_tmp71_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
3900
_tmp72_ = _vala_code_node_ref0 (VALA_CLASS (_tmp71_));
3862
ValaList* _tmp82_ = NULL;
3903
ValaList* _tmp73_ = NULL;
3863
3904
ValaList* _type_param_list;
3865
3906
gint _type_param_size;
3866
3907
gint _type_param_index;
3867
_tmp82_ = vala_object_type_symbol_get_type_parameters ((ValaObjectTypeSymbol*) cl);
3868
_type_param_list = _tmp82_;
3869
_tmp83_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
3870
_type_param_size = _tmp83_;
3908
_tmp73_ = vala_object_type_symbol_get_type_parameters ((ValaObjectTypeSymbol*) cl);
3909
_type_param_list = _tmp73_;
3910
_tmp74_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
3911
_type_param_size = _tmp74_;
3871
3912
_type_param_index = -1;
3873
gpointer _tmp84_ = NULL;
3914
gpointer _tmp75_ = NULL;
3874
3915
ValaTypeParameter* type_param;
3876
const gchar* _tmp86_ = NULL;
3877
gchar* _tmp87_ = NULL;
3879
gchar* _tmp89_ = NULL;
3881
ValaCCodeParameter* _tmp91_ = NULL;
3882
ValaCCodeParameter* _tmp92_;
3884
const gchar* _tmp94_ = NULL;
3885
gchar* _tmp95_ = NULL;
3887
gchar* _tmp97_ = NULL;
3889
ValaCCodeParameter* _tmp99_ = NULL;
3890
ValaCCodeParameter* _tmp100_;
3892
const gchar* _tmp102_ = NULL;
3893
gchar* _tmp103_ = NULL;
3895
gchar* _tmp105_ = NULL;
3897
ValaCCodeParameter* _tmp107_ = NULL;
3898
ValaCCodeParameter* _tmp108_;
3917
const gchar* _tmp77_ = NULL;
3918
gchar* _tmp78_ = NULL;
3920
gchar* _tmp80_ = NULL;
3922
ValaCCodeParameter* _tmp82_ = NULL;
3923
ValaCCodeParameter* _tmp83_;
3925
const gchar* _tmp85_ = NULL;
3926
gchar* _tmp86_ = NULL;
3928
gchar* _tmp88_ = NULL;
3930
ValaCCodeParameter* _tmp90_ = NULL;
3931
ValaCCodeParameter* _tmp91_;
3933
const gchar* _tmp93_ = NULL;
3934
gchar* _tmp94_ = NULL;
3936
gchar* _tmp96_ = NULL;
3938
ValaCCodeParameter* _tmp98_ = NULL;
3939
ValaCCodeParameter* _tmp99_;
3899
3940
_type_param_index = _type_param_index + 1;
3900
3941
if (!(_type_param_index < _type_param_size)) {
3903
_tmp84_ = vala_list_get (_type_param_list, _type_param_index);
3904
type_param = (ValaTypeParameter*) _tmp84_;
3905
_tmp85_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.01, FALSE);
3906
_tmp86_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3907
_tmp87_ = g_utf8_strdown (_tmp86_, (gssize) (-1));
3909
_tmp89_ = g_strdup_printf ("%s_type", _tmp88_);
3911
_tmp91_ = vala_ccode_parameter_new (_tmp90_, "GType");
3913
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp85_), _tmp92_);
3914
_vala_ccode_node_unref0 (_tmp92_);
3917
_tmp93_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.02, FALSE);
3918
_tmp94_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3919
_tmp95_ = g_utf8_strdown (_tmp94_, (gssize) (-1));
3921
_tmp97_ = g_strdup_printf ("%s_dup_func", _tmp96_);
3923
_tmp99_ = vala_ccode_parameter_new (_tmp98_, "GBoxedCopyFunc");
3925
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp93_), _tmp100_);
3926
_vala_ccode_node_unref0 (_tmp100_);
3929
_tmp101_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.03, FALSE);
3930
_tmp102_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3931
_tmp103_ = g_utf8_strdown (_tmp102_, (gssize) (-1));
3932
_tmp104_ = _tmp103_;
3933
_tmp105_ = g_strdup_printf ("%s_destroy_func", _tmp104_);
3934
_tmp106_ = _tmp105_;
3935
_tmp107_ = vala_ccode_parameter_new (_tmp106_, "GDestroyNotify");
3936
_tmp108_ = _tmp107_;
3937
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp101_), _tmp108_);
3938
_vala_ccode_node_unref0 (_tmp108_);
3939
_g_free0 (_tmp106_);
3940
_g_free0 (_tmp104_);
3944
_tmp75_ = vala_list_get (_type_param_list, _type_param_index);
3945
type_param = (ValaTypeParameter*) _tmp75_;
3946
_tmp76_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.01, FALSE);
3947
_tmp77_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3948
_tmp78_ = g_utf8_strdown (_tmp77_, (gssize) (-1));
3950
_tmp80_ = g_strdup_printf ("%s_type", _tmp79_);
3952
_tmp82_ = vala_ccode_parameter_new (_tmp81_, "GType");
3954
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp76_), _tmp83_);
3955
_vala_ccode_node_unref0 (_tmp83_);
3958
_tmp84_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.02, FALSE);
3959
_tmp85_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3960
_tmp86_ = g_utf8_strdown (_tmp85_, (gssize) (-1));
3962
_tmp88_ = g_strdup_printf ("%s_dup_func", _tmp87_);
3964
_tmp90_ = vala_ccode_parameter_new (_tmp89_, "GBoxedCopyFunc");
3966
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp84_), _tmp91_);
3967
_vala_ccode_node_unref0 (_tmp91_);
3970
_tmp92_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.03, FALSE);
3971
_tmp93_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3972
_tmp94_ = g_utf8_strdown (_tmp93_, (gssize) (-1));
3974
_tmp96_ = g_strdup_printf ("%s_destroy_func", _tmp95_);
3976
_tmp98_ = vala_ccode_parameter_new (_tmp97_, "GDestroyNotify");
3978
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp92_), _tmp99_);
3979
_vala_ccode_node_unref0 (_tmp99_);
3941
3982
if (carg_map != NULL) {
3943
const gchar* _tmp110_ = NULL;
3944
gchar* _tmp111_ = NULL;
3946
gchar* _tmp113_ = NULL;
3948
ValaCCodeIdentifier* _tmp115_ = NULL;
3949
ValaCCodeIdentifier* _tmp116_;
3951
const gchar* _tmp118_ = NULL;
3952
gchar* _tmp119_ = NULL;
3954
gchar* _tmp121_ = NULL;
3956
ValaCCodeIdentifier* _tmp123_ = NULL;
3957
ValaCCodeIdentifier* _tmp124_;
3959
const gchar* _tmp126_ = NULL;
3960
gchar* _tmp127_ = NULL;
3962
gchar* _tmp129_ = NULL;
3964
ValaCCodeIdentifier* _tmp131_ = NULL;
3965
ValaCCodeIdentifier* _tmp132_;
3966
_tmp109_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.01, FALSE);
3967
_tmp110_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3968
_tmp111_ = g_utf8_strdown (_tmp110_, (gssize) (-1));
3969
_tmp112_ = _tmp111_;
3970
_tmp113_ = g_strdup_printf ("%s_type", _tmp112_);
3971
_tmp114_ = _tmp113_;
3972
_tmp115_ = vala_ccode_identifier_new (_tmp114_);
3973
_tmp116_ = _tmp115_;
3974
vala_map_set (carg_map, GINT_TO_POINTER (_tmp109_), (ValaCCodeExpression*) _tmp116_);
3975
_vala_ccode_node_unref0 (_tmp116_);
3976
_g_free0 (_tmp114_);
3977
_g_free0 (_tmp112_);
3978
_tmp117_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.02, FALSE);
3979
_tmp118_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3980
_tmp119_ = g_utf8_strdown (_tmp118_, (gssize) (-1));
3981
_tmp120_ = _tmp119_;
3982
_tmp121_ = g_strdup_printf ("%s_dup_func", _tmp120_);
3983
_tmp122_ = _tmp121_;
3984
_tmp123_ = vala_ccode_identifier_new (_tmp122_);
3985
_tmp124_ = _tmp123_;
3986
vala_map_set (carg_map, GINT_TO_POINTER (_tmp117_), (ValaCCodeExpression*) _tmp124_);
3987
_vala_ccode_node_unref0 (_tmp124_);
3988
_g_free0 (_tmp122_);
3989
_g_free0 (_tmp120_);
3990
_tmp125_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.03, FALSE);
3991
_tmp126_ = vala_symbol_get_name ((ValaSymbol*) type_param);
3992
_tmp127_ = g_utf8_strdown (_tmp126_, (gssize) (-1));
3993
_tmp128_ = _tmp127_;
3994
_tmp129_ = g_strdup_printf ("%s_destroy_func", _tmp128_);
3995
_tmp130_ = _tmp129_;
3996
_tmp131_ = vala_ccode_identifier_new (_tmp130_);
3997
_tmp132_ = _tmp131_;
3998
vala_map_set (carg_map, GINT_TO_POINTER (_tmp125_), (ValaCCodeExpression*) _tmp132_);
3999
_vala_ccode_node_unref0 (_tmp132_);
4000
_g_free0 (_tmp130_);
4001
_g_free0 (_tmp128_);
3984
const gchar* _tmp101_ = NULL;
3985
gchar* _tmp102_ = NULL;
3987
gchar* _tmp104_ = NULL;
3989
ValaCCodeIdentifier* _tmp106_ = NULL;
3990
ValaCCodeIdentifier* _tmp107_;
3992
const gchar* _tmp109_ = NULL;
3993
gchar* _tmp110_ = NULL;
3995
gchar* _tmp112_ = NULL;
3997
ValaCCodeIdentifier* _tmp114_ = NULL;
3998
ValaCCodeIdentifier* _tmp115_;
4000
const gchar* _tmp117_ = NULL;
4001
gchar* _tmp118_ = NULL;
4003
gchar* _tmp120_ = NULL;
4005
ValaCCodeIdentifier* _tmp122_ = NULL;
4006
ValaCCodeIdentifier* _tmp123_;
4007
_tmp100_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.01, FALSE);
4008
_tmp101_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4009
_tmp102_ = g_utf8_strdown (_tmp101_, (gssize) (-1));
4010
_tmp103_ = _tmp102_;
4011
_tmp104_ = g_strdup_printf ("%s_type", _tmp103_);
4012
_tmp105_ = _tmp104_;
4013
_tmp106_ = vala_ccode_identifier_new (_tmp105_);
4014
_tmp107_ = _tmp106_;
4015
vala_map_set (carg_map, GINT_TO_POINTER (_tmp100_), (ValaCCodeExpression*) _tmp107_);
4016
_vala_ccode_node_unref0 (_tmp107_);
4017
_g_free0 (_tmp105_);
4018
_g_free0 (_tmp103_);
4019
_tmp108_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.02, FALSE);
4020
_tmp109_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4021
_tmp110_ = g_utf8_strdown (_tmp109_, (gssize) (-1));
4022
_tmp111_ = _tmp110_;
4023
_tmp112_ = g_strdup_printf ("%s_dup_func", _tmp111_);
4024
_tmp113_ = _tmp112_;
4025
_tmp114_ = vala_ccode_identifier_new (_tmp113_);
4026
_tmp115_ = _tmp114_;
4027
vala_map_set (carg_map, GINT_TO_POINTER (_tmp108_), (ValaCCodeExpression*) _tmp115_);
4028
_vala_ccode_node_unref0 (_tmp115_);
4029
_g_free0 (_tmp113_);
4030
_g_free0 (_tmp111_);
4031
_tmp116_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.03, FALSE);
4032
_tmp117_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4033
_tmp118_ = g_utf8_strdown (_tmp117_, (gssize) (-1));
4034
_tmp119_ = _tmp118_;
4035
_tmp120_ = g_strdup_printf ("%s_destroy_func", _tmp119_);
4036
_tmp121_ = _tmp120_;
4037
_tmp122_ = vala_ccode_identifier_new (_tmp121_);
4038
_tmp123_ = _tmp122_;
4039
vala_map_set (carg_map, GINT_TO_POINTER (_tmp116_), (ValaCCodeExpression*) _tmp123_);
4040
_vala_ccode_node_unref0 (_tmp123_);
4041
_g_free0 (_tmp121_);
4042
_g_free0 (_tmp119_);
4003
4044
type_param_index++;
4004
4045
_vala_code_node_unref0 (type_param);
4008
4049
_vala_code_node_unref0 (cl);
4011
_tmp133_ = vala_method_get_closure (m);
4052
_tmp124_ = vala_method_get_closure (m);
4013
4054
gint type_param_index;
4014
4055
type_param_index = 0;
4016
ValaList* _tmp134_ = NULL;
4057
ValaList* _tmp125_ = NULL;
4017
4058
ValaList* _type_param_list;
4019
4060
gint _type_param_size;
4020
4061
gint _type_param_index;
4021
_tmp134_ = vala_method_get_type_parameters (m);
4022
_type_param_list = _tmp134_;
4023
_tmp135_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
4024
_type_param_size = _tmp135_;
4062
_tmp125_ = vala_method_get_type_parameters (m);
4063
_type_param_list = _tmp125_;
4064
_tmp126_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
4065
_type_param_size = _tmp126_;
4025
4066
_type_param_index = -1;
4027
gpointer _tmp136_ = NULL;
4068
gpointer _tmp127_ = NULL;
4028
4069
ValaTypeParameter* type_param;
4030
const gchar* _tmp138_ = NULL;
4031
gchar* _tmp139_ = NULL;
4033
gchar* _tmp141_ = NULL;
4035
ValaCCodeParameter* _tmp143_ = NULL;
4036
ValaCCodeParameter* _tmp144_;
4038
const gchar* _tmp146_ = NULL;
4039
gchar* _tmp147_ = NULL;
4041
gchar* _tmp149_ = NULL;
4043
ValaCCodeParameter* _tmp151_ = NULL;
4044
ValaCCodeParameter* _tmp152_;
4046
const gchar* _tmp154_ = NULL;
4047
gchar* _tmp155_ = NULL;
4049
gchar* _tmp157_ = NULL;
4051
ValaCCodeParameter* _tmp159_ = NULL;
4052
ValaCCodeParameter* _tmp160_;
4071
const gchar* _tmp129_ = NULL;
4072
gchar* _tmp130_ = NULL;
4074
gchar* _tmp132_ = NULL;
4076
ValaCCodeParameter* _tmp134_ = NULL;
4077
ValaCCodeParameter* _tmp135_;
4079
const gchar* _tmp137_ = NULL;
4080
gchar* _tmp138_ = NULL;
4082
gchar* _tmp140_ = NULL;
4084
ValaCCodeParameter* _tmp142_ = NULL;
4085
ValaCCodeParameter* _tmp143_;
4087
const gchar* _tmp145_ = NULL;
4088
gchar* _tmp146_ = NULL;
4090
gchar* _tmp148_ = NULL;
4092
ValaCCodeParameter* _tmp150_ = NULL;
4093
ValaCCodeParameter* _tmp151_;
4053
4094
_type_param_index = _type_param_index + 1;
4054
4095
if (!(_type_param_index < _type_param_size)) {
4057
_tmp136_ = vala_list_get (_type_param_list, _type_param_index);
4058
type_param = (ValaTypeParameter*) _tmp136_;
4059
_tmp137_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.01, FALSE);
4060
_tmp138_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4061
_tmp139_ = g_utf8_strdown (_tmp138_, (gssize) (-1));
4062
_tmp140_ = _tmp139_;
4063
_tmp141_ = g_strdup_printf ("%s_type", _tmp140_);
4064
_tmp142_ = _tmp141_;
4065
_tmp143_ = vala_ccode_parameter_new (_tmp142_, "GType");
4066
_tmp144_ = _tmp143_;
4067
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp137_), _tmp144_);
4068
_vala_ccode_node_unref0 (_tmp144_);
4069
_g_free0 (_tmp142_);
4070
_g_free0 (_tmp140_);
4071
_tmp145_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.02, FALSE);
4072
_tmp146_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4073
_tmp147_ = g_utf8_strdown (_tmp146_, (gssize) (-1));
4074
_tmp148_ = _tmp147_;
4075
_tmp149_ = g_strdup_printf ("%s_dup_func", _tmp148_);
4076
_tmp150_ = _tmp149_;
4077
_tmp151_ = vala_ccode_parameter_new (_tmp150_, "GBoxedCopyFunc");
4078
_tmp152_ = _tmp151_;
4079
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp145_), _tmp152_);
4080
_vala_ccode_node_unref0 (_tmp152_);
4081
_g_free0 (_tmp150_);
4082
_g_free0 (_tmp148_);
4083
_tmp153_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.03, FALSE);
4084
_tmp154_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4085
_tmp155_ = g_utf8_strdown (_tmp154_, (gssize) (-1));
4086
_tmp156_ = _tmp155_;
4087
_tmp157_ = g_strdup_printf ("%s_destroy_func", _tmp156_);
4088
_tmp158_ = _tmp157_;
4089
_tmp159_ = vala_ccode_parameter_new (_tmp158_, "GDestroyNotify");
4090
_tmp160_ = _tmp159_;
4091
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp153_), _tmp160_);
4092
_vala_ccode_node_unref0 (_tmp160_);
4093
_g_free0 (_tmp158_);
4094
_g_free0 (_tmp156_);
4098
_tmp127_ = vala_list_get (_type_param_list, _type_param_index);
4099
type_param = (ValaTypeParameter*) _tmp127_;
4100
_tmp128_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.01, FALSE);
4101
_tmp129_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4102
_tmp130_ = g_utf8_strdown (_tmp129_, (gssize) (-1));
4103
_tmp131_ = _tmp130_;
4104
_tmp132_ = g_strdup_printf ("%s_type", _tmp131_);
4105
_tmp133_ = _tmp132_;
4106
_tmp134_ = vala_ccode_parameter_new (_tmp133_, "GType");
4107
_tmp135_ = _tmp134_;
4108
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp128_), _tmp135_);
4109
_vala_ccode_node_unref0 (_tmp135_);
4110
_g_free0 (_tmp133_);
4111
_g_free0 (_tmp131_);
4112
_tmp136_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.02, FALSE);
4113
_tmp137_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4114
_tmp138_ = g_utf8_strdown (_tmp137_, (gssize) (-1));
4115
_tmp139_ = _tmp138_;
4116
_tmp140_ = g_strdup_printf ("%s_dup_func", _tmp139_);
4117
_tmp141_ = _tmp140_;
4118
_tmp142_ = vala_ccode_parameter_new (_tmp141_, "GBoxedCopyFunc");
4119
_tmp143_ = _tmp142_;
4120
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp136_), _tmp143_);
4121
_vala_ccode_node_unref0 (_tmp143_);
4122
_g_free0 (_tmp141_);
4123
_g_free0 (_tmp139_);
4124
_tmp144_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.03, FALSE);
4125
_tmp145_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4126
_tmp146_ = g_utf8_strdown (_tmp145_, (gssize) (-1));
4127
_tmp147_ = _tmp146_;
4128
_tmp148_ = g_strdup_printf ("%s_destroy_func", _tmp147_);
4129
_tmp149_ = _tmp148_;
4130
_tmp150_ = vala_ccode_parameter_new (_tmp149_, "GDestroyNotify");
4131
_tmp151_ = _tmp150_;
4132
vala_map_set (cparam_map, GINT_TO_POINTER (_tmp144_), _tmp151_);
4133
_vala_ccode_node_unref0 (_tmp151_);
4134
_g_free0 (_tmp149_);
4135
_g_free0 (_tmp147_);
4095
4136
if (carg_map != NULL) {
4097
const gchar* _tmp162_ = NULL;
4098
gchar* _tmp163_ = NULL;
4100
gchar* _tmp165_ = NULL;
4102
ValaCCodeIdentifier* _tmp167_ = NULL;
4103
ValaCCodeIdentifier* _tmp168_;
4105
const gchar* _tmp170_ = NULL;
4106
gchar* _tmp171_ = NULL;
4108
gchar* _tmp173_ = NULL;
4110
ValaCCodeIdentifier* _tmp175_ = NULL;
4111
ValaCCodeIdentifier* _tmp176_;
4113
const gchar* _tmp178_ = NULL;
4114
gchar* _tmp179_ = NULL;
4116
gchar* _tmp181_ = NULL;
4118
ValaCCodeIdentifier* _tmp183_ = NULL;
4119
ValaCCodeIdentifier* _tmp184_;
4120
_tmp161_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.01, FALSE);
4121
_tmp162_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4122
_tmp163_ = g_utf8_strdown (_tmp162_, (gssize) (-1));
4123
_tmp164_ = _tmp163_;
4124
_tmp165_ = g_strdup_printf ("%s_type", _tmp164_);
4125
_tmp166_ = _tmp165_;
4126
_tmp167_ = vala_ccode_identifier_new (_tmp166_);
4127
_tmp168_ = _tmp167_;
4128
vala_map_set (carg_map, GINT_TO_POINTER (_tmp161_), (ValaCCodeExpression*) _tmp168_);
4129
_vala_ccode_node_unref0 (_tmp168_);
4130
_g_free0 (_tmp166_);
4131
_g_free0 (_tmp164_);
4132
_tmp169_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.02, FALSE);
4133
_tmp170_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4134
_tmp171_ = g_utf8_strdown (_tmp170_, (gssize) (-1));
4135
_tmp172_ = _tmp171_;
4136
_tmp173_ = g_strdup_printf ("%s_dup_func", _tmp172_);
4137
_tmp174_ = _tmp173_;
4138
_tmp175_ = vala_ccode_identifier_new (_tmp174_);
4139
_tmp176_ = _tmp175_;
4140
vala_map_set (carg_map, GINT_TO_POINTER (_tmp169_), (ValaCCodeExpression*) _tmp176_);
4141
_vala_ccode_node_unref0 (_tmp176_);
4142
_g_free0 (_tmp174_);
4143
_g_free0 (_tmp172_);
4144
_tmp177_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.03, FALSE);
4145
_tmp178_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4146
_tmp179_ = g_utf8_strdown (_tmp178_, (gssize) (-1));
4147
_tmp180_ = _tmp179_;
4148
_tmp181_ = g_strdup_printf ("%s_destroy_func", _tmp180_);
4149
_tmp182_ = _tmp181_;
4150
_tmp183_ = vala_ccode_identifier_new (_tmp182_);
4151
_tmp184_ = _tmp183_;
4152
vala_map_set (carg_map, GINT_TO_POINTER (_tmp177_), (ValaCCodeExpression*) _tmp184_);
4153
_vala_ccode_node_unref0 (_tmp184_);
4154
_g_free0 (_tmp182_);
4155
_g_free0 (_tmp180_);
4138
const gchar* _tmp153_ = NULL;
4139
gchar* _tmp154_ = NULL;
4141
gchar* _tmp156_ = NULL;
4143
ValaCCodeIdentifier* _tmp158_ = NULL;
4144
ValaCCodeIdentifier* _tmp159_;
4146
const gchar* _tmp161_ = NULL;
4147
gchar* _tmp162_ = NULL;
4149
gchar* _tmp164_ = NULL;
4151
ValaCCodeIdentifier* _tmp166_ = NULL;
4152
ValaCCodeIdentifier* _tmp167_;
4154
const gchar* _tmp169_ = NULL;
4155
gchar* _tmp170_ = NULL;
4157
gchar* _tmp172_ = NULL;
4159
ValaCCodeIdentifier* _tmp174_ = NULL;
4160
ValaCCodeIdentifier* _tmp175_;
4161
_tmp152_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.01, FALSE);
4162
_tmp153_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4163
_tmp154_ = g_utf8_strdown (_tmp153_, (gssize) (-1));
4164
_tmp155_ = _tmp154_;
4165
_tmp156_ = g_strdup_printf ("%s_type", _tmp155_);
4166
_tmp157_ = _tmp156_;
4167
_tmp158_ = vala_ccode_identifier_new (_tmp157_);
4168
_tmp159_ = _tmp158_;
4169
vala_map_set (carg_map, GINT_TO_POINTER (_tmp152_), (ValaCCodeExpression*) _tmp159_);
4170
_vala_ccode_node_unref0 (_tmp159_);
4171
_g_free0 (_tmp157_);
4172
_g_free0 (_tmp155_);
4173
_tmp160_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.02, FALSE);
4174
_tmp161_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4175
_tmp162_ = g_utf8_strdown (_tmp161_, (gssize) (-1));
4176
_tmp163_ = _tmp162_;
4177
_tmp164_ = g_strdup_printf ("%s_dup_func", _tmp163_);
4178
_tmp165_ = _tmp164_;
4179
_tmp166_ = vala_ccode_identifier_new (_tmp165_);
4180
_tmp167_ = _tmp166_;
4181
vala_map_set (carg_map, GINT_TO_POINTER (_tmp160_), (ValaCCodeExpression*) _tmp167_);
4182
_vala_ccode_node_unref0 (_tmp167_);
4183
_g_free0 (_tmp165_);
4184
_g_free0 (_tmp163_);
4185
_tmp168_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, (0.1 * type_param_index) + 0.03, FALSE);
4186
_tmp169_ = vala_symbol_get_name ((ValaSymbol*) type_param);
4187
_tmp170_ = g_utf8_strdown (_tmp169_, (gssize) (-1));
4188
_tmp171_ = _tmp170_;
4189
_tmp172_ = g_strdup_printf ("%s_destroy_func", _tmp171_);
4190
_tmp173_ = _tmp172_;
4191
_tmp174_ = vala_ccode_identifier_new (_tmp173_);
4192
_tmp175_ = _tmp174_;
4193
vala_map_set (carg_map, GINT_TO_POINTER (_tmp168_), (ValaCCodeExpression*) _tmp175_);
4194
_vala_ccode_node_unref0 (_tmp175_);
4195
_g_free0 (_tmp173_);
4196
_g_free0 (_tmp171_);
4157
4198
type_param_index++;
4158
4199
_vala_code_node_unref0 (type_param);
4406
4466
_tmp19_ = vala_ccode_identifier_new (_tmp18_);
4407
4467
_tmp20_ = _tmp19_;
4408
4468
_tmp21_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp20_);
4410
4469
_vala_ccode_node_unref0 (vcast);
4412
4471
_vala_ccode_node_unref0 (_tmp20_);
4413
4472
_g_free0 (_tmp18_);
4414
4473
_g_free0 (_tmp16_);
4415
4474
_vala_code_node_unref0 (iface);
4417
ValaSymbol* _tmp23_ = NULL;
4476
ValaSymbol* _tmp22_ = NULL;
4420
gchar* _tmp25_ = NULL;
4422
gchar* _tmp27_ = NULL;
4424
ValaCCodeIdentifier* _tmp29_ = NULL;
4425
ValaCCodeIdentifier* _tmp30_;
4426
ValaCCodeFunctionCall* _tmp31_ = NULL;
4427
ValaCCodeFunctionCall* _tmp32_;
4428
_tmp23_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
4429
_tmp24_ = _vala_code_node_ref0 (VALA_CLASS (_tmp23_));
4431
_tmp25_ = vala_typesymbol_get_upper_case_cname ((ValaTypeSymbol*) cl, NULL);
4433
_tmp27_ = g_strdup_printf ("%s_GET_CLASS", _tmp26_);
4435
_tmp29_ = vala_ccode_identifier_new (_tmp28_);
4437
_tmp31_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp30_);
4479
gchar* _tmp24_ = NULL;
4481
gchar* _tmp26_ = NULL;
4483
ValaCCodeIdentifier* _tmp28_ = NULL;
4484
ValaCCodeIdentifier* _tmp29_;
4485
ValaCCodeFunctionCall* _tmp30_ = NULL;
4486
_tmp22_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
4487
_tmp23_ = _vala_code_node_ref0 (VALA_CLASS (_tmp22_));
4489
_tmp24_ = vala_typesymbol_get_upper_case_cname ((ValaTypeSymbol*) cl, NULL);
4491
_tmp26_ = g_strdup_printf ("%s_GET_CLASS", _tmp25_);
4493
_tmp28_ = vala_ccode_identifier_new (_tmp27_);
4495
_tmp30_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp29_);
4439
4496
_vala_ccode_node_unref0 (vcast);
4441
_vala_ccode_node_unref0 (_tmp30_);
4498
_vala_ccode_node_unref0 (_tmp29_);
4444
4501
_vala_code_node_unref0 (cl);
4446
_tmp33_ = vala_ccode_identifier_new ("self");
4448
vala_ccode_function_call_add_argument (vcast, (ValaCCodeExpression*) _tmp34_);
4449
_vala_ccode_node_unref0 (_tmp34_);
4450
_tmp35_ = vala_method_get_vfunc_name (m);
4451
_tmp36_ = g_strdup (_tmp35_);
4503
_tmp31_ = vala_ccode_identifier_new ("self");
4505
vala_ccode_function_call_add_argument (vcast, (ValaCCodeExpression*) _tmp32_);
4506
_vala_ccode_node_unref0 (_tmp32_);
4507
_tmp33_ = vala_method_get_vfunc_name (m);
4508
_tmp34_ = g_strdup (_tmp33_);
4453
4509
_g_free0 (cname);
4455
4511
if (g_strcmp0 (suffix, "_finish") == 0) {
4457
_tmp39_ = g_str_has_suffix (cname, "_async");
4513
_tmp36_ = g_str_has_suffix (cname, "_async");
4465
gchar* _tmp42_ = NULL;
4467
_tmp40_ = strlen (cname);
4468
_tmp41_ = strlen ("_async");
4469
_tmp42_ = string_substring (cname, (glong) 0, (glong) (_tmp40_ - _tmp41_));
4521
gchar* _tmp39_ = NULL;
4522
_tmp37_ = strlen (cname);
4523
_tmp38_ = strlen ("_async");
4524
_tmp39_ = string_substring (cname, (glong) 0, (glong) (_tmp37_ - _tmp38_));
4471
4525
_g_free0 (cname);
4474
_tmp44_ = g_strconcat (cname, suffix, NULL);
4475
_tmp45_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) vcast, _tmp44_);
4477
_tmp47_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp46_);
4478
vcall = (_tmp48_ = _tmp47_, _vala_ccode_node_unref0 (_tmp46_), _g_free0 (_tmp44_), _tmp48_);
4479
_tmp49_ = vala_method_get_cinstance_parameter_position (m);
4480
_tmp50_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp49_, FALSE);
4481
_tmp51_ = vala_ccode_identifier_new ("self");
4483
vala_map_set (carg_map, GINT_TO_POINTER (_tmp50_), (ValaCCodeExpression*) _tmp52_);
4484
_vala_ccode_node_unref0 (_tmp52_);
4528
_tmp40_ = g_strconcat (cname, suffix, NULL);
4530
_tmp42_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) vcast, _tmp41_);
4532
_tmp44_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp43_);
4534
_vala_ccode_node_unref0 (_tmp43_);
4537
_tmp46_ = vala_method_get_cinstance_parameter_position (m);
4538
_tmp47_ = vala_ccode_base_module_get_param_pos ((ValaCCodeBaseModule*) self, _tmp46_, FALSE);
4539
_tmp48_ = vala_ccode_identifier_new ("self");
4541
vala_map_set (carg_map, GINT_TO_POINTER (_tmp47_), (ValaCCodeExpression*) _tmp49_);
4542
_vala_ccode_node_unref0 (_tmp49_);
4485
4543
vala_ccode_base_module_generate_cparameters ((ValaCCodeBaseModule*) self, m, ((ValaCCodeBaseModule*) self)->cfile, cparam_map, vfunc, NULL, carg_map, vcall, direction);
4486
4544
vala_ccode_base_module_push_function ((ValaCCodeBaseModule*) self, vfunc);
4488
ValaList* _tmp53_ = NULL;
4546
ValaList* _tmp50_ = NULL;
4489
4547
ValaList* _precondition_list;
4491
4549
gint _precondition_size;
4492
4550
gint _precondition_index;
4493
_tmp53_ = vala_method_get_preconditions (m);
4494
_precondition_list = _tmp53_;
4495
_tmp54_ = vala_collection_get_size ((ValaCollection*) _precondition_list);
4496
_precondition_size = _tmp54_;
4551
_tmp50_ = vala_method_get_preconditions (m);
4552
_precondition_list = _tmp50_;
4553
_tmp51_ = vala_collection_get_size ((ValaCollection*) _precondition_list);
4554
_precondition_size = _tmp51_;
4497
4555
_precondition_index = -1;
4499
gpointer _tmp55_ = NULL;
4557
gpointer _tmp52_ = NULL;
4500
4558
ValaExpression* precondition;
4501
4559
_precondition_index = _precondition_index + 1;
4502
4560
if (!(_precondition_index < _precondition_size)) {
4505
_tmp55_ = vala_list_get (_precondition_list, _precondition_index);
4506
precondition = (ValaExpression*) _tmp55_;
4563
_tmp52_ = vala_list_get (_precondition_list, _precondition_index);
4564
precondition = (ValaExpression*) _tmp52_;
4507
4565
vala_ccode_method_module_create_precondition_statement (self, (ValaCodeNode*) m, return_type, precondition);
4508
4566
_vala_code_node_unref0 (precondition);
4510
4568
_vala_iterable_unref0 (_precondition_list);
4512
4570
if (VALA_IS_VOID_TYPE (return_type)) {
4516
_tmp57_ = vala_data_type_is_real_non_null_struct_type (return_type);
4574
_tmp54_ = vala_data_type_is_real_non_null_struct_type (return_type);
4520
ValaCCodeFunction* _tmp58_ = NULL;
4521
_tmp58_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4522
vala_ccode_function_add_expression (_tmp58_, (ValaCCodeExpression*) vcall);
4578
ValaCCodeFunction* _tmp55_ = NULL;
4579
_tmp55_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4580
vala_ccode_function_add_expression (_tmp55_, (ValaCCodeExpression*) vcall);
4524
ValaList* _tmp59_ = NULL;
4528
_tmp59_ = vala_method_get_postconditions (m);
4530
_tmp61_ = vala_collection_get_size ((ValaCollection*) _tmp60_);
4531
if ((_tmp62_ = _tmp61_ == 0, _vala_iterable_unref0 (_tmp60_), _tmp62_)) {
4532
ValaCCodeFunction* _tmp63_ = NULL;
4533
_tmp63_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4534
vala_ccode_function_add_return (_tmp63_, (ValaCCodeExpression*) vcall);
4582
ValaList* _tmp56_ = NULL;
4586
_tmp56_ = vala_method_get_postconditions (m);
4588
_tmp58_ = vala_collection_get_size ((ValaCollection*) _tmp57_);
4589
_tmp59_ = _tmp58_ == 0;
4590
_vala_iterable_unref0 (_tmp57_);
4592
ValaCCodeFunction* _tmp60_ = NULL;
4593
_tmp60_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4594
vala_ccode_function_add_return (_tmp60_, (ValaCCodeExpression*) vcall);
4536
ValaCCodeFunction* _tmp64_ = NULL;
4537
gchar* _tmp65_ = NULL;
4539
gchar* _tmp67_ = NULL;
4541
ValaCCodeVariableDeclarator* _tmp69_ = NULL;
4542
ValaCCodeVariableDeclarator* _tmp70_;
4543
ValaCCodeFunction* _tmp71_ = NULL;
4544
ValaCCodeIdentifier* _tmp72_ = NULL;
4545
ValaCCodeIdentifier* _tmp73_;
4546
_tmp64_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4547
_tmp65_ = vala_data_type_get_cname (return_type);
4549
_tmp67_ = vala_ccode_method_module_get_creturn_type (self, m, _tmp66_);
4551
_tmp69_ = vala_ccode_variable_declarator_new ("result", NULL, NULL);
4596
ValaCCodeFunction* _tmp61_ = NULL;
4597
gchar* _tmp62_ = NULL;
4599
gchar* _tmp64_ = NULL;
4601
ValaCCodeVariableDeclarator* _tmp66_ = NULL;
4602
ValaCCodeVariableDeclarator* _tmp67_;
4603
ValaCCodeFunction* _tmp68_ = NULL;
4604
ValaCCodeIdentifier* _tmp69_ = NULL;
4605
ValaCCodeIdentifier* _tmp70_;
4606
_tmp61_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4607
_tmp62_ = vala_data_type_get_cname (return_type);
4609
_tmp64_ = vala_ccode_method_module_get_creturn_type (self, m, _tmp63_);
4611
_tmp66_ = vala_ccode_variable_declarator_new ("result", NULL, NULL);
4613
vala_ccode_function_add_declaration (_tmp61_, _tmp65_, (ValaCCodeDeclarator*) _tmp67_, 0);
4614
_vala_ccode_node_unref0 (_tmp67_);
4617
_tmp68_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4618
_tmp69_ = vala_ccode_identifier_new ("result");
4552
4619
_tmp70_ = _tmp69_;
4553
vala_ccode_function_add_declaration (_tmp64_, _tmp68_, (ValaCCodeDeclarator*) _tmp70_, 0);
4620
vala_ccode_function_add_assignment (_tmp68_, (ValaCCodeExpression*) _tmp70_, (ValaCCodeExpression*) vcall);
4554
4621
_vala_ccode_node_unref0 (_tmp70_);
4557
_tmp71_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4558
_tmp72_ = vala_ccode_identifier_new ("result");
4560
vala_ccode_function_add_assignment (_tmp71_, (ValaCCodeExpression*) _tmp73_, (ValaCCodeExpression*) vcall);
4561
_vala_ccode_node_unref0 (_tmp73_);
4564
_tmp74_ = vala_method_get_postconditions (m);
4566
_tmp76_ = vala_collection_get_size ((ValaCollection*) _tmp75_);
4567
if ((_tmp77_ = _tmp76_ > 0, _vala_iterable_unref0 (_tmp75_), _tmp77_)) {
4624
_tmp71_ = vala_method_get_postconditions (m);
4626
_tmp73_ = vala_collection_get_size ((ValaCollection*) _tmp72_);
4627
_tmp74_ = _tmp73_ > 0;
4628
_vala_iterable_unref0 (_tmp72_);
4569
ValaList* _tmp78_ = NULL;
4631
ValaList* _tmp75_ = NULL;
4570
4632
ValaList* _postcondition_list;
4572
4634
gint _postcondition_size;
4573
4635
gint _postcondition_index;
4574
_tmp78_ = vala_method_get_postconditions (m);
4575
_postcondition_list = _tmp78_;
4576
_tmp79_ = vala_collection_get_size ((ValaCollection*) _postcondition_list);
4577
_postcondition_size = _tmp79_;
4636
_tmp75_ = vala_method_get_postconditions (m);
4637
_postcondition_list = _tmp75_;
4638
_tmp76_ = vala_collection_get_size ((ValaCollection*) _postcondition_list);
4639
_postcondition_size = _tmp76_;
4578
4640
_postcondition_index = -1;
4580
gpointer _tmp80_ = NULL;
4642
gpointer _tmp77_ = NULL;
4581
4643
ValaExpression* postcondition;
4582
4644
_postcondition_index = _postcondition_index + 1;
4583
4645
if (!(_postcondition_index < _postcondition_size)) {
4586
_tmp80_ = vala_list_get (_postcondition_list, _postcondition_index);
4587
postcondition = (ValaExpression*) _tmp80_;
4648
_tmp77_ = vala_list_get (_postcondition_list, _postcondition_index);
4649
postcondition = (ValaExpression*) _tmp77_;
4588
4650
vala_ccode_base_module_create_postcondition_statement ((ValaCCodeBaseModule*) self, postcondition);
4589
4651
_vala_code_node_unref0 (postcondition);
4591
4653
_vala_iterable_unref0 (_postcondition_list);
4593
4655
if (!VALA_IS_VOID_TYPE (return_type)) {
4594
ValaCCodeFunction* _tmp81_ = NULL;
4595
ValaCCodeIdentifier* _tmp82_ = NULL;
4596
ValaCCodeIdentifier* _tmp83_;
4597
_tmp81_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4598
_tmp82_ = vala_ccode_identifier_new ("result");
4600
vala_ccode_function_add_return (_tmp81_, (ValaCCodeExpression*) _tmp83_);
4601
_vala_ccode_node_unref0 (_tmp83_);
4656
ValaCCodeFunction* _tmp78_ = NULL;
4657
ValaCCodeIdentifier* _tmp79_ = NULL;
4658
ValaCCodeIdentifier* _tmp80_;
4659
_tmp78_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
4660
_tmp79_ = vala_ccode_identifier_new ("result");
4662
vala_ccode_function_add_return (_tmp78_, (ValaCCodeExpression*) _tmp80_);
4663
_vala_ccode_node_unref0 (_tmp80_);
4604
4666
vala_ccode_file_add_function (((ValaCCodeBaseModule*) self)->cfile, vfunc);