147
147
typedef struct _ValaEnum ValaEnum;
148
148
typedef struct _ValaEnumClass ValaEnumClass;
150
#define VALA_TYPE_CONSTANT (vala_constant_get_type ())
151
#define VALA_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CONSTANT, ValaConstant))
152
#define VALA_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CONSTANT, ValaConstantClass))
153
#define VALA_IS_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CONSTANT))
154
#define VALA_IS_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CONSTANT))
155
#define VALA_CONSTANT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CONSTANT, ValaConstantClass))
157
typedef struct _ValaConstant ValaConstant;
158
typedef struct _ValaConstantClass ValaConstantClass;
150
160
#define VALA_TYPE_ENUM_VALUE (vala_enum_value_get_type ())
151
161
#define VALA_ENUM_VALUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ENUM_VALUE, ValaEnumValue))
152
162
#define VALA_ENUM_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ENUM_VALUE, ValaEnumValueClass))
187
197
typedef struct _ValaDelegate ValaDelegate;
188
198
typedef struct _ValaDelegateClass ValaDelegateClass;
190
#define VALA_TYPE_MEMBER (vala_member_get_type ())
191
#define VALA_MEMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_MEMBER, ValaMember))
192
#define VALA_MEMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_MEMBER, ValaMemberClass))
193
#define VALA_IS_MEMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_MEMBER))
194
#define VALA_IS_MEMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_MEMBER))
195
#define VALA_MEMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_MEMBER, ValaMemberClass))
197
typedef struct _ValaMember ValaMember;
198
typedef struct _ValaMemberClass ValaMemberClass;
200
#define VALA_TYPE_CONSTANT (vala_constant_get_type ())
201
#define VALA_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CONSTANT, ValaConstant))
202
#define VALA_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CONSTANT, ValaConstantClass))
203
#define VALA_IS_CONSTANT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CONSTANT))
204
#define VALA_IS_CONSTANT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CONSTANT))
205
#define VALA_CONSTANT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CONSTANT, ValaConstantClass))
207
typedef struct _ValaConstant ValaConstant;
208
typedef struct _ValaConstantClass ValaConstantClass;
200
#define VALA_TYPE_VARIABLE (vala_variable_get_type ())
201
#define VALA_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_VARIABLE, ValaVariable))
202
#define VALA_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_VARIABLE, ValaVariableClass))
203
#define VALA_IS_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_VARIABLE))
204
#define VALA_IS_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_VARIABLE))
205
#define VALA_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_VARIABLE, ValaVariableClass))
207
typedef struct _ValaVariable ValaVariable;
208
typedef struct _ValaVariableClass ValaVariableClass;
210
210
#define VALA_TYPE_FIELD (vala_field_get_type ())
211
211
#define VALA_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_FIELD, ValaField))
1444
1444
GType vala_struct_get_type (void) G_GNUC_CONST;
1445
1445
GType vala_interface_get_type (void) G_GNUC_CONST;
1446
1446
GType vala_enum_get_type (void) G_GNUC_CONST;
1447
GType vala_constant_get_type (void) G_GNUC_CONST;
1447
1448
GType vala_enum_value_get_type (void) G_GNUC_CONST;
1448
1449
GType vala_error_domain_get_type (void) G_GNUC_CONST;
1449
1450
GType vala_error_code_get_type (void) G_GNUC_CONST;
1450
1451
GType vala_delegate_get_type (void) G_GNUC_CONST;
1451
GType vala_member_get_type (void) G_GNUC_CONST;
1452
GType vala_constant_get_type (void) G_GNUC_CONST;
1452
GType vala_variable_get_type (void) G_GNUC_CONST;
1453
1453
GType vala_field_get_type (void) G_GNUC_CONST;
1454
1454
GType vala_method_get_type (void) G_GNUC_CONST;
1455
1455
GType vala_creation_method_get_type (void) G_GNUC_CONST;
1657
1657
gboolean vala_enum_get_has_type_id (ValaEnum* self);
1658
1658
gboolean vala_enum_get_is_flags (ValaEnum* self);
1659
1659
ValaList* vala_enum_get_values (ValaEnum* self);
1660
char* vala_enum_value_get_cname (ValaEnumValue* self);
1661
char* vala_enum_value_get_default_cname (ValaEnumValue* self);
1660
char* vala_constant_get_cname (ValaConstant* self);
1661
char* vala_constant_get_default_cname (ValaConstant* self);
1662
1662
ValaList* vala_enum_get_methods (ValaEnum* self);
1663
1663
ValaList* vala_enum_get_constants (ValaEnum* self);
1664
1664
static void vala_code_writer_real_visit_enum (ValaCodeVisitor* base, ValaEnum* en);
1665
1665
static void vala_code_writer_real_visit_error_domain (ValaCodeVisitor* base, ValaErrorDomain* edomain);
1666
1666
static void vala_code_writer_real_visit_error_code (ValaCodeVisitor* base, ValaErrorCode* ecode);
1667
char* vala_constant_get_cname (ValaConstant* self);
1668
char* vala_constant_get_default_cname (ValaConstant* self);
1669
1667
ValaSymbol* vala_symbol_get_parent_symbol (ValaSymbol* self);
1670
1668
ValaDataType* vala_constant_get_type_reference (ValaConstant* self);
1671
1669
static void vala_code_writer_real_visit_constant (ValaCodeVisitor* base, ValaConstant* c);
2793
2801
vala_code_writer_write_string (self, ",");
2794
2802
vala_code_writer_write_newline (self);
2796
if ((_tmp8_ = _vala_strcmp0 (_tmp6_ = vala_enum_value_get_cname (ev), _tmp7_ = vala_enum_value_get_default_cname (ev)) != 0, _g_free0 (_tmp7_), _g_free0 (_tmp6_), _tmp8_)) {
2804
if ((_tmp8_ = _vala_strcmp0 (_tmp6_ = vala_constant_get_cname ((ValaConstant*) ev), _tmp7_ = vala_constant_get_default_cname ((ValaConstant*) ev)) != 0, _g_free0 (_tmp7_), _g_free0 (_tmp6_), _tmp8_)) {
2799
2807
vala_code_writer_write_indent (self);
2800
vala_code_writer_write_string (self, _tmp10_ = g_strdup_printf ("[CCode (cname = \"%s\")]", _tmp9_ = vala_enum_value_get_cname (ev)));
2808
vala_code_writer_write_string (self, _tmp10_ = g_strdup_printf ("[CCode (cname = \"%s\")]", _tmp9_ = vala_constant_get_cname ((ValaConstant*) ev)));
2801
2809
_g_free0 (_tmp10_);
2802
2810
_g_free0 (_tmp9_);
3144
3152
vala_code_writer_write_string (self, "class ");
3147
if (vala_code_writer_is_weak (self, vala_field_get_field_type (f))) {
3155
if (vala_code_writer_is_weak (self, vala_variable_get_variable_type ((ValaVariable*) f))) {
3148
3156
vala_code_writer_write_string (self, "weak ");
3150
vala_code_writer_write_type (self, vala_field_get_field_type (f));
3158
vala_code_writer_write_type (self, vala_variable_get_variable_type ((ValaVariable*) f));
3151
3159
vala_code_writer_write_string (self, " ");
3152
3160
vala_code_writer_write_identifier (self, vala_symbol_get_name ((ValaSymbol*) f));
3153
3161
vala_code_writer_write_string (self, ";");
3282
3290
vala_code_writer_write_string (self, "out ");
3285
if (vala_code_writer_is_weak (self, vala_formal_parameter_get_parameter_type (param))) {
3293
if (vala_code_writer_is_weak (self, vala_variable_get_variable_type ((ValaVariable*) param))) {
3286
3294
vala_code_writer_write_string (self, "unowned ");
3289
vala_code_writer_write_type (self, vala_formal_parameter_get_parameter_type (param));
3297
vala_code_writer_write_type (self, vala_variable_get_variable_type ((ValaVariable*) param));
3290
3298
vala_code_writer_write_string (self, " ");
3291
3299
vala_code_writer_write_identifier (self, vala_symbol_get_name ((ValaSymbol*) param));
3292
if (vala_formal_parameter_get_default_expression (param) != NULL) {
3300
if (vala_variable_get_initializer ((ValaVariable*) param) != NULL) {
3294
3302
vala_code_writer_write_string (self, " = ");
3295
vala_code_writer_write_string (self, _tmp9_ = vala_code_node_to_string ((ValaCodeNode*) vala_formal_parameter_get_default_expression (param)));
3303
vala_code_writer_write_string (self, _tmp9_ = vala_code_node_to_string ((ValaCodeNode*) vala_variable_get_initializer ((ValaVariable*) param)));
3296
3304
_g_free0 (_tmp9_);
3514
3522
g_string_append_printf (ccode_params, "%sarray_null_terminated = true", separator);
3515
3523
separator = (_tmp21_ = g_strdup (", "), _g_free0 (separator), _tmp21_);
3525
if (vala_method_get_array_length_type (m) != NULL) {
3526
_tmp22_ = VALA_IS_ARRAY_TYPE (vala_method_get_return_type (m));
3532
g_string_append_printf (ccode_params, "%sarray_length_type = \"%s\"", separator, vala_method_get_array_length_type (m));
3533
separator = (_tmp23_ = g_strdup (", "), _g_free0 (separator), _tmp23_);
3517
3535
if (!vala_code_writer_float_equal (self, vala_method_get_cdelegate_target_parameter_position (m), (double) (-3))) {
3519
3537
g_string_append_printf (ccode_params, "%sdelegate_target_pos = %g", separator, vala_method_get_cdelegate_target_parameter_position (m));
3520
separator = (_tmp22_ = g_strdup (", "), _g_free0 (separator), _tmp22_);
3538
separator = (_tmp24_ = g_strdup (", "), _g_free0 (separator), _tmp24_);
3522
3540
if (_vala_strcmp0 (vala_method_get_vfunc_name (m), vala_symbol_get_name ((ValaSymbol*) m)) != 0) {
3524
3542
g_string_append_printf (ccode_params, "%svfunc_name = \"%s\"", separator, vala_method_get_vfunc_name (m));
3525
separator = (_tmp23_ = g_strdup (", "), _g_free0 (separator), _tmp23_);
3543
separator = (_tmp25_ = g_strdup (", "), _g_free0 (separator), _tmp25_);
3527
3545
if (vala_method_get_coroutine (m)) {
3530
_tmp24_ = _vala_strcmp0 (_tmp25_ = vala_method_get_finish_cname (m), _tmp26_ = vala_method_get_default_finish_cname (m)) != 0;
3539
g_string_append_printf (ccode_params, "%sfinish_name = \"%s\"", separator, _tmp27_ = vala_method_get_finish_cname (m));
3548
_tmp26_ = _vala_strcmp0 (_tmp27_ = vala_method_get_finish_cname (m), _tmp28_ = vala_method_get_default_finish_cname (m)) != 0;
3540
3550
_g_free0 (_tmp27_);
3541
separator = (_tmp28_ = g_strdup (", "), _g_free0 (separator), _tmp28_);
3557
g_string_append_printf (ccode_params, "%sfinish_name = \"%s\"", separator, _tmp29_ = vala_method_get_finish_cname (m));
3559
separator = (_tmp30_ = g_strdup (", "), _g_free0 (separator), _tmp30_);
3543
3561
if (_vala_strcmp0 (vala_method_get_sentinel (m), VALA_METHOD_DEFAULT_SENTINEL) != 0) {
3545
3563
g_string_append_printf (ccode_params, "%ssentinel = \"%s\"", separator, vala_method_get_sentinel (m));
3546
separator = (_tmp29_ = g_strdup (", "), _g_free0 (separator), _tmp29_);
3548
if (VALA_IS_CREATION_METHOD (m)) {
3549
_tmp30_ = vala_creation_method_get_custom_return_type_cname (VALA_CREATION_METHOD (m)) != NULL;
3555
g_string_append_printf (ccode_params, "%stype = \"%s\"", separator, vala_creation_method_get_custom_return_type_cname (VALA_CREATION_METHOD (m)));
3556
3564
separator = (_tmp31_ = g_strdup (", "), _g_free0 (separator), _tmp31_);
3558
3566
if (VALA_IS_CREATION_METHOD (m)) {
3559
_tmp32_ = !vala_method_get_has_construct_function (m);
3567
_tmp32_ = vala_creation_method_get_custom_return_type_cname (VALA_CREATION_METHOD (m)) != NULL;
3561
3569
_tmp32_ = FALSE;
3573
g_string_append_printf (ccode_params, "%stype = \"%s\"", separator, vala_creation_method_get_custom_return_type_cname (VALA_CREATION_METHOD (m)));
3574
separator = (_tmp33_ = g_strdup (", "), _g_free0 (separator), _tmp33_);
3576
if (VALA_IS_CREATION_METHOD (m)) {
3577
_tmp34_ = !vala_method_get_has_construct_function (m);
3565
3583
g_string_append_printf (ccode_params, "%shas_construct_function = false", separator);
3566
separator = (_tmp33_ = g_strdup (", "), _g_free0 (separator), _tmp33_);
3584
separator = (_tmp35_ = g_strdup (", "), _g_free0 (separator), _tmp35_);
3568
3586
if (ccode_params->len > 0) {
3570
3588
vala_code_writer_write_indent (self);
3571
vala_code_writer_write_string (self, _tmp34_ = g_strdup_printf ("[CCode (%s)]", ccode_params->str));
3589
vala_code_writer_write_string (self, _tmp36_ = g_strdup_printf ("[CCode (%s)]", ccode_params->str));
3574
3592
vala_code_writer_write_indent (self);
3575
3593
vala_code_writer_write_accessibility (self, (ValaSymbol*) m);
3642
3660
vala_code_writer_write_string (self, " ");
3643
3661
_vala_collection_object_unref0 (type_params);
3645
vala_code_writer_write_params (self, _tmp35_ = vala_method_get_parameters (m));
3646
_vala_collection_object_unref0 (_tmp35_);
3647
vala_code_writer_write_error_domains (self, _tmp36_ = vala_code_node_get_error_types ((ValaCodeNode*) m));
3648
_vala_collection_object_unref0 (_tmp36_);
3663
vala_code_writer_write_params (self, _tmp37_ = vala_method_get_parameters (m));
3664
_vala_collection_object_unref0 (_tmp37_);
3665
if (vala_code_context_get_profile (self->priv->context) != VALA_PROFILE_DOVA) {
3667
vala_code_writer_write_error_domains (self, _tmp38_ = vala_code_node_get_error_types ((ValaCodeNode*) m));
3668
_vala_collection_object_unref0 (_tmp38_);
3649
3670
vala_code_writer_write_code_block (self, vala_method_get_body (m));
3650
3671
vala_code_writer_write_newline (self);
3651
3672
_g_free0 (separator);
3839
3860
ValaCodeWriter * self;
3840
3861
self = (ValaCodeWriter*) base;
3841
3862
g_return_if_fail (local != NULL);
3842
vala_code_writer_write_type (self, vala_local_variable_get_variable_type (local));
3863
vala_code_writer_write_type (self, vala_variable_get_variable_type ((ValaVariable*) local));
3843
3864
vala_code_writer_write_string (self, " ");
3844
3865
vala_code_writer_write_identifier (self, vala_symbol_get_name ((ValaSymbol*) local));
3845
if (vala_local_variable_get_initializer (local) != NULL) {
3866
if (vala_variable_get_initializer ((ValaVariable*) local) != NULL) {
3846
3867
vala_code_writer_write_string (self, " = ");
3847
vala_code_node_accept ((ValaCodeNode*) vala_local_variable_get_initializer (local), (ValaCodeVisitor*) self);
3868
vala_code_node_accept ((ValaCodeNode*) vala_variable_get_initializer ((ValaVariable*) local), (ValaCodeVisitor*) self);