1
/* valaccodewhilestatement.c generated by valac, the Vala compiler
2
* generated from valaccodewhilestatement.vala, do not modify */
4
/* valaccodewhilestatement.vala
6
* Copyright (C) 2006-2008 JĆ¼rg Billeter
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
13
* This library is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with this library; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23
* JĆ¼rg Billeter <j@bitron.ch>
27
#include <glib-object.h>
32
#define VALA_TYPE_CCODE_NODE (vala_ccode_node_get_type ())
33
#define VALA_CCODE_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_NODE, ValaCCodeNode))
34
#define VALA_CCODE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_NODE, ValaCCodeNodeClass))
35
#define VALA_IS_CCODE_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_NODE))
36
#define VALA_IS_CCODE_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_NODE))
37
#define VALA_CCODE_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_NODE, ValaCCodeNodeClass))
39
typedef struct _ValaCCodeNode ValaCCodeNode;
40
typedef struct _ValaCCodeNodeClass ValaCCodeNodeClass;
41
typedef struct _ValaCCodeNodePrivate ValaCCodeNodePrivate;
43
#define VALA_TYPE_CCODE_WRITER (vala_ccode_writer_get_type ())
44
#define VALA_CCODE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_WRITER, ValaCCodeWriter))
45
#define VALA_CCODE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_WRITER, ValaCCodeWriterClass))
46
#define VALA_IS_CCODE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_WRITER))
47
#define VALA_IS_CCODE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_WRITER))
48
#define VALA_CCODE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_WRITER, ValaCCodeWriterClass))
50
typedef struct _ValaCCodeWriter ValaCCodeWriter;
51
typedef struct _ValaCCodeWriterClass ValaCCodeWriterClass;
53
#define VALA_TYPE_CCODE_STATEMENT (vala_ccode_statement_get_type ())
54
#define VALA_CCODE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_STATEMENT, ValaCCodeStatement))
55
#define VALA_CCODE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_STATEMENT, ValaCCodeStatementClass))
56
#define VALA_IS_CCODE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_STATEMENT))
57
#define VALA_IS_CCODE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_STATEMENT))
58
#define VALA_CCODE_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_STATEMENT, ValaCCodeStatementClass))
60
typedef struct _ValaCCodeStatement ValaCCodeStatement;
61
typedef struct _ValaCCodeStatementClass ValaCCodeStatementClass;
62
typedef struct _ValaCCodeStatementPrivate ValaCCodeStatementPrivate;
64
#define VALA_TYPE_CCODE_WHILE_STATEMENT (vala_ccode_while_statement_get_type ())
65
#define VALA_CCODE_WHILE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_WHILE_STATEMENT, ValaCCodeWhileStatement))
66
#define VALA_CCODE_WHILE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_WHILE_STATEMENT, ValaCCodeWhileStatementClass))
67
#define VALA_IS_CCODE_WHILE_STATEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_WHILE_STATEMENT))
68
#define VALA_IS_CCODE_WHILE_STATEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_WHILE_STATEMENT))
69
#define VALA_CCODE_WHILE_STATEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_WHILE_STATEMENT, ValaCCodeWhileStatementClass))
71
typedef struct _ValaCCodeWhileStatement ValaCCodeWhileStatement;
72
typedef struct _ValaCCodeWhileStatementClass ValaCCodeWhileStatementClass;
73
typedef struct _ValaCCodeWhileStatementPrivate ValaCCodeWhileStatementPrivate;
75
#define VALA_TYPE_CCODE_EXPRESSION (vala_ccode_expression_get_type ())
76
#define VALA_CCODE_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_EXPRESSION, ValaCCodeExpression))
77
#define VALA_CCODE_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_EXPRESSION, ValaCCodeExpressionClass))
78
#define VALA_IS_CCODE_EXPRESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_EXPRESSION))
79
#define VALA_IS_CCODE_EXPRESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_EXPRESSION))
80
#define VALA_CCODE_EXPRESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_EXPRESSION, ValaCCodeExpressionClass))
82
typedef struct _ValaCCodeExpression ValaCCodeExpression;
83
typedef struct _ValaCCodeExpressionClass ValaCCodeExpressionClass;
84
#define _vala_ccode_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_ccode_node_unref (var), NULL)))
86
#define VALA_TYPE_CCODE_LINE_DIRECTIVE (vala_ccode_line_directive_get_type ())
87
#define VALA_CCODE_LINE_DIRECTIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_LINE_DIRECTIVE, ValaCCodeLineDirective))
88
#define VALA_CCODE_LINE_DIRECTIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_LINE_DIRECTIVE, ValaCCodeLineDirectiveClass))
89
#define VALA_IS_CCODE_LINE_DIRECTIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_LINE_DIRECTIVE))
90
#define VALA_IS_CCODE_LINE_DIRECTIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_LINE_DIRECTIVE))
91
#define VALA_CCODE_LINE_DIRECTIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_LINE_DIRECTIVE, ValaCCodeLineDirectiveClass))
93
typedef struct _ValaCCodeLineDirective ValaCCodeLineDirective;
94
typedef struct _ValaCCodeLineDirectiveClass ValaCCodeLineDirectiveClass;
96
struct _ValaCCodeNode {
97
GTypeInstance parent_instance;
98
volatile int ref_count;
99
ValaCCodeNodePrivate * priv;
102
struct _ValaCCodeNodeClass {
103
GTypeClass parent_class;
104
void (*finalize) (ValaCCodeNode *self);
105
void (*write) (ValaCCodeNode* self, ValaCCodeWriter* writer);
106
void (*write_declaration) (ValaCCodeNode* self, ValaCCodeWriter* writer);
107
void (*write_combined) (ValaCCodeNode* self, ValaCCodeWriter* writer);
110
struct _ValaCCodeStatement {
111
ValaCCodeNode parent_instance;
112
ValaCCodeStatementPrivate * priv;
115
struct _ValaCCodeStatementClass {
116
ValaCCodeNodeClass parent_class;
119
struct _ValaCCodeWhileStatement {
120
ValaCCodeStatement parent_instance;
121
ValaCCodeWhileStatementPrivate * priv;
124
struct _ValaCCodeWhileStatementClass {
125
ValaCCodeStatementClass parent_class;
128
struct _ValaCCodeWhileStatementPrivate {
129
ValaCCodeExpression* _condition;
130
ValaCCodeStatement* _body;
134
static gpointer vala_ccode_while_statement_parent_class = NULL;
136
gpointer vala_ccode_node_ref (gpointer instance);
137
void vala_ccode_node_unref (gpointer instance);
138
GParamSpec* vala_param_spec_ccode_node (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
139
void vala_value_set_ccode_node (GValue* value, gpointer v_object);
140
void vala_value_take_ccode_node (GValue* value, gpointer v_object);
141
gpointer vala_value_get_ccode_node (const GValue* value);
142
GType vala_ccode_node_get_type (void) G_GNUC_CONST;
143
gpointer vala_ccode_writer_ref (gpointer instance);
144
void vala_ccode_writer_unref (gpointer instance);
145
GParamSpec* vala_param_spec_ccode_writer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
146
void vala_value_set_ccode_writer (GValue* value, gpointer v_object);
147
void vala_value_take_ccode_writer (GValue* value, gpointer v_object);
148
gpointer vala_value_get_ccode_writer (const GValue* value);
149
GType vala_ccode_writer_get_type (void) G_GNUC_CONST;
150
GType vala_ccode_statement_get_type (void) G_GNUC_CONST;
151
GType vala_ccode_while_statement_get_type (void) G_GNUC_CONST;
152
GType vala_ccode_expression_get_type (void) G_GNUC_CONST;
153
#define VALA_CCODE_WHILE_STATEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VALA_TYPE_CCODE_WHILE_STATEMENT, ValaCCodeWhileStatementPrivate))
155
VALA_CCODE_WHILE_STATEMENT_DUMMY_PROPERTY
157
ValaCCodeWhileStatement* vala_ccode_while_statement_new (ValaCCodeExpression* cond, ValaCCodeStatement* stmt);
158
ValaCCodeWhileStatement* vala_ccode_while_statement_construct (GType object_type, ValaCCodeExpression* cond, ValaCCodeStatement* stmt);
159
ValaCCodeStatement* vala_ccode_statement_construct (GType object_type);
160
void vala_ccode_while_statement_set_condition (ValaCCodeWhileStatement* self, ValaCCodeExpression* value);
161
void vala_ccode_while_statement_set_body (ValaCCodeWhileStatement* self, ValaCCodeStatement* value);
162
static void vala_ccode_while_statement_real_write (ValaCCodeNode* base, ValaCCodeWriter* writer);
163
GType vala_ccode_line_directive_get_type (void) G_GNUC_CONST;
164
void vala_ccode_writer_write_indent (ValaCCodeWriter* self, ValaCCodeLineDirective* line);
165
ValaCCodeLineDirective* vala_ccode_node_get_line (ValaCCodeNode* self);
166
void vala_ccode_writer_write_string (ValaCCodeWriter* self, const gchar* s);
167
ValaCCodeExpression* vala_ccode_while_statement_get_condition (ValaCCodeWhileStatement* self);
168
void vala_ccode_node_write (ValaCCodeNode* self, ValaCCodeWriter* writer);
169
ValaCCodeStatement* vala_ccode_while_statement_get_body (ValaCCodeWhileStatement* self);
170
static void vala_ccode_while_statement_finalize (ValaCCodeNode* obj);
173
ValaCCodeWhileStatement* vala_ccode_while_statement_construct (GType object_type, ValaCCodeExpression* cond, ValaCCodeStatement* stmt) {
174
ValaCCodeWhileStatement* self = NULL;
175
ValaCCodeExpression* _tmp0_;
176
ValaCCodeStatement* _tmp1_;
177
g_return_val_if_fail (cond != NULL, NULL);
178
self = (ValaCCodeWhileStatement*) vala_ccode_statement_construct (object_type);
180
vala_ccode_while_statement_set_condition (self, _tmp0_);
182
vala_ccode_while_statement_set_body (self, _tmp1_);
187
ValaCCodeWhileStatement* vala_ccode_while_statement_new (ValaCCodeExpression* cond, ValaCCodeStatement* stmt) {
188
return vala_ccode_while_statement_construct (VALA_TYPE_CCODE_WHILE_STATEMENT, cond, stmt);
192
static void vala_ccode_while_statement_real_write (ValaCCodeNode* base, ValaCCodeWriter* writer) {
193
ValaCCodeWhileStatement * self;
194
ValaCCodeWriter* _tmp0_;
195
ValaCCodeLineDirective* _tmp1_;
196
ValaCCodeLineDirective* _tmp2_;
197
ValaCCodeWriter* _tmp3_;
198
ValaCCodeExpression* _tmp4_;
199
ValaCCodeWriter* _tmp5_;
200
ValaCCodeWriter* _tmp6_;
201
ValaCCodeStatement* _tmp7_;
202
ValaCCodeWriter* _tmp8_;
203
self = (ValaCCodeWhileStatement*) base;
204
g_return_if_fail (writer != NULL);
206
_tmp1_ = vala_ccode_node_get_line ((ValaCCodeNode*) self);
208
vala_ccode_writer_write_indent (_tmp0_, _tmp2_);
210
vala_ccode_writer_write_string (_tmp3_, "while (");
211
_tmp4_ = self->priv->_condition;
213
vala_ccode_node_write ((ValaCCodeNode*) _tmp4_, _tmp5_);
215
vala_ccode_writer_write_string (_tmp6_, ")");
216
_tmp7_ = self->priv->_body;
218
vala_ccode_node_write ((ValaCCodeNode*) _tmp7_, _tmp8_);
222
ValaCCodeExpression* vala_ccode_while_statement_get_condition (ValaCCodeWhileStatement* self) {
223
ValaCCodeExpression* result;
224
ValaCCodeExpression* _tmp0_;
225
g_return_val_if_fail (self != NULL, NULL);
226
_tmp0_ = self->priv->_condition;
232
static gpointer _vala_ccode_node_ref0 (gpointer self) {
233
return self ? vala_ccode_node_ref (self) : NULL;
237
void vala_ccode_while_statement_set_condition (ValaCCodeWhileStatement* self, ValaCCodeExpression* value) {
238
ValaCCodeExpression* _tmp0_;
239
ValaCCodeExpression* _tmp1_;
240
g_return_if_fail (self != NULL);
242
_tmp1_ = _vala_ccode_node_ref0 (_tmp0_);
243
_vala_ccode_node_unref0 (self->priv->_condition);
244
self->priv->_condition = _tmp1_;
248
ValaCCodeStatement* vala_ccode_while_statement_get_body (ValaCCodeWhileStatement* self) {
249
ValaCCodeStatement* result;
250
ValaCCodeStatement* _tmp0_;
251
g_return_val_if_fail (self != NULL, NULL);
252
_tmp0_ = self->priv->_body;
258
void vala_ccode_while_statement_set_body (ValaCCodeWhileStatement* self, ValaCCodeStatement* value) {
259
ValaCCodeStatement* _tmp0_;
260
ValaCCodeStatement* _tmp1_;
261
g_return_if_fail (self != NULL);
263
_tmp1_ = _vala_ccode_node_ref0 (_tmp0_);
264
_vala_ccode_node_unref0 (self->priv->_body);
265
self->priv->_body = _tmp1_;
269
static void vala_ccode_while_statement_class_init (ValaCCodeWhileStatementClass * klass) {
270
vala_ccode_while_statement_parent_class = g_type_class_peek_parent (klass);
271
VALA_CCODE_NODE_CLASS (klass)->finalize = vala_ccode_while_statement_finalize;
272
g_type_class_add_private (klass, sizeof (ValaCCodeWhileStatementPrivate));
273
VALA_CCODE_NODE_CLASS (klass)->write = vala_ccode_while_statement_real_write;
277
static void vala_ccode_while_statement_instance_init (ValaCCodeWhileStatement * self) {
278
self->priv = VALA_CCODE_WHILE_STATEMENT_GET_PRIVATE (self);
282
static void vala_ccode_while_statement_finalize (ValaCCodeNode* obj) {
283
ValaCCodeWhileStatement * self;
284
self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALA_TYPE_CCODE_WHILE_STATEMENT, ValaCCodeWhileStatement);
285
_vala_ccode_node_unref0 (self->priv->_condition);
286
_vala_ccode_node_unref0 (self->priv->_body);
287
VALA_CCODE_NODE_CLASS (vala_ccode_while_statement_parent_class)->finalize (obj);
292
* Represents a while iteration statement in the C code.
294
GType vala_ccode_while_statement_get_type (void) {
295
static volatile gsize vala_ccode_while_statement_type_id__volatile = 0;
296
if (g_once_init_enter (&vala_ccode_while_statement_type_id__volatile)) {
297
static const GTypeInfo g_define_type_info = { sizeof (ValaCCodeWhileStatementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_ccode_while_statement_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaCCodeWhileStatement), 0, (GInstanceInitFunc) vala_ccode_while_statement_instance_init, NULL };
298
GType vala_ccode_while_statement_type_id;
299
vala_ccode_while_statement_type_id = g_type_register_static (VALA_TYPE_CCODE_STATEMENT, "ValaCCodeWhileStatement", &g_define_type_info, 0);
300
g_once_init_leave (&vala_ccode_while_statement_type_id__volatile, vala_ccode_while_statement_type_id);
302
return vala_ccode_while_statement_type_id__volatile;