2074
2076
gchar* vala_method_get_cname (ValaMethod* self) {
2075
2077
gchar* result = NULL;
2077
2079
g_return_val_if_fail (self != NULL, NULL);
2078
2080
if (self->priv->cname == NULL) {
2079
2081
gchar* _tmp0_ = NULL;
2081
2082
_tmp0_ = vala_method_get_default_cname (self);
2083
2083
_g_free0 (self->priv->cname);
2084
self->priv->cname = _tmp1_;
2084
self->priv->cname = _tmp0_;
2086
_tmp2_ = g_strdup (self->priv->cname);
2086
_tmp1_ = g_strdup (self->priv->cname);
2092
2092
gchar* vala_method_get_finish_cname (ValaMethod* self) {
2093
2093
gchar* result = NULL;
2095
2095
g_return_val_if_fail (self != NULL, NULL);
2096
2096
g_assert (self->priv->_coroutine);
2097
2097
if (self->priv->finish_name == NULL) {
2098
2098
gchar* _tmp0_ = NULL;
2100
2099
_tmp0_ = vala_method_get_default_finish_cname (self);
2102
2100
_g_free0 (self->priv->finish_name);
2103
self->priv->finish_name = _tmp1_;
2101
self->priv->finish_name = _tmp0_;
2105
_tmp2_ = g_strdup (self->priv->finish_name);
2103
_tmp1_ = g_strdup (self->priv->finish_name);
2111
2109
void vala_method_set_finish_cname (ValaMethod* self, const gchar* name) {
2114
2111
g_return_if_fail (self != NULL);
2115
2112
g_return_if_fail (name != NULL);
2116
2113
_tmp0_ = g_strdup (name);
2118
2114
_g_free0 (self->priv->finish_name);
2119
self->priv->finish_name = _tmp1_;
2115
self->priv->finish_name = _tmp0_;
2437
2456
_tmp11_ = vala_attribute_has_argument (a, "finish_name");
2439
2458
gchar* _tmp12_ = NULL;
2441
2459
_tmp12_ = vala_attribute_get_string (a, "finish_name");
2443
2460
_g_free0 (self->priv->finish_name);
2444
self->priv->finish_name = _tmp13_;
2446
_tmp14_ = vala_attribute_has_argument (a, "sentinel");
2448
gchar* _tmp15_ = NULL;
2450
_tmp15_ = vala_attribute_get_string (a, "sentinel");
2452
vala_method_set_sentinel (self, _tmp16_);
2455
_tmp17_ = vala_attribute_has_argument (a, "instance_pos");
2458
_tmp18_ = vala_attribute_get_double (a, "instance_pos");
2459
vala_method_set_cinstance_parameter_position (self, _tmp18_);
2461
_tmp19_ = vala_attribute_has_argument (a, "array_length");
2464
_tmp20_ = vala_attribute_get_bool (a, "array_length");
2465
vala_method_set_no_array_length (self, !_tmp20_);
2467
_tmp21_ = vala_attribute_has_argument (a, "array_length_type");
2469
gchar* _tmp22_ = NULL;
2471
_tmp22_ = vala_attribute_get_string (a, "array_length_type");
2473
vala_method_set_array_length_type (self, _tmp23_);
2476
_tmp24_ = vala_attribute_has_argument (a, "array_null_terminated");
2479
_tmp25_ = vala_attribute_get_bool (a, "array_null_terminated");
2480
vala_method_set_array_null_terminated (self, _tmp25_);
2482
_tmp26_ = vala_attribute_has_argument (a, "array_length_pos");
2485
_tmp27_ = vala_attribute_get_double (a, "array_length_pos");
2486
vala_method_set_carray_length_parameter_position (self, _tmp27_);
2488
_tmp28_ = vala_attribute_has_argument (a, "delegate_target_pos");
2491
_tmp29_ = vala_attribute_get_double (a, "delegate_target_pos");
2492
vala_method_set_cdelegate_target_parameter_position (self, _tmp29_);
2494
_tmp30_ = vala_attribute_has_argument (a, "has_new_function");
2497
_tmp31_ = vala_attribute_get_bool (a, "has_new_function");
2498
vala_method_set_has_new_function (self, _tmp31_);
2500
_tmp32_ = vala_attribute_has_argument (a, "has_construct_function");
2503
_tmp33_ = vala_attribute_get_bool (a, "has_construct_function");
2504
vala_method_set_has_construct_function (self, _tmp33_);
2506
_tmp34_ = vala_attribute_has_argument (a, "generic_type_pos");
2461
self->priv->finish_name = _tmp12_;
2463
_tmp13_ = vala_attribute_has_argument (a, "sentinel");
2465
gchar* _tmp14_ = NULL;
2467
_tmp14_ = vala_attribute_get_string (a, "sentinel");
2469
vala_method_set_sentinel (self, _tmp15_);
2472
_tmp16_ = vala_attribute_has_argument (a, "instance_pos");
2475
_tmp17_ = vala_attribute_get_double (a, "instance_pos");
2476
vala_method_set_cinstance_parameter_position (self, _tmp17_);
2478
_tmp18_ = vala_attribute_has_argument (a, "array_length");
2481
_tmp19_ = vala_attribute_get_bool (a, "array_length");
2482
vala_method_set_no_array_length (self, !_tmp19_);
2484
_tmp20_ = vala_attribute_has_argument (a, "array_length_type");
2486
gchar* _tmp21_ = NULL;
2488
_tmp21_ = vala_attribute_get_string (a, "array_length_type");
2490
vala_method_set_array_length_type (self, _tmp22_);
2493
_tmp23_ = vala_attribute_has_argument (a, "array_null_terminated");
2496
_tmp24_ = vala_attribute_get_bool (a, "array_null_terminated");
2497
vala_method_set_array_null_terminated (self, _tmp24_);
2499
_tmp25_ = vala_attribute_has_argument (a, "array_length_pos");
2502
_tmp26_ = vala_attribute_get_double (a, "array_length_pos");
2503
vala_method_set_carray_length_parameter_position (self, _tmp26_);
2505
_tmp27_ = vala_attribute_has_argument (a, "delegate_target_pos");
2508
_tmp28_ = vala_attribute_get_double (a, "delegate_target_pos");
2509
vala_method_set_cdelegate_target_parameter_position (self, _tmp28_);
2511
_tmp29_ = vala_attribute_has_argument (a, "has_new_function");
2514
_tmp30_ = vala_attribute_get_bool (a, "has_new_function");
2515
vala_method_set_has_new_function (self, _tmp30_);
2517
_tmp31_ = vala_attribute_has_argument (a, "has_construct_function");
2520
_tmp32_ = vala_attribute_get_bool (a, "has_construct_function");
2521
vala_method_set_has_construct_function (self, _tmp32_);
2523
_tmp33_ = vala_attribute_has_argument (a, "generic_type_pos");
2509
2526
vala_method_set_has_generic_type_parameter (self, TRUE);
2510
_tmp35_ = vala_attribute_get_double (a, "generic_type_pos");
2511
vala_method_set_generic_type_parameter_position (self, _tmp35_);
2513
_tmp36_ = vala_attribute_has_argument (a, "simple_generics");
2516
_tmp37_ = vala_attribute_get_bool (a, "simple_generics");
2517
vala_method_set_simple_generics (self, _tmp37_);
2519
_tmp38_ = vala_attribute_has_argument (a, "returns_floating_reference");
2522
_tmp39_ = vala_attribute_get_bool (a, "returns_floating_reference");
2523
vala_method_set_returns_floating_reference (self, _tmp39_);
2527
_tmp34_ = vala_attribute_get_double (a, "generic_type_pos");
2528
vala_method_set_generic_type_parameter_position (self, _tmp34_);
2530
_tmp35_ = vala_attribute_has_argument (a, "simple_generics");
2533
_tmp36_ = vala_attribute_get_bool (a, "simple_generics");
2534
vala_method_set_simple_generics (self, _tmp36_);
2536
_tmp37_ = vala_attribute_has_argument (a, "returns_floating_reference");
2539
_tmp38_ = vala_attribute_get_bool (a, "returns_floating_reference");
2540
vala_method_set_returns_floating_reference (self, _tmp38_);
2622
2645
gchar* _invalid_match = NULL;
2623
2646
gboolean result = FALSE;
2624
2647
ValaObjectType* object_type;
2625
ValaSymbol* _tmp2_ = NULL;
2648
ValaSymbol* _tmp1_ = NULL;
2649
ValaDataType* _tmp9_ = NULL;
2650
ValaDataType* _tmp10_ = NULL;
2651
ValaDataType* actual_base_type;
2626
2652
ValaDataType* _tmp11_ = NULL;
2627
ValaDataType* _tmp12_ = NULL;
2628
ValaDataType* actual_base_type;
2629
ValaDataType* _tmp13_ = NULL;
2631
ValaIterator* _tmp17_ = NULL;
2654
ValaIterator* _tmp14_ = NULL;
2632
2655
ValaIterator* method_params_it;
2633
2656
gint param_index;
2635
2658
g_return_val_if_fail (self != NULL, FALSE);
2636
2659
g_return_val_if_fail (base_method != NULL, FALSE);
2637
2660
if (self->priv->_binding != base_method->priv->_binding) {
2640
2662
_tmp0_ = g_strdup ("incompatible binding");
2642
2663
_g_free0 (_invalid_match);
2643
_invalid_match = _tmp1_;
2664
_invalid_match = _tmp0_;
2644
2665
result = FALSE;
2645
2666
if (invalid_match) {
2646
2667
*invalid_match = _invalid_match;
2652
2673
object_type = NULL;
2653
_tmp2_ = vala_symbol_get_parent_symbol ((ValaSymbol*) self);
2654
if (VALA_IS_OBJECT_TYPE_SYMBOL (_tmp2_)) {
2655
ValaSymbol* _tmp3_ = NULL;
2656
ValaObjectType* _tmp4_ = NULL;
2657
ValaObjectType* _tmp5_;
2658
_tmp3_ = vala_symbol_get_parent_symbol ((ValaSymbol*) self);
2659
_tmp4_ = vala_object_type_new (VALA_OBJECT_TYPE_SYMBOL (_tmp3_));
2674
_tmp1_ = vala_symbol_get_parent_symbol ((ValaSymbol*) self);
2675
if (VALA_IS_OBJECT_TYPE_SYMBOL (_tmp1_)) {
2676
ValaSymbol* _tmp2_ = NULL;
2677
ValaObjectType* _tmp3_ = NULL;
2678
_tmp2_ = vala_symbol_get_parent_symbol ((ValaSymbol*) self);
2679
_tmp3_ = vala_object_type_new (VALA_OBJECT_TYPE_SYMBOL (_tmp2_));
2661
2680
_vala_code_node_unref0 (object_type);
2662
object_type = _tmp5_;
2681
object_type = _tmp3_;
2664
ValaObjectTypeSymbol* _tmp6_ = NULL;
2665
ValaList* _tmp7_ = NULL;
2683
ValaObjectTypeSymbol* _tmp4_ = NULL;
2684
ValaList* _tmp5_ = NULL;
2666
2685
ValaList* _type_parameter_list;
2668
2687
gint _type_parameter_size;
2669
2688
gint _type_parameter_index;
2670
_tmp6_ = vala_object_type_get_type_symbol (object_type);
2671
_tmp7_ = vala_object_type_symbol_get_type_parameters (_tmp6_);
2672
_type_parameter_list = _tmp7_;
2673
_tmp8_ = vala_collection_get_size ((ValaCollection*) _type_parameter_list);
2674
_type_parameter_size = _tmp8_;
2689
_tmp4_ = vala_object_type_get_type_symbol (object_type);
2690
_tmp5_ = vala_object_type_symbol_get_type_parameters (_tmp4_);
2691
_type_parameter_list = _tmp5_;
2692
_tmp6_ = vala_collection_get_size ((ValaCollection*) _type_parameter_list);
2693
_type_parameter_size = _tmp6_;
2675
2694
_type_parameter_index = -1;
2677
gpointer _tmp9_ = NULL;
2696
gpointer _tmp7_ = NULL;
2678
2697
ValaTypeParameter* type_parameter;
2679
ValaGenericType* _tmp10_ = NULL;
2698
ValaGenericType* _tmp8_ = NULL;
2680
2699
ValaGenericType* type_arg;
2681
2700
_type_parameter_index = _type_parameter_index + 1;
2682
2701
if (!(_type_parameter_index < _type_parameter_size)) {
2685
_tmp9_ = vala_list_get (_type_parameter_list, _type_parameter_index);
2686
type_parameter = (ValaTypeParameter*) _tmp9_;
2687
_tmp10_ = vala_generic_type_new (type_parameter);
2704
_tmp7_ = vala_list_get (_type_parameter_list, _type_parameter_index);
2705
type_parameter = (ValaTypeParameter*) _tmp7_;
2706
_tmp8_ = vala_generic_type_new (type_parameter);
2689
2708
vala_data_type_set_value_owned ((ValaDataType*) type_arg, TRUE);
2690
2709
vala_data_type_add_type_argument ((ValaDataType*) object_type, (ValaDataType*) type_arg);
2691
2710
_vala_code_node_unref0 (type_arg);
2694
2713
_vala_iterable_unref0 (_type_parameter_list);
2697
_tmp11_ = vala_method_get_return_type (base_method);
2698
_tmp12_ = vala_data_type_get_actual_type (_tmp11_, (ValaDataType*) object_type, NULL, (ValaCodeNode*) self);
2699
actual_base_type = _tmp12_;
2700
_tmp13_ = vala_method_get_return_type (self);
2701
_tmp14_ = vala_data_type_equals (_tmp13_, actual_base_type);
2705
_tmp15_ = g_strdup ("incompatible return type");
2716
_tmp9_ = vala_method_get_return_type (base_method);
2717
_tmp10_ = vala_data_type_get_actual_type (_tmp9_, (ValaDataType*) object_type, NULL, (ValaCodeNode*) self);
2718
actual_base_type = _tmp10_;
2719
_tmp11_ = vala_method_get_return_type (self);
2720
_tmp12_ = vala_data_type_equals (_tmp11_, actual_base_type);
2723
_tmp13_ = g_strdup ("incompatible return type");
2707
2724
_g_free0 (_invalid_match);
2708
_invalid_match = _tmp16_;
2725
_invalid_match = _tmp13_;
2709
2726
result = FALSE;
2710
2727
_vala_code_node_unref0 (actual_base_type);
2711
2728
_vala_code_node_unref0 (object_type);
2719
_tmp17_ = vala_iterable_iterator ((ValaIterable*) self->priv->parameters);
2720
method_params_it = _tmp17_;
2736
_tmp14_ = vala_iterable_iterator ((ValaIterable*) self->priv->parameters);
2737
method_params_it = _tmp14_;
2721
2738
param_index = 1;
2724
2741
ValaList* _base_param_list;
2726
2743
gint _base_param_size;
2727
2744
gint _base_param_index;
2728
_tmp18_ = _vala_iterable_ref0 (base_method->priv->parameters);
2729
_base_param_list = _tmp18_;
2730
_tmp19_ = vala_collection_get_size ((ValaCollection*) _base_param_list);
2731
_base_param_size = _tmp19_;
2745
_tmp15_ = _vala_iterable_ref0 (base_method->priv->parameters);
2746
_base_param_list = _tmp15_;
2747
_tmp16_ = vala_collection_get_size ((ValaCollection*) _base_param_list);
2748
_base_param_size = _tmp16_;
2732
2749
_base_param_index = -1;
2751
gpointer _tmp17_ = NULL;
2752
ValaParameter* base_param;
2734
2754
gpointer _tmp20_ = NULL;
2735
ValaParameter* base_param;
2755
ValaParameter* param;
2736
2756
gboolean _tmp21_;
2737
gpointer _tmp24_ = NULL;
2738
ValaParameter* param;
2742
2759
_base_param_index = _base_param_index + 1;
2743
2760
if (!(_base_param_index < _base_param_size)) {
2746
_tmp20_ = vala_list_get (_base_param_list, _base_param_index);
2747
base_param = (ValaParameter*) _tmp20_;
2748
_tmp21_ = vala_iterator_next (method_params_it);
2763
_tmp17_ = vala_list_get (_base_param_list, _base_param_index);
2764
base_param = (ValaParameter*) _tmp17_;
2765
_tmp18_ = vala_iterator_next (method_params_it);
2768
_tmp19_ = g_strdup ("too few parameters");
2769
_g_free0 (_invalid_match);
2770
_invalid_match = _tmp19_;
2772
_vala_code_node_unref0 (base_param);
2773
_vala_iterable_unref0 (_base_param_list);
2774
_vala_iterator_unref0 (method_params_it);
2775
_vala_code_node_unref0 (actual_base_type);
2776
_vala_code_node_unref0 (object_type);
2777
if (invalid_match) {
2778
*invalid_match = _invalid_match;
2780
_g_free0 (_invalid_match);
2784
_tmp20_ = vala_iterator_get (method_params_it);
2785
param = (ValaParameter*) _tmp20_;
2786
_tmp21_ = vala_parameter_get_ellipsis (base_param);
2787
_tmp22_ = vala_parameter_get_ellipsis (param);
2788
if (_tmp21_ != _tmp22_) {
2751
2789
gchar* _tmp23_;
2752
_tmp22_ = g_strdup ("too few parameters");
2790
_tmp23_ = g_strdup ("ellipsis parameter mismatch");
2754
2791
_g_free0 (_invalid_match);
2755
2792
_invalid_match = _tmp23_;
2756
2793
result = FALSE;
2757
_vala_code_node_unref0 (base_param);
2758
_vala_iterable_unref0 (_base_param_list);
2759
_vala_iterator_unref0 (method_params_it);
2760
_vala_code_node_unref0 (actual_base_type);
2761
_vala_code_node_unref0 (object_type);
2762
if (invalid_match) {
2763
*invalid_match = _invalid_match;
2765
_g_free0 (_invalid_match);
2769
_tmp24_ = vala_iterator_get (method_params_it);
2770
param = (ValaParameter*) _tmp24_;
2771
_tmp25_ = vala_parameter_get_ellipsis (base_param);
2772
_tmp26_ = vala_parameter_get_ellipsis (param);
2773
if (_tmp25_ != _tmp26_) {
2776
_tmp27_ = g_strdup ("ellipsis parameter mismatch");
2778
_g_free0 (_invalid_match);
2779
_invalid_match = _tmp28_;
2781
2794
_vala_code_node_unref0 (param);
2782
2795
_vala_code_node_unref0 (base_param);
2783
2796
_vala_iterable_unref0 (_base_param_list);
2794
_tmp29_ = vala_parameter_get_ellipsis (base_param);
2796
ValaDataType* _tmp30_ = NULL;
2797
ValaDataType* _tmp31_ = NULL;
2798
ValaDataType* _tmp32_;
2799
ValaDataType* _tmp33_ = NULL;
2801
_tmp30_ = vala_variable_get_variable_type ((ValaVariable*) base_param);
2802
_tmp31_ = vala_data_type_get_actual_type (_tmp30_, (ValaDataType*) object_type, NULL, (ValaCodeNode*) self);
2807
_tmp24_ = vala_parameter_get_ellipsis (base_param);
2809
ValaDataType* _tmp25_ = NULL;
2810
ValaDataType* _tmp26_ = NULL;
2811
ValaDataType* _tmp27_ = NULL;
2813
_tmp25_ = vala_variable_get_variable_type ((ValaVariable*) base_param);
2814
_tmp26_ = vala_data_type_get_actual_type (_tmp25_, (ValaDataType*) object_type, NULL, (ValaCodeNode*) self);
2804
2815
_vala_code_node_unref0 (actual_base_type);
2805
actual_base_type = _tmp32_;
2806
_tmp33_ = vala_variable_get_variable_type ((ValaVariable*) param);
2807
_tmp34_ = vala_data_type_equals (actual_base_type, _tmp33_);
2809
gchar* _tmp35_ = NULL;
2811
_tmp35_ = g_strdup_printf ("incompatible type of parameter %d", param_index);
2816
actual_base_type = _tmp26_;
2817
_tmp27_ = vala_variable_get_variable_type ((ValaVariable*) param);
2818
_tmp28_ = vala_data_type_equals (actual_base_type, _tmp27_);
2820
gchar* _tmp29_ = NULL;
2821
_tmp29_ = g_strdup_printf ("incompatible type of parameter %d", param_index);
2813
2822
_g_free0 (_invalid_match);
2814
_invalid_match = _tmp36_;
2823
_invalid_match = _tmp29_;
2815
2824
result = FALSE;
2816
2825
_vala_code_node_unref0 (param);
2817
2826
_vala_code_node_unref0 (base_param);
2856
ValaList* _tmp40_ = NULL;
2863
ValaList* _tmp32_ = NULL;
2857
2864
ValaList* _method_error_type_list;
2859
2866
gint _method_error_type_size;
2860
2867
gint _method_error_type_index;
2861
_tmp40_ = vala_code_node_get_error_types ((ValaCodeNode*) self);
2862
_method_error_type_list = _tmp40_;
2863
_tmp41_ = vala_collection_get_size ((ValaCollection*) _method_error_type_list);
2864
_method_error_type_size = _tmp41_;
2868
_tmp32_ = vala_code_node_get_error_types ((ValaCodeNode*) self);
2869
_method_error_type_list = _tmp32_;
2870
_tmp33_ = vala_collection_get_size ((ValaCollection*) _method_error_type_list);
2871
_method_error_type_size = _tmp33_;
2865
2872
_method_error_type_index = -1;
2867
gpointer _tmp42_ = NULL;
2874
gpointer _tmp34_ = NULL;
2868
2875
ValaDataType* method_error_type;
2869
2876
gboolean match;
2870
2877
_method_error_type_index = _method_error_type_index + 1;
2871
2878
if (!(_method_error_type_index < _method_error_type_size)) {
2874
_tmp42_ = vala_list_get (_method_error_type_list, _method_error_type_index);
2875
method_error_type = (ValaDataType*) _tmp42_;
2881
_tmp34_ = vala_list_get (_method_error_type_list, _method_error_type_index);
2882
method_error_type = (ValaDataType*) _tmp34_;
2878
ValaList* _tmp43_ = NULL;
2885
ValaList* _tmp35_ = NULL;
2879
2886
ValaList* _base_method_error_type_list;
2881
2888
gint _base_method_error_type_size;
2882
2889
gint _base_method_error_type_index;
2883
_tmp43_ = vala_code_node_get_error_types ((ValaCodeNode*) base_method);
2884
_base_method_error_type_list = _tmp43_;
2885
_tmp44_ = vala_collection_get_size ((ValaCollection*) _base_method_error_type_list);
2886
_base_method_error_type_size = _tmp44_;
2890
_tmp35_ = vala_code_node_get_error_types ((ValaCodeNode*) base_method);
2891
_base_method_error_type_list = _tmp35_;
2892
_tmp36_ = vala_collection_get_size ((ValaCollection*) _base_method_error_type_list);
2893
_base_method_error_type_size = _tmp36_;
2887
2894
_base_method_error_type_index = -1;
2889
gpointer _tmp45_ = NULL;
2896
gpointer _tmp37_ = NULL;
2890
2897
ValaDataType* base_method_error_type;
2892
2899
_base_method_error_type_index = _base_method_error_type_index + 1;
2893
2900
if (!(_base_method_error_type_index < _base_method_error_type_size)) {
2896
_tmp45_ = vala_list_get (_base_method_error_type_list, _base_method_error_type_index);
2897
base_method_error_type = (ValaDataType*) _tmp45_;
2898
_tmp46_ = vala_data_type_compatible (method_error_type, base_method_error_type);
2903
_tmp37_ = vala_list_get (_base_method_error_type_list, _base_method_error_type_index);
2904
base_method_error_type = (ValaDataType*) _tmp37_;
2905
_tmp38_ = vala_data_type_compatible (method_error_type, base_method_error_type);
2901
2908
_vala_code_node_unref0 (base_method_error_type);
2971
2974
* @param p a type parameter
2973
2976
void vala_method_add_type_parameter (ValaMethod* self, ValaTypeParameter* p) {
2974
ValaScope* _tmp2_ = NULL;
2975
const gchar* _tmp3_ = NULL;
2977
ValaScope* _tmp1_ = NULL;
2978
const gchar* _tmp2_ = NULL;
2976
2979
g_return_if_fail (self != NULL);
2977
2980
g_return_if_fail (p != NULL);
2978
2981
if (self->priv->type_parameters == NULL) {
2979
2982
ValaArrayList* _tmp0_ = NULL;
2981
2983
_tmp0_ = vala_array_list_new (VALA_TYPE_TYPEPARAMETER, (GBoxedCopyFunc) vala_code_node_ref, vala_code_node_unref, g_direct_equal);
2982
_tmp1_ = (ValaList*) _tmp0_;
2983
2984
_vala_iterable_unref0 (self->priv->type_parameters);
2984
self->priv->type_parameters = _tmp1_;
2985
self->priv->type_parameters = (ValaList*) _tmp0_;
2986
2987
vala_collection_add ((ValaCollection*) self->priv->type_parameters, p);
2987
_tmp2_ = vala_symbol_get_scope ((ValaSymbol*) self);
2988
_tmp3_ = vala_symbol_get_name ((ValaSymbol*) p);
2989
vala_scope_add (_tmp2_, _tmp3_, (ValaSymbol*) p);
2988
_tmp1_ = vala_symbol_get_scope ((ValaSymbol*) self);
2989
_tmp2_ = vala_symbol_get_name ((ValaSymbol*) p);
2990
vala_scope_add (_tmp1_, _tmp2_, (ValaSymbol*) p);
4682
4673
_tmp4_ = vala_scope_lookup (_tmp3_, "bool");
4683
4674
_tmp5_ = VALA_STRUCT (_tmp4_);
4684
4675
_tmp6_ = vala_boolean_type_new (_tmp5_);
4685
bool_type = (_tmp7_ = _tmp6_, _vala_code_node_unref0 (_tmp5_), _vala_code_context_unref0 (_tmp1_), _tmp7_);
4677
_vala_code_node_unref0 (_tmp5_);
4678
_vala_code_context_unref0 (_tmp1_);
4686
4680
vala_data_type_set_value_owned ((ValaDataType*) bool_type, TRUE);
4687
4681
_tmp8_ = vala_code_node_get_source_reference ((ValaCodeNode*) self);
4688
4682
_tmp9_ = vala_method_new ("callback", (ValaDataType*) bool_type, _tmp8_, NULL);
4690
4683
_vala_code_node_unref0 (self->priv->callback_method);
4691
self->priv->callback_method = _tmp10_;
4684
self->priv->callback_method = _tmp9_;
4692
4685
vala_symbol_set_access ((ValaSymbol*) self->priv->callback_method, VALA_SYMBOL_ACCESSIBILITY_PUBLIC);
4693
4686
vala_symbol_set_external ((ValaSymbol*) self->priv->callback_method, TRUE);
4694
4687
vala_method_set_binding (self->priv->callback_method, VALA_MEMBER_BINDING_INSTANCE);
4695
_tmp11_ = vala_symbol_get_scope ((ValaSymbol*) self);
4696
vala_symbol_set_owner ((ValaSymbol*) self->priv->callback_method, _tmp11_);
4688
_tmp10_ = vala_symbol_get_scope ((ValaSymbol*) self);
4689
vala_symbol_set_owner ((ValaSymbol*) self->priv->callback_method, _tmp10_);
4697
4690
vala_method_set_is_async_callback (self->priv->callback_method, TRUE);
4698
_tmp12_ = vala_method_get_real_cname (self);
4700
_tmp14_ = g_strconcat (_tmp13_, "_co", NULL);
4691
_tmp11_ = vala_method_get_real_cname (self);
4693
_tmp13_ = g_strconcat (_tmp12_, "_co", NULL);
4701
4695
vala_method_set_cname (self->priv->callback_method, _tmp14_);
4702
4696
_g_free0 (_tmp14_);
4704
4698
_vala_code_node_unref0 (bool_type);
4706
4700
_tmp15_ = _vala_code_node_ref0 (self->priv->callback_method);