1 /* basicdoclet.c generated by valac, the Vala compiler
2 * generated from basicdoclet.vala, do not modify */
3
4 /* basicdoclet.vala
5 *
6 * Copyright (C) 2008-2012 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 <stdlib.h>
28 #include <string.h>
29 #include <glib.h>
30 #include <valagee.h>
31 #include <glib-object.h>
32 #include <glib/gstdio.h>
33 #include <stdio.h>
34 #include <vala.h>
35
36 enum {
37 VALADOC_HTML_BASIC_DOCLET_0_PROPERTY,
38 VALADOC_HTML_BASIC_DOCLET_LINKER_PROPERTY,
39 VALADOC_HTML_BASIC_DOCLET_SETTINGS_PROPERTY,
40 VALADOC_HTML_BASIC_DOCLET_WIKI_INDEX_NAME_PROPERTY,
41 VALADOC_HTML_BASIC_DOCLET_NUM_PROPERTIES
42 };
43 static GParamSpec* valadoc_html_basic_doclet_properties[VALADOC_HTML_BASIC_DOCLET_NUM_PROPERTIES];
44 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
45 #define _g_free0(var) (var = (g_free (var), NULL))
46 #define _valadoc_api_tree_unref0(var) ((var == NULL) ? NULL : (var = (valadoc_api_tree_unref (var), NULL)))
47 #define _valadoc_markup_writer_unref0(var) ((var == NULL) ? NULL : (var = (valadoc_markup_writer_unref (var), NULL)))
48 #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))
49 #define _vala_iterator_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterator_unref (var), NULL)))
50 #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
51 #define _fclose0(var) ((var == NULL) ? NULL : (var = (fclose (var), NULL)))
52 #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
53 #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
54 #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
55 #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
56
57 struct _ValadocHtmlBasicDocletPrivate {
58 ValadocHtmlLinkHelper* _linker;
59 ValadocSettings* _settings;
60 gchar* _wiki_index_name;
61 guint html_id_counter;
62 };
63
64 static gint ValadocHtmlBasicDoclet_private_offset;
65 static gpointer valadoc_html_basic_doclet_parent_class = NULL;
66 static ValadocApiNodeType* valadoc_html_basic_doclet_inheritable_members;
67 static gint valadoc_html_basic_doclet_inheritable_members_length1;
68 static ValadocApiNodeType* valadoc_html_basic_doclet_inheritable_members = NULL;
69 static gint valadoc_html_basic_doclet_inheritable_members_length1 = 0;
70 static gint _valadoc_html_basic_doclet_inheritable_members_size_ = 0;
71 static ValadocDocletIface * valadoc_html_basic_doclet_valadoc_doclet_parent_iface = NULL;
72
73 #define VALADOC_HTML_BASIC_DOCLET_css_inline_navigation "navi_inline"
74 #define VALADOC_HTML_BASIC_DOCLET_css_package_index "package_index"
75 #define VALADOC_HTML_BASIC_DOCLET_css_brief_description "brief_description"
76 #define VALADOC_HTML_BASIC_DOCLET_css_description "description"
77 #define VALADOC_HTML_BASIC_DOCLET_css_known_list "known_nodes"
78 #define VALADOC_HTML_BASIC_DOCLET_css_leaf_brief_description "leaf_brief_description"
79 #define VALADOC_HTML_BASIC_DOCLET_css_leaf_code_definition "leaf_code_definition"
80 #define VALADOC_HTML_BASIC_DOCLET_css_box_headline_text "text"
81 #define VALADOC_HTML_BASIC_DOCLET_css_box_headline_toggle "toggle"
82 #define VALADOC_HTML_BASIC_DOCLET_css_box_headline "headline"
83 #define VALADOC_HTML_BASIC_DOCLET_css_box_content "content"
84 #define VALADOC_HTML_BASIC_DOCLET_css_box_column "column"
85 #define VALADOC_HTML_BASIC_DOCLET_css_box "box"
86 #define VALADOC_HTML_BASIC_DOCLET_css_namespace_note "namespace_note"
87 #define VALADOC_HTML_BASIC_DOCLET_css_package_note "package_note"
88 #define VALADOC_HTML_BASIC_DOCLET_css_site_header "site_header"
89 #define VALADOC_HTML_BASIC_DOCLET_css_navi "navi_main"
90 #define VALADOC_HTML_BASIC_DOCLET_css_navi_hr "navi_hr"
91 #define VALADOC_HTML_BASIC_DOCLET_css_errordomain_table_name "main_errordomain_table_name"
92 #define VALADOC_HTML_BASIC_DOCLET_css_errordomain_table_text "main_errordomain_table_text"
93 #define VALADOC_HTML_BASIC_DOCLET_css_errordomain_table "main_errordomain_table"
94 #define VALADOC_HTML_BASIC_DOCLET_css_enum_table_name "main_enum_table_name"
95 #define VALADOC_HTML_BASIC_DOCLET_css_enum_table_text "main_enum_table_text"
96 #define VALADOC_HTML_BASIC_DOCLET_css_enum_table "main_enum_table"
97 #define VALADOC_HTML_BASIC_DOCLET_css_diagram "main_diagram"
98 #define VALADOC_HTML_BASIC_DOCLET_css_see_list "main_see_list"
99 #define VALADOC_HTML_BASIC_DOCLET_css_wiki_table "main_table"
100 #define VALADOC_HTML_BASIC_DOCLET_css_notification_area "main_notification"
101 #define VALADOC_HTML_BASIC_DOCLET_css_source_sample "main_sourcesample"
102 #define VALADOC_HTML_BASIC_DOCLET_css_exception_table "main_parameter_table"
103 #define VALADOC_HTML_BASIC_DOCLET_css_parameter_table_text "main_parameter_table_text"
104 #define VALADOC_HTML_BASIC_DOCLET_css_parameter_table_name "main_parameter_table_name"
105 #define VALADOC_HTML_BASIC_DOCLET_css_parameter_table "main_parameter_table"
106 #define VALADOC_HTML_BASIC_DOCLET_css_title "main_title"
107 #define VALADOC_HTML_BASIC_DOCLET_css_other_type "main_other_type"
108 #define VALADOC_HTML_BASIC_DOCLET_css_basic_type "main_basic_type"
109 #define VALADOC_HTML_BASIC_DOCLET_css_keyword "main_keyword"
110 #define VALADOC_HTML_BASIC_DOCLET_css_optional_parameter "main_optional_parameter"
111 #define VALADOC_HTML_BASIC_DOCLET_css_code_definition "main_code_definition"
112 #define VALADOC_HTML_BASIC_DOCLET_css_headline_hr "main_hr"
113 #define VALADOC_HTML_BASIC_DOCLET_css_hr "main_hr"
114 #define VALADOC_HTML_BASIC_DOCLET_css_list_errdom "main_list_errdom"
115 #define VALADOC_HTML_BASIC_DOCLET_css_list_en "main_list_en"
116 #define VALADOC_HTML_BASIC_DOCLET_css_list_ns "main_list_ns"
117 #define VALADOC_HTML_BASIC_DOCLET_css_list_cl "main_list_cl"
118 #define VALADOC_HTML_BASIC_DOCLET_css_list_iface "main_list_iface"
119 #define VALADOC_HTML_BASIC_DOCLET_css_list_stru "main_list_stru"
120 #define VALADOC_HTML_BASIC_DOCLET_css_list_field "main_list_field"
121 #define VALADOC_HTML_BASIC_DOCLET_css_list_prop "main_list_prop"
122 #define VALADOC_HTML_BASIC_DOCLET_css_list_del "main_list_del"
123 #define VALADOC_HTML_BASIC_DOCLET_css_list_sig "main_list_sig"
124 #define VALADOC_HTML_BASIC_DOCLET_css_list_m "main_list_m"
125 #define VALADOC_HTML_BASIC_DOCLET_css_style_navigation "site_navigation"
126 #define VALADOC_HTML_BASIC_DOCLET_css_style_content "site_content"
127 #define VALADOC_HTML_BASIC_DOCLET_css_style_body "site_body"
128 #define VALADOC_HTML_BASIC_DOCLET_css_deprecated "deprecated"
129 static void valadoc_html_basic_doclet_real_process (ValadocHtmlBasicDoclet* self,
130 ValadocSettings* settings,
131 ValadocApiTree* tree,
132 ValadocErrorReporter* reporter);
133 static gchar* valadoc_html_basic_doclet_real_get_img_path_html (ValadocHtmlBasicDoclet* self,
134 ValadocApiNode* element,
135 const gchar* type);
136 static gchar* valadoc_html_basic_doclet_real_get_img_path (ValadocHtmlBasicDoclet* self,
137 ValadocApiNode* element,
138 const gchar* type);
139 static gchar* valadoc_html_basic_doclet_real_get_icon_directory (ValadocHtmlBasicDoclet* self);
140 static ValadocApiTypeSymbol* valadoc_html_basic_doclet_unpack_type_reference (ValadocHtmlBasicDoclet* self,
141 ValadocApiTypeReference* type_reference);
142 static void valadoc_html_basic_doclet_real_write_wiki_page (ValadocHtmlBasicDoclet* self,
143 ValadocWikiPage* page,
144 const gchar* contentp,
145 const gchar* css_path,
146 const gchar* js_path,
147 const gchar* pkg_name);
148 static gboolean valadoc_html_basic_doclet_has_brief_description (ValadocHtmlBasicDoclet* self,
149 ValadocApiNode* element);
150 static void valadoc_html_basic_doclet_write_brief_description (ValadocHtmlBasicDoclet* self,
151 ValadocApiNode* element,
152 ValadocApiNode* pos);
153 static void valadoc_html_basic_doclet_write_documentation (ValadocHtmlBasicDoclet* self,
154 ValadocApiNode* element,
155 ValadocApiNode* pos);
156 static void valadoc_html_basic_doclet_write_attributes (ValadocHtmlBasicDoclet* self,
157 ValadocApiSymbol* element,
158 ValadocApiNode* pos);
159 static void valadoc_html_basic_doclet_write_signature (ValadocHtmlBasicDoclet* self,
160 ValadocApiNode* element,
161 ValadocApiNode* pos);
162 static inline ValaArrayList* valadoc_html_basic_doclet_get_accessible_nodes_from_list (ValadocHtmlBasicDoclet* self,
163 ValaCollection* nodes);
164 static void valadoc_html_basic_doclet_write_known_symbols_note (ValadocHtmlBasicDoclet* self,
165 ValaCollection* nodes2,
166 ValadocApiNode* container,
167 const gchar* headline);
168 static void valadoc_html_basic_doclet_write_inherited_symbols_note_for_class (ValadocHtmlBasicDoclet* self,
169 ValadocApiClass* cl,
170 ValadocApiNode* container);
171 static void valadoc_html_basic_doclet_write_inherited_symbols_note_for_interface (ValadocHtmlBasicDoclet* self,
172 ValadocApiInterface* iface,
173 ValadocApiNode* container);
174 static void valadoc_html_basic_doclet_write_inherited_symbols_note_for_struct (ValadocHtmlBasicDoclet* self,
175 ValadocApiStruct* str,
176 ValadocApiNode* container);
177 static inline gboolean valadoc_html_basic_doclet_has_visible_inheritable_children (ValadocHtmlBasicDoclet* self,
178 ValadocApiTypeSymbol* symbol);
179 static void valadoc_html_basic_doclet_write_inherited_members_headline (ValadocHtmlBasicDoclet* self);
180 static void valadoc_html_basic_doclet_write_inherited_symbols_note (ValadocHtmlBasicDoclet* self,
181 ValadocApiTypeSymbol* symbol,
182 const gchar* type,
183 ValadocApiNode* container);
184 static void valadoc_html_basic_doclet_finalize (GObject * obj);
185 static GType valadoc_html_basic_doclet_get_type_once (void);
186 static void _vala_valadoc_html_basic_doclet_get_property (GObject * object,
187 guint property_id,
188 GValue * value,
189 GParamSpec * pspec);
190 static void _vala_valadoc_html_basic_doclet_set_property (GObject * object,
191 guint property_id,
192 const GValue * value,
193 GParamSpec * pspec);
194 static void _vala_array_destroy (gpointer array,
195 gint array_length,
196 GDestroyNotify destroy_func);
197 static void _vala_array_free (gpointer array,
198 gint array_length,
199 GDestroyNotify destroy_func);
200
201 static inline gpointer
valadoc_html_basic_doclet_get_instance_private(ValadocHtmlBasicDoclet * self)202 valadoc_html_basic_doclet_get_instance_private (ValadocHtmlBasicDoclet* self)
203 {
204 return G_STRUCT_MEMBER_P (self, ValadocHtmlBasicDoclet_private_offset);
205 }
206
207 ValadocHtmlLinkHelper*
valadoc_html_basic_doclet_get_linker(ValadocHtmlBasicDoclet * self)208 valadoc_html_basic_doclet_get_linker (ValadocHtmlBasicDoclet* self)
209 {
210 ValadocHtmlLinkHelper* result;
211 ValadocHtmlLinkHelper* _tmp0_;
212 g_return_val_if_fail (self != NULL, NULL);
213 _tmp0_ = self->priv->_linker;
214 result = _tmp0_;
215 return result;
216 }
217
218 static gpointer
_g_object_ref0(gpointer self)219 _g_object_ref0 (gpointer self)
220 {
221 return self ? g_object_ref (self) : NULL;
222 }
223
224 void
valadoc_html_basic_doclet_set_linker(ValadocHtmlBasicDoclet * self,ValadocHtmlLinkHelper * value)225 valadoc_html_basic_doclet_set_linker (ValadocHtmlBasicDoclet* self,
226 ValadocHtmlLinkHelper* value)
227 {
228 ValadocHtmlLinkHelper* old_value;
229 g_return_if_fail (self != NULL);
230 old_value = valadoc_html_basic_doclet_get_linker (self);
231 if (old_value != value) {
232 ValadocHtmlLinkHelper* _tmp0_;
233 _tmp0_ = _g_object_ref0 (value);
234 _g_object_unref0 (self->priv->_linker);
235 self->priv->_linker = _tmp0_;
236 g_object_notify_by_pspec ((GObject *) self, valadoc_html_basic_doclet_properties[VALADOC_HTML_BASIC_DOCLET_LINKER_PROPERTY]);
237 }
238 }
239
240 ValadocSettings*
valadoc_html_basic_doclet_get_settings(ValadocHtmlBasicDoclet * self)241 valadoc_html_basic_doclet_get_settings (ValadocHtmlBasicDoclet* self)
242 {
243 ValadocSettings* result;
244 ValadocSettings* _tmp0_;
245 g_return_val_if_fail (self != NULL, NULL);
246 _tmp0_ = self->priv->_settings;
247 result = _tmp0_;
248 return result;
249 }
250
251 void
valadoc_html_basic_doclet_set_settings(ValadocHtmlBasicDoclet * self,ValadocSettings * value)252 valadoc_html_basic_doclet_set_settings (ValadocHtmlBasicDoclet* self,
253 ValadocSettings* value)
254 {
255 ValadocSettings* old_value;
256 g_return_if_fail (self != NULL);
257 old_value = valadoc_html_basic_doclet_get_settings (self);
258 if (old_value != value) {
259 ValadocSettings* _tmp0_;
260 _tmp0_ = _g_object_ref0 (value);
261 _g_object_unref0 (self->priv->_settings);
262 self->priv->_settings = _tmp0_;
263 g_object_notify_by_pspec ((GObject *) self, valadoc_html_basic_doclet_properties[VALADOC_HTML_BASIC_DOCLET_SETTINGS_PROPERTY]);
264 }
265 }
266
267 const gchar*
valadoc_html_basic_doclet_get_wiki_index_name(ValadocHtmlBasicDoclet * self)268 valadoc_html_basic_doclet_get_wiki_index_name (ValadocHtmlBasicDoclet* self)
269 {
270 const gchar* result;
271 const gchar* _tmp0_;
272 g_return_val_if_fail (self != NULL, NULL);
273 _tmp0_ = self->priv->_wiki_index_name;
274 result = _tmp0_;
275 return result;
276 }
277
278 void
valadoc_html_basic_doclet_set_wiki_index_name(ValadocHtmlBasicDoclet * self,const gchar * value)279 valadoc_html_basic_doclet_set_wiki_index_name (ValadocHtmlBasicDoclet* self,
280 const gchar* value)
281 {
282 gchar* old_value;
283 g_return_if_fail (self != NULL);
284 old_value = valadoc_html_basic_doclet_get_wiki_index_name (self);
285 if (g_strcmp0 (value, old_value) != 0) {
286 gchar* _tmp0_;
287 _tmp0_ = g_strdup (value);
288 _g_free0 (self->priv->_wiki_index_name);
289 self->priv->_wiki_index_name = _tmp0_;
290 g_object_notify_by_pspec ((GObject *) self, valadoc_html_basic_doclet_properties[VALADOC_HTML_BASIC_DOCLET_WIKI_INDEX_NAME_PROPERTY]);
291 }
292 }
293
294 static gpointer
_valadoc_api_tree_ref0(gpointer self)295 _valadoc_api_tree_ref0 (gpointer self)
296 {
297 return self ? valadoc_api_tree_ref (self) : NULL;
298 }
299
300 static void
valadoc_html_basic_doclet_real_process(ValadocHtmlBasicDoclet * self,ValadocSettings * settings,ValadocApiTree * tree,ValadocErrorReporter * reporter)301 valadoc_html_basic_doclet_real_process (ValadocHtmlBasicDoclet* self,
302 ValadocSettings* settings,
303 ValadocApiTree* tree,
304 ValadocErrorReporter* reporter)
305 {
306 ValadocErrorReporter* _tmp0_;
307 ValadocApiTree* _tmp1_;
308 ValadocHtmlCssClassResolver* _tmp2_;
309 ValadocHtmlLinkHelper* _tmp3_;
310 ValadocHtmlLinkHelper* _tmp4_;
311 ValadocHtmlLinkHelper* _tmp5_;
312 ValadocHtmlCssClassResolver* _tmp6_;
313 ValadocHtmlHtmlRenderer* _tmp7_;
314 ValadocHtmlLinkHelper* _tmp8_;
315 ValadocHtmlSimpleChartFactory* _tmp9_;
316 g_return_if_fail (settings != NULL);
317 g_return_if_fail (tree != NULL);
318 g_return_if_fail (reporter != NULL);
319 _tmp0_ = _g_object_ref0 (reporter);
320 _g_object_unref0 (self->reporter);
321 self->reporter = _tmp0_;
322 valadoc_html_basic_doclet_set_settings (self, settings);
323 _tmp1_ = _valadoc_api_tree_ref0 (tree);
324 _valadoc_api_tree_unref0 (self->tree);
325 self->tree = _tmp1_;
326 _tmp2_ = valadoc_html_css_class_resolver_new ();
327 _g_object_unref0 (self->cssresolver);
328 self->cssresolver = _tmp2_;
329 _tmp3_ = valadoc_html_link_helper_new ();
330 _tmp4_ = _tmp3_;
331 valadoc_html_basic_doclet_set_linker (self, _tmp4_);
332 _g_object_unref0 (_tmp4_);
333 _tmp5_ = self->priv->_linker;
334 _tmp6_ = self->cssresolver;
335 _tmp7_ = valadoc_html_html_renderer_new (settings, _tmp5_, _tmp6_);
336 _g_object_unref0 (self->_renderer);
337 self->_renderer = _tmp7_;
338 _tmp8_ = self->priv->_linker;
339 _tmp9_ = valadoc_html_simple_chart_factory_new (settings, _tmp8_);
340 _g_object_unref0 (self->image_factory);
341 self->image_factory = (ValadocChartsFactory*) _tmp9_;
342 }
343
344 void
valadoc_html_basic_doclet_process(ValadocHtmlBasicDoclet * self,ValadocSettings * settings,ValadocApiTree * tree,ValadocErrorReporter * reporter)345 valadoc_html_basic_doclet_process (ValadocHtmlBasicDoclet* self,
346 ValadocSettings* settings,
347 ValadocApiTree* tree,
348 ValadocErrorReporter* reporter)
349 {
350 g_return_if_fail (self != NULL);
351 VALADOC_HTML_BASIC_DOCLET_GET_CLASS (self)->process (self, settings, tree, reporter);
352 }
353
354 gchar*
valadoc_html_basic_doclet_get_link(ValadocHtmlBasicDoclet * self,ValadocApiNode * to,ValadocApiNode * from)355 valadoc_html_basic_doclet_get_link (ValadocHtmlBasicDoclet* self,
356 ValadocApiNode* to,
357 ValadocApiNode* from)
358 {
359 ValadocHtmlLinkHelper* _tmp0_;
360 ValadocSettings* _tmp1_;
361 gchar* _tmp2_;
362 gchar* result = NULL;
363 g_return_val_if_fail (self != NULL, NULL);
364 g_return_val_if_fail (to != NULL, NULL);
365 g_return_val_if_fail (from != NULL, NULL);
366 _tmp0_ = self->priv->_linker;
367 _tmp1_ = self->priv->_settings;
368 _tmp2_ = valadoc_html_link_helper_get_relative_link (_tmp0_, (ValadocDocumentation*) from, (ValadocDocumentation*) to, _tmp1_);
369 result = _tmp2_;
370 return result;
371 }
372
373 static gchar*
valadoc_html_basic_doclet_real_get_img_path_html(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,const gchar * type)374 valadoc_html_basic_doclet_real_get_img_path_html (ValadocHtmlBasicDoclet* self,
375 ValadocApiNode* element,
376 const gchar* type)
377 {
378 gchar* _tmp0_;
379 gchar* _tmp1_;
380 gchar* _tmp2_;
381 gchar* _tmp3_;
382 gchar* _tmp4_;
383 gchar* _tmp5_;
384 gchar* _tmp6_;
385 gchar* _tmp7_;
386 gchar* result = NULL;
387 g_return_val_if_fail (element != NULL, NULL);
388 g_return_val_if_fail (type != NULL, NULL);
389 _tmp0_ = valadoc_api_node_get_full_name (element);
390 _tmp1_ = _tmp0_;
391 _tmp2_ = g_strconcat (_tmp1_, ".", NULL);
392 _tmp3_ = _tmp2_;
393 _tmp4_ = g_strconcat (_tmp3_, type, NULL);
394 _tmp5_ = _tmp4_;
395 _tmp6_ = g_build_filename ("img", _tmp5_, NULL);
396 _tmp7_ = _tmp6_;
397 _g_free0 (_tmp5_);
398 _g_free0 (_tmp3_);
399 _g_free0 (_tmp1_);
400 result = _tmp7_;
401 return result;
402 }
403
404 gchar*
valadoc_html_basic_doclet_get_img_path_html(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,const gchar * type)405 valadoc_html_basic_doclet_get_img_path_html (ValadocHtmlBasicDoclet* self,
406 ValadocApiNode* element,
407 const gchar* type)
408 {
409 g_return_val_if_fail (self != NULL, NULL);
410 return VALADOC_HTML_BASIC_DOCLET_GET_CLASS (self)->get_img_path_html (self, element, type);
411 }
412
413 static gchar*
valadoc_html_basic_doclet_real_get_img_path(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,const gchar * type)414 valadoc_html_basic_doclet_real_get_img_path (ValadocHtmlBasicDoclet* self,
415 ValadocApiNode* element,
416 const gchar* type)
417 {
418 ValadocSettings* _tmp0_;
419 const gchar* _tmp1_;
420 ValadocApiPackage* _tmp2_;
421 ValadocApiPackage* _tmp3_;
422 const gchar* _tmp4_;
423 const gchar* _tmp5_;
424 gchar* _tmp6_;
425 gchar* _tmp7_;
426 gchar* _tmp8_;
427 gchar* _tmp9_;
428 gchar* _tmp10_;
429 gchar* _tmp11_;
430 gchar* _tmp12_;
431 gchar* _tmp13_;
432 gchar* result = NULL;
433 g_return_val_if_fail (element != NULL, NULL);
434 g_return_val_if_fail (type != NULL, NULL);
435 _tmp0_ = self->priv->_settings;
436 _tmp1_ = _tmp0_->path;
437 _tmp2_ = valadoc_documentation_get_package ((ValadocDocumentation*) element);
438 _tmp3_ = _tmp2_;
439 _tmp4_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp3_);
440 _tmp5_ = _tmp4_;
441 _tmp6_ = valadoc_api_node_get_full_name (element);
442 _tmp7_ = _tmp6_;
443 _tmp8_ = g_strconcat (_tmp7_, ".", NULL);
444 _tmp9_ = _tmp8_;
445 _tmp10_ = g_strconcat (_tmp9_, type, NULL);
446 _tmp11_ = _tmp10_;
447 _tmp12_ = g_build_filename (_tmp1_, _tmp5_, "img", _tmp11_, NULL);
448 _tmp13_ = _tmp12_;
449 _g_free0 (_tmp11_);
450 _g_free0 (_tmp9_);
451 _g_free0 (_tmp7_);
452 result = _tmp13_;
453 return result;
454 }
455
456 gchar*
valadoc_html_basic_doclet_get_img_path(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,const gchar * type)457 valadoc_html_basic_doclet_get_img_path (ValadocHtmlBasicDoclet* self,
458 ValadocApiNode* element,
459 const gchar* type)
460 {
461 g_return_val_if_fail (self != NULL, NULL);
462 return VALADOC_HTML_BASIC_DOCLET_GET_CLASS (self)->get_img_path (self, element, type);
463 }
464
465 static gchar*
valadoc_html_basic_doclet_real_get_icon_directory(ValadocHtmlBasicDoclet * self)466 valadoc_html_basic_doclet_real_get_icon_directory (ValadocHtmlBasicDoclet* self)
467 {
468 gchar* _tmp0_;
469 gchar* result = NULL;
470 _tmp0_ = g_strdup ("..");
471 result = _tmp0_;
472 return result;
473 }
474
475 gchar*
valadoc_html_basic_doclet_get_icon_directory(ValadocHtmlBasicDoclet * self)476 valadoc_html_basic_doclet_get_icon_directory (ValadocHtmlBasicDoclet* self)
477 {
478 g_return_val_if_fail (self != NULL, NULL);
479 return VALADOC_HTML_BASIC_DOCLET_GET_CLASS (self)->get_icon_directory (self);
480 }
481
482 static ValadocApiTypeSymbol*
valadoc_html_basic_doclet_unpack_type_reference(ValadocHtmlBasicDoclet * self,ValadocApiTypeReference * type_reference)483 valadoc_html_basic_doclet_unpack_type_reference (ValadocHtmlBasicDoclet* self,
484 ValadocApiTypeReference* type_reference)
485 {
486 ValadocApiItem* pos = NULL;
487 ValadocApiItem* _tmp0_;
488 ValadocApiTypeSymbol* result = NULL;
489 g_return_val_if_fail (self != NULL, NULL);
490 _tmp0_ = _g_object_ref0 ((ValadocApiItem*) type_reference);
491 pos = _tmp0_;
492 while (TRUE) {
493 ValadocApiItem* _tmp1_;
494 ValadocApiItem* _tmp2_;
495 _tmp1_ = pos;
496 if (!(_tmp1_ != NULL)) {
497 break;
498 }
499 _tmp2_ = pos;
500 if (VALADOC_API_IS_TYPEREFERENCE (_tmp2_)) {
501 ValadocApiItem* _tmp3_;
502 ValadocApiItem* _tmp4_;
503 ValadocApiItem* _tmp5_;
504 ValadocApiItem* _tmp6_;
505 _tmp3_ = pos;
506 _tmp4_ = valadoc_api_typereference_get_data_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, VALADOC_API_TYPE_TYPEREFERENCE, ValadocApiTypeReference));
507 _tmp5_ = _tmp4_;
508 _tmp6_ = _g_object_ref0 (_tmp5_);
509 _g_object_unref0 (pos);
510 pos = _tmp6_;
511 } else {
512 ValadocApiItem* _tmp7_;
513 _tmp7_ = pos;
514 if (VALADOC_API_IS_ARRAY (_tmp7_)) {
515 ValadocApiItem* _tmp8_;
516 ValadocApiItem* _tmp9_;
517 ValadocApiItem* _tmp10_;
518 ValadocApiItem* _tmp11_;
519 _tmp8_ = pos;
520 _tmp9_ = valadoc_api_array_get_data_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, VALADOC_API_TYPE_ARRAY, ValadocApiArray));
521 _tmp10_ = _tmp9_;
522 _tmp11_ = _g_object_ref0 (_tmp10_);
523 _g_object_unref0 (pos);
524 pos = _tmp11_;
525 } else {
526 ValadocApiItem* _tmp12_;
527 _tmp12_ = pos;
528 if (VALADOC_API_IS_POINTER (_tmp12_)) {
529 ValadocApiItem* _tmp13_;
530 ValadocApiItem* _tmp14_;
531 ValadocApiItem* _tmp15_;
532 ValadocApiItem* _tmp16_;
533 _tmp13_ = pos;
534 _tmp14_ = valadoc_api_pointer_get_data_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, VALADOC_API_TYPE_POINTER, ValadocApiPointer));
535 _tmp15_ = _tmp14_;
536 _tmp16_ = _g_object_ref0 (_tmp15_);
537 _g_object_unref0 (pos);
538 pos = _tmp16_;
539 } else {
540 ValadocApiItem* _tmp17_;
541 ValadocApiItem* _tmp18_;
542 ValadocApiTypeSymbol* _tmp19_;
543 _tmp17_ = pos;
544 _vala_assert (VALADOC_API_IS_TYPESYMBOL (_tmp17_), "pos is TypeSymbol");
545 _tmp18_ = pos;
546 _tmp19_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, VALADOC_API_TYPE_TYPESYMBOL, ValadocApiTypeSymbol));
547 result = _tmp19_;
548 _g_object_unref0 (pos);
549 return result;
550 }
551 }
552 }
553 }
554 result = NULL;
555 _g_object_unref0 (pos);
556 return result;
557 }
558
559 void
valadoc_html_basic_doclet_write_navi_entry_html_template(ValadocHtmlBasicDoclet * self,const gchar * style,const gchar * content,gboolean is_deprecated)560 valadoc_html_basic_doclet_write_navi_entry_html_template (ValadocHtmlBasicDoclet* self,
561 const gchar* style,
562 const gchar* content,
563 gboolean is_deprecated)
564 {
565 ValadocHtmlMarkupWriter* _tmp0_;
566 gchar* _tmp1_;
567 gchar* _tmp2_;
568 gchar** _tmp3_;
569 gchar** _tmp4_;
570 gint _tmp4__length1;
571 ValadocHtmlMarkupWriter* _tmp13_;
572 g_return_if_fail (self != NULL);
573 g_return_if_fail (style != NULL);
574 g_return_if_fail (content != NULL);
575 _tmp0_ = self->writer;
576 _tmp1_ = g_strdup ("class");
577 _tmp2_ = g_strdup (style);
578 _tmp3_ = g_new0 (gchar*, 2 + 1);
579 _tmp3_[0] = _tmp1_;
580 _tmp3_[1] = _tmp2_;
581 _tmp4_ = _tmp3_;
582 _tmp4__length1 = 2;
583 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "li", _tmp4_, (gint) 2);
584 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
585 if (is_deprecated) {
586 ValadocHtmlMarkupWriter* _tmp5_;
587 gchar* _tmp6_;
588 gchar* _tmp7_;
589 gchar** _tmp8_;
590 gchar** _tmp9_;
591 gint _tmp9__length1;
592 ValadocHtmlMarkupWriter* _tmp10_;
593 ValadocHtmlMarkupWriter* _tmp11_;
594 _tmp5_ = self->writer;
595 _tmp6_ = g_strdup ("class");
596 _tmp7_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_deprecated);
597 _tmp8_ = g_new0 (gchar*, 2 + 1);
598 _tmp8_[0] = _tmp6_;
599 _tmp8_[1] = _tmp7_;
600 _tmp9_ = _tmp8_;
601 _tmp9__length1 = 2;
602 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp5_, "span", _tmp9_, (gint) 2);
603 _tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
604 _tmp10_ = self->writer;
605 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp10_, content);
606 _tmp11_ = self->writer;
607 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp11_, "span");
608 } else {
609 ValadocHtmlMarkupWriter* _tmp12_;
610 _tmp12_ = self->writer;
611 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp12_, content);
612 }
613 _tmp13_ = self->writer;
614 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp13_, "li");
615 }
616
617 void
valadoc_html_basic_doclet_write_navi_entry_html_template_with_link(ValadocHtmlBasicDoclet * self,const gchar * style,const gchar * link,const gchar * content,gboolean is_deprecated)618 valadoc_html_basic_doclet_write_navi_entry_html_template_with_link (ValadocHtmlBasicDoclet* self,
619 const gchar* style,
620 const gchar* link,
621 const gchar* content,
622 gboolean is_deprecated)
623 {
624 ValadocHtmlMarkupWriter* _tmp0_;
625 gchar* _tmp1_;
626 gchar* _tmp2_;
627 gchar** _tmp3_;
628 gchar** _tmp4_;
629 gint _tmp4__length1;
630 ValadocHtmlMarkupWriter* _tmp13_;
631 g_return_if_fail (self != NULL);
632 g_return_if_fail (style != NULL);
633 g_return_if_fail (link != NULL);
634 g_return_if_fail (content != NULL);
635 _tmp0_ = self->writer;
636 _tmp1_ = g_strdup ("class");
637 _tmp2_ = g_strdup (style);
638 _tmp3_ = g_new0 (gchar*, 2 + 1);
639 _tmp3_[0] = _tmp1_;
640 _tmp3_[1] = _tmp2_;
641 _tmp4_ = _tmp3_;
642 _tmp4__length1 = 2;
643 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "li", _tmp4_, (gint) 2);
644 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
645 if (is_deprecated) {
646 ValadocHtmlMarkupWriter* _tmp5_;
647 gchar* _tmp6_;
648 gchar* _tmp7_;
649 gchar** _tmp8_;
650 gchar** _tmp9_;
651 gint _tmp9__length1;
652 ValadocHtmlMarkupWriter* _tmp10_;
653 ValadocHtmlMarkupWriter* _tmp11_;
654 _tmp5_ = self->writer;
655 _tmp6_ = g_strdup ("class");
656 _tmp7_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_deprecated);
657 _tmp8_ = g_new0 (gchar*, 2 + 1);
658 _tmp8_[0] = _tmp6_;
659 _tmp8_[1] = _tmp7_;
660 _tmp9_ = _tmp8_;
661 _tmp9__length1 = 2;
662 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp5_, "span", _tmp9_, (gint) 2);
663 _tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
664 _tmp10_ = self->writer;
665 valadoc_html_markup_writer_link (_tmp10_, link, content, NULL);
666 _tmp11_ = self->writer;
667 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp11_, "span");
668 } else {
669 ValadocHtmlMarkupWriter* _tmp12_;
670 _tmp12_ = self->writer;
671 valadoc_html_markup_writer_link (_tmp12_, link, content, NULL);
672 }
673 _tmp13_ = self->writer;
674 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp13_, "li");
675 }
676
677 void
valadoc_html_basic_doclet_write_navi_entry(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,ValadocApiNode * pos,const gchar * style,gboolean link,gboolean full_name)678 valadoc_html_basic_doclet_write_navi_entry (ValadocHtmlBasicDoclet* self,
679 ValadocApiNode* element,
680 ValadocApiNode* pos,
681 const gchar* style,
682 gboolean link,
683 gboolean full_name)
684 {
685 gchar* name = NULL;
686 gboolean _tmp0_ = FALSE;
687 gboolean _tmp13_ = FALSE;
688 gboolean is_deprecated = FALSE;
689 g_return_if_fail (self != NULL);
690 g_return_if_fail (element != NULL);
691 g_return_if_fail (style != NULL);
692 if (full_name == TRUE) {
693 _tmp0_ = VALADOC_API_IS_NAMESPACE (element);
694 } else {
695 _tmp0_ = FALSE;
696 }
697 if (_tmp0_) {
698 gchar* tmp = NULL;
699 gchar* _tmp1_;
700 const gchar* _tmp2_ = NULL;
701 const gchar* _tmp3_;
702 gchar* _tmp5_;
703 _tmp1_ = valadoc_api_node_get_full_name (element);
704 tmp = _tmp1_;
705 _tmp3_ = tmp;
706 if (_tmp3_ == NULL) {
707 _tmp2_ = "Global Namespace";
708 } else {
709 const gchar* _tmp4_;
710 _tmp4_ = tmp;
711 _tmp2_ = _tmp4_;
712 }
713 _tmp5_ = g_strdup (_tmp2_);
714 _g_free0 (name);
715 name = _tmp5_;
716 _g_free0 (tmp);
717 } else {
718 gchar* tmp = NULL;
719 const gchar* _tmp6_;
720 const gchar* _tmp7_;
721 gchar* _tmp8_;
722 const gchar* _tmp9_ = NULL;
723 const gchar* _tmp10_;
724 gchar* _tmp12_;
725 _tmp6_ = valadoc_api_node_get_name (element);
726 _tmp7_ = _tmp6_;
727 _tmp8_ = g_strdup (_tmp7_);
728 tmp = _tmp8_;
729 _tmp10_ = tmp;
730 if (_tmp10_ == NULL) {
731 _tmp9_ = "Global Namespace";
732 } else {
733 const gchar* _tmp11_;
734 _tmp11_ = tmp;
735 _tmp9_ = _tmp11_;
736 }
737 _tmp12_ = g_strdup (_tmp9_);
738 _g_free0 (name);
739 name = _tmp12_;
740 _g_free0 (tmp);
741 }
742 if (VALADOC_API_IS_SYMBOL (element)) {
743 gboolean _tmp14_;
744 gboolean _tmp15_;
745 _tmp14_ = valadoc_api_symbol_get_is_deprecated (G_TYPE_CHECK_INSTANCE_CAST (element, VALADOC_API_TYPE_SYMBOL, ValadocApiSymbol));
746 _tmp15_ = _tmp14_;
747 _tmp13_ = _tmp15_;
748 } else {
749 _tmp13_ = FALSE;
750 }
751 is_deprecated = _tmp13_;
752 if (link == TRUE) {
753 gchar* _tmp16_;
754 gchar* _tmp17_;
755 const gchar* _tmp18_;
756 _tmp16_ = valadoc_html_basic_doclet_get_link (self, element, pos);
757 _tmp17_ = _tmp16_;
758 _tmp18_ = name;
759 valadoc_html_basic_doclet_write_navi_entry_html_template_with_link (self, style, _tmp17_, _tmp18_, is_deprecated);
760 _g_free0 (_tmp17_);
761 } else {
762 const gchar* _tmp19_;
763 _tmp19_ = name;
764 valadoc_html_basic_doclet_write_navi_entry_html_template (self, style, _tmp19_, is_deprecated);
765 }
766 _g_free0 (name);
767 }
768
769 void
valadoc_html_basic_doclet_write_wiki_pages(ValadocHtmlBasicDoclet * self,ValadocApiTree * tree,const gchar * css_path_wiki,const gchar * js_path_wiki,const gchar * contentp)770 valadoc_html_basic_doclet_write_wiki_pages (ValadocHtmlBasicDoclet* self,
771 ValadocApiTree* tree,
772 const gchar* css_path_wiki,
773 const gchar* js_path_wiki,
774 const gchar* contentp)
775 {
776 ValadocWikiPageTree* _tmp0_;
777 ValadocWikiPageTree* _tmp1_;
778 ValadocWikiPageTree* _tmp2_;
779 ValadocWikiPageTree* _tmp3_;
780 ValaCollection* pages = NULL;
781 ValadocWikiPageTree* _tmp4_;
782 ValadocWikiPageTree* _tmp5_;
783 ValaCollection* _tmp6_;
784 ValaCollection* _tmp7_;
785 gint _tmp8_;
786 gint _tmp9_;
787 gchar* _tmp10_;
788 gchar* _tmp11_;
789 g_return_if_fail (self != NULL);
790 g_return_if_fail (tree != NULL);
791 g_return_if_fail (css_path_wiki != NULL);
792 g_return_if_fail (js_path_wiki != NULL);
793 g_return_if_fail (contentp != NULL);
794 _tmp0_ = valadoc_api_tree_get_wikitree (tree);
795 _tmp1_ = _tmp0_;
796 if (_tmp1_ == NULL) {
797 return;
798 }
799 _tmp2_ = valadoc_api_tree_get_wikitree (tree);
800 _tmp3_ = _tmp2_;
801 if (_tmp3_ == NULL) {
802 return;
803 }
804 _tmp4_ = valadoc_api_tree_get_wikitree (tree);
805 _tmp5_ = _tmp4_;
806 _tmp6_ = valadoc_wiki_page_tree_get_pages (_tmp5_);
807 pages = _tmp6_;
808 _tmp7_ = pages;
809 _tmp8_ = vala_collection_get_size (_tmp7_);
810 _tmp9_ = _tmp8_;
811 if (_tmp9_ == 0) {
812 _vala_iterable_unref0 (pages);
813 return;
814 }
815 g_mkdir (contentp, 0777);
816 _tmp10_ = g_build_filename (contentp, "img", NULL);
817 _tmp11_ = _tmp10_;
818 g_mkdir (_tmp11_, 0777);
819 _g_free0 (_tmp11_);
820 {
821 ValaIterator* _page_it = NULL;
822 ValaCollection* _tmp12_;
823 ValaIterator* _tmp13_;
824 _tmp12_ = pages;
825 _tmp13_ = vala_iterable_iterator ((ValaIterable*) _tmp12_);
826 _page_it = _tmp13_;
827 while (TRUE) {
828 ValaIterator* _tmp14_;
829 ValadocWikiPage* page = NULL;
830 ValaIterator* _tmp15_;
831 gpointer _tmp16_;
832 ValadocWikiPage* _tmp17_;
833 const gchar* _tmp18_;
834 const gchar* _tmp19_;
835 const gchar* _tmp20_;
836 _tmp14_ = _page_it;
837 if (!vala_iterator_next (_tmp14_)) {
838 break;
839 }
840 _tmp15_ = _page_it;
841 _tmp16_ = vala_iterator_get (_tmp15_);
842 page = (ValadocWikiPage*) _tmp16_;
843 _tmp17_ = page;
844 _tmp18_ = valadoc_wiki_page_get_name (_tmp17_);
845 _tmp19_ = _tmp18_;
846 _tmp20_ = self->priv->_wiki_index_name;
847 if (g_strcmp0 (_tmp19_, _tmp20_) != 0) {
848 ValadocWikiPage* _tmp21_;
849 ValadocSettings* _tmp22_;
850 const gchar* _tmp23_;
851 _tmp21_ = page;
852 _tmp22_ = self->priv->_settings;
853 _tmp23_ = _tmp22_->pkg_name;
854 valadoc_html_basic_doclet_write_wiki_page (self, _tmp21_, contentp, css_path_wiki, js_path_wiki, _tmp23_);
855 }
856 _g_object_unref0 (page);
857 }
858 _vala_iterator_unref0 (_page_it);
859 }
860 _vala_iterable_unref0 (pages);
861 }
862
863 static glong
string_strnlen(gchar * str,glong maxlen)864 string_strnlen (gchar* str,
865 glong maxlen)
866 {
867 gchar* end = NULL;
868 gchar* _tmp0_;
869 gchar* _tmp1_;
870 glong result = 0L;
871 _tmp0_ = memchr (str, 0, (gsize) maxlen);
872 end = _tmp0_;
873 _tmp1_ = end;
874 if (_tmp1_ == NULL) {
875 result = maxlen;
876 return result;
877 } else {
878 gchar* _tmp2_;
879 _tmp2_ = end;
880 result = (glong) (_tmp2_ - str);
881 return result;
882 }
883 }
884
885 static gchar*
string_substring(const gchar * self,glong offset,glong len)886 string_substring (const gchar* self,
887 glong offset,
888 glong len)
889 {
890 glong string_length = 0L;
891 gboolean _tmp0_ = FALSE;
892 gchar* _tmp3_;
893 gchar* result = NULL;
894 g_return_val_if_fail (self != NULL, NULL);
895 if (offset >= ((glong) 0)) {
896 _tmp0_ = len >= ((glong) 0);
897 } else {
898 _tmp0_ = FALSE;
899 }
900 if (_tmp0_) {
901 string_length = string_strnlen ((gchar*) self, offset + len);
902 } else {
903 gint _tmp1_;
904 gint _tmp2_;
905 _tmp1_ = strlen (self);
906 _tmp2_ = _tmp1_;
907 string_length = (glong) _tmp2_;
908 }
909 if (offset < ((glong) 0)) {
910 offset = string_length + offset;
911 g_return_val_if_fail (offset >= ((glong) 0), NULL);
912 } else {
913 g_return_val_if_fail (offset <= string_length, NULL);
914 }
915 if (len < ((glong) 0)) {
916 len = string_length - offset;
917 }
918 g_return_val_if_fail ((offset + len) <= string_length, NULL);
919 _tmp3_ = g_strndup (((gchar*) self) + offset, (gsize) len);
920 result = _tmp3_;
921 return result;
922 }
923
924 static gchar*
string_replace(const gchar * self,const gchar * old,const gchar * replacement)925 string_replace (const gchar* self,
926 const gchar* old,
927 const gchar* replacement)
928 {
929 gboolean _tmp0_ = FALSE;
930 gboolean _tmp1_ = FALSE;
931 GError* _inner_error0_ = NULL;
932 gchar* result = NULL;
933 g_return_val_if_fail (self != NULL, NULL);
934 g_return_val_if_fail (old != NULL, NULL);
935 g_return_val_if_fail (replacement != NULL, NULL);
936 if ((*((gchar*) self)) == '\0') {
937 _tmp1_ = TRUE;
938 } else {
939 _tmp1_ = (*((gchar*) old)) == '\0';
940 }
941 if (_tmp1_) {
942 _tmp0_ = TRUE;
943 } else {
944 _tmp0_ = g_strcmp0 (old, replacement) == 0;
945 }
946 if (_tmp0_) {
947 gchar* _tmp2_;
948 _tmp2_ = g_strdup (self);
949 result = _tmp2_;
950 return result;
951 }
952 {
953 GRegex* regex = NULL;
954 gchar* _tmp3_;
955 gchar* _tmp4_;
956 GRegex* _tmp5_;
957 GRegex* _tmp6_;
958 gchar* _tmp7_ = NULL;
959 GRegex* _tmp8_;
960 gchar* _tmp9_;
961 gchar* _tmp10_;
962 _tmp3_ = g_regex_escape_string (old, -1);
963 _tmp4_ = _tmp3_;
964 _tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error0_);
965 _tmp6_ = _tmp5_;
966 _g_free0 (_tmp4_);
967 regex = _tmp6_;
968 if (G_UNLIKELY (_inner_error0_ != NULL)) {
969 _g_free0 (_tmp7_);
970 _g_regex_unref0 (regex);
971 if (_inner_error0_->domain == G_REGEX_ERROR) {
972 goto __catch0_g_regex_error;
973 }
974 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);
975 g_clear_error (&_inner_error0_);
976 return NULL;
977 }
978 _tmp8_ = regex;
979 _tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error0_);
980 _tmp7_ = _tmp9_;
981 if (G_UNLIKELY (_inner_error0_ != NULL)) {
982 _g_free0 (_tmp7_);
983 _g_regex_unref0 (regex);
984 if (_inner_error0_->domain == G_REGEX_ERROR) {
985 goto __catch0_g_regex_error;
986 }
987 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);
988 g_clear_error (&_inner_error0_);
989 return NULL;
990 }
991 _tmp10_ = _tmp7_;
992 _tmp7_ = NULL;
993 result = _tmp10_;
994 _g_free0 (_tmp7_);
995 _g_regex_unref0 (regex);
996 return result;
997 }
998 goto __finally0;
999 __catch0_g_regex_error:
1000 {
1001 g_clear_error (&_inner_error0_);
1002 g_assert_not_reached ();
1003 }
1004 __finally0:
1005 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);
1006 g_clear_error (&_inner_error0_);
1007 return NULL;
1008 }
1009
1010 static void
valadoc_html_basic_doclet_real_write_wiki_page(ValadocHtmlBasicDoclet * self,ValadocWikiPage * page,const gchar * contentp,const gchar * css_path,const gchar * js_path,const gchar * pkg_name)1011 valadoc_html_basic_doclet_real_write_wiki_page (ValadocHtmlBasicDoclet* self,
1012 ValadocWikiPage* page,
1013 const gchar* contentp,
1014 const gchar* css_path,
1015 const gchar* js_path,
1016 const gchar* pkg_name)
1017 {
1018 FILE* file = NULL;
1019 const gchar* _tmp0_;
1020 const gchar* _tmp1_;
1021 const gchar* _tmp2_;
1022 const gchar* _tmp3_;
1023 gint _tmp4_;
1024 gint _tmp5_;
1025 gchar* _tmp6_;
1026 gchar* _tmp7_;
1027 gchar* _tmp8_;
1028 gchar* _tmp9_;
1029 gchar* _tmp10_;
1030 gchar* _tmp11_;
1031 gchar* _tmp12_;
1032 gchar* _tmp13_;
1033 FILE* _tmp14_;
1034 FILE* _tmp15_;
1035 ValadocHtmlMarkupWriter* _tmp16_;
1036 ValadocHtmlHtmlRenderer* _tmp17_;
1037 ValadocHtmlMarkupWriter* _tmp18_;
1038 ValadocHtmlHtmlRenderer* _tmp19_;
1039 ValadocHtmlHtmlRenderer* _tmp20_;
1040 ValadocContentPage* _tmp21_;
1041 ValadocContentPage* _tmp22_;
1042 g_return_if_fail (page != NULL);
1043 g_return_if_fail (contentp != NULL);
1044 g_return_if_fail (css_path != NULL);
1045 g_return_if_fail (js_path != NULL);
1046 g_return_if_fail (pkg_name != NULL);
1047 _tmp0_ = valadoc_wiki_page_get_name (page);
1048 _tmp1_ = _tmp0_;
1049 _tmp2_ = valadoc_wiki_page_get_name (page);
1050 _tmp3_ = _tmp2_;
1051 _tmp4_ = strlen (_tmp3_);
1052 _tmp5_ = _tmp4_;
1053 _tmp6_ = string_substring (_tmp1_, (glong) 0, (glong) (_tmp5_ - 7));
1054 _tmp7_ = _tmp6_;
1055 _tmp8_ = string_replace (_tmp7_, "/", ".");
1056 _tmp9_ = _tmp8_;
1057 _tmp10_ = g_strconcat (_tmp9_, "htm", NULL);
1058 _tmp11_ = _tmp10_;
1059 _tmp12_ = g_build_filename (contentp, _tmp11_, NULL);
1060 _tmp13_ = _tmp12_;
1061 _tmp14_ = g_fopen (_tmp13_, "w");
1062 _tmp15_ = _tmp14_;
1063 _g_free0 (_tmp13_);
1064 _g_free0 (_tmp11_);
1065 _g_free0 (_tmp9_);
1066 _g_free0 (_tmp7_);
1067 file = _tmp15_;
1068 _tmp16_ = valadoc_html_markup_writer_new (file, TRUE);
1069 _valadoc_markup_writer_unref0 (self->writer);
1070 self->writer = _tmp16_;
1071 _tmp17_ = self->_renderer;
1072 _tmp18_ = self->writer;
1073 valadoc_html_html_renderer_set_writer (_tmp17_, _tmp18_);
1074 valadoc_html_basic_doclet_write_file_header (self, css_path, js_path, pkg_name);
1075 _tmp19_ = self->_renderer;
1076 valadoc_html_html_renderer_set_container (_tmp19_, (ValadocDocumentation*) page);
1077 _tmp20_ = self->_renderer;
1078 _tmp21_ = valadoc_wiki_page_get_documentation (page);
1079 _tmp22_ = _tmp21_;
1080 valadoc_content_content_renderer_render ((ValadocContentContentRenderer*) _tmp20_, (ValadocContentContentElement*) _tmp22_);
1081 valadoc_html_basic_doclet_write_file_footer (self);
1082 _fclose0 (file);
1083 }
1084
1085 void
valadoc_html_basic_doclet_write_wiki_page(ValadocHtmlBasicDoclet * self,ValadocWikiPage * page,const gchar * contentp,const gchar * css_path,const gchar * js_path,const gchar * pkg_name)1086 valadoc_html_basic_doclet_write_wiki_page (ValadocHtmlBasicDoclet* self,
1087 ValadocWikiPage* page,
1088 const gchar* contentp,
1089 const gchar* css_path,
1090 const gchar* js_path,
1091 const gchar* pkg_name)
1092 {
1093 g_return_if_fail (self != NULL);
1094 VALADOC_HTML_BASIC_DOCLET_GET_CLASS (self)->write_wiki_page (self, page, contentp, css_path, js_path, pkg_name);
1095 }
1096
1097 void
valadoc_html_basic_doclet_write_navi_top_entry(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,ValadocApiNode * parent)1098 valadoc_html_basic_doclet_write_navi_top_entry (ValadocHtmlBasicDoclet* self,
1099 ValadocApiNode* element,
1100 ValadocApiNode* parent)
1101 {
1102 gchar* style = NULL;
1103 ValadocHtmlCssClassResolver* _tmp0_;
1104 gchar* _tmp1_;
1105 ValadocHtmlMarkupWriter* _tmp2_;
1106 gchar* _tmp3_;
1107 gchar* _tmp4_;
1108 gchar** _tmp5_;
1109 gchar** _tmp6_;
1110 gint _tmp6__length1;
1111 gboolean _tmp7_ = FALSE;
1112 ValadocHtmlMarkupWriter* _tmp10_;
1113 ValadocHtmlMarkupWriter* _tmp11_;
1114 gchar* _tmp12_;
1115 gchar* _tmp13_;
1116 gchar** _tmp14_;
1117 gchar** _tmp15_;
1118 gint _tmp15__length1;
1119 g_return_if_fail (self != NULL);
1120 g_return_if_fail (element != NULL);
1121 _tmp0_ = self->cssresolver;
1122 _tmp1_ = valadoc_html_css_class_resolver_resolve (_tmp0_, element);
1123 style = _tmp1_;
1124 _tmp2_ = self->writer;
1125 _tmp3_ = g_strdup ("class");
1126 _tmp4_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_navi);
1127 _tmp5_ = g_new0 (gchar*, 2 + 1);
1128 _tmp5_[0] = _tmp3_;
1129 _tmp5_[1] = _tmp4_;
1130 _tmp6_ = _tmp5_;
1131 _tmp6__length1 = 2;
1132 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp2_, "ul", _tmp6_, (gint) 2);
1133 _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
1134 if (element == parent) {
1135 _tmp7_ = TRUE;
1136 } else {
1137 _tmp7_ = parent == NULL;
1138 }
1139 if (_tmp7_) {
1140 const gchar* _tmp8_;
1141 _tmp8_ = style;
1142 valadoc_html_basic_doclet_write_navi_entry (self, element, parent, _tmp8_, FALSE, FALSE);
1143 } else {
1144 const gchar* _tmp9_;
1145 _tmp9_ = style;
1146 valadoc_html_basic_doclet_write_navi_entry (self, element, parent, _tmp9_, TRUE, FALSE);
1147 }
1148 _tmp10_ = self->writer;
1149 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp10_, "ul");
1150 _tmp11_ = self->writer;
1151 _tmp12_ = g_strdup ("class");
1152 _tmp13_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_navi_hr);
1153 _tmp14_ = g_new0 (gchar*, 2 + 1);
1154 _tmp14_[0] = _tmp12_;
1155 _tmp14_[1] = _tmp13_;
1156 _tmp15_ = _tmp14_;
1157 _tmp15__length1 = 2;
1158 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp11_, "hr", _tmp15_, (gint) 2);
1159 _tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
1160 _g_free0 (style);
1161 }
1162
1163 void
valadoc_html_basic_doclet_write_top_element_template(ValadocHtmlBasicDoclet * self,const gchar * link)1164 valadoc_html_basic_doclet_write_top_element_template (ValadocHtmlBasicDoclet* self,
1165 const gchar* link)
1166 {
1167 ValadocHtmlMarkupWriter* _tmp0_;
1168 gchar* _tmp1_;
1169 gchar* _tmp2_;
1170 gchar** _tmp3_;
1171 gchar** _tmp4_;
1172 gint _tmp4__length1;
1173 ValadocHtmlMarkupWriter* _tmp5_;
1174 gchar* _tmp6_;
1175 gchar* _tmp7_;
1176 gchar** _tmp8_;
1177 gchar** _tmp9_;
1178 gint _tmp9__length1;
1179 ValadocHtmlMarkupWriter* _tmp10_;
1180 ValadocHtmlMarkupWriter* _tmp11_;
1181 ValadocHtmlMarkupWriter* _tmp12_;
1182 ValadocHtmlMarkupWriter* _tmp13_;
1183 gchar* _tmp14_;
1184 gchar* _tmp15_;
1185 gchar** _tmp16_;
1186 gchar** _tmp17_;
1187 gint _tmp17__length1;
1188 g_return_if_fail (self != NULL);
1189 g_return_if_fail (link != NULL);
1190 _tmp0_ = self->writer;
1191 _tmp1_ = g_strdup ("class");
1192 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_navi);
1193 _tmp3_ = g_new0 (gchar*, 2 + 1);
1194 _tmp3_[0] = _tmp1_;
1195 _tmp3_[1] = _tmp2_;
1196 _tmp4_ = _tmp3_;
1197 _tmp4__length1 = 2;
1198 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "ul", _tmp4_, (gint) 2);
1199 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
1200 _tmp5_ = self->writer;
1201 _tmp6_ = g_strdup ("class");
1202 _tmp7_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_package_index);
1203 _tmp8_ = g_new0 (gchar*, 2 + 1);
1204 _tmp8_[0] = _tmp6_;
1205 _tmp8_[1] = _tmp7_;
1206 _tmp9_ = _tmp8_;
1207 _tmp9__length1 = 2;
1208 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp5_, "li", _tmp9_, (gint) 2);
1209 _tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
1210 _tmp10_ = self->writer;
1211 valadoc_html_markup_writer_link (_tmp10_, link, "Packages", NULL);
1212 _tmp11_ = self->writer;
1213 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp11_, "li");
1214 _tmp12_ = self->writer;
1215 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp12_, "ul");
1216 _tmp13_ = self->writer;
1217 _tmp14_ = g_strdup ("class");
1218 _tmp15_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_navi_hr);
1219 _tmp16_ = g_new0 (gchar*, 2 + 1);
1220 _tmp16_[0] = _tmp14_;
1221 _tmp16_[1] = _tmp15_;
1222 _tmp17_ = _tmp16_;
1223 _tmp17__length1 = 2;
1224 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp13_, "hr", _tmp17_, (gint) 2);
1225 _tmp17_ = (_vala_array_free (_tmp17_, _tmp17__length1, (GDestroyNotify) g_free), NULL);
1226 }
1227
1228 void
valadoc_html_basic_doclet_write_top_elements(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,ValadocApiNode * parent)1229 valadoc_html_basic_doclet_write_top_elements (ValadocHtmlBasicDoclet* self,
1230 ValadocApiNode* element,
1231 ValadocApiNode* parent)
1232 {
1233 ValaArrayList* lst = NULL;
1234 GEqualFunc _tmp0_;
1235 ValaArrayList* _tmp1_;
1236 ValadocApiNode* pos = NULL;
1237 ValadocApiNode* _tmp2_;
1238 const gchar* _tmp3_;
1239 g_return_if_fail (self != NULL);
1240 g_return_if_fail (element != NULL);
1241 _tmp0_ = g_direct_equal;
1242 _tmp1_ = vala_array_list_new (VALADOC_API_TYPE_NODE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _tmp0_);
1243 lst = _tmp1_;
1244 _tmp2_ = _g_object_ref0 (element);
1245 pos = _tmp2_;
1246 _tmp3_ = self->package_list_link;
1247 valadoc_html_basic_doclet_write_top_element_template (self, _tmp3_);
1248 while (TRUE) {
1249 ValadocApiNode* _tmp4_;
1250 ValaArrayList* _tmp5_;
1251 ValadocApiNode* _tmp6_;
1252 ValadocApiNode* _tmp7_;
1253 ValadocApiItem* _tmp8_;
1254 ValadocApiItem* _tmp9_;
1255 ValadocApiNode* _tmp10_;
1256 _tmp4_ = pos;
1257 if (!(_tmp4_ != NULL)) {
1258 break;
1259 }
1260 _tmp5_ = lst;
1261 _tmp6_ = pos;
1262 vala_collection_add ((ValaCollection*) _tmp5_, _tmp6_);
1263 _tmp7_ = pos;
1264 _tmp8_ = valadoc_api_item_get_parent ((ValadocApiItem*) _tmp7_);
1265 _tmp9_ = _tmp8_;
1266 _tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, VALADOC_API_TYPE_NODE, ValadocApiNode));
1267 _g_object_unref0 (pos);
1268 pos = _tmp10_;
1269 }
1270 {
1271 gint i = 0;
1272 ValaArrayList* _tmp11_;
1273 gint _tmp12_;
1274 gint _tmp13_;
1275 _tmp11_ = lst;
1276 _tmp12_ = vala_collection_get_size ((ValaCollection*) _tmp11_);
1277 _tmp13_ = _tmp12_;
1278 i = _tmp13_ - 1;
1279 {
1280 gboolean _tmp14_ = FALSE;
1281 _tmp14_ = TRUE;
1282 while (TRUE) {
1283 ValadocApiNode* el = NULL;
1284 ValaArrayList* _tmp16_;
1285 gpointer _tmp17_;
1286 ValadocApiNode* _tmp18_;
1287 const gchar* _tmp19_;
1288 const gchar* _tmp20_;
1289 if (!_tmp14_) {
1290 gint _tmp15_;
1291 _tmp15_ = i;
1292 i = _tmp15_ - 1;
1293 }
1294 _tmp14_ = FALSE;
1295 if (!(i >= 0)) {
1296 break;
1297 }
1298 _tmp16_ = lst;
1299 _tmp17_ = vala_list_get ((ValaList*) _tmp16_, i);
1300 el = (ValadocApiNode*) _tmp17_;
1301 _tmp18_ = el;
1302 _tmp19_ = valadoc_api_node_get_name (_tmp18_);
1303 _tmp20_ = _tmp19_;
1304 if (_tmp20_ != NULL) {
1305 ValadocApiNode* _tmp21_;
1306 _tmp21_ = el;
1307 valadoc_html_basic_doclet_write_navi_top_entry (self, _tmp21_, parent);
1308 }
1309 _g_object_unref0 (el);
1310 }
1311 }
1312 }
1313 _g_object_unref0 (pos);
1314 _vala_iterable_unref0 (lst);
1315 }
1316
1317 static gpointer
_vala_iterable_ref0(gpointer self)1318 _vala_iterable_ref0 (gpointer self)
1319 {
1320 return self ? vala_iterable_ref (self) : NULL;
1321 }
1322
1323 void
valadoc_html_basic_doclet_fetch_subnamespace_names(ValadocHtmlBasicDoclet * self,ValadocApiNode * node,ValaArrayList * namespaces)1324 valadoc_html_basic_doclet_fetch_subnamespace_names (ValadocHtmlBasicDoclet* self,
1325 ValadocApiNode* node,
1326 ValaArrayList* namespaces)
1327 {
1328 ValaList* children = NULL;
1329 ValaList* _tmp0_;
1330 ValaList* _tmp1_;
1331 g_return_if_fail (self != NULL);
1332 g_return_if_fail (node != NULL);
1333 g_return_if_fail (namespaces != NULL);
1334 _tmp0_ = valadoc_api_node_get_children_by_type (node, VALADOC_API_NODE_TYPE_NAMESPACE, TRUE);
1335 children = _tmp0_;
1336 _tmp1_ = children;
1337 vala_list_sort (_tmp1_, (GCompareDataFunc) valadoc_api_node_compare_to, NULL, NULL);
1338 {
1339 ValaList* _child_list = NULL;
1340 ValaList* _tmp2_;
1341 ValaList* _tmp3_;
1342 gint _child_size = 0;
1343 ValaList* _tmp4_;
1344 gint _tmp5_;
1345 gint _tmp6_;
1346 gint _child_index = 0;
1347 _tmp2_ = children;
1348 _tmp3_ = _vala_iterable_ref0 (_tmp2_);
1349 _child_list = _tmp3_;
1350 _tmp4_ = _child_list;
1351 _tmp5_ = vala_collection_get_size ((ValaCollection*) _tmp4_);
1352 _tmp6_ = _tmp5_;
1353 _child_size = _tmp6_;
1354 _child_index = -1;
1355 while (TRUE) {
1356 gint _tmp7_;
1357 gint _tmp8_;
1358 ValadocApiNode* child = NULL;
1359 ValaList* _tmp9_;
1360 gpointer _tmp10_;
1361 ValadocApiNode* _tmp11_;
1362 ValadocApiNode* _tmp12_;
1363 _child_index = _child_index + 1;
1364 _tmp7_ = _child_index;
1365 _tmp8_ = _child_size;
1366 if (!(_tmp7_ < _tmp8_)) {
1367 break;
1368 }
1369 _tmp9_ = _child_list;
1370 _tmp10_ = vala_list_get (_tmp9_, _child_index);
1371 child = (ValadocApiNode*) _tmp10_;
1372 _tmp11_ = child;
1373 vala_collection_add ((ValaCollection*) namespaces, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, VALADOC_API_TYPE_NAMESPACE, ValadocApiNamespace));
1374 _tmp12_ = child;
1375 valadoc_html_basic_doclet_fetch_subnamespace_names (self, _tmp12_, namespaces);
1376 _g_object_unref0 (child);
1377 }
1378 _vala_iterable_unref0 (_child_list);
1379 }
1380 _vala_iterable_unref0 (children);
1381 }
1382
1383 void
valadoc_html_basic_doclet_write_navi_package(ValadocHtmlBasicDoclet * self,ValadocApiPackage * package)1384 valadoc_html_basic_doclet_write_navi_package (ValadocHtmlBasicDoclet* self,
1385 ValadocApiPackage* package)
1386 {
1387 ValaArrayList* ns_list = NULL;
1388 GEqualFunc _tmp0_;
1389 ValaArrayList* _tmp1_;
1390 ValaArrayList* _tmp2_;
1391 ValadocHtmlMarkupWriter* _tmp3_;
1392 gchar* _tmp4_;
1393 gchar* _tmp5_;
1394 gchar** _tmp6_;
1395 gchar** _tmp7_;
1396 gint _tmp7__length1;
1397 ValadocHtmlMarkupWriter* _tmp8_;
1398 gchar* _tmp9_;
1399 gchar* _tmp10_;
1400 gchar** _tmp11_;
1401 gchar** _tmp12_;
1402 gint _tmp12__length1;
1403 ValadocApiNamespace* globals = NULL;
1404 ValadocApiNamespace* _tmp32_;
1405 ValadocHtmlMarkupWriter* _tmp47_;
1406 ValadocHtmlMarkupWriter* _tmp48_;
1407 g_return_if_fail (self != NULL);
1408 g_return_if_fail (package != NULL);
1409 _tmp0_ = g_direct_equal;
1410 _tmp1_ = vala_array_list_new (VALADOC_API_TYPE_NAMESPACE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _tmp0_);
1411 ns_list = _tmp1_;
1412 _tmp2_ = ns_list;
1413 valadoc_html_basic_doclet_fetch_subnamespace_names (self, (ValadocApiNode*) package, _tmp2_);
1414 _tmp3_ = self->writer;
1415 _tmp4_ = g_strdup ("class");
1416 _tmp5_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_navigation);
1417 _tmp6_ = g_new0 (gchar*, 2 + 1);
1418 _tmp6_[0] = _tmp4_;
1419 _tmp6_[1] = _tmp5_;
1420 _tmp7_ = _tmp6_;
1421 _tmp7__length1 = 2;
1422 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp3_, "div", _tmp7_, (gint) 2);
1423 _tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
1424 valadoc_html_basic_doclet_write_top_elements (self, (ValadocApiNode*) package, (ValadocApiNode*) package);
1425 _tmp8_ = self->writer;
1426 _tmp9_ = g_strdup ("class");
1427 _tmp10_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_navi);
1428 _tmp11_ = g_new0 (gchar*, 2 + 1);
1429 _tmp11_[0] = _tmp9_;
1430 _tmp11_[1] = _tmp10_;
1431 _tmp12_ = _tmp11_;
1432 _tmp12__length1 = 2;
1433 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp8_, "ul", _tmp12_, (gint) 2);
1434 _tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL);
1435 globals = NULL;
1436 {
1437 ValaArrayList* _ns_list = NULL;
1438 ValaArrayList* _tmp13_;
1439 ValaArrayList* _tmp14_;
1440 gint _ns_size = 0;
1441 ValaArrayList* _tmp15_;
1442 gint _tmp16_;
1443 gint _tmp17_;
1444 gint _ns_index = 0;
1445 _tmp13_ = ns_list;
1446 _tmp14_ = _vala_iterable_ref0 (_tmp13_);
1447 _ns_list = _tmp14_;
1448 _tmp15_ = _ns_list;
1449 _tmp16_ = vala_collection_get_size ((ValaCollection*) _tmp15_);
1450 _tmp17_ = _tmp16_;
1451 _ns_size = _tmp17_;
1452 _ns_index = -1;
1453 while (TRUE) {
1454 gint _tmp18_;
1455 gint _tmp19_;
1456 ValadocApiNamespace* ns = NULL;
1457 ValaArrayList* _tmp20_;
1458 gpointer _tmp21_;
1459 ValadocApiNamespace* _tmp22_;
1460 const gchar* _tmp23_;
1461 const gchar* _tmp24_;
1462 _ns_index = _ns_index + 1;
1463 _tmp18_ = _ns_index;
1464 _tmp19_ = _ns_size;
1465 if (!(_tmp18_ < _tmp19_)) {
1466 break;
1467 }
1468 _tmp20_ = _ns_list;
1469 _tmp21_ = vala_list_get ((ValaList*) _tmp20_, _ns_index);
1470 ns = (ValadocApiNamespace*) _tmp21_;
1471 _tmp22_ = ns;
1472 _tmp23_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp22_);
1473 _tmp24_ = _tmp23_;
1474 if (_tmp24_ == NULL) {
1475 ValadocApiNamespace* _tmp25_;
1476 ValadocApiNamespace* _tmp26_;
1477 _tmp25_ = ns;
1478 _tmp26_ = _g_object_ref0 (_tmp25_);
1479 _g_object_unref0 (globals);
1480 globals = _tmp26_;
1481 } else {
1482 ValadocApiNamespace* _tmp27_;
1483 ValadocHtmlCssClassResolver* _tmp28_;
1484 ValadocApiNamespace* _tmp29_;
1485 gchar* _tmp30_;
1486 gchar* _tmp31_;
1487 _tmp27_ = ns;
1488 _tmp28_ = self->cssresolver;
1489 _tmp29_ = ns;
1490 _tmp30_ = valadoc_html_css_class_resolver_resolve (_tmp28_, (ValadocApiNode*) _tmp29_);
1491 _tmp31_ = _tmp30_;
1492 valadoc_html_basic_doclet_write_navi_entry (self, (ValadocApiNode*) _tmp27_, (ValadocApiNode*) package, _tmp31_, TRUE, TRUE);
1493 _g_free0 (_tmp31_);
1494 }
1495 _g_object_unref0 (ns);
1496 }
1497 _vala_iterable_unref0 (_ns_list);
1498 }
1499 _tmp32_ = globals;
1500 if (_tmp32_ != NULL) {
1501 ValadocApiNamespace* _tmp33_;
1502 ValadocApiNamespace* _tmp34_;
1503 ValadocApiNamespace* _tmp35_;
1504 ValadocApiNamespace* _tmp36_;
1505 ValadocApiNamespace* _tmp37_;
1506 ValadocApiNamespace* _tmp38_;
1507 ValadocApiNamespace* _tmp39_;
1508 ValadocApiNamespace* _tmp40_;
1509 ValadocApiNamespace* _tmp41_;
1510 ValadocApiNamespace* _tmp42_;
1511 ValadocApiNamespace* _tmp43_;
1512 ValadocApiNamespace* _tmp44_;
1513 ValadocApiNamespace* _tmp45_;
1514 ValadocApiNamespace* _tmp46_;
1515 _tmp33_ = globals;
1516 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp33_, VALADOC_API_NODE_TYPE_ERROR_CODE, (ValadocApiNode*) package);
1517 _tmp34_ = globals;
1518 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp34_, VALADOC_API_NODE_TYPE_ENUM_VALUE, (ValadocApiNode*) package);
1519 _tmp35_ = globals;
1520 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp35_, VALADOC_API_NODE_TYPE_ENUM, (ValadocApiNode*) package);
1521 _tmp36_ = globals;
1522 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp36_, VALADOC_API_NODE_TYPE_INTERFACE, (ValadocApiNode*) package);
1523 _tmp37_ = globals;
1524 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp37_, VALADOC_API_NODE_TYPE_CLASS, (ValadocApiNode*) package);
1525 _tmp38_ = globals;
1526 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp38_, VALADOC_API_NODE_TYPE_STRUCT, (ValadocApiNode*) package);
1527 _tmp39_ = globals;
1528 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp39_, VALADOC_API_NODE_TYPE_CONSTANT, (ValadocApiNode*) package);
1529 _tmp40_ = globals;
1530 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp40_, VALADOC_API_NODE_TYPE_PROPERTY, (ValadocApiNode*) package);
1531 _tmp41_ = globals;
1532 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp41_, VALADOC_API_NODE_TYPE_DELEGATE, (ValadocApiNode*) package);
1533 _tmp42_ = globals;
1534 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp42_, VALADOC_API_NODE_TYPE_STATIC_METHOD, (ValadocApiNode*) package);
1535 _tmp43_ = globals;
1536 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp43_, VALADOC_API_NODE_TYPE_CREATION_METHOD, (ValadocApiNode*) package);
1537 _tmp44_ = globals;
1538 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp44_, VALADOC_API_NODE_TYPE_METHOD, (ValadocApiNode*) package);
1539 _tmp45_ = globals;
1540 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp45_, VALADOC_API_NODE_TYPE_SIGNAL, (ValadocApiNode*) package);
1541 _tmp46_ = globals;
1542 valadoc_html_basic_doclet_write_navi_children (self, (ValadocApiNode*) _tmp46_, VALADOC_API_NODE_TYPE_FIELD, (ValadocApiNode*) package);
1543 }
1544 _tmp47_ = self->writer;
1545 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp47_, "ul");
1546 _tmp48_ = self->writer;
1547 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp48_, "div");
1548 _g_object_unref0 (globals);
1549 _vala_iterable_unref0 (ns_list);
1550 }
1551
1552 void
valadoc_html_basic_doclet_write_navi_symbol(ValadocHtmlBasicDoclet * self,ValadocApiNode * node)1553 valadoc_html_basic_doclet_write_navi_symbol (ValadocHtmlBasicDoclet* self,
1554 ValadocApiNode* node)
1555 {
1556 ValadocHtmlMarkupWriter* _tmp0_;
1557 gchar* _tmp1_;
1558 gchar* _tmp2_;
1559 gchar** _tmp3_;
1560 gchar** _tmp4_;
1561 gint _tmp4__length1;
1562 ValadocHtmlMarkupWriter* _tmp5_;
1563 g_return_if_fail (self != NULL);
1564 g_return_if_fail (node != NULL);
1565 _tmp0_ = self->writer;
1566 _tmp1_ = g_strdup ("class");
1567 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_navigation);
1568 _tmp3_ = g_new0 (gchar*, 2 + 1);
1569 _tmp3_[0] = _tmp1_;
1570 _tmp3_[1] = _tmp2_;
1571 _tmp4_ = _tmp3_;
1572 _tmp4__length1 = 2;
1573 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "div", _tmp4_, (gint) 2);
1574 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
1575 valadoc_html_basic_doclet_write_top_elements (self, node, node);
1576 valadoc_html_basic_doclet_write_navi_symbol_inline (self, node, node);
1577 _tmp5_ = self->writer;
1578 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp5_, "div");
1579 }
1580
1581 void
valadoc_html_basic_doclet_write_navi_leaf_symbol(ValadocHtmlBasicDoclet * self,ValadocApiNode * node)1582 valadoc_html_basic_doclet_write_navi_leaf_symbol (ValadocHtmlBasicDoclet* self,
1583 ValadocApiNode* node)
1584 {
1585 ValadocHtmlMarkupWriter* _tmp0_;
1586 gchar* _tmp1_;
1587 gchar* _tmp2_;
1588 gchar** _tmp3_;
1589 gchar** _tmp4_;
1590 gint _tmp4__length1;
1591 ValadocApiItem* _tmp5_;
1592 ValadocApiItem* _tmp6_;
1593 ValadocApiItem* _tmp7_;
1594 ValadocApiItem* _tmp8_;
1595 ValadocHtmlMarkupWriter* _tmp9_;
1596 g_return_if_fail (self != NULL);
1597 g_return_if_fail (node != NULL);
1598 _tmp0_ = self->writer;
1599 _tmp1_ = g_strdup ("class");
1600 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_navigation);
1601 _tmp3_ = g_new0 (gchar*, 2 + 1);
1602 _tmp3_[0] = _tmp1_;
1603 _tmp3_[1] = _tmp2_;
1604 _tmp4_ = _tmp3_;
1605 _tmp4__length1 = 2;
1606 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "div", _tmp4_, (gint) 2);
1607 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
1608 _tmp5_ = valadoc_api_item_get_parent ((ValadocApiItem*) node);
1609 _tmp6_ = _tmp5_;
1610 valadoc_html_basic_doclet_write_top_elements (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, VALADOC_API_TYPE_NODE, ValadocApiNode), node);
1611 _tmp7_ = valadoc_api_item_get_parent ((ValadocApiItem*) node);
1612 _tmp8_ = _tmp7_;
1613 valadoc_html_basic_doclet_write_navi_symbol_inline (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, VALADOC_API_TYPE_NODE, ValadocApiNode), node);
1614 _tmp9_ = self->writer;
1615 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp9_, "div");
1616 }
1617
1618 void
valadoc_html_basic_doclet_write_navi_symbol_inline(ValadocHtmlBasicDoclet * self,ValadocApiNode * node,ValadocApiNode * parent)1619 valadoc_html_basic_doclet_write_navi_symbol_inline (ValadocHtmlBasicDoclet* self,
1620 ValadocApiNode* node,
1621 ValadocApiNode* parent)
1622 {
1623 ValadocHtmlMarkupWriter* _tmp0_;
1624 gchar* _tmp1_;
1625 gchar* _tmp2_;
1626 gchar** _tmp3_;
1627 gchar** _tmp4_;
1628 gint _tmp4__length1;
1629 ValadocHtmlMarkupWriter* _tmp5_;
1630 g_return_if_fail (self != NULL);
1631 g_return_if_fail (node != NULL);
1632 _tmp0_ = self->writer;
1633 _tmp1_ = g_strdup ("class");
1634 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_navi);
1635 _tmp3_ = g_new0 (gchar*, 2 + 1);
1636 _tmp3_[0] = _tmp1_;
1637 _tmp3_[1] = _tmp2_;
1638 _tmp4_ = _tmp3_;
1639 _tmp4__length1 = 2;
1640 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "ul", _tmp4_, (gint) 2);
1641 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
1642 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_NAMESPACE, parent);
1643 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_ERROR_CODE, parent);
1644 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_ENUM_VALUE, parent);
1645 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_ENUM, parent);
1646 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_INTERFACE, parent);
1647 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_CLASS, parent);
1648 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_STRUCT, parent);
1649 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_CONSTANT, parent);
1650 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_PROPERTY, parent);
1651 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_DELEGATE, parent);
1652 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_STATIC_METHOD, parent);
1653 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_CREATION_METHOD, parent);
1654 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_METHOD, parent);
1655 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_SIGNAL, parent);
1656 valadoc_html_basic_doclet_write_navi_children (self, node, VALADOC_API_NODE_TYPE_FIELD, parent);
1657 _tmp5_ = self->writer;
1658 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp5_, "ul");
1659 }
1660
1661 void
valadoc_html_basic_doclet_write_navi_children(ValadocHtmlBasicDoclet * self,ValadocApiNode * node,ValadocApiNodeType type,ValadocApiNode * parent)1662 valadoc_html_basic_doclet_write_navi_children (ValadocHtmlBasicDoclet* self,
1663 ValadocApiNode* node,
1664 ValadocApiNodeType type,
1665 ValadocApiNode* parent)
1666 {
1667 ValaList* children = NULL;
1668 ValaList* _tmp0_;
1669 ValaList* _tmp1_;
1670 g_return_if_fail (self != NULL);
1671 g_return_if_fail (node != NULL);
1672 _tmp0_ = valadoc_api_node_get_children_by_type (node, type, TRUE);
1673 children = _tmp0_;
1674 _tmp1_ = children;
1675 vala_list_sort (_tmp1_, (GCompareDataFunc) valadoc_api_node_compare_to, NULL, NULL);
1676 {
1677 ValaList* _child_list = NULL;
1678 ValaList* _tmp2_;
1679 ValaList* _tmp3_;
1680 gint _child_size = 0;
1681 ValaList* _tmp4_;
1682 gint _tmp5_;
1683 gint _tmp6_;
1684 gint _child_index = 0;
1685 _tmp2_ = children;
1686 _tmp3_ = _vala_iterable_ref0 (_tmp2_);
1687 _child_list = _tmp3_;
1688 _tmp4_ = _child_list;
1689 _tmp5_ = vala_collection_get_size ((ValaCollection*) _tmp4_);
1690 _tmp6_ = _tmp5_;
1691 _child_size = _tmp6_;
1692 _child_index = -1;
1693 while (TRUE) {
1694 gint _tmp7_;
1695 gint _tmp8_;
1696 ValadocApiNode* child = NULL;
1697 ValaList* _tmp9_;
1698 gpointer _tmp10_;
1699 ValadocApiNode* _tmp11_;
1700 ValadocHtmlCssClassResolver* _tmp12_;
1701 ValadocApiNode* _tmp13_;
1702 gchar* _tmp14_;
1703 gchar* _tmp15_;
1704 ValadocApiNode* _tmp16_;
1705 _child_index = _child_index + 1;
1706 _tmp7_ = _child_index;
1707 _tmp8_ = _child_size;
1708 if (!(_tmp7_ < _tmp8_)) {
1709 break;
1710 }
1711 _tmp9_ = _child_list;
1712 _tmp10_ = vala_list_get (_tmp9_, _child_index);
1713 child = (ValadocApiNode*) _tmp10_;
1714 _tmp11_ = child;
1715 _tmp12_ = self->cssresolver;
1716 _tmp13_ = child;
1717 _tmp14_ = valadoc_html_css_class_resolver_resolve (_tmp12_, _tmp13_);
1718 _tmp15_ = _tmp14_;
1719 _tmp16_ = child;
1720 valadoc_html_basic_doclet_write_navi_entry (self, _tmp11_, parent, _tmp15_, _tmp16_ != parent, FALSE);
1721 _g_free0 (_tmp15_);
1722 _g_object_unref0 (child);
1723 }
1724 _vala_iterable_unref0 (_child_list);
1725 }
1726 _vala_iterable_unref0 (children);
1727 }
1728
1729 void
valadoc_html_basic_doclet_write_package_note(ValadocHtmlBasicDoclet * self,ValadocApiNode * element)1730 valadoc_html_basic_doclet_write_package_note (ValadocHtmlBasicDoclet* self,
1731 ValadocApiNode* element)
1732 {
1733 gchar* package = NULL;
1734 ValadocApiPackage* _tmp0_;
1735 ValadocApiPackage* _tmp1_;
1736 const gchar* _tmp2_;
1737 const gchar* _tmp3_;
1738 gchar* _tmp4_;
1739 const gchar* _tmp5_;
1740 ValadocHtmlMarkupWriter* _tmp6_;
1741 gchar* _tmp7_;
1742 gchar* _tmp8_;
1743 gchar** _tmp9_;
1744 gchar** _tmp10_;
1745 gint _tmp10__length1;
1746 ValadocHtmlMarkupWriter* _tmp11_;
1747 ValadocMarkupWriter* _tmp12_;
1748 ValadocMarkupWriter* _tmp13_;
1749 ValadocHtmlMarkupWriter* _tmp14_;
1750 ValadocMarkupWriter* _tmp15_;
1751 gchar* _tmp16_;
1752 ValadocApiPackage* _tmp17_;
1753 ValadocApiPackage* _tmp18_;
1754 gchar* _tmp19_;
1755 gchar** _tmp20_;
1756 gchar** _tmp21_;
1757 gint _tmp21__length1;
1758 ValadocMarkupWriter* _tmp22_;
1759 const gchar* _tmp23_;
1760 ValadocMarkupWriter* _tmp24_;
1761 ValadocHtmlMarkupWriter* _tmp25_;
1762 g_return_if_fail (self != NULL);
1763 g_return_if_fail (element != NULL);
1764 _tmp0_ = valadoc_documentation_get_package ((ValadocDocumentation*) element);
1765 _tmp1_ = _tmp0_;
1766 _tmp2_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp1_);
1767 _tmp3_ = _tmp2_;
1768 _tmp4_ = g_strdup (_tmp3_);
1769 package = _tmp4_;
1770 _tmp5_ = package;
1771 if (_tmp5_ == NULL) {
1772 _g_free0 (package);
1773 return;
1774 }
1775 _tmp6_ = self->writer;
1776 _tmp7_ = g_strdup ("class");
1777 _tmp8_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_package_note);
1778 _tmp9_ = g_new0 (gchar*, 2 + 1);
1779 _tmp9_[0] = _tmp7_;
1780 _tmp9_[1] = _tmp8_;
1781 _tmp10_ = _tmp9_;
1782 _tmp10__length1 = 2;
1783 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp6_, "div", _tmp10_, (gint) 2);
1784 _tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
1785 _tmp11_ = self->writer;
1786 _tmp12_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "b", NULL, (gint) 0);
1787 _tmp13_ = valadoc_markup_writer_text (_tmp12_, "Package:");
1788 valadoc_markup_writer_end_tag (_tmp13_, "b");
1789 _tmp14_ = self->writer;
1790 _tmp15_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp14_, " ");
1791 _tmp16_ = g_strdup ("href");
1792 _tmp17_ = valadoc_documentation_get_package ((ValadocDocumentation*) element);
1793 _tmp18_ = _tmp17_;
1794 _tmp19_ = valadoc_html_basic_doclet_get_link (self, (ValadocApiNode*) _tmp18_, element);
1795 _tmp20_ = g_new0 (gchar*, 2 + 1);
1796 _tmp20_[0] = _tmp16_;
1797 _tmp20_[1] = _tmp19_;
1798 _tmp21_ = _tmp20_;
1799 _tmp21__length1 = 2;
1800 _tmp22_ = valadoc_markup_writer_start_tag (_tmp15_, "a", _tmp21_, (gint) 2);
1801 _tmp23_ = package;
1802 _tmp24_ = valadoc_markup_writer_text (_tmp22_, _tmp23_);
1803 valadoc_markup_writer_end_tag (_tmp24_, "a");
1804 _tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
1805 _tmp25_ = self->writer;
1806 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp25_, "div");
1807 _g_free0 (package);
1808 }
1809
1810 void
valadoc_html_basic_doclet_write_namespace_note(ValadocHtmlBasicDoclet * self,ValadocApiNode * element)1811 valadoc_html_basic_doclet_write_namespace_note (ValadocHtmlBasicDoclet* self,
1812 ValadocApiNode* element)
1813 {
1814 ValadocApiNamespace* ns = NULL;
1815 ValadocApiNamespace* _tmp0_;
1816 ValadocApiNamespace* _tmp1_;
1817 ValadocApiNamespace* _tmp2_;
1818 ValadocApiNamespace* _tmp3_;
1819 ValadocApiNamespace* _tmp4_;
1820 const gchar* _tmp5_;
1821 const gchar* _tmp6_;
1822 ValadocHtmlMarkupWriter* _tmp7_;
1823 gchar* _tmp8_;
1824 gchar* _tmp9_;
1825 gchar** _tmp10_;
1826 gchar** _tmp11_;
1827 gint _tmp11__length1;
1828 ValadocHtmlMarkupWriter* _tmp12_;
1829 ValadocMarkupWriter* _tmp13_;
1830 ValadocMarkupWriter* _tmp14_;
1831 ValadocHtmlMarkupWriter* _tmp15_;
1832 ValadocMarkupWriter* _tmp16_;
1833 gchar* _tmp17_;
1834 ValadocApiNamespace* _tmp18_;
1835 gchar* _tmp19_;
1836 gchar** _tmp20_;
1837 gchar** _tmp21_;
1838 gint _tmp21__length1;
1839 ValadocMarkupWriter* _tmp22_;
1840 ValadocApiNamespace* _tmp23_;
1841 gchar* _tmp24_;
1842 gchar* _tmp25_;
1843 ValadocMarkupWriter* _tmp26_;
1844 ValadocHtmlMarkupWriter* _tmp27_;
1845 g_return_if_fail (self != NULL);
1846 g_return_if_fail (element != NULL);
1847 _tmp0_ = valadoc_api_node_get_nspace (element);
1848 _tmp1_ = _tmp0_;
1849 _tmp2_ = _g_object_ref0 (_tmp1_);
1850 ns = _tmp2_;
1851 _tmp3_ = ns;
1852 if (_tmp3_ == NULL) {
1853 _g_object_unref0 (ns);
1854 return;
1855 }
1856 _tmp4_ = ns;
1857 _tmp5_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp4_);
1858 _tmp6_ = _tmp5_;
1859 if (_tmp6_ == NULL) {
1860 _g_object_unref0 (ns);
1861 return;
1862 }
1863 _tmp7_ = self->writer;
1864 _tmp8_ = g_strdup ("class");
1865 _tmp9_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_namespace_note);
1866 _tmp10_ = g_new0 (gchar*, 2 + 1);
1867 _tmp10_[0] = _tmp8_;
1868 _tmp10_[1] = _tmp9_;
1869 _tmp11_ = _tmp10_;
1870 _tmp11__length1 = 2;
1871 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp7_, "div", _tmp11_, (gint) 2);
1872 _tmp11_ = (_vala_array_free (_tmp11_, _tmp11__length1, (GDestroyNotify) g_free), NULL);
1873 _tmp12_ = self->writer;
1874 _tmp13_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp12_, "b", NULL, (gint) 0);
1875 _tmp14_ = valadoc_markup_writer_text (_tmp13_, "Namespace:");
1876 valadoc_markup_writer_end_tag (_tmp14_, "b");
1877 _tmp15_ = self->writer;
1878 _tmp16_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp15_, " ");
1879 _tmp17_ = g_strdup ("href");
1880 _tmp18_ = ns;
1881 _tmp19_ = valadoc_html_basic_doclet_get_link (self, (ValadocApiNode*) _tmp18_, element);
1882 _tmp20_ = g_new0 (gchar*, 2 + 1);
1883 _tmp20_[0] = _tmp17_;
1884 _tmp20_[1] = _tmp19_;
1885 _tmp21_ = _tmp20_;
1886 _tmp21__length1 = 2;
1887 _tmp22_ = valadoc_markup_writer_start_tag (_tmp16_, "a", _tmp21_, (gint) 2);
1888 _tmp23_ = ns;
1889 _tmp24_ = valadoc_api_node_get_full_name ((ValadocApiNode*) _tmp23_);
1890 _tmp25_ = _tmp24_;
1891 _tmp26_ = valadoc_markup_writer_text (_tmp22_, _tmp25_);
1892 valadoc_markup_writer_end_tag (_tmp26_, "a");
1893 _g_free0 (_tmp25_);
1894 _tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
1895 _tmp27_ = self->writer;
1896 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp27_, "div");
1897 _g_object_unref0 (ns);
1898 }
1899
1900 static gboolean
valadoc_html_basic_doclet_has_brief_description(ValadocHtmlBasicDoclet * self,ValadocApiNode * element)1901 valadoc_html_basic_doclet_has_brief_description (ValadocHtmlBasicDoclet* self,
1902 ValadocApiNode* element)
1903 {
1904 ValadocContentComment* _tmp0_;
1905 ValadocContentComment* _tmp1_;
1906 gboolean result = FALSE;
1907 g_return_val_if_fail (self != NULL, FALSE);
1908 g_return_val_if_fail (element != NULL, FALSE);
1909 _tmp0_ = valadoc_api_node_get_documentation (element);
1910 _tmp1_ = _tmp0_;
1911 result = _tmp1_ != NULL;
1912 return result;
1913 }
1914
1915 static void
valadoc_html_basic_doclet_write_brief_description(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,ValadocApiNode * pos)1916 valadoc_html_basic_doclet_write_brief_description (ValadocHtmlBasicDoclet* self,
1917 ValadocApiNode* element,
1918 ValadocApiNode* pos)
1919 {
1920 ValadocContentComment* doctree = NULL;
1921 ValadocContentComment* _tmp0_;
1922 ValadocContentComment* _tmp1_;
1923 ValadocContentComment* _tmp2_;
1924 ValadocContentComment* _tmp3_;
1925 ValaList* description = NULL;
1926 ValadocContentComment* _tmp4_;
1927 ValaList* _tmp5_;
1928 ValaList* _tmp6_;
1929 ValaList* _tmp7_;
1930 ValaList* _tmp8_;
1931 gint _tmp9_;
1932 gint _tmp10_;
1933 g_return_if_fail (self != NULL);
1934 g_return_if_fail (element != NULL);
1935 _tmp0_ = valadoc_api_node_get_documentation (element);
1936 _tmp1_ = _tmp0_;
1937 _tmp2_ = _g_object_ref0 (_tmp1_);
1938 doctree = _tmp2_;
1939 _tmp3_ = doctree;
1940 if (_tmp3_ == NULL) {
1941 _g_object_unref0 (doctree);
1942 return;
1943 }
1944 _tmp4_ = doctree;
1945 _tmp5_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) _tmp4_);
1946 _tmp6_ = _tmp5_;
1947 _tmp7_ = _vala_iterable_ref0 (_tmp6_);
1948 description = _tmp7_;
1949 _tmp8_ = description;
1950 _tmp9_ = vala_collection_get_size ((ValaCollection*) _tmp8_);
1951 _tmp10_ = _tmp9_;
1952 if (_tmp10_ > 0) {
1953 ValadocHtmlMarkupWriter* _tmp11_;
1954 gchar* _tmp12_;
1955 gchar* _tmp13_;
1956 gchar** _tmp14_;
1957 gchar** _tmp15_;
1958 gint _tmp15__length1;
1959 ValadocHtmlHtmlRenderer* _tmp16_;
1960 ValadocHtmlHtmlRenderer* _tmp17_;
1961 ValadocHtmlHtmlRenderer* _tmp18_;
1962 ValaList* _tmp19_;
1963 gpointer _tmp20_;
1964 ValadocContentBlock* _tmp21_;
1965 ValadocHtmlHtmlRenderer* _tmp22_;
1966 ValadocHtmlMarkupWriter* _tmp23_;
1967 _tmp11_ = self->writer;
1968 _tmp12_ = g_strdup ("class");
1969 _tmp13_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_brief_description);
1970 _tmp14_ = g_new0 (gchar*, 2 + 1);
1971 _tmp14_[0] = _tmp12_;
1972 _tmp14_[1] = _tmp13_;
1973 _tmp15_ = _tmp14_;
1974 _tmp15__length1 = 2;
1975 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "span", _tmp15_, (gint) 2);
1976 _tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
1977 _tmp16_ = self->_renderer;
1978 valadoc_html_html_renderer_set_container (_tmp16_, (ValadocDocumentation*) pos);
1979 _tmp17_ = self->_renderer;
1980 valadoc_html_html_renderer_set_owner (_tmp17_, (ValadocDocumentation*) element);
1981 _tmp18_ = self->_renderer;
1982 _tmp19_ = description;
1983 _tmp20_ = vala_list_get (_tmp19_, 0);
1984 _tmp21_ = (ValadocContentBlock*) _tmp20_;
1985 valadoc_content_content_renderer_render_children ((ValadocContentContentRenderer*) _tmp18_, (ValadocContentContentElement*) _tmp21_);
1986 _g_object_unref0 (_tmp21_);
1987 _tmp22_ = self->_renderer;
1988 valadoc_html_html_renderer_set_owner (_tmp22_, NULL);
1989 _tmp23_ = self->writer;
1990 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp23_, "span");
1991 }
1992 _vala_iterable_unref0 (description);
1993 _g_object_unref0 (doctree);
1994 }
1995
1996 static void
valadoc_html_basic_doclet_write_documentation(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,ValadocApiNode * pos)1997 valadoc_html_basic_doclet_write_documentation (ValadocHtmlBasicDoclet* self,
1998 ValadocApiNode* element,
1999 ValadocApiNode* pos)
2000 {
2001 ValadocContentComment* doctree = NULL;
2002 ValadocContentComment* _tmp0_;
2003 ValadocContentComment* _tmp1_;
2004 ValadocContentComment* _tmp2_;
2005 gboolean _tmp3_ = FALSE;
2006 gboolean is_deprecated = FALSE;
2007 gboolean _tmp6_ = FALSE;
2008 ValadocContentComment* _tmp7_;
2009 ValadocHtmlMarkupWriter* _tmp8_;
2010 gchar* _tmp9_;
2011 gchar* _tmp10_;
2012 gchar** _tmp11_;
2013 gchar** _tmp12_;
2014 gint _tmp12__length1;
2015 ValadocHtmlHtmlRenderer* _tmp13_;
2016 ValadocContentComment* _tmp90_;
2017 ValadocHtmlHtmlRenderer* _tmp94_;
2018 ValadocHtmlMarkupWriter* _tmp95_;
2019 g_return_if_fail (self != NULL);
2020 g_return_if_fail (element != NULL);
2021 _tmp0_ = valadoc_api_node_get_documentation (element);
2022 _tmp1_ = _tmp0_;
2023 _tmp2_ = _g_object_ref0 (_tmp1_);
2024 doctree = _tmp2_;
2025 if (VALADOC_API_IS_SYMBOL (element)) {
2026 gboolean _tmp4_;
2027 gboolean _tmp5_;
2028 _tmp4_ = valadoc_api_symbol_get_is_deprecated (G_TYPE_CHECK_INSTANCE_CAST (element, VALADOC_API_TYPE_SYMBOL, ValadocApiSymbol));
2029 _tmp5_ = _tmp4_;
2030 _tmp3_ = _tmp5_;
2031 } else {
2032 _tmp3_ = FALSE;
2033 }
2034 is_deprecated = _tmp3_;
2035 _tmp7_ = doctree;
2036 if (_tmp7_ == NULL) {
2037 _tmp6_ = !is_deprecated;
2038 } else {
2039 _tmp6_ = FALSE;
2040 }
2041 if (_tmp6_) {
2042 _g_object_unref0 (doctree);
2043 return;
2044 }
2045 _tmp8_ = self->writer;
2046 _tmp9_ = g_strdup ("class");
2047 _tmp10_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_description);
2048 _tmp11_ = g_new0 (gchar*, 2 + 1);
2049 _tmp11_[0] = _tmp9_;
2050 _tmp11_[1] = _tmp10_;
2051 _tmp12_ = _tmp11_;
2052 _tmp12__length1 = 2;
2053 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp8_, "div", _tmp12_, (gint) 2);
2054 _tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL);
2055 _tmp13_ = self->_renderer;
2056 valadoc_html_html_renderer_set_owner (_tmp13_, (ValadocDocumentation*) element);
2057 if (is_deprecated) {
2058 ValadocApiSymbol* symbol = NULL;
2059 ValadocApiSymbol* _tmp14_;
2060 ValadocApiAttribute* version = NULL;
2061 ValadocApiAttribute* deprecated = NULL;
2062 gchar* replacement = NULL;
2063 gchar* since = NULL;
2064 ValadocApiSymbol* _tmp15_;
2065 ValadocApiAttribute* _tmp16_;
2066 ValadocApiAttribute* _tmp17_;
2067 ValadocHtmlMarkupWriter* _tmp37_;
2068 ValadocHtmlMarkupWriter* _tmp38_;
2069 ValadocHtmlMarkupWriter* _tmp39_;
2070 ValadocHtmlMarkupWriter* _tmp40_;
2071 ValadocHtmlMarkupWriter* _tmp41_;
2072 const gchar* _tmp42_;
2073 const gchar* _tmp43_;
2074 gchar* _tmp44_;
2075 gchar* _tmp45_;
2076 const gchar* _tmp46_;
2077 ValadocHtmlMarkupWriter* _tmp51_;
2078 gboolean _tmp52_ = FALSE;
2079 const gchar* _tmp53_;
2080 ValadocHtmlMarkupWriter* _tmp89_;
2081 _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (element, VALADOC_API_TYPE_SYMBOL, ValadocApiSymbol));
2082 symbol = _tmp14_;
2083 _tmp15_ = symbol;
2084 _tmp16_ = valadoc_api_symbol_get_attribute (_tmp15_, "Version");
2085 _g_object_unref0 (version);
2086 version = _tmp16_;
2087 _tmp17_ = version;
2088 if (_tmp17_ != NULL) {
2089 ValadocApiAttribute* _tmp18_;
2090 ValaCodeNode* _tmp19_;
2091 ValaCodeNode* _tmp20_;
2092 gchar* _tmp21_;
2093 ValadocApiAttribute* _tmp22_;
2094 ValaCodeNode* _tmp23_;
2095 ValaCodeNode* _tmp24_;
2096 gchar* _tmp25_;
2097 _tmp18_ = version;
2098 _tmp19_ = valadoc_api_item_get_data ((ValadocApiItem*) _tmp18_);
2099 _tmp20_ = _tmp19_;
2100 _tmp21_ = vala_attribute_get_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, VALA_TYPE_ATTRIBUTE, ValaAttribute), "replacement", NULL);
2101 _g_free0 (replacement);
2102 replacement = _tmp21_;
2103 _tmp22_ = version;
2104 _tmp23_ = valadoc_api_item_get_data ((ValadocApiItem*) _tmp22_);
2105 _tmp24_ = _tmp23_;
2106 _tmp25_ = vala_attribute_get_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, VALA_TYPE_ATTRIBUTE, ValaAttribute), "deprecated_since", NULL);
2107 _g_free0 (since);
2108 since = _tmp25_;
2109 } else {
2110 ValadocApiSymbol* _tmp26_;
2111 ValadocApiAttribute* _tmp27_;
2112 ValadocApiAttribute* _tmp28_;
2113 _tmp26_ = symbol;
2114 _tmp27_ = valadoc_api_symbol_get_attribute (_tmp26_, "Deprecated");
2115 _g_object_unref0 (deprecated);
2116 deprecated = _tmp27_;
2117 _tmp28_ = deprecated;
2118 if (_tmp28_ != NULL) {
2119 ValadocApiAttribute* _tmp29_;
2120 ValaCodeNode* _tmp30_;
2121 ValaCodeNode* _tmp31_;
2122 gchar* _tmp32_;
2123 ValadocApiAttribute* _tmp33_;
2124 ValaCodeNode* _tmp34_;
2125 ValaCodeNode* _tmp35_;
2126 gchar* _tmp36_;
2127 _tmp29_ = deprecated;
2128 _tmp30_ = valadoc_api_item_get_data ((ValadocApiItem*) _tmp29_);
2129 _tmp31_ = _tmp30_;
2130 _tmp32_ = vala_attribute_get_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, VALA_TYPE_ATTRIBUTE, ValaAttribute), "replacement", NULL);
2131 _g_free0 (replacement);
2132 replacement = _tmp32_;
2133 _tmp33_ = deprecated;
2134 _tmp34_ = valadoc_api_item_get_data ((ValadocApiItem*) _tmp33_);
2135 _tmp35_ = _tmp34_;
2136 _tmp36_ = vala_attribute_get_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, VALA_TYPE_ATTRIBUTE, ValaAttribute), "version", NULL);
2137 _g_free0 (since);
2138 since = _tmp36_;
2139 } else {
2140 g_assert_not_reached ();
2141 }
2142 }
2143 _tmp37_ = self->writer;
2144 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp37_, "p", NULL, (gint) 0);
2145 _tmp38_ = self->writer;
2146 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp38_, "b", NULL, (gint) 0);
2147 _tmp39_ = self->writer;
2148 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp39_, "Warning:");
2149 _tmp40_ = self->writer;
2150 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp40_, "b");
2151 _tmp41_ = self->writer;
2152 _tmp42_ = valadoc_api_node_get_name (element);
2153 _tmp43_ = _tmp42_;
2154 _tmp44_ = g_strdup_printf (" %s is deprecated", _tmp43_);
2155 _tmp45_ = _tmp44_;
2156 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp41_, _tmp45_);
2157 _g_free0 (_tmp45_);
2158 _tmp46_ = since;
2159 if (_tmp46_ != NULL) {
2160 ValadocHtmlMarkupWriter* _tmp47_;
2161 const gchar* _tmp48_;
2162 gchar* _tmp49_;
2163 gchar* _tmp50_;
2164 _tmp47_ = self->writer;
2165 _tmp48_ = since;
2166 _tmp49_ = g_strdup_printf (" since %s", _tmp48_);
2167 _tmp50_ = _tmp49_;
2168 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp47_, _tmp50_);
2169 _g_free0 (_tmp50_);
2170 }
2171 _tmp51_ = self->writer;
2172 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp51_, ".");
2173 _tmp53_ = replacement;
2174 if (_tmp53_ != NULL) {
2175 const gchar* _tmp54_;
2176 gint _tmp55_;
2177 gint _tmp56_;
2178 _tmp54_ = replacement;
2179 _tmp55_ = strlen (_tmp54_);
2180 _tmp56_ = _tmp55_;
2181 _tmp52_ = _tmp56_ > 2;
2182 } else {
2183 _tmp52_ = FALSE;
2184 }
2185 if (_tmp52_) {
2186 ValadocApiNode* replacement_node = NULL;
2187 ValadocApiTree* _tmp57_;
2188 const gchar* _tmp58_;
2189 const gchar* _tmp59_;
2190 gint _tmp60_;
2191 gint _tmp61_;
2192 gchar* _tmp62_;
2193 gchar* _tmp63_;
2194 ValadocApiNode* _tmp64_;
2195 ValadocApiNode* _tmp65_;
2196 ValadocHtmlMarkupWriter* _tmp66_;
2197 ValadocApiNode* _tmp67_;
2198 ValadocHtmlMarkupWriter* _tmp88_;
2199 _tmp57_ = self->tree;
2200 _tmp58_ = replacement;
2201 _tmp59_ = replacement;
2202 _tmp60_ = strlen (_tmp59_);
2203 _tmp61_ = _tmp60_;
2204 _tmp62_ = string_substring (_tmp58_, (glong) 1, (glong) (_tmp61_ - 2));
2205 _tmp63_ = _tmp62_;
2206 _tmp64_ = valadoc_api_tree_search_symbol_str (_tmp57_, pos, _tmp63_);
2207 _tmp65_ = _tmp64_;
2208 _g_free0 (_tmp63_);
2209 replacement_node = _tmp65_;
2210 _tmp66_ = self->writer;
2211 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp66_, " Use ");
2212 _tmp67_ = replacement_node;
2213 if (_tmp67_ == NULL) {
2214 ValadocHtmlMarkupWriter* _tmp68_;
2215 const gchar* _tmp69_;
2216 _tmp68_ = self->writer;
2217 _tmp69_ = replacement;
2218 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp68_, _tmp69_);
2219 } else {
2220 gchar* link = NULL;
2221 ValadocApiNode* _tmp70_;
2222 gchar* _tmp71_;
2223 const gchar* _tmp72_;
2224 _tmp70_ = replacement_node;
2225 _tmp71_ = valadoc_html_basic_doclet_get_link (self, _tmp70_, pos);
2226 link = _tmp71_;
2227 _tmp72_ = link;
2228 if (_tmp72_ != NULL) {
2229 gchar* css = NULL;
2230 ValadocHtmlCssClassResolver* _tmp73_;
2231 ValadocApiNode* _tmp74_;
2232 gchar* _tmp75_;
2233 ValadocHtmlMarkupWriter* _tmp76_;
2234 const gchar* _tmp77_;
2235 ValadocApiNode* _tmp78_;
2236 gchar* _tmp79_;
2237 gchar* _tmp80_;
2238 const gchar* _tmp81_;
2239 _tmp73_ = self->cssresolver;
2240 _tmp74_ = replacement_node;
2241 _tmp75_ = valadoc_html_css_class_resolver_resolve (_tmp73_, _tmp74_);
2242 css = _tmp75_;
2243 _tmp76_ = self->writer;
2244 _tmp77_ = link;
2245 _tmp78_ = replacement_node;
2246 _tmp79_ = valadoc_api_node_get_full_name (_tmp78_);
2247 _tmp80_ = _tmp79_;
2248 _tmp81_ = css;
2249 valadoc_html_markup_writer_link (_tmp76_, _tmp77_, _tmp80_, _tmp81_);
2250 _g_free0 (_tmp80_);
2251 _g_free0 (css);
2252 } else {
2253 ValadocHtmlMarkupWriter* _tmp82_;
2254 ValadocMarkupWriter* _tmp83_;
2255 ValadocApiNode* _tmp84_;
2256 gchar* _tmp85_;
2257 gchar* _tmp86_;
2258 ValadocMarkupWriter* _tmp87_;
2259 _tmp82_ = self->writer;
2260 _tmp83_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp82_, "code", NULL, (gint) 0);
2261 _tmp84_ = replacement_node;
2262 _tmp85_ = valadoc_api_node_get_full_name (_tmp84_);
2263 _tmp86_ = _tmp85_;
2264 _tmp87_ = valadoc_markup_writer_text (_tmp83_, _tmp86_);
2265 valadoc_markup_writer_end_tag (_tmp87_, "code");
2266 _g_free0 (_tmp86_);
2267 }
2268 _g_free0 (link);
2269 }
2270 _tmp88_ = self->writer;
2271 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp88_, ".");
2272 _g_object_unref0 (replacement_node);
2273 }
2274 _tmp89_ = self->writer;
2275 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp89_, "p");
2276 _g_free0 (since);
2277 _g_free0 (replacement);
2278 _g_object_unref0 (deprecated);
2279 _g_object_unref0 (version);
2280 _g_object_unref0 (symbol);
2281 }
2282 _tmp90_ = doctree;
2283 if (_tmp90_ != NULL) {
2284 ValadocHtmlHtmlRenderer* _tmp91_;
2285 ValadocHtmlHtmlRenderer* _tmp92_;
2286 ValadocContentComment* _tmp93_;
2287 _tmp91_ = self->_renderer;
2288 valadoc_html_html_renderer_set_container (_tmp91_, (ValadocDocumentation*) pos);
2289 _tmp92_ = self->_renderer;
2290 _tmp93_ = doctree;
2291 valadoc_content_content_renderer_render ((ValadocContentContentRenderer*) _tmp92_, (ValadocContentContentElement*) _tmp93_);
2292 }
2293 _tmp94_ = self->_renderer;
2294 valadoc_html_html_renderer_set_owner (_tmp94_, NULL);
2295 _tmp95_ = self->writer;
2296 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp95_, "div");
2297 _g_object_unref0 (doctree);
2298 }
2299
2300 static void
valadoc_html_basic_doclet_write_attributes(ValadocHtmlBasicDoclet * self,ValadocApiSymbol * element,ValadocApiNode * pos)2301 valadoc_html_basic_doclet_write_attributes (ValadocHtmlBasicDoclet* self,
2302 ValadocApiSymbol* element,
2303 ValadocApiNode* pos)
2304 {
2305 ValadocHtmlMarkupWriter* _tmp0_;
2306 ValadocHtmlHtmlRenderer* _tmp1_;
2307 ValadocHtmlMarkupWriter* _tmp14_;
2308 g_return_if_fail (self != NULL);
2309 g_return_if_fail (element != NULL);
2310 _tmp0_ = self->writer;
2311 valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp0_, FALSE);
2312 _tmp1_ = self->_renderer;
2313 valadoc_html_html_renderer_set_container (_tmp1_, (ValadocDocumentation*) pos);
2314 {
2315 ValaIterator* _att_it = NULL;
2316 ValaCollection* _tmp2_;
2317 ValaCollection* _tmp3_;
2318 ValaIterator* _tmp4_;
2319 ValaIterator* _tmp5_;
2320 _tmp2_ = valadoc_api_symbol_get_attributes (element);
2321 _tmp3_ = _tmp2_;
2322 _tmp4_ = vala_iterable_iterator ((ValaIterable*) _tmp3_);
2323 _tmp5_ = _tmp4_;
2324 _vala_iterable_unref0 (_tmp3_);
2325 _att_it = _tmp5_;
2326 while (TRUE) {
2327 ValaIterator* _tmp6_;
2328 ValadocApiAttribute* att = NULL;
2329 ValaIterator* _tmp7_;
2330 gpointer _tmp8_;
2331 ValadocHtmlHtmlRenderer* _tmp9_;
2332 ValadocApiAttribute* _tmp10_;
2333 ValadocContentInline* _tmp11_;
2334 ValadocContentInline* _tmp12_;
2335 ValadocHtmlMarkupWriter* _tmp13_;
2336 _tmp6_ = _att_it;
2337 if (!vala_iterator_next (_tmp6_)) {
2338 break;
2339 }
2340 _tmp7_ = _att_it;
2341 _tmp8_ = vala_iterator_get (_tmp7_);
2342 att = (ValadocApiAttribute*) _tmp8_;
2343 _tmp9_ = self->_renderer;
2344 _tmp10_ = att;
2345 _tmp11_ = valadoc_api_item_get_signature ((ValadocApiItem*) _tmp10_);
2346 _tmp12_ = _tmp11_;
2347 valadoc_content_content_renderer_render ((ValadocContentContentRenderer*) _tmp9_, (ValadocContentContentElement*) _tmp12_);
2348 _tmp13_ = self->writer;
2349 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp13_, "br", NULL, (gint) 0);
2350 _g_object_unref0 (att);
2351 }
2352 _vala_iterator_unref0 (_att_it);
2353 }
2354 _tmp14_ = self->writer;
2355 valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp14_, TRUE);
2356 }
2357
2358 static void
valadoc_html_basic_doclet_write_signature(ValadocHtmlBasicDoclet * self,ValadocApiNode * element,ValadocApiNode * pos)2359 valadoc_html_basic_doclet_write_signature (ValadocHtmlBasicDoclet* self,
2360 ValadocApiNode* element,
2361 ValadocApiNode* pos)
2362 {
2363 ValadocHtmlMarkupWriter* _tmp0_;
2364 ValadocHtmlHtmlRenderer* _tmp1_;
2365 ValadocHtmlHtmlRenderer* _tmp2_;
2366 ValadocContentInline* _tmp3_;
2367 ValadocContentInline* _tmp4_;
2368 ValadocHtmlMarkupWriter* _tmp5_;
2369 g_return_if_fail (self != NULL);
2370 g_return_if_fail (element != NULL);
2371 _tmp0_ = self->writer;
2372 valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp0_, FALSE);
2373 _tmp1_ = self->_renderer;
2374 valadoc_html_html_renderer_set_container (_tmp1_, (ValadocDocumentation*) pos);
2375 _tmp2_ = self->_renderer;
2376 _tmp3_ = valadoc_api_item_get_signature ((ValadocApiItem*) element);
2377 _tmp4_ = _tmp3_;
2378 valadoc_content_content_renderer_render ((ValadocContentContentRenderer*) _tmp2_, (ValadocContentContentElement*) _tmp4_);
2379 _tmp5_ = self->writer;
2380 valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp5_, TRUE);
2381 }
2382
2383 gboolean
valadoc_html_basic_doclet_is_internal_node(ValadocHtmlBasicDoclet * self,ValadocApiNode * node)2384 valadoc_html_basic_doclet_is_internal_node (ValadocHtmlBasicDoclet* self,
2385 ValadocApiNode* node)
2386 {
2387 gboolean _tmp0_ = FALSE;
2388 gboolean _tmp1_ = FALSE;
2389 gboolean _tmp2_ = FALSE;
2390 gboolean _tmp3_ = FALSE;
2391 gboolean _tmp4_ = FALSE;
2392 gboolean _tmp5_ = FALSE;
2393 gboolean _tmp6_ = FALSE;
2394 gboolean _tmp7_ = FALSE;
2395 gboolean result = FALSE;
2396 g_return_val_if_fail (self != NULL, FALSE);
2397 g_return_val_if_fail (node != NULL, FALSE);
2398 if (VALADOC_API_IS_PACKAGE (node)) {
2399 _tmp7_ = TRUE;
2400 } else {
2401 _tmp7_ = VALADOC_API_IS_NAMESPACE (node);
2402 }
2403 if (_tmp7_) {
2404 _tmp6_ = TRUE;
2405 } else {
2406 _tmp6_ = VALADOC_API_IS_INTERFACE (node);
2407 }
2408 if (_tmp6_) {
2409 _tmp5_ = TRUE;
2410 } else {
2411 _tmp5_ = VALADOC_API_IS_CLASS (node);
2412 }
2413 if (_tmp5_) {
2414 _tmp4_ = TRUE;
2415 } else {
2416 _tmp4_ = VALADOC_API_IS_STRUCT (node);
2417 }
2418 if (_tmp4_) {
2419 _tmp3_ = TRUE;
2420 } else {
2421 _tmp3_ = VALADOC_API_IS_ENUM (node);
2422 }
2423 if (_tmp3_) {
2424 _tmp2_ = TRUE;
2425 } else {
2426 _tmp2_ = VALADOC_API_IS_ENUM_VALUE (node);
2427 }
2428 if (_tmp2_) {
2429 _tmp1_ = TRUE;
2430 } else {
2431 _tmp1_ = VALADOC_API_IS_ERROR_DOMAIN (node);
2432 }
2433 if (_tmp1_) {
2434 _tmp0_ = TRUE;
2435 } else {
2436 _tmp0_ = VALADOC_API_IS_ERROR_CODE (node);
2437 }
2438 result = _tmp0_;
2439 return result;
2440 }
2441
2442 void
valadoc_html_basic_doclet_write_navi_packages_inline(ValadocHtmlBasicDoclet * self,ValadocApiTree * tree)2443 valadoc_html_basic_doclet_write_navi_packages_inline (ValadocHtmlBasicDoclet* self,
2444 ValadocApiTree* tree)
2445 {
2446 ValadocHtmlMarkupWriter* _tmp0_;
2447 gchar* _tmp1_;
2448 gchar* _tmp2_;
2449 gchar** _tmp3_;
2450 gchar** _tmp4_;
2451 gint _tmp4__length1;
2452 ValadocHtmlMarkupWriter* _tmp43_;
2453 g_return_if_fail (self != NULL);
2454 g_return_if_fail (tree != NULL);
2455 _tmp0_ = self->writer;
2456 _tmp1_ = g_strdup ("class");
2457 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_navi);
2458 _tmp3_ = g_new0 (gchar*, 2 + 1);
2459 _tmp3_[0] = _tmp1_;
2460 _tmp3_[1] = _tmp2_;
2461 _tmp4_ = _tmp3_;
2462 _tmp4__length1 = 2;
2463 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "ul", _tmp4_, (gint) 2);
2464 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
2465 {
2466 ValaIterator* _pkg_it = NULL;
2467 ValaCollection* _tmp5_;
2468 ValaCollection* _tmp6_;
2469 ValaIterator* _tmp7_;
2470 ValaIterator* _tmp8_;
2471 _tmp5_ = valadoc_api_tree_get_package_list (tree);
2472 _tmp6_ = _tmp5_;
2473 _tmp7_ = vala_iterable_iterator ((ValaIterable*) _tmp6_);
2474 _tmp8_ = _tmp7_;
2475 _vala_iterable_unref0 (_tmp6_);
2476 _pkg_it = _tmp8_;
2477 while (TRUE) {
2478 ValaIterator* _tmp9_;
2479 ValadocApiPackage* pkg = NULL;
2480 ValaIterator* _tmp10_;
2481 gpointer _tmp11_;
2482 ValadocApiPackage* _tmp12_;
2483 ValadocSettings* _tmp13_;
2484 _tmp9_ = _pkg_it;
2485 if (!vala_iterator_next (_tmp9_)) {
2486 break;
2487 }
2488 _tmp10_ = _pkg_it;
2489 _tmp11_ = vala_iterator_get (_tmp10_);
2490 pkg = (ValadocApiPackage*) _tmp11_;
2491 _tmp12_ = pkg;
2492 _tmp13_ = self->priv->_settings;
2493 if (valadoc_api_node_is_browsable ((ValadocApiNode*) _tmp12_, _tmp13_)) {
2494 ValadocHtmlMarkupWriter* _tmp14_;
2495 gchar* _tmp15_;
2496 ValadocHtmlCssClassResolver* _tmp16_;
2497 ValadocApiPackage* _tmp17_;
2498 gchar* _tmp18_;
2499 gchar** _tmp19_;
2500 gchar** _tmp20_;
2501 gint _tmp20__length1;
2502 ValadocHtmlMarkupWriter* _tmp21_;
2503 ValadocHtmlLinkHelper* _tmp22_;
2504 ValadocApiPackage* _tmp23_;
2505 ValadocSettings* _tmp24_;
2506 gchar* _tmp25_;
2507 gchar* _tmp26_;
2508 ValadocApiPackage* _tmp27_;
2509 const gchar* _tmp28_;
2510 const gchar* _tmp29_;
2511 ValadocHtmlMarkupWriter* _tmp30_;
2512 _tmp14_ = self->writer;
2513 _tmp15_ = g_strdup ("class");
2514 _tmp16_ = self->cssresolver;
2515 _tmp17_ = pkg;
2516 _tmp18_ = valadoc_html_css_class_resolver_resolve (_tmp16_, (ValadocApiNode*) _tmp17_);
2517 _tmp19_ = g_new0 (gchar*, 2 + 1);
2518 _tmp19_[0] = _tmp15_;
2519 _tmp19_[1] = _tmp18_;
2520 _tmp20_ = _tmp19_;
2521 _tmp20__length1 = 2;
2522 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp14_, "li", _tmp20_, (gint) 2);
2523 _tmp20_ = (_vala_array_free (_tmp20_, _tmp20__length1, (GDestroyNotify) g_free), NULL);
2524 _tmp21_ = self->writer;
2525 _tmp22_ = self->priv->_linker;
2526 _tmp23_ = pkg;
2527 _tmp24_ = self->priv->_settings;
2528 _tmp25_ = valadoc_html_link_helper_get_package_link (_tmp22_, _tmp23_, _tmp24_);
2529 _tmp26_ = _tmp25_;
2530 _tmp27_ = pkg;
2531 _tmp28_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp27_);
2532 _tmp29_ = _tmp28_;
2533 valadoc_html_markup_writer_link (_tmp21_, _tmp26_, _tmp29_, NULL);
2534 _g_free0 (_tmp26_);
2535 _tmp30_ = self->writer;
2536 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp30_, "li");
2537 } else {
2538 ValadocHtmlMarkupWriter* _tmp31_;
2539 gchar* _tmp32_;
2540 ValadocHtmlCssClassResolver* _tmp33_;
2541 ValadocApiPackage* _tmp34_;
2542 gchar* _tmp35_;
2543 gchar** _tmp36_;
2544 gchar** _tmp37_;
2545 gint _tmp37__length1;
2546 ValadocHtmlMarkupWriter* _tmp38_;
2547 ValadocApiPackage* _tmp39_;
2548 const gchar* _tmp40_;
2549 const gchar* _tmp41_;
2550 ValadocHtmlMarkupWriter* _tmp42_;
2551 _tmp31_ = self->writer;
2552 _tmp32_ = g_strdup ("class");
2553 _tmp33_ = self->cssresolver;
2554 _tmp34_ = pkg;
2555 _tmp35_ = valadoc_html_css_class_resolver_resolve (_tmp33_, (ValadocApiNode*) _tmp34_);
2556 _tmp36_ = g_new0 (gchar*, 2 + 1);
2557 _tmp36_[0] = _tmp32_;
2558 _tmp36_[1] = _tmp35_;
2559 _tmp37_ = _tmp36_;
2560 _tmp37__length1 = 2;
2561 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp31_, "li", _tmp37_, (gint) 2);
2562 _tmp37_ = (_vala_array_free (_tmp37_, _tmp37__length1, (GDestroyNotify) g_free), NULL);
2563 _tmp38_ = self->writer;
2564 _tmp39_ = pkg;
2565 _tmp40_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp39_);
2566 _tmp41_ = _tmp40_;
2567 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp38_, _tmp41_);
2568 _tmp42_ = self->writer;
2569 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp42_, "li");
2570 }
2571 _g_object_unref0 (pkg);
2572 }
2573 _vala_iterator_unref0 (_pkg_it);
2574 }
2575 _tmp43_ = self->writer;
2576 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp43_, "ul");
2577 }
2578
2579 void
valadoc_html_basic_doclet_write_navi_packages(ValadocHtmlBasicDoclet * self,ValadocApiTree * tree)2580 valadoc_html_basic_doclet_write_navi_packages (ValadocHtmlBasicDoclet* self,
2581 ValadocApiTree* tree)
2582 {
2583 ValadocHtmlMarkupWriter* _tmp0_;
2584 gchar* _tmp1_;
2585 gchar* _tmp2_;
2586 gchar** _tmp3_;
2587 gchar** _tmp4_;
2588 gint _tmp4__length1;
2589 ValadocHtmlMarkupWriter* _tmp5_;
2590 g_return_if_fail (self != NULL);
2591 g_return_if_fail (tree != NULL);
2592 _tmp0_ = self->writer;
2593 _tmp1_ = g_strdup ("class");
2594 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_navigation);
2595 _tmp3_ = g_new0 (gchar*, 2 + 1);
2596 _tmp3_[0] = _tmp1_;
2597 _tmp3_[1] = _tmp2_;
2598 _tmp4_ = _tmp3_;
2599 _tmp4__length1 = 2;
2600 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "div", _tmp4_, (gint) 2);
2601 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
2602 valadoc_html_basic_doclet_write_navi_packages_inline (self, tree);
2603 _tmp5_ = self->writer;
2604 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp5_, "div");
2605 }
2606
2607 void
valadoc_html_basic_doclet_write_package_index_content(ValadocHtmlBasicDoclet * self,ValadocApiTree * tree)2608 valadoc_html_basic_doclet_write_package_index_content (ValadocHtmlBasicDoclet* self,
2609 ValadocApiTree* tree)
2610 {
2611 ValadocHtmlMarkupWriter* _tmp0_;
2612 gchar* _tmp1_;
2613 gchar* _tmp2_;
2614 gchar** _tmp3_;
2615 gchar** _tmp4_;
2616 gint _tmp4__length1;
2617 ValadocHtmlMarkupWriter* _tmp5_;
2618 gchar* _tmp6_;
2619 gchar* _tmp7_;
2620 gchar** _tmp8_;
2621 gchar** _tmp9_;
2622 gint _tmp9__length1;
2623 ValadocMarkupWriter* _tmp10_;
2624 ValadocMarkupWriter* _tmp11_;
2625 ValadocHtmlMarkupWriter* _tmp12_;
2626 gchar* _tmp13_;
2627 gchar* _tmp14_;
2628 gchar** _tmp15_;
2629 gchar** _tmp16_;
2630 gint _tmp16__length1;
2631 ValadocWikiPage* _tmp17_ = NULL;
2632 ValadocWikiPageTree* _tmp18_;
2633 ValadocWikiPageTree* _tmp19_;
2634 ValadocWikiPage* wikiindex = NULL;
2635 ValadocWikiPage* _tmp24_;
2636 ValadocWikiPage* _tmp25_;
2637 ValadocHtmlMarkupWriter* _tmp32_;
2638 gchar* _tmp33_;
2639 gchar* _tmp34_;
2640 gchar** _tmp35_;
2641 gchar** _tmp36_;
2642 gint _tmp36__length1;
2643 ValadocMarkupWriter* _tmp37_;
2644 ValadocMarkupWriter* _tmp38_;
2645 ValadocHtmlMarkupWriter* _tmp39_;
2646 gchar* _tmp40_;
2647 gchar* _tmp41_;
2648 gchar** _tmp42_;
2649 gchar** _tmp43_;
2650 gint _tmp43__length1;
2651 ValadocMarkupWriter* _tmp44_;
2652 ValadocMarkupWriter* _tmp45_;
2653 ValadocHtmlMarkupWriter* _tmp46_;
2654 g_return_if_fail (self != NULL);
2655 g_return_if_fail (tree != NULL);
2656 _tmp0_ = self->writer;
2657 _tmp1_ = g_strdup ("class");
2658 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_content);
2659 _tmp3_ = g_new0 (gchar*, 2 + 1);
2660 _tmp3_[0] = _tmp1_;
2661 _tmp3_[1] = _tmp2_;
2662 _tmp4_ = _tmp3_;
2663 _tmp4__length1 = 2;
2664 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "div", _tmp4_, (gint) 2);
2665 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
2666 _tmp5_ = self->writer;
2667 _tmp6_ = g_strdup ("class");
2668 _tmp7_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
2669 _tmp8_ = g_new0 (gchar*, 2 + 1);
2670 _tmp8_[0] = _tmp6_;
2671 _tmp8_[1] = _tmp7_;
2672 _tmp9_ = _tmp8_;
2673 _tmp9__length1 = 2;
2674 _tmp10_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp5_, "h1", _tmp9_, (gint) 2);
2675 _tmp11_ = valadoc_markup_writer_text (_tmp10_, "Packages:");
2676 valadoc_markup_writer_end_tag (_tmp11_, "h1");
2677 _tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
2678 _tmp12_ = self->writer;
2679 _tmp13_ = g_strdup ("class");
2680 _tmp14_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_headline_hr);
2681 _tmp15_ = g_new0 (gchar*, 2 + 1);
2682 _tmp15_[0] = _tmp13_;
2683 _tmp15_[1] = _tmp14_;
2684 _tmp16_ = _tmp15_;
2685 _tmp16__length1 = 2;
2686 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp12_, "hr", _tmp16_, (gint) 2);
2687 _tmp16_ = (_vala_array_free (_tmp16_, _tmp16__length1, (GDestroyNotify) g_free), NULL);
2688 _tmp18_ = valadoc_api_tree_get_wikitree (tree);
2689 _tmp19_ = _tmp18_;
2690 if (_tmp19_ == NULL) {
2691 _g_object_unref0 (_tmp17_);
2692 _tmp17_ = NULL;
2693 } else {
2694 ValadocWikiPageTree* _tmp20_;
2695 ValadocWikiPageTree* _tmp21_;
2696 const gchar* _tmp22_;
2697 ValadocWikiPage* _tmp23_;
2698 _tmp20_ = valadoc_api_tree_get_wikitree (tree);
2699 _tmp21_ = _tmp20_;
2700 _tmp22_ = self->priv->_wiki_index_name;
2701 _tmp23_ = valadoc_wiki_page_tree_search (_tmp21_, _tmp22_);
2702 _g_object_unref0 (_tmp17_);
2703 _tmp17_ = _tmp23_;
2704 }
2705 _tmp24_ = _g_object_ref0 (_tmp17_);
2706 wikiindex = _tmp24_;
2707 _tmp25_ = wikiindex;
2708 if (_tmp25_ != NULL) {
2709 ValadocHtmlHtmlRenderer* _tmp26_;
2710 ValadocWikiPage* _tmp27_;
2711 ValadocHtmlHtmlRenderer* _tmp28_;
2712 ValadocWikiPage* _tmp29_;
2713 ValadocContentPage* _tmp30_;
2714 ValadocContentPage* _tmp31_;
2715 _tmp26_ = self->_renderer;
2716 _tmp27_ = wikiindex;
2717 valadoc_html_html_renderer_set_container (_tmp26_, (ValadocDocumentation*) _tmp27_);
2718 _tmp28_ = self->_renderer;
2719 _tmp29_ = wikiindex;
2720 _tmp30_ = valadoc_wiki_page_get_documentation (_tmp29_);
2721 _tmp31_ = _tmp30_;
2722 valadoc_content_content_renderer_render ((ValadocContentContentRenderer*) _tmp28_, (ValadocContentContentElement*) _tmp31_);
2723 }
2724 _tmp32_ = self->writer;
2725 _tmp33_ = g_strdup ("class");
2726 _tmp34_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
2727 _tmp35_ = g_new0 (gchar*, 2 + 1);
2728 _tmp35_[0] = _tmp33_;
2729 _tmp35_[1] = _tmp34_;
2730 _tmp36_ = _tmp35_;
2731 _tmp36__length1 = 2;
2732 _tmp37_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp32_, "h2", _tmp36_, (gint) 2);
2733 _tmp38_ = valadoc_markup_writer_text (_tmp37_, "Content:");
2734 valadoc_markup_writer_end_tag (_tmp38_, "h2");
2735 _tmp36_ = (_vala_array_free (_tmp36_, _tmp36__length1, (GDestroyNotify) g_free), NULL);
2736 _tmp39_ = self->writer;
2737 _tmp40_ = g_strdup ("class");
2738 _tmp41_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
2739 _tmp42_ = g_new0 (gchar*, 2 + 1);
2740 _tmp42_[0] = _tmp40_;
2741 _tmp42_[1] = _tmp41_;
2742 _tmp43_ = _tmp42_;
2743 _tmp43__length1 = 2;
2744 _tmp44_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp39_, "h3", _tmp43_, (gint) 2);
2745 _tmp45_ = valadoc_markup_writer_text (_tmp44_, "Packages:");
2746 valadoc_markup_writer_end_tag (_tmp45_, "h3");
2747 _tmp43_ = (_vala_array_free (_tmp43_, _tmp43__length1, (GDestroyNotify) g_free), NULL);
2748 valadoc_html_basic_doclet_write_navi_packages_inline (self, tree);
2749 _tmp46_ = self->writer;
2750 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp46_, "div");
2751 _g_object_unref0 (wikiindex);
2752 _g_object_unref0 (_tmp17_);
2753 }
2754
2755 static inline ValaArrayList*
valadoc_html_basic_doclet_get_accessible_nodes_from_list(ValadocHtmlBasicDoclet * self,ValaCollection * nodes)2756 valadoc_html_basic_doclet_get_accessible_nodes_from_list (ValadocHtmlBasicDoclet* self,
2757 ValaCollection* nodes)
2758 {
2759 ValaArrayList* list = NULL;
2760 GEqualFunc _tmp0_;
2761 ValaArrayList* _tmp1_;
2762 ValaArrayList* result = NULL;
2763 g_return_val_if_fail (self != NULL, NULL);
2764 g_return_val_if_fail (nodes != NULL, NULL);
2765 _tmp0_ = g_direct_equal;
2766 _tmp1_ = vala_array_list_new (VALADOC_API_TYPE_NODE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _tmp0_);
2767 list = _tmp1_;
2768 {
2769 ValaIterator* _node_it = NULL;
2770 ValaIterator* _tmp2_;
2771 _tmp2_ = vala_iterable_iterator ((ValaIterable*) nodes);
2772 _node_it = _tmp2_;
2773 while (TRUE) {
2774 ValaIterator* _tmp3_;
2775 ValadocApiNode* node = NULL;
2776 ValaIterator* _tmp4_;
2777 gpointer _tmp5_;
2778 ValadocApiNode* _tmp6_;
2779 ValadocSettings* _tmp7_;
2780 _tmp3_ = _node_it;
2781 if (!vala_iterator_next (_tmp3_)) {
2782 break;
2783 }
2784 _tmp4_ = _node_it;
2785 _tmp5_ = vala_iterator_get (_tmp4_);
2786 node = (ValadocApiNode*) _tmp5_;
2787 _tmp6_ = node;
2788 _tmp7_ = self->priv->_settings;
2789 if (valadoc_api_node_is_browsable (_tmp6_, _tmp7_)) {
2790 ValaArrayList* _tmp8_;
2791 ValadocApiNode* _tmp9_;
2792 _tmp8_ = list;
2793 _tmp9_ = node;
2794 vala_collection_add ((ValaCollection*) _tmp8_, _tmp9_);
2795 }
2796 _g_object_unref0 (node);
2797 }
2798 _vala_iterator_unref0 (_node_it);
2799 }
2800 result = list;
2801 return result;
2802 }
2803
2804 static void
valadoc_html_basic_doclet_write_known_symbols_note(ValadocHtmlBasicDoclet * self,ValaCollection * nodes2,ValadocApiNode * container,const gchar * headline)2805 valadoc_html_basic_doclet_write_known_symbols_note (ValadocHtmlBasicDoclet* self,
2806 ValaCollection* nodes2,
2807 ValadocApiNode* container,
2808 const gchar* headline)
2809 {
2810 ValaArrayList* nodes = NULL;
2811 ValaArrayList* _tmp0_;
2812 ValaArrayList* _tmp1_;
2813 gint _tmp2_;
2814 gint _tmp3_;
2815 ValaArrayList* _tmp4_;
2816 gchar* html_id = NULL;
2817 gchar* _tmp5_;
2818 gchar* _tmp6_;
2819 gchar* _tmp7_;
2820 gchar* _tmp8_;
2821 guint _tmp9_;
2822 ValadocHtmlMarkupWriter* _tmp10_;
2823 gchar* _tmp11_;
2824 gchar* _tmp12_;
2825 gchar** _tmp13_;
2826 gchar** _tmp14_;
2827 gint _tmp14__length1;
2828 ValadocHtmlMarkupWriter* _tmp15_;
2829 gchar* _tmp16_;
2830 gchar* _tmp17_;
2831 gchar* _tmp18_;
2832 const gchar* _tmp19_;
2833 gchar* _tmp20_;
2834 gchar** _tmp21_;
2835 gchar** _tmp22_;
2836 gint _tmp22__length1;
2837 ValadocMarkupWriter* _tmp23_;
2838 ValadocMarkupWriter* _tmp24_;
2839 gint* list_sizes = NULL;
2840 gint* _tmp25_;
2841 gint list_sizes_length1;
2842 gint _list_sizes_size_;
2843 gint* _tmp26_;
2844 gint _tmp26__length1;
2845 ValaArrayList* _tmp27_;
2846 gint _tmp28_;
2847 gint _tmp29_;
2848 gint* _tmp30_;
2849 gint _tmp30__length1;
2850 gint* _tmp31_;
2851 gint _tmp31__length1;
2852 gint _tmp32_;
2853 gint* _tmp33_;
2854 gint _tmp33__length1;
2855 gint* _tmp34_;
2856 gint _tmp34__length1;
2857 gint _tmp35_;
2858 gint* _tmp36_;
2859 gint _tmp36__length1;
2860 gint* _tmp37_;
2861 gint _tmp37__length1;
2862 gint _tmp38_;
2863 gint* _tmp39_;
2864 gint _tmp39__length1;
2865 gint* _tmp40_;
2866 gint _tmp40__length1;
2867 gint _tmp41_;
2868 ValadocHtmlMarkupWriter* _tmp42_;
2869 gchar* _tmp43_;
2870 gchar* _tmp44_;
2871 gchar* _tmp45_;
2872 const gchar* _tmp46_;
2873 gchar* _tmp47_;
2874 gchar** _tmp48_;
2875 gchar** _tmp49_;
2876 gint _tmp49__length1;
2877 ValaIterator* iter = NULL;
2878 ValaArrayList* _tmp50_;
2879 ValaIterator* _tmp51_;
2880 ValadocHtmlMarkupWriter* _tmp95_;
2881 ValadocHtmlMarkupWriter* _tmp96_;
2882 g_return_if_fail (self != NULL);
2883 g_return_if_fail (nodes2 != NULL);
2884 g_return_if_fail (container != NULL);
2885 g_return_if_fail (headline != NULL);
2886 _tmp0_ = valadoc_html_basic_doclet_get_accessible_nodes_from_list (self, nodes2);
2887 nodes = _tmp0_;
2888 _tmp1_ = nodes;
2889 _tmp2_ = vala_collection_get_size ((ValaCollection*) _tmp1_);
2890 _tmp3_ = _tmp2_;
2891 if (_tmp3_ == 0) {
2892 _vala_iterable_unref0 (nodes);
2893 return;
2894 }
2895 _tmp4_ = nodes;
2896 vala_list_sort ((ValaList*) _tmp4_, (GCompareDataFunc) valadoc_api_node_compare_to, NULL, NULL);
2897 _tmp5_ = g_strdup_printf ("%u", self->priv->html_id_counter);
2898 _tmp6_ = _tmp5_;
2899 _tmp7_ = g_strconcat ("box-content-", _tmp6_, NULL);
2900 _tmp8_ = _tmp7_;
2901 _g_free0 (_tmp6_);
2902 html_id = _tmp8_;
2903 _tmp9_ = self->priv->html_id_counter;
2904 self->priv->html_id_counter = _tmp9_ + 1;
2905 _tmp10_ = self->writer;
2906 _tmp11_ = g_strdup ("class");
2907 _tmp12_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_box);
2908 _tmp13_ = g_new0 (gchar*, 2 + 1);
2909 _tmp13_[0] = _tmp11_;
2910 _tmp13_[1] = _tmp12_;
2911 _tmp14_ = _tmp13_;
2912 _tmp14__length1 = 2;
2913 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp10_, "div", _tmp14_, (gint) 2);
2914 _tmp14_ = (_vala_array_free (_tmp14_, _tmp14__length1, (GDestroyNotify) g_free), NULL);
2915 _tmp15_ = self->writer;
2916 _tmp16_ = g_strdup ("class");
2917 _tmp17_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_box_headline);
2918 _tmp18_ = g_strdup ("onclick");
2919 _tmp19_ = html_id;
2920 _tmp20_ = g_strdup_printf ("toggle_box (this, '%s')", _tmp19_);
2921 _tmp21_ = g_new0 (gchar*, 4 + 1);
2922 _tmp21_[0] = _tmp16_;
2923 _tmp21_[1] = _tmp17_;
2924 _tmp21_[2] = _tmp18_;
2925 _tmp21_[3] = _tmp20_;
2926 _tmp22_ = _tmp21_;
2927 _tmp22__length1 = 4;
2928 _tmp23_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp15_, "div", _tmp22_, (gint) 4);
2929 _tmp24_ = valadoc_markup_writer_text (_tmp23_, headline);
2930 valadoc_markup_writer_end_tag (_tmp24_, "div");
2931 _tmp22_ = (_vala_array_free (_tmp22_, _tmp22__length1, (GDestroyNotify) g_free), NULL);
2932 _tmp25_ = g_new0 (gint, 3);
2933 _tmp25_[0] = 0;
2934 _tmp25_[1] = 0;
2935 _tmp25_[2] = 0;
2936 list_sizes = _tmp25_;
2937 list_sizes_length1 = 3;
2938 _list_sizes_size_ = list_sizes_length1;
2939 _tmp26_ = list_sizes;
2940 _tmp26__length1 = list_sizes_length1;
2941 _tmp27_ = nodes;
2942 _tmp28_ = vala_collection_get_size ((ValaCollection*) _tmp27_);
2943 _tmp29_ = _tmp28_;
2944 _tmp26_[0] = _tmp29_;
2945 _tmp30_ = list_sizes;
2946 _tmp30__length1 = list_sizes_length1;
2947 _tmp31_ = list_sizes;
2948 _tmp31__length1 = list_sizes_length1;
2949 _tmp32_ = _tmp31_[0];
2950 _tmp30_[2] = _tmp32_ / 3;
2951 _tmp33_ = list_sizes;
2952 _tmp33__length1 = list_sizes_length1;
2953 _tmp34_ = list_sizes;
2954 _tmp34__length1 = list_sizes_length1;
2955 _tmp35_ = _tmp34_[2];
2956 _tmp33_[0] -= _tmp35_;
2957 _tmp36_ = list_sizes;
2958 _tmp36__length1 = list_sizes_length1;
2959 _tmp37_ = list_sizes;
2960 _tmp37__length1 = list_sizes_length1;
2961 _tmp38_ = _tmp37_[0];
2962 _tmp36_[1] = _tmp38_ / 2;
2963 _tmp39_ = list_sizes;
2964 _tmp39__length1 = list_sizes_length1;
2965 _tmp40_ = list_sizes;
2966 _tmp40__length1 = list_sizes_length1;
2967 _tmp41_ = _tmp40_[1];
2968 _tmp39_[0] -= _tmp41_;
2969 _tmp42_ = self->writer;
2970 _tmp43_ = g_strdup ("class");
2971 _tmp44_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_box_content);
2972 _tmp45_ = g_strdup ("id");
2973 _tmp46_ = html_id;
2974 _tmp47_ = g_strdup (_tmp46_);
2975 _tmp48_ = g_new0 (gchar*, 4 + 1);
2976 _tmp48_[0] = _tmp43_;
2977 _tmp48_[1] = _tmp44_;
2978 _tmp48_[2] = _tmp45_;
2979 _tmp48_[3] = _tmp47_;
2980 _tmp49_ = _tmp48_;
2981 _tmp49__length1 = 4;
2982 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp42_, "div", _tmp49_, (gint) 4);
2983 _tmp49_ = (_vala_array_free (_tmp49_, _tmp49__length1, (GDestroyNotify) g_free), NULL);
2984 _tmp50_ = nodes;
2985 _tmp51_ = vala_iterable_iterator ((ValaIterable*) _tmp50_);
2986 iter = _tmp51_;
2987 {
2988 gint i = 0;
2989 i = 0;
2990 {
2991 gboolean _tmp52_ = FALSE;
2992 _tmp52_ = TRUE;
2993 while (TRUE) {
2994 gint* _tmp54_;
2995 gint _tmp54__length1;
2996 ValadocHtmlMarkupWriter* _tmp55_;
2997 gchar* _tmp56_;
2998 gchar* _tmp57_;
2999 gchar** _tmp58_;
3000 gchar** _tmp59_;
3001 gint _tmp59__length1;
3002 ValadocHtmlMarkupWriter* _tmp60_;
3003 gchar* _tmp61_;
3004 gchar* _tmp62_;
3005 gchar** _tmp63_;
3006 gchar** _tmp64_;
3007 gint _tmp64__length1;
3008 ValadocHtmlMarkupWriter* _tmp93_;
3009 ValadocHtmlMarkupWriter* _tmp94_;
3010 if (!_tmp52_) {
3011 gint _tmp53_;
3012 _tmp53_ = i;
3013 i = _tmp53_ + 1;
3014 }
3015 _tmp52_ = FALSE;
3016 _tmp54_ = list_sizes;
3017 _tmp54__length1 = list_sizes_length1;
3018 if (!(i < _tmp54__length1)) {
3019 break;
3020 }
3021 _tmp55_ = self->writer;
3022 _tmp56_ = g_strdup ("class");
3023 _tmp57_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_box_column);
3024 _tmp58_ = g_new0 (gchar*, 2 + 1);
3025 _tmp58_[0] = _tmp56_;
3026 _tmp58_[1] = _tmp57_;
3027 _tmp59_ = _tmp58_;
3028 _tmp59__length1 = 2;
3029 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp55_, "div", _tmp59_, (gint) 2);
3030 _tmp59_ = (_vala_array_free (_tmp59_, _tmp59__length1, (GDestroyNotify) g_free), NULL);
3031 _tmp60_ = self->writer;
3032 _tmp61_ = g_strdup ("class");
3033 _tmp62_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_inline_navigation);
3034 _tmp63_ = g_new0 (gchar*, 2 + 1);
3035 _tmp63_[0] = _tmp61_;
3036 _tmp63_[1] = _tmp62_;
3037 _tmp64_ = _tmp63_;
3038 _tmp64__length1 = 2;
3039 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp60_, "ul", _tmp64_, (gint) 2);
3040 _tmp64_ = (_vala_array_free (_tmp64_, _tmp64__length1, (GDestroyNotify) g_free), NULL);
3041 {
3042 gint p = 0;
3043 p = 0;
3044 {
3045 gboolean _tmp65_ = FALSE;
3046 _tmp65_ = TRUE;
3047 while (TRUE) {
3048 gboolean _tmp67_ = FALSE;
3049 gint* _tmp68_;
3050 gint _tmp68__length1;
3051 gint _tmp69_;
3052 ValadocApiNode* node = NULL;
3053 ValaIterator* _tmp71_;
3054 gpointer _tmp72_;
3055 ValadocHtmlMarkupWriter* _tmp73_;
3056 gchar* _tmp74_;
3057 ValadocHtmlCssClassResolver* _tmp75_;
3058 ValadocApiNode* _tmp76_;
3059 gchar* _tmp77_;
3060 gchar** _tmp78_;
3061 gchar** _tmp79_;
3062 gint _tmp79__length1;
3063 gchar* link = NULL;
3064 ValadocApiNode* _tmp80_;
3065 gchar* _tmp81_;
3066 const gchar* _tmp82_;
3067 ValadocHtmlMarkupWriter* _tmp92_;
3068 if (!_tmp65_) {
3069 gint _tmp66_;
3070 _tmp66_ = p;
3071 p = _tmp66_ + 1;
3072 }
3073 _tmp65_ = FALSE;
3074 _tmp68_ = list_sizes;
3075 _tmp68__length1 = list_sizes_length1;
3076 _tmp69_ = _tmp68_[i];
3077 if (p < _tmp69_) {
3078 ValaIterator* _tmp70_;
3079 _tmp70_ = iter;
3080 _tmp67_ = vala_iterator_next (_tmp70_);
3081 } else {
3082 _tmp67_ = FALSE;
3083 }
3084 if (!_tmp67_) {
3085 break;
3086 }
3087 _tmp71_ = iter;
3088 _tmp72_ = vala_iterator_get (_tmp71_);
3089 node = (ValadocApiNode*) _tmp72_;
3090 _tmp73_ = self->writer;
3091 _tmp74_ = g_strdup ("class");
3092 _tmp75_ = self->cssresolver;
3093 _tmp76_ = node;
3094 _tmp77_ = valadoc_html_css_class_resolver_resolve (_tmp75_, _tmp76_);
3095 _tmp78_ = g_new0 (gchar*, 2 + 1);
3096 _tmp78_[0] = _tmp74_;
3097 _tmp78_[1] = _tmp77_;
3098 _tmp79_ = _tmp78_;
3099 _tmp79__length1 = 2;
3100 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp73_, "li", _tmp79_, (gint) 2);
3101 _tmp79_ = (_vala_array_free (_tmp79_, _tmp79__length1, (GDestroyNotify) g_free), NULL);
3102 _tmp80_ = node;
3103 _tmp81_ = valadoc_html_basic_doclet_get_link (self, _tmp80_, container);
3104 link = _tmp81_;
3105 _tmp82_ = link;
3106 if (_tmp82_ == NULL) {
3107 ValadocHtmlMarkupWriter* _tmp83_;
3108 ValadocApiNode* _tmp84_;
3109 const gchar* _tmp85_;
3110 const gchar* _tmp86_;
3111 _tmp83_ = self->writer;
3112 _tmp84_ = node;
3113 _tmp85_ = valadoc_api_node_get_name (_tmp84_);
3114 _tmp86_ = _tmp85_;
3115 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp83_, _tmp86_);
3116 } else {
3117 ValadocHtmlMarkupWriter* _tmp87_;
3118 const gchar* _tmp88_;
3119 ValadocApiNode* _tmp89_;
3120 const gchar* _tmp90_;
3121 const gchar* _tmp91_;
3122 _tmp87_ = self->writer;
3123 _tmp88_ = link;
3124 _tmp89_ = node;
3125 _tmp90_ = valadoc_api_node_get_name (_tmp89_);
3126 _tmp91_ = _tmp90_;
3127 valadoc_html_markup_writer_link (_tmp87_, _tmp88_, _tmp91_, NULL);
3128 }
3129 _tmp92_ = self->writer;
3130 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp92_, "li");
3131 _g_free0 (link);
3132 _g_object_unref0 (node);
3133 }
3134 }
3135 }
3136 _tmp93_ = self->writer;
3137 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp93_, "ul");
3138 _tmp94_ = self->writer;
3139 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp94_, "div");
3140 }
3141 }
3142 }
3143 _tmp95_ = self->writer;
3144 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp95_, "div");
3145 _tmp96_ = self->writer;
3146 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp96_, "div");
3147 _vala_iterator_unref0 (iter);
3148 list_sizes = (g_free (list_sizes), NULL);
3149 _g_free0 (html_id);
3150 _vala_iterable_unref0 (nodes);
3151 }
3152
3153 void
valadoc_html_basic_doclet_write_symbol_content(ValadocHtmlBasicDoclet * self,ValadocApiNode * node)3154 valadoc_html_basic_doclet_write_symbol_content (ValadocHtmlBasicDoclet* self,
3155 ValadocApiNode* node)
3156 {
3157 ValadocHtmlMarkupWriter* _tmp0_;
3158 gchar* _tmp1_;
3159 gchar* _tmp2_;
3160 gchar** _tmp3_;
3161 gchar** _tmp4_;
3162 gint _tmp4__length1;
3163 ValadocHtmlMarkupWriter* _tmp5_;
3164 gchar* _tmp6_;
3165 gchar* _tmp7_;
3166 gchar** _tmp8_;
3167 gchar** _tmp9_;
3168 gint _tmp9__length1;
3169 ValadocMarkupWriter* _tmp10_;
3170 const gchar* _tmp11_;
3171 const gchar* _tmp12_;
3172 ValadocMarkupWriter* _tmp13_;
3173 ValadocHtmlMarkupWriter* _tmp14_;
3174 gchar* _tmp15_;
3175 gchar* _tmp16_;
3176 gchar** _tmp17_;
3177 gchar** _tmp18_;
3178 gint _tmp18__length1;
3179 ValadocHtmlMarkupWriter* _tmp19_;
3180 gchar* _tmp20_;
3181 gchar* _tmp21_;
3182 gchar** _tmp22_;
3183 gchar** _tmp23_;
3184 gint _tmp23__length1;
3185 ValadocMarkupWriter* _tmp24_;
3186 ValadocMarkupWriter* _tmp25_;
3187 ValadocHtmlMarkupWriter* _tmp26_;
3188 gchar* _tmp27_;
3189 gchar* _tmp28_;
3190 gchar** _tmp29_;
3191 gchar** _tmp30_;
3192 gint _tmp30__length1;
3193 ValadocHtmlMarkupWriter* _tmp31_;
3194 ValadocApiItem* _tmp55_;
3195 ValadocApiItem* _tmp56_;
3196 gboolean _tmp58_ = FALSE;
3197 gboolean _tmp59_ = FALSE;
3198 ValadocHtmlMarkupWriter* _tmp70_;
3199 g_return_if_fail (self != NULL);
3200 g_return_if_fail (node != NULL);
3201 _tmp0_ = self->writer;
3202 _tmp1_ = g_strdup ("class");
3203 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_content);
3204 _tmp3_ = g_new0 (gchar*, 2 + 1);
3205 _tmp3_[0] = _tmp1_;
3206 _tmp3_[1] = _tmp2_;
3207 _tmp4_ = _tmp3_;
3208 _tmp4__length1 = 2;
3209 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "div", _tmp4_, (gint) 2);
3210 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
3211 _tmp5_ = self->writer;
3212 _tmp6_ = g_strdup ("class");
3213 _tmp7_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
3214 _tmp8_ = g_new0 (gchar*, 2 + 1);
3215 _tmp8_[0] = _tmp6_;
3216 _tmp8_[1] = _tmp7_;
3217 _tmp9_ = _tmp8_;
3218 _tmp9__length1 = 2;
3219 _tmp10_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp5_, "h1", _tmp9_, (gint) 2);
3220 _tmp11_ = valadoc_api_node_get_name (node);
3221 _tmp12_ = _tmp11_;
3222 _tmp13_ = valadoc_markup_writer_text (_tmp10_, _tmp12_);
3223 valadoc_markup_writer_end_tag (_tmp13_, "h1");
3224 _tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
3225 _tmp14_ = self->writer;
3226 _tmp15_ = g_strdup ("class");
3227 _tmp16_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_headline_hr);
3228 _tmp17_ = g_new0 (gchar*, 2 + 1);
3229 _tmp17_[0] = _tmp15_;
3230 _tmp17_[1] = _tmp16_;
3231 _tmp18_ = _tmp17_;
3232 _tmp18__length1 = 2;
3233 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp14_, "hr", _tmp18_, (gint) 2);
3234 _tmp18_ = (_vala_array_free (_tmp18_, _tmp18__length1, (GDestroyNotify) g_free), NULL);
3235 valadoc_html_basic_doclet_write_image_block (self, node);
3236 _tmp19_ = self->writer;
3237 _tmp20_ = g_strdup ("class");
3238 _tmp21_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
3239 _tmp22_ = g_new0 (gchar*, 2 + 1);
3240 _tmp22_[0] = _tmp20_;
3241 _tmp22_[1] = _tmp21_;
3242 _tmp23_ = _tmp22_;
3243 _tmp23__length1 = 2;
3244 _tmp24_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp19_, "h2", _tmp23_, (gint) 2);
3245 _tmp25_ = valadoc_markup_writer_text (_tmp24_, "Description:");
3246 valadoc_markup_writer_end_tag (_tmp25_, "h2");
3247 _tmp23_ = (_vala_array_free (_tmp23_, _tmp23__length1, (GDestroyNotify) g_free), NULL);
3248 _tmp26_ = self->writer;
3249 _tmp27_ = g_strdup ("class");
3250 _tmp28_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_code_definition);
3251 _tmp29_ = g_new0 (gchar*, 2 + 1);
3252 _tmp29_[0] = _tmp27_;
3253 _tmp29_[1] = _tmp28_;
3254 _tmp30_ = _tmp29_;
3255 _tmp30__length1 = 2;
3256 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp26_, "div", _tmp30_, (gint) 2);
3257 _tmp30_ = (_vala_array_free (_tmp30_, _tmp30__length1, (GDestroyNotify) g_free), NULL);
3258 if (VALADOC_API_IS_SYMBOL (node)) {
3259 valadoc_html_basic_doclet_write_attributes (self, G_TYPE_CHECK_INSTANCE_CAST (node, VALADOC_API_TYPE_SYMBOL, ValadocApiSymbol), node);
3260 }
3261 valadoc_html_basic_doclet_write_signature (self, node, node);
3262 _tmp31_ = self->writer;
3263 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp31_, "div");
3264 valadoc_html_basic_doclet_write_documentation (self, node, node);
3265 if (VALADOC_API_IS_CLASS (node)) {
3266 ValadocApiClass* cl = NULL;
3267 ValadocApiClass* _tmp32_;
3268 ValadocApiClass* _tmp33_;
3269 ValaCollection* _tmp34_;
3270 ValaCollection* _tmp35_;
3271 ValadocApiClass* _tmp36_;
3272 ValadocApiClass* _tmp37_;
3273 ValaCollection* _tmp38_;
3274 ValaCollection* _tmp39_;
3275 ValadocApiClass* _tmp40_;
3276 _tmp32_ = _g_object_ref0 (VALADOC_API_IS_CLASS (node) ? ((ValadocApiClass*) node) : NULL);
3277 cl = _tmp32_;
3278 _tmp33_ = cl;
3279 _tmp34_ = valadoc_api_class_get_known_child_classes (_tmp33_);
3280 _tmp35_ = _tmp34_;
3281 _tmp36_ = cl;
3282 valadoc_html_basic_doclet_write_known_symbols_note (self, _tmp35_, (ValadocApiNode*) _tmp36_, "All known sub-classes:");
3283 _vala_iterable_unref0 (_tmp35_);
3284 _tmp37_ = cl;
3285 _tmp38_ = valadoc_api_class_get_known_derived_interfaces (_tmp37_);
3286 _tmp39_ = _tmp38_;
3287 _tmp40_ = cl;
3288 valadoc_html_basic_doclet_write_known_symbols_note (self, _tmp39_, (ValadocApiNode*) _tmp40_, "Required by:");
3289 _vala_iterable_unref0 (_tmp39_);
3290 _g_object_unref0 (cl);
3291 } else {
3292 if (VALADOC_API_IS_INTERFACE (node)) {
3293 ValadocApiInterface* iface = NULL;
3294 ValadocApiInterface* _tmp41_;
3295 ValadocApiInterface* _tmp42_;
3296 ValaCollection* _tmp43_;
3297 ValaCollection* _tmp44_;
3298 ValadocApiInterface* _tmp45_;
3299 ValadocApiInterface* _tmp46_;
3300 ValaCollection* _tmp47_;
3301 ValaCollection* _tmp48_;
3302 ValadocApiInterface* _tmp49_;
3303 _tmp41_ = _g_object_ref0 (VALADOC_API_IS_INTERFACE (node) ? ((ValadocApiInterface*) node) : NULL);
3304 iface = _tmp41_;
3305 _tmp42_ = iface;
3306 _tmp43_ = valadoc_api_interface_get_known_implementations (_tmp42_);
3307 _tmp44_ = _tmp43_;
3308 _tmp45_ = iface;
3309 valadoc_html_basic_doclet_write_known_symbols_note (self, _tmp44_, (ValadocApiNode*) _tmp45_, "All known implementing classes:");
3310 _vala_iterable_unref0 (_tmp44_);
3311 _tmp46_ = iface;
3312 _tmp47_ = valadoc_api_interface_get_known_related_interfaces (_tmp46_);
3313 _tmp48_ = _tmp47_;
3314 _tmp49_ = iface;
3315 valadoc_html_basic_doclet_write_known_symbols_note (self, _tmp48_, (ValadocApiNode*) _tmp49_, "All known sub-interfaces:");
3316 _vala_iterable_unref0 (_tmp48_);
3317 _g_object_unref0 (iface);
3318 } else {
3319 if (VALADOC_API_IS_STRUCT (node)) {
3320 ValadocApiStruct* stru = NULL;
3321 ValadocApiStruct* _tmp50_;
3322 ValadocApiStruct* _tmp51_;
3323 ValaCollection* _tmp52_;
3324 ValaCollection* _tmp53_;
3325 ValadocApiStruct* _tmp54_;
3326 _tmp50_ = _g_object_ref0 (VALADOC_API_IS_STRUCT (node) ? ((ValadocApiStruct*) node) : NULL);
3327 stru = _tmp50_;
3328 _tmp51_ = stru;
3329 _tmp52_ = valadoc_api_struct_get_known_child_structs (_tmp51_);
3330 _tmp53_ = _tmp52_;
3331 _tmp54_ = stru;
3332 valadoc_html_basic_doclet_write_known_symbols_note (self, _tmp53_, (ValadocApiNode*) _tmp54_, "All known sub-structs:");
3333 _vala_iterable_unref0 (_tmp53_);
3334 _g_object_unref0 (stru);
3335 }
3336 }
3337 }
3338 _tmp55_ = valadoc_api_item_get_parent ((ValadocApiItem*) node);
3339 _tmp56_ = _tmp55_;
3340 if (VALADOC_API_IS_NAMESPACE (_tmp56_)) {
3341 ValadocHtmlMarkupWriter* _tmp57_;
3342 _tmp57_ = self->writer;
3343 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp57_, "br", NULL, (gint) 0);
3344 valadoc_html_basic_doclet_write_namespace_note (self, node);
3345 valadoc_html_basic_doclet_write_package_note (self, node);
3346 }
3347 if (VALADOC_API_IS_METHOD (node)) {
3348 _tmp59_ = TRUE;
3349 } else {
3350 _tmp59_ = VALADOC_API_IS_DELEGATE (node);
3351 }
3352 if (_tmp59_) {
3353 _tmp58_ = TRUE;
3354 } else {
3355 _tmp58_ = VALADOC_API_IS_SIGNAL (node);
3356 }
3357 if (!_tmp58_) {
3358 ValadocApiNodeType* _tmp60_;
3359 ValadocApiNodeType* _tmp61_;
3360 gint _tmp61__length1;
3361 gboolean _tmp62_;
3362 _tmp60_ = g_new0 (ValadocApiNodeType, 13);
3363 _tmp60_[0] = VALADOC_API_NODE_TYPE_ERROR_CODE;
3364 _tmp60_[1] = VALADOC_API_NODE_TYPE_ENUM_VALUE;
3365 _tmp60_[2] = VALADOC_API_NODE_TYPE_CREATION_METHOD;
3366 _tmp60_[3] = VALADOC_API_NODE_TYPE_STATIC_METHOD;
3367 _tmp60_[4] = VALADOC_API_NODE_TYPE_CLASS;
3368 _tmp60_[5] = VALADOC_API_NODE_TYPE_STRUCT;
3369 _tmp60_[6] = VALADOC_API_NODE_TYPE_ENUM;
3370 _tmp60_[7] = VALADOC_API_NODE_TYPE_DELEGATE;
3371 _tmp60_[8] = VALADOC_API_NODE_TYPE_METHOD;
3372 _tmp60_[9] = VALADOC_API_NODE_TYPE_SIGNAL;
3373 _tmp60_[10] = VALADOC_API_NODE_TYPE_PROPERTY;
3374 _tmp60_[11] = VALADOC_API_NODE_TYPE_FIELD;
3375 _tmp60_[12] = VALADOC_API_NODE_TYPE_CONSTANT;
3376 _tmp61_ = _tmp60_;
3377 _tmp61__length1 = 13;
3378 _tmp62_ = valadoc_api_node_has_children (node, _tmp61_, (gint) 13);
3379 _tmp61_ = (g_free (_tmp61_), NULL);
3380 if (_tmp62_) {
3381 ValadocHtmlMarkupWriter* _tmp63_;
3382 gchar* _tmp64_;
3383 gchar* _tmp65_;
3384 gchar** _tmp66_;
3385 gchar** _tmp67_;
3386 gint _tmp67__length1;
3387 ValadocMarkupWriter* _tmp68_;
3388 ValadocMarkupWriter* _tmp69_;
3389 _tmp63_ = self->writer;
3390 _tmp64_ = g_strdup ("class");
3391 _tmp65_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
3392 _tmp66_ = g_new0 (gchar*, 2 + 1);
3393 _tmp66_[0] = _tmp64_;
3394 _tmp66_[1] = _tmp65_;
3395 _tmp67_ = _tmp66_;
3396 _tmp67__length1 = 2;
3397 _tmp68_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp63_, "h2", _tmp67_, (gint) 2);
3398 _tmp69_ = valadoc_markup_writer_text (_tmp68_, "Content:");
3399 valadoc_markup_writer_end_tag (_tmp69_, "h2");
3400 _tmp67_ = (_vala_array_free (_tmp67_, _tmp67__length1, (GDestroyNotify) g_free), NULL);
3401 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_ERROR_CODE, "Error codes", node);
3402 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_ENUM_VALUE, "Enum values", node);
3403 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_CLASS, "Classes", node);
3404 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_STRUCT, "Structs", node);
3405 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_ENUM, "Enums", node);
3406 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_CONSTANT, "Constants", node);
3407 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_PROPERTY, "Properties", node);
3408 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_DELEGATE, "Delegates", node);
3409 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_STATIC_METHOD, "Static methods", node);
3410 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_CREATION_METHOD, "Creation methods", node);
3411 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_METHOD, "Methods", node);
3412 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_SIGNAL, "Signals", node);
3413 valadoc_html_basic_doclet_write_children (self, node, VALADOC_API_NODE_TYPE_FIELD, "Fields", node);
3414 }
3415 }
3416 if (VALADOC_API_IS_CLASS (node)) {
3417 valadoc_html_basic_doclet_write_inherited_symbols_note_for_class (self, G_TYPE_CHECK_INSTANCE_CAST (node, VALADOC_API_TYPE_CLASS, ValadocApiClass), node);
3418 } else {
3419 if (VALADOC_API_IS_INTERFACE (node)) {
3420 valadoc_html_basic_doclet_write_inherited_symbols_note_for_interface (self, G_TYPE_CHECK_INSTANCE_CAST (node, VALADOC_API_TYPE_INTERFACE, ValadocApiInterface), node);
3421 } else {
3422 if (VALADOC_API_IS_STRUCT (node)) {
3423 valadoc_html_basic_doclet_write_inherited_symbols_note_for_struct (self, G_TYPE_CHECK_INSTANCE_CAST (node, VALADOC_API_TYPE_STRUCT, ValadocApiStruct), node);
3424 }
3425 }
3426 }
3427 _tmp70_ = self->writer;
3428 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp70_, "div");
3429 }
3430
3431 static inline gboolean
valadoc_html_basic_doclet_has_visible_inheritable_children(ValadocHtmlBasicDoclet * self,ValadocApiTypeSymbol * symbol)3432 valadoc_html_basic_doclet_has_visible_inheritable_children (ValadocHtmlBasicDoclet* self,
3433 ValadocApiTypeSymbol* symbol)
3434 {
3435 ValadocApiNodeType* _tmp0_;
3436 gint _tmp0__length1;
3437 ValadocSettings* _tmp1_;
3438 gboolean result = FALSE;
3439 g_return_val_if_fail (self != NULL, FALSE);
3440 g_return_val_if_fail (symbol != NULL, FALSE);
3441 _tmp0_ = valadoc_html_basic_doclet_inheritable_members;
3442 _tmp0__length1 = valadoc_html_basic_doclet_inheritable_members_length1;
3443 _tmp1_ = self->priv->_settings;
3444 result = valadoc_api_node_has_visible_children_by_types ((ValadocApiNode*) symbol, _tmp0_, (gint) _tmp0__length1, _tmp1_);
3445 return result;
3446 }
3447
3448 static void
valadoc_html_basic_doclet_write_inherited_members_headline(ValadocHtmlBasicDoclet * self)3449 valadoc_html_basic_doclet_write_inherited_members_headline (ValadocHtmlBasicDoclet* self)
3450 {
3451 ValadocHtmlMarkupWriter* _tmp0_;
3452 gchar* _tmp1_;
3453 gchar* _tmp2_;
3454 gchar** _tmp3_;
3455 gchar** _tmp4_;
3456 gint _tmp4__length1;
3457 ValadocMarkupWriter* _tmp5_;
3458 ValadocMarkupWriter* _tmp6_;
3459 g_return_if_fail (self != NULL);
3460 _tmp0_ = self->writer;
3461 _tmp1_ = g_strdup ("class");
3462 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
3463 _tmp3_ = g_new0 (gchar*, 2 + 1);
3464 _tmp3_[0] = _tmp1_;
3465 _tmp3_[1] = _tmp2_;
3466 _tmp4_ = _tmp3_;
3467 _tmp4__length1 = 2;
3468 _tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "h3", _tmp4_, (gint) 2);
3469 _tmp6_ = valadoc_markup_writer_text (_tmp5_, "Inherited Members:");
3470 valadoc_markup_writer_end_tag (_tmp6_, "h3");
3471 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
3472 }
3473
3474 static void
valadoc_html_basic_doclet_write_inherited_symbols_note_for_class(ValadocHtmlBasicDoclet * self,ValadocApiClass * cl,ValadocApiNode * container)3475 valadoc_html_basic_doclet_write_inherited_symbols_note_for_class (ValadocHtmlBasicDoclet* self,
3476 ValadocApiClass* cl,
3477 ValadocApiNode* container)
3478 {
3479 gboolean headline_printed = FALSE;
3480 ValadocApiClass* base_class = NULL;
3481 ValadocApiTypeReference* _tmp0_;
3482 ValadocApiTypeReference* _tmp1_;
3483 ValadocApiTypeSymbol* _tmp2_;
3484 ValadocApiClass* _tmp3_;
3485 ValaCollection* printed_interfaces = NULL;
3486 GEqualFunc _tmp13_;
3487 ValaArrayList* _tmp14_;
3488 g_return_if_fail (self != NULL);
3489 g_return_if_fail (cl != NULL);
3490 g_return_if_fail (container != NULL);
3491 headline_printed = FALSE;
3492 _tmp0_ = valadoc_api_class_get_base_type (cl);
3493 _tmp1_ = _tmp0_;
3494 _tmp2_ = valadoc_html_basic_doclet_unpack_type_reference (self, _tmp1_);
3495 _tmp3_ = VALADOC_API_IS_CLASS (_tmp2_) ? ((ValadocApiClass*) _tmp2_) : NULL;
3496 if (_tmp3_ == NULL) {
3497 _g_object_unref0 (_tmp2_);
3498 }
3499 base_class = _tmp3_;
3500 while (TRUE) {
3501 ValadocApiClass* _tmp4_;
3502 gboolean _tmp5_ = FALSE;
3503 ValadocApiClass* _tmp7_;
3504 ValadocApiClass* _tmp8_;
3505 ValadocApiTypeReference* _tmp9_;
3506 ValadocApiTypeReference* _tmp10_;
3507 ValadocApiTypeSymbol* _tmp11_;
3508 ValadocApiClass* _tmp12_;
3509 _tmp4_ = base_class;
3510 if (!(_tmp4_ != NULL)) {
3511 break;
3512 }
3513 if (!headline_printed) {
3514 ValadocApiClass* _tmp6_;
3515 _tmp6_ = base_class;
3516 _tmp5_ = valadoc_html_basic_doclet_has_visible_inheritable_children (self, (ValadocApiTypeSymbol*) _tmp6_);
3517 } else {
3518 _tmp5_ = FALSE;
3519 }
3520 if (_tmp5_) {
3521 valadoc_html_basic_doclet_write_inherited_members_headline (self);
3522 headline_printed = TRUE;
3523 }
3524 _tmp7_ = base_class;
3525 valadoc_html_basic_doclet_write_inherited_symbols_note (self, (ValadocApiTypeSymbol*) _tmp7_, "class", container);
3526 _tmp8_ = base_class;
3527 _tmp9_ = valadoc_api_class_get_base_type (_tmp8_);
3528 _tmp10_ = _tmp9_;
3529 _tmp11_ = valadoc_html_basic_doclet_unpack_type_reference (self, _tmp10_);
3530 _tmp12_ = VALADOC_API_IS_CLASS (_tmp11_) ? ((ValadocApiClass*) _tmp11_) : NULL;
3531 if (_tmp12_ == NULL) {
3532 _g_object_unref0 (_tmp11_);
3533 }
3534 _g_object_unref0 (base_class);
3535 base_class = _tmp12_;
3536 }
3537 _tmp13_ = g_direct_equal;
3538 _tmp14_ = vala_array_list_new (VALADOC_API_TYPE_INTERFACE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _tmp13_);
3539 printed_interfaces = (ValaCollection*) _tmp14_;
3540 {
3541 ValaIterator* _iface_ref_it = NULL;
3542 ValaCollection* _tmp15_;
3543 ValaCollection* _tmp16_;
3544 ValaIterator* _tmp17_;
3545 ValaIterator* _tmp18_;
3546 _tmp15_ = valadoc_api_class_get_full_implemented_interface_list (cl);
3547 _tmp16_ = _tmp15_;
3548 _tmp17_ = vala_iterable_iterator ((ValaIterable*) _tmp16_);
3549 _tmp18_ = _tmp17_;
3550 _vala_iterable_unref0 (_tmp16_);
3551 _iface_ref_it = _tmp18_;
3552 while (TRUE) {
3553 ValaIterator* _tmp19_;
3554 ValadocApiTypeReference* iface_ref = NULL;
3555 ValaIterator* _tmp20_;
3556 gpointer _tmp21_;
3557 ValadocApiInterface* iface = NULL;
3558 ValadocApiTypeReference* _tmp22_;
3559 ValadocApiTypeSymbol* _tmp23_;
3560 gboolean _tmp24_ = FALSE;
3561 ValadocApiInterface* _tmp28_;
3562 ValaCollection* _tmp29_;
3563 ValadocApiInterface* _tmp30_;
3564 _tmp19_ = _iface_ref_it;
3565 if (!vala_iterator_next (_tmp19_)) {
3566 break;
3567 }
3568 _tmp20_ = _iface_ref_it;
3569 _tmp21_ = vala_iterator_get (_tmp20_);
3570 iface_ref = (ValadocApiTypeReference*) _tmp21_;
3571 _tmp22_ = iface_ref;
3572 _tmp23_ = valadoc_html_basic_doclet_unpack_type_reference (self, _tmp22_);
3573 iface = G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, VALADOC_API_TYPE_INTERFACE, ValadocApiInterface);
3574 if (!headline_printed) {
3575 ValadocApiInterface* _tmp25_;
3576 _tmp25_ = iface;
3577 _tmp24_ = valadoc_html_basic_doclet_has_visible_inheritable_children (self, (ValadocApiTypeSymbol*) _tmp25_);
3578 } else {
3579 _tmp24_ = FALSE;
3580 }
3581 if (_tmp24_) {
3582 valadoc_html_basic_doclet_write_inherited_members_headline (self);
3583 headline_printed = TRUE;
3584 } else {
3585 ValaCollection* _tmp26_;
3586 ValadocApiInterface* _tmp27_;
3587 _tmp26_ = printed_interfaces;
3588 _tmp27_ = iface;
3589 if (vala_collection_contains (_tmp26_, _tmp27_)) {
3590 _g_object_unref0 (iface);
3591 _g_object_unref0 (iface_ref);
3592 continue;
3593 }
3594 }
3595 _tmp28_ = iface;
3596 valadoc_html_basic_doclet_write_inherited_symbols_note (self, (ValadocApiTypeSymbol*) _tmp28_, "interface", container);
3597 _tmp29_ = printed_interfaces;
3598 _tmp30_ = iface;
3599 vala_collection_add (_tmp29_, _tmp30_);
3600 _g_object_unref0 (iface);
3601 _g_object_unref0 (iface_ref);
3602 }
3603 _vala_iterator_unref0 (_iface_ref_it);
3604 }
3605 _vala_iterable_unref0 (printed_interfaces);
3606 _g_object_unref0 (base_class);
3607 }
3608
3609 static void
valadoc_html_basic_doclet_write_inherited_symbols_note_for_interface(ValadocHtmlBasicDoclet * self,ValadocApiInterface * iface,ValadocApiNode * container)3610 valadoc_html_basic_doclet_write_inherited_symbols_note_for_interface (ValadocHtmlBasicDoclet* self,
3611 ValadocApiInterface* iface,
3612 ValadocApiNode* container)
3613 {
3614 gboolean headline_printed = FALSE;
3615 ValadocApiClass* base_class = NULL;
3616 ValadocApiTypeReference* _tmp0_;
3617 ValadocApiTypeReference* _tmp1_;
3618 ValadocApiTypeSymbol* _tmp2_;
3619 ValadocApiClass* _tmp3_;
3620 ValaCollection* printed_interfaces = NULL;
3621 GEqualFunc _tmp13_;
3622 ValaArrayList* _tmp14_;
3623 g_return_if_fail (self != NULL);
3624 g_return_if_fail (iface != NULL);
3625 g_return_if_fail (container != NULL);
3626 headline_printed = FALSE;
3627 _tmp0_ = valadoc_api_interface_get_base_type (iface);
3628 _tmp1_ = _tmp0_;
3629 _tmp2_ = valadoc_html_basic_doclet_unpack_type_reference (self, _tmp1_);
3630 _tmp3_ = VALADOC_API_IS_CLASS (_tmp2_) ? ((ValadocApiClass*) _tmp2_) : NULL;
3631 if (_tmp3_ == NULL) {
3632 _g_object_unref0 (_tmp2_);
3633 }
3634 base_class = _tmp3_;
3635 while (TRUE) {
3636 ValadocApiClass* _tmp4_;
3637 gboolean _tmp5_ = FALSE;
3638 ValadocApiClass* _tmp7_;
3639 ValadocApiClass* _tmp8_;
3640 ValadocApiTypeReference* _tmp9_;
3641 ValadocApiTypeReference* _tmp10_;
3642 ValadocApiTypeSymbol* _tmp11_;
3643 ValadocApiClass* _tmp12_;
3644 _tmp4_ = base_class;
3645 if (!(_tmp4_ != NULL)) {
3646 break;
3647 }
3648 if (!headline_printed) {
3649 ValadocApiClass* _tmp6_;
3650 _tmp6_ = base_class;
3651 _tmp5_ = valadoc_html_basic_doclet_has_visible_inheritable_children (self, (ValadocApiTypeSymbol*) _tmp6_);
3652 } else {
3653 _tmp5_ = FALSE;
3654 }
3655 if (_tmp5_) {
3656 valadoc_html_basic_doclet_write_inherited_members_headline (self);
3657 headline_printed = TRUE;
3658 }
3659 _tmp7_ = base_class;
3660 valadoc_html_basic_doclet_write_inherited_symbols_note (self, (ValadocApiTypeSymbol*) _tmp7_, "class", container);
3661 _tmp8_ = base_class;
3662 _tmp9_ = valadoc_api_class_get_base_type (_tmp8_);
3663 _tmp10_ = _tmp9_;
3664 _tmp11_ = valadoc_html_basic_doclet_unpack_type_reference (self, _tmp10_);
3665 _tmp12_ = VALADOC_API_IS_CLASS (_tmp11_) ? ((ValadocApiClass*) _tmp11_) : NULL;
3666 if (_tmp12_ == NULL) {
3667 _g_object_unref0 (_tmp11_);
3668 }
3669 _g_object_unref0 (base_class);
3670 base_class = _tmp12_;
3671 }
3672 _tmp13_ = g_direct_equal;
3673 _tmp14_ = vala_array_list_new (VALADOC_API_TYPE_INTERFACE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _tmp13_);
3674 printed_interfaces = (ValaCollection*) _tmp14_;
3675 {
3676 ValaIterator* _pre_ref_it = NULL;
3677 ValaCollection* _tmp15_;
3678 ValaCollection* _tmp16_;
3679 ValaIterator* _tmp17_;
3680 ValaIterator* _tmp18_;
3681 _tmp15_ = valadoc_api_interface_get_full_implemented_interface_list (iface);
3682 _tmp16_ = _tmp15_;
3683 _tmp17_ = vala_iterable_iterator ((ValaIterable*) _tmp16_);
3684 _tmp18_ = _tmp17_;
3685 _vala_iterable_unref0 (_tmp16_);
3686 _pre_ref_it = _tmp18_;
3687 while (TRUE) {
3688 ValaIterator* _tmp19_;
3689 ValadocApiTypeReference* pre_ref = NULL;
3690 ValaIterator* _tmp20_;
3691 gpointer _tmp21_;
3692 ValadocApiInterface* pre = NULL;
3693 ValadocApiTypeReference* _tmp22_;
3694 ValadocApiTypeSymbol* _tmp23_;
3695 gboolean _tmp24_ = FALSE;
3696 ValadocApiInterface* _tmp28_;
3697 ValaCollection* _tmp29_;
3698 ValadocApiInterface* _tmp30_;
3699 _tmp19_ = _pre_ref_it;
3700 if (!vala_iterator_next (_tmp19_)) {
3701 break;
3702 }
3703 _tmp20_ = _pre_ref_it;
3704 _tmp21_ = vala_iterator_get (_tmp20_);
3705 pre_ref = (ValadocApiTypeReference*) _tmp21_;
3706 _tmp22_ = pre_ref;
3707 _tmp23_ = valadoc_html_basic_doclet_unpack_type_reference (self, _tmp22_);
3708 pre = G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, VALADOC_API_TYPE_INTERFACE, ValadocApiInterface);
3709 if (!headline_printed) {
3710 ValadocApiInterface* _tmp25_;
3711 _tmp25_ = pre;
3712 _tmp24_ = valadoc_html_basic_doclet_has_visible_inheritable_children (self, (ValadocApiTypeSymbol*) _tmp25_);
3713 } else {
3714 _tmp24_ = FALSE;
3715 }
3716 if (_tmp24_) {
3717 valadoc_html_basic_doclet_write_inherited_members_headline (self);
3718 headline_printed = TRUE;
3719 } else {
3720 ValaCollection* _tmp26_;
3721 ValadocApiInterface* _tmp27_;
3722 _tmp26_ = printed_interfaces;
3723 _tmp27_ = pre;
3724 if (vala_collection_contains (_tmp26_, _tmp27_)) {
3725 _g_object_unref0 (pre);
3726 _g_object_unref0 (pre_ref);
3727 continue;
3728 }
3729 }
3730 _tmp28_ = pre;
3731 valadoc_html_basic_doclet_write_inherited_symbols_note (self, (ValadocApiTypeSymbol*) _tmp28_, "interface", container);
3732 _tmp29_ = printed_interfaces;
3733 _tmp30_ = pre;
3734 vala_collection_add (_tmp29_, _tmp30_);
3735 _g_object_unref0 (pre);
3736 _g_object_unref0 (pre_ref);
3737 }
3738 _vala_iterator_unref0 (_pre_ref_it);
3739 }
3740 _vala_iterable_unref0 (printed_interfaces);
3741 _g_object_unref0 (base_class);
3742 }
3743
3744 static void
valadoc_html_basic_doclet_write_inherited_symbols_note_for_struct(ValadocHtmlBasicDoclet * self,ValadocApiStruct * str,ValadocApiNode * container)3745 valadoc_html_basic_doclet_write_inherited_symbols_note_for_struct (ValadocHtmlBasicDoclet* self,
3746 ValadocApiStruct* str,
3747 ValadocApiNode* container)
3748 {
3749 ValadocApiStruct* base_struct = NULL;
3750 ValadocApiTypeReference* _tmp0_;
3751 ValadocApiTypeReference* _tmp1_;
3752 ValadocApiTypeSymbol* _tmp2_;
3753 ValadocApiStruct* _tmp3_;
3754 gboolean _tmp4_ = FALSE;
3755 ValadocApiStruct* _tmp5_;
3756 g_return_if_fail (self != NULL);
3757 g_return_if_fail (str != NULL);
3758 g_return_if_fail (container != NULL);
3759 _tmp0_ = valadoc_api_struct_get_base_type (str);
3760 _tmp1_ = _tmp0_;
3761 _tmp2_ = valadoc_html_basic_doclet_unpack_type_reference (self, _tmp1_);
3762 _tmp3_ = VALADOC_API_IS_STRUCT (_tmp2_) ? ((ValadocApiStruct*) _tmp2_) : NULL;
3763 if (_tmp3_ == NULL) {
3764 _g_object_unref0 (_tmp2_);
3765 }
3766 base_struct = _tmp3_;
3767 _tmp5_ = base_struct;
3768 if (_tmp5_ != NULL) {
3769 ValadocApiStruct* _tmp6_;
3770 _tmp6_ = base_struct;
3771 _tmp4_ = valadoc_html_basic_doclet_has_visible_inheritable_children (self, (ValadocApiTypeSymbol*) _tmp6_);
3772 } else {
3773 _tmp4_ = FALSE;
3774 }
3775 if (_tmp4_) {
3776 ValadocApiStruct* _tmp7_;
3777 valadoc_html_basic_doclet_write_inherited_members_headline (self);
3778 _tmp7_ = base_struct;
3779 valadoc_html_basic_doclet_write_inherited_symbols_note (self, (ValadocApiTypeSymbol*) _tmp7_, "struct", container);
3780 }
3781 _g_object_unref0 (base_struct);
3782 }
3783
3784 static void
valadoc_html_basic_doclet_write_inherited_symbols_note(ValadocHtmlBasicDoclet * self,ValadocApiTypeSymbol * symbol,const gchar * type,ValadocApiNode * container)3785 valadoc_html_basic_doclet_write_inherited_symbols_note (ValadocHtmlBasicDoclet* self,
3786 ValadocApiTypeSymbol* symbol,
3787 const gchar* type,
3788 ValadocApiNode* container)
3789 {
3790 ValadocApiNodeType* _tmp0_;
3791 gint _tmp0__length1;
3792 ValaList* _tmp1_;
3793 ValaList* _tmp2_;
3794 gchar* _tmp3_;
3795 gchar* _tmp4_;
3796 gchar* _tmp5_;
3797 gchar* _tmp6_;
3798 g_return_if_fail (self != NULL);
3799 g_return_if_fail (symbol != NULL);
3800 g_return_if_fail (type != NULL);
3801 g_return_if_fail (container != NULL);
3802 _tmp0_ = valadoc_html_basic_doclet_inheritable_members;
3803 _tmp0__length1 = valadoc_html_basic_doclet_inheritable_members_length1;
3804 _tmp1_ = valadoc_api_node_get_children_by_types ((ValadocApiNode*) symbol, _tmp0_, (gint) _tmp0__length1, FALSE);
3805 _tmp2_ = _tmp1_;
3806 _tmp3_ = valadoc_api_node_get_full_name ((ValadocApiNode*) symbol);
3807 _tmp4_ = _tmp3_;
3808 _tmp5_ = g_strdup_printf ("All known members inherited from %s %s", type, _tmp4_);
3809 _tmp6_ = _tmp5_;
3810 valadoc_html_basic_doclet_write_known_symbols_note (self, (ValaCollection*) _tmp2_, container, _tmp6_);
3811 _g_free0 (_tmp6_);
3812 _g_free0 (_tmp4_);
3813 _vala_iterable_unref0 (_tmp2_);
3814 }
3815
3816 void
valadoc_html_basic_doclet_write_child_namespaces(ValadocHtmlBasicDoclet * self,ValadocApiNode * node,ValadocApiNode * parent)3817 valadoc_html_basic_doclet_write_child_namespaces (ValadocHtmlBasicDoclet* self,
3818 ValadocApiNode* node,
3819 ValadocApiNode* parent)
3820 {
3821 ValaArrayList* namespaces = NULL;
3822 GEqualFunc _tmp0_;
3823 ValaArrayList* _tmp1_;
3824 ValaArrayList* _tmp2_;
3825 ValaArrayList* _tmp3_;
3826 gint _tmp4_;
3827 gint _tmp5_;
3828 ValaArrayList* _tmp6_;
3829 gint _tmp7_;
3830 gint _tmp8_;
3831 gboolean _tmp15_ = FALSE;
3832 gboolean with_childs = FALSE;
3833 ValadocHtmlMarkupWriter* _tmp16_;
3834 gchar* _tmp17_;
3835 gchar* _tmp18_;
3836 gchar** _tmp19_;
3837 gchar** _tmp20_;
3838 gint _tmp20__length1;
3839 ValadocMarkupWriter* _tmp21_;
3840 ValadocMarkupWriter* _tmp22_;
3841 ValadocHtmlMarkupWriter* _tmp23_;
3842 gchar* _tmp24_;
3843 gchar* _tmp25_;
3844 gchar** _tmp26_;
3845 gchar** _tmp27_;
3846 gint _tmp27__length1;
3847 ValadocHtmlMarkupWriter* _tmp67_;
3848 g_return_if_fail (self != NULL);
3849 g_return_if_fail (node != NULL);
3850 _tmp0_ = g_direct_equal;
3851 _tmp1_ = vala_array_list_new (VALADOC_API_TYPE_NAMESPACE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, _tmp0_);
3852 namespaces = _tmp1_;
3853 _tmp2_ = namespaces;
3854 valadoc_html_basic_doclet_fetch_subnamespace_names (self, node, _tmp2_);
3855 _tmp3_ = namespaces;
3856 _tmp4_ = vala_collection_get_size ((ValaCollection*) _tmp3_);
3857 _tmp5_ = _tmp4_;
3858 if (_tmp5_ == 0) {
3859 _vala_iterable_unref0 (namespaces);
3860 return;
3861 }
3862 _tmp6_ = namespaces;
3863 _tmp7_ = vala_collection_get_size ((ValaCollection*) _tmp6_);
3864 _tmp8_ = _tmp7_;
3865 if (_tmp8_ == 1) {
3866 ValaArrayList* _tmp9_;
3867 gpointer _tmp10_;
3868 ValadocApiNamespace* _tmp11_;
3869 const gchar* _tmp12_;
3870 const gchar* _tmp13_;
3871 gboolean _tmp14_;
3872 _tmp9_ = namespaces;
3873 _tmp10_ = vala_list_get ((ValaList*) _tmp9_, 0);
3874 _tmp11_ = (ValadocApiNamespace*) _tmp10_;
3875 _tmp12_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp11_);
3876 _tmp13_ = _tmp12_;
3877 _tmp14_ = _tmp13_ == NULL;
3878 _g_object_unref0 (_tmp11_);
3879 if (_tmp14_) {
3880 _vala_iterable_unref0 (namespaces);
3881 return;
3882 }
3883 }
3884 if (parent != NULL) {
3885 _tmp15_ = VALADOC_API_IS_PACKAGE (parent);
3886 } else {
3887 _tmp15_ = FALSE;
3888 }
3889 with_childs = _tmp15_;
3890 _tmp16_ = self->writer;
3891 _tmp17_ = g_strdup ("class");
3892 _tmp18_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
3893 _tmp19_ = g_new0 (gchar*, 2 + 1);
3894 _tmp19_[0] = _tmp17_;
3895 _tmp19_[1] = _tmp18_;
3896 _tmp20_ = _tmp19_;
3897 _tmp20__length1 = 2;
3898 _tmp21_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp16_, "h3", _tmp20_, (gint) 2);
3899 _tmp22_ = valadoc_markup_writer_text (_tmp21_, "Namespaces:");
3900 valadoc_markup_writer_end_tag (_tmp22_, "h3");
3901 _tmp20_ = (_vala_array_free (_tmp20_, _tmp20__length1, (GDestroyNotify) g_free), NULL);
3902 _tmp23_ = self->writer;
3903 _tmp24_ = g_strdup ("class");
3904 _tmp25_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_inline_navigation);
3905 _tmp26_ = g_new0 (gchar*, 2 + 1);
3906 _tmp26_[0] = _tmp24_;
3907 _tmp26_[1] = _tmp25_;
3908 _tmp27_ = _tmp26_;
3909 _tmp27__length1 = 2;
3910 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp23_, "ul", _tmp27_, (gint) 2);
3911 _tmp27_ = (_vala_array_free (_tmp27_, _tmp27__length1, (GDestroyNotify) g_free), NULL);
3912 {
3913 ValaArrayList* _child_list = NULL;
3914 ValaArrayList* _tmp28_;
3915 ValaArrayList* _tmp29_;
3916 gint _child_size = 0;
3917 ValaArrayList* _tmp30_;
3918 gint _tmp31_;
3919 gint _tmp32_;
3920 gint _child_index = 0;
3921 _tmp28_ = namespaces;
3922 _tmp29_ = _vala_iterable_ref0 (_tmp28_);
3923 _child_list = _tmp29_;
3924 _tmp30_ = _child_list;
3925 _tmp31_ = vala_collection_get_size ((ValaCollection*) _tmp30_);
3926 _tmp32_ = _tmp31_;
3927 _child_size = _tmp32_;
3928 _child_index = -1;
3929 while (TRUE) {
3930 gint _tmp33_;
3931 gint _tmp34_;
3932 ValadocApiNamespace* child = NULL;
3933 ValaArrayList* _tmp35_;
3934 gpointer _tmp36_;
3935 ValadocApiNamespace* _tmp37_;
3936 const gchar* _tmp38_;
3937 const gchar* _tmp39_;
3938 _child_index = _child_index + 1;
3939 _tmp33_ = _child_index;
3940 _tmp34_ = _child_size;
3941 if (!(_tmp33_ < _tmp34_)) {
3942 break;
3943 }
3944 _tmp35_ = _child_list;
3945 _tmp36_ = vala_list_get ((ValaList*) _tmp35_, _child_index);
3946 child = (ValadocApiNamespace*) _tmp36_;
3947 _tmp37_ = child;
3948 _tmp38_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp37_);
3949 _tmp39_ = _tmp38_;
3950 if (_tmp39_ != NULL) {
3951 ValadocHtmlMarkupWriter* _tmp40_;
3952 gchar* _tmp41_;
3953 ValadocHtmlCssClassResolver* _tmp42_;
3954 ValadocApiNamespace* _tmp43_;
3955 gchar* _tmp44_;
3956 gchar** _tmp45_;
3957 gchar** _tmp46_;
3958 gint _tmp46__length1;
3959 ValadocHtmlMarkupWriter* _tmp47_;
3960 ValadocApiNamespace* _tmp48_;
3961 gchar* _tmp49_;
3962 gchar* _tmp50_;
3963 ValadocApiNamespace* _tmp51_;
3964 const gchar* _tmp52_;
3965 const gchar* _tmp53_;
3966 ValadocApiNamespace* _tmp54_;
3967 ValadocHtmlMarkupWriter* _tmp57_;
3968 _tmp40_ = self->writer;
3969 _tmp41_ = g_strdup ("class");
3970 _tmp42_ = self->cssresolver;
3971 _tmp43_ = child;
3972 _tmp44_ = valadoc_html_css_class_resolver_resolve (_tmp42_, (ValadocApiNode*) _tmp43_);
3973 _tmp45_ = g_new0 (gchar*, 2 + 1);
3974 _tmp45_[0] = _tmp41_;
3975 _tmp45_[1] = _tmp44_;
3976 _tmp46_ = _tmp45_;
3977 _tmp46__length1 = 2;
3978 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp40_, "li", _tmp46_, (gint) 2);
3979 _tmp46_ = (_vala_array_free (_tmp46_, _tmp46__length1, (GDestroyNotify) g_free), NULL);
3980 _tmp47_ = self->writer;
3981 _tmp48_ = child;
3982 _tmp49_ = valadoc_html_basic_doclet_get_link (self, (ValadocApiNode*) _tmp48_, parent);
3983 _tmp50_ = _tmp49_;
3984 _tmp51_ = child;
3985 _tmp52_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp51_);
3986 _tmp53_ = _tmp52_;
3987 valadoc_html_markup_writer_link (_tmp47_, _tmp50_, _tmp53_, NULL);
3988 _g_free0 (_tmp50_);
3989 _tmp54_ = child;
3990 if (valadoc_html_basic_doclet_has_brief_description (self, (ValadocApiNode*) _tmp54_)) {
3991 ValadocHtmlMarkupWriter* _tmp55_;
3992 ValadocApiNamespace* _tmp56_;
3993 _tmp55_ = self->writer;
3994 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp55_, " - ");
3995 _tmp56_ = child;
3996 valadoc_html_basic_doclet_write_brief_description (self, (ValadocApiNode*) _tmp56_, parent);
3997 }
3998 _tmp57_ = self->writer;
3999 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp57_, "li");
4000 if (with_childs == TRUE) {
4001 ValadocApiNamespace* _tmp58_;
4002 ValadocApiNamespace* _tmp59_;
4003 ValadocApiNamespace* _tmp60_;
4004 ValadocApiNamespace* _tmp61_;
4005 ValadocApiNamespace* _tmp62_;
4006 ValadocApiNamespace* _tmp63_;
4007 ValadocApiNamespace* _tmp64_;
4008 ValadocApiNamespace* _tmp65_;
4009 ValadocApiNamespace* _tmp66_;
4010 _tmp58_ = child;
4011 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp58_, VALADOC_API_NODE_TYPE_INTERFACE, "Interfaces", parent);
4012 _tmp59_ = child;
4013 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp59_, VALADOC_API_NODE_TYPE_CLASS, "Classes", parent);
4014 _tmp60_ = child;
4015 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp60_, VALADOC_API_NODE_TYPE_STRUCT, "Structs", parent);
4016 _tmp61_ = child;
4017 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp61_, VALADOC_API_NODE_TYPE_ENUM, "Enums", parent);
4018 _tmp62_ = child;
4019 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp62_, VALADOC_API_NODE_TYPE_ERROR_DOMAIN, "Error domains", parent);
4020 _tmp63_ = child;
4021 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp63_, VALADOC_API_NODE_TYPE_CONSTANT, "Constants", parent);
4022 _tmp64_ = child;
4023 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp64_, VALADOC_API_NODE_TYPE_DELEGATE, "Delegates", parent);
4024 _tmp65_ = child;
4025 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp65_, VALADOC_API_NODE_TYPE_METHOD, "Methods", parent);
4026 _tmp66_ = child;
4027 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) _tmp66_, VALADOC_API_NODE_TYPE_FIELD, "Fields", parent);
4028 }
4029 }
4030 _g_object_unref0 (child);
4031 }
4032 _vala_iterable_unref0 (_child_list);
4033 }
4034 _tmp67_ = self->writer;
4035 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp67_, "ul");
4036 _vala_iterable_unref0 (namespaces);
4037 }
4038
4039 void
valadoc_html_basic_doclet_write_child_dependencies(ValadocHtmlBasicDoclet * self,ValadocApiPackage * package,ValadocApiNode * parent)4040 valadoc_html_basic_doclet_write_child_dependencies (ValadocHtmlBasicDoclet* self,
4041 ValadocApiPackage* package,
4042 ValadocApiNode* parent)
4043 {
4044 ValaCollection* deps = NULL;
4045 ValaCollection* _tmp0_;
4046 ValaCollection* _tmp1_;
4047 gint _tmp2_;
4048 gint _tmp3_;
4049 ValadocHtmlMarkupWriter* _tmp4_;
4050 gchar* _tmp5_;
4051 gchar* _tmp6_;
4052 gchar** _tmp7_;
4053 gchar** _tmp8_;
4054 gint _tmp8__length1;
4055 ValadocMarkupWriter* _tmp9_;
4056 ValadocMarkupWriter* _tmp10_;
4057 ValadocHtmlMarkupWriter* _tmp11_;
4058 gchar* _tmp12_;
4059 gchar* _tmp13_;
4060 gchar** _tmp14_;
4061 gchar** _tmp15_;
4062 gint _tmp15__length1;
4063 ValadocHtmlMarkupWriter* _tmp56_;
4064 g_return_if_fail (self != NULL);
4065 g_return_if_fail (package != NULL);
4066 _tmp0_ = valadoc_api_package_get_full_dependency_list (package);
4067 deps = _tmp0_;
4068 _tmp1_ = deps;
4069 _tmp2_ = vala_collection_get_size (_tmp1_);
4070 _tmp3_ = _tmp2_;
4071 if (_tmp3_ == 0) {
4072 _vala_iterable_unref0 (deps);
4073 return;
4074 }
4075 _tmp4_ = self->writer;
4076 _tmp5_ = g_strdup ("class");
4077 _tmp6_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4078 _tmp7_ = g_new0 (gchar*, 2 + 1);
4079 _tmp7_[0] = _tmp5_;
4080 _tmp7_[1] = _tmp6_;
4081 _tmp8_ = _tmp7_;
4082 _tmp8__length1 = 2;
4083 _tmp9_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp4_, "h2", _tmp8_, (gint) 2);
4084 _tmp10_ = valadoc_markup_writer_text (_tmp9_, "Dependencies:");
4085 valadoc_markup_writer_end_tag (_tmp10_, "h2");
4086 _tmp8_ = (_vala_array_free (_tmp8_, _tmp8__length1, (GDestroyNotify) g_free), NULL);
4087 _tmp11_ = self->writer;
4088 _tmp12_ = g_strdup ("class");
4089 _tmp13_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_inline_navigation);
4090 _tmp14_ = g_new0 (gchar*, 2 + 1);
4091 _tmp14_[0] = _tmp12_;
4092 _tmp14_[1] = _tmp13_;
4093 _tmp15_ = _tmp14_;
4094 _tmp15__length1 = 2;
4095 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "ul", _tmp15_, (gint) 2);
4096 _tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
4097 {
4098 ValaIterator* _p_it = NULL;
4099 ValaCollection* _tmp16_;
4100 ValaIterator* _tmp17_;
4101 _tmp16_ = deps;
4102 _tmp17_ = vala_iterable_iterator ((ValaIterable*) _tmp16_);
4103 _p_it = _tmp17_;
4104 while (TRUE) {
4105 ValaIterator* _tmp18_;
4106 ValadocApiPackage* p = NULL;
4107 ValaIterator* _tmp19_;
4108 gpointer _tmp20_;
4109 gchar* link = NULL;
4110 ValadocApiPackage* _tmp21_;
4111 gchar* _tmp22_;
4112 const gchar* _tmp23_;
4113 _tmp18_ = _p_it;
4114 if (!vala_iterator_next (_tmp18_)) {
4115 break;
4116 }
4117 _tmp19_ = _p_it;
4118 _tmp20_ = vala_iterator_get (_tmp19_);
4119 p = (ValadocApiPackage*) _tmp20_;
4120 _tmp21_ = p;
4121 _tmp22_ = valadoc_html_basic_doclet_get_link (self, (ValadocApiNode*) _tmp21_, parent);
4122 link = _tmp22_;
4123 _tmp23_ = link;
4124 if (_tmp23_ == NULL) {
4125 ValadocHtmlMarkupWriter* _tmp24_;
4126 gchar* _tmp25_;
4127 ValadocHtmlCssClassResolver* _tmp26_;
4128 ValadocApiPackage* _tmp27_;
4129 gchar* _tmp28_;
4130 gchar* _tmp29_;
4131 ValadocApiPackage* _tmp30_;
4132 const gchar* _tmp31_;
4133 const gchar* _tmp32_;
4134 gchar* _tmp33_;
4135 gchar** _tmp34_;
4136 gchar** _tmp35_;
4137 gint _tmp35__length1;
4138 ValadocMarkupWriter* _tmp36_;
4139 ValadocApiPackage* _tmp37_;
4140 const gchar* _tmp38_;
4141 const gchar* _tmp39_;
4142 ValadocMarkupWriter* _tmp40_;
4143 _tmp24_ = self->writer;
4144 _tmp25_ = g_strdup ("class");
4145 _tmp26_ = self->cssresolver;
4146 _tmp27_ = p;
4147 _tmp28_ = valadoc_html_css_class_resolver_resolve (_tmp26_, (ValadocApiNode*) _tmp27_);
4148 _tmp29_ = g_strdup ("id");
4149 _tmp30_ = p;
4150 _tmp31_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp30_);
4151 _tmp32_ = _tmp31_;
4152 _tmp33_ = g_strdup (_tmp32_);
4153 _tmp34_ = g_new0 (gchar*, 4 + 1);
4154 _tmp34_[0] = _tmp25_;
4155 _tmp34_[1] = _tmp28_;
4156 _tmp34_[2] = _tmp29_;
4157 _tmp34_[3] = _tmp33_;
4158 _tmp35_ = _tmp34_;
4159 _tmp35__length1 = 4;
4160 _tmp36_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp24_, "li", _tmp35_, (gint) 4);
4161 _tmp37_ = p;
4162 _tmp38_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp37_);
4163 _tmp39_ = _tmp38_;
4164 _tmp40_ = valadoc_markup_writer_text (_tmp36_, _tmp39_);
4165 valadoc_markup_writer_end_tag (_tmp40_, "li");
4166 _tmp35_ = (_vala_array_free (_tmp35_, _tmp35__length1, (GDestroyNotify) g_free), NULL);
4167 } else {
4168 ValadocHtmlMarkupWriter* _tmp41_;
4169 gchar* _tmp42_;
4170 ValadocHtmlCssClassResolver* _tmp43_;
4171 ValadocApiPackage* _tmp44_;
4172 gchar* _tmp45_;
4173 gchar** _tmp46_;
4174 gchar** _tmp47_;
4175 gint _tmp47__length1;
4176 ValadocHtmlMarkupWriter* _tmp48_;
4177 ValadocApiPackage* _tmp49_;
4178 gchar* _tmp50_;
4179 gchar* _tmp51_;
4180 ValadocApiPackage* _tmp52_;
4181 const gchar* _tmp53_;
4182 const gchar* _tmp54_;
4183 ValadocHtmlMarkupWriter* _tmp55_;
4184 _tmp41_ = self->writer;
4185 _tmp42_ = g_strdup ("class");
4186 _tmp43_ = self->cssresolver;
4187 _tmp44_ = p;
4188 _tmp45_ = valadoc_html_css_class_resolver_resolve (_tmp43_, (ValadocApiNode*) _tmp44_);
4189 _tmp46_ = g_new0 (gchar*, 2 + 1);
4190 _tmp46_[0] = _tmp42_;
4191 _tmp46_[1] = _tmp45_;
4192 _tmp47_ = _tmp46_;
4193 _tmp47__length1 = 2;
4194 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp41_, "li", _tmp47_, (gint) 2);
4195 _tmp47_ = (_vala_array_free (_tmp47_, _tmp47__length1, (GDestroyNotify) g_free), NULL);
4196 _tmp48_ = self->writer;
4197 _tmp49_ = p;
4198 _tmp50_ = valadoc_html_basic_doclet_get_link (self, (ValadocApiNode*) _tmp49_, parent);
4199 _tmp51_ = _tmp50_;
4200 _tmp52_ = p;
4201 _tmp53_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp52_);
4202 _tmp54_ = _tmp53_;
4203 valadoc_html_markup_writer_link (_tmp48_, _tmp51_, _tmp54_, NULL);
4204 _g_free0 (_tmp51_);
4205 _tmp55_ = self->writer;
4206 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp55_, "li");
4207 }
4208 _g_free0 (link);
4209 _g_object_unref0 (p);
4210 }
4211 _vala_iterator_unref0 (_p_it);
4212 }
4213 _tmp56_ = self->writer;
4214 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp56_, "ul");
4215 _vala_iterable_unref0 (deps);
4216 }
4217
4218 void
valadoc_html_basic_doclet_write_children(ValadocHtmlBasicDoclet * self,ValadocApiNode * node,ValadocApiNodeType type,const gchar * type_string,ValadocApiNode * container)4219 valadoc_html_basic_doclet_write_children (ValadocHtmlBasicDoclet* self,
4220 ValadocApiNode* node,
4221 ValadocApiNodeType type,
4222 const gchar* type_string,
4223 ValadocApiNode* container)
4224 {
4225 ValaList* children = NULL;
4226 ValaList* _tmp0_;
4227 ValaList* _tmp1_;
4228 gint _tmp2_;
4229 gint _tmp3_;
4230 g_return_if_fail (self != NULL);
4231 g_return_if_fail (node != NULL);
4232 g_return_if_fail (type_string != NULL);
4233 _tmp0_ = valadoc_api_node_get_children_by_type (node, type, TRUE);
4234 children = _tmp0_;
4235 _tmp1_ = children;
4236 _tmp2_ = vala_collection_get_size ((ValaCollection*) _tmp1_);
4237 _tmp3_ = _tmp2_;
4238 if (_tmp3_ > 0) {
4239 gboolean _tmp4_ = FALSE;
4240 ValadocHtmlMarkupWriter* _tmp6_;
4241 gchar* _tmp7_;
4242 gchar* _tmp8_;
4243 gchar** _tmp9_;
4244 gchar** _tmp10_;
4245 gint _tmp10__length1;
4246 ValadocMarkupWriter* _tmp11_;
4247 ValadocMarkupWriter* _tmp12_;
4248 ValadocMarkupWriter* _tmp13_;
4249 ValadocHtmlMarkupWriter* _tmp14_;
4250 gchar* _tmp15_;
4251 gchar* _tmp16_;
4252 gchar** _tmp17_;
4253 gchar** _tmp18_;
4254 gint _tmp18__length1;
4255 ValadocHtmlMarkupWriter* _tmp91_;
4256 if (VALADOC_API_IS_STRUCT (node)) {
4257 _tmp4_ = type == VALADOC_API_NODE_TYPE_FIELD;
4258 } else {
4259 _tmp4_ = FALSE;
4260 }
4261 if (!_tmp4_) {
4262 ValaList* _tmp5_;
4263 _tmp5_ = children;
4264 vala_list_sort (_tmp5_, (GCompareDataFunc) valadoc_api_node_compare_to, NULL, NULL);
4265 }
4266 _tmp6_ = self->writer;
4267 _tmp7_ = g_strdup ("class");
4268 _tmp8_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4269 _tmp9_ = g_new0 (gchar*, 2 + 1);
4270 _tmp9_[0] = _tmp7_;
4271 _tmp9_[1] = _tmp8_;
4272 _tmp10_ = _tmp9_;
4273 _tmp10__length1 = 2;
4274 _tmp11_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp6_, "h3", _tmp10_, (gint) 2);
4275 _tmp12_ = valadoc_markup_writer_text (_tmp11_, type_string);
4276 _tmp13_ = valadoc_markup_writer_text (_tmp12_, ":");
4277 valadoc_markup_writer_end_tag (_tmp13_, "h3");
4278 _tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
4279 _tmp14_ = self->writer;
4280 _tmp15_ = g_strdup ("class");
4281 _tmp16_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_inline_navigation);
4282 _tmp17_ = g_new0 (gchar*, 2 + 1);
4283 _tmp17_[0] = _tmp15_;
4284 _tmp17_[1] = _tmp16_;
4285 _tmp18_ = _tmp17_;
4286 _tmp18__length1 = 2;
4287 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp14_, "ul", _tmp18_, (gint) 2);
4288 _tmp18_ = (_vala_array_free (_tmp18_, _tmp18__length1, (GDestroyNotify) g_free), NULL);
4289 {
4290 ValaList* _child_list = NULL;
4291 ValaList* _tmp19_;
4292 ValaList* _tmp20_;
4293 gint _child_size = 0;
4294 ValaList* _tmp21_;
4295 gint _tmp22_;
4296 gint _tmp23_;
4297 gint _child_index = 0;
4298 _tmp19_ = children;
4299 _tmp20_ = _vala_iterable_ref0 (_tmp19_);
4300 _child_list = _tmp20_;
4301 _tmp21_ = _child_list;
4302 _tmp22_ = vala_collection_get_size ((ValaCollection*) _tmp21_);
4303 _tmp23_ = _tmp22_;
4304 _child_size = _tmp23_;
4305 _child_index = -1;
4306 while (TRUE) {
4307 gint _tmp24_;
4308 gint _tmp25_;
4309 ValadocApiNode* child = NULL;
4310 ValaList* _tmp26_;
4311 gpointer _tmp27_;
4312 ValadocHtmlMarkupWriter* _tmp28_;
4313 gchar* _tmp29_;
4314 ValadocHtmlCssClassResolver* _tmp30_;
4315 ValadocApiNode* _tmp31_;
4316 gchar* _tmp32_;
4317 gchar** _tmp33_;
4318 gchar** _tmp34_;
4319 gint _tmp34__length1;
4320 ValadocApiNode* _tmp35_;
4321 ValadocHtmlMarkupWriter* _tmp90_;
4322 _child_index = _child_index + 1;
4323 _tmp24_ = _child_index;
4324 _tmp25_ = _child_size;
4325 if (!(_tmp24_ < _tmp25_)) {
4326 break;
4327 }
4328 _tmp26_ = _child_list;
4329 _tmp27_ = vala_list_get (_tmp26_, _child_index);
4330 child = (ValadocApiNode*) _tmp27_;
4331 _tmp28_ = self->writer;
4332 _tmp29_ = g_strdup ("class");
4333 _tmp30_ = self->cssresolver;
4334 _tmp31_ = child;
4335 _tmp32_ = valadoc_html_css_class_resolver_resolve (_tmp30_, _tmp31_);
4336 _tmp33_ = g_new0 (gchar*, 2 + 1);
4337 _tmp33_[0] = _tmp29_;
4338 _tmp33_[1] = _tmp32_;
4339 _tmp34_ = _tmp33_;
4340 _tmp34__length1 = 2;
4341 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp28_, "li", _tmp34_, (gint) 2);
4342 _tmp34_ = (_vala_array_free (_tmp34_, _tmp34__length1, (GDestroyNotify) g_free), NULL);
4343 _tmp35_ = child;
4344 if (valadoc_html_basic_doclet_is_internal_node (self, _tmp35_)) {
4345 gboolean _tmp36_ = FALSE;
4346 ValadocApiNode* _tmp37_;
4347 ValadocApiNode* _tmp61_;
4348 _tmp37_ = child;
4349 if (VALADOC_API_IS_SYMBOL (_tmp37_)) {
4350 ValadocApiNode* _tmp38_;
4351 gboolean _tmp39_;
4352 gboolean _tmp40_;
4353 _tmp38_ = child;
4354 _tmp39_ = valadoc_api_symbol_get_is_deprecated (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, VALADOC_API_TYPE_SYMBOL, ValadocApiSymbol));
4355 _tmp40_ = _tmp39_;
4356 _tmp36_ = _tmp40_;
4357 } else {
4358 _tmp36_ = FALSE;
4359 }
4360 if (_tmp36_) {
4361 ValadocHtmlMarkupWriter* _tmp41_;
4362 gchar* _tmp42_;
4363 gchar* _tmp43_;
4364 gchar** _tmp44_;
4365 gchar** _tmp45_;
4366 gint _tmp45__length1;
4367 ValadocHtmlMarkupWriter* _tmp46_;
4368 ValadocApiNode* _tmp47_;
4369 gchar* _tmp48_;
4370 gchar* _tmp49_;
4371 ValadocApiNode* _tmp50_;
4372 const gchar* _tmp51_;
4373 const gchar* _tmp52_;
4374 ValadocHtmlMarkupWriter* _tmp53_;
4375 _tmp41_ = self->writer;
4376 _tmp42_ = g_strdup ("class");
4377 _tmp43_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_deprecated);
4378 _tmp44_ = g_new0 (gchar*, 2 + 1);
4379 _tmp44_[0] = _tmp42_;
4380 _tmp44_[1] = _tmp43_;
4381 _tmp45_ = _tmp44_;
4382 _tmp45__length1 = 2;
4383 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp41_, "span", _tmp45_, (gint) 2);
4384 _tmp45_ = (_vala_array_free (_tmp45_, _tmp45__length1, (GDestroyNotify) g_free), NULL);
4385 _tmp46_ = self->writer;
4386 _tmp47_ = child;
4387 _tmp48_ = valadoc_html_basic_doclet_get_link (self, _tmp47_, container);
4388 _tmp49_ = _tmp48_;
4389 _tmp50_ = child;
4390 _tmp51_ = valadoc_api_node_get_name (_tmp50_);
4391 _tmp52_ = _tmp51_;
4392 valadoc_html_markup_writer_link (_tmp46_, _tmp49_, _tmp52_, NULL);
4393 _g_free0 (_tmp49_);
4394 _tmp53_ = self->writer;
4395 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp53_, "span");
4396 } else {
4397 ValadocHtmlMarkupWriter* _tmp54_;
4398 ValadocApiNode* _tmp55_;
4399 gchar* _tmp56_;
4400 gchar* _tmp57_;
4401 ValadocApiNode* _tmp58_;
4402 const gchar* _tmp59_;
4403 const gchar* _tmp60_;
4404 _tmp54_ = self->writer;
4405 _tmp55_ = child;
4406 _tmp56_ = valadoc_html_basic_doclet_get_link (self, _tmp55_, container);
4407 _tmp57_ = _tmp56_;
4408 _tmp58_ = child;
4409 _tmp59_ = valadoc_api_node_get_name (_tmp58_);
4410 _tmp60_ = _tmp59_;
4411 valadoc_html_markup_writer_link (_tmp54_, _tmp57_, _tmp60_, NULL);
4412 _g_free0 (_tmp57_);
4413 }
4414 _tmp61_ = child;
4415 if (valadoc_html_basic_doclet_has_brief_description (self, _tmp61_)) {
4416 ValadocHtmlMarkupWriter* _tmp62_;
4417 ValadocApiNode* _tmp63_;
4418 _tmp62_ = self->writer;
4419 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp62_, " - ");
4420 _tmp63_ = child;
4421 valadoc_html_basic_doclet_write_brief_description (self, _tmp63_, container);
4422 }
4423 } else {
4424 ValadocHtmlMarkupWriter* _tmp64_;
4425 gchar* _tmp65_;
4426 gchar* _tmp66_;
4427 gchar** _tmp67_;
4428 gchar** _tmp68_;
4429 gint _tmp68__length1;
4430 gboolean _tmp69_ = FALSE;
4431 ValadocApiNode* _tmp70_;
4432 ValadocHtmlMarkupWriter* _tmp82_;
4433 ValadocHtmlMarkupWriter* _tmp83_;
4434 gchar* _tmp84_;
4435 gchar* _tmp85_;
4436 gchar** _tmp86_;
4437 gchar** _tmp87_;
4438 gint _tmp87__length1;
4439 ValadocApiNode* _tmp88_;
4440 ValadocHtmlMarkupWriter* _tmp89_;
4441 _tmp64_ = self->writer;
4442 _tmp65_ = g_strdup ("class");
4443 _tmp66_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_leaf_code_definition);
4444 _tmp67_ = g_new0 (gchar*, 2 + 1);
4445 _tmp67_[0] = _tmp65_;
4446 _tmp67_[1] = _tmp66_;
4447 _tmp68_ = _tmp67_;
4448 _tmp68__length1 = 2;
4449 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp64_, "span", _tmp68_, (gint) 2);
4450 _tmp68_ = (_vala_array_free (_tmp68_, _tmp68__length1, (GDestroyNotify) g_free), NULL);
4451 _tmp70_ = child;
4452 if (VALADOC_API_IS_SYMBOL (_tmp70_)) {
4453 ValadocApiNode* _tmp71_;
4454 gboolean _tmp72_;
4455 gboolean _tmp73_;
4456 _tmp71_ = child;
4457 _tmp72_ = valadoc_api_symbol_get_is_deprecated (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, VALADOC_API_TYPE_SYMBOL, ValadocApiSymbol));
4458 _tmp73_ = _tmp72_;
4459 _tmp69_ = _tmp73_;
4460 } else {
4461 _tmp69_ = FALSE;
4462 }
4463 if (_tmp69_) {
4464 ValadocHtmlMarkupWriter* _tmp74_;
4465 gchar* _tmp75_;
4466 gchar* _tmp76_;
4467 gchar** _tmp77_;
4468 gchar** _tmp78_;
4469 gint _tmp78__length1;
4470 ValadocApiNode* _tmp79_;
4471 ValadocHtmlMarkupWriter* _tmp80_;
4472 _tmp74_ = self->writer;
4473 _tmp75_ = g_strdup ("class");
4474 _tmp76_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_deprecated);
4475 _tmp77_ = g_new0 (gchar*, 2 + 1);
4476 _tmp77_[0] = _tmp75_;
4477 _tmp77_[1] = _tmp76_;
4478 _tmp78_ = _tmp77_;
4479 _tmp78__length1 = 2;
4480 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp74_, "span", _tmp78_, (gint) 2);
4481 _tmp78_ = (_vala_array_free (_tmp78_, _tmp78__length1, (GDestroyNotify) g_free), NULL);
4482 _tmp79_ = child;
4483 valadoc_html_basic_doclet_write_signature (self, _tmp79_, container);
4484 _tmp80_ = self->writer;
4485 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp80_, "span");
4486 } else {
4487 ValadocApiNode* _tmp81_;
4488 _tmp81_ = child;
4489 valadoc_html_basic_doclet_write_signature (self, _tmp81_, container);
4490 }
4491 _tmp82_ = self->writer;
4492 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp82_, "span");
4493 _tmp83_ = self->writer;
4494 _tmp84_ = g_strdup ("class");
4495 _tmp85_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_leaf_brief_description);
4496 _tmp86_ = g_new0 (gchar*, 2 + 1);
4497 _tmp86_[0] = _tmp84_;
4498 _tmp86_[1] = _tmp85_;
4499 _tmp87_ = _tmp86_;
4500 _tmp87__length1 = 2;
4501 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp83_, "div", _tmp87_, (gint) 2);
4502 _tmp87_ = (_vala_array_free (_tmp87_, _tmp87__length1, (GDestroyNotify) g_free), NULL);
4503 _tmp88_ = child;
4504 valadoc_html_basic_doclet_write_brief_description (self, _tmp88_, container);
4505 _tmp89_ = self->writer;
4506 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp89_, "div");
4507 }
4508 _tmp90_ = self->writer;
4509 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp90_, "li");
4510 _g_object_unref0 (child);
4511 }
4512 _vala_iterable_unref0 (_child_list);
4513 }
4514 _tmp91_ = self->writer;
4515 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp91_, "ul");
4516 }
4517 _vala_iterable_unref0 (children);
4518 }
4519
4520 void
valadoc_html_basic_doclet_write_image_block(ValadocHtmlBasicDoclet * self,ValadocApiNode * element)4521 valadoc_html_basic_doclet_write_image_block (ValadocHtmlBasicDoclet* self,
4522 ValadocApiNode* element)
4523 {
4524 gboolean _tmp0_ = FALSE;
4525 gboolean _tmp1_ = FALSE;
4526 g_return_if_fail (self != NULL);
4527 g_return_if_fail (element != NULL);
4528 if (VALADOC_API_IS_CLASS (element)) {
4529 _tmp1_ = TRUE;
4530 } else {
4531 _tmp1_ = VALADOC_API_IS_INTERFACE (element);
4532 }
4533 if (_tmp1_) {
4534 _tmp0_ = TRUE;
4535 } else {
4536 _tmp0_ = VALADOC_API_IS_STRUCT (element);
4537 }
4538 if (_tmp0_) {
4539 const gchar* _tmp2_ = NULL;
4540 ValadocSettings* _tmp3_;
4541 const gchar* format = NULL;
4542 ValadocChartsHierarchy* chart = NULL;
4543 ValadocChartsFactory* _tmp4_;
4544 ValadocChartsHierarchy* _tmp5_;
4545 ValadocChartsHierarchy* _tmp6_;
4546 const gchar* _tmp7_;
4547 gchar* _tmp8_;
4548 gchar* _tmp9_;
4549 const gchar* _tmp10_;
4550 ValadocHtmlMarkupWriter* _tmp11_;
4551 gchar* _tmp12_;
4552 gchar* _tmp13_;
4553 gchar** _tmp14_;
4554 gchar** _tmp15_;
4555 gint _tmp15__length1;
4556 ValadocMarkupWriter* _tmp16_;
4557 ValadocMarkupWriter* _tmp17_;
4558 ValadocHtmlMarkupWriter* _tmp18_;
4559 gchar* _tmp19_;
4560 gchar* _tmp20_;
4561 gchar* _tmp21_;
4562 gchar* _tmp22_;
4563 gchar* _tmp23_;
4564 gchar* _tmp24_;
4565 gchar* _tmp25_;
4566 const gchar* _tmp26_;
4567 const gchar* _tmp27_;
4568 gchar* _tmp28_;
4569 gchar* _tmp29_;
4570 const gchar* _tmp30_;
4571 gchar* _tmp31_;
4572 gchar** _tmp32_;
4573 gchar** _tmp33_;
4574 gint _tmp33__length1;
4575 ValadocHtmlMarkupWriter* _tmp34_;
4576 ValadocChartsHierarchy* _tmp35_;
4577 _tmp3_ = self->priv->_settings;
4578 if (_tmp3_->use_svg_images) {
4579 _tmp2_ = "svg";
4580 } else {
4581 _tmp2_ = "png";
4582 }
4583 format = _tmp2_;
4584 _tmp4_ = self->image_factory;
4585 _tmp5_ = valadoc_charts_hierarchy_new (_tmp4_, element);
4586 chart = _tmp5_;
4587 _tmp6_ = chart;
4588 _tmp7_ = format;
4589 _tmp8_ = valadoc_html_basic_doclet_get_img_path (self, element, _tmp7_);
4590 _tmp9_ = _tmp8_;
4591 _tmp10_ = format;
4592 valadoc_charts_chart_save ((ValadocChartsChart*) _tmp6_, _tmp9_, _tmp10_);
4593 _g_free0 (_tmp9_);
4594 _tmp11_ = self->writer;
4595 _tmp12_ = g_strdup ("class");
4596 _tmp13_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4597 _tmp14_ = g_new0 (gchar*, 2 + 1);
4598 _tmp14_[0] = _tmp12_;
4599 _tmp14_[1] = _tmp13_;
4600 _tmp15_ = _tmp14_;
4601 _tmp15__length1 = 2;
4602 _tmp16_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "h2", _tmp15_, (gint) 2);
4603 _tmp17_ = valadoc_markup_writer_text (_tmp16_, "Object Hierarchy:");
4604 valadoc_markup_writer_end_tag (_tmp17_, "h2");
4605 _tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
4606 _tmp18_ = self->writer;
4607 _tmp19_ = g_strdup ("class");
4608 _tmp20_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_diagram);
4609 _tmp21_ = g_strdup ("usemap");
4610 _tmp22_ = valadoc_api_node_get_full_name (element);
4611 _tmp23_ = _tmp22_;
4612 _tmp24_ = g_strconcat ("#", _tmp23_, NULL);
4613 _tmp25_ = g_strdup ("alt");
4614 _tmp26_ = valadoc_api_node_get_name (element);
4615 _tmp27_ = _tmp26_;
4616 _tmp28_ = g_strdup_printf ("Object hierarchy for %s", _tmp27_);
4617 _tmp29_ = g_strdup ("src");
4618 _tmp30_ = format;
4619 _tmp31_ = valadoc_html_basic_doclet_get_img_path_html (self, element, _tmp30_);
4620 _tmp32_ = g_new0 (gchar*, 8 + 1);
4621 _tmp32_[0] = _tmp19_;
4622 _tmp32_[1] = _tmp20_;
4623 _tmp32_[2] = _tmp21_;
4624 _tmp32_[3] = _tmp24_;
4625 _tmp32_[4] = _tmp25_;
4626 _tmp32_[5] = _tmp28_;
4627 _tmp32_[6] = _tmp29_;
4628 _tmp32_[7] = _tmp31_;
4629 _tmp33_ = _tmp32_;
4630 _tmp33__length1 = 8;
4631 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp18_, "img", _tmp33_, (gint) 8);
4632 _tmp33_ = (_vala_array_free (_tmp33_, _tmp33__length1, (GDestroyNotify) g_free), NULL);
4633 _g_free0 (_tmp23_);
4634 _tmp34_ = self->writer;
4635 _tmp35_ = chart;
4636 valadoc_html_markup_writer_add_usemap (_tmp34_, (ValadocChartsChart*) _tmp35_);
4637 _g_object_unref0 (chart);
4638 }
4639 }
4640
4641 void
valadoc_html_basic_doclet_write_namespace_content(ValadocHtmlBasicDoclet * self,ValadocApiNamespace * node,ValadocApiNode * parent)4642 valadoc_html_basic_doclet_write_namespace_content (ValadocHtmlBasicDoclet* self,
4643 ValadocApiNamespace* node,
4644 ValadocApiNode* parent)
4645 {
4646 ValadocHtmlMarkupWriter* _tmp0_;
4647 gchar* _tmp1_;
4648 gchar* _tmp2_;
4649 gchar** _tmp3_;
4650 gchar** _tmp4_;
4651 gint _tmp4__length1;
4652 gchar* _tmp5_ = NULL;
4653 const gchar* _tmp6_;
4654 const gchar* _tmp7_;
4655 ValadocHtmlMarkupWriter* _tmp10_;
4656 gchar* _tmp11_;
4657 gchar* _tmp12_;
4658 gchar** _tmp13_;
4659 gchar** _tmp14_;
4660 gint _tmp14__length1;
4661 ValadocMarkupWriter* _tmp15_;
4662 ValadocMarkupWriter* _tmp16_;
4663 ValadocHtmlMarkupWriter* _tmp17_;
4664 gchar* _tmp18_;
4665 gchar* _tmp19_;
4666 gchar** _tmp20_;
4667 gchar** _tmp21_;
4668 gint _tmp21__length1;
4669 ValadocHtmlMarkupWriter* _tmp22_;
4670 gchar* _tmp23_;
4671 gchar* _tmp24_;
4672 gchar** _tmp25_;
4673 gchar** _tmp26_;
4674 gint _tmp26__length1;
4675 ValadocMarkupWriter* _tmp27_;
4676 ValadocMarkupWriter* _tmp28_;
4677 ValadocHtmlMarkupWriter* _tmp29_;
4678 gchar* _tmp30_;
4679 gchar* _tmp31_;
4680 gchar** _tmp32_;
4681 gchar** _tmp33_;
4682 gint _tmp33__length1;
4683 ValadocMarkupWriter* _tmp34_;
4684 ValadocMarkupWriter* _tmp35_;
4685 const gchar* _tmp36_;
4686 const gchar* _tmp37_;
4687 ValadocHtmlMarkupWriter* _tmp40_;
4688 g_return_if_fail (self != NULL);
4689 g_return_if_fail (node != NULL);
4690 _tmp0_ = self->writer;
4691 _tmp1_ = g_strdup ("class");
4692 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_content);
4693 _tmp3_ = g_new0 (gchar*, 2 + 1);
4694 _tmp3_[0] = _tmp1_;
4695 _tmp3_[1] = _tmp2_;
4696 _tmp4_ = _tmp3_;
4697 _tmp4__length1 = 2;
4698 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "div", _tmp4_, (gint) 2);
4699 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
4700 _tmp6_ = valadoc_api_node_get_name ((ValadocApiNode*) node);
4701 _tmp7_ = _tmp6_;
4702 if (_tmp7_ == NULL) {
4703 gchar* _tmp8_;
4704 _tmp8_ = g_strdup ("Global Namespace");
4705 _g_free0 (_tmp5_);
4706 _tmp5_ = _tmp8_;
4707 } else {
4708 gchar* _tmp9_;
4709 _tmp9_ = valadoc_api_node_get_full_name ((ValadocApiNode*) node);
4710 _g_free0 (_tmp5_);
4711 _tmp5_ = _tmp9_;
4712 }
4713 _tmp10_ = self->writer;
4714 _tmp11_ = g_strdup ("class");
4715 _tmp12_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4716 _tmp13_ = g_new0 (gchar*, 2 + 1);
4717 _tmp13_[0] = _tmp11_;
4718 _tmp13_[1] = _tmp12_;
4719 _tmp14_ = _tmp13_;
4720 _tmp14__length1 = 2;
4721 _tmp15_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp10_, "h1", _tmp14_, (gint) 2);
4722 _tmp16_ = valadoc_markup_writer_text (_tmp15_, _tmp5_);
4723 valadoc_markup_writer_end_tag (_tmp16_, "h1");
4724 _tmp14_ = (_vala_array_free (_tmp14_, _tmp14__length1, (GDestroyNotify) g_free), NULL);
4725 _tmp17_ = self->writer;
4726 _tmp18_ = g_strdup ("class");
4727 _tmp19_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_hr);
4728 _tmp20_ = g_new0 (gchar*, 2 + 1);
4729 _tmp20_[0] = _tmp18_;
4730 _tmp20_[1] = _tmp19_;
4731 _tmp21_ = _tmp20_;
4732 _tmp21__length1 = 2;
4733 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp17_, "hr", _tmp21_, (gint) 2);
4734 _tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
4735 _tmp22_ = self->writer;
4736 _tmp23_ = g_strdup ("class");
4737 _tmp24_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4738 _tmp25_ = g_new0 (gchar*, 2 + 1);
4739 _tmp25_[0] = _tmp23_;
4740 _tmp25_[1] = _tmp24_;
4741 _tmp26_ = _tmp25_;
4742 _tmp26__length1 = 2;
4743 _tmp27_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp22_, "h2", _tmp26_, (gint) 2);
4744 _tmp28_ = valadoc_markup_writer_text (_tmp27_, "Description:");
4745 valadoc_markup_writer_end_tag (_tmp28_, "h2");
4746 _tmp26_ = (_vala_array_free (_tmp26_, _tmp26__length1, (GDestroyNotify) g_free), NULL);
4747 valadoc_html_basic_doclet_write_documentation (self, (ValadocApiNode*) node, parent);
4748 _tmp29_ = self->writer;
4749 _tmp30_ = g_strdup ("class");
4750 _tmp31_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4751 _tmp32_ = g_new0 (gchar*, 2 + 1);
4752 _tmp32_[0] = _tmp30_;
4753 _tmp32_[1] = _tmp31_;
4754 _tmp33_ = _tmp32_;
4755 _tmp33__length1 = 2;
4756 _tmp34_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp29_, "h2", _tmp33_, (gint) 2);
4757 _tmp35_ = valadoc_markup_writer_text (_tmp34_, "Content:");
4758 valadoc_markup_writer_end_tag (_tmp35_, "h2");
4759 _tmp33_ = (_vala_array_free (_tmp33_, _tmp33__length1, (GDestroyNotify) g_free), NULL);
4760 _tmp36_ = valadoc_api_node_get_name ((ValadocApiNode*) node);
4761 _tmp37_ = _tmp36_;
4762 if (_tmp37_ == NULL) {
4763 ValadocApiItem* _tmp38_;
4764 ValadocApiItem* _tmp39_;
4765 _tmp38_ = valadoc_api_item_get_parent ((ValadocApiItem*) node);
4766 _tmp39_ = _tmp38_;
4767 valadoc_html_basic_doclet_write_child_namespaces (self, (ValadocApiNode*) G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, VALADOC_API_TYPE_PACKAGE, ValadocApiPackage), parent);
4768 } else {
4769 valadoc_html_basic_doclet_write_child_namespaces (self, (ValadocApiNode*) node, parent);
4770 }
4771 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_INTERFACE, "Interfaces", parent);
4772 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_CLASS, "Classes", parent);
4773 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_STRUCT, "Structs", parent);
4774 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_ENUM, "Enums", parent);
4775 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_ERROR_DOMAIN, "Error domains", parent);
4776 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_CONSTANT, "Constants", parent);
4777 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_DELEGATE, "Delegates", parent);
4778 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_METHOD, "Functions", parent);
4779 valadoc_html_basic_doclet_write_children (self, (ValadocApiNode*) node, VALADOC_API_NODE_TYPE_FIELD, "Fields", parent);
4780 _tmp40_ = self->writer;
4781 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp40_, "div");
4782 _g_free0 (_tmp5_);
4783 }
4784
4785 void
valadoc_html_basic_doclet_write_package_content(ValadocHtmlBasicDoclet * self,ValadocApiPackage * node,ValadocApiNode * parent)4786 valadoc_html_basic_doclet_write_package_content (ValadocHtmlBasicDoclet* self,
4787 ValadocApiPackage* node,
4788 ValadocApiNode* parent)
4789 {
4790 ValadocHtmlMarkupWriter* _tmp0_;
4791 gchar* _tmp1_;
4792 gchar* _tmp2_;
4793 gchar** _tmp3_;
4794 gchar** _tmp4_;
4795 gint _tmp4__length1;
4796 ValadocHtmlMarkupWriter* _tmp5_;
4797 gchar* _tmp6_;
4798 gchar* _tmp7_;
4799 gchar* _tmp8_;
4800 const gchar* _tmp9_;
4801 const gchar* _tmp10_;
4802 gchar* _tmp11_;
4803 gchar** _tmp12_;
4804 gchar** _tmp13_;
4805 gint _tmp13__length1;
4806 ValadocMarkupWriter* _tmp14_;
4807 const gchar* _tmp15_;
4808 const gchar* _tmp16_;
4809 ValadocMarkupWriter* _tmp17_;
4810 ValadocHtmlMarkupWriter* _tmp18_;
4811 gchar* _tmp19_;
4812 gchar* _tmp20_;
4813 gchar** _tmp21_;
4814 gchar** _tmp22_;
4815 gint _tmp22__length1;
4816 ValadocHtmlMarkupWriter* _tmp23_;
4817 gchar* _tmp24_;
4818 gchar* _tmp25_;
4819 gchar** _tmp26_;
4820 gchar** _tmp27_;
4821 gint _tmp27__length1;
4822 ValadocMarkupWriter* _tmp28_;
4823 ValadocMarkupWriter* _tmp29_;
4824 ValadocWikiPage* _tmp30_ = NULL;
4825 ValadocApiTree* _tmp31_;
4826 ValadocWikiPageTree* _tmp32_;
4827 ValadocWikiPageTree* _tmp33_;
4828 ValadocWikiPage* wikipage = NULL;
4829 ValadocWikiPage* _tmp39_;
4830 ValadocWikiPage* _tmp40_;
4831 ValadocHtmlMarkupWriter* _tmp46_;
4832 gchar* _tmp47_;
4833 gchar* _tmp48_;
4834 gchar** _tmp49_;
4835 gchar** _tmp50_;
4836 gint _tmp50__length1;
4837 ValadocMarkupWriter* _tmp51_;
4838 ValadocMarkupWriter* _tmp52_;
4839 ValadocHtmlMarkupWriter* _tmp73_;
4840 g_return_if_fail (self != NULL);
4841 g_return_if_fail (node != NULL);
4842 _tmp0_ = self->writer;
4843 _tmp1_ = g_strdup ("class");
4844 _tmp2_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_content);
4845 _tmp3_ = g_new0 (gchar*, 2 + 1);
4846 _tmp3_[0] = _tmp1_;
4847 _tmp3_[1] = _tmp2_;
4848 _tmp4_ = _tmp3_;
4849 _tmp4__length1 = 2;
4850 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "div", _tmp4_, (gint) 2);
4851 _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
4852 _tmp5_ = self->writer;
4853 _tmp6_ = g_strdup ("class");
4854 _tmp7_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4855 _tmp8_ = g_strdup ("id");
4856 _tmp9_ = valadoc_api_node_get_name ((ValadocApiNode*) node);
4857 _tmp10_ = _tmp9_;
4858 _tmp11_ = g_strdup (_tmp10_);
4859 _tmp12_ = g_new0 (gchar*, 4 + 1);
4860 _tmp12_[0] = _tmp6_;
4861 _tmp12_[1] = _tmp7_;
4862 _tmp12_[2] = _tmp8_;
4863 _tmp12_[3] = _tmp11_;
4864 _tmp13_ = _tmp12_;
4865 _tmp13__length1 = 4;
4866 _tmp14_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp5_, "h1", _tmp13_, (gint) 4);
4867 _tmp15_ = valadoc_api_node_get_name ((ValadocApiNode*) node);
4868 _tmp16_ = _tmp15_;
4869 _tmp17_ = valadoc_markup_writer_text (_tmp14_, _tmp16_);
4870 valadoc_markup_writer_end_tag (_tmp17_, "h1");
4871 _tmp13_ = (_vala_array_free (_tmp13_, _tmp13__length1, (GDestroyNotify) g_free), NULL);
4872 _tmp18_ = self->writer;
4873 _tmp19_ = g_strdup ("class");
4874 _tmp20_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_headline_hr);
4875 _tmp21_ = g_new0 (gchar*, 2 + 1);
4876 _tmp21_[0] = _tmp19_;
4877 _tmp21_[1] = _tmp20_;
4878 _tmp22_ = _tmp21_;
4879 _tmp22__length1 = 2;
4880 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp18_, "hr", _tmp22_, (gint) 2);
4881 _tmp22_ = (_vala_array_free (_tmp22_, _tmp22__length1, (GDestroyNotify) g_free), NULL);
4882 _tmp23_ = self->writer;
4883 _tmp24_ = g_strdup ("class");
4884 _tmp25_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4885 _tmp26_ = g_new0 (gchar*, 2 + 1);
4886 _tmp26_[0] = _tmp24_;
4887 _tmp26_[1] = _tmp25_;
4888 _tmp27_ = _tmp26_;
4889 _tmp27__length1 = 2;
4890 _tmp28_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp23_, "h2", _tmp27_, (gint) 2);
4891 _tmp29_ = valadoc_markup_writer_text (_tmp28_, "Description:");
4892 valadoc_markup_writer_end_tag (_tmp29_, "h2");
4893 _tmp27_ = (_vala_array_free (_tmp27_, _tmp27__length1, (GDestroyNotify) g_free), NULL);
4894 _tmp31_ = self->tree;
4895 _tmp32_ = valadoc_api_tree_get_wikitree (_tmp31_);
4896 _tmp33_ = _tmp32_;
4897 if (_tmp33_ == NULL) {
4898 _g_object_unref0 (_tmp30_);
4899 _tmp30_ = NULL;
4900 } else {
4901 ValadocApiTree* _tmp34_;
4902 ValadocWikiPageTree* _tmp35_;
4903 ValadocWikiPageTree* _tmp36_;
4904 const gchar* _tmp37_;
4905 ValadocWikiPage* _tmp38_;
4906 _tmp34_ = self->tree;
4907 _tmp35_ = valadoc_api_tree_get_wikitree (_tmp34_);
4908 _tmp36_ = _tmp35_;
4909 _tmp37_ = self->priv->_wiki_index_name;
4910 _tmp38_ = valadoc_wiki_page_tree_search (_tmp36_, _tmp37_);
4911 _g_object_unref0 (_tmp30_);
4912 _tmp30_ = _tmp38_;
4913 }
4914 _tmp39_ = _g_object_ref0 (_tmp30_);
4915 wikipage = _tmp39_;
4916 _tmp40_ = wikipage;
4917 if (_tmp40_ != NULL) {
4918 ValadocHtmlHtmlRenderer* _tmp41_;
4919 ValadocHtmlHtmlRenderer* _tmp42_;
4920 ValadocWikiPage* _tmp43_;
4921 ValadocContentPage* _tmp44_;
4922 ValadocContentPage* _tmp45_;
4923 _tmp41_ = self->_renderer;
4924 valadoc_html_html_renderer_set_container (_tmp41_, (ValadocDocumentation*) parent);
4925 _tmp42_ = self->_renderer;
4926 _tmp43_ = wikipage;
4927 _tmp44_ = valadoc_wiki_page_get_documentation (_tmp43_);
4928 _tmp45_ = _tmp44_;
4929 valadoc_content_content_renderer_render ((ValadocContentContentRenderer*) _tmp42_, (ValadocContentContentElement*) _tmp45_);
4930 }
4931 _tmp46_ = self->writer;
4932 _tmp47_ = g_strdup ("class");
4933 _tmp48_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_title);
4934 _tmp49_ = g_new0 (gchar*, 2 + 1);
4935 _tmp49_[0] = _tmp47_;
4936 _tmp49_[1] = _tmp48_;
4937 _tmp50_ = _tmp49_;
4938 _tmp50__length1 = 2;
4939 _tmp51_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp46_, "h2", _tmp50_, (gint) 2);
4940 _tmp52_ = valadoc_markup_writer_text (_tmp51_, "Content:");
4941 valadoc_markup_writer_end_tag (_tmp52_, "h2");
4942 _tmp50_ = (_vala_array_free (_tmp50_, _tmp50__length1, (GDestroyNotify) g_free), NULL);
4943 valadoc_html_basic_doclet_write_child_namespaces (self, (ValadocApiNode*) node, parent);
4944 {
4945 ValaList* _child_list = NULL;
4946 ValaList* _tmp53_;
4947 gint _child_size = 0;
4948 ValaList* _tmp54_;
4949 gint _tmp55_;
4950 gint _tmp56_;
4951 gint _child_index = 0;
4952 _tmp53_ = valadoc_api_node_get_children_by_type ((ValadocApiNode*) node, VALADOC_API_NODE_TYPE_NAMESPACE, TRUE);
4953 _child_list = _tmp53_;
4954 _tmp54_ = _child_list;
4955 _tmp55_ = vala_collection_get_size ((ValaCollection*) _tmp54_);
4956 _tmp56_ = _tmp55_;
4957 _child_size = _tmp56_;
4958 _child_index = -1;
4959 while (TRUE) {
4960 gint _tmp57_;
4961 gint _tmp58_;
4962 ValadocApiNode* child = NULL;
4963 ValaList* _tmp59_;
4964 gpointer _tmp60_;
4965 ValadocApiNode* _tmp61_;
4966 const gchar* _tmp62_;
4967 const gchar* _tmp63_;
4968 _child_index = _child_index + 1;
4969 _tmp57_ = _child_index;
4970 _tmp58_ = _child_size;
4971 if (!(_tmp57_ < _tmp58_)) {
4972 break;
4973 }
4974 _tmp59_ = _child_list;
4975 _tmp60_ = vala_list_get (_tmp59_, _child_index);
4976 child = (ValadocApiNode*) _tmp60_;
4977 _tmp61_ = child;
4978 _tmp62_ = valadoc_api_node_get_name (_tmp61_);
4979 _tmp63_ = _tmp62_;
4980 if (_tmp63_ == NULL) {
4981 ValadocApiNode* _tmp64_;
4982 ValadocApiNode* _tmp65_;
4983 ValadocApiNode* _tmp66_;
4984 ValadocApiNode* _tmp67_;
4985 ValadocApiNode* _tmp68_;
4986 ValadocApiNode* _tmp69_;
4987 ValadocApiNode* _tmp70_;
4988 ValadocApiNode* _tmp71_;
4989 ValadocApiNode* _tmp72_;
4990 _tmp64_ = child;
4991 valadoc_html_basic_doclet_write_children (self, _tmp64_, VALADOC_API_NODE_TYPE_INTERFACE, "Interfaces", parent);
4992 _tmp65_ = child;
4993 valadoc_html_basic_doclet_write_children (self, _tmp65_, VALADOC_API_NODE_TYPE_CLASS, "Classes", parent);
4994 _tmp66_ = child;
4995 valadoc_html_basic_doclet_write_children (self, _tmp66_, VALADOC_API_NODE_TYPE_STRUCT, "Structs", parent);
4996 _tmp67_ = child;
4997 valadoc_html_basic_doclet_write_children (self, _tmp67_, VALADOC_API_NODE_TYPE_ENUM, "Enums", parent);
4998 _tmp68_ = child;
4999 valadoc_html_basic_doclet_write_children (self, _tmp68_, VALADOC_API_NODE_TYPE_ERROR_DOMAIN, "Error domains", parent);
5000 _tmp69_ = child;
5001 valadoc_html_basic_doclet_write_children (self, _tmp69_, VALADOC_API_NODE_TYPE_CONSTANT, "Constants", parent);
5002 _tmp70_ = child;
5003 valadoc_html_basic_doclet_write_children (self, _tmp70_, VALADOC_API_NODE_TYPE_DELEGATE, "Delegates", parent);
5004 _tmp71_ = child;
5005 valadoc_html_basic_doclet_write_children (self, _tmp71_, VALADOC_API_NODE_TYPE_METHOD, "Functions", parent);
5006 _tmp72_ = child;
5007 valadoc_html_basic_doclet_write_children (self, _tmp72_, VALADOC_API_NODE_TYPE_FIELD, "Fields", parent);
5008 }
5009 _g_object_unref0 (child);
5010 }
5011 _vala_iterable_unref0 (_child_list);
5012 }
5013 valadoc_html_basic_doclet_write_child_dependencies (self, node, parent);
5014 _tmp73_ = self->writer;
5015 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp73_, "div");
5016 _g_object_unref0 (wikipage);
5017 _g_object_unref0 (_tmp30_);
5018 }
5019
5020 void
valadoc_html_basic_doclet_write_file_header(ValadocHtmlBasicDoclet * self,const gchar * css,const gchar * js,const gchar * title)5021 valadoc_html_basic_doclet_write_file_header (ValadocHtmlBasicDoclet* self,
5022 const gchar* css,
5023 const gchar* js,
5024 const gchar* title)
5025 {
5026 ValadocHtmlMarkupWriter* _tmp0_;
5027 ValadocHtmlMarkupWriter* _tmp1_;
5028 ValadocHtmlMarkupWriter* _tmp2_;
5029 gchar* _tmp3_;
5030 gchar* _tmp4_;
5031 gchar** _tmp5_;
5032 gchar** _tmp6_;
5033 gint _tmp6__length1;
5034 ValadocHtmlMarkupWriter* _tmp14_;
5035 ValadocHtmlMarkupWriter* _tmp15_;
5036 ValadocHtmlMarkupWriter* _tmp16_;
5037 ValadocHtmlMarkupWriter* _tmp17_;
5038 ValadocHtmlMarkupWriter* _tmp18_;
5039 gchar* _tmp19_;
5040 gchar* _tmp20_;
5041 gchar** _tmp21_;
5042 gchar** _tmp22_;
5043 gint _tmp22__length1;
5044 const gchar* _tmp23_ = NULL;
5045 ValadocHtmlMarkupWriter* _tmp24_;
5046 gchar* _tmp25_;
5047 gchar* _tmp26_;
5048 ValadocHtmlMarkupWriter* _tmp27_;
5049 ValadocHtmlMarkupWriter* _tmp28_;
5050 gchar* _tmp29_;
5051 gchar* _tmp30_;
5052 gchar** _tmp31_;
5053 gchar** _tmp32_;
5054 gint _tmp32__length1;
5055 g_return_if_fail (self != NULL);
5056 g_return_if_fail (css != NULL);
5057 g_return_if_fail (js != NULL);
5058 _tmp0_ = self->writer;
5059 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "html", NULL, (gint) 0);
5060 _tmp1_ = self->writer;
5061 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp1_, "head", NULL, (gint) 0);
5062 _tmp2_ = self->writer;
5063 _tmp3_ = g_strdup ("charset");
5064 _tmp4_ = g_strdup ("UTF-8");
5065 _tmp5_ = g_new0 (gchar*, 2 + 1);
5066 _tmp5_[0] = _tmp3_;
5067 _tmp5_[1] = _tmp4_;
5068 _tmp6_ = _tmp5_;
5069 _tmp6__length1 = 2;
5070 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp2_, "meta", _tmp6_, (gint) 2);
5071 _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
5072 if (title == NULL) {
5073 ValadocHtmlMarkupWriter* _tmp7_;
5074 ValadocMarkupWriter* _tmp8_;
5075 ValadocMarkupWriter* _tmp9_;
5076 _tmp7_ = self->writer;
5077 _tmp8_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp7_, "title", NULL, (gint) 0);
5078 _tmp9_ = valadoc_markup_writer_text (_tmp8_, "Vala Binding Reference");
5079 valadoc_markup_writer_end_tag (_tmp9_, "title");
5080 } else {
5081 ValadocHtmlMarkupWriter* _tmp10_;
5082 ValadocMarkupWriter* _tmp11_;
5083 ValadocMarkupWriter* _tmp12_;
5084 ValadocMarkupWriter* _tmp13_;
5085 _tmp10_ = self->writer;
5086 _tmp11_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp10_, "title", NULL, (gint) 0);
5087 _tmp12_ = valadoc_markup_writer_text (_tmp11_, title);
5088 _tmp13_ = valadoc_markup_writer_text (_tmp12_, " – Vala Binding Reference");
5089 valadoc_markup_writer_end_tag (_tmp13_, "title");
5090 }
5091 _tmp14_ = self->writer;
5092 valadoc_html_markup_writer_stylesheet_link (_tmp14_, css);
5093 _tmp15_ = self->writer;
5094 valadoc_html_markup_writer_javascript_link (_tmp15_, js);
5095 _tmp16_ = self->writer;
5096 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp16_, "head");
5097 _tmp17_ = self->writer;
5098 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp17_, "body", NULL, (gint) 0);
5099 _tmp18_ = self->writer;
5100 _tmp19_ = g_strdup ("class");
5101 _tmp20_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_site_header);
5102 _tmp21_ = g_new0 (gchar*, 2 + 1);
5103 _tmp21_[0] = _tmp19_;
5104 _tmp21_[1] = _tmp20_;
5105 _tmp22_ = _tmp21_;
5106 _tmp22__length1 = 2;
5107 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp18_, "div", _tmp22_, (gint) 2);
5108 _tmp22_ = (_vala_array_free (_tmp22_, _tmp22__length1, (GDestroyNotify) g_free), NULL);
5109 if (title == NULL) {
5110 _tmp23_ = "";
5111 } else {
5112 _tmp23_ = title;
5113 }
5114 _tmp24_ = self->writer;
5115 _tmp25_ = g_strdup_printf ("%s Reference Manual", _tmp23_);
5116 _tmp26_ = _tmp25_;
5117 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp24_, _tmp26_);
5118 _g_free0 (_tmp26_);
5119 _tmp27_ = self->writer;
5120 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp27_, "div");
5121 _tmp28_ = self->writer;
5122 _tmp29_ = g_strdup ("class");
5123 _tmp30_ = g_strdup (VALADOC_HTML_BASIC_DOCLET_css_style_body);
5124 _tmp31_ = g_new0 (gchar*, 2 + 1);
5125 _tmp31_[0] = _tmp29_;
5126 _tmp31_[1] = _tmp30_;
5127 _tmp32_ = _tmp31_;
5128 _tmp32__length1 = 2;
5129 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp28_, "div", _tmp32_, (gint) 2);
5130 _tmp32_ = (_vala_array_free (_tmp32_, _tmp32__length1, (GDestroyNotify) g_free), NULL);
5131 }
5132
5133 void
valadoc_html_basic_doclet_write_file_footer(ValadocHtmlBasicDoclet * self)5134 valadoc_html_basic_doclet_write_file_footer (ValadocHtmlBasicDoclet* self)
5135 {
5136 ValadocHtmlMarkupWriter* _tmp0_;
5137 ValadocHtmlMarkupWriter* _tmp1_;
5138 ValadocHtmlMarkupWriter* _tmp2_;
5139 gchar* _tmp3_;
5140 gchar* _tmp4_;
5141 gchar** _tmp5_;
5142 gchar** _tmp6_;
5143 gint _tmp6__length1;
5144 ValadocHtmlMarkupWriter* _tmp7_;
5145 ValadocHtmlMarkupWriter* _tmp8_;
5146 ValadocHtmlMarkupWriter* _tmp9_;
5147 ValadocHtmlMarkupWriter* _tmp10_;
5148 ValadocHtmlMarkupWriter* _tmp11_;
5149 g_return_if_fail (self != NULL);
5150 _tmp0_ = self->writer;
5151 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp0_, "div");
5152 _tmp1_ = self->writer;
5153 valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp1_, "br", NULL, (gint) 0);
5154 _tmp2_ = self->writer;
5155 _tmp3_ = g_strdup ("class");
5156 _tmp4_ = g_strdup ("site_footer");
5157 _tmp5_ = g_new0 (gchar*, 2 + 1);
5158 _tmp5_[0] = _tmp3_;
5159 _tmp5_[1] = _tmp4_;
5160 _tmp6_ = _tmp5_;
5161 _tmp6__length1 = 2;
5162 valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp2_, "div", _tmp6_, (gint) 2);
5163 _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
5164 _tmp7_ = self->writer;
5165 valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp7_, "Generated by ");
5166 _tmp8_ = self->writer;
5167 valadoc_html_markup_writer_link (_tmp8_, "https://wiki.gnome.org/Projects/Valadoc", "<kbd>valadoc</kbd>", NULL);
5168 _tmp9_ = self->writer;
5169 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp9_, "div");
5170 _tmp10_ = self->writer;
5171 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp10_, "body");
5172 _tmp11_ = self->writer;
5173 valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp11_, "html");
5174 }
5175
5176 ValadocHtmlBasicDoclet*
valadoc_html_basic_doclet_construct(GType object_type)5177 valadoc_html_basic_doclet_construct (GType object_type)
5178 {
5179 ValadocHtmlBasicDoclet * self = NULL;
5180 self = (ValadocHtmlBasicDoclet*) valadoc_api_visitor_construct (object_type);
5181 return self;
5182 }
5183
5184 static void
valadoc_html_basic_doclet_class_init(ValadocHtmlBasicDocletClass * klass,gpointer klass_data)5185 valadoc_html_basic_doclet_class_init (ValadocHtmlBasicDocletClass * klass,
5186 gpointer klass_data)
5187 {
5188 ValadocApiNodeType* _tmp0_;
5189 valadoc_html_basic_doclet_parent_class = g_type_class_peek_parent (klass);
5190 g_type_class_adjust_private_offset (klass, &ValadocHtmlBasicDoclet_private_offset);
5191 ((ValadocHtmlBasicDocletClass *) klass)->process = (void (*) (ValadocHtmlBasicDoclet*, ValadocSettings*, ValadocApiTree*, ValadocErrorReporter*)) valadoc_html_basic_doclet_real_process;
5192 ((ValadocHtmlBasicDocletClass *) klass)->get_img_path_html = (gchar* (*) (ValadocHtmlBasicDoclet*, ValadocApiNode*, const gchar*)) valadoc_html_basic_doclet_real_get_img_path_html;
5193 ((ValadocHtmlBasicDocletClass *) klass)->get_img_path = (gchar* (*) (ValadocHtmlBasicDoclet*, ValadocApiNode*, const gchar*)) valadoc_html_basic_doclet_real_get_img_path;
5194 ((ValadocHtmlBasicDocletClass *) klass)->get_icon_directory = (gchar* (*) (ValadocHtmlBasicDoclet*)) valadoc_html_basic_doclet_real_get_icon_directory;
5195 ((ValadocHtmlBasicDocletClass *) klass)->write_wiki_page = (void (*) (ValadocHtmlBasicDoclet*, ValadocWikiPage*, const gchar*, const gchar*, const gchar*, const gchar*)) valadoc_html_basic_doclet_real_write_wiki_page;
5196 G_OBJECT_CLASS (klass)->get_property = _vala_valadoc_html_basic_doclet_get_property;
5197 G_OBJECT_CLASS (klass)->set_property = _vala_valadoc_html_basic_doclet_set_property;
5198 G_OBJECT_CLASS (klass)->finalize = valadoc_html_basic_doclet_finalize;
5199 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_HTML_BASIC_DOCLET_LINKER_PROPERTY, valadoc_html_basic_doclet_properties[VALADOC_HTML_BASIC_DOCLET_LINKER_PROPERTY] = g_param_spec_object ("linker", "linker", "linker", VALADOC_HTML_TYPE_LINK_HELPER, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
5200 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_HTML_BASIC_DOCLET_SETTINGS_PROPERTY, valadoc_html_basic_doclet_properties[VALADOC_HTML_BASIC_DOCLET_SETTINGS_PROPERTY] = g_param_spec_object ("settings", "settings", "settings", VALADOC_TYPE_SETTINGS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
5201 g_object_class_install_property (G_OBJECT_CLASS (klass), VALADOC_HTML_BASIC_DOCLET_WIKI_INDEX_NAME_PROPERTY, valadoc_html_basic_doclet_properties[VALADOC_HTML_BASIC_DOCLET_WIKI_INDEX_NAME_PROPERTY] = g_param_spec_string ("wiki-index-name", "wiki-index-name", "wiki-index-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
5202 _tmp0_ = g_new0 (ValadocApiNodeType, 7);
5203 _tmp0_[0] = VALADOC_API_NODE_TYPE_CONSTANT;
5204 _tmp0_[1] = VALADOC_API_NODE_TYPE_PROPERTY;
5205 _tmp0_[2] = VALADOC_API_NODE_TYPE_DELEGATE;
5206 _tmp0_[3] = VALADOC_API_NODE_TYPE_STATIC_METHOD;
5207 _tmp0_[4] = VALADOC_API_NODE_TYPE_METHOD;
5208 _tmp0_[5] = VALADOC_API_NODE_TYPE_SIGNAL;
5209 _tmp0_[6] = VALADOC_API_NODE_TYPE_FIELD;
5210 valadoc_html_basic_doclet_inheritable_members = _tmp0_;
5211 valadoc_html_basic_doclet_inheritable_members_length1 = 7;
5212 }
5213
5214 static void
valadoc_html_basic_doclet_valadoc_doclet_interface_init(ValadocDocletIface * iface,gpointer iface_data)5215 valadoc_html_basic_doclet_valadoc_doclet_interface_init (ValadocDocletIface * iface,
5216 gpointer iface_data)
5217 {
5218 valadoc_html_basic_doclet_valadoc_doclet_parent_iface = g_type_interface_peek_parent (iface);
5219 iface->process = (void (*) (ValadocDoclet*, ValadocSettings*, ValadocApiTree*, ValadocErrorReporter*)) valadoc_html_basic_doclet_process;
5220 }
5221
5222 static void
valadoc_html_basic_doclet_instance_init(ValadocHtmlBasicDoclet * self,gpointer klass)5223 valadoc_html_basic_doclet_instance_init (ValadocHtmlBasicDoclet * self,
5224 gpointer klass)
5225 {
5226 gchar* _tmp0_;
5227 gchar* _tmp1_;
5228 self->priv = valadoc_html_basic_doclet_get_instance_private (self);
5229 _tmp0_ = g_strdup ("index.valadoc");
5230 self->priv->_wiki_index_name = _tmp0_;
5231 _tmp1_ = g_strdup ("../index.html");
5232 self->package_list_link = _tmp1_;
5233 self->priv->html_id_counter = (guint) 0;
5234 }
5235
5236 static void
valadoc_html_basic_doclet_finalize(GObject * obj)5237 valadoc_html_basic_doclet_finalize (GObject * obj)
5238 {
5239 ValadocHtmlBasicDoclet * self;
5240 self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_HTML_TYPE_BASIC_DOCLET, ValadocHtmlBasicDoclet);
5241 _g_object_unref0 (self->priv->_linker);
5242 _g_object_unref0 (self->priv->_settings);
5243 _g_free0 (self->priv->_wiki_index_name);
5244 _valadoc_api_tree_unref0 (self->tree);
5245 _g_object_unref0 (self->_renderer);
5246 _valadoc_markup_writer_unref0 (self->writer);
5247 _g_object_unref0 (self->cssresolver);
5248 _g_object_unref0 (self->image_factory);
5249 _g_object_unref0 (self->reporter);
5250 _g_free0 (self->package_list_link);
5251 G_OBJECT_CLASS (valadoc_html_basic_doclet_parent_class)->finalize (obj);
5252 }
5253
5254 static GType
valadoc_html_basic_doclet_get_type_once(void)5255 valadoc_html_basic_doclet_get_type_once (void)
5256 {
5257 static const GTypeInfo g_define_type_info = { sizeof (ValadocHtmlBasicDocletClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_html_basic_doclet_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocHtmlBasicDoclet), 0, (GInstanceInitFunc) valadoc_html_basic_doclet_instance_init, NULL };
5258 static const GInterfaceInfo valadoc_doclet_info = { (GInterfaceInitFunc) valadoc_html_basic_doclet_valadoc_doclet_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
5259 GType valadoc_html_basic_doclet_type_id;
5260 valadoc_html_basic_doclet_type_id = g_type_register_static (VALADOC_API_TYPE_VISITOR, "ValadocHtmlBasicDoclet", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
5261 g_type_add_interface_static (valadoc_html_basic_doclet_type_id, VALADOC_TYPE_DOCLET, &valadoc_doclet_info);
5262 ValadocHtmlBasicDoclet_private_offset = g_type_add_instance_private (valadoc_html_basic_doclet_type_id, sizeof (ValadocHtmlBasicDocletPrivate));
5263 return valadoc_html_basic_doclet_type_id;
5264 }
5265
5266 GType
valadoc_html_basic_doclet_get_type(void)5267 valadoc_html_basic_doclet_get_type (void)
5268 {
5269 static volatile gsize valadoc_html_basic_doclet_type_id__volatile = 0;
5270 if (g_once_init_enter (&valadoc_html_basic_doclet_type_id__volatile)) {
5271 GType valadoc_html_basic_doclet_type_id;
5272 valadoc_html_basic_doclet_type_id = valadoc_html_basic_doclet_get_type_once ();
5273 g_once_init_leave (&valadoc_html_basic_doclet_type_id__volatile, valadoc_html_basic_doclet_type_id);
5274 }
5275 return valadoc_html_basic_doclet_type_id__volatile;
5276 }
5277
5278 static void
_vala_valadoc_html_basic_doclet_get_property(GObject * object,guint property_id,GValue * value,GParamSpec * pspec)5279 _vala_valadoc_html_basic_doclet_get_property (GObject * object,
5280 guint property_id,
5281 GValue * value,
5282 GParamSpec * pspec)
5283 {
5284 ValadocHtmlBasicDoclet * self;
5285 self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_HTML_TYPE_BASIC_DOCLET, ValadocHtmlBasicDoclet);
5286 switch (property_id) {
5287 case VALADOC_HTML_BASIC_DOCLET_LINKER_PROPERTY:
5288 g_value_set_object (value, valadoc_html_basic_doclet_get_linker (self));
5289 break;
5290 case VALADOC_HTML_BASIC_DOCLET_SETTINGS_PROPERTY:
5291 g_value_set_object (value, valadoc_html_basic_doclet_get_settings (self));
5292 break;
5293 case VALADOC_HTML_BASIC_DOCLET_WIKI_INDEX_NAME_PROPERTY:
5294 g_value_set_string (value, valadoc_html_basic_doclet_get_wiki_index_name (self));
5295 break;
5296 default:
5297 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
5298 break;
5299 }
5300 }
5301
5302 static void
_vala_valadoc_html_basic_doclet_set_property(GObject * object,guint property_id,const GValue * value,GParamSpec * pspec)5303 _vala_valadoc_html_basic_doclet_set_property (GObject * object,
5304 guint property_id,
5305 const GValue * value,
5306 GParamSpec * pspec)
5307 {
5308 ValadocHtmlBasicDoclet * self;
5309 self = G_TYPE_CHECK_INSTANCE_CAST (object, VALADOC_HTML_TYPE_BASIC_DOCLET, ValadocHtmlBasicDoclet);
5310 switch (property_id) {
5311 case VALADOC_HTML_BASIC_DOCLET_LINKER_PROPERTY:
5312 valadoc_html_basic_doclet_set_linker (self, g_value_get_object (value));
5313 break;
5314 case VALADOC_HTML_BASIC_DOCLET_SETTINGS_PROPERTY:
5315 valadoc_html_basic_doclet_set_settings (self, g_value_get_object (value));
5316 break;
5317 case VALADOC_HTML_BASIC_DOCLET_WIKI_INDEX_NAME_PROPERTY:
5318 valadoc_html_basic_doclet_set_wiki_index_name (self, g_value_get_string (value));
5319 break;
5320 default:
5321 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
5322 break;
5323 }
5324 }
5325
5326 static void
_vala_array_destroy(gpointer array,gint array_length,GDestroyNotify destroy_func)5327 _vala_array_destroy (gpointer array,
5328 gint array_length,
5329 GDestroyNotify destroy_func)
5330 {
5331 if ((array != NULL) && (destroy_func != NULL)) {
5332 gint i;
5333 for (i = 0; i < array_length; i = i + 1) {
5334 if (((gpointer*) array)[i] != NULL) {
5335 destroy_func (((gpointer*) array)[i]);
5336 }
5337 }
5338 }
5339 }
5340
5341 static void
_vala_array_free(gpointer array,gint array_length,GDestroyNotify destroy_func)5342 _vala_array_free (gpointer array,
5343 gint array_length,
5344 GDestroyNotify destroy_func)
5345 {
5346 _vala_array_destroy (array, array_length, destroy_func);
5347 g_free (array);
5348 }
5349
5350