1 /* gtkdocrenderer.c generated by valac, the Vala compiler
2 * generated from gtkdocrenderer.vala, do not modify */
3
4 /* gtkdocrenderer.vala
5 *
6 * Copyright (C) 2011 Florian Brosch
7 *
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.
12 *
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.
17 *
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
21 *
22 * Author:
23 * Florian Brosch <flo.brosch@gmail.com>
24 */
25
26 #include "valadoc.h"
27 #include <glib.h>
28 #include <stdlib.h>
29 #include <string.h>
30 #include <glib-object.h>
31 #include <valagee.h>
32
33 enum {
34 VALADOC_GTKDOC_RENDERER_0_PROPERTY,
35 VALADOC_GTKDOC_RENDERER_CONTENT_PROPERTY,
36 VALADOC_GTKDOC_RENDERER_NUM_PROPERTIES
37 };
38 static GParamSpec* valadoc_gtkdoc_renderer_properties[VALADOC_GTKDOC_RENDERER_NUM_PROPERTIES];
39 #define _valadoc_markup_writer_unref0(var) ((var == NULL) ? NULL : (var = (valadoc_markup_writer_unref (var), NULL)))
40 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
41 #define _g_free0(var) (var = (g_free (var), NULL))
42 #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
43 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
44
45 struct _ValadocGtkdocRendererPrivate {
46 ValadocGtkDocMarkupWriter* writer;
47 gboolean separated;
48 };
49
50 static gint ValadocGtkdocRenderer_private_offset;
51 static gpointer valadoc_gtkdoc_renderer_parent_class = NULL;
52
53 static gchar* valadoc_gtkdoc_renderer_get_cname (ValadocGtkdocRenderer* self,
54 ValadocApiItem* item);
55 static void valadoc_gtkdoc_renderer_real_render (ValadocContentContentRenderer* base,
56 ValadocContentContentElement* element);
57 static void valadoc_gtkdoc_renderer_reset (ValadocGtkdocRenderer* self);
58 static void valadoc_gtkdoc_renderer_real_render_children (ValadocContentContentRenderer* base,
59 ValadocContentContentElement* element);
60 static void valadoc_gtkdoc_renderer_real_visit_comment (ValadocContentContentVisitor* base,
61 ValadocContentComment* element);
62 static void valadoc_gtkdoc_renderer_real_visit_embedded (ValadocContentContentVisitor* base,
63 ValadocContentEmbedded* element);
64 static void valadoc_gtkdoc_renderer_real_visit_headline (ValadocContentContentVisitor* base,
65 ValadocContentHeadline* element);
66 static void valadoc_gtkdoc_renderer_real_visit_wiki_link (ValadocContentContentVisitor* base,
67 ValadocContentWikiLink* element);
68 static void valadoc_gtkdoc_renderer_write_string (ValadocGtkdocRenderer* self,
69 const gchar* content);
70 static void valadoc_gtkdoc_renderer_real_visit_link (ValadocContentContentVisitor* base,
71 ValadocContentLink* element);
72 static void valadoc_gtkdoc_renderer_real_visit_symbol_link (ValadocContentContentVisitor* base,
73 ValadocContentSymbolLink* element);
74 static void valadoc_gtkdoc_renderer_real_visit_list (ValadocContentContentVisitor* base,
75 ValadocContentList* element);
76 static void valadoc_gtkdoc_renderer_real_visit_list_item (ValadocContentContentVisitor* base,
77 ValadocContentListItem* element);
78 static void valadoc_gtkdoc_renderer_real_visit_page (ValadocContentContentVisitor* base,
79 ValadocContentPage* element);
80 static void valadoc_gtkdoc_renderer_real_visit_paragraph (ValadocContentContentVisitor* base,
81 ValadocContentParagraph* element);
82 static void valadoc_gtkdoc_renderer_real_visit_warning (ValadocContentContentVisitor* base,
83 ValadocContentWarning* element);
84 static void valadoc_gtkdoc_renderer_real_visit_note (ValadocContentContentVisitor* base,
85 ValadocContentNote* element);
86 static void valadoc_gtkdoc_renderer_real_visit_run (ValadocContentContentVisitor* base,
87 ValadocContentRun* element);
88 static void valadoc_gtkdoc_renderer_real_visit_source_code (ValadocContentContentVisitor* base,
89 ValadocContentSourceCode* element);
90 static void valadoc_gtkdoc_renderer_real_visit_table (ValadocContentContentVisitor* base,
91 ValadocContentTable* element);
92 static void valadoc_gtkdoc_renderer_real_visit_table_cell (ValadocContentContentVisitor* base,
93 ValadocContentTableCell* element);
94 static void valadoc_gtkdoc_renderer_real_visit_table_row (ValadocContentContentVisitor* base,
95 ValadocContentTableRow* element);
96 static void valadoc_gtkdoc_renderer_real_visit_text (ValadocContentContentVisitor* base,
97 ValadocContentText* element);
98 static void valadoc_gtkdoc_renderer_finalize (GObject * obj);
99 static GType valadoc_gtkdoc_renderer_get_type_once (void);
100 static void _vala_valadoc_gtkdoc_renderer_get_property (GObject * object,
101 guint property_id,
102 GValue * value,
103 GParamSpec * pspec);
104 static void _vala_array_destroy (gpointer array,
105 gint array_length,
106 GDestroyNotify destroy_func);
107 static void _vala_array_free (gpointer array,
108 gint array_length,
109 GDestroyNotify destroy_func);
110
111 static inline gpointer
valadoc_gtkdoc_renderer_get_instance_private(ValadocGtkdocRenderer * self)112 valadoc_gtkdoc_renderer_get_instance_private (ValadocGtkdocRenderer* self)
113 {
114 return G_STRUCT_MEMBER_P (self, ValadocGtkdocRenderer_private_offset);
115 }
116
117 static gchar*
string_replace(const gchar * self,const gchar * old,const gchar * replacement)118 string_replace (const gchar* self,
119 const gchar* old,
120 const gchar* replacement)
121 {
122 gboolean _tmp0_ = FALSE;
123 gboolean _tmp1_ = FALSE;
124 GError* _inner_error0_ = NULL;
125 gchar* result = NULL;
126 g_return_val_if_fail (self != NULL, NULL);
127 g_return_val_if_fail (old != NULL, NULL);
128 g_return_val_if_fail (replacement != NULL, NULL);
129 if ((*((gchar*) self)) == '\0') {
130 _tmp1_ = TRUE;
131 } else {
132 _tmp1_ = (*((gchar*) old)) == '\0';
133 }
134 if (_tmp1_) {
135 _tmp0_ = TRUE;
136 } else {
137 _tmp0_ = g_strcmp0 (old, replacement) == 0;
138 }
139 if (_tmp0_) {
140 gchar* _tmp2_;
141 _tmp2_ = g_strdup (self);
142 result = _tmp2_;
143 return result;
144 }
145 {
146 GRegex* regex = NULL;
147 gchar* _tmp3_;
148 gchar* _tmp4_;
149 GRegex* _tmp5_;
150 GRegex* _tmp6_;
151 gchar* _tmp7_ = NULL;
152 GRegex* _tmp8_;
153 gchar* _tmp9_;
154 gchar* _tmp10_;
155 _tmp3_ = g_regex_escape_string (old, -1);
156 _tmp4_ = _tmp3_;
157 _tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error0_);
158 _tmp6_ = _tmp5_;
159 _g_free0 (_tmp4_);
160 regex = _tmp6_;
161 if (G_UNLIKELY (_inner_error0_ != NULL)) {
162 _g_free0 (_tmp7_);
163 _g_regex_unref0 (regex);
164 if (_inner_error0_->domain == G_REGEX_ERROR) {
165 goto __catch0_g_regex_error;
166 }
167 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
168 g_clear_error (&_inner_error0_);
169 return NULL;
170 }
171 _tmp8_ = regex;
172 _tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error0_);
173 _tmp7_ = _tmp9_;
174 if (G_UNLIKELY (_inner_error0_ != NULL)) {
175 _g_free0 (_tmp7_);
176 _g_regex_unref0 (regex);
177 if (_inner_error0_->domain == G_REGEX_ERROR) {
178 goto __catch0_g_regex_error;
179 }
180 g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
181 g_clear_error (&_inner_error0_);
182 return NULL;
183 }
184 _tmp10_ = _tmp7_;
185 _tmp7_ = NULL;
186 result = _tmp10_;
187 _g_free0 (_tmp7_);
188 _g_regex_unref0 (regex);
189 return result;
190 }
191 goto __finally0;
192 __catch0_g_regex_error:
193 {
194 g_clear_error (&_inner_error0_);
195 g_assert_not_reached ();
196 }
197 __finally0:
198 g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
199 g_clear_error (&_inner_error0_);
200 return NULL;
201 }
202
203 static gchar*
valadoc_gtkdoc_renderer_get_cname(ValadocGtkdocRenderer * self,ValadocApiItem * item)204 valadoc_gtkdoc_renderer_get_cname (ValadocGtkdocRenderer* self,
205 ValadocApiItem* item)
206 {
207 gchar* result = NULL;
208 g_return_val_if_fail (self != NULL, NULL);
209 g_return_val_if_fail (item != NULL, NULL);
210 if (VALADOC_API_IS_METHOD (item)) {
211 gchar* _tmp0_;
212 _tmp0_ = valadoc_api_method_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_METHOD, ValadocApiMethod));
213 result = _tmp0_;
214 return result;
215 } else {
216 if (VALADOC_API_IS_PARAMETER (item)) {
217 const gchar* _tmp1_;
218 const gchar* _tmp2_;
219 gchar* _tmp3_;
220 _tmp1_ = valadoc_api_node_get_name ((ValadocApiNode*) G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_PARAMETER, ValadocApiParameter));
221 _tmp2_ = _tmp1_;
222 _tmp3_ = g_strdup (_tmp2_);
223 result = _tmp3_;
224 return result;
225 } else {
226 if (VALADOC_API_IS_CONSTANT (item)) {
227 gchar* _tmp4_;
228 _tmp4_ = valadoc_api_constant_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_CONSTANT, ValadocApiConstant));
229 result = _tmp4_;
230 return result;
231 } else {
232 if (VALADOC_API_IS_PROPERTY (item)) {
233 gchar* _tmp5_;
234 _tmp5_ = valadoc_api_property_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_PROPERTY, ValadocApiProperty));
235 result = _tmp5_;
236 return result;
237 } else {
238 if (VALADOC_API_IS_SIGNAL (item)) {
239 gchar* name = NULL;
240 gchar* _tmp6_;
241 const gchar* _tmp7_;
242 gchar* _tmp8_;
243 _tmp6_ = valadoc_api_signal_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_SIGNAL, ValadocApiSignal));
244 name = _tmp6_;
245 _tmp7_ = name;
246 _tmp8_ = string_replace (_tmp7_, "_", "-");
247 result = _tmp8_;
248 _g_free0 (name);
249 return result;
250 } else {
251 if (VALADOC_API_IS_CLASS (item)) {
252 gchar* _tmp9_;
253 _tmp9_ = valadoc_api_class_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_CLASS, ValadocApiClass));
254 result = _tmp9_;
255 return result;
256 } else {
257 if (VALADOC_API_IS_STRUCT (item)) {
258 gchar* _tmp10_;
259 _tmp10_ = valadoc_api_struct_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_STRUCT, ValadocApiStruct));
260 result = _tmp10_;
261 return result;
262 } else {
263 if (VALADOC_API_IS_INTERFACE (item)) {
264 gchar* _tmp11_;
265 _tmp11_ = valadoc_api_interface_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_INTERFACE, ValadocApiInterface));
266 result = _tmp11_;
267 return result;
268 } else {
269 if (VALADOC_API_IS_ERROR_DOMAIN (item)) {
270 gchar* _tmp12_;
271 _tmp12_ = valadoc_api_error_domain_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_ERROR_DOMAIN, ValadocApiErrorDomain));
272 result = _tmp12_;
273 return result;
274 } else {
275 if (VALADOC_API_IS_ERROR_CODE (item)) {
276 gchar* _tmp13_;
277 _tmp13_ = valadoc_api_error_code_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_ERROR_CODE, ValadocApiErrorCode));
278 result = _tmp13_;
279 return result;
280 } else {
281 if (VALADOC_API_IS_DELEGATE (item)) {
282 gchar* _tmp14_;
283 _tmp14_ = valadoc_api_delegate_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_DELEGATE, ValadocApiDelegate));
284 result = _tmp14_;
285 return result;
286 } else {
287 if (VALADOC_API_IS_ENUM (item)) {
288 gchar* _tmp15_;
289 _tmp15_ = valadoc_api_enum_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_ENUM, ValadocApiEnum));
290 result = _tmp15_;
291 return result;
292 } else {
293 if (VALADOC_API_IS_ENUM_VALUE (item)) {
294 gchar* _tmp16_;
295 _tmp16_ = valadoc_api_enum_value_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_ENUM_VALUE, ValadocApiEnumValue));
296 result = _tmp16_;
297 return result;
298 }
299 }
300 }
301 }
302 }
303 }
304 }
305 }
306 }
307 }
308 }
309 }
310 }
311 result = NULL;
312 return result;
313 }
314
315 void
valadoc_gtkdoc_renderer_write_docbook_link(ValadocGtkdocRenderer * self,ValadocApiItem * item)316 valadoc_gtkdoc_renderer_write_docbook_link (ValadocGtkdocRenderer* self,
317 ValadocApiItem* item)
318 {
319 ValadocGtkDocMarkupWriter* _tmp0_;
320 ValadocGtkDocMarkupWriter* _tmp49_;
321 g_return_if_fail (self != NULL);
322 g_return_if_fail (item != NULL);
323 _tmp0_ = self->priv->writer;
324 valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp0_, FALSE);
325 if (VALADOC_API_IS_METHOD (item)) {
326 ValadocGtkDocMarkupWriter* _tmp1_;
327 ValadocMarkupWriter* _tmp2_;
328 gchar* _tmp3_;
329 gchar* _tmp4_;
330 ValadocMarkupWriter* _tmp5_;
331 _tmp1_ = self->priv->writer;
332 _tmp2_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp1_, "function", NULL, (gint) 0);
333 _tmp3_ = valadoc_api_method_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_METHOD, ValadocApiMethod));
334 _tmp4_ = _tmp3_;
335 _tmp5_ = valadoc_markup_writer_text (_tmp2_, _tmp4_);
336 valadoc_markup_writer_end_tag (_tmp5_, "function");
337 _g_free0 (_tmp4_);
338 } else {
339 if (VALADOC_API_IS_PARAMETER (item)) {
340 const gchar* _tmp6_ = NULL;
341 const gchar* _tmp7_;
342 const gchar* _tmp8_;
343 ValadocGtkDocMarkupWriter* _tmp9_;
344 ValadocMarkupWriter* _tmp10_;
345 ValadocMarkupWriter* _tmp11_;
346 _tmp7_ = valadoc_api_node_get_name ((ValadocApiNode*) G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_PARAMETER, ValadocApiParameter));
347 _tmp8_ = _tmp7_;
348 _tmp6_ = _tmp8_;
349 if (_tmp6_ == NULL) {
350 _tmp6_ = "...";
351 }
352 _tmp9_ = self->priv->writer;
353 _tmp10_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp9_, "parameter", NULL, (gint) 0);
354 _tmp11_ = valadoc_markup_writer_text (_tmp10_, _tmp6_);
355 valadoc_markup_writer_end_tag (_tmp11_, "parameter");
356 } else {
357 if (VALADOC_API_IS_CONSTANT (item)) {
358 ValadocGtkDocMarkupWriter* _tmp12_;
359 ValadocMarkupWriter* _tmp13_;
360 gchar* _tmp14_;
361 gchar* _tmp15_;
362 ValadocMarkupWriter* _tmp16_;
363 _tmp12_ = self->priv->writer;
364 _tmp13_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp12_, "constant", NULL, (gint) 0);
365 _tmp14_ = valadoc_api_constant_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_CONSTANT, ValadocApiConstant));
366 _tmp15_ = _tmp14_;
367 _tmp16_ = valadoc_markup_writer_text (_tmp13_, _tmp15_);
368 valadoc_markup_writer_end_tag (_tmp16_, "constant");
369 _g_free0 (_tmp15_);
370 } else {
371 if (VALADOC_API_IS_PROPERTY (item)) {
372 ValadocGtkDocMarkupWriter* _tmp17_;
373 ValadocMarkupWriter* _tmp18_;
374 ValadocApiItem* _tmp19_;
375 ValadocApiItem* _tmp20_;
376 gchar* _tmp21_;
377 gchar* _tmp22_;
378 ValadocMarkupWriter* _tmp23_;
379 ValadocMarkupWriter* _tmp24_;
380 gchar* _tmp25_;
381 gchar* _tmp26_;
382 gchar* _tmp27_;
383 gchar* _tmp28_;
384 _tmp17_ = self->priv->writer;
385 _tmp18_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp17_, "#");
386 _tmp19_ = valadoc_api_item_get_parent (item);
387 _tmp20_ = _tmp19_;
388 _tmp21_ = valadoc_gtkdoc_renderer_get_cname (self, _tmp20_);
389 _tmp22_ = _tmp21_;
390 _tmp23_ = valadoc_markup_writer_text (_tmp18_, _tmp22_);
391 _tmp24_ = valadoc_markup_writer_text (_tmp23_, ":");
392 _tmp25_ = valadoc_api_property_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_PROPERTY, ValadocApiProperty));
393 _tmp26_ = _tmp25_;
394 _tmp27_ = string_replace (_tmp26_, "_", "-");
395 _tmp28_ = _tmp27_;
396 valadoc_markup_writer_text (_tmp24_, _tmp28_);
397 _g_free0 (_tmp28_);
398 _g_free0 (_tmp26_);
399 _g_free0 (_tmp22_);
400 } else {
401 if (VALADOC_API_IS_SIGNAL (item)) {
402 ValadocGtkDocMarkupWriter* _tmp29_;
403 ValadocMarkupWriter* _tmp30_;
404 ValadocApiItem* _tmp31_;
405 ValadocApiItem* _tmp32_;
406 gchar* _tmp33_;
407 gchar* _tmp34_;
408 ValadocMarkupWriter* _tmp35_;
409 ValadocMarkupWriter* _tmp36_;
410 gchar* _tmp37_;
411 gchar* _tmp38_;
412 gchar* _tmp39_;
413 gchar* _tmp40_;
414 _tmp29_ = self->priv->writer;
415 _tmp30_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp29_, "#");
416 _tmp31_ = valadoc_api_item_get_parent (item);
417 _tmp32_ = _tmp31_;
418 _tmp33_ = valadoc_gtkdoc_renderer_get_cname (self, _tmp32_);
419 _tmp34_ = _tmp33_;
420 _tmp35_ = valadoc_markup_writer_text (_tmp30_, _tmp34_);
421 _tmp36_ = valadoc_markup_writer_text (_tmp35_, "::");
422 _tmp37_ = valadoc_api_signal_get_cname (G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_SIGNAL, ValadocApiSignal));
423 _tmp38_ = _tmp37_;
424 _tmp39_ = string_replace (_tmp38_, "_", "-");
425 _tmp40_ = _tmp39_;
426 valadoc_markup_writer_text (_tmp36_, _tmp40_);
427 _g_free0 (_tmp40_);
428 _g_free0 (_tmp38_);
429 _g_free0 (_tmp34_);
430 } else {
431 if (VALADOC_API_IS_NAMESPACE (item)) {
432 ValadocGtkDocMarkupWriter* _tmp41_;
433 gchar* _tmp42_;
434 gchar* _tmp43_;
435 _tmp41_ = self->priv->writer;
436 _tmp42_ = valadoc_api_node_get_full_name ((ValadocApiNode*) G_TYPE_CHECK_INSTANCE_CAST (item, VALADOC_API_TYPE_NAMESPACE, ValadocApiNamespace));
437 _tmp43_ = _tmp42_;
438 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp41_, _tmp43_);
439 _g_free0 (_tmp43_);
440 } else {
441 ValadocGtkDocMarkupWriter* _tmp44_;
442 ValadocMarkupWriter* _tmp45_;
443 gchar* _tmp46_;
444 gchar* _tmp47_;
445 ValadocMarkupWriter* _tmp48_;
446 _tmp44_ = self->priv->writer;
447 _tmp45_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp44_, "type", NULL, (gint) 0);
448 _tmp46_ = valadoc_gtkdoc_renderer_get_cname (self, item);
449 _tmp47_ = _tmp46_;
450 _tmp48_ = valadoc_markup_writer_text (_tmp45_, _tmp47_);
451 valadoc_markup_writer_end_tag (_tmp48_, "type");
452 _g_free0 (_tmp47_);
453 }
454 }
455 }
456 }
457 }
458 }
459 _tmp49_ = self->priv->writer;
460 valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp49_, TRUE);
461 }
462
463 ValadocGtkdocRenderer*
valadoc_gtkdoc_renderer_construct(GType object_type)464 valadoc_gtkdoc_renderer_construct (GType object_type)
465 {
466 ValadocGtkdocRenderer * self = NULL;
467 self = (ValadocGtkdocRenderer*) valadoc_content_content_renderer_construct (object_type);
468 return self;
469 }
470
471 ValadocGtkdocRenderer*
valadoc_gtkdoc_renderer_new(void)472 valadoc_gtkdoc_renderer_new (void)
473 {
474 return valadoc_gtkdoc_renderer_construct (VALADOC_TYPE_GTKDOC_RENDERER);
475 }
476
477 static void
valadoc_gtkdoc_renderer_real_render(ValadocContentContentRenderer * base,ValadocContentContentElement * element)478 valadoc_gtkdoc_renderer_real_render (ValadocContentContentRenderer* base,
479 ValadocContentContentElement* element)
480 {
481 ValadocGtkdocRenderer * self;
482 self = (ValadocGtkdocRenderer*) base;
483 g_return_if_fail (element != NULL);
484 valadoc_gtkdoc_renderer_reset (self);
485 valadoc_content_content_element_accept (element, (ValadocContentContentVisitor*) self);
486 }
487
488 void
valadoc_gtkdoc_renderer_render_symbol(ValadocGtkdocRenderer * self,ValadocContentComment * documentation)489 valadoc_gtkdoc_renderer_render_symbol (ValadocGtkdocRenderer* self,
490 ValadocContentComment* documentation)
491 {
492 ValaList* _tmp0_;
493 ValaList* _tmp1_;
494 ValaList* _tmp2_;
495 ValaList* _tmp3_;
496 ValaList* _tmp4_;
497 ValaList* _tmp5_;
498 g_return_if_fail (self != NULL);
499 valadoc_content_content_renderer_render ((ValadocContentContentRenderer*) self, (ValadocContentContentElement*) documentation);
500 _tmp0_ = valadoc_content_comment_find_taglets (documentation, NULL, VALADOC_TAGLETS_TYPE_THROWS);
501 _tmp1_ = _tmp0_;
502 valadoc_gtkdoc_renderer_append_exceptions (self, _tmp1_);
503 _vala_iterable_unref0 (_tmp1_);
504 _tmp2_ = valadoc_content_comment_find_taglets (documentation, NULL, VALADOC_TAGLETS_TYPE_SEE);
505 _tmp3_ = _tmp2_;
506 valadoc_gtkdoc_renderer_append_see (self, _tmp3_);
507 _vala_iterable_unref0 (_tmp3_);
508 _tmp4_ = valadoc_content_comment_find_taglets (documentation, NULL, VALADOC_TAGLETS_TYPE_SINCE);
509 _tmp5_ = _tmp4_;
510 valadoc_gtkdoc_renderer_append_since (self, _tmp5_);
511 _vala_iterable_unref0 (_tmp5_);
512 }
513
514 static void
valadoc_gtkdoc_renderer_real_render_children(ValadocContentContentRenderer * base,ValadocContentContentElement * element)515 valadoc_gtkdoc_renderer_real_render_children (ValadocContentContentRenderer* base,
516 ValadocContentContentElement* element)
517 {
518 ValadocGtkdocRenderer * self;
519 self = (ValadocGtkdocRenderer*) base;
520 g_return_if_fail (element != NULL);
521 valadoc_gtkdoc_renderer_reset (self);
522 valadoc_content_content_element_accept_children (element, (ValadocContentContentVisitor*) self);
523 }
524
525 static void
valadoc_gtkdoc_renderer_reset(ValadocGtkdocRenderer * self)526 valadoc_gtkdoc_renderer_reset (ValadocGtkdocRenderer* self)
527 {
528 ValadocGtkDocMarkupWriter* _tmp0_;
529 g_return_if_fail (self != NULL);
530 self->priv->separated = FALSE;
531 _tmp0_ = self->priv->writer;
532 valadoc_gtk_doc_markup_writer_reset (_tmp0_);
533 }
534
535 const gchar*
valadoc_gtkdoc_renderer_get_content(ValadocGtkdocRenderer * self)536 valadoc_gtkdoc_renderer_get_content (ValadocGtkdocRenderer* self)
537 {
538 const gchar* result;
539 ValadocGtkDocMarkupWriter* _tmp0_;
540 const gchar* _tmp1_;
541 const gchar* _tmp2_;
542 ValadocGtkDocMarkupWriter* _tmp7_;
543 const gchar* _tmp8_;
544 const gchar* _tmp9_;
545 g_return_val_if_fail (self != NULL, NULL);
546 _tmp0_ = self->priv->writer;
547 _tmp1_ = valadoc_gtk_doc_markup_writer_get_content (_tmp0_);
548 _tmp2_ = _tmp1_;
549 if (g_str_has_prefix (_tmp2_, "\n")) {
550 ValadocGtkDocMarkupWriter* _tmp3_;
551 const gchar* _tmp4_;
552 const gchar* _tmp5_;
553 const gchar* _tmp6_;
554 _tmp3_ = self->priv->writer;
555 _tmp4_ = valadoc_gtk_doc_markup_writer_get_content (_tmp3_);
556 _tmp5_ = _tmp4_;
557 _tmp6_ = g_utf8_next_char (_tmp5_);
558 result = _tmp6_;
559 return result;
560 }
561 _tmp7_ = self->priv->writer;
562 _tmp8_ = valadoc_gtk_doc_markup_writer_get_content (_tmp7_);
563 _tmp9_ = _tmp8_;
564 result = _tmp9_;
565 return result;
566 }
567
568 static void
valadoc_gtkdoc_renderer_real_visit_comment(ValadocContentContentVisitor * base,ValadocContentComment * element)569 valadoc_gtkdoc_renderer_real_visit_comment (ValadocContentContentVisitor* base,
570 ValadocContentComment* element)
571 {
572 ValadocGtkdocRenderer * self;
573 self = (ValadocGtkdocRenderer*) base;
574 g_return_if_fail (element != NULL);
575 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
576 }
577
578 static void
valadoc_gtkdoc_renderer_real_visit_embedded(ValadocContentContentVisitor * base,ValadocContentEmbedded * element)579 valadoc_gtkdoc_renderer_real_visit_embedded (ValadocContentContentVisitor* base,
580 ValadocContentEmbedded* element)
581 {
582 ValadocGtkdocRenderer * self;
583 ValadocGtkDocMarkupWriter* _tmp0_;
584 const gchar* _tmp1_;
585 const gchar* _tmp2_;
586 ValadocGtkDocMarkupWriter* _tmp8_;
587 ValadocGtkDocMarkupWriter* _tmp9_;
588 ValadocMarkupWriter* _tmp10_;
589 gchar* _tmp11_;
590 const gchar* _tmp12_;
591 const gchar* _tmp13_;
592 gchar* _tmp14_;
593 gchar** _tmp15_;
594 gchar** _tmp16_;
595 gint _tmp16__length1;
596 ValadocMarkupWriter* _tmp17_;
597 const gchar* _tmp18_;
598 const gchar* _tmp19_;
599 ValadocGtkDocMarkupWriter* _tmp27_;
600 ValadocGtkDocMarkupWriter* _tmp28_;
601 self = (ValadocGtkdocRenderer*) base;
602 g_return_if_fail (element != NULL);
603 _tmp0_ = self->priv->writer;
604 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "figure", NULL, (gint) 0);
605 _tmp1_ = valadoc_content_embedded_get_caption (element);
606 _tmp2_ = _tmp1_;
607 if (_tmp2_ != NULL) {
608 ValadocGtkDocMarkupWriter* _tmp3_;
609 ValadocMarkupWriter* _tmp4_;
610 const gchar* _tmp5_;
611 const gchar* _tmp6_;
612 ValadocMarkupWriter* _tmp7_;
613 _tmp3_ = self->priv->writer;
614 _tmp4_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp3_, "title", NULL, (gint) 0);
615 _tmp5_ = valadoc_content_embedded_get_caption (element);
616 _tmp6_ = _tmp5_;
617 _tmp7_ = valadoc_markup_writer_text (_tmp4_, _tmp6_);
618 valadoc_markup_writer_end_tag (_tmp7_, "title");
619 }
620 _tmp8_ = self->priv->writer;
621 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp8_, "mediaobject", NULL, (gint) 0);
622 _tmp9_ = self->priv->writer;
623 _tmp10_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp9_, "imageobject", NULL, (gint) 0);
624 _tmp11_ = g_strdup ("fileref");
625 _tmp12_ = valadoc_content_embedded_get_url (element);
626 _tmp13_ = _tmp12_;
627 _tmp14_ = g_strdup (_tmp13_);
628 _tmp15_ = g_new0 (gchar*, 2 + 1);
629 _tmp15_[0] = _tmp11_;
630 _tmp15_[1] = _tmp14_;
631 _tmp16_ = _tmp15_;
632 _tmp16__length1 = 2;
633 _tmp17_ = valadoc_markup_writer_simple_tag (_tmp10_, "imagedata", _tmp16_, (gint) 2);
634 valadoc_markup_writer_end_tag (_tmp17_, "imageobject");
635 _tmp16_ = (_vala_array_free (_tmp16_, _tmp16__length1, (GDestroyNotify) g_free), NULL);
636 _tmp18_ = valadoc_content_embedded_get_caption (element);
637 _tmp19_ = _tmp18_;
638 if (_tmp19_ != NULL) {
639 ValadocGtkDocMarkupWriter* _tmp20_;
640 ValadocMarkupWriter* _tmp21_;
641 ValadocMarkupWriter* _tmp22_;
642 const gchar* _tmp23_;
643 const gchar* _tmp24_;
644 ValadocMarkupWriter* _tmp25_;
645 ValadocMarkupWriter* _tmp26_;
646 _tmp20_ = self->priv->writer;
647 _tmp21_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp20_, "textobject", NULL, (gint) 0);
648 _tmp22_ = valadoc_markup_writer_start_tag (_tmp21_, "phrase", NULL, (gint) 0);
649 _tmp23_ = valadoc_content_embedded_get_caption (element);
650 _tmp24_ = _tmp23_;
651 _tmp25_ = valadoc_markup_writer_text (_tmp22_, _tmp24_);
652 _tmp26_ = valadoc_markup_writer_end_tag (_tmp25_, "phrase");
653 valadoc_markup_writer_end_tag (_tmp26_, "textobject");
654 }
655 _tmp27_ = self->priv->writer;
656 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp27_, "mediaobject");
657 _tmp28_ = self->priv->writer;
658 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp28_, "figure");
659 }
660
661 static void
valadoc_gtkdoc_renderer_real_visit_headline(ValadocContentContentVisitor * base,ValadocContentHeadline * element)662 valadoc_gtkdoc_renderer_real_visit_headline (ValadocContentContentVisitor* base,
663 ValadocContentHeadline* element)
664 {
665 ValadocGtkdocRenderer * self;
666 self = (ValadocGtkdocRenderer*) base;
667 g_return_if_fail (element != NULL);
668 g_assert_not_reached ();
669 }
670
671 static void
valadoc_gtkdoc_renderer_real_visit_wiki_link(ValadocContentContentVisitor * base,ValadocContentWikiLink * element)672 valadoc_gtkdoc_renderer_real_visit_wiki_link (ValadocContentContentVisitor* base,
673 ValadocContentWikiLink* element)
674 {
675 ValadocGtkdocRenderer * self;
676 ValaList* _tmp0_;
677 ValaList* _tmp1_;
678 gint _tmp2_;
679 gint _tmp3_;
680 self = (ValadocGtkdocRenderer*) base;
681 g_return_if_fail (element != NULL);
682 _tmp0_ = valadoc_content_inline_content_get_content ((ValadocContentInlineContent*) element);
683 _tmp1_ = _tmp0_;
684 _tmp2_ = vala_collection_get_size ((ValaCollection*) _tmp1_);
685 _tmp3_ = _tmp2_;
686 if (_tmp3_ > 0) {
687 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
688 } else {
689 const gchar* _tmp4_;
690 const gchar* _tmp5_;
691 _tmp4_ = valadoc_content_wiki_link_get_name (element);
692 _tmp5_ = _tmp4_;
693 valadoc_gtkdoc_renderer_write_string (self, _tmp5_);
694 }
695 }
696
697 static void
valadoc_gtkdoc_renderer_real_visit_link(ValadocContentContentVisitor * base,ValadocContentLink * element)698 valadoc_gtkdoc_renderer_real_visit_link (ValadocContentContentVisitor* base,
699 ValadocContentLink* element)
700 {
701 ValadocGtkdocRenderer * self;
702 ValadocGtkDocMarkupWriter* _tmp0_;
703 gchar* _tmp1_;
704 const gchar* _tmp2_;
705 const gchar* _tmp3_;
706 gchar* _tmp4_;
707 gchar** _tmp5_;
708 gchar** _tmp6_;
709 gint _tmp6__length1;
710 ValadocGtkDocMarkupWriter* _tmp7_;
711 self = (ValadocGtkdocRenderer*) base;
712 g_return_if_fail (element != NULL);
713 _tmp0_ = self->priv->writer;
714 _tmp1_ = g_strdup ("url");
715 _tmp2_ = valadoc_content_link_get_url (element);
716 _tmp3_ = _tmp2_;
717 _tmp4_ = g_strdup (_tmp3_);
718 _tmp5_ = g_new0 (gchar*, 2 + 1);
719 _tmp5_[0] = _tmp1_;
720 _tmp5_[1] = _tmp4_;
721 _tmp6_ = _tmp5_;
722 _tmp6__length1 = 2;
723 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "ulink", _tmp6_, (gint) 2);
724 _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
725 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
726 _tmp7_ = self->priv->writer;
727 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp7_, "ulink");
728 }
729
730 static void
valadoc_gtkdoc_renderer_real_visit_symbol_link(ValadocContentContentVisitor * base,ValadocContentSymbolLink * element)731 valadoc_gtkdoc_renderer_real_visit_symbol_link (ValadocContentContentVisitor* base,
732 ValadocContentSymbolLink* element)
733 {
734 ValadocGtkdocRenderer * self;
735 ValaList* _tmp0_;
736 ValaList* _tmp1_;
737 gint _tmp2_;
738 gint _tmp3_;
739 self = (ValadocGtkdocRenderer*) base;
740 g_return_if_fail (element != NULL);
741 _tmp0_ = valadoc_content_inline_content_get_content ((ValadocContentInlineContent*) element);
742 _tmp1_ = _tmp0_;
743 _tmp2_ = vala_collection_get_size ((ValaCollection*) _tmp1_);
744 _tmp3_ = _tmp2_;
745 if (_tmp3_ > 0) {
746 ValadocGtkDocMarkupWriter* _tmp4_;
747 ValadocGtkDocMarkupWriter* _tmp5_;
748 ValadocGtkDocMarkupWriter* _tmp6_;
749 _tmp4_ = self->priv->writer;
750 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp4_, "\"");
751 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
752 _tmp5_ = self->priv->writer;
753 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp5_, "\" (");
754 valadoc_gtkdoc_renderer_write_symbol_link (self, element);
755 _tmp6_ = self->priv->writer;
756 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp6_, ")");
757 } else {
758 valadoc_gtkdoc_renderer_write_symbol_link (self, element);
759 }
760 }
761
762 void
valadoc_gtkdoc_renderer_write_symbol_link(ValadocGtkdocRenderer * self,ValadocContentSymbolLink * element)763 valadoc_gtkdoc_renderer_write_symbol_link (ValadocGtkdocRenderer* self,
764 ValadocContentSymbolLink* element)
765 {
766 ValadocApiNode* _tmp0_;
767 ValadocApiNode* _tmp1_;
768 g_return_if_fail (self != NULL);
769 g_return_if_fail (element != NULL);
770 _tmp0_ = valadoc_content_symbol_link_get_symbol (element);
771 _tmp1_ = _tmp0_;
772 if (_tmp1_ == NULL) {
773 ValadocGtkDocMarkupWriter* _tmp2_;
774 const gchar* _tmp3_;
775 const gchar* _tmp4_;
776 _tmp2_ = self->priv->writer;
777 _tmp3_ = valadoc_content_symbol_link_get_given_symbol_name (element);
778 _tmp4_ = _tmp3_;
779 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp2_, _tmp4_);
780 } else {
781 ValadocApiNode* _tmp5_;
782 ValadocApiNode* _tmp6_;
783 _tmp5_ = valadoc_content_symbol_link_get_symbol (element);
784 _tmp6_ = _tmp5_;
785 valadoc_gtkdoc_renderer_write_docbook_link (self, (ValadocApiItem*) _tmp6_);
786 }
787 }
788
789 static void
valadoc_gtkdoc_renderer_real_visit_list(ValadocContentContentVisitor * base,ValadocContentList * element)790 valadoc_gtkdoc_renderer_real_visit_list (ValadocContentContentVisitor* base,
791 ValadocContentList* element)
792 {
793 ValadocGtkdocRenderer * self;
794 gchar* tag = NULL;
795 gchar* _tmp0_;
796 ValadocContentListBullet _tmp1_;
797 ValadocContentListBullet _tmp2_;
798 ValadocGtkDocMarkupWriter* _tmp37_;
799 const gchar* _tmp38_;
800 self = (ValadocGtkdocRenderer*) base;
801 g_return_if_fail (element != NULL);
802 _tmp0_ = g_strdup ("orderedlist");
803 tag = _tmp0_;
804 _tmp1_ = valadoc_content_list_get_bullet (element);
805 _tmp2_ = _tmp1_;
806 switch (_tmp2_) {
807 case VALADOC_CONTENT_LIST_BULLET_NONE:
808 {
809 ValadocGtkDocMarkupWriter* _tmp3_;
810 gchar* _tmp4_;
811 gchar* _tmp5_;
812 gchar** _tmp6_;
813 gchar** _tmp7_;
814 gint _tmp7__length1;
815 gchar* _tmp8_;
816 _tmp3_ = self->priv->writer;
817 _tmp4_ = g_strdup ("mark");
818 _tmp5_ = g_strdup ("none");
819 _tmp6_ = g_new0 (gchar*, 2 + 1);
820 _tmp6_[0] = _tmp4_;
821 _tmp6_[1] = _tmp5_;
822 _tmp7_ = _tmp6_;
823 _tmp7__length1 = 2;
824 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp3_, "itemizedlist", _tmp7_, (gint) 2);
825 _tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
826 _tmp8_ = g_strdup ("itemizedlist");
827 _g_free0 (tag);
828 tag = _tmp8_;
829 break;
830 }
831 case VALADOC_CONTENT_LIST_BULLET_UNORDERED:
832 {
833 ValadocGtkDocMarkupWriter* _tmp9_;
834 gchar* _tmp10_;
835 _tmp9_ = self->priv->writer;
836 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp9_, "itemizedlist", NULL, (gint) 0);
837 _tmp10_ = g_strdup ("itemizedlist");
838 _g_free0 (tag);
839 tag = _tmp10_;
840 break;
841 }
842 case VALADOC_CONTENT_LIST_BULLET_ORDERED:
843 {
844 ValadocGtkDocMarkupWriter* _tmp11_;
845 _tmp11_ = self->priv->writer;
846 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "orderedlist", NULL, (gint) 0);
847 break;
848 }
849 case VALADOC_CONTENT_LIST_BULLET_ORDERED_NUMBER:
850 {
851 ValadocGtkDocMarkupWriter* _tmp12_;
852 gchar* _tmp13_;
853 gchar* _tmp14_;
854 gchar** _tmp15_;
855 gchar** _tmp16_;
856 gint _tmp16__length1;
857 _tmp12_ = self->priv->writer;
858 _tmp13_ = g_strdup ("numeration");
859 _tmp14_ = g_strdup ("arabic");
860 _tmp15_ = g_new0 (gchar*, 2 + 1);
861 _tmp15_[0] = _tmp13_;
862 _tmp15_[1] = _tmp14_;
863 _tmp16_ = _tmp15_;
864 _tmp16__length1 = 2;
865 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp12_, "orderedlist", _tmp16_, (gint) 2);
866 _tmp16_ = (_vala_array_free (_tmp16_, _tmp16__length1, (GDestroyNotify) g_free), NULL);
867 break;
868 }
869 case VALADOC_CONTENT_LIST_BULLET_ORDERED_LOWER_CASE_ALPHA:
870 {
871 ValadocGtkDocMarkupWriter* _tmp17_;
872 gchar* _tmp18_;
873 gchar* _tmp19_;
874 gchar** _tmp20_;
875 gchar** _tmp21_;
876 gint _tmp21__length1;
877 _tmp17_ = self->priv->writer;
878 _tmp18_ = g_strdup ("numeration");
879 _tmp19_ = g_strdup ("loweralpha");
880 _tmp20_ = g_new0 (gchar*, 2 + 1);
881 _tmp20_[0] = _tmp18_;
882 _tmp20_[1] = _tmp19_;
883 _tmp21_ = _tmp20_;
884 _tmp21__length1 = 2;
885 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp17_, "orderedlist", _tmp21_, (gint) 2);
886 _tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
887 break;
888 }
889 case VALADOC_CONTENT_LIST_BULLET_ORDERED_UPPER_CASE_ALPHA:
890 {
891 ValadocGtkDocMarkupWriter* _tmp22_;
892 gchar* _tmp23_;
893 gchar* _tmp24_;
894 gchar** _tmp25_;
895 gchar** _tmp26_;
896 gint _tmp26__length1;
897 _tmp22_ = self->priv->writer;
898 _tmp23_ = g_strdup ("numeration");
899 _tmp24_ = g_strdup ("upperalpha");
900 _tmp25_ = g_new0 (gchar*, 2 + 1);
901 _tmp25_[0] = _tmp23_;
902 _tmp25_[1] = _tmp24_;
903 _tmp26_ = _tmp25_;
904 _tmp26__length1 = 2;
905 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp22_, "orderedlist", _tmp26_, (gint) 2);
906 _tmp26_ = (_vala_array_free (_tmp26_, _tmp26__length1, (GDestroyNotify) g_free), NULL);
907 break;
908 }
909 case VALADOC_CONTENT_LIST_BULLET_ORDERED_LOWER_CASE_ROMAN:
910 {
911 ValadocGtkDocMarkupWriter* _tmp27_;
912 gchar* _tmp28_;
913 gchar* _tmp29_;
914 gchar** _tmp30_;
915 gchar** _tmp31_;
916 gint _tmp31__length1;
917 _tmp27_ = self->priv->writer;
918 _tmp28_ = g_strdup ("numeration");
919 _tmp29_ = g_strdup ("lowerroman");
920 _tmp30_ = g_new0 (gchar*, 2 + 1);
921 _tmp30_[0] = _tmp28_;
922 _tmp30_[1] = _tmp29_;
923 _tmp31_ = _tmp30_;
924 _tmp31__length1 = 2;
925 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp27_, "orderedlist", _tmp31_, (gint) 2);
926 _tmp31_ = (_vala_array_free (_tmp31_, _tmp31__length1, (GDestroyNotify) g_free), NULL);
927 break;
928 }
929 case VALADOC_CONTENT_LIST_BULLET_ORDERED_UPPER_CASE_ROMAN:
930 {
931 ValadocGtkDocMarkupWriter* _tmp32_;
932 gchar* _tmp33_;
933 gchar* _tmp34_;
934 gchar** _tmp35_;
935 gchar** _tmp36_;
936 gint _tmp36__length1;
937 _tmp32_ = self->priv->writer;
938 _tmp33_ = g_strdup ("numeration");
939 _tmp34_ = g_strdup ("upperroman");
940 _tmp35_ = g_new0 (gchar*, 2 + 1);
941 _tmp35_[0] = _tmp33_;
942 _tmp35_[1] = _tmp34_;
943 _tmp36_ = _tmp35_;
944 _tmp36__length1 = 2;
945 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp32_, "orderedlist", _tmp36_, (gint) 2);
946 _tmp36_ = (_vala_array_free (_tmp36_, _tmp36__length1, (GDestroyNotify) g_free), NULL);
947 break;
948 }
949 default:
950 {
951 g_assert_not_reached ();
952 }
953 }
954 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
955 _tmp37_ = self->priv->writer;
956 _tmp38_ = tag;
957 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp37_, _tmp38_);
958 _g_free0 (tag);
959 }
960
961 static void
valadoc_gtkdoc_renderer_real_visit_list_item(ValadocContentContentVisitor * base,ValadocContentListItem * element)962 valadoc_gtkdoc_renderer_real_visit_list_item (ValadocContentContentVisitor* base,
963 ValadocContentListItem* element)
964 {
965 ValadocGtkdocRenderer * self;
966 ValadocGtkDocMarkupWriter* _tmp0_;
967 ValadocGtkDocMarkupWriter* _tmp1_;
968 self = (ValadocGtkdocRenderer*) base;
969 g_return_if_fail (element != NULL);
970 _tmp0_ = self->priv->writer;
971 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "listitem", NULL, (gint) 0);
972 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
973 _tmp1_ = self->priv->writer;
974 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp1_, "listitem");
975 }
976
977 static void
valadoc_gtkdoc_renderer_real_visit_page(ValadocContentContentVisitor * base,ValadocContentPage * element)978 valadoc_gtkdoc_renderer_real_visit_page (ValadocContentContentVisitor* base,
979 ValadocContentPage* element)
980 {
981 ValadocGtkdocRenderer * self;
982 self = (ValadocGtkdocRenderer*) base;
983 g_return_if_fail (element != NULL);
984 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
985 }
986
987 static void
valadoc_gtkdoc_renderer_real_visit_paragraph(ValadocContentContentVisitor * base,ValadocContentParagraph * element)988 valadoc_gtkdoc_renderer_real_visit_paragraph (ValadocContentContentVisitor* base,
989 ValadocContentParagraph* element)
990 {
991 ValadocGtkdocRenderer * self;
992 ValadocGtkDocMarkupWriter* _tmp0_;
993 ValadocGtkDocMarkupWriter* _tmp1_;
994 self = (ValadocGtkdocRenderer*) base;
995 g_return_if_fail (element != NULL);
996 _tmp0_ = self->priv->writer;
997 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "para", NULL, (gint) 0);
998 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
999 _tmp1_ = self->priv->writer;
1000 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp1_, "para");
1001 }
1002
1003 static void
valadoc_gtkdoc_renderer_real_visit_warning(ValadocContentContentVisitor * base,ValadocContentWarning * element)1004 valadoc_gtkdoc_renderer_real_visit_warning (ValadocContentContentVisitor* base,
1005 ValadocContentWarning* element)
1006 {
1007 ValadocGtkdocRenderer * self;
1008 ValadocGtkDocMarkupWriter* _tmp0_;
1009 ValadocGtkDocMarkupWriter* _tmp1_;
1010 self = (ValadocGtkdocRenderer*) base;
1011 g_return_if_fail (element != NULL);
1012 _tmp0_ = self->priv->writer;
1013 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "warning", NULL, (gint) 0);
1014 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
1015 _tmp1_ = self->priv->writer;
1016 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp1_, "warning");
1017 }
1018
1019 static void
valadoc_gtkdoc_renderer_real_visit_note(ValadocContentContentVisitor * base,ValadocContentNote * element)1020 valadoc_gtkdoc_renderer_real_visit_note (ValadocContentContentVisitor* base,
1021 ValadocContentNote* element)
1022 {
1023 ValadocGtkdocRenderer * self;
1024 ValadocGtkDocMarkupWriter* _tmp0_;
1025 ValadocGtkDocMarkupWriter* _tmp1_;
1026 self = (ValadocGtkdocRenderer*) base;
1027 g_return_if_fail (element != NULL);
1028 _tmp0_ = self->priv->writer;
1029 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "note", NULL, (gint) 0);
1030 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
1031 _tmp1_ = self->priv->writer;
1032 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp1_, "note");
1033 }
1034
1035 static void
valadoc_gtkdoc_renderer_real_visit_run(ValadocContentContentVisitor * base,ValadocContentRun * element)1036 valadoc_gtkdoc_renderer_real_visit_run (ValadocContentContentVisitor* base,
1037 ValadocContentRun* element)
1038 {
1039 ValadocGtkdocRenderer * self;
1040 gchar* tag = NULL;
1041 ValadocContentRunStyle _tmp0_;
1042 ValadocContentRunStyle _tmp1_;
1043 const gchar* _tmp18_;
1044 self = (ValadocGtkdocRenderer*) base;
1045 g_return_if_fail (element != NULL);
1046 tag = NULL;
1047 _tmp0_ = valadoc_content_run_get_style (element);
1048 _tmp1_ = _tmp0_;
1049 switch (_tmp1_) {
1050 case VALADOC_CONTENT_RUN_STYLE_BOLD:
1051 {
1052 ValadocGtkDocMarkupWriter* _tmp2_;
1053 gchar* _tmp3_;
1054 gchar* _tmp4_;
1055 gchar** _tmp5_;
1056 gchar** _tmp6_;
1057 gint _tmp6__length1;
1058 gchar* _tmp7_;
1059 _tmp2_ = self->priv->writer;
1060 _tmp3_ = g_strdup ("role");
1061 _tmp4_ = g_strdup ("bold");
1062 _tmp5_ = g_new0 (gchar*, 2 + 1);
1063 _tmp5_[0] = _tmp3_;
1064 _tmp5_[1] = _tmp4_;
1065 _tmp6_ = _tmp5_;
1066 _tmp6__length1 = 2;
1067 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp2_, "emphasis", _tmp6_, (gint) 2);
1068 _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
1069 _tmp7_ = g_strdup ("emphasis");
1070 _g_free0 (tag);
1071 tag = _tmp7_;
1072 break;
1073 }
1074 case VALADOC_CONTENT_RUN_STYLE_ITALIC:
1075 {
1076 ValadocGtkDocMarkupWriter* _tmp8_;
1077 gchar* _tmp9_;
1078 _tmp8_ = self->priv->writer;
1079 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp8_, "emphasis", NULL, (gint) 0);
1080 _tmp9_ = g_strdup ("emphasis");
1081 _g_free0 (tag);
1082 tag = _tmp9_;
1083 break;
1084 }
1085 case VALADOC_CONTENT_RUN_STYLE_UNDERLINED:
1086 {
1087 ValadocGtkDocMarkupWriter* _tmp10_;
1088 gchar* _tmp11_;
1089 gchar* _tmp12_;
1090 gchar** _tmp13_;
1091 gchar** _tmp14_;
1092 gint _tmp14__length1;
1093 gchar* _tmp15_;
1094 _tmp10_ = self->priv->writer;
1095 _tmp11_ = g_strdup ("role");
1096 _tmp12_ = g_strdup ("underline");
1097 _tmp13_ = g_new0 (gchar*, 2 + 1);
1098 _tmp13_[0] = _tmp11_;
1099 _tmp13_[1] = _tmp12_;
1100 _tmp14_ = _tmp13_;
1101 _tmp14__length1 = 2;
1102 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp10_, "emphasis", _tmp14_, (gint) 2);
1103 _tmp14_ = (_vala_array_free (_tmp14_, _tmp14__length1, (GDestroyNotify) g_free), NULL);
1104 _tmp15_ = g_strdup ("emphasis");
1105 _g_free0 (tag);
1106 tag = _tmp15_;
1107 break;
1108 }
1109 case VALADOC_CONTENT_RUN_STYLE_MONOSPACED:
1110 {
1111 ValadocGtkDocMarkupWriter* _tmp16_;
1112 gchar* _tmp17_;
1113 _tmp16_ = self->priv->writer;
1114 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp16_, "blockquote", NULL, (gint) 0);
1115 _tmp17_ = g_strdup ("blockquote");
1116 _g_free0 (tag);
1117 tag = _tmp17_;
1118 break;
1119 }
1120 default:
1121 {
1122 break;
1123 }
1124 }
1125 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
1126 _tmp18_ = tag;
1127 if (_tmp18_ != NULL) {
1128 ValadocGtkDocMarkupWriter* _tmp19_;
1129 const gchar* _tmp20_;
1130 _tmp19_ = self->priv->writer;
1131 _tmp20_ = tag;
1132 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp19_, _tmp20_);
1133 }
1134 _g_free0 (tag);
1135 }
1136
1137 static void
valadoc_gtkdoc_renderer_real_visit_source_code(ValadocContentContentVisitor * base,ValadocContentSourceCode * element)1138 valadoc_gtkdoc_renderer_real_visit_source_code (ValadocContentContentVisitor* base,
1139 ValadocContentSourceCode* element)
1140 {
1141 ValadocGtkdocRenderer * self;
1142 ValadocGtkDocMarkupWriter* _tmp0_;
1143 ValadocMarkupWriter* _tmp1_;
1144 ValadocGtkDocMarkupWriter* _tmp2_;
1145 const gchar* _tmp3_;
1146 const gchar* _tmp4_;
1147 ValadocGtkDocMarkupWriter* _tmp5_;
1148 ValadocMarkupWriter* _tmp6_;
1149 self = (ValadocGtkdocRenderer*) base;
1150 g_return_if_fail (element != NULL);
1151 _tmp0_ = self->priv->writer;
1152 _tmp1_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "example", NULL, (gint) 0);
1153 valadoc_markup_writer_start_tag (_tmp1_, "programlisting", NULL, (gint) 0);
1154 _tmp2_ = self->priv->writer;
1155 _tmp3_ = valadoc_content_source_code_get_code (element);
1156 _tmp4_ = _tmp3_;
1157 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp2_, _tmp4_);
1158 _tmp5_ = self->priv->writer;
1159 _tmp6_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp5_, "programlisting");
1160 valadoc_markup_writer_end_tag (_tmp6_, "example");
1161 }
1162
1163 static void
valadoc_gtkdoc_renderer_real_visit_table(ValadocContentContentVisitor * base,ValadocContentTable * element)1164 valadoc_gtkdoc_renderer_real_visit_table (ValadocContentContentVisitor* base,
1165 ValadocContentTable* element)
1166 {
1167 ValadocGtkdocRenderer * self;
1168 ValadocGtkDocMarkupWriter* _tmp0_;
1169 gchar* _tmp1_;
1170 gchar* _tmp2_;
1171 gchar** _tmp3_;
1172 gchar** _tmp4_;
1173 gint _tmp4__length1;
1174 ValadocGtkDocMarkupWriter* _tmp5_;
1175 self = (ValadocGtkdocRenderer*) base;
1176 g_return_if_fail (element != NULL);
1177 _tmp0_ = self->priv->writer;
1178 _tmp1_ = g_strdup ("align");
1179 _tmp2_ = g_strdup ("center");
1180 _tmp3_ = g_new0 (gchar*, 2 + 1);
1181 _tmp3_[0] = _tmp1_;
1182 _tmp3_[1] = _tmp2_;
1183 _tmp4_ = _tmp3_;
1184 _tmp4__length1 = 2;
1185 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "table", _tmp4_, (gint) 2);
1186 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
1187 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
1188 _tmp5_ = self->priv->writer;
1189 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp5_, "table");
1190 }
1191
1192 static void
valadoc_gtkdoc_renderer_real_visit_table_cell(ValadocContentContentVisitor * base,ValadocContentTableCell * element)1193 valadoc_gtkdoc_renderer_real_visit_table_cell (ValadocContentContentVisitor* base,
1194 ValadocContentTableCell* element)
1195 {
1196 ValadocGtkdocRenderer * self;
1197 ValadocGtkDocMarkupWriter* _tmp0_;
1198 gchar* _tmp1_;
1199 gint _tmp2_;
1200 gint _tmp3_;
1201 gchar* _tmp4_;
1202 gchar* _tmp5_;
1203 gint _tmp6_;
1204 gint _tmp7_;
1205 gchar* _tmp8_;
1206 gchar** _tmp9_;
1207 gchar** _tmp10_;
1208 gint _tmp10__length1;
1209 ValadocGtkDocMarkupWriter* _tmp11_;
1210 self = (ValadocGtkdocRenderer*) base;
1211 g_return_if_fail (element != NULL);
1212 _tmp0_ = self->priv->writer;
1213 _tmp1_ = g_strdup ("colspan");
1214 _tmp2_ = valadoc_content_table_cell_get_colspan (element);
1215 _tmp3_ = _tmp2_;
1216 _tmp4_ = g_strdup_printf ("%i", _tmp3_);
1217 _tmp5_ = g_strdup ("rowspan");
1218 _tmp6_ = valadoc_content_table_cell_get_rowspan (element);
1219 _tmp7_ = _tmp6_;
1220 _tmp8_ = g_strdup_printf ("%i", _tmp7_);
1221 _tmp9_ = g_new0 (gchar*, 4 + 1);
1222 _tmp9_[0] = _tmp1_;
1223 _tmp9_[1] = _tmp4_;
1224 _tmp9_[2] = _tmp5_;
1225 _tmp9_[3] = _tmp8_;
1226 _tmp10_ = _tmp9_;
1227 _tmp10__length1 = 4;
1228 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "td", _tmp10_, (gint) 4);
1229 _tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
1230 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
1231 _tmp11_ = self->priv->writer;
1232 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp11_, "td");
1233 }
1234
1235 static void
valadoc_gtkdoc_renderer_real_visit_table_row(ValadocContentContentVisitor * base,ValadocContentTableRow * element)1236 valadoc_gtkdoc_renderer_real_visit_table_row (ValadocContentContentVisitor* base,
1237 ValadocContentTableRow* element)
1238 {
1239 ValadocGtkdocRenderer * self;
1240 ValadocGtkDocMarkupWriter* _tmp0_;
1241 ValadocGtkDocMarkupWriter* _tmp1_;
1242 self = (ValadocGtkdocRenderer*) base;
1243 g_return_if_fail (element != NULL);
1244 _tmp0_ = self->priv->writer;
1245 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "tr", NULL, (gint) 0);
1246 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) element, (ValadocContentContentVisitor*) self);
1247 _tmp1_ = self->priv->writer;
1248 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp1_, "tr");
1249 }
1250
1251 static void
valadoc_gtkdoc_renderer_real_visit_text(ValadocContentContentVisitor * base,ValadocContentText * element)1252 valadoc_gtkdoc_renderer_real_visit_text (ValadocContentContentVisitor* base,
1253 ValadocContentText* element)
1254 {
1255 ValadocGtkdocRenderer * self;
1256 const gchar* _tmp0_;
1257 const gchar* _tmp1_;
1258 self = (ValadocGtkdocRenderer*) base;
1259 g_return_if_fail (element != NULL);
1260 _tmp0_ = valadoc_content_text_get_content (element);
1261 _tmp1_ = _tmp0_;
1262 valadoc_gtkdoc_renderer_write_string (self, _tmp1_);
1263 }
1264
1265 static gchar
string_get(const gchar * self,glong index)1266 string_get (const gchar* self,
1267 glong index)
1268 {
1269 gchar _tmp0_;
1270 gchar result = '\0';
1271 g_return_val_if_fail (self != NULL, '\0');
1272 _tmp0_ = ((gchar*) self)[index];
1273 result = _tmp0_;
1274 return result;
1275 }
1276
1277 static glong
string_strnlen(gchar * str,glong maxlen)1278 string_strnlen (gchar* str,
1279 glong maxlen)
1280 {
1281 gchar* end = NULL;
1282 gchar* _tmp0_;
1283 gchar* _tmp1_;
1284 glong result = 0L;
1285 _tmp0_ = memchr (str, 0, (gsize) maxlen);
1286 end = _tmp0_;
1287 _tmp1_ = end;
1288 if (_tmp1_ == NULL) {
1289 result = maxlen;
1290 return result;
1291 } else {
1292 gchar* _tmp2_;
1293 _tmp2_ = end;
1294 result = (glong) (_tmp2_ - str);
1295 return result;
1296 }
1297 }
1298
1299 static gchar*
string_substring(const gchar * self,glong offset,glong len)1300 string_substring (const gchar* self,
1301 glong offset,
1302 glong len)
1303 {
1304 glong string_length = 0L;
1305 gboolean _tmp0_ = FALSE;
1306 gchar* _tmp3_;
1307 gchar* result = NULL;
1308 g_return_val_if_fail (self != NULL, NULL);
1309 if (offset >= ((glong) 0)) {
1310 _tmp0_ = len >= ((glong) 0);
1311 } else {
1312 _tmp0_ = FALSE;
1313 }
1314 if (_tmp0_) {
1315 string_length = string_strnlen ((gchar*) self, offset + len);
1316 } else {
1317 gint _tmp1_;
1318 gint _tmp2_;
1319 _tmp1_ = strlen (self);
1320 _tmp2_ = _tmp1_;
1321 string_length = (glong) _tmp2_;
1322 }
1323 if (offset < ((glong) 0)) {
1324 offset = string_length + offset;
1325 g_return_val_if_fail (offset >= ((glong) 0), NULL);
1326 } else {
1327 g_return_val_if_fail (offset <= string_length, NULL);
1328 }
1329 if (len < ((glong) 0)) {
1330 len = string_length - offset;
1331 }
1332 g_return_val_if_fail ((offset + len) <= string_length, NULL);
1333 _tmp3_ = g_strndup (((gchar*) self) + offset, (gsize) len);
1334 result = _tmp3_;
1335 return result;
1336 }
1337
1338 static void
valadoc_gtkdoc_renderer_write_string(ValadocGtkdocRenderer * self,const gchar * content)1339 valadoc_gtkdoc_renderer_write_string (ValadocGtkdocRenderer* self,
1340 const gchar* content)
1341 {
1342 gunichar chr = 0U;
1343 glong lpos = 0L;
1344 gint i = 0;
1345 ValadocGtkDocMarkupWriter* _tmp46_;
1346 gchar* _tmp47_;
1347 gchar* _tmp48_;
1348 g_return_if_fail (self != NULL);
1349 g_return_if_fail (content != NULL);
1350 chr = (gunichar) string_get (content, (glong) 0);
1351 lpos = (glong) 0;
1352 i = 0;
1353 {
1354 gboolean _tmp0_ = FALSE;
1355 i = 0;
1356 _tmp0_ = TRUE;
1357 while (TRUE) {
1358 if (!_tmp0_) {
1359 gint _tmp1_;
1360 _tmp1_ = i;
1361 i = _tmp1_ + 1;
1362 chr = (gunichar) string_get (content, (glong) i);
1363 }
1364 _tmp0_ = FALSE;
1365 if (!(chr != ((gunichar) '\0'))) {
1366 break;
1367 }
1368 switch (chr) {
1369 case '<':
1370 {
1371 ValadocGtkDocMarkupWriter* _tmp2_;
1372 gchar* _tmp3_;
1373 gchar* _tmp4_;
1374 ValadocGtkDocMarkupWriter* _tmp5_;
1375 _tmp2_ = self->priv->writer;
1376 _tmp3_ = string_substring (content, lpos, i - lpos);
1377 _tmp4_ = _tmp3_;
1378 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp2_, _tmp4_);
1379 _g_free0 (_tmp4_);
1380 _tmp5_ = self->priv->writer;
1381 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp5_, "<");
1382 lpos = (glong) (i + 1);
1383 break;
1384 }
1385 case '>':
1386 {
1387 ValadocGtkDocMarkupWriter* _tmp6_;
1388 gchar* _tmp7_;
1389 gchar* _tmp8_;
1390 ValadocGtkDocMarkupWriter* _tmp9_;
1391 _tmp6_ = self->priv->writer;
1392 _tmp7_ = string_substring (content, lpos, i - lpos);
1393 _tmp8_ = _tmp7_;
1394 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp6_, _tmp8_);
1395 _g_free0 (_tmp8_);
1396 _tmp9_ = self->priv->writer;
1397 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp9_, ">");
1398 lpos = (glong) (i + 1);
1399 break;
1400 }
1401 case '"':
1402 {
1403 ValadocGtkDocMarkupWriter* _tmp10_;
1404 gchar* _tmp11_;
1405 gchar* _tmp12_;
1406 ValadocGtkDocMarkupWriter* _tmp13_;
1407 _tmp10_ = self->priv->writer;
1408 _tmp11_ = string_substring (content, lpos, i - lpos);
1409 _tmp12_ = _tmp11_;
1410 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp10_, _tmp12_);
1411 _g_free0 (_tmp12_);
1412 _tmp13_ = self->priv->writer;
1413 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp13_, """);
1414 lpos = (glong) (i + 1);
1415 break;
1416 }
1417 case '\'':
1418 {
1419 ValadocGtkDocMarkupWriter* _tmp14_;
1420 gchar* _tmp15_;
1421 gchar* _tmp16_;
1422 ValadocGtkDocMarkupWriter* _tmp17_;
1423 _tmp14_ = self->priv->writer;
1424 _tmp15_ = string_substring (content, lpos, i - lpos);
1425 _tmp16_ = _tmp15_;
1426 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp14_, _tmp16_);
1427 _g_free0 (_tmp16_);
1428 _tmp17_ = self->priv->writer;
1429 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp17_, "'");
1430 lpos = (glong) (i + 1);
1431 break;
1432 }
1433 case '&':
1434 {
1435 ValadocGtkDocMarkupWriter* _tmp18_;
1436 gchar* _tmp19_;
1437 gchar* _tmp20_;
1438 ValadocGtkDocMarkupWriter* _tmp21_;
1439 _tmp18_ = self->priv->writer;
1440 _tmp19_ = string_substring (content, lpos, i - lpos);
1441 _tmp20_ = _tmp19_;
1442 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp18_, _tmp20_);
1443 _g_free0 (_tmp20_);
1444 _tmp21_ = self->priv->writer;
1445 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp21_, "&");
1446 lpos = (glong) (i + 1);
1447 break;
1448 }
1449 case '#':
1450 {
1451 ValadocGtkDocMarkupWriter* _tmp22_;
1452 gchar* _tmp23_;
1453 gchar* _tmp24_;
1454 ValadocGtkDocMarkupWriter* _tmp25_;
1455 _tmp22_ = self->priv->writer;
1456 _tmp23_ = string_substring (content, lpos, i - lpos);
1457 _tmp24_ = _tmp23_;
1458 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp22_, _tmp24_);
1459 _g_free0 (_tmp24_);
1460 _tmp25_ = self->priv->writer;
1461 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp25_, "#");
1462 lpos = (glong) (i + 1);
1463 break;
1464 }
1465 case '%':
1466 {
1467 ValadocGtkDocMarkupWriter* _tmp26_;
1468 gchar* _tmp27_;
1469 gchar* _tmp28_;
1470 ValadocGtkDocMarkupWriter* _tmp29_;
1471 _tmp26_ = self->priv->writer;
1472 _tmp27_ = string_substring (content, lpos, i - lpos);
1473 _tmp28_ = _tmp27_;
1474 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp26_, _tmp28_);
1475 _g_free0 (_tmp28_);
1476 _tmp29_ = self->priv->writer;
1477 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp29_, "%");
1478 lpos = (glong) (i + 1);
1479 break;
1480 }
1481 case '@':
1482 {
1483 ValadocGtkDocMarkupWriter* _tmp30_;
1484 gchar* _tmp31_;
1485 gchar* _tmp32_;
1486 ValadocGtkDocMarkupWriter* _tmp33_;
1487 _tmp30_ = self->priv->writer;
1488 _tmp31_ = string_substring (content, lpos, i - lpos);
1489 _tmp32_ = _tmp31_;
1490 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp30_, _tmp32_);
1491 _g_free0 (_tmp32_);
1492 _tmp33_ = self->priv->writer;
1493 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp33_, "@");
1494 lpos = (glong) (i + 1);
1495 break;
1496 }
1497 case '(':
1498 {
1499 ValadocGtkDocMarkupWriter* _tmp34_;
1500 gchar* _tmp35_;
1501 gchar* _tmp36_;
1502 ValadocGtkDocMarkupWriter* _tmp37_;
1503 _tmp34_ = self->priv->writer;
1504 _tmp35_ = string_substring (content, lpos, i - lpos);
1505 _tmp36_ = _tmp35_;
1506 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp34_, _tmp36_);
1507 _g_free0 (_tmp36_);
1508 _tmp37_ = self->priv->writer;
1509 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp37_, "(");
1510 lpos = (glong) (i + 1);
1511 break;
1512 }
1513 case ')':
1514 {
1515 ValadocGtkDocMarkupWriter* _tmp38_;
1516 gchar* _tmp39_;
1517 gchar* _tmp40_;
1518 ValadocGtkDocMarkupWriter* _tmp41_;
1519 _tmp38_ = self->priv->writer;
1520 _tmp39_ = string_substring (content, lpos, i - lpos);
1521 _tmp40_ = _tmp39_;
1522 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp38_, _tmp40_);
1523 _g_free0 (_tmp40_);
1524 _tmp41_ = self->priv->writer;
1525 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp41_, ")");
1526 lpos = (glong) (i + 1);
1527 break;
1528 }
1529 case '\n':
1530 {
1531 ValadocGtkDocMarkupWriter* _tmp42_;
1532 gchar* _tmp43_;
1533 gchar* _tmp44_;
1534 ValadocGtkDocMarkupWriter* _tmp45_;
1535 _tmp42_ = self->priv->writer;
1536 _tmp43_ = string_substring (content, lpos, i - lpos);
1537 _tmp44_ = _tmp43_;
1538 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp42_, _tmp44_);
1539 _g_free0 (_tmp44_);
1540 _tmp45_ = self->priv->writer;
1541 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp45_, "br", NULL, (gint) 0);
1542 lpos = (glong) (i + 1);
1543 break;
1544 }
1545 default:
1546 break;
1547 }
1548 }
1549 }
1550 _tmp46_ = self->priv->writer;
1551 _tmp47_ = string_substring (content, lpos, i - lpos);
1552 _tmp48_ = _tmp47_;
1553 valadoc_markup_writer_raw_text ((ValadocMarkupWriter*) _tmp46_, _tmp48_);
1554 _g_free0 (_tmp48_);
1555 }
1556
1557 static gpointer
_vala_iterable_ref0(gpointer self)1558 _vala_iterable_ref0 (gpointer self)
1559 {
1560 return self ? vala_iterable_ref (self) : NULL;
1561 }
1562
1563 static gpointer
_g_object_ref0(gpointer self)1564 _g_object_ref0 (gpointer self)
1565 {
1566 return self ? g_object_ref (self) : NULL;
1567 }
1568
1569 void
valadoc_gtkdoc_renderer_append_since(ValadocGtkdocRenderer * self,ValaList * taglets)1570 valadoc_gtkdoc_renderer_append_since (ValadocGtkdocRenderer* self,
1571 ValaList* taglets)
1572 {
1573 g_return_if_fail (self != NULL);
1574 g_return_if_fail (taglets != NULL);
1575 {
1576 ValaList* __taglet_list = NULL;
1577 ValaList* _tmp0_;
1578 gint __taglet_size = 0;
1579 ValaList* _tmp1_;
1580 gint _tmp2_;
1581 gint _tmp3_;
1582 gint __taglet_index = 0;
1583 _tmp0_ = _vala_iterable_ref0 (taglets);
1584 __taglet_list = _tmp0_;
1585 _tmp1_ = __taglet_list;
1586 _tmp2_ = vala_collection_get_size ((ValaCollection*) _tmp1_);
1587 _tmp3_ = _tmp2_;
1588 __taglet_size = _tmp3_;
1589 __taglet_index = -1;
1590 while (TRUE) {
1591 gint _tmp4_;
1592 gint _tmp5_;
1593 ValadocContentTaglet* _taglet = NULL;
1594 ValaList* _tmp6_;
1595 gpointer _tmp7_;
1596 ValadocTagletsSince* taglet = NULL;
1597 ValadocContentTaglet* _tmp8_;
1598 ValadocTagletsSince* _tmp9_;
1599 gboolean _tmp10_ = FALSE;
1600 ValadocTagletsSince* _tmp11_;
1601 ValadocGtkDocMarkupWriter* _tmp16_;
1602 ValadocGtkDocMarkupWriter* _tmp17_;
1603 ValadocMarkupWriter* _tmp18_;
1604 ValadocTagletsSince* _tmp19_;
1605 const gchar* _tmp20_;
1606 const gchar* _tmp21_;
1607 ValadocGtkDocMarkupWriter* _tmp22_;
1608 __taglet_index = __taglet_index + 1;
1609 _tmp4_ = __taglet_index;
1610 _tmp5_ = __taglet_size;
1611 if (!(_tmp4_ < _tmp5_)) {
1612 break;
1613 }
1614 _tmp6_ = __taglet_list;
1615 _tmp7_ = vala_list_get (_tmp6_, __taglet_index);
1616 _taglet = (ValadocContentTaglet*) _tmp7_;
1617 _tmp8_ = _taglet;
1618 _tmp9_ = _g_object_ref0 (VALADOC_TAGLETS_IS_SINCE (_tmp8_) ? ((ValadocTagletsSince*) _tmp8_) : NULL);
1619 taglet = _tmp9_;
1620 _tmp11_ = taglet;
1621 if (_tmp11_ == NULL) {
1622 _tmp10_ = TRUE;
1623 } else {
1624 ValadocTagletsSince* _tmp12_;
1625 const gchar* _tmp13_;
1626 const gchar* _tmp14_;
1627 _tmp12_ = taglet;
1628 _tmp13_ = valadoc_taglets_since_get_version (_tmp12_);
1629 _tmp14_ = _tmp13_;
1630 _tmp10_ = _tmp14_ == NULL;
1631 }
1632 if (_tmp10_) {
1633 _g_object_unref0 (taglet);
1634 _g_object_unref0 (_taglet);
1635 continue;
1636 }
1637 if (self->priv->separated == FALSE) {
1638 ValadocGtkDocMarkupWriter* _tmp15_;
1639 _tmp15_ = self->priv->writer;
1640 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp15_, "\n");
1641 }
1642 _tmp16_ = self->priv->writer;
1643 valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp16_, FALSE);
1644 _tmp17_ = self->priv->writer;
1645 _tmp18_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp17_, "\nSince: ");
1646 _tmp19_ = taglet;
1647 _tmp20_ = valadoc_taglets_since_get_version (_tmp19_);
1648 _tmp21_ = _tmp20_;
1649 valadoc_markup_writer_text (_tmp18_, _tmp21_);
1650 _tmp22_ = self->priv->writer;
1651 valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp22_, TRUE);
1652 self->priv->separated = TRUE;
1653 _g_object_unref0 (taglet);
1654 _g_object_unref0 (_taglet);
1655 _vala_iterable_unref0 (__taglet_list);
1656 return;
1657 }
1658 _vala_iterable_unref0 (__taglet_list);
1659 }
1660 }
1661
1662 void
valadoc_gtkdoc_renderer_append_see(ValadocGtkdocRenderer * self,ValaList * taglets)1663 valadoc_gtkdoc_renderer_append_see (ValadocGtkdocRenderer* self,
1664 ValaList* taglets)
1665 {
1666 gboolean first = FALSE;
1667 g_return_if_fail (self != NULL);
1668 g_return_if_fail (taglets != NULL);
1669 first = TRUE;
1670 {
1671 ValaList* __taglet_list = NULL;
1672 ValaList* _tmp0_;
1673 gint __taglet_size = 0;
1674 ValaList* _tmp1_;
1675 gint _tmp2_;
1676 gint _tmp3_;
1677 gint __taglet_index = 0;
1678 _tmp0_ = _vala_iterable_ref0 (taglets);
1679 __taglet_list = _tmp0_;
1680 _tmp1_ = __taglet_list;
1681 _tmp2_ = vala_collection_get_size ((ValaCollection*) _tmp1_);
1682 _tmp3_ = _tmp2_;
1683 __taglet_size = _tmp3_;
1684 __taglet_index = -1;
1685 while (TRUE) {
1686 gint _tmp4_;
1687 gint _tmp5_;
1688 ValadocContentTaglet* _taglet = NULL;
1689 ValaList* _tmp6_;
1690 gpointer _tmp7_;
1691 ValadocTagletsSee* taglet = NULL;
1692 ValadocContentTaglet* _tmp8_;
1693 ValadocTagletsSee* _tmp9_;
1694 gboolean _tmp10_ = FALSE;
1695 ValadocTagletsSee* _tmp11_;
1696 ValadocTagletsSee* _tmp18_;
1697 ValadocApiNode* _tmp19_;
1698 ValadocApiNode* _tmp20_;
1699 __taglet_index = __taglet_index + 1;
1700 _tmp4_ = __taglet_index;
1701 _tmp5_ = __taglet_size;
1702 if (!(_tmp4_ < _tmp5_)) {
1703 break;
1704 }
1705 _tmp6_ = __taglet_list;
1706 _tmp7_ = vala_list_get (_tmp6_, __taglet_index);
1707 _taglet = (ValadocContentTaglet*) _tmp7_;
1708 _tmp8_ = _taglet;
1709 _tmp9_ = _g_object_ref0 (VALADOC_TAGLETS_IS_SEE (_tmp8_) ? ((ValadocTagletsSee*) _tmp8_) : NULL);
1710 taglet = _tmp9_;
1711 _tmp11_ = taglet;
1712 if (_tmp11_ == NULL) {
1713 _tmp10_ = TRUE;
1714 } else {
1715 ValadocTagletsSee* _tmp12_;
1716 ValadocApiNode* _tmp13_;
1717 ValadocApiNode* _tmp14_;
1718 _tmp12_ = taglet;
1719 _tmp13_ = valadoc_taglets_see_get_symbol (_tmp12_);
1720 _tmp14_ = _tmp13_;
1721 _tmp10_ = _tmp14_ == NULL;
1722 }
1723 if (_tmp10_) {
1724 _g_object_unref0 (taglet);
1725 _g_object_unref0 (_taglet);
1726 continue;
1727 }
1728 if (first) {
1729 ValadocGtkDocMarkupWriter* _tmp15_;
1730 ValadocMarkupWriter* _tmp16_;
1731 _tmp15_ = self->priv->writer;
1732 _tmp16_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp15_, "para", NULL, (gint) 0);
1733 valadoc_markup_writer_text (_tmp16_, "See also: ");
1734 } else {
1735 ValadocGtkDocMarkupWriter* _tmp17_;
1736 _tmp17_ = self->priv->writer;
1737 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp17_, ", ");
1738 }
1739 _tmp18_ = taglet;
1740 _tmp19_ = valadoc_taglets_see_get_symbol (_tmp18_);
1741 _tmp20_ = _tmp19_;
1742 valadoc_gtkdoc_renderer_write_docbook_link (self, (ValadocApiItem*) _tmp20_);
1743 first = FALSE;
1744 _g_object_unref0 (taglet);
1745 _g_object_unref0 (_taglet);
1746 }
1747 _vala_iterable_unref0 (__taglet_list);
1748 }
1749 if (first == FALSE) {
1750 ValadocGtkDocMarkupWriter* _tmp21_;
1751 _tmp21_ = self->priv->writer;
1752 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp21_, "para");
1753 }
1754 }
1755
1756 void
valadoc_gtkdoc_renderer_append_exceptions(ValadocGtkdocRenderer * self,ValaList * taglets)1757 valadoc_gtkdoc_renderer_append_exceptions (ValadocGtkdocRenderer* self,
1758 ValaList* taglets)
1759 {
1760 gboolean first = FALSE;
1761 g_return_if_fail (self != NULL);
1762 g_return_if_fail (taglets != NULL);
1763 first = TRUE;
1764 {
1765 ValaList* __taglet_list = NULL;
1766 ValaList* _tmp0_;
1767 gint __taglet_size = 0;
1768 ValaList* _tmp1_;
1769 gint _tmp2_;
1770 gint _tmp3_;
1771 gint __taglet_index = 0;
1772 _tmp0_ = _vala_iterable_ref0 (taglets);
1773 __taglet_list = _tmp0_;
1774 _tmp1_ = __taglet_list;
1775 _tmp2_ = vala_collection_get_size ((ValaCollection*) _tmp1_);
1776 _tmp3_ = _tmp2_;
1777 __taglet_size = _tmp3_;
1778 __taglet_index = -1;
1779 while (TRUE) {
1780 gint _tmp4_;
1781 gint _tmp5_;
1782 ValadocContentTaglet* _taglet = NULL;
1783 ValaList* _tmp6_;
1784 gpointer _tmp7_;
1785 ValadocTagletsThrows* taglet = NULL;
1786 ValadocContentTaglet* _tmp8_;
1787 ValadocTagletsThrows* _tmp9_;
1788 gboolean _tmp10_ = FALSE;
1789 ValadocTagletsThrows* _tmp11_;
1790 ValadocGtkDocMarkupWriter* _tmp19_;
1791 ValadocGtkDocMarkupWriter* _tmp20_;
1792 ValadocTagletsThrows* _tmp21_;
1793 ValadocApiNode* _tmp22_;
1794 ValadocApiNode* _tmp23_;
1795 ValadocGtkDocMarkupWriter* _tmp24_;
1796 ValadocGtkDocMarkupWriter* _tmp25_;
1797 ValadocTagletsThrows* _tmp26_;
1798 ValadocGtkDocMarkupWriter* _tmp27_;
1799 ValadocGtkDocMarkupWriter* _tmp28_;
1800 __taglet_index = __taglet_index + 1;
1801 _tmp4_ = __taglet_index;
1802 _tmp5_ = __taglet_size;
1803 if (!(_tmp4_ < _tmp5_)) {
1804 break;
1805 }
1806 _tmp6_ = __taglet_list;
1807 _tmp7_ = vala_list_get (_tmp6_, __taglet_index);
1808 _taglet = (ValadocContentTaglet*) _tmp7_;
1809 _tmp8_ = _taglet;
1810 _tmp9_ = _g_object_ref0 (VALADOC_TAGLETS_IS_THROWS (_tmp8_) ? ((ValadocTagletsThrows*) _tmp8_) : NULL);
1811 taglet = _tmp9_;
1812 _tmp11_ = taglet;
1813 if (_tmp11_ == NULL) {
1814 _tmp10_ = TRUE;
1815 } else {
1816 ValadocTagletsThrows* _tmp12_;
1817 ValadocApiNode* _tmp13_;
1818 ValadocApiNode* _tmp14_;
1819 _tmp12_ = taglet;
1820 _tmp13_ = valadoc_taglets_throws_get_error_domain (_tmp12_);
1821 _tmp14_ = _tmp13_;
1822 _tmp10_ = _tmp14_ == NULL;
1823 }
1824 if (_tmp10_) {
1825 _g_object_unref0 (taglet);
1826 _g_object_unref0 (_taglet);
1827 continue;
1828 }
1829 if (first) {
1830 ValadocGtkDocMarkupWriter* _tmp15_;
1831 ValadocMarkupWriter* _tmp16_;
1832 ValadocMarkupWriter* _tmp17_;
1833 ValadocGtkDocMarkupWriter* _tmp18_;
1834 _tmp15_ = self->priv->writer;
1835 _tmp16_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp15_, "para", NULL, (gint) 0);
1836 _tmp17_ = valadoc_markup_writer_text (_tmp16_, "This function may throw:");
1837 valadoc_markup_writer_end_tag (_tmp17_, "para");
1838 _tmp18_ = self->priv->writer;
1839 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp18_, "table", NULL, (gint) 0);
1840 }
1841 _tmp19_ = self->priv->writer;
1842 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp19_, "tr", NULL, (gint) 0);
1843 _tmp20_ = self->priv->writer;
1844 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp20_, "td", NULL, (gint) 0);
1845 _tmp21_ = taglet;
1846 _tmp22_ = valadoc_taglets_throws_get_error_domain (_tmp21_);
1847 _tmp23_ = _tmp22_;
1848 valadoc_gtkdoc_renderer_write_docbook_link (self, (ValadocApiItem*) _tmp23_);
1849 _tmp24_ = self->priv->writer;
1850 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp24_, "td");
1851 _tmp25_ = self->priv->writer;
1852 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp25_, "td", NULL, (gint) 0);
1853 _tmp26_ = taglet;
1854 valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp26_, (ValadocContentContentVisitor*) self);
1855 _tmp27_ = self->priv->writer;
1856 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp27_, "td");
1857 _tmp28_ = self->priv->writer;
1858 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp28_, "tr");
1859 first = FALSE;
1860 _g_object_unref0 (taglet);
1861 _g_object_unref0 (_taglet);
1862 }
1863 _vala_iterable_unref0 (__taglet_list);
1864 }
1865 if (first == FALSE) {
1866 ValadocGtkDocMarkupWriter* _tmp29_;
1867 _tmp29_ = self->priv->writer;
1868 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp29_, "table");
1869 }
1870 }
1871
1872 static void
valadoc_gtkdoc_renderer_class_init(ValadocGtkdocRendererClass * klass,gpointer klass_data)1873 valadoc_gtkdoc_renderer_class_init (ValadocGtkdocRendererClass * klass,
1874 gpointer klass_data)
1875 {
1876 valadoc_gtkdoc_renderer_parent_class = g_type_class_peek_parent (klass);
1877 g_type_class_adjust_private_offset (klass, &ValadocGtkdocRenderer_private_offset);
1878 ((ValadocContentContentRendererClass *) klass)->render = (void (*) (ValadocContentContentRenderer*, ValadocContentContentElement*)) valadoc_gtkdoc_renderer_real_render;
1879 ((ValadocContentContentRendererClass *) klass)->render_children = (void (*) (ValadocContentContentRenderer*, ValadocContentContentElement*)) valadoc_gtkdoc_renderer_real_render_children;
1880 ((ValadocContentContentVisitorClass *) klass)->visit_comment = (void (*) (ValadocContentContentVisitor*, ValadocContentComment*)) valadoc_gtkdoc_renderer_real_visit_comment;
1881 ((ValadocContentContentVisitorClass *) klass)->visit_embedded = (void (*) (ValadocContentContentVisitor*, ValadocContentEmbedded*)) valadoc_gtkdoc_renderer_real_visit_embedded;
1882 ((ValadocContentContentVisitorClass *) klass)->visit_headline = (void (*) (ValadocContentContentVisitor*, ValadocContentHeadline*)) valadoc_gtkdoc_renderer_real_visit_headline;
1883 ((ValadocContentContentVisitorClass *) klass)->visit_wiki_link = (void (*) (ValadocContentContentVisitor*, ValadocContentWikiLink*)) valadoc_gtkdoc_renderer_real_visit_wiki_link;
1884 ((ValadocContentContentVisitorClass *) klass)->visit_link = (void (*) (ValadocContentContentVisitor*, ValadocContentLink*)) valadoc_gtkdoc_renderer_real_visit_link;
1885 ((ValadocContentContentVisitorClass *) klass)->visit_symbol_link = (void (*) (ValadocContentContentVisitor*, ValadocContentSymbolLink*)) valadoc_gtkdoc_renderer_real_visit_symbol_link;
1886 ((ValadocContentContentVisitorClass *) klass)->visit_list = (void (*) (ValadocContentContentVisitor*, ValadocContentList*)) valadoc_gtkdoc_renderer_real_visit_list;
1887 ((ValadocContentContentVisitorClass *) klass)->visit_list_item = (void (*) (ValadocContentContentVisitor*, ValadocContentListItem*)) valadoc_gtkdoc_renderer_real_visit_list_item;
1888 ((ValadocContentContentVisitorClass *) klass)->visit_page = (void (*) (ValadocContentContentVisitor*, ValadocContentPage*)) valadoc_gtkdoc_renderer_real_visit_page;
1889 ((ValadocContentContentVisitorClass *) klass)->visit_paragraph = (void (*) (ValadocContentContentVisitor*, ValadocContentParagraph*)) valadoc_gtkdoc_renderer_real_visit_paragraph;
1890 ((ValadocContentContentVisitorClass *) klass)->visit_warning = (void (*) (ValadocContentContentVisitor*, ValadocContentWarning*)) valadoc_gtkdoc_renderer_real_visit_warning;
1891 ((ValadocContentContentVisitorClass *) klass)->visit_note = (void (*) (ValadocContentContentVisitor*, ValadocContentNote*)) valadoc_gtkdoc_renderer_real_visit_note;
1892 ((ValadocContentContentVisitorClass *) klass)->visit_run = (void (*) (ValadocContentContentVisitor*, ValadocContentRun*)) valadoc_gtkdoc_renderer_real_visit_run;
1893 ((ValadocContentContentVisitorClass *) klass)->visit_source_code = (void (*) (ValadocContentContentVisitor*, ValadocContentSourceCode*)) valadoc_gtkdoc_renderer_real_visit_source_code;
1894 ((ValadocContentContentVisitorClass *) klass)->visit_table = (void (*) (ValadocContentContentVisitor*, ValadocContentTable*)) valadoc_gtkdoc_renderer_real_visit_table;
1895 ((ValadocContentContentVisitorClass *) klass)->visit_table_cell = (void (*) (ValadocContentContentVisitor*, ValadocContentTableCell*)) valadoc_gtkdoc_renderer_real_visit_table_cell;
1896 ((ValadocContentContentVisitorClass *) klass)->visit_table_row = (void (*) (ValadocContentContentVisitor*, ValadocContentTableRow*)) valadoc_gtkdoc_renderer_real_visit_table_row;
1897 ((ValadocContentContentVisitorClass *) klass)->visit_text = (void (*) (ValadocContentContentVisitor*, ValadocContentText*)) valadoc_gtkdoc_renderer_real_visit_text;
1898 G_OBJECT_CLASS (klass)->get_property = _vala_valadoc_gtkdoc_renderer_get_property;
1899 G_OBJECT_CLASS (klass)->finalize = valadoc_gtkdoc_renderer_finalize;
1900 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_GTKDOC_RENDERER_CONTENT_PROPERTY, valadoc_gtkdoc_renderer_properties[VALADOC_GTKDOC_RENDERER_CONTENT_PROPERTY] = g_param_spec_string ("content", "content", "content", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
1901 }
1902
1903 static void
valadoc_gtkdoc_renderer_instance_init(ValadocGtkdocRenderer * self,gpointer klass)1904 valadoc_gtkdoc_renderer_instance_init (ValadocGtkdocRenderer * self,
1905 gpointer klass)
1906 {
1907 ValadocGtkDocMarkupWriter* _tmp0_;
1908 self->priv = valadoc_gtkdoc_renderer_get_instance_private (self);
1909 _tmp0_ = valadoc_gtk_doc_markup_writer_new ();
1910 self->priv->writer = _tmp0_;
1911 }
1912
1913 static void
valadoc_gtkdoc_renderer_finalize(GObject * obj)1914 valadoc_gtkdoc_renderer_finalize (GObject * obj)
1915 {
1916 ValadocGtkdocRenderer * self;
1917 self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_TYPE_GTKDOC_RENDERER, ValadocGtkdocRenderer);
1918 _valadoc_markup_writer_unref0 (self->priv->writer);
1919 _g_object_unref0 (self->settings);
1920 G_OBJECT_CLASS (valadoc_gtkdoc_renderer_parent_class)->finalize (obj);
1921 }
1922
1923 static GType
valadoc_gtkdoc_renderer_get_type_once(void)1924 valadoc_gtkdoc_renderer_get_type_once (void)
1925 {
1926 static const GTypeInfo g_define_type_info = { sizeof (ValadocGtkdocRendererClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_gtkdoc_renderer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocGtkdocRenderer), 0, (GInstanceInitFunc) valadoc_gtkdoc_renderer_instance_init, NULL };
1927 GType valadoc_gtkdoc_renderer_type_id;
1928 valadoc_gtkdoc_renderer_type_id = g_type_register_static (VALADOC_CONTENT_TYPE_CONTENT_RENDERER, "ValadocGtkdocRenderer", &g_define_type_info, 0);
1929 ValadocGtkdocRenderer_private_offset = g_type_add_instance_private (valadoc_gtkdoc_renderer_type_id, sizeof (ValadocGtkdocRendererPrivate));
1930 return valadoc_gtkdoc_renderer_type_id;
1931 }
1932
1933 GType
valadoc_gtkdoc_renderer_get_type(void)1934 valadoc_gtkdoc_renderer_get_type (void)
1935 {
1936 static volatile gsize valadoc_gtkdoc_renderer_type_id__volatile = 0;
1937 if (g_once_init_enter (&valadoc_gtkdoc_renderer_type_id__volatile)) {
1938 GType valadoc_gtkdoc_renderer_type_id;
1939 valadoc_gtkdoc_renderer_type_id = valadoc_gtkdoc_renderer_get_type_once ();
1940 g_once_init_leave (&valadoc_gtkdoc_renderer_type_id__volatile, valadoc_gtkdoc_renderer_type_id);
1941 }
1942 return valadoc_gtkdoc_renderer_type_id__volatile;
1943 }
1944
1945 static void
_vala_valadoc_gtkdoc_renderer_get_property(GObject * object,guint property_id,GValue * value,GParamSpec * pspec)1946 _vala_valadoc_gtkdoc_renderer_get_property (GObject * object,
1947 guint property_id,
1948 GValue * value,
1949 GParamSpec * pspec)
1950 {
1951 ValadocGtkdocRenderer * self;
1952 self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_TYPE_GTKDOC_RENDERER, ValadocGtkdocRenderer);
1953 switch (property_id) {
1954 case VALADOC_GTKDOC_RENDERER_CONTENT_PROPERTY:
1955 g_value_set_string (value, valadoc_gtkdoc_renderer_get_content (self));
1956 break;
1957 default:
1958 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
1959 break;
1960 }
1961 }
1962
1963 static void
_vala_array_destroy(gpointer array,gint array_length,GDestroyNotify destroy_func)1964 _vala_array_destroy (gpointer array,
1965 gint array_length,
1966 GDestroyNotify destroy_func)
1967 {
1968 if ((array != NULL) && (destroy_func != NULL)) {
1969 gint i;
1970 for (i = 0; i < array_length; i = i + 1) {
1971 if (((gpointer*) array)[i] != NULL) {
1972 destroy_func (((gpointer*) array)[i]);
1973 }
1974 }
1975 }
1976 }
1977
1978 static void
_vala_array_free(gpointer array,gint array_length,GDestroyNotify destroy_func)1979 _vala_array_free (gpointer array,
1980 gint array_length,
1981 GDestroyNotify destroy_func)
1982 {
1983 _vala_array_destroy (array, array_length, destroy_func);
1984 g_free (array);
1985 }
1986
1987