/* valanamedargument.c generated by valac, the Vala compiler * generated from valanamedargument.vala, do not modify */ /* valanamedargument.vala * * Copyright (C) 2009-2010 Jürg Billeter * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Author: * Jürg Billeter */ #include "vala.h" #include #include #include #include #include #define _g_free0(var) (var = (g_free (var), NULL)) #define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL))) struct _ValaNamedArgumentPrivate { gchar* _name; ValaExpression* _inner; }; static gint ValaNamedArgument_private_offset; static gpointer vala_named_argument_parent_class = NULL; static void vala_named_argument_real_accept (ValaCodeNode* base, ValaCodeVisitor* visitor); static void vala_named_argument_real_accept_children (ValaCodeNode* base, ValaCodeVisitor* visitor); static void vala_named_argument_real_replace_expression (ValaCodeNode* base, ValaExpression* old_node, ValaExpression* new_node); static gboolean vala_named_argument_real_is_pure (ValaExpression* base); static gboolean vala_named_argument_real_check (ValaCodeNode* base, ValaCodeContext* context); static void vala_named_argument_real_emit (ValaCodeNode* base, ValaCodeGenerator* codegen); static void vala_named_argument_real_get_defined_variables (ValaCodeNode* base, ValaCollection* collection); static void vala_named_argument_real_get_used_variables (ValaCodeNode* base, ValaCollection* collection); static void vala_named_argument_finalize (ValaCodeNode * obj); static GType vala_named_argument_get_type_once (void); static inline gpointer vala_named_argument_get_instance_private (ValaNamedArgument* self) { return G_STRUCT_MEMBER_P (self, ValaNamedArgument_private_offset); } const gchar* vala_named_argument_get_name (ValaNamedArgument* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_name; result = _tmp0_; return result; } void vala_named_argument_set_name (ValaNamedArgument* self, const gchar* value) { gchar* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = g_strdup (value); _g_free0 (self->priv->_name); self->priv->_name = _tmp0_; } ValaExpression* vala_named_argument_get_inner (ValaNamedArgument* self) { ValaExpression* result; ValaExpression* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_inner; result = _tmp0_; return result; } static gpointer _vala_code_node_ref0 (gpointer self) { return self ? vala_code_node_ref (self) : NULL; } void vala_named_argument_set_inner (ValaNamedArgument* self, ValaExpression* value) { ValaExpression* _tmp0_; ValaExpression* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = _vala_code_node_ref0 (value); _vala_code_node_unref0 (self->priv->_inner); self->priv->_inner = _tmp0_; _tmp1_ = self->priv->_inner; vala_code_node_set_parent_node ((ValaCodeNode*) _tmp1_, (ValaCodeNode*) self); } ValaNamedArgument* vala_named_argument_construct (GType object_type, const gchar* name, ValaExpression* inner, ValaSourceReference* source_reference) { ValaNamedArgument* self = NULL; g_return_val_if_fail (name != NULL, NULL); g_return_val_if_fail (inner != NULL, NULL); self = (ValaNamedArgument*) vala_expression_construct (object_type); vala_named_argument_set_name (self, name); vala_named_argument_set_inner (self, inner); vala_code_node_set_source_reference ((ValaCodeNode*) self, source_reference); return self; } ValaNamedArgument* vala_named_argument_new (const gchar* name, ValaExpression* inner, ValaSourceReference* source_reference) { return vala_named_argument_construct (VALA_TYPE_NAMED_ARGUMENT, name, inner, source_reference); } static void vala_named_argument_real_accept (ValaCodeNode* base, ValaCodeVisitor* visitor) { ValaNamedArgument * self; self = (ValaNamedArgument*) base; g_return_if_fail (visitor != NULL); vala_code_visitor_visit_named_argument (visitor, self); vala_code_visitor_visit_expression (visitor, (ValaExpression*) self); } static void vala_named_argument_real_accept_children (ValaCodeNode* base, ValaCodeVisitor* visitor) { ValaNamedArgument * self; ValaExpression* _tmp0_; ValaExpression* _tmp1_; self = (ValaNamedArgument*) base; g_return_if_fail (visitor != NULL); _tmp0_ = vala_named_argument_get_inner (self); _tmp1_ = _tmp0_; vala_code_node_accept ((ValaCodeNode*) _tmp1_, visitor); } static void vala_named_argument_real_replace_expression (ValaCodeNode* base, ValaExpression* old_node, ValaExpression* new_node) { ValaNamedArgument * self; ValaExpression* _tmp0_; ValaExpression* _tmp1_; self = (ValaNamedArgument*) base; g_return_if_fail (old_node != NULL); g_return_if_fail (new_node != NULL); _tmp0_ = vala_named_argument_get_inner (self); _tmp1_ = _tmp0_; if (_tmp1_ == old_node) { vala_named_argument_set_inner (self, new_node); } } static gboolean vala_named_argument_real_is_pure (ValaExpression* base) { ValaNamedArgument * self; ValaExpression* _tmp0_; ValaExpression* _tmp1_; gboolean result = FALSE; self = (ValaNamedArgument*) base; _tmp0_ = vala_named_argument_get_inner (self); _tmp1_ = _tmp0_; result = vala_expression_is_pure (_tmp1_); return result; } static gboolean vala_named_argument_real_check (ValaCodeNode* base, ValaCodeContext* context) { ValaNamedArgument * self; gboolean _tmp0_; gboolean _tmp1_; ValaExpression* _tmp4_; ValaExpression* _tmp5_; ValaDataType* _tmp6_; ValaDataType* _tmp7_; ValaExpression* _tmp8_; ValaExpression* _tmp9_; ValaExpression* _tmp10_; ValaExpression* _tmp11_; ValaExpression* _tmp12_; ValaExpression* _tmp13_; ValaDataType* _tmp14_; ValaDataType* _tmp15_; ValaExpression* _tmp16_; ValaExpression* _tmp17_; ValaDataType* _tmp18_; ValaDataType* _tmp19_; gboolean _tmp20_; gboolean _tmp21_; gboolean result = FALSE; self = (ValaNamedArgument*) base; g_return_val_if_fail (context != NULL, FALSE); _tmp0_ = vala_code_node_get_checked ((ValaCodeNode*) self); _tmp1_ = _tmp0_; if (_tmp1_) { gboolean _tmp2_; gboolean _tmp3_; _tmp2_ = vala_code_node_get_error ((ValaCodeNode*) self); _tmp3_ = _tmp2_; result = !_tmp3_; return result; } vala_code_node_set_checked ((ValaCodeNode*) self, TRUE); _tmp4_ = vala_named_argument_get_inner (self); _tmp5_ = _tmp4_; _tmp6_ = vala_expression_get_target_type ((ValaExpression*) self); _tmp7_ = _tmp6_; vala_expression_set_target_type (_tmp5_, _tmp7_); _tmp8_ = vala_named_argument_get_inner (self); _tmp9_ = _tmp8_; if (!vala_code_node_check ((ValaCodeNode*) _tmp9_, context)) { vala_code_node_set_error ((ValaCodeNode*) self, TRUE); result = FALSE; return result; } _tmp10_ = vala_named_argument_get_inner (self); _tmp11_ = _tmp10_; _tmp12_ = vala_named_argument_get_inner (self); _tmp13_ = _tmp12_; _tmp14_ = vala_expression_get_value_type (_tmp13_); _tmp15_ = _tmp14_; vala_expression_set_target_type (_tmp11_, _tmp15_); _tmp16_ = vala_named_argument_get_inner (self); _tmp17_ = _tmp16_; _tmp18_ = vala_expression_get_value_type (_tmp17_); _tmp19_ = _tmp18_; vala_expression_set_value_type ((ValaExpression*) self, _tmp19_); _tmp20_ = vala_code_node_get_error ((ValaCodeNode*) self); _tmp21_ = _tmp20_; result = !_tmp21_; return result; } static void vala_named_argument_real_emit (ValaCodeNode* base, ValaCodeGenerator* codegen) { ValaNamedArgument * self; ValaExpression* _tmp0_; ValaExpression* _tmp1_; self = (ValaNamedArgument*) base; g_return_if_fail (codegen != NULL); _tmp0_ = vala_named_argument_get_inner (self); _tmp1_ = _tmp0_; vala_code_node_emit ((ValaCodeNode*) _tmp1_, codegen); vala_code_visitor_visit_named_argument ((ValaCodeVisitor*) codegen, self); vala_code_visitor_visit_expression ((ValaCodeVisitor*) codegen, (ValaExpression*) self); } static void vala_named_argument_real_get_defined_variables (ValaCodeNode* base, ValaCollection* collection) { ValaNamedArgument * self; ValaExpression* _tmp0_; ValaExpression* _tmp1_; self = (ValaNamedArgument*) base; g_return_if_fail (collection != NULL); _tmp0_ = vala_named_argument_get_inner (self); _tmp1_ = _tmp0_; vala_code_node_get_defined_variables ((ValaCodeNode*) _tmp1_, collection); } static void vala_named_argument_real_get_used_variables (ValaCodeNode* base, ValaCollection* collection) { ValaNamedArgument * self; ValaExpression* _tmp0_; ValaExpression* _tmp1_; self = (ValaNamedArgument*) base; g_return_if_fail (collection != NULL); _tmp0_ = vala_named_argument_get_inner (self); _tmp1_ = _tmp0_; vala_code_node_get_used_variables ((ValaCodeNode*) _tmp1_, collection); } static void vala_named_argument_class_init (ValaNamedArgumentClass * klass, gpointer klass_data) { vala_named_argument_parent_class = g_type_class_peek_parent (klass); ((ValaCodeNodeClass *) klass)->finalize = vala_named_argument_finalize; g_type_class_adjust_private_offset (klass, &ValaNamedArgument_private_offset); ((ValaCodeNodeClass *) klass)->accept = (void (*) (ValaCodeNode*, ValaCodeVisitor*)) vala_named_argument_real_accept; ((ValaCodeNodeClass *) klass)->accept_children = (void (*) (ValaCodeNode*, ValaCodeVisitor*)) vala_named_argument_real_accept_children; ((ValaCodeNodeClass *) klass)->replace_expression = (void (*) (ValaCodeNode*, ValaExpression*, ValaExpression*)) vala_named_argument_real_replace_expression; ((ValaExpressionClass *) klass)->is_pure = (gboolean (*) (ValaExpression*)) vala_named_argument_real_is_pure; ((ValaCodeNodeClass *) klass)->check = (gboolean (*) (ValaCodeNode*, ValaCodeContext*)) vala_named_argument_real_check; ((ValaCodeNodeClass *) klass)->emit = (void (*) (ValaCodeNode*, ValaCodeGenerator*)) vala_named_argument_real_emit; ((ValaCodeNodeClass *) klass)->get_defined_variables = (void (*) (ValaCodeNode*, ValaCollection*)) vala_named_argument_real_get_defined_variables; ((ValaCodeNodeClass *) klass)->get_used_variables = (void (*) (ValaCodeNode*, ValaCollection*)) vala_named_argument_real_get_used_variables; } static void vala_named_argument_instance_init (ValaNamedArgument * self, gpointer klass) { self->priv = vala_named_argument_get_instance_private (self); } static void vala_named_argument_finalize (ValaCodeNode * obj) { ValaNamedArgument * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALA_TYPE_NAMED_ARGUMENT, ValaNamedArgument); _g_free0 (self->priv->_name); _vala_code_node_unref0 (self->priv->_inner); VALA_CODE_NODE_CLASS (vala_named_argument_parent_class)->finalize (obj); } static GType vala_named_argument_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (ValaNamedArgumentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_named_argument_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaNamedArgument), 0, (GInstanceInitFunc) vala_named_argument_instance_init, NULL }; GType vala_named_argument_type_id; vala_named_argument_type_id = g_type_register_static (VALA_TYPE_EXPRESSION, "ValaNamedArgument", &g_define_type_info, 0); ValaNamedArgument_private_offset = g_type_add_instance_private (vala_named_argument_type_id, sizeof (ValaNamedArgumentPrivate)); return vala_named_argument_type_id; } GType vala_named_argument_get_type (void) { static volatile gsize vala_named_argument_type_id__volatile = 0; if (g_once_init_enter (&vala_named_argument_type_id__volatile)) { GType vala_named_argument_type_id; vala_named_argument_type_id = vala_named_argument_get_type_once (); g_once_init_leave (&vala_named_argument_type_id__volatile, vala_named_argument_type_id); } return vala_named_argument_type_id__volatile; }