691
static ValaCCodeFragment* vala_class_register_function_real_get_type_interface_init_statements (ValaTypeRegisterFunction* base, gboolean plugin) {
703
static void vala_class_register_function_real_get_type_interface_init_statements (ValaTypeRegisterFunction* base, ValaCCodeBlock* block, gboolean plugin) {
692
704
ValaClassRegisterFunction * self;
693
ValaCCodeFragment* result = NULL;
694
ValaCCodeFragment* _tmp0_ = NULL;
695
ValaCCodeFragment* frag;
705
ValaCodeContext* _tmp52_ = NULL;
706
ValaCodeGenerator* _tmp53_ = NULL;
696
707
self = (ValaClassRegisterFunction*) base;
697
_tmp0_ = vala_ccode_fragment_new ();
708
g_return_if_fail (block != NULL);
700
ValaList* _tmp1_ = NULL;
710
ValaList* _tmp0_ = NULL;
701
711
ValaList* _base_type_list;
703
713
gint _base_type_size;
704
714
gint _base_type_index;
705
_tmp1_ = vala_class_get_base_types (self->priv->_class_reference);
706
_base_type_list = _tmp1_;
707
_tmp2_ = vala_collection_get_size ((ValaCollection*) _base_type_list);
708
_base_type_size = _tmp2_;
715
_tmp0_ = vala_class_get_base_types (self->priv->_class_reference);
716
_base_type_list = _tmp0_;
717
_tmp1_ = vala_collection_get_size ((ValaCollection*) _base_type_list);
718
_base_type_size = _tmp1_;
709
719
_base_type_index = -1;
711
gpointer _tmp3_ = NULL;
721
gpointer _tmp2_ = NULL;
712
722
ValaDataType* base_type;
723
ValaTypeSymbol* _tmp3_ = NULL;
713
724
ValaTypeSymbol* _tmp4_ = NULL;
714
ValaTypeSymbol* _tmp5_ = NULL;
715
ValaInterface* _tmp6_;
725
ValaInterface* _tmp5_;
716
726
ValaInterface* iface;
717
gchar* _tmp7_ = NULL;
719
gchar* _tmp9_ = NULL;
727
gchar* _tmp6_ = NULL;
729
gchar* _tmp8_ = NULL;
721
731
gchar* iface_info_name;
722
732
_base_type_index = _base_type_index + 1;
723
733
if (!(_base_type_index < _base_type_size)) {
726
_tmp3_ = vala_list_get (_base_type_list, _base_type_index);
727
base_type = (ValaDataType*) _tmp3_;
728
_tmp4_ = vala_data_type_get_data_type (base_type);
729
if (!VALA_IS_INTERFACE (_tmp4_)) {
736
_tmp2_ = vala_list_get (_base_type_list, _base_type_index);
737
base_type = (ValaDataType*) _tmp2_;
738
_tmp3_ = vala_data_type_get_data_type (base_type);
739
if (!VALA_IS_INTERFACE (_tmp3_)) {
730
740
_vala_code_node_unref0 (base_type);
733
_tmp5_ = vala_data_type_get_data_type (base_type);
734
_tmp6_ = _vala_code_node_ref0 (VALA_INTERFACE (_tmp5_));
736
_tmp7_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) iface, NULL);
738
_tmp9_ = g_strdup_printf ("%s_info", _tmp8_);
739
iface_info_name = (_tmp10_ = _tmp9_, _g_free0 (_tmp8_), _tmp10_);
743
_tmp4_ = vala_data_type_get_data_type (base_type);
744
_tmp5_ = _vala_code_node_ref0 (VALA_INTERFACE (_tmp4_));
746
_tmp6_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) iface, NULL);
748
_tmp8_ = g_strdup_printf ("%s_info", _tmp7_);
749
iface_info_name = (_tmp9_ = _tmp8_, _g_free0 (_tmp7_), _tmp9_);
741
ValaCCodeIdentifier* _tmp11_ = NULL;
742
ValaCCodeIdentifier* _tmp12_;
743
ValaCCodeFunctionCall* _tmp13_ = NULL;
744
ValaCCodeFunctionCall* _tmp14_;
751
ValaCCodeIdentifier* _tmp10_ = NULL;
752
ValaCCodeIdentifier* _tmp11_;
753
ValaCCodeFunctionCall* _tmp12_ = NULL;
754
ValaCCodeFunctionCall* _tmp13_;
745
755
ValaCCodeFunctionCall* reg_call;
746
gchar* _tmp15_ = NULL;
748
gchar* _tmp17_ = NULL;
750
ValaCCodeIdentifier* _tmp19_ = NULL;
751
ValaCCodeIdentifier* _tmp20_;
752
gchar* _tmp21_ = NULL;
754
ValaCCodeIdentifier* _tmp23_ = NULL;
755
ValaCCodeIdentifier* _tmp24_;
756
gchar* _tmp25_ = NULL;
758
ValaCCodeIdentifier* _tmp27_ = NULL;
759
ValaCCodeIdentifier* _tmp28_;
760
ValaCCodeExpressionStatement* _tmp29_ = NULL;
761
ValaCCodeExpressionStatement* _tmp30_;
762
_tmp11_ = vala_ccode_identifier_new ("g_type_add_interface_static");
764
_tmp13_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp12_);
765
reg_call = (_tmp14_ = _tmp13_, _vala_ccode_node_unref0 (_tmp12_), _tmp14_);
766
_tmp15_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) self->priv->_class_reference, NULL);
768
_tmp17_ = g_strdup_printf ("%s_type_id", _tmp16_);
770
_tmp19_ = vala_ccode_identifier_new (_tmp18_);
772
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp20_);
773
_vala_ccode_node_unref0 (_tmp20_);
776
_tmp21_ = vala_typesymbol_get_type_id ((ValaTypeSymbol*) iface);
778
_tmp23_ = vala_ccode_identifier_new (_tmp22_);
780
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp24_);
781
_vala_ccode_node_unref0 (_tmp24_);
783
_tmp25_ = g_strdup_printf ("&%s", iface_info_name);
785
_tmp27_ = vala_ccode_identifier_new (_tmp26_);
787
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp28_);
788
_vala_ccode_node_unref0 (_tmp28_);
790
_tmp29_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reg_call);
792
vala_ccode_fragment_append (frag, (ValaCCodeNode*) _tmp30_);
793
_vala_ccode_node_unref0 (_tmp30_);
756
gchar* _tmp14_ = NULL;
758
gchar* _tmp16_ = NULL;
760
ValaCCodeIdentifier* _tmp18_ = NULL;
761
ValaCCodeIdentifier* _tmp19_;
762
gchar* _tmp20_ = NULL;
764
ValaCCodeIdentifier* _tmp22_ = NULL;
765
ValaCCodeIdentifier* _tmp23_;
766
gchar* _tmp24_ = NULL;
768
ValaCCodeIdentifier* _tmp26_ = NULL;
769
ValaCCodeIdentifier* _tmp27_;
770
ValaCCodeExpressionStatement* _tmp28_ = NULL;
771
ValaCCodeExpressionStatement* _tmp29_;
772
_tmp10_ = vala_ccode_identifier_new ("g_type_add_interface_static");
774
_tmp12_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp11_);
775
reg_call = (_tmp13_ = _tmp12_, _vala_ccode_node_unref0 (_tmp11_), _tmp13_);
776
_tmp14_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) self->priv->_class_reference, NULL);
778
_tmp16_ = g_strdup_printf ("%s_type_id", _tmp15_);
780
_tmp18_ = vala_ccode_identifier_new (_tmp17_);
782
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp19_);
783
_vala_ccode_node_unref0 (_tmp19_);
786
_tmp20_ = vala_typesymbol_get_type_id ((ValaTypeSymbol*) iface);
788
_tmp22_ = vala_ccode_identifier_new (_tmp21_);
790
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp23_);
791
_vala_ccode_node_unref0 (_tmp23_);
793
_tmp24_ = g_strdup_printf ("&%s", iface_info_name);
795
_tmp26_ = vala_ccode_identifier_new (_tmp25_);
797
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp27_);
798
_vala_ccode_node_unref0 (_tmp27_);
800
_tmp28_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reg_call);
802
vala_ccode_block_add_statement (block, (ValaCCodeNode*) _tmp29_);
803
_vala_ccode_node_unref0 (_tmp29_);
794
804
_vala_ccode_node_unref0 (reg_call);
796
ValaCCodeIdentifier* _tmp31_ = NULL;
797
ValaCCodeIdentifier* _tmp32_;
798
ValaCCodeFunctionCall* _tmp33_ = NULL;
799
ValaCCodeFunctionCall* _tmp34_;
806
ValaCCodeIdentifier* _tmp30_ = NULL;
807
ValaCCodeIdentifier* _tmp31_;
808
ValaCCodeFunctionCall* _tmp32_ = NULL;
809
ValaCCodeFunctionCall* _tmp33_;
800
810
ValaCCodeFunctionCall* reg_call;
801
ValaCCodeIdentifier* _tmp35_ = NULL;
802
ValaCCodeIdentifier* _tmp36_;
803
gchar* _tmp37_ = NULL;
805
gchar* _tmp39_ = NULL;
807
ValaCCodeIdentifier* _tmp41_ = NULL;
808
ValaCCodeIdentifier* _tmp42_;
809
gchar* _tmp43_ = NULL;
811
ValaCCodeIdentifier* _tmp45_ = NULL;
812
ValaCCodeIdentifier* _tmp46_;
813
gchar* _tmp47_ = NULL;
815
ValaCCodeIdentifier* _tmp49_ = NULL;
816
ValaCCodeIdentifier* _tmp50_;
817
ValaCCodeExpressionStatement* _tmp51_ = NULL;
818
ValaCCodeExpressionStatement* _tmp52_;
819
_tmp31_ = vala_ccode_identifier_new ("g_type_module_add_interface");
821
_tmp33_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp32_);
822
reg_call = (_tmp34_ = _tmp33_, _vala_ccode_node_unref0 (_tmp32_), _tmp34_);
823
_tmp35_ = vala_ccode_identifier_new ("module");
825
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp36_);
826
_vala_ccode_node_unref0 (_tmp36_);
827
_tmp37_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) self->priv->_class_reference, NULL);
829
_tmp39_ = g_strdup_printf ("%s_type_id", _tmp38_);
831
_tmp41_ = vala_ccode_identifier_new (_tmp40_);
833
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp42_);
834
_vala_ccode_node_unref0 (_tmp42_);
837
_tmp43_ = vala_typesymbol_get_type_id ((ValaTypeSymbol*) iface);
839
_tmp45_ = vala_ccode_identifier_new (_tmp44_);
841
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp46_);
842
_vala_ccode_node_unref0 (_tmp46_);
844
_tmp47_ = g_strdup_printf ("&%s", iface_info_name);
846
_tmp49_ = vala_ccode_identifier_new (_tmp48_);
848
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp50_);
849
_vala_ccode_node_unref0 (_tmp50_);
851
_tmp51_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reg_call);
853
vala_ccode_fragment_append (frag, (ValaCCodeNode*) _tmp52_);
854
_vala_ccode_node_unref0 (_tmp52_);
811
ValaCCodeIdentifier* _tmp34_ = NULL;
812
ValaCCodeIdentifier* _tmp35_;
813
gchar* _tmp36_ = NULL;
815
gchar* _tmp38_ = NULL;
817
ValaCCodeIdentifier* _tmp40_ = NULL;
818
ValaCCodeIdentifier* _tmp41_;
819
gchar* _tmp42_ = NULL;
821
ValaCCodeIdentifier* _tmp44_ = NULL;
822
ValaCCodeIdentifier* _tmp45_;
823
gchar* _tmp46_ = NULL;
825
ValaCCodeIdentifier* _tmp48_ = NULL;
826
ValaCCodeIdentifier* _tmp49_;
827
ValaCCodeExpressionStatement* _tmp50_ = NULL;
828
ValaCCodeExpressionStatement* _tmp51_;
829
_tmp30_ = vala_ccode_identifier_new ("g_type_module_add_interface");
831
_tmp32_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp31_);
832
reg_call = (_tmp33_ = _tmp32_, _vala_ccode_node_unref0 (_tmp31_), _tmp33_);
833
_tmp34_ = vala_ccode_identifier_new ("module");
835
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp35_);
836
_vala_ccode_node_unref0 (_tmp35_);
837
_tmp36_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) self->priv->_class_reference, NULL);
839
_tmp38_ = g_strdup_printf ("%s_type_id", _tmp37_);
841
_tmp40_ = vala_ccode_identifier_new (_tmp39_);
843
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp41_);
844
_vala_ccode_node_unref0 (_tmp41_);
847
_tmp42_ = vala_typesymbol_get_type_id ((ValaTypeSymbol*) iface);
849
_tmp44_ = vala_ccode_identifier_new (_tmp43_);
851
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp45_);
852
_vala_ccode_node_unref0 (_tmp45_);
854
_tmp46_ = g_strdup_printf ("&%s", iface_info_name);
856
_tmp48_ = vala_ccode_identifier_new (_tmp47_);
858
vala_ccode_function_call_add_argument (reg_call, (ValaCCodeExpression*) _tmp49_);
859
_vala_ccode_node_unref0 (_tmp49_);
861
_tmp50_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) reg_call);
863
vala_ccode_block_add_statement (block, (ValaCCodeNode*) _tmp51_);
864
_vala_ccode_node_unref0 (_tmp51_);
855
865
_vala_ccode_node_unref0 (reg_call);
857
867
_g_free0 (iface_info_name);