2963
3015
void vala_parser_parse_file (ValaParser* self, ValaSourceFile* source_file) {
2964
3016
ValaScanner* _tmp0_ = NULL;
2965
ValaScanner* _tmp1_;
3017
ValaNamespace* _tmp1_ = NULL;
2966
3018
ValaNamespace* _tmp2_ = NULL;
2967
ValaNamespace* _tmp3_ = NULL;
2969
ValaScanner* _tmp9_;
2970
3020
GError * _inner_error_ = NULL;
2971
3021
g_return_if_fail (self != NULL);
2972
3022
g_return_if_fail (source_file != NULL);
2973
3023
_tmp0_ = vala_scanner_new (source_file);
2975
3024
_vala_scanner_unref0 (self->priv->scanner);
2976
self->priv->scanner = _tmp1_;
3025
self->priv->scanner = _tmp0_;
2977
3026
vala_parser_parse_file_comments (self);
2978
3027
self->priv->index = -1;
2979
3028
self->priv->size = 0;
2980
3029
vala_parser_next (self);
3030
_tmp1_ = vala_code_context_get_root (self->priv->context);
3031
vala_parser_parse_using_directives (self, _tmp1_, &_inner_error_);
3032
if (_inner_error_ != NULL) {
3033
if (_inner_error_->domain == VALA_PARSE_ERROR) {
3034
goto __catch9_vala_parse_error;
3036
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3037
g_clear_error (&_inner_error_);
2981
3040
_tmp2_ = vala_code_context_get_root (self->priv->context);
2982
vala_parser_parse_using_directives (self, _tmp2_, &_inner_error_);
2983
if (_inner_error_ != NULL) {
2984
if (_inner_error_->domain == VALA_PARSE_ERROR) {
2985
goto __catch9_vala_parse_error;
2987
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2988
g_clear_error (&_inner_error_);
2991
_tmp3_ = vala_code_context_get_root (self->priv->context);
2992
vala_parser_parse_declarations (self, (ValaSymbol*) _tmp3_, TRUE, &_inner_error_);
2993
if (_inner_error_ != NULL) {
2994
if (_inner_error_->domain == VALA_PARSE_ERROR) {
2995
goto __catch9_vala_parse_error;
2997
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
2998
g_clear_error (&_inner_error_);
3001
_tmp4_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CLOSE_BRACE);
3003
ValaReport* _tmp5_ = NULL;
3005
_tmp5_ = vala_code_context_get_report (self->priv->context);
3006
_tmp6_ = vala_report_get_errors (_tmp5_);
3008
ValaSourceReference* _tmp7_ = NULL;
3009
ValaSourceReference* _tmp8_;
3010
_tmp7_ = vala_parser_get_last_src (self);
3012
vala_report_error (_tmp8_, "unexpected `}'");
3013
_vala_source_reference_unref0 (_tmp8_);
3041
vala_parser_parse_declarations (self, (ValaSymbol*) _tmp2_, TRUE, &_inner_error_);
3042
if (_inner_error_ != NULL) {
3043
if (_inner_error_->domain == VALA_PARSE_ERROR) {
3044
goto __catch9_vala_parse_error;
3046
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3047
g_clear_error (&_inner_error_);
3050
_tmp3_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CLOSE_BRACE);
3052
ValaReport* _tmp4_ = NULL;
3054
_tmp4_ = vala_code_context_get_report (self->priv->context);
3055
_tmp5_ = vala_report_get_errors (_tmp4_);
3057
ValaSourceReference* _tmp6_ = NULL;
3058
ValaSourceReference* _tmp7_;
3059
_tmp6_ = vala_parser_get_last_src (self);
3061
vala_report_error (_tmp7_, "unexpected `}'");
3062
_vala_source_reference_unref0 (_tmp7_);
3016
3065
goto __finally9;
3339
3383
_tmp3_ = vala_parser_get_src (self, &begin);
3340
3384
_tmp4_ = _tmp3_;
3341
3385
_tmp5_ = vala_void_type_new (_tmp4_);
3342
type = (_tmp6_ = (ValaDataType*) _tmp5_, _vala_source_reference_unref0 (_tmp4_), _tmp6_);
3386
_tmp6_ = (ValaDataType*) _tmp5_;
3387
_vala_source_reference_unref0 (_tmp4_);
3344
3390
gboolean _tmp7_;
3345
3391
ValaPointerType* _tmp8_ = NULL;
3346
ValaDataType* _tmp9_;
3347
3392
_tmp7_ = vala_parser_accept (self, VALA_TOKEN_TYPE_STAR);
3351
3396
_tmp8_ = vala_pointer_type_new (type, NULL);
3352
_tmp9_ = (ValaDataType*) _tmp8_;
3353
3397
_vala_code_node_unref0 (type);
3398
type = (ValaDataType*) _tmp8_;
3359
_tmp10_ = vala_parser_accept (self, VALA_TOKEN_TYPE_DYNAMIC);
3360
is_dynamic = _tmp10_;
3403
_tmp9_ = vala_parser_accept (self, VALA_TOKEN_TYPE_DYNAMIC);
3404
is_dynamic = _tmp9_;
3361
3405
value_owned = owned_by_default;
3362
3406
if (owned_by_default) {
3363
ValaProfile _tmp11_;
3364
_tmp11_ = vala_code_context_get_profile (self->priv->context);
3365
if (_tmp11_ == VALA_PROFILE_DOVA) {
3366
gboolean _tmp12_ = FALSE;
3407
ValaProfile _tmp10_;
3408
_tmp10_ = vala_code_context_get_profile (self->priv->context);
3409
if (_tmp10_ == VALA_PROFILE_DOVA) {
3410
gboolean _tmp11_ = FALSE;
3367
3411
if (can_weak_ref) {
3369
_tmp13_ = vala_parser_accept (self, VALA_TOKEN_TYPE_WEAK);
3413
_tmp12_ = vala_parser_accept (self, VALA_TOKEN_TYPE_WEAK);
3375
3419
value_owned = FALSE;
3379
_tmp14_ = vala_parser_accept (self, VALA_TOKEN_TYPE_UNOWNED);
3423
_tmp13_ = vala_parser_accept (self, VALA_TOKEN_TYPE_UNOWNED);
3381
3425
value_owned = FALSE;
3384
_tmp15_ = vala_parser_accept (self, VALA_TOKEN_TYPE_WEAK);
3386
gboolean _tmp16_ = FALSE;
3428
_tmp14_ = vala_parser_accept (self, VALA_TOKEN_TYPE_WEAK);
3430
gboolean _tmp15_ = FALSE;
3387
3431
if (!can_weak_ref) {
3389
_tmp17_ = vala_code_context_get_deprecated (self->priv->context);
3433
_tmp16_ = vala_code_context_get_deprecated (self->priv->context);
3395
ValaSourceReference* _tmp18_ = NULL;
3396
ValaSourceReference* _tmp19_;
3397
_tmp18_ = vala_parser_get_last_src (self);
3399
vala_report_warning (_tmp19_, "deprecated syntax, use `unowned` modifier");
3400
_vala_source_reference_unref0 (_tmp19_);
3439
ValaSourceReference* _tmp17_ = NULL;
3440
ValaSourceReference* _tmp18_;
3441
_tmp17_ = vala_parser_get_last_src (self);
3443
vala_report_warning (_tmp18_, "deprecated syntax, use `unowned` modifier");
3444
_vala_source_reference_unref0 (_tmp18_);
3402
3446
value_owned = FALSE;
3407
gboolean _tmp20_ = FALSE;
3408
ValaProfile _tmp21_;
3409
_tmp21_ = vala_code_context_get_profile (self->priv->context);
3410
if (_tmp21_ != VALA_PROFILE_DOVA) {
3412
_tmp22_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OWNED);
3417
value_owned = _tmp20_;
3419
_tmp23_ = vala_parser_parse_symbol_name (self, &_inner_error_);
3421
if (_inner_error_ != NULL) {
3422
if (_inner_error_->domain == VALA_PARSE_ERROR) {
3423
g_propagate_error (error, _inner_error_);
3426
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3427
g_clear_error (&_inner_error_);
3431
_tmp24_ = vala_parser_parse_type_argument_list (self, FALSE, &_inner_error_);
3432
type_arg_list = _tmp24_;
3433
if (_inner_error_ != NULL) {
3434
if (_inner_error_->domain == VALA_PARSE_ERROR) {
3435
g_propagate_error (error, _inner_error_);
3436
_vala_code_node_unref0 (sym);
3439
_vala_code_node_unref0 (sym);
3440
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3441
g_clear_error (&_inner_error_);
3445
_tmp25_ = vala_parser_get_src (self, &begin);
3447
_tmp27_ = vala_unresolved_type_new_from_symbol (sym, _tmp26_);
3448
type = (_tmp28_ = (ValaDataType*) _tmp27_, _vala_source_reference_unref0 (_tmp26_), _tmp28_);
3451
gboolean _tmp19_ = FALSE;
3452
ValaProfile _tmp20_;
3453
_tmp20_ = vala_code_context_get_profile (self->priv->context);
3454
if (_tmp20_ != VALA_PROFILE_DOVA) {
3456
_tmp21_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OWNED);
3461
value_owned = _tmp19_;
3463
_tmp22_ = vala_parser_parse_symbol_name (self, &_inner_error_);
3465
if (_inner_error_ != NULL) {
3466
if (_inner_error_->domain == VALA_PARSE_ERROR) {
3467
g_propagate_error (error, _inner_error_);
3470
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3471
g_clear_error (&_inner_error_);
3475
_tmp23_ = vala_parser_parse_type_argument_list (self, FALSE, &_inner_error_);
3476
type_arg_list = _tmp23_;
3477
if (_inner_error_ != NULL) {
3478
if (_inner_error_->domain == VALA_PARSE_ERROR) {
3479
g_propagate_error (error, _inner_error_);
3480
_vala_code_node_unref0 (sym);
3483
_vala_code_node_unref0 (sym);
3484
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
3485
g_clear_error (&_inner_error_);
3489
_tmp24_ = vala_parser_get_src (self, &begin);
3491
_tmp26_ = vala_unresolved_type_new_from_symbol (sym, _tmp25_);
3492
_tmp27_ = (ValaDataType*) _tmp26_;
3493
_vala_source_reference_unref0 (_tmp25_);
3449
3495
if (type_arg_list != NULL) {
3452
3498
ValaList* _type_arg_list;
3454
3500
gint _type_arg_size;
3455
3501
gint _type_arg_index;
3456
_tmp29_ = _vala_iterable_ref0 (type_arg_list);
3457
_type_arg_list = _tmp29_;
3458
_tmp30_ = vala_collection_get_size ((ValaCollection*) _type_arg_list);
3459
_type_arg_size = _tmp30_;
3502
_tmp28_ = _vala_iterable_ref0 (type_arg_list);
3503
_type_arg_list = _tmp28_;
3504
_tmp29_ = vala_collection_get_size ((ValaCollection*) _type_arg_list);
3505
_type_arg_size = _tmp29_;
3460
3506
_type_arg_index = -1;
3462
gpointer _tmp31_ = NULL;
3508
gpointer _tmp30_ = NULL;
3463
3509
ValaDataType* type_arg;
3464
3510
_type_arg_index = _type_arg_index + 1;
3465
3511
if (!(_type_arg_index < _type_arg_size)) {
3468
_tmp31_ = vala_list_get (_type_arg_list, _type_arg_index);
3469
type_arg = (ValaDataType*) _tmp31_;
3514
_tmp30_ = vala_list_get (_type_arg_list, _type_arg_index);
3515
type_arg = (ValaDataType*) _tmp30_;
3470
3516
vala_data_type_add_type_argument (type, type_arg);
3471
3517
_vala_code_node_unref0 (type_arg);
3478
ValaSourceReference* _tmp33_ = NULL;
3479
ValaSourceReference* _tmp34_;
3480
ValaPointerType* _tmp35_ = NULL;
3481
ValaDataType* _tmp36_;
3482
_tmp32_ = vala_parser_accept (self, VALA_TOKEN_TYPE_STAR);
3524
ValaSourceReference* _tmp32_ = NULL;
3525
ValaSourceReference* _tmp33_;
3526
ValaPointerType* _tmp34_ = NULL;
3527
_tmp31_ = vala_parser_accept (self, VALA_TOKEN_TYPE_STAR);
3486
_tmp33_ = vala_parser_get_src (self, &begin);
3488
_tmp35_ = vala_pointer_type_new (type, _tmp34_);
3489
_tmp36_ = (ValaDataType*) _tmp35_;
3531
_tmp32_ = vala_parser_get_src (self, &begin);
3533
_tmp34_ = vala_pointer_type_new (type, _tmp33_);
3490
3534
_vala_code_node_unref0 (type);
3492
_vala_source_reference_unref0 (_tmp34_);
3535
type = (ValaDataType*) _tmp34_;
3536
_vala_source_reference_unref0 (_tmp33_);
3494
3538
if (!VALA_IS_POINTER_TYPE (type)) {
3496
_tmp37_ = vala_parser_accept (self, VALA_TOKEN_TYPE_INTERR);
3497
vala_data_type_set_nullable (type, _tmp37_);
3540
_tmp35_ = vala_parser_accept (self, VALA_TOKEN_TYPE_INTERR);
3541
vala_data_type_set_nullable (type, _tmp35_);
3501
3545
gboolean invalid_array;
3502
3546
gint array_rank;
3503
ValaSourceReference* _tmp48_ = NULL;
3504
ValaSourceReference* _tmp49_;
3505
ValaArrayType* _tmp50_ = NULL;
3506
ValaArrayType* _tmp51_;
3547
ValaSourceReference* _tmp46_ = NULL;
3548
ValaSourceReference* _tmp47_;
3549
ValaArrayType* _tmp48_ = NULL;
3550
ValaArrayType* _tmp49_;
3507
3551
ValaArrayType* array_type;
3509
ValaDataType* _tmp53_;
3510
ValaDataType* _tmp54_;
3511
_tmp38_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OPEN_BRACKET);
3553
ValaDataType* _tmp51_;
3554
_tmp36_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OPEN_BRACKET);
3515
3558
invalid_array = FALSE;
3516
3559
array_rank = 0;
3521
gboolean _tmp43_ = FALSE;
3522
ValaTokenType _tmp44_;
3524
gboolean _tmp40_ = FALSE;
3525
ValaProfile _tmp41_;
3526
_tmp41_ = vala_code_context_get_profile (self->priv->context);
3527
if (_tmp41_ != VALA_PROFILE_DOVA) {
3529
_tmp42_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
3564
gboolean _tmp41_ = FALSE;
3565
ValaTokenType _tmp42_;
3567
gboolean _tmp38_ = FALSE;
3568
ValaProfile _tmp39_;
3569
_tmp39_ = vala_code_context_get_profile (self->priv->context);
3570
if (_tmp39_ != VALA_PROFILE_DOVA) {
3572
_tmp40_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
3540
_tmp44_ = vala_parser_current (self);
3541
if (_tmp44_ != VALA_TOKEN_TYPE_COMMA) {
3542
ValaTokenType _tmp45_;
3543
_tmp45_ = vala_parser_current (self);
3544
_tmp43_ = _tmp45_ != VALA_TOKEN_TYPE_CLOSE_BRACKET;
3583
_tmp42_ = vala_parser_current (self);
3584
if (_tmp42_ != VALA_TOKEN_TYPE_COMMA) {
3585
ValaTokenType _tmp43_;
3586
_tmp43_ = vala_parser_current (self);
3587
_tmp41_ = _tmp43_ != VALA_TOKEN_TYPE_CLOSE_BRACKET;
3549
ValaExpression* _tmp46_ = NULL;
3550
ValaExpression* _tmp47_;
3551
_tmp46_ = vala_parser_parse_expression (self, &_inner_error_);
3553
_vala_code_node_unref0 (_tmp47_);
3592
ValaExpression* _tmp44_ = NULL;
3593
ValaExpression* _tmp45_;
3594
_tmp44_ = vala_parser_parse_expression (self, &_inner_error_);
3596
_vala_code_node_unref0 (_tmp45_);
3554
3597
if (_inner_error_ != NULL) {
3555
3598
if (_inner_error_->domain == VALA_PARSE_ERROR) {
3556
3599
g_propagate_error (error, _inner_error_);
3591
3634
vala_data_type_set_value_owned (type, TRUE);
3592
_tmp48_ = vala_parser_get_src (self, &begin);
3635
_tmp46_ = vala_parser_get_src (self, &begin);
3637
_tmp48_ = vala_array_type_new (type, array_rank, _tmp47_);
3593
3638
_tmp49_ = _tmp48_;
3594
_tmp50_ = vala_array_type_new (type, array_rank, _tmp49_);
3595
array_type = (_tmp51_ = _tmp50_, _vala_source_reference_unref0 (_tmp49_), _tmp51_);
3596
_tmp52_ = vala_parser_accept (self, VALA_TOKEN_TYPE_INTERR);
3597
vala_data_type_set_nullable ((ValaDataType*) array_type, _tmp52_);
3639
_vala_source_reference_unref0 (_tmp47_);
3640
array_type = _tmp49_;
3641
_tmp50_ = vala_parser_accept (self, VALA_TOKEN_TYPE_INTERR);
3642
vala_data_type_set_nullable ((ValaDataType*) array_type, _tmp50_);
3598
3643
vala_array_type_set_invalid_syntax (array_type, invalid_array);
3599
_tmp53_ = _vala_code_node_ref0 ((ValaDataType*) array_type);
3644
_tmp51_ = _vala_code_node_ref0 ((ValaDataType*) array_type);
3601
3645
_vala_code_node_unref0 (type);
3603
3647
_vala_code_node_unref0 (array_type);
3605
_tmp55_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OP_NEG);
3607
ValaSourceReference* _tmp56_ = NULL;
3608
ValaSourceReference* _tmp57_;
3609
_tmp56_ = vala_parser_get_last_src (self);
3611
vala_report_warning (_tmp57_, "obsolete syntax, types are non-null by default");
3612
_vala_source_reference_unref0 (_tmp57_);
3649
_tmp52_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OP_NEG);
3651
ValaSourceReference* _tmp53_ = NULL;
3652
ValaSourceReference* _tmp54_;
3653
_tmp53_ = vala_parser_get_last_src (self);
3655
vala_report_warning (_tmp54_, "obsolete syntax, types are non-null by default");
3656
_vala_source_reference_unref0 (_tmp54_);
3614
3658
if (!owned_by_default) {
3615
gboolean _tmp58_ = FALSE;
3616
ValaProfile _tmp59_;
3617
_tmp59_ = vala_code_context_get_profile (self->priv->context);
3618
if (_tmp59_ != VALA_PROFILE_DOVA) {
3620
_tmp60_ = vala_parser_accept (self, VALA_TOKEN_TYPE_HASH);
3659
gboolean _tmp55_ = FALSE;
3660
ValaProfile _tmp56_;
3661
_tmp56_ = vala_code_context_get_profile (self->priv->context);
3662
if (_tmp56_ != VALA_PROFILE_DOVA) {
3664
_tmp57_ = vala_parser_accept (self, VALA_TOKEN_TYPE_HASH);
3627
_tmp61_ = vala_code_context_get_deprecated (self->priv->context);
3629
ValaSourceReference* _tmp62_ = NULL;
3630
ValaSourceReference* _tmp63_;
3631
_tmp62_ = vala_parser_get_last_src (self);
3633
vala_report_warning (_tmp63_, "deprecated syntax, use `owned` modifier");
3634
_vala_source_reference_unref0 (_tmp63_);
3671
_tmp58_ = vala_code_context_get_deprecated (self->priv->context);
3673
ValaSourceReference* _tmp59_ = NULL;
3674
ValaSourceReference* _tmp60_;
3675
_tmp59_ = vala_parser_get_last_src (self);
3677
vala_report_warning (_tmp60_, "deprecated syntax, use `owned` modifier");
3678
_vala_source_reference_unref0 (_tmp60_);
3636
3680
value_owned = TRUE;
4091
4137
_vala_code_node_unref0 (expr);
4096
4142
case VALA_TOKEN_TYPE_OPEN_PARENS:
4098
ValaExpression* _tmp20_ = NULL;
4099
ValaExpression* _tmp21_;
4144
ValaExpression* _tmp15_ = NULL;
4145
ValaExpression* _tmp16_;
4146
_tmp15_ = vala_parser_parse_tuple (self, &_inner_error_);
4148
if (_inner_error_ != NULL) {
4149
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4150
g_propagate_error (error, _inner_error_);
4151
_vala_code_node_unref0 (expr);
4154
_vala_code_node_unref0 (expr);
4155
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4156
g_clear_error (&_inner_error_);
4160
_vala_code_node_unref0 (expr);
4164
case VALA_TOKEN_TYPE_OPEN_TEMPLATE:
4166
ValaExpression* _tmp17_ = NULL;
4167
ValaExpression* _tmp18_;
4168
_tmp17_ = vala_parser_parse_template (self, &_inner_error_);
4170
if (_inner_error_ != NULL) {
4171
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4172
g_propagate_error (error, _inner_error_);
4173
_vala_code_node_unref0 (expr);
4176
_vala_code_node_unref0 (expr);
4177
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4178
g_clear_error (&_inner_error_);
4182
_vala_code_node_unref0 (expr);
4186
case VALA_TOKEN_TYPE_OPEN_REGEX_LITERAL:
4188
ValaExpression* _tmp19_ = NULL;
4189
ValaExpression* _tmp20_;
4190
_tmp19_ = vala_parser_parse_regex_literal (self, &_inner_error_);
4192
if (_inner_error_ != NULL) {
4193
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4194
g_propagate_error (error, _inner_error_);
4195
_vala_code_node_unref0 (expr);
4198
_vala_code_node_unref0 (expr);
4199
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4200
g_clear_error (&_inner_error_);
4204
_vala_code_node_unref0 (expr);
4208
case VALA_TOKEN_TYPE_THIS:
4210
ValaExpression* _tmp21_ = NULL;
4100
4211
ValaExpression* _tmp22_;
4101
_tmp20_ = vala_parser_parse_tuple (self, &_inner_error_);
4103
if (_inner_error_ != NULL) {
4104
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4105
g_propagate_error (error, _inner_error_);
4106
_vala_code_node_unref0 (expr);
4109
_vala_code_node_unref0 (expr);
4110
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4111
g_clear_error (&_inner_error_);
4212
_tmp21_ = vala_parser_parse_this_access (self, &_inner_error_);
4115
4213
_tmp22_ = _tmp21_;
4214
if (_inner_error_ != NULL) {
4215
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4216
g_propagate_error (error, _inner_error_);
4217
_vala_code_node_unref0 (expr);
4220
_vala_code_node_unref0 (expr);
4221
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4222
g_clear_error (&_inner_error_);
4116
4226
_vala_code_node_unref0 (expr);
4117
4227
expr = _tmp22_;
4120
case VALA_TOKEN_TYPE_OPEN_TEMPLATE:
4230
case VALA_TOKEN_TYPE_BASE:
4122
4232
ValaExpression* _tmp23_ = NULL;
4123
4233
ValaExpression* _tmp24_;
4124
ValaExpression* _tmp25_;
4125
_tmp23_ = vala_parser_parse_template (self, &_inner_error_);
4234
_tmp23_ = vala_parser_parse_base_access (self, &_inner_error_);
4126
4235
_tmp24_ = _tmp23_;
4127
4236
if (_inner_error_ != NULL) {
4128
4237
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4212
4358
_vala_code_node_unref0 (expr);
4213
4359
expr = _tmp34_;
4216
case VALA_TOKEN_TYPE_NEW:
4218
ValaExpression* _tmp35_ = NULL;
4219
ValaExpression* _tmp36_;
4220
ValaExpression* _tmp37_;
4221
_tmp35_ = vala_parser_parse_object_or_array_creation_expression (self, &_inner_error_);
4223
if (_inner_error_ != NULL) {
4224
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4225
g_propagate_error (error, _inner_error_);
4226
_vala_code_node_unref0 (expr);
4229
_vala_code_node_unref0 (expr);
4230
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4231
g_clear_error (&_inner_error_);
4236
_vala_code_node_unref0 (expr);
4240
case VALA_TOKEN_TYPE_YIELD:
4242
ValaExpression* _tmp38_ = NULL;
4243
ValaExpression* _tmp39_;
4244
ValaExpression* _tmp40_;
4245
_tmp38_ = vala_parser_parse_yield_expression (self, &_inner_error_);
4247
if (_inner_error_ != NULL) {
4248
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4249
g_propagate_error (error, _inner_error_);
4250
_vala_code_node_unref0 (expr);
4253
_vala_code_node_unref0 (expr);
4254
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4255
g_clear_error (&_inner_error_);
4260
_vala_code_node_unref0 (expr);
4264
case VALA_TOKEN_TYPE_SIZEOF:
4266
ValaExpression* _tmp41_ = NULL;
4267
ValaExpression* _tmp42_;
4268
ValaExpression* _tmp43_;
4269
_tmp41_ = vala_parser_parse_sizeof_expression (self, &_inner_error_);
4271
if (_inner_error_ != NULL) {
4272
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4273
g_propagate_error (error, _inner_error_);
4274
_vala_code_node_unref0 (expr);
4277
_vala_code_node_unref0 (expr);
4278
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4279
g_clear_error (&_inner_error_);
4284
_vala_code_node_unref0 (expr);
4288
case VALA_TOKEN_TYPE_TYPEOF:
4290
ValaExpression* _tmp44_ = NULL;
4291
ValaExpression* _tmp45_;
4292
ValaExpression* _tmp46_;
4293
_tmp44_ = vala_parser_parse_typeof_expression (self, &_inner_error_);
4295
if (_inner_error_ != NULL) {
4296
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4297
g_propagate_error (error, _inner_error_);
4298
_vala_code_node_unref0 (expr);
4301
_vala_code_node_unref0 (expr);
4302
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4303
g_clear_error (&_inner_error_);
4308
_vala_code_node_unref0 (expr);
4314
ValaExpression* _tmp47_ = NULL;
4315
ValaExpression* _tmp48_;
4316
ValaExpression* _tmp49_;
4317
_tmp47_ = vala_parser_parse_simple_name (self, &_inner_error_);
4319
if (_inner_error_ != NULL) {
4320
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4321
g_propagate_error (error, _inner_error_);
4322
_vala_code_node_unref0 (expr);
4325
_vala_code_node_unref0 (expr);
4326
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4327
g_clear_error (&_inner_error_);
4332
_vala_code_node_unref0 (expr);
4339
ValaTokenType _tmp50_;
4365
ValaTokenType _tmp35_;
4343
_tmp50_ = vala_parser_current (self);
4369
_tmp35_ = vala_parser_current (self);
4345
4371
case VALA_TOKEN_TYPE_DOT:
4373
ValaExpression* _tmp36_ = NULL;
4374
ValaExpression* _tmp37_;
4375
_tmp36_ = vala_parser_parse_member_access (self, &begin, expr, &_inner_error_);
4377
if (_inner_error_ != NULL) {
4378
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4379
g_propagate_error (error, _inner_error_);
4380
_vala_code_node_unref0 (expr);
4383
_vala_code_node_unref0 (expr);
4384
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4385
g_clear_error (&_inner_error_);
4389
_vala_code_node_unref0 (expr);
4393
case VALA_TOKEN_TYPE_OP_PTR:
4395
ValaProfile _tmp38_;
4396
_tmp38_ = vala_code_context_get_profile (self->priv->context);
4397
if (_tmp38_ == VALA_PROFILE_DOVA) {
4400
ValaExpression* _tmp39_ = NULL;
4401
ValaExpression* _tmp40_;
4402
_tmp39_ = vala_parser_parse_pointer_member_access (self, &begin, expr, &_inner_error_);
4404
if (_inner_error_ != NULL) {
4405
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4406
g_propagate_error (error, _inner_error_);
4407
_vala_code_node_unref0 (expr);
4410
_vala_code_node_unref0 (expr);
4411
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4412
g_clear_error (&_inner_error_);
4416
_vala_code_node_unref0 (expr);
4421
case VALA_TOKEN_TYPE_OPEN_PARENS:
4423
ValaExpression* _tmp41_ = NULL;
4424
ValaExpression* _tmp42_;
4425
_tmp41_ = vala_parser_parse_method_call (self, &begin, expr, &_inner_error_);
4427
if (_inner_error_ != NULL) {
4428
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4429
g_propagate_error (error, _inner_error_);
4430
_vala_code_node_unref0 (expr);
4433
_vala_code_node_unref0 (expr);
4434
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4435
g_clear_error (&_inner_error_);
4439
_vala_code_node_unref0 (expr);
4443
case VALA_TOKEN_TYPE_OPEN_BRACKET:
4445
ValaExpression* _tmp43_ = NULL;
4446
ValaExpression* _tmp44_;
4447
_tmp43_ = vala_parser_parse_element_access (self, &begin, expr, &_inner_error_);
4449
if (_inner_error_ != NULL) {
4450
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4451
g_propagate_error (error, _inner_error_);
4452
_vala_code_node_unref0 (expr);
4455
_vala_code_node_unref0 (expr);
4456
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4457
g_clear_error (&_inner_error_);
4461
_vala_code_node_unref0 (expr);
4465
case VALA_TOKEN_TYPE_OPEN_BRACE:
4467
ValaExpression* _tmp45_;
4468
ValaMemberAccess* _tmp46_;
4469
ValaMemberAccess* ma;
4470
gboolean _tmp47_ = FALSE;
4471
ValaProfile _tmp48_;
4473
_tmp46_ = _vala_code_node_ref0 (VALA_IS_MEMBER_ACCESS (_tmp45_) ? ((ValaMemberAccess*) _tmp45_) : NULL);
4475
_tmp48_ = vala_code_context_get_profile (self->priv->context);
4476
if (_tmp48_ == VALA_PROFILE_DOVA) {
4477
_tmp47_ = ma != NULL;
4482
ValaExpression* _tmp49_ = NULL;
4483
ValaExpression* _tmp50_;
4484
_tmp49_ = vala_parser_parse_object_literal (self, &begin, ma, &_inner_error_);
4486
if (_inner_error_ != NULL) {
4487
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4488
g_propagate_error (error, _inner_error_);
4489
_vala_code_node_unref0 (ma);
4490
_vala_code_node_unref0 (expr);
4493
_vala_code_node_unref0 (ma);
4494
_vala_code_node_unref0 (expr);
4495
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4496
g_clear_error (&_inner_error_);
4500
_vala_code_node_unref0 (expr);
4505
_vala_code_node_unref0 (ma);
4508
case VALA_TOKEN_TYPE_OP_INC:
4347
4510
ValaExpression* _tmp51_ = NULL;
4348
4511
ValaExpression* _tmp52_;
4349
ValaExpression* _tmp53_;
4350
_tmp51_ = vala_parser_parse_member_access (self, &begin, expr, &_inner_error_);
4512
_tmp51_ = vala_parser_parse_post_increment_expression (self, &begin, expr, &_inner_error_);
4351
4513
_tmp52_ = _tmp51_;
4352
4514
if (_inner_error_ != NULL) {
4353
4515
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4365
_vala_code_node_unref0 (expr);
4369
case VALA_TOKEN_TYPE_OP_PTR:
4371
ValaProfile _tmp54_;
4372
_tmp54_ = vala_code_context_get_profile (self->priv->context);
4373
if (_tmp54_ == VALA_PROFILE_DOVA) {
4376
ValaExpression* _tmp55_ = NULL;
4377
ValaExpression* _tmp56_;
4378
ValaExpression* _tmp57_;
4379
_tmp55_ = vala_parser_parse_pointer_member_access (self, &begin, expr, &_inner_error_);
4381
if (_inner_error_ != NULL) {
4382
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4383
g_propagate_error (error, _inner_error_);
4384
_vala_code_node_unref0 (expr);
4387
_vala_code_node_unref0 (expr);
4388
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4389
g_clear_error (&_inner_error_);
4394
_vala_code_node_unref0 (expr);
4399
case VALA_TOKEN_TYPE_OPEN_PARENS:
4401
ValaExpression* _tmp58_ = NULL;
4402
ValaExpression* _tmp59_;
4403
ValaExpression* _tmp60_;
4404
_tmp58_ = vala_parser_parse_method_call (self, &begin, expr, &_inner_error_);
4406
if (_inner_error_ != NULL) {
4407
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4408
g_propagate_error (error, _inner_error_);
4409
_vala_code_node_unref0 (expr);
4412
_vala_code_node_unref0 (expr);
4413
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4414
g_clear_error (&_inner_error_);
4419
_vala_code_node_unref0 (expr);
4423
case VALA_TOKEN_TYPE_OPEN_BRACKET:
4425
ValaExpression* _tmp61_ = NULL;
4426
ValaExpression* _tmp62_;
4427
ValaExpression* _tmp63_;
4428
_tmp61_ = vala_parser_parse_element_access (self, &begin, expr, &_inner_error_);
4430
if (_inner_error_ != NULL) {
4431
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4432
g_propagate_error (error, _inner_error_);
4433
_vala_code_node_unref0 (expr);
4436
_vala_code_node_unref0 (expr);
4437
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4438
g_clear_error (&_inner_error_);
4443
_vala_code_node_unref0 (expr);
4447
case VALA_TOKEN_TYPE_OPEN_BRACE:
4449
ValaExpression* _tmp64_;
4450
ValaMemberAccess* _tmp65_;
4451
ValaMemberAccess* ma;
4452
gboolean _tmp66_ = FALSE;
4453
ValaProfile _tmp67_;
4454
_tmp65_ = _vala_code_node_ref0 ((_tmp64_ = expr, VALA_IS_MEMBER_ACCESS (_tmp64_) ? ((ValaMemberAccess*) _tmp64_) : NULL));
4456
_tmp67_ = vala_code_context_get_profile (self->priv->context);
4457
if (_tmp67_ == VALA_PROFILE_DOVA) {
4458
_tmp66_ = ma != NULL;
4463
ValaExpression* _tmp68_ = NULL;
4464
ValaExpression* _tmp69_;
4465
ValaExpression* _tmp70_;
4466
_tmp68_ = vala_parser_parse_object_literal (self, &begin, ma, &_inner_error_);
4468
if (_inner_error_ != NULL) {
4469
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4470
g_propagate_error (error, _inner_error_);
4471
_vala_code_node_unref0 (ma);
4472
_vala_code_node_unref0 (expr);
4475
_vala_code_node_unref0 (ma);
4476
_vala_code_node_unref0 (expr);
4477
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4478
g_clear_error (&_inner_error_);
4483
_vala_code_node_unref0 (expr);
4488
_vala_code_node_unref0 (ma);
4491
case VALA_TOKEN_TYPE_OP_INC:
4493
ValaExpression* _tmp71_ = NULL;
4494
ValaExpression* _tmp72_;
4495
ValaExpression* _tmp73_;
4496
_tmp71_ = vala_parser_parse_post_increment_expression (self, &begin, expr, &_inner_error_);
4498
if (_inner_error_ != NULL) {
4499
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4500
g_propagate_error (error, _inner_error_);
4501
_vala_code_node_unref0 (expr);
4504
_vala_code_node_unref0 (expr);
4505
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
4506
g_clear_error (&_inner_error_);
4511
_vala_code_node_unref0 (expr);
4526
_vala_code_node_unref0 (expr);
4515
4530
case VALA_TOKEN_TYPE_OP_DEC:
4517
ValaExpression* _tmp74_ = NULL;
4518
ValaExpression* _tmp75_;
4519
ValaExpression* _tmp76_;
4520
_tmp74_ = vala_parser_parse_post_decrement_expression (self, &begin, expr, &_inner_error_);
4532
ValaExpression* _tmp53_ = NULL;
4533
ValaExpression* _tmp54_;
4534
_tmp53_ = vala_parser_parse_post_decrement_expression (self, &begin, expr, &_inner_error_);
4522
4536
if (_inner_error_ != NULL) {
4523
4537
if (_inner_error_->domain == VALA_PARSE_ERROR) {
4524
4538
g_propagate_error (error, _inner_error_);
5997
6044
_tmp7_ = vala_collection_get_size ((ValaCollection*) size_specifier_list);
5998
6045
_tmp8_ = vala_code_node_get_source_reference ((ValaCodeNode*) element_type);
5999
6046
_tmp9_ = vala_array_type_new (element_type, _tmp7_, _tmp8_);
6000
_tmp10_ = (ValaDataType*) _tmp9_;
6001
6047
_vala_code_node_unref0 (element_type);
6002
element_type = _tmp10_;
6048
element_type = (ValaDataType*) _tmp9_;
6006
_tmp11_ = vala_array_list_new (VALA_TYPE_EXPRESSION, (GBoxedCopyFunc) vala_code_node_ref, vala_code_node_unref, g_direct_equal);
6007
_tmp12_ = (ValaList*) _tmp11_;
6052
_tmp10_ = vala_array_list_new (VALA_TYPE_EXPRESSION, (GBoxedCopyFunc) vala_code_node_ref, vala_code_node_unref, g_direct_equal);
6008
6053
_vala_iterable_unref0 (size_specifier_list);
6009
size_specifier_list = _tmp12_;
6054
size_specifier_list = (ValaList*) _tmp10_;
6014
6059
ValaExpression* size;
6015
gboolean _tmp17_ = FALSE;
6016
ValaTokenType _tmp18_;
6018
gboolean _tmp14_ = FALSE;
6019
ValaProfile _tmp15_;
6020
_tmp15_ = vala_code_context_get_profile (self->priv->context);
6021
if (_tmp15_ != VALA_PROFILE_DOVA) {
6023
_tmp16_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
6060
gboolean _tmp15_ = FALSE;
6061
ValaTokenType _tmp16_;
6063
gboolean _tmp12_ = FALSE;
6064
ValaProfile _tmp13_;
6065
_tmp13_ = vala_code_context_get_profile (self->priv->context);
6066
if (_tmp13_ != VALA_PROFILE_DOVA) {
6068
_tmp14_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
6034
_tmp18_ = vala_parser_current (self);
6035
if (_tmp18_ != VALA_TOKEN_TYPE_CLOSE_BRACKET) {
6036
ValaTokenType _tmp19_;
6037
_tmp19_ = vala_parser_current (self);
6038
_tmp17_ = _tmp19_ != VALA_TOKEN_TYPE_COMMA;
6079
_tmp16_ = vala_parser_current (self);
6080
if (_tmp16_ != VALA_TOKEN_TYPE_CLOSE_BRACKET) {
6081
ValaTokenType _tmp17_;
6082
_tmp17_ = vala_parser_current (self);
6083
_tmp15_ = _tmp17_ != VALA_TOKEN_TYPE_COMMA;
6043
ValaExpression* _tmp20_ = NULL;
6044
ValaExpression* _tmp21_;
6045
ValaExpression* _tmp22_;
6046
_tmp20_ = vala_parser_parse_expression (self, &_inner_error_);
6088
ValaExpression* _tmp18_ = NULL;
6089
ValaExpression* _tmp19_;
6090
_tmp18_ = vala_parser_parse_expression (self, &_inner_error_);
6048
6092
if (_inner_error_ != NULL) {
6049
6093
if (_inner_error_->domain == VALA_PARSE_ERROR) {
6050
6094
g_propagate_error (error, _inner_error_);
8427
8479
_tmp8_ = vala_parser_get_src (self, &begin);
8428
8480
_tmp9_ = _tmp8_;
8429
8481
_tmp10_ = vala_assignment_new (expr, rhs, operator, _tmp9_);
8430
_tmp11_ = (ValaExpression*) _tmp10_;
8431
8482
_vala_code_node_unref0 (expr);
8483
expr = (ValaExpression*) _tmp10_;
8433
8484
_vala_source_reference_unref0 (_tmp9_);
8434
8485
_vala_code_node_unref0 (rhs);
8436
ValaTokenType _tmp12_;
8437
_tmp12_ = vala_parser_current (self);
8438
if (_tmp12_ == VALA_TOKEN_TYPE_OP_GT) {
8487
ValaTokenType _tmp11_;
8488
_tmp11_ = vala_parser_current (self);
8489
if (_tmp11_ == VALA_TOKEN_TYPE_OP_GT) {
8439
8490
gchar* first_gt_pos;
8440
gboolean _tmp13_ = FALSE;
8441
ValaTokenType _tmp14_;
8491
gboolean _tmp12_ = FALSE;
8492
ValaTokenType _tmp13_;
8442
8493
first_gt_pos = self->priv->tokens[self->priv->index].begin.pos;
8443
8494
vala_parser_next (self);
8444
_tmp14_ = vala_parser_current (self);
8445
if (_tmp14_ == VALA_TOKEN_TYPE_OP_GE) {
8446
_tmp13_ = self->priv->tokens[self->priv->index].begin.pos == (first_gt_pos + 1);
8495
_tmp13_ = vala_parser_current (self);
8496
if (_tmp13_ == VALA_TOKEN_TYPE_OP_GE) {
8497
_tmp12_ = self->priv->tokens[self->priv->index].begin.pos == (first_gt_pos + 1);
8451
ValaExpression* _tmp15_ = NULL;
8502
ValaExpression* _tmp14_ = NULL;
8452
8503
ValaExpression* rhs;
8453
ValaSourceReference* _tmp16_ = NULL;
8454
ValaSourceReference* _tmp17_;
8455
ValaAssignment* _tmp18_ = NULL;
8456
ValaExpression* _tmp19_;
8504
ValaSourceReference* _tmp15_ = NULL;
8505
ValaSourceReference* _tmp16_;
8506
ValaAssignment* _tmp17_ = NULL;
8457
8507
vala_parser_next (self);
8458
_tmp15_ = vala_parser_parse_expression (self, &_inner_error_);
8508
_tmp14_ = vala_parser_parse_expression (self, &_inner_error_);
8460
8510
if (_inner_error_ != NULL) {
8461
8511
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8462
8512
g_propagate_error (error, _inner_error_);
8665
8761
g_clear_error (&_inner_error_);
8669
_vala_code_node_unref0 (stmt);
8673
case VALA_TOKEN_TYPE_FOR:
8675
ValaStatement* _tmp28_ = NULL;
8676
ValaStatement* _tmp29_;
8764
_vala_code_node_unref0 (stmt);
8768
case VALA_TOKEN_TYPE_CONTINUE:
8770
ValaStatement* _tmp27_ = NULL;
8771
ValaStatement* _tmp28_;
8772
_tmp27_ = vala_parser_parse_continue_statement (self, &_inner_error_);
8774
if (_inner_error_ != NULL) {
8775
_vala_code_node_unref0 (stmt);
8776
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8777
goto __catch10_vala_parse_error;
8779
_vala_code_node_unref0 (stmt);
8780
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8781
g_clear_error (&_inner_error_);
8784
_vala_code_node_unref0 (stmt);
8788
case VALA_TOKEN_TYPE_RETURN:
8790
ValaStatement* _tmp29_ = NULL;
8677
8791
ValaStatement* _tmp30_;
8678
_tmp28_ = vala_parser_parse_for_statement (self, &_inner_error_);
8680
if (_inner_error_ != NULL) {
8681
_vala_code_node_unref0 (stmt);
8682
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8683
goto __catch10_vala_parse_error;
8685
_vala_code_node_unref0 (stmt);
8686
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8687
g_clear_error (&_inner_error_);
8792
_tmp29_ = vala_parser_parse_return_statement (self, &_inner_error_);
8690
8793
_tmp30_ = _tmp29_;
8794
if (_inner_error_ != NULL) {
8795
_vala_code_node_unref0 (stmt);
8796
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8797
goto __catch10_vala_parse_error;
8799
_vala_code_node_unref0 (stmt);
8800
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8801
g_clear_error (&_inner_error_);
8691
8804
_vala_code_node_unref0 (stmt);
8692
8805
stmt = _tmp30_;
8695
case VALA_TOKEN_TYPE_FOREACH:
8808
case VALA_TOKEN_TYPE_YIELD:
8697
8810
ValaStatement* _tmp31_ = NULL;
8698
8811
ValaStatement* _tmp32_;
8699
ValaStatement* _tmp33_;
8700
_tmp31_ = vala_parser_parse_foreach_statement (self, &_inner_error_);
8812
_tmp31_ = vala_parser_parse_yield_statement (self, &_inner_error_);
8701
8813
_tmp32_ = _tmp31_;
8702
8814
if (_inner_error_ != NULL) {
8703
8815
_vala_code_node_unref0 (stmt);
8709
8821
g_clear_error (&_inner_error_);
8713
_vala_code_node_unref0 (stmt);
8717
case VALA_TOKEN_TYPE_BREAK:
8719
ValaStatement* _tmp34_ = NULL;
8720
ValaStatement* _tmp35_;
8824
_vala_code_node_unref0 (stmt);
8828
case VALA_TOKEN_TYPE_THROW:
8830
ValaStatement* _tmp33_ = NULL;
8831
ValaStatement* _tmp34_;
8832
_tmp33_ = vala_parser_parse_throw_statement (self, &_inner_error_);
8834
if (_inner_error_ != NULL) {
8835
_vala_code_node_unref0 (stmt);
8836
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8837
goto __catch10_vala_parse_error;
8839
_vala_code_node_unref0 (stmt);
8840
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8841
g_clear_error (&_inner_error_);
8844
_vala_code_node_unref0 (stmt);
8848
case VALA_TOKEN_TYPE_TRY:
8850
ValaStatement* _tmp35_ = NULL;
8721
8851
ValaStatement* _tmp36_;
8722
_tmp34_ = vala_parser_parse_break_statement (self, &_inner_error_);
8724
if (_inner_error_ != NULL) {
8725
_vala_code_node_unref0 (stmt);
8726
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8727
goto __catch10_vala_parse_error;
8729
_vala_code_node_unref0 (stmt);
8730
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8731
g_clear_error (&_inner_error_);
8852
_tmp35_ = vala_parser_parse_try_statement (self, &_inner_error_);
8734
8853
_tmp36_ = _tmp35_;
8854
if (_inner_error_ != NULL) {
8855
_vala_code_node_unref0 (stmt);
8856
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8857
goto __catch10_vala_parse_error;
8859
_vala_code_node_unref0 (stmt);
8860
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8861
g_clear_error (&_inner_error_);
8735
8864
_vala_code_node_unref0 (stmt);
8736
8865
stmt = _tmp36_;
8739
case VALA_TOKEN_TYPE_CONTINUE:
8868
case VALA_TOKEN_TYPE_LOCK:
8741
8870
ValaStatement* _tmp37_ = NULL;
8742
8871
ValaStatement* _tmp38_;
8743
ValaStatement* _tmp39_;
8744
_tmp37_ = vala_parser_parse_continue_statement (self, &_inner_error_);
8872
_tmp37_ = vala_parser_parse_lock_statement (self, &_inner_error_);
8745
8873
_tmp38_ = _tmp37_;
8746
8874
if (_inner_error_ != NULL) {
8747
8875
_vala_code_node_unref0 (stmt);
8753
8881
g_clear_error (&_inner_error_);
8757
_vala_code_node_unref0 (stmt);
8761
case VALA_TOKEN_TYPE_RETURN:
8763
ValaStatement* _tmp40_ = NULL;
8764
ValaStatement* _tmp41_;
8765
ValaStatement* _tmp42_;
8766
_tmp40_ = vala_parser_parse_return_statement (self, &_inner_error_);
8768
if (_inner_error_ != NULL) {
8769
_vala_code_node_unref0 (stmt);
8770
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8771
goto __catch10_vala_parse_error;
8773
_vala_code_node_unref0 (stmt);
8774
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8775
g_clear_error (&_inner_error_);
8779
_vala_code_node_unref0 (stmt);
8783
case VALA_TOKEN_TYPE_YIELD:
8785
ValaStatement* _tmp43_ = NULL;
8786
ValaStatement* _tmp44_;
8787
ValaStatement* _tmp45_;
8788
_tmp43_ = vala_parser_parse_yield_statement (self, &_inner_error_);
8790
if (_inner_error_ != NULL) {
8791
_vala_code_node_unref0 (stmt);
8792
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8793
goto __catch10_vala_parse_error;
8795
_vala_code_node_unref0 (stmt);
8796
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8797
g_clear_error (&_inner_error_);
8801
_vala_code_node_unref0 (stmt);
8805
case VALA_TOKEN_TYPE_THROW:
8807
ValaStatement* _tmp46_ = NULL;
8808
ValaStatement* _tmp47_;
8809
ValaStatement* _tmp48_;
8810
_tmp46_ = vala_parser_parse_throw_statement (self, &_inner_error_);
8812
if (_inner_error_ != NULL) {
8813
_vala_code_node_unref0 (stmt);
8814
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8815
goto __catch10_vala_parse_error;
8817
_vala_code_node_unref0 (stmt);
8818
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8819
g_clear_error (&_inner_error_);
8823
_vala_code_node_unref0 (stmt);
8827
case VALA_TOKEN_TYPE_TRY:
8829
ValaStatement* _tmp49_ = NULL;
8830
ValaStatement* _tmp50_;
8831
ValaStatement* _tmp51_;
8832
_tmp49_ = vala_parser_parse_try_statement (self, &_inner_error_);
8834
if (_inner_error_ != NULL) {
8835
_vala_code_node_unref0 (stmt);
8836
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8837
goto __catch10_vala_parse_error;
8839
_vala_code_node_unref0 (stmt);
8840
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8841
g_clear_error (&_inner_error_);
8845
_vala_code_node_unref0 (stmt);
8849
case VALA_TOKEN_TYPE_LOCK:
8851
ValaStatement* _tmp52_ = NULL;
8852
ValaStatement* _tmp53_;
8853
ValaStatement* _tmp54_;
8854
_tmp52_ = vala_parser_parse_lock_statement (self, &_inner_error_);
8856
if (_inner_error_ != NULL) {
8857
_vala_code_node_unref0 (stmt);
8858
if (_inner_error_->domain == VALA_PARSE_ERROR) {
8859
goto __catch10_vala_parse_error;
8861
_vala_code_node_unref0 (stmt);
8862
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
8863
g_clear_error (&_inner_error_);
8867
_vala_code_node_unref0 (stmt);
8884
_vala_code_node_unref0 (stmt);
8871
8888
case VALA_TOKEN_TYPE_DELETE:
8873
ValaStatement* _tmp55_ = NULL;
8874
ValaStatement* _tmp56_;
8875
ValaStatement* _tmp57_;
8876
_tmp55_ = vala_parser_parse_delete_statement (self, &_inner_error_);
8890
ValaStatement* _tmp39_ = NULL;
8891
ValaStatement* _tmp40_;
8892
_tmp39_ = vala_parser_parse_delete_statement (self, &_inner_error_);
8878
8894
if (_inner_error_ != NULL) {
8879
8895
_vala_code_node_unref0 (stmt);
8880
8896
if (_inner_error_->domain == VALA_PARSE_ERROR) {
9005
9016
if (!is_decl) {
9006
gboolean _tmp65_ = FALSE;
9007
ValaProfile _tmp66_;
9008
_tmp66_ = vala_code_context_get_profile (self->priv->context);
9009
if (_tmp66_ == VALA_PROFILE_DOVA) {
9010
_tmp65_ = VALA_IS_RETURN_STATEMENT (stmt);
9017
gboolean _tmp46_ = FALSE;
9018
ValaProfile _tmp47_;
9019
_tmp47_ = vala_code_context_get_profile (self->priv->context);
9020
if (_tmp47_ == VALA_PROFILE_DOVA) {
9021
_tmp46_ = VALA_IS_RETURN_STATEMENT (stmt);
9015
ValaReturnStatement* _tmp67_;
9026
ValaReturnStatement* _tmp48_;
9016
9027
ValaReturnStatement* ret_stmt;
9017
ValaExpression* _tmp68_ = NULL;
9018
_tmp67_ = _vala_code_node_ref0 (VALA_RETURN_STATEMENT (stmt));
9020
_tmp68_ = vala_return_statement_get_return_expression (ret_stmt);
9021
if (_tmp68_ != NULL) {
9022
ValaSourceReference* _tmp69_ = NULL;
9023
ValaMemberAccess* _tmp70_ = NULL;
9024
ValaMemberAccess* _tmp71_;
9025
ValaExpression* _tmp72_ = NULL;
9026
ValaSourceReference* _tmp73_ = NULL;
9027
ValaAssignment* _tmp74_ = NULL;
9028
ValaAssignment* _tmp75_;
9028
ValaExpression* _tmp49_ = NULL;
9029
_tmp48_ = _vala_code_node_ref0 (VALA_RETURN_STATEMENT (stmt));
9031
_tmp49_ = vala_return_statement_get_return_expression (ret_stmt);
9032
if (_tmp49_ != NULL) {
9033
ValaSourceReference* _tmp50_ = NULL;
9034
ValaMemberAccess* _tmp51_ = NULL;
9035
ValaMemberAccess* _tmp52_;
9036
ValaExpression* _tmp53_ = NULL;
9037
ValaSourceReference* _tmp54_ = NULL;
9038
ValaAssignment* _tmp55_ = NULL;
9039
ValaAssignment* _tmp56_;
9029
9040
ValaAssignment* assignment;
9030
ValaSourceReference* _tmp76_ = NULL;
9031
ValaExpressionStatement* _tmp77_ = NULL;
9032
ValaExpressionStatement* _tmp78_;
9033
_tmp69_ = vala_code_node_get_source_reference ((ValaCodeNode*) stmt);
9034
_tmp70_ = vala_member_access_new_simple ("result", _tmp69_);
9036
_tmp72_ = vala_return_statement_get_return_expression (ret_stmt);
9037
_tmp73_ = vala_code_node_get_source_reference ((ValaCodeNode*) stmt);
9038
_tmp74_ = vala_assignment_new ((ValaExpression*) _tmp71_, _tmp72_, VALA_ASSIGNMENT_OPERATOR_SIMPLE, _tmp73_);
9039
assignment = (_tmp75_ = _tmp74_, _vala_code_node_unref0 (_tmp71_), _tmp75_);
9041
ValaSourceReference* _tmp57_ = NULL;
9042
ValaExpressionStatement* _tmp58_ = NULL;
9043
ValaExpressionStatement* _tmp59_;
9044
_tmp50_ = vala_code_node_get_source_reference ((ValaCodeNode*) stmt);
9045
_tmp51_ = vala_member_access_new_simple ("result", _tmp50_);
9047
_tmp53_ = vala_return_statement_get_return_expression (ret_stmt);
9048
_tmp54_ = vala_code_node_get_source_reference ((ValaCodeNode*) stmt);
9049
_tmp55_ = vala_assignment_new ((ValaExpression*) _tmp52_, _tmp53_, VALA_ASSIGNMENT_OPERATOR_SIMPLE, _tmp54_);
9051
_vala_code_node_unref0 (_tmp52_);
9052
assignment = _tmp56_;
9040
9053
vala_return_statement_set_return_expression (ret_stmt, NULL);
9041
_tmp76_ = vala_code_node_get_source_reference ((ValaCodeNode*) stmt);
9042
_tmp77_ = vala_expression_statement_new ((ValaExpression*) assignment, _tmp76_);
9044
vala_block_add_statement (block, (ValaStatement*) _tmp78_);
9045
_vala_code_node_unref0 (_tmp78_);
9054
_tmp57_ = vala_code_node_get_source_reference ((ValaCodeNode*) stmt);
9055
_tmp58_ = vala_expression_statement_new ((ValaExpression*) assignment, _tmp57_);
9057
vala_block_add_statement (block, (ValaStatement*) _tmp59_);
9058
_vala_code_node_unref0 (_tmp59_);
9046
9059
_vala_code_node_unref0 (assignment);
9048
9061
_vala_code_node_unref0 (ret_stmt);
9196
_tmp12_ = vala_code_context_get_profile (self->priv->context);
9197
if (_tmp12_ == VALA_PROFILE_DOVA) {
9198
_tmp11_ = VALA_IS_RETURN_STATEMENT (stmt);
9211
_tmp11_ = vala_code_context_get_profile (self->priv->context);
9212
if (_tmp11_ == VALA_PROFILE_DOVA) {
9213
_tmp10_ = VALA_IS_RETURN_STATEMENT (stmt);
9203
ValaReturnStatement* _tmp13_;
9218
ValaReturnStatement* _tmp12_;
9204
9219
ValaReturnStatement* ret_stmt;
9205
ValaExpression* _tmp14_ = NULL;
9206
_tmp13_ = _vala_code_node_ref0 (VALA_RETURN_STATEMENT (stmt));
9208
_tmp14_ = vala_return_statement_get_return_expression (ret_stmt);
9209
if (_tmp14_ != NULL) {
9210
ValaMemberAccess* _tmp15_ = NULL;
9211
ValaMemberAccess* _tmp16_;
9212
ValaExpression* _tmp17_ = NULL;
9213
ValaAssignment* _tmp18_ = NULL;
9214
ValaAssignment* _tmp19_;
9220
ValaExpression* _tmp13_ = NULL;
9221
_tmp12_ = _vala_code_node_ref0 (VALA_RETURN_STATEMENT (stmt));
9223
_tmp13_ = vala_return_statement_get_return_expression (ret_stmt);
9224
if (_tmp13_ != NULL) {
9225
ValaMemberAccess* _tmp14_ = NULL;
9226
ValaMemberAccess* _tmp15_;
9227
ValaExpression* _tmp16_ = NULL;
9228
ValaAssignment* _tmp17_ = NULL;
9229
ValaAssignment* _tmp18_;
9215
9230
ValaAssignment* assignment;
9216
ValaExpressionStatement* _tmp20_ = NULL;
9217
ValaExpressionStatement* _tmp21_;
9218
_tmp15_ = vala_member_access_new_simple ("result", NULL);
9220
_tmp17_ = vala_return_statement_get_return_expression (ret_stmt);
9221
_tmp18_ = vala_assignment_new ((ValaExpression*) _tmp16_, _tmp17_, VALA_ASSIGNMENT_OPERATOR_SIMPLE, NULL);
9222
assignment = (_tmp19_ = _tmp18_, _vala_code_node_unref0 (_tmp16_), _tmp19_);
9231
ValaExpressionStatement* _tmp19_ = NULL;
9232
ValaExpressionStatement* _tmp20_;
9233
_tmp14_ = vala_member_access_new_simple ("result", NULL);
9235
_tmp16_ = vala_return_statement_get_return_expression (ret_stmt);
9236
_tmp17_ = vala_assignment_new ((ValaExpression*) _tmp15_, _tmp16_, VALA_ASSIGNMENT_OPERATOR_SIMPLE, NULL);
9238
_vala_code_node_unref0 (_tmp15_);
9239
assignment = _tmp18_;
9223
9240
vala_return_statement_set_return_expression (ret_stmt, NULL);
9224
_tmp20_ = vala_expression_statement_new ((ValaExpression*) assignment, NULL);
9226
vala_block_add_statement (block, (ValaStatement*) _tmp21_);
9227
_vala_code_node_unref0 (_tmp21_);
9241
_tmp19_ = vala_expression_statement_new ((ValaExpression*) assignment, NULL);
9243
vala_block_add_statement (block, (ValaStatement*) _tmp20_);
9244
_vala_code_node_unref0 (_tmp20_);
9228
9245
_vala_code_node_unref0 (assignment);
9230
9247
_vala_code_node_unref0 (ret_stmt);
9788
9811
_vala_code_node_unref0 (variable_type);
9789
variable_type = _tmp4_;
9812
variable_type = _tmp2_;
9795
gboolean _tmp7_ = FALSE;
9818
gboolean _tmp5_ = FALSE;
9796
9819
ValaDataType* type_copy;
9797
ValaLocalVariable* _tmp43_ = NULL;
9820
ValaLocalVariable* _tmp40_ = NULL;
9798
9821
ValaLocalVariable* local;
9799
ValaSourceReference* _tmp44_ = NULL;
9800
ValaDeclarationStatement* _tmp45_ = NULL;
9801
ValaDeclarationStatement* _tmp46_;
9804
_tmp6_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
9822
ValaSourceReference* _tmp41_ = NULL;
9823
ValaDeclarationStatement* _tmp42_ = NULL;
9824
ValaDeclarationStatement* _tmp43_;
9827
_tmp4_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
9810
9833
if (variable_type == NULL) {
9812
_tmp8_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OPEN_PARENS);
9835
_tmp6_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OPEN_PARENS);
9818
ValaSourceLocation _tmp9_ = {0};
9819
ValaSourceLocation _tmp10_ = {0};
9841
ValaSourceLocation _tmp7_ = {0};
9842
ValaSourceLocation _tmp8_ = {0};
9820
9843
ValaSourceLocation begin;
9821
gchar** _tmp11_ = NULL;
9844
gchar** _tmp9_ = NULL;
9822
9845
gchar** identifiers;
9823
9846
gint identifiers_length1;
9824
9847
gint _identifiers_size_;
9825
ValaExpression* _tmp16_ = NULL;
9848
ValaExpression* _tmp14_ = NULL;
9826
9849
ValaExpression* tuple;
9827
gchar* _tmp17_ = NULL;
9829
ValaSourceReference* _tmp19_ = NULL;
9830
ValaSourceReference* _tmp20_;
9831
ValaLocalVariable* _tmp21_ = NULL;
9832
ValaLocalVariable* _tmp22_;
9850
gchar* _tmp15_ = NULL;
9852
ValaSourceReference* _tmp17_ = NULL;
9853
ValaSourceReference* _tmp18_;
9854
ValaLocalVariable* _tmp19_ = NULL;
9855
ValaLocalVariable* _tmp20_;
9833
9856
ValaLocalVariable* tuple_local;
9834
ValaSourceReference* _tmp23_ = NULL;
9835
ValaDeclarationStatement* _tmp24_ = NULL;
9836
ValaDeclarationStatement* _tmp25_;
9837
_tmp10_ = (vala_parser_get_location (self, &_tmp9_), _tmp9_);
9839
_tmp11_ = g_new0 (gchar*, 0 + 1);
9840
identifiers = _tmp11_;
9857
ValaSourceReference* _tmp21_ = NULL;
9858
ValaDeclarationStatement* _tmp22_ = NULL;
9859
ValaDeclarationStatement* _tmp23_;
9860
vala_parser_get_location (self, &_tmp7_);
9863
_tmp9_ = g_new0 (gchar*, 0 + 1);
9864
identifiers = _tmp9_;
9841
9865
identifiers_length1 = 0;
9842
9866
_identifiers_size_ = 0;
9847
gchar* _tmp14_ = NULL;
9851
_tmp13_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
9871
gchar* _tmp12_ = NULL;
9875
_tmp11_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
9857
_tmp14_ = vala_parser_parse_identifier (self, &_inner_error_);
9881
_tmp12_ = vala_parser_parse_identifier (self, &_inner_error_);
9859
9883
if (_inner_error_ != NULL) {
9860
9884
if (_inner_error_->domain == VALA_PARSE_ERROR) {
9861
9885
g_propagate_error (error, _inner_error_);
9922
_tmp17_ = vala_code_node_get_temp_name ();
9946
_tmp15_ = vala_code_node_get_temp_name ();
9948
_tmp17_ = vala_parser_get_src (self, &begin);
9923
9949
_tmp18_ = _tmp17_;
9924
_tmp19_ = vala_parser_get_src (self, &begin);
9950
_tmp19_ = vala_local_variable_new (NULL, _tmp16_, tuple, _tmp18_);
9925
9951
_tmp20_ = _tmp19_;
9926
_tmp21_ = vala_local_variable_new (NULL, _tmp18_, tuple, _tmp20_);
9927
tuple_local = (_tmp22_ = _tmp21_, _vala_source_reference_unref0 (_tmp20_), _g_free0 (_tmp18_), _tmp22_);
9928
_tmp23_ = vala_code_node_get_source_reference ((ValaCodeNode*) tuple_local);
9929
_tmp24_ = vala_declaration_statement_new ((ValaSymbol*) tuple_local, _tmp23_);
9931
vala_block_add_statement (block, (ValaStatement*) _tmp25_);
9932
_vala_code_node_unref0 (_tmp25_);
9952
_vala_source_reference_unref0 (_tmp18_);
9954
tuple_local = _tmp20_;
9955
_tmp21_ = vala_code_node_get_source_reference ((ValaCodeNode*) tuple_local);
9956
_tmp22_ = vala_declaration_statement_new ((ValaSymbol*) tuple_local, _tmp21_);
9958
vala_block_add_statement (block, (ValaStatement*) _tmp23_);
9959
_vala_code_node_unref0 (_tmp23_);
9940
const gchar* _tmp27_ = NULL;
9967
const gchar* _tmp25_ = NULL;
9968
ValaSourceReference* _tmp26_ = NULL;
9969
ValaMemberAccess* _tmp27_ = NULL;
9970
ValaMemberAccess* temp_access;
9941
9971
ValaSourceReference* _tmp28_ = NULL;
9942
ValaMemberAccess* _tmp29_ = NULL;
9943
ValaMemberAccess* temp_access;
9944
ValaSourceReference* _tmp30_ = NULL;
9945
ValaElementAccess* _tmp31_ = NULL;
9972
ValaElementAccess* _tmp29_ = NULL;
9946
9973
ValaElementAccess* ea;
9947
gchar* _tmp32_ = NULL;
9949
ValaIntegerLiteral* _tmp34_ = NULL;
9950
ValaIntegerLiteral* _tmp35_;
9974
gchar* _tmp30_ = NULL;
9976
ValaIntegerLiteral* _tmp32_ = NULL;
9977
ValaIntegerLiteral* _tmp33_;
9978
ValaSourceReference* _tmp34_ = NULL;
9979
ValaLocalVariable* _tmp35_ = NULL;
9980
ValaLocalVariable* local;
9951
9981
ValaSourceReference* _tmp36_ = NULL;
9952
ValaLocalVariable* _tmp37_ = NULL;
9953
ValaLocalVariable* local;
9954
ValaSourceReference* _tmp38_ = NULL;
9955
ValaDeclarationStatement* _tmp39_ = NULL;
9956
ValaDeclarationStatement* _tmp40_;
9982
ValaDeclarationStatement* _tmp37_ = NULL;
9983
ValaDeclarationStatement* _tmp38_;
9961
9988
if (!(i < identifiers_length1)) {
9964
_tmp27_ = vala_symbol_get_name ((ValaSymbol*) tuple_local);
9991
_tmp25_ = vala_symbol_get_name ((ValaSymbol*) tuple_local);
9992
_tmp26_ = vala_code_node_get_source_reference ((ValaCodeNode*) tuple_local);
9993
_tmp27_ = vala_member_access_new_simple (_tmp25_, _tmp26_);
9994
temp_access = _tmp27_;
9965
9995
_tmp28_ = vala_code_node_get_source_reference ((ValaCodeNode*) tuple_local);
9966
_tmp29_ = vala_member_access_new_simple (_tmp27_, _tmp28_);
9967
temp_access = _tmp29_;
9968
_tmp30_ = vala_code_node_get_source_reference ((ValaCodeNode*) tuple_local);
9969
_tmp31_ = vala_element_access_new ((ValaExpression*) temp_access, _tmp30_);
9971
_tmp32_ = g_strdup_printf ("%i", i);
9996
_tmp29_ = vala_element_access_new ((ValaExpression*) temp_access, _tmp28_);
9998
_tmp30_ = g_strdup_printf ("%i", i);
10000
_tmp32_ = vala_integer_literal_new (_tmp31_, NULL);
9972
10001
_tmp33_ = _tmp32_;
9973
_tmp34_ = vala_integer_literal_new (_tmp33_, NULL);
9975
vala_element_access_append_index (ea, (ValaExpression*) _tmp35_);
9976
_vala_code_node_unref0 (_tmp35_);
9978
_tmp36_ = vala_code_node_get_source_reference ((ValaCodeNode*) tuple_local);
9979
_tmp37_ = vala_local_variable_new (NULL, identifiers[i], (ValaExpression*) ea, _tmp36_);
9981
_tmp38_ = vala_code_node_get_source_reference ((ValaCodeNode*) local);
9982
_tmp39_ = vala_declaration_statement_new ((ValaSymbol*) local, _tmp38_);
9984
vala_block_add_statement (block, (ValaStatement*) _tmp40_);
9985
_vala_code_node_unref0 (_tmp40_);
10002
vala_element_access_append_index (ea, (ValaExpression*) _tmp33_);
10003
_vala_code_node_unref0 (_tmp33_);
10004
_g_free0 (_tmp31_);
10005
_tmp34_ = vala_code_node_get_source_reference ((ValaCodeNode*) tuple_local);
10006
_tmp35_ = vala_local_variable_new (NULL, identifiers[i], (ValaExpression*) ea, _tmp34_);
10008
_tmp36_ = vala_code_node_get_source_reference ((ValaCodeNode*) local);
10009
_tmp37_ = vala_declaration_statement_new ((ValaSymbol*) local, _tmp36_);
10011
vala_block_add_statement (block, (ValaStatement*) _tmp38_);
10012
_vala_code_node_unref0 (_tmp38_);
9986
10013
_vala_code_node_unref0 (local);
9987
10014
_vala_code_node_unref0 (ea);
9988
10015
_vala_code_node_unref0 (temp_access);
11269
_tmp29_ = vala_for_statement_new (condition, body, src);
11308
_tmp27_ = vala_for_statement_new (condition, body, src);
11272
ValaArrayList* _tmp30_;
11311
ValaArrayList* _tmp28_;
11273
11312
ValaArrayList* _init_list;
11275
11314
gint _init_size;
11276
11315
gint _init_index;
11277
_tmp30_ = _vala_iterable_ref0 (initializer_list);
11278
_init_list = _tmp30_;
11279
_tmp31_ = vala_collection_get_size ((ValaCollection*) _init_list);
11280
_init_size = _tmp31_;
11316
_tmp28_ = _vala_iterable_ref0 (initializer_list);
11317
_init_list = _tmp28_;
11318
_tmp29_ = vala_collection_get_size ((ValaCollection*) _init_list);
11319
_init_size = _tmp29_;
11281
11320
_init_index = -1;
11282
11321
while (TRUE) {
11283
gpointer _tmp32_ = NULL;
11322
gpointer _tmp30_ = NULL;
11284
11323
ValaExpression* init;
11285
11324
_init_index = _init_index + 1;
11286
11325
if (!(_init_index < _init_size)) {
11289
_tmp32_ = vala_list_get ((ValaList*) _init_list, _init_index);
11290
init = (ValaExpression*) _tmp32_;
11328
_tmp30_ = vala_list_get ((ValaList*) _init_list, _init_index);
11329
init = (ValaExpression*) _tmp30_;
11291
11330
vala_for_statement_add_initializer (stmt, init);
11292
11331
_vala_code_node_unref0 (init);
11294
11333
_vala_iterable_unref0 (_init_list);
11297
ValaArrayList* _tmp33_;
11336
ValaArrayList* _tmp31_;
11298
11337
ValaArrayList* _iter_list;
11300
11339
gint _iter_size;
11301
11340
gint _iter_index;
11302
_tmp33_ = _vala_iterable_ref0 (iterator_list);
11303
_iter_list = _tmp33_;
11304
_tmp34_ = vala_collection_get_size ((ValaCollection*) _iter_list);
11305
_iter_size = _tmp34_;
11341
_tmp31_ = _vala_iterable_ref0 (iterator_list);
11342
_iter_list = _tmp31_;
11343
_tmp32_ = vala_collection_get_size ((ValaCollection*) _iter_list);
11344
_iter_size = _tmp32_;
11306
11345
_iter_index = -1;
11307
11346
while (TRUE) {
11308
gpointer _tmp35_ = NULL;
11347
gpointer _tmp33_ = NULL;
11309
11348
ValaExpression* iter;
11310
11349
_iter_index = _iter_index + 1;
11311
11350
if (!(_iter_index < _iter_size)) {
11314
_tmp35_ = vala_list_get ((ValaList*) _iter_list, _iter_index);
11315
iter = (ValaExpression*) _tmp35_;
11353
_tmp33_ = vala_list_get ((ValaList*) _iter_list, _iter_index);
11354
iter = (ValaExpression*) _tmp33_;
11316
11355
vala_for_statement_add_iterator (stmt, iter);
11317
11356
_vala_code_node_unref0 (iter);
12513
_tmp19_ = vala_parser_parse_attribute_value (self, &_inner_error_);
12573
_tmp18_ = vala_parser_parse_attribute_value (self, &_inner_error_);
12575
if (_inner_error_ != NULL) {
12576
if (_inner_error_->domain == VALA_PARSE_ERROR) {
12577
g_propagate_error (error, _inner_error_);
12578
_vala_code_node_unref0 (attr);
12580
_vala_iterable_unref0 (attrs);
12583
_vala_code_node_unref0 (attr);
12585
_vala_iterable_unref0 (attrs);
12586
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12587
g_clear_error (&_inner_error_);
12514
12591
_tmp20_ = _tmp19_;
12515
if (_inner_error_ != NULL) {
12516
if (_inner_error_->domain == VALA_PARSE_ERROR) {
12517
g_propagate_error (error, _inner_error_);
12518
_vala_code_node_unref0 (attr);
12520
_vala_iterable_unref0 (attrs);
12523
_vala_code_node_unref0 (attr);
12525
_vala_iterable_unref0 (attrs);
12526
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
12527
g_clear_error (&_inner_error_);
12532
vala_attribute_add_argument (attr, id, _tmp21_);
12533
_g_free0 (_tmp21_);
12592
vala_attribute_add_argument (attr, id, _tmp20_);
12593
_g_free0 (_tmp20_);
13541
_tmp12_ = vala_scanner_get_source_file (self->priv->scanner);
13542
vala_source_file_set_current_using_directives (_tmp12_, old_using_directives);
13543
_tmp13_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CLOSE_BRACE);
13545
ValaReport* _tmp14_ = NULL;
13547
_tmp14_ = vala_code_context_get_report (self->priv->context);
13548
_tmp15_ = vala_report_get_errors (_tmp14_);
13549
if (_tmp15_ == 0) {
13550
ValaSourceReference* _tmp16_ = NULL;
13551
ValaSourceReference* _tmp17_;
13552
_tmp16_ = vala_parser_get_current_src (self);
13554
vala_report_error (_tmp17_, "expected `}'");
13555
_vala_source_reference_unref0 (_tmp17_);
13611
_tmp11_ = vala_scanner_get_source_file (self->priv->scanner);
13612
vala_source_file_set_current_using_directives (_tmp11_, old_using_directives);
13613
_tmp12_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CLOSE_BRACE);
13615
ValaReport* _tmp13_ = NULL;
13617
_tmp13_ = vala_code_context_get_report (self->priv->context);
13618
_tmp14_ = vala_report_get_errors (_tmp13_);
13619
if (_tmp14_ == 0) {
13620
ValaSourceReference* _tmp15_ = NULL;
13621
ValaSourceReference* _tmp16_;
13622
_tmp15_ = vala_parser_get_current_src (self);
13624
vala_report_error (_tmp16_, "expected `}'");
13625
_vala_source_reference_unref0 (_tmp16_);
13558
_tmp18_ = _vala_code_node_ref0 ((ValaSymbol*) ns);
13559
_result_ = _tmp18_;
13628
_tmp17_ = _vala_code_node_ref0 ((ValaSymbol*) ns);
13629
_result_ = _tmp17_;
13560
13630
while (TRUE) {
13561
ValaUnresolvedSymbol* _tmp19_ = NULL;
13562
ValaUnresolvedSymbol* _tmp20_;
13563
ValaUnresolvedSymbol* _tmp21_;
13564
ValaSymbol* _tmp22_ = NULL;
13565
ValaSymbol* _tmp29_;
13631
ValaUnresolvedSymbol* _tmp18_ = NULL;
13632
ValaUnresolvedSymbol* _tmp19_;
13633
ValaSymbol* _tmp20_ = NULL;
13634
ValaSymbol* _tmp25_;
13566
13635
ValaSymbol* next;
13567
ValaSymbol* _tmp30_;
13568
ValaSymbol* _tmp31_;
13636
ValaSymbol* _tmp26_;
13569
13637
if (!(sym != NULL)) {
13572
_tmp19_ = vala_unresolved_symbol_get_inner (sym);
13573
_tmp20_ = _vala_code_node_ref0 (_tmp19_);
13640
_tmp18_ = vala_unresolved_symbol_get_inner (sym);
13641
_tmp19_ = _vala_code_node_ref0 (_tmp18_);
13575
13642
_vala_code_node_unref0 (sym);
13577
13644
if (sym != NULL) {
13578
const gchar* _tmp23_ = NULL;
13579
ValaSourceReference* _tmp24_ = NULL;
13580
ValaNamespace* _tmp25_ = NULL;
13581
ValaSymbol* _tmp26_;
13582
_tmp23_ = vala_symbol_get_name ((ValaSymbol*) sym);
13583
_tmp24_ = vala_code_node_get_source_reference ((ValaCodeNode*) ns);
13584
_tmp25_ = vala_namespace_new (_tmp23_, _tmp24_);
13585
_tmp26_ = (ValaSymbol*) _tmp25_;
13586
_vala_code_node_unref0 (_tmp22_);
13645
const gchar* _tmp21_ = NULL;
13646
ValaSourceReference* _tmp22_ = NULL;
13647
ValaNamespace* _tmp23_ = NULL;
13648
_tmp21_ = vala_symbol_get_name ((ValaSymbol*) sym);
13649
_tmp22_ = vala_code_node_get_source_reference ((ValaCodeNode*) ns);
13650
_tmp23_ = vala_namespace_new (_tmp21_, _tmp22_);
13651
_vala_code_node_unref0 (_tmp20_);
13652
_tmp20_ = (ValaSymbol*) _tmp23_;
13589
ValaSymbol* _tmp27_;
13590
ValaSymbol* _tmp28_;
13591
_tmp27_ = _vala_code_node_ref0 (parent);
13593
_vala_code_node_unref0 (_tmp22_);
13654
ValaSymbol* _tmp24_;
13655
_tmp24_ = _vala_code_node_ref0 (parent);
13656
_vala_code_node_unref0 (_tmp20_);
13596
_tmp29_ = _vala_code_node_ref0 (_tmp22_);
13659
_tmp25_ = _vala_code_node_ref0 (_tmp20_);
13598
13661
vala_symbol_add_namespace (next, VALA_NAMESPACE (_result_));
13599
_tmp30_ = _vala_code_node_ref0 (next);
13662
_tmp26_ = _vala_code_node_ref0 (next);
13601
13663
_vala_code_node_unref0 (_result_);
13602
_result_ = _tmp31_;
13664
_result_ = _tmp26_;
13603
13665
_vala_code_node_unref0 (next);
13604
_vala_code_node_unref0 (_tmp22_);
13666
_vala_code_node_unref0 (_tmp20_);
13606
13668
_vala_code_node_unref0 (_result_);
13607
13669
_vala_iterable_unref0 (old_using_directives);
13925
13993
while (TRUE) {
13926
13994
ValaUnresolvedSymbol* _tmp38_ = NULL;
13927
13995
ValaUnresolvedSymbol* _tmp39_;
13928
ValaUnresolvedSymbol* _tmp40_;
13929
ValaSymbol* _tmp41_ = NULL;
13930
ValaSymbol* _tmp48_;
13996
ValaSymbol* _tmp40_ = NULL;
13997
ValaSymbol* _tmp45_;
13931
13998
ValaSymbol* next;
13932
ValaSymbol* _tmp49_;
13933
ValaSymbol* _tmp50_;
13999
ValaSymbol* _tmp46_;
13934
14000
if (!(sym != NULL)) {
13937
14003
_tmp38_ = vala_unresolved_symbol_get_inner (sym);
13938
14004
_tmp39_ = _vala_code_node_ref0 (_tmp38_);
13940
14005
_vala_code_node_unref0 (sym);
13942
14007
if (sym != NULL) {
13943
const gchar* _tmp42_ = NULL;
13944
ValaSourceReference* _tmp43_ = NULL;
13945
ValaNamespace* _tmp44_ = NULL;
13946
ValaSymbol* _tmp45_;
13947
_tmp42_ = vala_symbol_get_name ((ValaSymbol*) sym);
13948
_tmp43_ = vala_code_node_get_source_reference ((ValaCodeNode*) cl);
13949
_tmp44_ = vala_namespace_new (_tmp42_, _tmp43_);
13950
_tmp45_ = (ValaSymbol*) _tmp44_;
13951
_vala_code_node_unref0 (_tmp41_);
14008
const gchar* _tmp41_ = NULL;
14009
ValaSourceReference* _tmp42_ = NULL;
14010
ValaNamespace* _tmp43_ = NULL;
14011
_tmp41_ = vala_symbol_get_name ((ValaSymbol*) sym);
14012
_tmp42_ = vala_code_node_get_source_reference ((ValaCodeNode*) cl);
14013
_tmp43_ = vala_namespace_new (_tmp41_, _tmp42_);
14014
_vala_code_node_unref0 (_tmp40_);
14015
_tmp40_ = (ValaSymbol*) _tmp43_;
13954
ValaSymbol* _tmp46_;
13955
ValaSymbol* _tmp47_;
13956
_tmp46_ = _vala_code_node_ref0 (parent);
13958
_vala_code_node_unref0 (_tmp41_);
14017
ValaSymbol* _tmp44_;
14018
_tmp44_ = _vala_code_node_ref0 (parent);
14019
_vala_code_node_unref0 (_tmp40_);
13961
_tmp48_ = _vala_code_node_ref0 (_tmp41_);
14022
_tmp45_ = _vala_code_node_ref0 (_tmp40_);
13963
14024
if (VALA_IS_NAMESPACE (_result_)) {
13964
14025
vala_symbol_add_namespace (next, VALA_NAMESPACE (_result_));
13966
14027
vala_symbol_add_class (next, VALA_CLASS (_result_));
13968
_tmp49_ = _vala_code_node_ref0 (next);
14029
_tmp46_ = _vala_code_node_ref0 (next);
13970
14030
_vala_code_node_unref0 (_result_);
13971
_result_ = _tmp50_;
14031
_result_ = _tmp46_;
13972
14032
_vala_code_node_unref0 (next);
13973
_vala_code_node_unref0 (_tmp41_);
14033
_vala_code_node_unref0 (_tmp40_);
13975
14035
_vala_code_node_unref0 (_result_);
13976
14036
_vala_code_node_unref0 (cl);
14119
_tmp14_ = _vala_code_node_ref0 ((_tmp13_ = type, VALA_IS_ARRAY_TYPE (_tmp13_) ? ((ValaArrayType*) _tmp13_) : NULL));
14120
array_type = _tmp14_;
14177
_tmp12_ = _vala_code_node_ref0 (VALA_IS_ARRAY_TYPE (_tmp11_) ? ((ValaArrayType*) _tmp11_) : NULL);
14178
array_type = _tmp12_;
14121
14179
if (array_type != NULL) {
14122
ValaDataType* _tmp15_ = NULL;
14123
_tmp15_ = vala_array_type_get_element_type (array_type);
14124
vala_data_type_set_value_owned (_tmp15_, FALSE);
14180
ValaDataType* _tmp13_ = NULL;
14181
_tmp13_ = vala_array_type_get_element_type (array_type);
14182
vala_data_type_set_value_owned (_tmp13_, FALSE);
14126
_tmp16_ = vala_parser_get_src (self, &begin);
14184
_tmp14_ = vala_parser_get_src (self, &begin);
14186
_tmp16_ = vala_constant_new (id, type, initializer, _tmp15_, self->priv->comment);
14127
14187
_tmp17_ = _tmp16_;
14128
_tmp18_ = vala_constant_new (id, type, initializer, _tmp17_, self->priv->comment);
14129
c = (_tmp19_ = _tmp18_, _vala_source_reference_unref0 (_tmp17_), _tmp19_);
14188
_vala_source_reference_unref0 (_tmp15_);
14130
14190
vala_symbol_set_access ((ValaSymbol*) c, access);
14131
14191
if ((flags & VALA_PARSER_MODIFIER_FLAGS_EXTERN) == VALA_PARSER_MODIFIER_FLAGS_EXTERN) {
14134
ValaSourceFile* _tmp21_ = NULL;
14135
ValaSourceFileType _tmp22_;
14136
_tmp21_ = vala_scanner_get_source_file (self->priv->scanner);
14137
_tmp22_ = vala_source_file_get_file_type (_tmp21_);
14138
_tmp20_ = _tmp22_ == VALA_SOURCE_FILE_TYPE_PACKAGE;
14194
ValaSourceFile* _tmp19_ = NULL;
14195
ValaSourceFileType _tmp20_;
14196
_tmp19_ = vala_scanner_get_source_file (self->priv->scanner);
14197
_tmp20_ = vala_source_file_get_file_type (_tmp19_);
14198
_tmp18_ = _tmp20_ == VALA_SOURCE_FILE_TYPE_PACKAGE;
14141
14201
vala_symbol_set_external ((ValaSymbol*) c, TRUE);
14143
14203
if ((flags & VALA_PARSER_MODIFIER_FLAGS_NEW) == VALA_PARSER_MODIFIER_FLAGS_NEW) {
14252
14313
if ((flags & VALA_PARSER_MODIFIER_FLAGS_ABSTRACT) == VALA_PARSER_MODIFIER_FLAGS_ABSTRACT) {
14255
_tmp15_ = (flags & VALA_PARSER_MODIFIER_FLAGS_VIRTUAL) == VALA_PARSER_MODIFIER_FLAGS_VIRTUAL;
14258
14314
_tmp14_ = TRUE;
14260
_tmp14_ = (flags & VALA_PARSER_MODIFIER_FLAGS_OVERRIDE) == VALA_PARSER_MODIFIER_FLAGS_OVERRIDE;
14316
_tmp14_ = (flags & VALA_PARSER_MODIFIER_FLAGS_VIRTUAL) == VALA_PARSER_MODIFIER_FLAGS_VIRTUAL;
14262
14318
if (_tmp14_) {
14263
ValaSourceReference* _tmp16_ = NULL;
14264
_tmp16_ = vala_code_node_get_source_reference ((ValaCodeNode*) f);
14265
vala_report_error (_tmp16_, "abstract, virtual, and override modifiers are not applicable to fields");
14321
_tmp13_ = (flags & VALA_PARSER_MODIFIER_FLAGS_OVERRIDE) == VALA_PARSER_MODIFIER_FLAGS_OVERRIDE;
14324
ValaSourceReference* _tmp15_ = NULL;
14325
_tmp15_ = vala_code_node_get_source_reference ((ValaCodeNode*) f);
14326
vala_report_error (_tmp15_, "abstract, virtual, and override modifiers are not applicable to fields");
14267
14328
if ((flags & VALA_PARSER_MODIFIER_FLAGS_EXTERN) == VALA_PARSER_MODIFIER_FLAGS_EXTERN) {
14270
ValaSourceFile* _tmp18_ = NULL;
14271
ValaSourceFileType _tmp19_;
14272
_tmp18_ = vala_scanner_get_source_file (self->priv->scanner);
14273
_tmp19_ = vala_source_file_get_file_type (_tmp18_);
14274
_tmp17_ = _tmp19_ == VALA_SOURCE_FILE_TYPE_PACKAGE;
14331
ValaSourceFile* _tmp17_ = NULL;
14332
ValaSourceFileType _tmp18_;
14333
_tmp17_ = vala_scanner_get_source_file (self->priv->scanner);
14334
_tmp18_ = vala_source_file_get_file_type (_tmp17_);
14335
_tmp16_ = _tmp18_ == VALA_SOURCE_FILE_TYPE_PACKAGE;
14277
14338
vala_symbol_set_external ((ValaSymbol*) f, TRUE);
14279
14340
if ((flags & VALA_PARSER_MODIFIER_FLAGS_NEW) == VALA_PARSER_MODIFIER_FLAGS_NEW) {
14280
14341
vala_symbol_set_hides ((ValaSymbol*) f, TRUE);
14282
_tmp20_ = vala_parser_accept (self, VALA_TOKEN_TYPE_ASSIGN);
14284
ValaExpression* _tmp21_ = NULL;
14343
_tmp19_ = vala_parser_accept (self, VALA_TOKEN_TYPE_ASSIGN);
14345
ValaExpression* _tmp20_ = NULL;
14346
ValaExpression* _tmp21_;
14285
14347
ValaExpression* _tmp22_;
14286
ValaExpression* _tmp23_;
14287
_tmp21_ = vala_parser_parse_expression (self, &_inner_error_);
14348
_tmp20_ = vala_parser_parse_expression (self, &_inner_error_);
14350
if (_inner_error_ != NULL) {
14351
if (_inner_error_->domain == VALA_PARSE_ERROR) {
14352
g_propagate_error (error, _inner_error_);
14353
_vala_code_node_unref0 (f);
14355
_vala_code_node_unref0 (type);
14358
_vala_code_node_unref0 (f);
14360
_vala_code_node_unref0 (type);
14361
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14362
g_clear_error (&_inner_error_);
14288
14366
_tmp22_ = _tmp21_;
14289
if (_inner_error_ != NULL) {
14290
if (_inner_error_->domain == VALA_PARSE_ERROR) {
14291
g_propagate_error (error, _inner_error_);
14292
_vala_code_node_unref0 (f);
14294
_vala_code_node_unref0 (type);
14297
_vala_code_node_unref0 (f);
14299
_vala_code_node_unref0 (type);
14300
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
14301
g_clear_error (&_inner_error_);
14306
vala_variable_set_initializer ((ValaVariable*) f, _tmp23_);
14307
_vala_code_node_unref0 (_tmp23_);
14367
vala_variable_set_initializer ((ValaVariable*) f, _tmp22_);
14368
_vala_code_node_unref0 (_tmp22_);
14309
14370
vala_parser_expect (self, VALA_TOKEN_TYPE_SEMICOLON, &_inner_error_);
14310
14371
if (_inner_error_ != NULL) {
15638
15726
ValaComment* _tmp37_ = NULL;
15639
ValaComment* _tmp38_;
15727
ValaSourceLocation _tmp38_ = {0};
15640
15728
ValaSourceLocation _tmp39_ = {0};
15641
ValaSourceLocation _tmp40_ = {0};
15642
15729
ValaSourceLocation accessor_begin;
15643
ValaList* _tmp41_ = NULL;
15730
ValaList* _tmp40_ = NULL;
15644
15731
ValaList* accessor_attrs;
15645
ValaSymbolAccessibility _tmp42_;
15732
ValaSymbolAccessibility _tmp41_;
15646
15733
ValaSymbolAccessibility accessor_access;
15647
ValaDataType* _tmp43_ = NULL;
15734
ValaDataType* _tmp42_ = NULL;
15648
15735
ValaDataType* value_type;
15649
gboolean _tmp44_ = FALSE;
15650
ValaProfile _tmp45_;
15736
gboolean _tmp43_ = FALSE;
15737
ValaProfile _tmp44_;
15652
15739
_tmp37_ = vala_scanner_pop_comment (self->priv->scanner);
15654
15740
_vala_comment_unref0 (self->priv->comment);
15655
self->priv->comment = _tmp38_;
15656
_tmp40_ = (vala_parser_get_location (self, &_tmp39_), _tmp39_);
15657
accessor_begin = _tmp40_;
15658
_tmp41_ = vala_parser_parse_attributes (self, &_inner_error_);
15659
accessor_attrs = _tmp41_;
15741
self->priv->comment = _tmp37_;
15742
vala_parser_get_location (self, &_tmp38_);
15744
accessor_begin = _tmp39_;
15745
_tmp40_ = vala_parser_parse_attributes (self, &_inner_error_);
15746
accessor_attrs = _tmp40_;
15660
15747
if (_inner_error_ != NULL) {
15661
15748
if (_inner_error_->domain == VALA_PARSE_ERROR) {
15662
15749
g_propagate_error (error, _inner_error_);
15676
_tmp42_ = vala_parser_parse_access_modifier (self, VALA_SYMBOL_ACCESSIBILITY_PUBLIC);
15677
accessor_access = _tmp42_;
15678
_tmp43_ = vala_data_type_copy (type);
15679
value_type = _tmp43_;
15680
_tmp45_ = vala_code_context_get_profile (self->priv->context);
15681
if (_tmp45_ != VALA_PROFILE_DOVA) {
15683
_tmp46_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OWNED);
15763
_tmp41_ = vala_parser_parse_access_modifier (self, VALA_SYMBOL_ACCESSIBILITY_PUBLIC);
15764
accessor_access = _tmp41_;
15765
_tmp42_ = vala_data_type_copy (type);
15766
value_type = _tmp42_;
15767
_tmp44_ = vala_code_context_get_profile (self->priv->context);
15768
if (_tmp44_ != VALA_PROFILE_DOVA) {
15770
_tmp45_ = vala_parser_accept (self, VALA_TOKEN_TYPE_OWNED);
15688
vala_data_type_set_value_owned (value_type, _tmp44_);
15689
_tmp47_ = vala_parser_accept (self, VALA_TOKEN_TYPE_GET);
15691
ValaPropertyAccessor* _tmp48_ = NULL;
15775
vala_data_type_set_value_owned (value_type, _tmp43_);
15776
_tmp46_ = vala_parser_accept (self, VALA_TOKEN_TYPE_GET);
15778
ValaPropertyAccessor* _tmp47_ = NULL;
15692
15779
ValaBlock* block;
15694
ValaSourceReference* _tmp57_ = NULL;
15695
ValaSourceReference* _tmp58_;
15781
ValaSourceReference* _tmp55_ = NULL;
15782
ValaSourceReference* _tmp56_;
15783
ValaPropertyAccessor* _tmp57_ = NULL;
15784
ValaPropertyAccessor* _tmp58_;
15696
15785
ValaPropertyAccessor* _tmp59_ = NULL;
15697
ValaPropertyAccessor* _tmp60_;
15698
ValaPropertyAccessor* _tmp61_ = NULL;
15699
ValaPropertyAccessor* _tmp62_ = NULL;
15700
_tmp48_ = vala_property_get_get_accessor (prop);
15701
if (_tmp48_ != NULL) {
15702
gchar* _tmp49_ = NULL;
15704
GError* _tmp51_ = NULL;
15706
_tmp49_ = vala_parser_get_error (self, "property get accessor already defined");
15708
_tmp51_ = g_error_new_literal (VALA_PARSE_ERROR, VALA_PARSE_ERROR_SYNTAX, _tmp50_);
15709
_inner_error_ = (_tmp52_ = _tmp51_, _g_free0 (_tmp50_), _tmp52_);
15786
ValaPropertyAccessor* _tmp60_ = NULL;
15787
_tmp47_ = vala_property_get_get_accessor (prop);
15788
if (_tmp47_ != NULL) {
15789
gchar* _tmp48_ = NULL;
15791
GError* _tmp50_ = NULL;
15793
_tmp48_ = vala_parser_get_error (self, "property get accessor already defined");
15795
_tmp50_ = g_error_new_literal (VALA_PARSE_ERROR, VALA_PARSE_ERROR_SYNTAX, _tmp49_);
15797
_g_free0 (_tmp49_);
15798
_inner_error_ = _tmp51_;
15710
15799
if (_inner_error_->domain == VALA_PARSE_ERROR) {
15711
15800
g_propagate_error (error, _inner_error_);
15712
15801
_vala_code_node_unref0 (value_type);
15763
15850
_vala_code_node_unref0 (block);
15765
15852
vala_symbol_set_external ((ValaSymbol*) prop, FALSE);
15767
_tmp57_ = vala_parser_get_src (self, &accessor_begin);
15854
_tmp55_ = vala_parser_get_src (self, &accessor_begin);
15856
_tmp57_ = vala_property_accessor_new (TRUE, FALSE, FALSE, value_type, block, _tmp56_, self->priv->comment);
15768
15857
_tmp58_ = _tmp57_;
15769
_tmp59_ = vala_property_accessor_new (TRUE, FALSE, FALSE, value_type, block, _tmp58_, self->priv->comment);
15771
vala_property_set_get_accessor (prop, _tmp60_);
15772
_vala_code_node_unref0 (_tmp60_);
15773
_vala_source_reference_unref0 (_tmp58_);
15774
_tmp61_ = vala_property_get_get_accessor (prop);
15775
vala_parser_set_attributes (self, (ValaCodeNode*) _tmp61_, accessor_attrs);
15776
_tmp62_ = vala_property_get_get_accessor (prop);
15777
vala_symbol_set_access ((ValaSymbol*) _tmp62_, accessor_access);
15858
vala_property_set_get_accessor (prop, _tmp58_);
15859
_vala_code_node_unref0 (_tmp58_);
15860
_vala_source_reference_unref0 (_tmp56_);
15861
_tmp59_ = vala_property_get_get_accessor (prop);
15862
vala_parser_set_attributes (self, (ValaCodeNode*) _tmp59_, accessor_attrs);
15863
_tmp60_ = vala_property_get_get_accessor (prop);
15864
vala_symbol_set_access ((ValaSymbol*) _tmp60_, accessor_access);
15778
15865
_vala_code_node_unref0 (block);
15780
15867
gboolean writable = FALSE;
15781
15868
gboolean _construct = FALSE;
15783
ValaPropertyAccessor* _tmp75_ = NULL;
15870
ValaPropertyAccessor* _tmp73_ = NULL;
15784
15871
ValaBlock* block;
15786
ValaSourceReference* _tmp84_ = NULL;
15787
ValaSourceReference* _tmp85_;
15873
ValaSourceReference* _tmp81_ = NULL;
15874
ValaSourceReference* _tmp82_;
15875
ValaPropertyAccessor* _tmp83_ = NULL;
15876
ValaPropertyAccessor* _tmp84_;
15877
ValaPropertyAccessor* _tmp85_ = NULL;
15788
15878
ValaPropertyAccessor* _tmp86_ = NULL;
15789
ValaPropertyAccessor* _tmp87_;
15790
ValaPropertyAccessor* _tmp88_ = NULL;
15791
ValaPropertyAccessor* _tmp89_ = NULL;
15792
_tmp63_ = vala_parser_accept (self, VALA_TOKEN_TYPE_SET);
15794
gboolean _tmp64_ = FALSE;
15795
ValaProfile _tmp65_;
15879
_tmp61_ = vala_parser_accept (self, VALA_TOKEN_TYPE_SET);
15881
gboolean _tmp62_ = FALSE;
15882
ValaProfile _tmp63_;
15796
15883
writable = TRUE;
15797
_tmp65_ = vala_code_context_get_profile (self->priv->context);
15798
if (_tmp65_ == VALA_PROFILE_GOBJECT) {
15800
_tmp66_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CONSTRUCT);
15884
_tmp63_ = vala_code_context_get_profile (self->priv->context);
15885
if (_tmp63_ == VALA_PROFILE_GOBJECT) {
15887
_tmp64_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CONSTRUCT);
15805
_construct = _tmp64_;
15892
_construct = _tmp62_;
15807
gboolean _tmp67_ = FALSE;
15808
ValaProfile _tmp68_;
15809
_tmp68_ = vala_code_context_get_profile (self->priv->context);
15810
if (_tmp68_ == VALA_PROFILE_GOBJECT) {
15812
_tmp69_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CONSTRUCT);
15894
gboolean _tmp65_ = FALSE;
15895
ValaProfile _tmp66_;
15896
_tmp66_ = vala_code_context_get_profile (self->priv->context);
15897
if (_tmp66_ == VALA_PROFILE_GOBJECT) {
15899
_tmp67_ = vala_parser_accept (self, VALA_TOKEN_TYPE_CONSTRUCT);
15819
15906
_construct = TRUE;
15820
_tmp70_ = vala_parser_accept (self, VALA_TOKEN_TYPE_SET);
15821
writable = _tmp70_;
15907
_tmp68_ = vala_parser_accept (self, VALA_TOKEN_TYPE_SET);
15908
writable = _tmp68_;
15823
gchar* _tmp71_ = NULL;
15825
GError* _tmp73_ = NULL;
15827
_tmp71_ = vala_parser_get_error (self, "expected get, set, or construct");
15910
gchar* _tmp69_ = NULL;
15912
GError* _tmp71_ = NULL;
15914
_tmp69_ = vala_parser_get_error (self, "expected get, set, or construct");
15916
_tmp71_ = g_error_new_literal (VALA_PARSE_ERROR, VALA_PARSE_ERROR_SYNTAX, _tmp70_);
15828
15917
_tmp72_ = _tmp71_;
15829
_tmp73_ = g_error_new_literal (VALA_PARSE_ERROR, VALA_PARSE_ERROR_SYNTAX, _tmp72_);
15830
_inner_error_ = (_tmp74_ = _tmp73_, _g_free0 (_tmp72_), _tmp74_);
15918
_g_free0 (_tmp70_);
15919
_inner_error_ = _tmp72_;
15831
15920
if (_inner_error_->domain == VALA_PARSE_ERROR) {
15832
15921
g_propagate_error (error, _inner_error_);
15833
15922
_vala_code_node_unref0 (value_type);
15911
16000
_vala_code_node_unref0 (block);
15913
16002
vala_symbol_set_external ((ValaSymbol*) prop, FALSE);
15915
_tmp84_ = vala_parser_get_src (self, &accessor_begin);
15917
_tmp86_ = vala_property_accessor_new (FALSE, writable, _construct, value_type, block, _tmp85_, self->priv->comment);
15919
vala_property_set_set_accessor (prop, _tmp87_);
15920
_vala_code_node_unref0 (_tmp87_);
15921
_vala_source_reference_unref0 (_tmp85_);
15922
_tmp88_ = vala_property_get_set_accessor (prop);
15923
vala_parser_set_attributes (self, (ValaCodeNode*) _tmp88_, accessor_attrs);
15924
_tmp89_ = vala_property_get_set_accessor (prop);
15925
vala_symbol_set_access ((ValaSymbol*) _tmp89_, accessor_access);
16004
_tmp81_ = vala_parser_get_src (self, &accessor_begin);
16006
_tmp83_ = vala_property_accessor_new (FALSE, writable, _construct, value_type, block, _tmp82_, self->priv->comment);
16008
vala_property_set_set_accessor (prop, _tmp84_);
16009
_vala_code_node_unref0 (_tmp84_);
16010
_vala_source_reference_unref0 (_tmp82_);
16011
_tmp85_ = vala_property_get_set_accessor (prop);
16012
vala_parser_set_attributes (self, (ValaCodeNode*) _tmp85_, accessor_attrs);
16013
_tmp86_ = vala_property_get_set_accessor (prop);
16014
vala_symbol_set_access ((ValaSymbol*) _tmp86_, accessor_access);
15926
16015
_vala_code_node_unref0 (block);
15928
16017
_vala_code_node_unref0 (value_type);
15949
_tmp91_ = vala_property_get_is_abstract (prop);
15951
ValaSourceFileType _tmp92_;
15952
_tmp92_ = vala_symbol_get_source_type ((ValaSymbol*) prop);
15953
_tmp90_ = _tmp92_ == VALA_SOURCE_FILE_TYPE_SOURCE;
16038
_tmp88_ = vala_property_get_is_abstract (prop);
16040
ValaSourceFileType _tmp89_;
16041
_tmp89_ = vala_symbol_get_source_type ((ValaSymbol*) prop);
16042
_tmp87_ = _tmp89_ == VALA_SOURCE_FILE_TYPE_SOURCE;
15958
gboolean _tmp93_ = FALSE;
15959
ValaPropertyAccessor* _tmp94_ = NULL;
16047
gboolean _tmp90_ = FALSE;
16048
ValaPropertyAccessor* _tmp91_ = NULL;
15960
16049
gboolean empty_get;
15961
gboolean _tmp97_ = FALSE;
15962
ValaPropertyAccessor* _tmp98_ = NULL;
16050
gboolean _tmp94_ = FALSE;
16051
ValaPropertyAccessor* _tmp95_ = NULL;
15963
16052
gboolean empty_set;
15964
gboolean _tmp103_ = FALSE;
15965
_tmp94_ = vala_property_get_get_accessor (prop);
15966
if (_tmp94_ != NULL) {
15967
ValaPropertyAccessor* _tmp95_ = NULL;
15968
ValaBlock* _tmp96_ = NULL;
15969
_tmp95_ = vala_property_get_get_accessor (prop);
15970
_tmp96_ = vala_subroutine_get_body ((ValaSubroutine*) _tmp95_);
15971
_tmp93_ = _tmp96_ == NULL;
15975
empty_get = _tmp93_;
15976
_tmp98_ = vala_property_get_set_accessor (prop);
15977
if (_tmp98_ != NULL) {
15978
ValaPropertyAccessor* _tmp99_ = NULL;
15979
ValaBlock* _tmp100_ = NULL;
15980
_tmp99_ = vala_property_get_set_accessor (prop);
15981
_tmp100_ = vala_subroutine_get_body ((ValaSubroutine*) _tmp99_);
15982
_tmp97_ = _tmp100_ == NULL;
15986
empty_set = _tmp97_;
16053
gboolean _tmp100_ = FALSE;
16054
_tmp91_ = vala_property_get_get_accessor (prop);
16055
if (_tmp91_ != NULL) {
16056
ValaPropertyAccessor* _tmp92_ = NULL;
16057
ValaBlock* _tmp93_ = NULL;
16058
_tmp92_ = vala_property_get_get_accessor (prop);
16059
_tmp93_ = vala_subroutine_get_body ((ValaSubroutine*) _tmp92_);
16060
_tmp90_ = _tmp93_ == NULL;
16064
empty_get = _tmp90_;
16065
_tmp95_ = vala_property_get_set_accessor (prop);
16066
if (_tmp95_ != NULL) {
16067
ValaPropertyAccessor* _tmp96_ = NULL;
16068
ValaBlock* _tmp97_ = NULL;
16069
_tmp96_ = vala_property_get_set_accessor (prop);
16070
_tmp97_ = vala_subroutine_get_body ((ValaSubroutine*) _tmp96_);
16071
_tmp94_ = _tmp97_ == NULL;
16075
empty_set = _tmp94_;
15987
16076
if (empty_get != empty_set) {
15988
16077
if (empty_get) {
15989
ValaSourceReference* _tmp101_ = NULL;
15990
_tmp101_ = vala_code_node_get_source_reference ((ValaCodeNode*) prop);
15991
vala_report_error (_tmp101_, "property getter must have a body");
16078
ValaSourceReference* _tmp98_ = NULL;
16079
_tmp98_ = vala_code_node_get_source_reference ((ValaCodeNode*) prop);
16080
vala_report_error (_tmp98_, "property getter must have a body");
15993
16082
if (empty_set) {
15994
ValaSourceReference* _tmp102_ = NULL;
15995
_tmp102_ = vala_code_node_get_source_reference ((ValaCodeNode*) prop);
15996
vala_report_error (_tmp102_, "property setter must have a body");
16083
ValaSourceReference* _tmp99_ = NULL;
16084
_tmp99_ = vala_code_node_get_source_reference ((ValaCodeNode*) prop);
16085
vala_report_error (_tmp99_, "property setter must have a body");
15999
16088
vala_code_node_set_error ((ValaCodeNode*) prop, TRUE);
16001
16090
if (empty_get) {
16002
_tmp103_ = empty_set;
16091
_tmp100_ = empty_set;
16007
ValaDataType* _tmp104_ = NULL;
16008
ValaDataType* _tmp105_ = NULL;
16096
ValaDataType* _tmp101_ = NULL;
16097
ValaDataType* _tmp102_ = NULL;
16009
16098
ValaDataType* variable_type;
16010
const gchar* _tmp106_ = NULL;
16011
gchar* _tmp107_ = NULL;
16013
ValaExpression* _tmp109_ = NULL;
16014
ValaSourceReference* _tmp110_ = NULL;
16099
const gchar* _tmp103_ = NULL;
16100
gchar* _tmp104_ = NULL;
16102
ValaExpression* _tmp106_ = NULL;
16103
ValaSourceReference* _tmp107_ = NULL;
16104
ValaField* _tmp108_ = NULL;
16105
ValaField* _tmp109_;
16106
ValaField* _tmp110_ = NULL;
16015
16107
ValaField* _tmp111_ = NULL;
16016
ValaField* _tmp112_;
16017
ValaField* _tmp113_ = NULL;
16018
ValaField* _tmp114_ = NULL;
16019
ValaMemberBinding _tmp115_;
16020
_tmp104_ = vala_property_get_property_type (prop);
16021
_tmp105_ = vala_data_type_copy (_tmp104_);
16022
variable_type = _tmp105_;
16023
_tmp106_ = vala_symbol_get_name ((ValaSymbol*) prop);
16024
_tmp107_ = g_strdup_printf ("_%s", _tmp106_);
16025
_tmp108_ = _tmp107_;
16026
_tmp109_ = vala_property_get_initializer (prop);
16027
_tmp110_ = vala_code_node_get_source_reference ((ValaCodeNode*) prop);
16028
_tmp111_ = vala_field_new (_tmp108_, variable_type, _tmp109_, _tmp110_, NULL);
16029
_tmp112_ = _tmp111_;
16030
vala_property_set_field (prop, _tmp112_);
16031
_vala_code_node_unref0 (_tmp112_);
16032
_g_free0 (_tmp108_);
16033
_tmp113_ = vala_property_get_field (prop);
16034
vala_symbol_set_access ((ValaSymbol*) _tmp113_, VALA_SYMBOL_ACCESSIBILITY_PRIVATE);
16035
_tmp114_ = vala_property_get_field (prop);
16036
_tmp115_ = vala_property_get_binding (prop);
16037
vala_field_set_binding (_tmp114_, _tmp115_);
16108
ValaMemberBinding _tmp112_;
16109
_tmp101_ = vala_property_get_property_type (prop);
16110
_tmp102_ = vala_data_type_copy (_tmp101_);
16111
variable_type = _tmp102_;
16112
_tmp103_ = vala_symbol_get_name ((ValaSymbol*) prop);
16113
_tmp104_ = g_strdup_printf ("_%s", _tmp103_);
16114
_tmp105_ = _tmp104_;
16115
_tmp106_ = vala_property_get_initializer (prop);
16116
_tmp107_ = vala_code_node_get_source_reference ((ValaCodeNode*) prop);
16117
_tmp108_ = vala_field_new (_tmp105_, variable_type, _tmp106_, _tmp107_, NULL);
16118
_tmp109_ = _tmp108_;
16119
vala_property_set_field (prop, _tmp109_);
16120
_vala_code_node_unref0 (_tmp109_);
16121
_g_free0 (_tmp105_);
16122
_tmp110_ = vala_property_get_field (prop);
16123
vala_symbol_set_access ((ValaSymbol*) _tmp110_, VALA_SYMBOL_ACCESSIBILITY_PRIVATE);
16124
_tmp111_ = vala_property_get_field (prop);
16125
_tmp112_ = vala_property_get_binding (prop);
16126
vala_field_set_binding (_tmp111_, _tmp112_);
16038
16127
_vala_code_node_unref0 (variable_type);
16040
ValaExpression* _tmp116_ = NULL;
16041
_tmp116_ = vala_property_get_initializer (prop);
16042
if (_tmp116_ != NULL) {
16043
ValaExpression* _tmp117_ = NULL;
16044
ValaSourceReference* _tmp118_ = NULL;
16045
_tmp117_ = vala_property_get_initializer (prop);
16046
_tmp118_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp117_);
16047
vala_report_error (_tmp118_, "only automatic properties can have default values");
16129
ValaExpression* _tmp113_ = NULL;
16130
_tmp113_ = vala_property_get_initializer (prop);
16131
if (_tmp113_ != NULL) {
16132
ValaExpression* _tmp114_ = NULL;
16133
ValaSourceReference* _tmp115_ = NULL;
16134
_tmp114_ = vala_property_get_initializer (prop);
16135
_tmp115_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp114_);
16136
vala_report_error (_tmp115_, "only automatic properties can have default values");
16588
16693
_vala_code_node_unref0 (base_type);
16589
base_type = _tmp9_;
16694
base_type = _tmp8_;
16591
_tmp10_ = vala_symbol_get_name ((ValaSymbol*) sym);
16592
_tmp11_ = vala_parser_get_src (self, &begin);
16594
_tmp13_ = vala_struct_new (_tmp10_, _tmp12_, self->priv->comment);
16595
st = (_tmp14_ = _tmp13_, _vala_source_reference_unref0 (_tmp12_), _tmp14_);
16696
_tmp9_ = vala_symbol_get_name ((ValaSymbol*) sym);
16697
_tmp10_ = vala_parser_get_src (self, &begin);
16699
_tmp12_ = vala_struct_new (_tmp9_, _tmp11_, self->priv->comment);
16701
_vala_source_reference_unref0 (_tmp11_);
16596
16703
vala_symbol_set_access ((ValaSymbol*) st, access);
16597
16704
if ((flags & VALA_PARSER_MODIFIER_FLAGS_EXTERN) == VALA_PARSER_MODIFIER_FLAGS_EXTERN) {
16600
ValaSourceFile* _tmp16_ = NULL;
16601
ValaSourceFileType _tmp17_;
16602
_tmp16_ = vala_scanner_get_source_file (self->priv->scanner);
16603
_tmp17_ = vala_source_file_get_file_type (_tmp16_);
16604
_tmp15_ = _tmp17_ == VALA_SOURCE_FILE_TYPE_PACKAGE;
16707
ValaSourceFile* _tmp15_ = NULL;
16708
ValaSourceFileType _tmp16_;
16709
_tmp15_ = vala_scanner_get_source_file (self->priv->scanner);
16710
_tmp16_ = vala_source_file_get_file_type (_tmp15_);
16711
_tmp14_ = _tmp16_ == VALA_SOURCE_FILE_TYPE_PACKAGE;
16607
16714
vala_symbol_set_external ((ValaSymbol*) st, TRUE);
16609
16716
vala_parser_set_attributes (self, (ValaCodeNode*) st, attrs);
16612
16719
ValaList* _type_param_list;
16614
16721
gint _type_param_size;
16615
16722
gint _type_param_index;
16616
_tmp18_ = _vala_iterable_ref0 (type_param_list);
16617
_type_param_list = _tmp18_;
16618
_tmp19_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
16619
_type_param_size = _tmp19_;
16723
_tmp17_ = _vala_iterable_ref0 (type_param_list);
16724
_type_param_list = _tmp17_;
16725
_tmp18_ = vala_collection_get_size ((ValaCollection*) _type_param_list);
16726
_type_param_size = _tmp18_;
16620
16727
_type_param_index = -1;
16621
16728
while (TRUE) {
16622
gpointer _tmp20_ = NULL;
16729
gpointer _tmp19_ = NULL;
16623
16730
ValaTypeParameter* type_param;
16624
16731
_type_param_index = _type_param_index + 1;
16625
16732
if (!(_type_param_index < _type_param_size)) {
16628
_tmp20_ = vala_list_get (_type_param_list, _type_param_index);
16629
type_param = (ValaTypeParameter*) _tmp20_;
16735
_tmp19_ = vala_list_get (_type_param_list, _type_param_index);
16736
type_param = (ValaTypeParameter*) _tmp19_;
16630
16737
vala_struct_add_type_parameter (st, type_param);
16631
16738
_vala_code_node_unref0 (type_param);
16657
_tmp21_ = _vala_code_node_ref0 ((ValaSymbol*) st);
16658
_result_ = _tmp21_;
16764
_tmp20_ = _vala_code_node_ref0 ((ValaSymbol*) st);
16765
_result_ = _tmp20_;
16659
16766
while (TRUE) {
16660
ValaUnresolvedSymbol* _tmp22_ = NULL;
16661
ValaUnresolvedSymbol* _tmp23_;
16662
ValaUnresolvedSymbol* _tmp24_;
16663
ValaSymbol* _tmp25_ = NULL;
16664
ValaSymbol* _tmp32_;
16767
ValaUnresolvedSymbol* _tmp21_ = NULL;
16768
ValaUnresolvedSymbol* _tmp22_;
16769
ValaSymbol* _tmp23_ = NULL;
16770
ValaSymbol* _tmp28_;
16665
16771
ValaSymbol* next;
16666
ValaSymbol* _tmp33_;
16667
ValaSymbol* _tmp34_;
16772
ValaSymbol* _tmp29_;
16668
16773
if (!(sym != NULL)) {
16671
_tmp22_ = vala_unresolved_symbol_get_inner (sym);
16672
_tmp23_ = _vala_code_node_ref0 (_tmp22_);
16776
_tmp21_ = vala_unresolved_symbol_get_inner (sym);
16777
_tmp22_ = _vala_code_node_ref0 (_tmp21_);
16674
16778
_vala_code_node_unref0 (sym);
16676
16780
if (sym != NULL) {
16677
const gchar* _tmp26_ = NULL;
16678
ValaSourceReference* _tmp27_ = NULL;
16679
ValaNamespace* _tmp28_ = NULL;
16680
ValaSymbol* _tmp29_;
16681
_tmp26_ = vala_symbol_get_name ((ValaSymbol*) sym);
16682
_tmp27_ = vala_code_node_get_source_reference ((ValaCodeNode*) st);
16683
_tmp28_ = vala_namespace_new (_tmp26_, _tmp27_);
16684
_tmp29_ = (ValaSymbol*) _tmp28_;
16685
_vala_code_node_unref0 (_tmp25_);
16781
const gchar* _tmp24_ = NULL;
16782
ValaSourceReference* _tmp25_ = NULL;
16783
ValaNamespace* _tmp26_ = NULL;
16784
_tmp24_ = vala_symbol_get_name ((ValaSymbol*) sym);
16785
_tmp25_ = vala_code_node_get_source_reference ((ValaCodeNode*) st);
16786
_tmp26_ = vala_namespace_new (_tmp24_, _tmp25_);
16787
_vala_code_node_unref0 (_tmp23_);
16788
_tmp23_ = (ValaSymbol*) _tmp26_;
16688
ValaSymbol* _tmp30_;
16689
ValaSymbol* _tmp31_;
16690
_tmp30_ = _vala_code_node_ref0 (parent);
16692
_vala_code_node_unref0 (_tmp25_);
16790
ValaSymbol* _tmp27_;
16791
_tmp27_ = _vala_code_node_ref0 (parent);
16792
_vala_code_node_unref0 (_tmp23_);
16695
_tmp32_ = _vala_code_node_ref0 (_tmp25_);
16795
_tmp28_ = _vala_code_node_ref0 (_tmp23_);
16697
16797
if (VALA_IS_NAMESPACE (_result_)) {
16698
16798
vala_symbol_add_namespace (next, VALA_NAMESPACE (_result_));
16700
16800
vala_symbol_add_struct (next, VALA_STRUCT (_result_));
16702
_tmp33_ = _vala_code_node_ref0 (next);
16802
_tmp29_ = _vala_code_node_ref0 (next);
16704
16803
_vala_code_node_unref0 (_result_);
16705
_result_ = _tmp34_;
16804
_result_ = _tmp29_;
16706
16805
_vala_code_node_unref0 (next);
16707
_vala_code_node_unref0 (_tmp25_);
16806
_vala_code_node_unref0 (_tmp23_);
16709
16808
_vala_code_node_unref0 (_result_);
16710
16809
_vala_code_node_unref0 (st);
16918
17020
while (TRUE) {
16919
17021
ValaUnresolvedSymbol* _tmp26_ = NULL;
16920
17022
ValaUnresolvedSymbol* _tmp27_;
16921
ValaUnresolvedSymbol* _tmp28_;
16922
ValaSymbol* _tmp29_ = NULL;
16923
ValaSymbol* _tmp36_;
17023
ValaSymbol* _tmp28_ = NULL;
17024
ValaSymbol* _tmp33_;
16924
17025
ValaSymbol* next;
16925
ValaSymbol* _tmp37_;
16926
ValaSymbol* _tmp38_;
17026
ValaSymbol* _tmp34_;
16927
17027
if (!(sym != NULL)) {
16930
17030
_tmp26_ = vala_unresolved_symbol_get_inner (sym);
16931
17031
_tmp27_ = _vala_code_node_ref0 (_tmp26_);
16933
17032
_vala_code_node_unref0 (sym);
16935
17034
if (sym != NULL) {
16936
const gchar* _tmp30_ = NULL;
16937
ValaSourceReference* _tmp31_ = NULL;
16938
ValaNamespace* _tmp32_ = NULL;
16939
ValaSymbol* _tmp33_;
16940
_tmp30_ = vala_symbol_get_name ((ValaSymbol*) sym);
16941
_tmp31_ = vala_code_node_get_source_reference ((ValaCodeNode*) iface);
16942
_tmp32_ = vala_namespace_new (_tmp30_, _tmp31_);
16943
_tmp33_ = (ValaSymbol*) _tmp32_;
16944
_vala_code_node_unref0 (_tmp29_);
17035
const gchar* _tmp29_ = NULL;
17036
ValaSourceReference* _tmp30_ = NULL;
17037
ValaNamespace* _tmp31_ = NULL;
17038
_tmp29_ = vala_symbol_get_name ((ValaSymbol*) sym);
17039
_tmp30_ = vala_code_node_get_source_reference ((ValaCodeNode*) iface);
17040
_tmp31_ = vala_namespace_new (_tmp29_, _tmp30_);
17041
_vala_code_node_unref0 (_tmp28_);
17042
_tmp28_ = (ValaSymbol*) _tmp31_;
16947
ValaSymbol* _tmp34_;
16948
ValaSymbol* _tmp35_;
16949
_tmp34_ = _vala_code_node_ref0 (parent);
16951
_vala_code_node_unref0 (_tmp29_);
17044
ValaSymbol* _tmp32_;
17045
_tmp32_ = _vala_code_node_ref0 (parent);
17046
_vala_code_node_unref0 (_tmp28_);
16954
_tmp36_ = _vala_code_node_ref0 (_tmp29_);
17049
_tmp33_ = _vala_code_node_ref0 (_tmp28_);
16956
17051
if (VALA_IS_NAMESPACE (_result_)) {
16957
17052
vala_symbol_add_namespace (next, VALA_NAMESPACE (_result_));
16959
17054
vala_symbol_add_interface (next, VALA_INTERFACE (_result_));
16961
_tmp37_ = _vala_code_node_ref0 (next);
17056
_tmp34_ = _vala_code_node_ref0 (next);
16963
17057
_vala_code_node_unref0 (_result_);
16964
_result_ = _tmp38_;
17058
_result_ = _tmp34_;
16965
17059
_vala_code_node_unref0 (next);
16966
_vala_code_node_unref0 (_tmp29_);
17060
_vala_code_node_unref0 (_tmp28_);
16968
17062
_vala_code_node_unref0 (_result_);
16969
17063
_vala_code_node_unref0 (iface);
17233
_tmp36_ = _vala_code_node_ref0 ((ValaSymbol*) en);
17234
_result_ = _tmp36_;
17329
_tmp34_ = _vala_code_node_ref0 ((ValaSymbol*) en);
17330
_result_ = _tmp34_;
17235
17331
while (TRUE) {
17236
ValaUnresolvedSymbol* _tmp37_ = NULL;
17237
ValaUnresolvedSymbol* _tmp38_;
17238
ValaUnresolvedSymbol* _tmp39_;
17239
ValaSymbol* _tmp40_ = NULL;
17240
ValaSymbol* _tmp47_;
17332
ValaUnresolvedSymbol* _tmp35_ = NULL;
17333
ValaUnresolvedSymbol* _tmp36_;
17334
ValaSymbol* _tmp37_ = NULL;
17335
ValaSymbol* _tmp42_;
17241
17336
ValaSymbol* next;
17242
ValaSymbol* _tmp48_;
17243
ValaSymbol* _tmp49_;
17337
ValaSymbol* _tmp43_;
17244
17338
if (!(sym != NULL)) {
17247
_tmp37_ = vala_unresolved_symbol_get_inner (sym);
17248
_tmp38_ = _vala_code_node_ref0 (_tmp37_);
17341
_tmp35_ = vala_unresolved_symbol_get_inner (sym);
17342
_tmp36_ = _vala_code_node_ref0 (_tmp35_);
17250
17343
_vala_code_node_unref0 (sym);
17252
17345
if (sym != NULL) {
17253
const gchar* _tmp41_ = NULL;
17254
ValaSourceReference* _tmp42_ = NULL;
17255
ValaNamespace* _tmp43_ = NULL;
17256
ValaSymbol* _tmp44_;
17257
_tmp41_ = vala_symbol_get_name ((ValaSymbol*) sym);
17258
_tmp42_ = vala_code_node_get_source_reference ((ValaCodeNode*) en);
17259
_tmp43_ = vala_namespace_new (_tmp41_, _tmp42_);
17260
_tmp44_ = (ValaSymbol*) _tmp43_;
17261
_vala_code_node_unref0 (_tmp40_);
17346
const gchar* _tmp38_ = NULL;
17347
ValaSourceReference* _tmp39_ = NULL;
17348
ValaNamespace* _tmp40_ = NULL;
17349
_tmp38_ = vala_symbol_get_name ((ValaSymbol*) sym);
17350
_tmp39_ = vala_code_node_get_source_reference ((ValaCodeNode*) en);
17351
_tmp40_ = vala_namespace_new (_tmp38_, _tmp39_);
17352
_vala_code_node_unref0 (_tmp37_);
17353
_tmp37_ = (ValaSymbol*) _tmp40_;
17264
ValaSymbol* _tmp45_;
17265
ValaSymbol* _tmp46_;
17266
_tmp45_ = _vala_code_node_ref0 (parent);
17268
_vala_code_node_unref0 (_tmp40_);
17355
ValaSymbol* _tmp41_;
17356
_tmp41_ = _vala_code_node_ref0 (parent);
17357
_vala_code_node_unref0 (_tmp37_);
17271
_tmp47_ = _vala_code_node_ref0 (_tmp40_);
17360
_tmp42_ = _vala_code_node_ref0 (_tmp37_);
17273
17362
if (VALA_IS_NAMESPACE (_result_)) {
17274
17363
vala_symbol_add_namespace (next, VALA_NAMESPACE (_result_));
17276
17365
vala_symbol_add_enum (next, VALA_ENUM (_result_));
17278
_tmp48_ = _vala_code_node_ref0 (next);
17367
_tmp43_ = _vala_code_node_ref0 (next);
17280
17368
_vala_code_node_unref0 (_result_);
17281
_result_ = _tmp49_;
17369
_result_ = _tmp43_;
17282
17370
_vala_code_node_unref0 (next);
17283
_vala_code_node_unref0 (_tmp40_);
17371
_vala_code_node_unref0 (_tmp37_);
17285
17373
_vala_code_node_unref0 (_result_);
17286
17374
_vala_code_node_unref0 (en);
17544
_tmp36_ = _vala_code_node_ref0 ((ValaSymbol*) ed);
17545
_result_ = _tmp36_;
17636
_tmp35_ = _vala_code_node_ref0 ((ValaSymbol*) ed);
17637
_result_ = _tmp35_;
17546
17638
while (TRUE) {
17547
ValaUnresolvedSymbol* _tmp37_ = NULL;
17548
ValaUnresolvedSymbol* _tmp38_;
17549
ValaUnresolvedSymbol* _tmp39_;
17550
ValaSymbol* _tmp40_ = NULL;
17551
ValaSymbol* _tmp47_;
17639
ValaUnresolvedSymbol* _tmp36_ = NULL;
17640
ValaUnresolvedSymbol* _tmp37_;
17641
ValaSymbol* _tmp38_ = NULL;
17642
ValaSymbol* _tmp43_;
17552
17643
ValaSymbol* next;
17553
ValaSymbol* _tmp48_;
17554
ValaSymbol* _tmp49_;
17644
ValaSymbol* _tmp44_;
17555
17645
if (!(sym != NULL)) {
17558
_tmp37_ = vala_unresolved_symbol_get_inner (sym);
17559
_tmp38_ = _vala_code_node_ref0 (_tmp37_);
17648
_tmp36_ = vala_unresolved_symbol_get_inner (sym);
17649
_tmp37_ = _vala_code_node_ref0 (_tmp36_);
17561
17650
_vala_code_node_unref0 (sym);
17563
17652
if (sym != NULL) {
17564
const gchar* _tmp41_ = NULL;
17565
ValaSourceReference* _tmp42_ = NULL;
17566
ValaNamespace* _tmp43_ = NULL;
17567
ValaSymbol* _tmp44_;
17568
_tmp41_ = vala_symbol_get_name ((ValaSymbol*) sym);
17569
_tmp42_ = vala_code_node_get_source_reference ((ValaCodeNode*) ed);
17570
_tmp43_ = vala_namespace_new (_tmp41_, _tmp42_);
17571
_tmp44_ = (ValaSymbol*) _tmp43_;
17572
_vala_code_node_unref0 (_tmp40_);
17653
const gchar* _tmp39_ = NULL;
17654
ValaSourceReference* _tmp40_ = NULL;
17655
ValaNamespace* _tmp41_ = NULL;
17656
_tmp39_ = vala_symbol_get_name ((ValaSymbol*) sym);
17657
_tmp40_ = vala_code_node_get_source_reference ((ValaCodeNode*) ed);
17658
_tmp41_ = vala_namespace_new (_tmp39_, _tmp40_);
17659
_vala_code_node_unref0 (_tmp38_);
17660
_tmp38_ = (ValaSymbol*) _tmp41_;
17575
ValaSymbol* _tmp45_;
17576
ValaSymbol* _tmp46_;
17577
_tmp45_ = _vala_code_node_ref0 (parent);
17579
_vala_code_node_unref0 (_tmp40_);
17662
ValaSymbol* _tmp42_;
17663
_tmp42_ = _vala_code_node_ref0 (parent);
17664
_vala_code_node_unref0 (_tmp38_);
17582
_tmp47_ = _vala_code_node_ref0 (_tmp40_);
17667
_tmp43_ = _vala_code_node_ref0 (_tmp38_);
17584
17669
if (VALA_IS_NAMESPACE (_result_)) {
17585
17670
vala_symbol_add_namespace (next, VALA_NAMESPACE (_result_));
17587
17672
vala_symbol_add_error_domain (next, VALA_ERROR_DOMAIN (_result_));
17589
_tmp48_ = _vala_code_node_ref0 (next);
17674
_tmp44_ = _vala_code_node_ref0 (next);
17591
17675
_vala_code_node_unref0 (_result_);
17592
_result_ = _tmp49_;
17676
_result_ = _tmp44_;
17593
17677
_vala_code_node_unref0 (next);
17594
_vala_code_node_unref0 (_tmp40_);
17678
_vala_code_node_unref0 (_tmp38_);
17596
17680
_vala_code_node_unref0 (_result_);
17597
17681
_vala_code_node_unref0 (ed);
17879
17982
_vala_code_node_unref0 (type);
17880
17983
type = _tmp17_;
17882
ValaDataType* _tmp18_ = NULL;
17883
ValaDataType* _tmp19_;
17884
ValaDataType* _tmp20_;
17885
_tmp18_ = vala_parser_parse_type (self, TRUE, FALSE, &_inner_error_);
17887
if (_inner_error_ != NULL) {
17888
if (_inner_error_->domain == VALA_PARSE_ERROR) {
17889
g_propagate_error (error, _inner_error_);
17890
_vala_code_node_unref0 (type);
17891
_vala_iterable_unref0 (attrs);
17894
_vala_code_node_unref0 (type);
17895
_vala_iterable_unref0 (attrs);
17896
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
17897
g_clear_error (&_inner_error_);
17902
_vala_code_node_unref0 (type);
17906
_tmp21_ = vala_parser_parse_identifier (self, &_inner_error_);
17908
if (_inner_error_ != NULL) {
17909
if (_inner_error_->domain == VALA_PARSE_ERROR) {
17910
g_propagate_error (error, _inner_error_);
17911
_vala_code_node_unref0 (type);
17912
_vala_iterable_unref0 (attrs);
17915
_vala_code_node_unref0 (type);
17916
_vala_iterable_unref0 (attrs);
17917
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
17918
g_clear_error (&_inner_error_);
17922
_tmp22_ = vala_parser_parse_inline_array_type (self, type, &_inner_error_);
17924
if (_inner_error_ != NULL) {
17925
if (_inner_error_->domain == VALA_PARSE_ERROR) {
17926
g_propagate_error (error, _inner_error_);
17928
_vala_code_node_unref0 (type);
17929
_vala_iterable_unref0 (attrs);
17933
_vala_code_node_unref0 (type);
17934
_vala_iterable_unref0 (attrs);
17935
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
17936
g_clear_error (&_inner_error_);
17986
_tmp18_ = vala_parser_parse_identifier (self, &_inner_error_);
17988
if (_inner_error_ != NULL) {
17989
if (_inner_error_->domain == VALA_PARSE_ERROR) {
17990
g_propagate_error (error, _inner_error_);
17991
_vala_code_node_unref0 (type);
17992
_vala_iterable_unref0 (attrs);
17995
_vala_code_node_unref0 (type);
17996
_vala_iterable_unref0 (attrs);
17997
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
17998
g_clear_error (&_inner_error_);
18002
_tmp19_ = vala_parser_parse_inline_array_type (self, type, &_inner_error_);
18004
if (_inner_error_ != NULL) {
18005
if (_inner_error_->domain == VALA_PARSE_ERROR) {
18006
g_propagate_error (error, _inner_error_);
18008
_vala_code_node_unref0 (type);
18009
_vala_iterable_unref0 (attrs);
18013
_vala_code_node_unref0 (type);
18014
_vala_iterable_unref0 (attrs);
18015
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
18016
g_clear_error (&_inner_error_);
18020
_vala_code_node_unref0 (type);
18022
_tmp21_ = vala_parser_get_src (self, &begin);
18024
_tmp23_ = vala_parameter_new (id, type, _tmp22_);
17940
18025
_tmp24_ = _tmp23_;
17941
_vala_code_node_unref0 (type);
17943
_tmp25_ = vala_parser_get_src (self, &begin);
17945
_tmp27_ = vala_parameter_new (id, type, _tmp26_);
17946
param = (_tmp28_ = _tmp27_, _vala_source_reference_unref0 (_tmp26_), _tmp28_);
18026
_vala_source_reference_unref0 (_tmp22_);
17947
18028
vala_parser_set_attributes (self, (ValaCodeNode*) param, attrs);
17948
18029
vala_parameter_set_direction (param, direction);
17949
18030
vala_parameter_set_params_array (param, params_array);
17950
_tmp29_ = vala_parser_accept (self, VALA_TOKEN_TYPE_ASSIGN);
17952
ValaExpression* _tmp30_ = NULL;
17953
ValaExpression* _tmp31_;
17954
ValaExpression* _tmp32_;
17955
_tmp30_ = vala_parser_parse_expression (self, &_inner_error_);
18031
_tmp25_ = vala_parser_accept (self, VALA_TOKEN_TYPE_ASSIGN);
18033
ValaExpression* _tmp26_ = NULL;
18034
ValaExpression* _tmp27_;
18035
ValaExpression* _tmp28_;
18036
_tmp26_ = vala_parser_parse_expression (self, &_inner_error_);
17957
18038
if (_inner_error_ != NULL) {
17958
18039
if (_inner_error_->domain == VALA_PARSE_ERROR) {
17959
18040
g_propagate_error (error, _inner_error_);
18048
18132
ValaSourceReference* _tmp11_ = NULL;
18049
18133
ValaSourceReference* _tmp12_;
18050
18134
ValaCreationMethod* _tmp13_ = NULL;
18051
ValaCreationMethod* _tmp14_;
18052
18135
_tmp10_ = vala_symbol_get_name ((ValaSymbol*) sym);
18053
18136
_tmp11_ = vala_parser_get_src (self, &begin);
18054
18137
_tmp12_ = _tmp11_;
18055
18138
_tmp13_ = vala_creation_method_new (_tmp10_, NULL, _tmp12_, self->priv->comment);
18057
18139
_vala_code_node_unref0 (method);
18059
18141
_vala_source_reference_unref0 (_tmp12_);
18061
ValaUnresolvedSymbol* _tmp15_ = NULL;
18143
ValaUnresolvedSymbol* _tmp14_ = NULL;
18144
const gchar* _tmp15_ = NULL;
18062
18145
const gchar* _tmp16_ = NULL;
18063
const gchar* _tmp17_ = NULL;
18064
ValaSourceReference* _tmp18_ = NULL;
18065
ValaSourceReference* _tmp19_;
18066
ValaCreationMethod* _tmp20_ = NULL;
18067
ValaCreationMethod* _tmp21_;
18068
_tmp15_ = vala_unresolved_symbol_get_inner (sym);
18069
_tmp16_ = vala_symbol_get_name ((ValaSymbol*) _tmp15_);
18070
_tmp17_ = vala_symbol_get_name ((ValaSymbol*) sym);
18071
_tmp18_ = vala_parser_get_src (self, &begin);
18073
_tmp20_ = vala_creation_method_new (_tmp16_, _tmp17_, _tmp19_, self->priv->comment);
18146
ValaSourceReference* _tmp17_ = NULL;
18147
ValaSourceReference* _tmp18_;
18148
ValaCreationMethod* _tmp19_ = NULL;
18149
_tmp14_ = vala_unresolved_symbol_get_inner (sym);
18150
_tmp15_ = vala_symbol_get_name ((ValaSymbol*) _tmp14_);
18151
_tmp16_ = vala_symbol_get_name ((ValaSymbol*) sym);
18152
_tmp17_ = vala_parser_get_src (self, &begin);
18154
_tmp19_ = vala_creation_method_new (_tmp15_, _tmp16_, _tmp18_, self->priv->comment);
18075
18155
_vala_code_node_unref0 (method);
18077
_vala_source_reference_unref0 (_tmp19_);
18157
_vala_source_reference_unref0 (_tmp18_);
18079
18159
if ((flags & VALA_PARSER_MODIFIER_FLAGS_EXTERN) == VALA_PARSER_MODIFIER_FLAGS_EXTERN) {
18080
18160
vala_symbol_set_external ((ValaSymbol*) method, TRUE);
18082
18162
if ((flags & VALA_PARSER_MODIFIER_FLAGS_ABSTRACT) == VALA_PARSER_MODIFIER_FLAGS_ABSTRACT) {
18085
_tmp23_ = (flags & VALA_PARSER_MODIFIER_FLAGS_VIRTUAL) == VALA_PARSER_MODIFIER_FLAGS_VIRTUAL;
18090
_tmp22_ = (flags & VALA_PARSER_MODIFIER_FLAGS_OVERRIDE) == VALA_PARSER_MODIFIER_FLAGS_OVERRIDE;
18093
ValaSourceReference* _tmp24_ = NULL;
18094
_tmp24_ = vala_code_node_get_source_reference ((ValaCodeNode*) method);
18095
vala_report_error (_tmp24_, "abstract, virtual, and override modifiers are not applicable to creati" \
18165
_tmp21_ = (flags & VALA_PARSER_MODIFIER_FLAGS_VIRTUAL) == VALA_PARSER_MODIFIER_FLAGS_VIRTUAL;
18170
_tmp20_ = (flags & VALA_PARSER_MODIFIER_FLAGS_OVERRIDE) == VALA_PARSER_MODIFIER_FLAGS_OVERRIDE;
18173
ValaSourceReference* _tmp22_ = NULL;
18174
_tmp22_ = vala_code_node_get_source_reference ((ValaCodeNode*) method);
18175
vala_report_error (_tmp22_, "abstract, virtual, and override modifiers are not applicable to creati" \
18096
18176
"on methods");
18098
18178
if ((flags & VALA_PARSER_MODIFIER_FLAGS_ASYNC) == VALA_PARSER_MODIFIER_FLAGS_ASYNC) {
18168
_tmp29_ = vala_code_context_get_profile (self->priv->context);
18169
if (_tmp29_ == VALA_PROFILE_DOVA) {
18248
_tmp27_ = vala_code_context_get_profile (self->priv->context);
18249
if (_tmp27_ == VALA_PROFILE_DOVA) {
18250
ValaUnresolvedSymbol* _tmp28_ = NULL;
18251
ValaUnresolvedSymbol* _tmp29_;
18170
18252
ValaUnresolvedSymbol* _tmp30_ = NULL;
18171
18253
ValaUnresolvedSymbol* _tmp31_;
18172
ValaUnresolvedSymbol* _tmp32_ = NULL;
18173
ValaUnresolvedSymbol* _tmp33_;
18174
ValaSourceReference* _tmp34_ = NULL;
18175
ValaUnresolvedType* _tmp35_ = NULL;
18176
ValaUnresolvedType* _tmp36_;
18254
ValaSourceReference* _tmp32_ = NULL;
18255
ValaUnresolvedType* _tmp33_ = NULL;
18256
ValaUnresolvedType* _tmp34_;
18177
18257
ValaUnresolvedType* error_type;
18179
_tmp30_ = vala_unresolved_symbol_new (NULL, "Dova", NULL);
18259
_tmp28_ = vala_unresolved_symbol_new (NULL, "Dova", NULL);
18261
_tmp30_ = vala_unresolved_symbol_new (_tmp29_, "Error", NULL);
18180
18262
_tmp31_ = _tmp30_;
18181
_tmp32_ = vala_unresolved_symbol_new (_tmp31_, "Error", NULL);
18183
_tmp34_ = vala_code_node_get_source_reference ((ValaCodeNode*) method);
18184
_tmp35_ = vala_unresolved_type_new_from_symbol (_tmp33_, _tmp34_);
18185
error_type = (_tmp36_ = _tmp35_, _vala_code_node_unref0 (_tmp33_), _vala_code_node_unref0 (_tmp31_), _tmp36_);
18263
_tmp32_ = vala_code_node_get_source_reference ((ValaCodeNode*) method);
18264
_tmp33_ = vala_unresolved_type_new_from_symbol (_tmp31_, _tmp32_);
18266
_vala_code_node_unref0 (_tmp31_);
18267
_vala_code_node_unref0 (_tmp29_);
18268
error_type = _tmp34_;
18186
18269
vala_code_node_add_error_type ((ValaCodeNode*) method, (ValaDataType*) error_type);
18187
_tmp37_ = vala_parser_accept (self, VALA_TOKEN_TYPE_THROWS);
18189
ValaSourceReference* _tmp42_ = NULL;
18270
_tmp35_ = vala_parser_accept (self, VALA_TOKEN_TYPE_THROWS);
18272
ValaSourceReference* _tmp40_ = NULL;
18193
18276
while (TRUE) {
18194
ValaDataType* _tmp40_ = NULL;
18195
ValaDataType* _tmp41_;
18198
_tmp39_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
18277
ValaDataType* _tmp38_ = NULL;
18278
ValaDataType* _tmp39_;
18281
_tmp37_ = vala_parser_accept (self, VALA_TOKEN_TYPE_COMMA);
18204
_tmp40_ = vala_parser_parse_type (self, TRUE, FALSE, &_inner_error_);
18206
_vala_code_node_unref0 (_tmp41_);
18287
_tmp38_ = vala_parser_parse_type (self, TRUE, FALSE, &_inner_error_);
18289
_vala_code_node_unref0 (_tmp39_);
18207
18290
if (_inner_error_ != NULL) {
18208
18291
if (_inner_error_->domain == VALA_PARSE_ERROR) {
18209
18292
g_propagate_error (error, _inner_error_);
18804
18895
while (TRUE) {
18805
18896
ValaUnresolvedSymbol* _tmp50_ = NULL;
18806
18897
ValaUnresolvedSymbol* _tmp51_;
18807
ValaUnresolvedSymbol* _tmp52_;
18808
ValaSymbol* _tmp53_ = NULL;
18809
ValaSymbol* _tmp60_;
18898
ValaSymbol* _tmp52_ = NULL;
18899
ValaSymbol* _tmp57_;
18810
18900
ValaSymbol* next;
18811
ValaSymbol* _tmp61_;
18812
ValaSymbol* _tmp62_;
18901
ValaSymbol* _tmp58_;
18813
18902
if (!(sym != NULL)) {
18816
18905
_tmp50_ = vala_unresolved_symbol_get_inner (sym);
18817
18906
_tmp51_ = _vala_code_node_ref0 (_tmp50_);
18819
18907
_vala_code_node_unref0 (sym);
18821
18909
if (sym != NULL) {
18822
const gchar* _tmp54_ = NULL;
18823
ValaSourceReference* _tmp55_ = NULL;
18824
ValaNamespace* _tmp56_ = NULL;
18825
ValaSymbol* _tmp57_;
18826
_tmp54_ = vala_symbol_get_name ((ValaSymbol*) sym);
18827
_tmp55_ = vala_code_node_get_source_reference ((ValaCodeNode*) d);
18828
_tmp56_ = vala_namespace_new (_tmp54_, _tmp55_);
18829
_tmp57_ = (ValaSymbol*) _tmp56_;
18830
_vala_code_node_unref0 (_tmp53_);
18910
const gchar* _tmp53_ = NULL;
18911
ValaSourceReference* _tmp54_ = NULL;
18912
ValaNamespace* _tmp55_ = NULL;
18913
_tmp53_ = vala_symbol_get_name ((ValaSymbol*) sym);
18914
_tmp54_ = vala_code_node_get_source_reference ((ValaCodeNode*) d);
18915
_tmp55_ = vala_namespace_new (_tmp53_, _tmp54_);
18916
_vala_code_node_unref0 (_tmp52_);
18917
_tmp52_ = (ValaSymbol*) _tmp55_;
18833
ValaSymbol* _tmp58_;
18834
ValaSymbol* _tmp59_;
18835
_tmp58_ = _vala_code_node_ref0 (parent);
18837
_vala_code_node_unref0 (_tmp53_);
18919
ValaSymbol* _tmp56_;
18920
_tmp56_ = _vala_code_node_ref0 (parent);
18921
_vala_code_node_unref0 (_tmp52_);
18840
_tmp60_ = _vala_code_node_ref0 (_tmp53_);
18924
_tmp57_ = _vala_code_node_ref0 (_tmp52_);
18842
18926
if (VALA_IS_NAMESPACE (_result_)) {
18843
18927
vala_symbol_add_namespace (next, VALA_NAMESPACE (_result_));
18845
18929
vala_symbol_add_delegate (next, VALA_DELEGATE (_result_));
18847
_tmp61_ = _vala_code_node_ref0 (next);
18931
_tmp58_ = _vala_code_node_ref0 (next);
18849
18932
_vala_code_node_unref0 (_result_);
18850
_result_ = _tmp62_;
18933
_result_ = _tmp58_;
18851
18934
_vala_code_node_unref0 (next);
18852
_vala_code_node_unref0 (_tmp53_);
18935
_vala_code_node_unref0 (_tmp52_);
18854
18937
_vala_code_node_unref0 (_result_);
18855
18938
_vala_code_node_unref0 (d);
19213
19294
if (expr != NULL) {
19214
_tmp12_ = (ValaExpression*) expr;
19295
_tmp11_ = (ValaExpression*) expr;
19216
_tmp12_ = base_expr;
19297
_tmp11_ = base_expr;
19218
_tmp13_ = vala_parser_get_src (self, &begin);
19220
_tmp15_ = vala_member_access_new (_tmp12_, id, _tmp14_);
19299
_tmp12_ = vala_parser_get_src (self, &begin);
19301
_tmp14_ = vala_member_access_new (_tmp11_, id, _tmp13_);
19222
19302
_vala_code_node_unref0 (expr);
19224
_vala_source_reference_unref0 (_tmp14_);
19304
_vala_source_reference_unref0 (_tmp13_);
19225
19305
vala_member_access_set_qualified (expr, qualified);
19226
19306
if (type_arg_list != NULL) {
19229
19309
ValaList* _type_arg_list;
19231
19311
gint _type_arg_size;
19232
19312
gint _type_arg_index;
19233
_tmp17_ = _vala_iterable_ref0 (type_arg_list);
19234
_type_arg_list = _tmp17_;
19235
_tmp18_ = vala_collection_get_size ((ValaCollection*) _type_arg_list);
19236
_type_arg_size = _tmp18_;
19313
_tmp15_ = _vala_iterable_ref0 (type_arg_list);
19314
_type_arg_list = _tmp15_;
19315
_tmp16_ = vala_collection_get_size ((ValaCollection*) _type_arg_list);
19316
_type_arg_size = _tmp16_;
19237
19317
_type_arg_index = -1;
19238
19318
while (TRUE) {
19239
gpointer _tmp19_ = NULL;
19319
gpointer _tmp17_ = NULL;
19240
19320
ValaDataType* type_arg;
19241
19321
_type_arg_index = _type_arg_index + 1;
19242
19322
if (!(_type_arg_index < _type_arg_size)) {
19245
_tmp19_ = vala_list_get (_type_arg_list, _type_arg_index);
19246
type_arg = (ValaDataType*) _tmp19_;
19325
_tmp17_ = vala_list_get (_type_arg_list, _type_arg_index);
19326
type_arg = (ValaDataType*) _tmp17_;
19247
19327
vala_member_access_add_type_argument (expr, type_arg);
19248
19328
_vala_code_node_unref0 (type_arg);