1 /* tagletparam.c generated by valac, the Vala compiler
2 * generated from tagletparam.vala, do not modify */
3
4 /* taglet.vala
5 *
6 * Copyright (C) 2008-2009 Didier Villevalois
7 * Copyright (C) 2008-2012 Florian Brosch
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 *
23 * Author:
24 * Didier 'Ptitjes Villevalois <ptitjes@free.fr>
25 */
26
27 #include "valadoc.h"
28 #include <stdlib.h>
29 #include <string.h>
30 #include <glib.h>
31 #include <glib-object.h>
32 #include <valagee.h>
33
34 enum {
35 VALADOC_TAGLETS_PARAM_0_PROPERTY,
36 VALADOC_TAGLETS_PARAM_PARAMETER_NAME_PROPERTY,
37 VALADOC_TAGLETS_PARAM_PARAMETER_PROPERTY,
38 VALADOC_TAGLETS_PARAM_POSITION_PROPERTY,
39 VALADOC_TAGLETS_PARAM_IS_C_SELF_PARAM_PROPERTY,
40 VALADOC_TAGLETS_PARAM_IS_THIS_PROPERTY,
41 VALADOC_TAGLETS_PARAM_NUM_PROPERTIES
42 };
43 static GParamSpec* valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_NUM_PROPERTIES];
44 #define _g_free0(var) (var = (g_free (var), NULL))
45 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
46 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
47
48 struct _ValadocTagletsParamPrivate {
49 gchar* _parameter_name;
50 ValadocApiSymbol* _parameter;
51 gint _position;
52 gboolean _is_c_self_param;
53 gboolean _is_this;
54 };
55
56 static gint ValadocTagletsParam_private_offset;
57 static gpointer valadoc_taglets_param_parent_class = NULL;
58 static ValadocContentTagletIface * valadoc_taglets_param_valadoc_content_taglet_parent_iface = NULL;
59 static ValadocContentBlockIface * valadoc_taglets_param_valadoc_content_block_parent_iface = NULL;
60
61 G_GNUC_INTERNAL void valadoc_taglets_param_set_parameter_name (ValadocTagletsParam* self,
62 const gchar* value);
63 static void valadoc_taglets_param_set_parameter (ValadocTagletsParam* self,
64 ValadocApiSymbol* value);
65 static void valadoc_taglets_param_set_position (ValadocTagletsParam* self,
66 gint value);
67 G_GNUC_INTERNAL void valadoc_taglets_param_set_is_c_self_param (ValadocTagletsParam* self,
68 gboolean value);
69 static void valadoc_taglets_param_set_is_this (ValadocTagletsParam* self,
70 gboolean value);
71 static ValadocRule* valadoc_taglets_param_real_get_parser_rule (ValadocContentTaglet* base,
72 ValadocRule* run_rule);
73 static void __lambda11_ (ValadocTagletsParam* self,
74 ValadocToken* token,
75 GError** error);
76 static void ___lambda11__valadoc_token_type_action (ValadocToken* token,
77 gpointer self,
78 GError** error);
79 static void valadoc_taglets_param_real_check (ValadocContentContentElement* base,
80 ValadocApiTree* api_root,
81 ValadocApiNode* container,
82 const gchar* file_path,
83 ValadocErrorReporter* reporter,
84 ValadocSettings* settings);
85 static gboolean valadoc_taglets_param_has_instance (ValadocTagletsParam* self,
86 ValadocApiItem* element);
87 G_GNUC_INTERNAL const gchar* valadoc_api_callable_get_implicit_array_length_cparameter_name (ValadocApiCallable* self);
88 G_GNUC_INTERNAL const gchar* valadoc_api_parameter_get_implicit_array_length_cparameter_name (ValadocApiParameter* self);
89 G_GNUC_INTERNAL const gchar* valadoc_api_parameter_get_implicit_closure_cparameter_name (ValadocApiParameter* self);
90 G_GNUC_INTERNAL const gchar* valadoc_api_parameter_get_implicit_destroy_cparameter_name (ValadocApiParameter* self);
91 static void valadoc_taglets_param_real_accept (ValadocContentContentElement* base,
92 ValadocContentContentVisitor* visitor);
93 static ValaList* valadoc_taglets_param_real_get_inheritable_documentation (ValadocContentTaglet* base);
94 static gboolean valadoc_taglets_param_real_inheritable (ValadocContentTaglet* base,
95 ValadocContentTaglet* taglet);
96 static ValadocContentContentElement* valadoc_taglets_param_real_copy (ValadocContentContentElement* base,
97 ValadocContentContentElement* new_parent);
98 G_GNUC_INTERNAL void valadoc_content_content_element_set_parent (ValadocContentContentElement* self,
99 ValadocContentContentElement* value);
100 G_GNUC_INTERNAL ValadocContentBlockContent* valadoc_content_block_content_construct (GType object_type);
101 static void valadoc_taglets_param_finalize (GObject * obj);
102 static GType valadoc_taglets_param_get_type_once (void);
103 static void _vala_valadoc_taglets_param_get_property (GObject * object,
104 guint property_id,
105 GValue * value,
106 GParamSpec * pspec);
107 static void _vala_valadoc_taglets_param_set_property (GObject * object,
108 guint property_id,
109 const GValue * value,
110 GParamSpec * pspec);
111 static void _vala_array_destroy (gpointer array,
112 gint array_length,
113 GDestroyNotify destroy_func);
114 static void _vala_array_free (gpointer array,
115 gint array_length,
116 GDestroyNotify destroy_func);
117
118 static inline gpointer
valadoc_taglets_param_get_instance_private(ValadocTagletsParam * self)119 valadoc_taglets_param_get_instance_private (ValadocTagletsParam* self)
120 {
121 return G_STRUCT_MEMBER_P (self, ValadocTagletsParam_private_offset);
122 }
123
124 const gchar*
valadoc_taglets_param_get_parameter_name(ValadocTagletsParam * self)125 valadoc_taglets_param_get_parameter_name (ValadocTagletsParam* self)
126 {
127 const gchar* result;
128 const gchar* _tmp0_;
129 g_return_val_if_fail (self != NULL, NULL);
130 _tmp0_ = self->priv->_parameter_name;
131 result = _tmp0_;
132 return result;
133 }
134
135 G_GNUC_INTERNAL void
valadoc_taglets_param_set_parameter_name(ValadocTagletsParam * self,const gchar * value)136 valadoc_taglets_param_set_parameter_name (ValadocTagletsParam* self,
137 const gchar* value)
138 {
139 gchar* old_value;
140 g_return_if_fail (self != NULL);
141 old_value = valadoc_taglets_param_get_parameter_name (self);
142 if (g_strcmp0 (value, old_value) != 0) {
143 gchar* _tmp0_;
144 _tmp0_ = g_strdup (value);
145 _g_free0 (self->priv->_parameter_name);
146 self->priv->_parameter_name = _tmp0_;
147 g_object_notify_by_pspec ((GObject *) self, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_PARAMETER_NAME_PROPERTY]);
148 }
149 }
150
151 ValadocApiSymbol*
valadoc_taglets_param_get_parameter(ValadocTagletsParam * self)152 valadoc_taglets_param_get_parameter (ValadocTagletsParam* self)
153 {
154 ValadocApiSymbol* result;
155 ValadocApiSymbol* _tmp0_;
156 g_return_val_if_fail (self != NULL, NULL);
157 _tmp0_ = self->priv->_parameter;
158 result = _tmp0_;
159 return result;
160 }
161
162 static void
valadoc_taglets_param_set_parameter(ValadocTagletsParam * self,ValadocApiSymbol * value)163 valadoc_taglets_param_set_parameter (ValadocTagletsParam* self,
164 ValadocApiSymbol* value)
165 {
166 ValadocApiSymbol* old_value;
167 g_return_if_fail (self != NULL);
168 old_value = valadoc_taglets_param_get_parameter (self);
169 if (old_value != value) {
170 self->priv->_parameter = value;
171 g_object_notify_by_pspec ((GObject *) self, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_PARAMETER_PROPERTY]);
172 }
173 }
174
175 gint
valadoc_taglets_param_get_position(ValadocTagletsParam * self)176 valadoc_taglets_param_get_position (ValadocTagletsParam* self)
177 {
178 gint result;
179 g_return_val_if_fail (self != NULL, 0);
180 result = self->priv->_position;
181 return result;
182 }
183
184 static void
valadoc_taglets_param_set_position(ValadocTagletsParam * self,gint value)185 valadoc_taglets_param_set_position (ValadocTagletsParam* self,
186 gint value)
187 {
188 gint old_value;
189 g_return_if_fail (self != NULL);
190 old_value = valadoc_taglets_param_get_position (self);
191 if (old_value != value) {
192 self->priv->_position = value;
193 g_object_notify_by_pspec ((GObject *) self, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_POSITION_PROPERTY]);
194 }
195 }
196
197 gboolean
valadoc_taglets_param_get_is_c_self_param(ValadocTagletsParam * self)198 valadoc_taglets_param_get_is_c_self_param (ValadocTagletsParam* self)
199 {
200 gboolean result;
201 g_return_val_if_fail (self != NULL, FALSE);
202 result = self->priv->_is_c_self_param;
203 return result;
204 }
205
206 G_GNUC_INTERNAL void
valadoc_taglets_param_set_is_c_self_param(ValadocTagletsParam * self,gboolean value)207 valadoc_taglets_param_set_is_c_self_param (ValadocTagletsParam* self,
208 gboolean value)
209 {
210 gboolean old_value;
211 g_return_if_fail (self != NULL);
212 old_value = valadoc_taglets_param_get_is_c_self_param (self);
213 if (old_value != value) {
214 self->priv->_is_c_self_param = value;
215 g_object_notify_by_pspec ((GObject *) self, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_IS_C_SELF_PARAM_PROPERTY]);
216 }
217 }
218
219 gboolean
valadoc_taglets_param_get_is_this(ValadocTagletsParam * self)220 valadoc_taglets_param_get_is_this (ValadocTagletsParam* self)
221 {
222 gboolean result;
223 g_return_val_if_fail (self != NULL, FALSE);
224 result = self->priv->_is_this;
225 return result;
226 }
227
228 static void
valadoc_taglets_param_set_is_this(ValadocTagletsParam * self,gboolean value)229 valadoc_taglets_param_set_is_this (ValadocTagletsParam* self,
230 gboolean value)
231 {
232 gboolean old_value;
233 g_return_if_fail (self != NULL);
234 old_value = valadoc_taglets_param_get_is_this (self);
235 if (old_value != value) {
236 self->priv->_is_this = value;
237 g_object_notify_by_pspec ((GObject *) self, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_IS_THIS_PROPERTY]);
238 }
239 }
240
241 static gpointer
_g_object_ref0(gpointer self)242 _g_object_ref0 (gpointer self)
243 {
244 return self ? g_object_ref (self) : NULL;
245 }
246
247 static void
__lambda11_(ValadocTagletsParam * self,ValadocToken * token,GError ** error)248 __lambda11_ (ValadocTagletsParam* self,
249 ValadocToken* token,
250 GError** error)
251 {
252 const gchar* _tmp0_;
253 g_return_if_fail (token != NULL);
254 _tmp0_ = valadoc_token_to_string (token);
255 valadoc_taglets_param_set_parameter_name (self, _tmp0_);
256 }
257
258 static void
___lambda11__valadoc_token_type_action(ValadocToken * token,gpointer self,GError ** error)259 ___lambda11__valadoc_token_type_action (ValadocToken* token,
260 gpointer self,
261 GError** error)
262 {
263 __lambda11_ ((ValadocTagletsParam*) self, token, error);
264 }
265
266 static ValadocRule*
valadoc_taglets_param_real_get_parser_rule(ValadocContentTaglet * base,ValadocRule * run_rule)267 valadoc_taglets_param_real_get_parser_rule (ValadocContentTaglet* base,
268 ValadocRule* run_rule)
269 {
270 ValadocTagletsParam * self;
271 ValadocTokenType* _tmp0_;
272 GObject* _tmp1_;
273 GObject** _tmp2_;
274 GObject** _tmp3_;
275 gint _tmp3__length1;
276 ValadocRule* _tmp4_;
277 GObject** _tmp5_;
278 GObject** _tmp6_;
279 gint _tmp6__length1;
280 ValadocRule* _tmp7_;
281 ValadocTokenType* _tmp8_;
282 ValadocTokenType* _tmp9_;
283 ValadocTokenType* _tmp10_;
284 GObject* _tmp11_;
285 GObject** _tmp12_;
286 GObject** _tmp13_;
287 gint _tmp13__length1;
288 ValadocRule* _tmp14_;
289 ValadocRule* _tmp15_;
290 ValadocRule* result = NULL;
291 self = (ValadocTagletsParam*) base;
292 g_return_val_if_fail (run_rule != NULL, NULL);
293 _tmp0_ = valadoc_token_type_SPACE;
294 _tmp1_ = _g_object_ref0 ((GObject*) _tmp0_);
295 _tmp2_ = g_new0 (GObject*, 1 + 1);
296 _tmp2_[0] = _tmp1_;
297 _tmp3_ = _tmp2_;
298 _tmp3__length1 = 1;
299 _tmp4_ = valadoc_rule_many (_tmp3_, (gint) 1);
300 _tmp5_ = g_new0 (GObject*, 1 + 1);
301 _tmp5_[0] = (GObject*) _tmp4_;
302 _tmp6_ = _tmp5_;
303 _tmp6__length1 = 1;
304 _tmp7_ = valadoc_rule_option (_tmp6_, (gint) 1);
305 _tmp8_ = valadoc_token_type_any_word ();
306 _tmp9_ = _tmp8_;
307 _tmp10_ = valadoc_token_type_action (_tmp9_, ___lambda11__valadoc_token_type_action, self);
308 _tmp11_ = _g_object_ref0 ((GObject*) run_rule);
309 _tmp12_ = g_new0 (GObject*, 3 + 1);
310 _tmp12_[0] = (GObject*) _tmp7_;
311 _tmp12_[1] = (GObject*) _tmp10_;
312 _tmp12_[2] = _tmp11_;
313 _tmp13_ = _tmp12_;
314 _tmp13__length1 = 3;
315 _tmp14_ = valadoc_rule_seq (_tmp13_, (gint) 3);
316 _tmp15_ = _tmp14_;
317 _tmp13_ = (_vala_array_free (_tmp13_, _tmp13__length1, (GDestroyNotify) g_object_unref), NULL);
318 _g_object_unref0 (_tmp9_);
319 _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_object_unref), NULL);
320 _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_object_unref), NULL);
321 result = _tmp15_;
322 return result;
323 }
324
325 static gpointer
_vala_iterable_ref0(gpointer self)326 _vala_iterable_ref0 (gpointer self)
327 {
328 return self ? vala_iterable_ref (self) : NULL;
329 }
330
331 static void
valadoc_taglets_param_real_check(ValadocContentContentElement * base,ValadocApiTree * api_root,ValadocApiNode * container,const gchar * file_path,ValadocErrorReporter * reporter,ValadocSettings * settings)332 valadoc_taglets_param_real_check (ValadocContentContentElement* base,
333 ValadocApiTree* api_root,
334 ValadocApiNode* container,
335 const gchar* file_path,
336 ValadocErrorReporter* reporter,
337 ValadocSettings* settings)
338 {
339 ValadocTagletsParam * self;
340 const gchar* implicit_return_array_length = NULL;
341 gboolean has_instance = FALSE;
342 gboolean is_implicit = FALSE;
343 gboolean _tmp6_ = FALSE;
344 gboolean _tmp7_;
345 ValadocApiSymbol* _tmp77_;
346 self = (ValadocTagletsParam*) base;
347 g_return_if_fail (api_root != NULL);
348 g_return_if_fail (container != NULL);
349 g_return_if_fail (file_path != NULL);
350 g_return_if_fail (reporter != NULL);
351 g_return_if_fail (settings != NULL);
352 implicit_return_array_length = NULL;
353 has_instance = valadoc_taglets_param_has_instance (self, (ValadocApiItem*) container);
354 is_implicit = FALSE;
355 valadoc_taglets_param_set_parameter (self, NULL);
356 if (VALADOC_API_IS_CALLABLE (container)) {
357 const gchar* _tmp0_;
358 const gchar* _tmp1_;
359 _tmp0_ = valadoc_api_callable_get_implicit_array_length_cparameter_name (G_TYPE_CHECK_INSTANCE_CAST (container, VALADOC_API_TYPE_CALLABLE, ValadocApiCallable));
360 _tmp1_ = _tmp0_;
361 implicit_return_array_length = _tmp1_;
362 } else {
363 gchar* _tmp2_;
364 gchar* _tmp3_;
365 gchar* _tmp4_;
366 gchar* _tmp5_;
367 _tmp2_ = valadoc_api_node_get_full_name (container);
368 _tmp3_ = _tmp2_;
369 _tmp4_ = g_strdup_printf ("%s: %s: @param", file_path, _tmp3_);
370 _tmp5_ = _tmp4_;
371 valadoc_error_reporter_simple_warning (reporter, _tmp5_, "@param used outside method/delegate/signal context");
372 _g_free0 (_tmp5_);
373 _g_free0 (_tmp3_);
374 VALADOC_CONTENT_CONTENT_ELEMENT_CLASS (valadoc_taglets_param_parent_class)->check ((ValadocContentContentElement*) G_TYPE_CHECK_INSTANCE_CAST (self, VALADOC_CONTENT_TYPE_BLOCK_CONTENT, ValadocContentBlockContent), api_root, container, file_path, reporter, settings);
375 return;
376 }
377 _tmp7_ = self->priv->_is_c_self_param;
378 if (_tmp7_ == TRUE) {
379 _tmp6_ = has_instance;
380 } else {
381 _tmp6_ = FALSE;
382 }
383 if (_tmp6_) {
384 valadoc_taglets_param_set_parameter_name (self, "this");
385 valadoc_taglets_param_set_is_this (self, TRUE);
386 valadoc_taglets_param_set_position (self, 0);
387 } else {
388 const gchar* _tmp8_;
389 _tmp8_ = self->priv->_parameter_name;
390 if (g_strcmp0 (_tmp8_, "...") == 0) {
391 ValaList* params = NULL;
392 ValaList* _tmp9_;
393 _tmp9_ = valadoc_api_node_get_children_by_type (container, VALADOC_API_NODE_TYPE_FORMAL_PARAMETER, FALSE);
394 params = _tmp9_;
395 {
396 ValaList* _param_list = NULL;
397 ValaList* _tmp10_;
398 ValaList* _tmp11_;
399 gint _param_size = 0;
400 ValaList* _tmp12_;
401 gint _tmp13_;
402 gint _tmp14_;
403 gint _param_index = 0;
404 _tmp10_ = params;
405 _tmp11_ = _vala_iterable_ref0 (_tmp10_);
406 _param_list = _tmp11_;
407 _tmp12_ = _param_list;
408 _tmp13_ = vala_collection_get_size ((ValaCollection*) _tmp12_);
409 _tmp14_ = _tmp13_;
410 _param_size = _tmp14_;
411 _param_index = -1;
412 while (TRUE) {
413 gint _tmp15_;
414 gint _tmp16_;
415 ValadocApiNode* param = NULL;
416 ValaList* _tmp17_;
417 gpointer _tmp18_;
418 ValadocApiNode* _tmp19_;
419 gboolean _tmp20_;
420 gboolean _tmp21_;
421 _param_index = _param_index + 1;
422 _tmp15_ = _param_index;
423 _tmp16_ = _param_size;
424 if (!(_tmp15_ < _tmp16_)) {
425 break;
426 }
427 _tmp17_ = _param_list;
428 _tmp18_ = vala_list_get (_tmp17_, _param_index);
429 param = (ValadocApiNode*) _tmp18_;
430 _tmp19_ = param;
431 _tmp20_ = valadoc_api_parameter_get_ellipsis (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, VALADOC_API_TYPE_PARAMETER, ValadocApiParameter));
432 _tmp21_ = _tmp20_;
433 if (_tmp21_) {
434 ValadocApiNode* _tmp22_;
435 gint _tmp23_ = 0;
436 _tmp22_ = param;
437 valadoc_taglets_param_set_parameter (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, VALADOC_API_TYPE_SYMBOL, ValadocApiSymbol));
438 if (has_instance) {
439 ValaList* _tmp24_;
440 gint _tmp25_;
441 gint _tmp26_;
442 _tmp24_ = params;
443 _tmp25_ = vala_collection_get_size ((ValaCollection*) _tmp24_);
444 _tmp26_ = _tmp25_;
445 _tmp23_ = _tmp26_;
446 } else {
447 ValaList* _tmp27_;
448 gint _tmp28_;
449 gint _tmp29_;
450 _tmp27_ = params;
451 _tmp28_ = vala_collection_get_size ((ValaCollection*) _tmp27_);
452 _tmp29_ = _tmp28_;
453 _tmp23_ = _tmp29_ - 1;
454 }
455 valadoc_taglets_param_set_position (self, _tmp23_);
456 _g_object_unref0 (param);
457 break;
458 }
459 _g_object_unref0 (param);
460 }
461 _vala_iterable_unref0 (_param_list);
462 }
463 _vala_iterable_unref0 (params);
464 } else {
465 ValaList* params = NULL;
466 ValadocApiNodeType* _tmp30_;
467 ValadocApiNodeType* _tmp31_;
468 gint _tmp31__length1;
469 ValaList* _tmp32_;
470 ValaList* _tmp33_;
471 gint _tmp34_ = 0;
472 gint pos = 0;
473 gboolean _tmp68_ = FALSE;
474 ValadocApiSymbol* _tmp69_;
475 _tmp30_ = g_new0 (ValadocApiNodeType, 2);
476 _tmp30_[0] = VALADOC_API_NODE_TYPE_FORMAL_PARAMETER;
477 _tmp30_[1] = VALADOC_API_NODE_TYPE_TYPE_PARAMETER;
478 _tmp31_ = _tmp30_;
479 _tmp31__length1 = 2;
480 _tmp32_ = valadoc_api_node_get_children_by_types (container, _tmp31_, (gint) 2, FALSE);
481 _tmp33_ = _tmp32_;
482 _tmp31_ = (g_free (_tmp31_), NULL);
483 params = _tmp33_;
484 if (has_instance) {
485 _tmp34_ = 1;
486 } else {
487 _tmp34_ = 0;
488 }
489 pos = _tmp34_;
490 {
491 ValaList* _param_list = NULL;
492 ValaList* _tmp35_;
493 ValaList* _tmp36_;
494 gint _param_size = 0;
495 ValaList* _tmp37_;
496 gint _tmp38_;
497 gint _tmp39_;
498 gint _param_index = 0;
499 _tmp35_ = params;
500 _tmp36_ = _vala_iterable_ref0 (_tmp35_);
501 _param_list = _tmp36_;
502 _tmp37_ = _param_list;
503 _tmp38_ = vala_collection_get_size ((ValaCollection*) _tmp37_);
504 _tmp39_ = _tmp38_;
505 _param_size = _tmp39_;
506 _param_index = -1;
507 while (TRUE) {
508 gint _tmp40_;
509 gint _tmp41_;
510 ValadocApiNode* param = NULL;
511 ValaList* _tmp42_;
512 gpointer _tmp43_;
513 ValadocApiNode* _tmp44_;
514 const gchar* _tmp45_;
515 const gchar* _tmp46_;
516 const gchar* _tmp47_;
517 ValadocApiParameter* formalparam = NULL;
518 ValadocApiNode* _tmp49_;
519 ValadocApiParameter* _tmp50_;
520 gboolean _tmp51_ = FALSE;
521 ValadocApiParameter* _tmp52_;
522 gint _tmp67_;
523 _param_index = _param_index + 1;
524 _tmp40_ = _param_index;
525 _tmp41_ = _param_size;
526 if (!(_tmp40_ < _tmp41_)) {
527 break;
528 }
529 _tmp42_ = _param_list;
530 _tmp43_ = vala_list_get (_tmp42_, _param_index);
531 param = (ValadocApiNode*) _tmp43_;
532 _tmp44_ = param;
533 _tmp45_ = valadoc_api_node_get_name (_tmp44_);
534 _tmp46_ = _tmp45_;
535 _tmp47_ = self->priv->_parameter_name;
536 if (g_strcmp0 (_tmp46_, _tmp47_) == 0) {
537 ValadocApiNode* _tmp48_;
538 _tmp48_ = param;
539 valadoc_taglets_param_set_parameter (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, VALADOC_API_TYPE_SYMBOL, ValadocApiSymbol));
540 valadoc_taglets_param_set_position (self, pos);
541 _g_object_unref0 (param);
542 break;
543 }
544 _tmp49_ = param;
545 _tmp50_ = _g_object_ref0 (VALADOC_API_IS_PARAMETER (_tmp49_) ? ((ValadocApiParameter*) _tmp49_) : NULL);
546 formalparam = _tmp50_;
547 _tmp52_ = formalparam;
548 if (_tmp52_ != NULL) {
549 gboolean _tmp53_ = FALSE;
550 gboolean _tmp54_ = FALSE;
551 ValadocApiParameter* _tmp55_;
552 const gchar* _tmp56_;
553 const gchar* _tmp57_;
554 const gchar* _tmp58_;
555 _tmp55_ = formalparam;
556 _tmp56_ = valadoc_api_parameter_get_implicit_array_length_cparameter_name (_tmp55_);
557 _tmp57_ = _tmp56_;
558 _tmp58_ = self->priv->_parameter_name;
559 if (g_strcmp0 (_tmp57_, _tmp58_) == 0) {
560 _tmp54_ = TRUE;
561 } else {
562 ValadocApiParameter* _tmp59_;
563 const gchar* _tmp60_;
564 const gchar* _tmp61_;
565 const gchar* _tmp62_;
566 _tmp59_ = formalparam;
567 _tmp60_ = valadoc_api_parameter_get_implicit_closure_cparameter_name (_tmp59_);
568 _tmp61_ = _tmp60_;
569 _tmp62_ = self->priv->_parameter_name;
570 _tmp54_ = g_strcmp0 (_tmp61_, _tmp62_) == 0;
571 }
572 if (_tmp54_) {
573 _tmp53_ = TRUE;
574 } else {
575 ValadocApiParameter* _tmp63_;
576 const gchar* _tmp64_;
577 const gchar* _tmp65_;
578 const gchar* _tmp66_;
579 _tmp63_ = formalparam;
580 _tmp64_ = valadoc_api_parameter_get_implicit_destroy_cparameter_name (_tmp63_);
581 _tmp65_ = _tmp64_;
582 _tmp66_ = self->priv->_parameter_name;
583 _tmp53_ = g_strcmp0 (_tmp65_, _tmp66_) == 0;
584 }
585 _tmp51_ = _tmp53_;
586 } else {
587 _tmp51_ = FALSE;
588 }
589 if (_tmp51_) {
590 is_implicit = TRUE;
591 _g_object_unref0 (formalparam);
592 _g_object_unref0 (param);
593 break;
594 }
595 _tmp67_ = pos;
596 pos = _tmp67_ + 1;
597 _g_object_unref0 (formalparam);
598 _g_object_unref0 (param);
599 }
600 _vala_iterable_unref0 (_param_list);
601 }
602 _tmp69_ = self->priv->_parameter;
603 if (_tmp69_ == NULL) {
604 gboolean _tmp70_ = FALSE;
605 gboolean _tmp71_ = FALSE;
606 const gchar* _tmp72_;
607 _tmp72_ = self->priv->_parameter_name;
608 if (g_strcmp0 (_tmp72_, "error") == 0) {
609 ValadocApiNodeType* _tmp73_;
610 ValadocApiNodeType* _tmp74_;
611 gint _tmp74__length1;
612 _tmp73_ = g_new0 (ValadocApiNodeType, 2);
613 _tmp73_[0] = VALADOC_API_NODE_TYPE_ERROR_DOMAIN;
614 _tmp73_[1] = VALADOC_API_NODE_TYPE_CLASS;
615 _tmp74_ = _tmp73_;
616 _tmp74__length1 = 2;
617 _tmp71_ = valadoc_api_node_has_children (container, _tmp74_, (gint) 2);
618 _tmp74_ = (g_free (_tmp74_), NULL);
619 } else {
620 _tmp71_ = FALSE;
621 }
622 if (_tmp71_) {
623 _tmp70_ = TRUE;
624 } else {
625 const gchar* _tmp75_;
626 const gchar* _tmp76_;
627 _tmp75_ = self->priv->_parameter_name;
628 _tmp76_ = implicit_return_array_length;
629 _tmp70_ = g_strcmp0 (_tmp75_, _tmp76_) == 0;
630 }
631 _tmp68_ = _tmp70_;
632 } else {
633 _tmp68_ = FALSE;
634 }
635 if (_tmp68_) {
636 is_implicit = TRUE;
637 }
638 _vala_iterable_unref0 (params);
639 }
640 }
641 _tmp77_ = self->priv->_parameter;
642 if (_tmp77_ == NULL) {
643 if (is_implicit) {
644 gchar* _tmp78_;
645 gchar* _tmp79_;
646 gchar* _tmp80_;
647 gchar* _tmp81_;
648 const gchar* _tmp82_;
649 _tmp78_ = valadoc_api_node_get_full_name (container);
650 _tmp79_ = _tmp78_;
651 _tmp80_ = g_strdup_printf ("%s: %s: @param", file_path, _tmp79_);
652 _tmp81_ = _tmp80_;
653 _tmp82_ = self->priv->_parameter_name;
654 valadoc_error_reporter_simple_note (reporter, _tmp81_, "Implicit parameter `%s' exposed in documentation", _tmp82_);
655 _g_free0 (_tmp81_);
656 _g_free0 (_tmp79_);
657 } else {
658 gboolean _tmp83_;
659 _tmp83_ = self->priv->_is_c_self_param;
660 if (!_tmp83_) {
661 gchar* _tmp84_;
662 gchar* _tmp85_;
663 gchar* _tmp86_;
664 gchar* _tmp87_;
665 const gchar* _tmp88_;
666 _tmp84_ = valadoc_api_node_get_full_name (container);
667 _tmp85_ = _tmp84_;
668 _tmp86_ = g_strdup_printf ("%s: %s: @param", file_path, _tmp85_);
669 _tmp87_ = _tmp86_;
670 _tmp88_ = self->priv->_parameter_name;
671 valadoc_error_reporter_simple_warning (reporter, _tmp87_, "Unknown parameter `%s'", _tmp88_);
672 _g_free0 (_tmp87_);
673 _g_free0 (_tmp85_);
674 }
675 }
676 }
677 VALADOC_CONTENT_CONTENT_ELEMENT_CLASS (valadoc_taglets_param_parent_class)->check ((ValadocContentContentElement*) G_TYPE_CHECK_INSTANCE_CAST (self, VALADOC_CONTENT_TYPE_BLOCK_CONTENT, ValadocContentBlockContent), api_root, container, file_path, reporter, settings);
678 }
679
680 static gboolean
valadoc_taglets_param_has_instance(ValadocTagletsParam * self,ValadocApiItem * element)681 valadoc_taglets_param_has_instance (ValadocTagletsParam* self,
682 ValadocApiItem* element)
683 {
684 gboolean result = FALSE;
685 g_return_val_if_fail (self != NULL, FALSE);
686 g_return_val_if_fail (element != NULL, FALSE);
687 if (VALADOC_API_IS_METHOD (element)) {
688 gboolean _tmp0_;
689 gboolean _tmp1_;
690 _tmp0_ = valadoc_api_method_get_is_static (G_TYPE_CHECK_INSTANCE_CAST (element, VALADOC_API_TYPE_METHOD, ValadocApiMethod));
691 _tmp1_ = _tmp0_;
692 result = !_tmp1_;
693 return result;
694 }
695 result = FALSE;
696 return result;
697 }
698
699 static void
valadoc_taglets_param_real_accept(ValadocContentContentElement * base,ValadocContentContentVisitor * visitor)700 valadoc_taglets_param_real_accept (ValadocContentContentElement* base,
701 ValadocContentContentVisitor* visitor)
702 {
703 ValadocTagletsParam * self;
704 self = (ValadocTagletsParam*) base;
705 g_return_if_fail (visitor != NULL);
706 valadoc_content_content_visitor_visit_taglet (visitor, (ValadocContentTaglet*) self);
707 }
708
709 static ValaList*
valadoc_taglets_param_real_get_inheritable_documentation(ValadocContentTaglet * base)710 valadoc_taglets_param_real_get_inheritable_documentation (ValadocContentTaglet* base)
711 {
712 ValadocTagletsParam * self;
713 ValaList* _tmp0_;
714 ValaList* _tmp1_;
715 ValaList* _tmp2_;
716 ValaList* result = NULL;
717 self = (ValadocTagletsParam*) base;
718 _tmp0_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) self);
719 _tmp1_ = _tmp0_;
720 _tmp2_ = _vala_iterable_ref0 (_tmp1_);
721 result = _tmp2_;
722 return result;
723 }
724
725 static gboolean
valadoc_taglets_param_real_inheritable(ValadocContentTaglet * base,ValadocContentTaglet * taglet)726 valadoc_taglets_param_real_inheritable (ValadocContentTaglet* base,
727 ValadocContentTaglet* taglet)
728 {
729 ValadocTagletsParam * self;
730 ValadocTagletsParam* t = NULL;
731 ValadocTagletsParam* _tmp0_;
732 gboolean _tmp1_ = FALSE;
733 ValadocApiSymbol* _tmp2_;
734 ValadocTagletsParam* _tmp3_;
735 ValadocApiSymbol* _tmp4_;
736 gboolean result = FALSE;
737 self = (ValadocTagletsParam*) base;
738 g_return_val_if_fail (taglet != NULL, FALSE);
739 if (VALADOC_TAGLETS_IS_PARAM (taglet) == FALSE) {
740 result = FALSE;
741 return result;
742 }
743 _tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (taglet, VALADOC_TAGLETS_TYPE_PARAM, ValadocTagletsParam));
744 t = _tmp0_;
745 _tmp2_ = self->priv->_parameter;
746 _tmp3_ = t;
747 _tmp4_ = _tmp3_->priv->_parameter;
748 if (_tmp2_ == _tmp4_) {
749 _tmp1_ = TRUE;
750 } else {
751 const gchar* _tmp5_;
752 ValadocTagletsParam* _tmp6_;
753 const gchar* _tmp7_;
754 _tmp5_ = self->priv->_parameter_name;
755 _tmp6_ = t;
756 _tmp7_ = _tmp6_->priv->_parameter_name;
757 _tmp1_ = g_strcmp0 (_tmp5_, _tmp7_) == 0;
758 }
759 result = _tmp1_;
760 _g_object_unref0 (t);
761 return result;
762 }
763
764 static ValadocContentContentElement*
valadoc_taglets_param_real_copy(ValadocContentContentElement * base,ValadocContentContentElement * new_parent)765 valadoc_taglets_param_real_copy (ValadocContentContentElement* base,
766 ValadocContentContentElement* new_parent)
767 {
768 ValadocTagletsParam * self;
769 ValadocTagletsParam* param = NULL;
770 ValadocTagletsParam* _tmp0_;
771 ValadocTagletsParam* _tmp1_;
772 ValadocTagletsParam* _tmp2_;
773 const gchar* _tmp3_;
774 ValadocTagletsParam* _tmp4_;
775 ValadocApiSymbol* _tmp5_;
776 ValadocTagletsParam* _tmp6_;
777 gint _tmp7_;
778 ValadocContentContentElement* result = NULL;
779 self = (ValadocTagletsParam*) base;
780 _tmp0_ = valadoc_taglets_param_new ();
781 param = _tmp0_;
782 _tmp1_ = param;
783 valadoc_content_content_element_set_parent ((ValadocContentContentElement*) _tmp1_, new_parent);
784 _tmp2_ = param;
785 _tmp3_ = self->priv->_parameter_name;
786 valadoc_taglets_param_set_parameter_name (_tmp2_, _tmp3_);
787 _tmp4_ = param;
788 _tmp5_ = self->priv->_parameter;
789 valadoc_taglets_param_set_parameter (_tmp4_, _tmp5_);
790 _tmp6_ = param;
791 _tmp7_ = self->priv->_position;
792 valadoc_taglets_param_set_position (_tmp6_, _tmp7_);
793 {
794 ValaList* _element_list = NULL;
795 ValaList* _tmp8_;
796 ValaList* _tmp9_;
797 ValaList* _tmp10_;
798 gint _element_size = 0;
799 ValaList* _tmp11_;
800 gint _tmp12_;
801 gint _tmp13_;
802 gint _element_index = 0;
803 _tmp8_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) self);
804 _tmp9_ = _tmp8_;
805 _tmp10_ = _vala_iterable_ref0 (_tmp9_);
806 _element_list = _tmp10_;
807 _tmp11_ = _element_list;
808 _tmp12_ = vala_collection_get_size ((ValaCollection*) _tmp11_);
809 _tmp13_ = _tmp12_;
810 _element_size = _tmp13_;
811 _element_index = -1;
812 while (TRUE) {
813 gint _tmp14_;
814 gint _tmp15_;
815 ValadocContentBlock* element = NULL;
816 ValaList* _tmp16_;
817 gpointer _tmp17_;
818 ValadocContentBlock* copy = NULL;
819 ValadocContentBlock* _tmp18_;
820 ValadocTagletsParam* _tmp19_;
821 ValadocContentContentElement* _tmp20_;
822 ValadocContentBlock* _tmp21_;
823 ValadocTagletsParam* _tmp22_;
824 ValaList* _tmp23_;
825 ValaList* _tmp24_;
826 ValadocContentBlock* _tmp25_;
827 _element_index = _element_index + 1;
828 _tmp14_ = _element_index;
829 _tmp15_ = _element_size;
830 if (!(_tmp14_ < _tmp15_)) {
831 break;
832 }
833 _tmp16_ = _element_list;
834 _tmp17_ = vala_list_get (_tmp16_, _element_index);
835 element = (ValadocContentBlock*) _tmp17_;
836 _tmp18_ = element;
837 _tmp19_ = param;
838 _tmp20_ = valadoc_content_content_element_copy ((ValadocContentContentElement*) _tmp18_, (ValadocContentContentElement*) _tmp19_);
839 _tmp21_ = VALADOC_CONTENT_IS_BLOCK (_tmp20_) ? ((ValadocContentBlock*) _tmp20_) : NULL;
840 if (_tmp21_ == NULL) {
841 _g_object_unref0 (_tmp20_);
842 }
843 copy = _tmp21_;
844 _tmp22_ = param;
845 _tmp23_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) _tmp22_);
846 _tmp24_ = _tmp23_;
847 _tmp25_ = copy;
848 vala_collection_add ((ValaCollection*) _tmp24_, _tmp25_);
849 _g_object_unref0 (copy);
850 _g_object_unref0 (element);
851 }
852 _vala_iterable_unref0 (_element_list);
853 }
854 result = (ValadocContentContentElement*) param;
855 return result;
856 }
857
858 ValadocTagletsParam*
valadoc_taglets_param_construct(GType object_type)859 valadoc_taglets_param_construct (GType object_type)
860 {
861 ValadocTagletsParam * self = NULL;
862 self = (ValadocTagletsParam*) valadoc_content_block_content_construct (object_type);
863 return self;
864 }
865
866 ValadocTagletsParam*
valadoc_taglets_param_new(void)867 valadoc_taglets_param_new (void)
868 {
869 return valadoc_taglets_param_construct (VALADOC_TAGLETS_TYPE_PARAM);
870 }
871
872 static void
valadoc_taglets_param_class_init(ValadocTagletsParamClass * klass,gpointer klass_data)873 valadoc_taglets_param_class_init (ValadocTagletsParamClass * klass,
874 gpointer klass_data)
875 {
876 valadoc_taglets_param_parent_class = g_type_class_peek_parent (klass);
877 g_type_class_adjust_private_offset (klass, &ValadocTagletsParam_private_offset);
878 ((ValadocContentContentElementClass *) klass)->check = (void (*) (ValadocContentContentElement*, ValadocApiTree*, ValadocApiNode*, const gchar*, ValadocErrorReporter*, ValadocSettings*)) valadoc_taglets_param_real_check;
879 ((ValadocContentContentElementClass *) klass)->accept = (void (*) (ValadocContentContentElement*, ValadocContentContentVisitor*)) valadoc_taglets_param_real_accept;
880 ((ValadocContentContentElementClass *) klass)->copy = (ValadocContentContentElement* (*) (ValadocContentContentElement*, ValadocContentContentElement*)) valadoc_taglets_param_real_copy;
881 G_OBJECT_CLASS (klass)->get_property = _vala_valadoc_taglets_param_get_property;
882 G_OBJECT_CLASS (klass)->set_property = _vala_valadoc_taglets_param_set_property;
883 G_OBJECT_CLASS (klass)->finalize = valadoc_taglets_param_finalize;
884 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_TAGLETS_PARAM_PARAMETER_NAME_PROPERTY, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_PARAMETER_NAME_PROPERTY] = g_param_spec_string ("parameter-name", "parameter-name", "parameter-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
885 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_TAGLETS_PARAM_PARAMETER_PROPERTY, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_PARAMETER_PROPERTY] = g_param_spec_object ("parameter", "parameter", "parameter", VALADOC_API_TYPE_SYMBOL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
886 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_TAGLETS_PARAM_POSITION_PROPERTY, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_POSITION_PROPERTY] = g_param_spec_int ("position", "position", "position", G_MININT, G_MAXINT, -1, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
887 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_TAGLETS_PARAM_IS_C_SELF_PARAM_PROPERTY, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_IS_C_SELF_PARAM_PROPERTY] = g_param_spec_boolean ("is-c-self-param", "is-c-self-param", "is-c-self-param", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
888 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_TAGLETS_PARAM_IS_THIS_PROPERTY, valadoc_taglets_param_properties[VALADOC_TAGLETS_PARAM_IS_THIS_PROPERTY] = g_param_spec_boolean ("is-this", "is-this", "is-this", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
889 }
890
891 static void
valadoc_taglets_param_valadoc_content_taglet_interface_init(ValadocContentTagletIface * iface,gpointer iface_data)892 valadoc_taglets_param_valadoc_content_taglet_interface_init (ValadocContentTagletIface * iface,
893 gpointer iface_data)
894 {
895 valadoc_taglets_param_valadoc_content_taglet_parent_iface = g_type_interface_peek_parent (iface);
896 iface->get_parser_rule = (ValadocRule* (*) (ValadocContentTaglet*, ValadocRule*)) valadoc_taglets_param_real_get_parser_rule;
897 iface->get_inheritable_documentation = (ValaList* (*) (ValadocContentTaglet*)) valadoc_taglets_param_real_get_inheritable_documentation;
898 iface->inheritable = (gboolean (*) (ValadocContentTaglet*, ValadocContentTaglet*)) valadoc_taglets_param_real_inheritable;
899 }
900
901 static void
valadoc_taglets_param_valadoc_content_block_interface_init(ValadocContentBlockIface * iface,gpointer iface_data)902 valadoc_taglets_param_valadoc_content_block_interface_init (ValadocContentBlockIface * iface,
903 gpointer iface_data)
904 {
905 valadoc_taglets_param_valadoc_content_block_parent_iface = g_type_interface_peek_parent (iface);
906 }
907
908 static void
valadoc_taglets_param_instance_init(ValadocTagletsParam * self,gpointer klass)909 valadoc_taglets_param_instance_init (ValadocTagletsParam * self,
910 gpointer klass)
911 {
912 self->priv = valadoc_taglets_param_get_instance_private (self);
913 self->priv->_position = -1;
914 }
915
916 static void
valadoc_taglets_param_finalize(GObject * obj)917 valadoc_taglets_param_finalize (GObject * obj)
918 {
919 ValadocTagletsParam * self;
920 self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_TAGLETS_TYPE_PARAM, ValadocTagletsParam);
921 _g_free0 (self->priv->_parameter_name);
922 G_OBJECT_CLASS (valadoc_taglets_param_parent_class)->finalize (obj);
923 }
924
925 static GType
valadoc_taglets_param_get_type_once(void)926 valadoc_taglets_param_get_type_once (void)
927 {
928 static const GTypeInfo g_define_type_info = { sizeof (ValadocTagletsParamClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_taglets_param_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocTagletsParam), 0, (GInstanceInitFunc) valadoc_taglets_param_instance_init, NULL };
929 static const GInterfaceInfo valadoc_content_taglet_info = { (GInterfaceInitFunc) valadoc_taglets_param_valadoc_content_taglet_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
930 static const GInterfaceInfo valadoc_content_block_info = { (GInterfaceInitFunc) valadoc_taglets_param_valadoc_content_block_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
931 GType valadoc_taglets_param_type_id;
932 valadoc_taglets_param_type_id = g_type_register_static (VALADOC_CONTENT_TYPE_BLOCK_CONTENT, "ValadocTagletsParam", &g_define_type_info, 0);
933 g_type_add_interface_static (valadoc_taglets_param_type_id, VALADOC_CONTENT_TYPE_TAGLET, &valadoc_content_taglet_info);
934 g_type_add_interface_static (valadoc_taglets_param_type_id, VALADOC_CONTENT_TYPE_BLOCK, &valadoc_content_block_info);
935 ValadocTagletsParam_private_offset = g_type_add_instance_private (valadoc_taglets_param_type_id, sizeof (ValadocTagletsParamPrivate));
936 return valadoc_taglets_param_type_id;
937 }
938
939 GType
valadoc_taglets_param_get_type(void)940 valadoc_taglets_param_get_type (void)
941 {
942 static volatile gsize valadoc_taglets_param_type_id__volatile = 0;
943 if (g_once_init_enter (&valadoc_taglets_param_type_id__volatile)) {
944 GType valadoc_taglets_param_type_id;
945 valadoc_taglets_param_type_id = valadoc_taglets_param_get_type_once ();
946 g_once_init_leave (&valadoc_taglets_param_type_id__volatile, valadoc_taglets_param_type_id);
947 }
948 return valadoc_taglets_param_type_id__volatile;
949 }
950
951 static void
_vala_valadoc_taglets_param_get_property(GObject * object,guint property_id,GValue * value,GParamSpec * pspec)952 _vala_valadoc_taglets_param_get_property (GObject * object,
953 guint property_id,
954 GValue * value,
955 GParamSpec * pspec)
956 {
957 ValadocTagletsParam * self;
958 self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_TAGLETS_TYPE_PARAM, ValadocTagletsParam);
959 switch (property_id) {
960 case VALADOC_TAGLETS_PARAM_PARAMETER_NAME_PROPERTY:
961 g_value_set_string (value, valadoc_taglets_param_get_parameter_name (self));
962 break;
963 case VALADOC_TAGLETS_PARAM_PARAMETER_PROPERTY:
964 g_value_set_object (value, valadoc_taglets_param_get_parameter (self));
965 break;
966 case VALADOC_TAGLETS_PARAM_POSITION_PROPERTY:
967 g_value_set_int (value, valadoc_taglets_param_get_position (self));
968 break;
969 case VALADOC_TAGLETS_PARAM_IS_C_SELF_PARAM_PROPERTY:
970 g_value_set_boolean (value, valadoc_taglets_param_get_is_c_self_param (self));
971 break;
972 case VALADOC_TAGLETS_PARAM_IS_THIS_PROPERTY:
973 g_value_set_boolean (value, valadoc_taglets_param_get_is_this (self));
974 break;
975 default:
976 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
977 break;
978 }
979 }
980
981 static void
_vala_valadoc_taglets_param_set_property(GObject * object,guint property_id,const GValue * value,GParamSpec * pspec)982 _vala_valadoc_taglets_param_set_property (GObject * object,
983 guint property_id,
984 const GValue * value,
985 GParamSpec * pspec)
986 {
987 ValadocTagletsParam * self;
988 self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_TAGLETS_TYPE_PARAM, ValadocTagletsParam);
989 switch (property_id) {
990 case VALADOC_TAGLETS_PARAM_PARAMETER_NAME_PROPERTY:
991 valadoc_taglets_param_set_parameter_name (self, g_value_get_string (value));
992 break;
993 case VALADOC_TAGLETS_PARAM_PARAMETER_PROPERTY:
994 valadoc_taglets_param_set_parameter (self, g_value_get_object (value));
995 break;
996 case VALADOC_TAGLETS_PARAM_POSITION_PROPERTY:
997 valadoc_taglets_param_set_position (self, g_value_get_int (value));
998 break;
999 case VALADOC_TAGLETS_PARAM_IS_C_SELF_PARAM_PROPERTY:
1000 valadoc_taglets_param_set_is_c_self_param (self, g_value_get_boolean (value));
1001 break;
1002 case VALADOC_TAGLETS_PARAM_IS_THIS_PROPERTY:
1003 valadoc_taglets_param_set_is_this (self, g_value_get_boolean (value));
1004 break;
1005 default:
1006 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1007 break;
1008 }
1009 }
1010
1011 static void
_vala_array_destroy(gpointer array,gint array_length,GDestroyNotify destroy_func)1012 _vala_array_destroy (gpointer array,
1013 gint array_length,
1014 GDestroyNotify destroy_func)
1015 {
1016 if ((array != NULL) && (destroy_func != NULL)) {
1017 gint i;
1018 for (i = 0; i < array_length; i = i + 1) {
1019 if (((gpointer*) array)[i] != NULL) {
1020 destroy_func (((gpointer*) array)[i]);
1021 }
1022 }
1023 }
1024 }
1025
1026 static void
_vala_array_free(gpointer array,gint array_length,GDestroyNotify destroy_func)1027 _vala_array_free (gpointer array,
1028 gint array_length,
1029 GDestroyNotify destroy_func)
1030 {
1031 _vala_array_destroy (array, array_length, destroy_func);
1032 g_free (array);
1033 }
1034
1035