/* htmlrenderer.c generated by valac, the Vala compiler
 * generated from htmlrenderer.vala, do not modify */

/* htmlrenderer.vala
 *
 * Copyright (C) 2008-20014 Florian Brosch, Didier Villevalois
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 *
 * Author:
 * 	Didier 'Ptitjes Villevalois <ptitjes@free.fr>
 */

#include <glib.h>
#include <glib-object.h>
#include "valadoc.h"
#include <stdlib.h>
#include <string.h>
#include <valagee.h>

enum  {
	VALADOC_HTML_HTML_RENDERER_0_PROPERTY,
	VALADOC_HTML_HTML_RENDERER_NUM_PROPERTIES
};
static GParamSpec* valadoc_html_html_renderer_properties[VALADOC_HTML_HTML_RENDERER_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _valadoc_markup_writer_unref0(var) ((var == NULL) ? NULL : (var = (valadoc_markup_writer_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))

typedef void (*ValadocHtmlHtmlRendererWrite) (void* user_data);
typedef void (*ValadocHtmlHtmlRendererTagletWrite) (ValadocContentTaglet* taglet, void* user_data);

static gpointer valadoc_html_html_renderer_parent_class = NULL;

static void valadoc_html_html_renderer_real_render (ValadocContentContentRenderer* base, ValadocContentContentElement* element);
static void valadoc_html_html_renderer_real_render_children (ValadocContentContentRenderer* base, ValadocContentContentElement* element);
static gchar* valadoc_html_html_renderer_get_url (ValadocHtmlHtmlRenderer* self, ValadocDocumentation* symbol);
static void valadoc_html_html_renderer_write_unresolved_symbol_link (ValadocHtmlHtmlRenderer* self, const gchar* given_symbol_name, ValadocContentInlineContent* label_owner);
static void valadoc_html_html_renderer_write_resolved_symbol_link (ValadocHtmlHtmlRenderer* self, ValadocApiNode* symbol, const gchar* given_symbol_name, ValadocContentInlineContent* label_owner);
static void valadoc_html_html_renderer_write_taglets (ValadocHtmlHtmlRenderer* self, ValadocHtmlHtmlRendererWrite header, void* header_target, ValadocHtmlHtmlRendererWrite footer, void* footer_target, ValadocHtmlHtmlRendererWrite separator, void* separator_target, ValaList* taglets, ValadocHtmlHtmlRendererTagletWrite write, void* write_target);
static void valadoc_html_html_renderer_real_visit_comment (ValadocContentContentVisitor* base, ValadocContentComment* element);
static void __lambda140_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda140__valadoc_html_html_renderer_write (gpointer self);
static void __lambda141_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda141__valadoc_html_html_renderer_write (gpointer self);
static void __lambda142_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda142__valadoc_html_html_renderer_write (gpointer self);
static void __lambda143_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet);
static void ___lambda143__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self);
static gint __lambda144_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* _a, ValadocContentTaglet* _b);
static gint ___lambda144__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self);
static void __lambda145_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda145__valadoc_html_html_renderer_write (gpointer self);
static void __lambda146_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda146__valadoc_html_html_renderer_write (gpointer self);
static void __lambda147_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda147__valadoc_html_html_renderer_write (gpointer self);
static void __lambda148_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet);
static void ___lambda148__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self);
static void __lambda149_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda149__valadoc_html_html_renderer_write (gpointer self);
static void __lambda150_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda150__valadoc_html_html_renderer_write (gpointer self);
static void __lambda151_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda151__valadoc_html_html_renderer_write (gpointer self);
static void __lambda152_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet);
static void ___lambda152__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self);
static void __lambda153_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda153__valadoc_html_html_renderer_write (gpointer self);
static void __lambda154_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda154__valadoc_html_html_renderer_write (gpointer self);
static void __lambda155_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda155__valadoc_html_html_renderer_write (gpointer self);
static void __lambda156_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet);
static void ___lambda156__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self);
static void __lambda157_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda157__valadoc_html_html_renderer_write (gpointer self);
static void __lambda158_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda158__valadoc_html_html_renderer_write (gpointer self);
static void __lambda159_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda159__valadoc_html_html_renderer_write (gpointer self);
static void __lambda160_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet);
static void ___lambda160__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self);
static void __lambda161_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda161__valadoc_html_html_renderer_write (gpointer self);
static void __lambda162_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda162__valadoc_html_html_renderer_write (gpointer self);
static void __lambda163_ (ValadocHtmlHtmlRenderer* self);
static void ___lambda163__valadoc_html_html_renderer_write (gpointer self);
static void __lambda164_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet);
static void ___lambda164__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self);
static void valadoc_html_html_renderer_real_visit_embedded (ValadocContentContentVisitor* base, ValadocContentEmbedded* element);
static void valadoc_html_html_renderer_real_visit_headline (ValadocContentContentVisitor* base, ValadocContentHeadline* element);
static void valadoc_html_html_renderer_real_visit_wiki_link (ValadocContentContentVisitor* base, ValadocContentWikiLink* element);
static void valadoc_html_html_renderer_real_visit_link (ValadocContentContentVisitor* base, ValadocContentLink* element);
static void valadoc_html_html_renderer_real_visit_symbol_link (ValadocContentContentVisitor* base, ValadocContentSymbolLink* element);
static void valadoc_html_html_renderer_real_visit_list (ValadocContentContentVisitor* base, ValadocContentList* element);
static void valadoc_html_html_renderer_real_visit_list_item (ValadocContentContentVisitor* base, ValadocContentListItem* element);
static void valadoc_html_html_renderer_real_visit_page (ValadocContentContentVisitor* base, ValadocContentPage* element);
static void valadoc_html_html_renderer_real_visit_paragraph (ValadocContentContentVisitor* base, ValadocContentParagraph* element);
static void valadoc_html_html_renderer_visit_notification_block (ValadocHtmlHtmlRenderer* self, ValadocContentBlockContent* element, const gchar* headline);
static void valadoc_html_html_renderer_real_visit_warning (ValadocContentContentVisitor* base, ValadocContentWarning* element);
static void valadoc_html_html_renderer_real_visit_note (ValadocContentContentVisitor* base, ValadocContentNote* element);
static void valadoc_html_html_renderer_real_visit_run (ValadocContentContentVisitor* base, ValadocContentRun* element);
static void valadoc_html_html_renderer_real_visit_source_code (ValadocContentContentVisitor* base, ValadocContentSourceCode* element);
static void valadoc_html_html_renderer_real_visit_table (ValadocContentContentVisitor* base, ValadocContentTable* element);
static void valadoc_html_html_renderer_real_visit_table_cell (ValadocContentContentVisitor* base, ValadocContentTableCell* element);
static void valadoc_html_html_renderer_real_visit_table_row (ValadocContentContentVisitor* base, ValadocContentTableRow* element);
static void valadoc_html_html_renderer_real_visit_taglet (ValadocContentContentVisitor* base, ValadocContentTaglet* element);
static void valadoc_html_html_renderer_real_visit_text (ValadocContentContentVisitor* base, ValadocContentText* element);
static void valadoc_html_html_renderer_write_string (ValadocHtmlHtmlRenderer* self, const gchar* content);
static void valadoc_html_html_renderer_finalize (GObject * obj);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


static gpointer _g_object_ref0 (gpointer self) {
	return self ? g_object_ref (self) : NULL;
}


ValadocHtmlHtmlRenderer* valadoc_html_html_renderer_construct (GType object_type, ValadocSettings* settings, ValadocHtmlLinkHelper* linker, ValadocHtmlCssClassResolver* cssresolver) {
	ValadocHtmlHtmlRenderer * self = NULL;
	ValadocHtmlCssClassResolver* _tmp0_;
	ValadocHtmlCssClassResolver* _tmp1_;
	ValadocSettings* _tmp2_;
	ValadocSettings* _tmp3_;
	ValadocHtmlLinkHelper* _tmp4_;
	ValadocHtmlLinkHelper* _tmp5_;
	g_return_val_if_fail (settings != NULL, NULL);
	g_return_val_if_fail (linker != NULL, NULL);
	g_return_val_if_fail (cssresolver != NULL, NULL);
	self = (ValadocHtmlHtmlRenderer*) valadoc_content_content_renderer_construct (object_type);
	_tmp0_ = cssresolver;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->cssresolver);
	self->cssresolver = _tmp1_;
	_tmp2_ = settings;
	_tmp3_ = _g_object_ref0 (_tmp2_);
	_g_object_unref0 (self->settings);
	self->settings = _tmp3_;
	_tmp4_ = linker;
	_tmp5_ = _g_object_ref0 (_tmp4_);
	_g_object_unref0 (self->linker);
	self->linker = _tmp5_;
	return self;
}


ValadocHtmlHtmlRenderer* valadoc_html_html_renderer_new (ValadocSettings* settings, ValadocHtmlLinkHelper* linker, ValadocHtmlCssClassResolver* cssresolver) {
	return valadoc_html_html_renderer_construct (VALADOC_HTML_TYPE_HTML_RENDERER, settings, linker, cssresolver);
}


void valadoc_html_html_renderer_set_container (ValadocHtmlHtmlRenderer* self, ValadocDocumentation* container) {
	ValadocDocumentation* _tmp0_;
	ValadocDocumentation* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = container;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->_container);
	self->_container = _tmp1_;
}


void valadoc_html_html_renderer_set_owner (ValadocHtmlHtmlRenderer* self, ValadocDocumentation* owner) {
	ValadocDocumentation* _tmp0_;
	ValadocDocumentation* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = owner;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->_owner);
	self->_owner = _tmp1_;
}


void valadoc_html_html_renderer_set_writer (ValadocHtmlHtmlRenderer* self, ValadocHtmlMarkupWriter* writer) {
	ValadocHtmlMarkupWriter* _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (writer != NULL);
	_tmp0_ = writer;
	self->writer = _tmp0_;
}


static void valadoc_html_html_renderer_real_render (ValadocContentContentRenderer* base, ValadocContentContentElement* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentContentElement* _tmp0_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	valadoc_content_content_element_accept (_tmp0_, (ValadocContentContentVisitor*) self);
}


static void valadoc_html_html_renderer_real_render_children (ValadocContentContentRenderer* base, ValadocContentContentElement* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentContentElement* _tmp0_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	valadoc_content_content_element_accept_children (_tmp0_, (ValadocContentContentVisitor*) self);
}


static gchar* valadoc_html_html_renderer_get_url (ValadocHtmlHtmlRenderer* self, ValadocDocumentation* symbol) {
	gchar* result = NULL;
	ValadocHtmlLinkHelper* _tmp0_;
	ValadocDocumentation* _tmp1_;
	ValadocDocumentation* _tmp2_;
	ValadocSettings* _tmp3_;
	gchar* _tmp4_;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (symbol != NULL, NULL);
	_tmp0_ = self->linker;
	_tmp1_ = self->_container;
	_tmp2_ = symbol;
	_tmp3_ = self->settings;
	_tmp4_ = valadoc_html_link_helper_get_relative_link (_tmp0_, _tmp1_, _tmp2_, _tmp3_);
	result = _tmp4_;
	return result;
}


static void valadoc_html_html_renderer_write_unresolved_symbol_link (ValadocHtmlHtmlRenderer* self, const gchar* given_symbol_name, ValadocContentInlineContent* label_owner) {
	gboolean _tmp0_ = FALSE;
	ValadocContentInlineContent* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (given_symbol_name != NULL);
	_tmp1_ = label_owner;
	if (_tmp1_ == NULL) {
		_tmp0_ = TRUE;
	} else {
		ValadocContentInlineContent* _tmp2_;
		ValaList* _tmp3_;
		ValaList* _tmp4_;
		gint _tmp5_;
		gint _tmp6_;
		_tmp2_ = label_owner;
		_tmp3_ = valadoc_content_inline_content_get_content (_tmp2_);
		_tmp4_ = _tmp3_;
		_tmp5_ = vala_collection_get_size ((ValaCollection*) _tmp4_);
		_tmp6_ = _tmp5_;
		_tmp0_ = _tmp6_ == 0;
	}
	if (_tmp0_) {
		ValadocHtmlMarkupWriter* _tmp7_;
		ValadocMarkupWriter* _tmp8_;
		ValadocMarkupWriter* _tmp9_;
		ValadocHtmlMarkupWriter* _tmp10_;
		const gchar* _tmp11_;
		ValadocMarkupWriter* _tmp12_;
		ValadocMarkupWriter* _tmp13_;
		ValadocHtmlMarkupWriter* _tmp14_;
		ValadocMarkupWriter* _tmp15_;
		ValadocMarkupWriter* _tmp16_;
		_tmp7_ = self->writer;
		_tmp8_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp7_, "code", NULL, 0);
		_tmp9_ = _tmp8_;
		_valadoc_markup_writer_unref0 (_tmp9_);
		_tmp10_ = self->writer;
		_tmp11_ = given_symbol_name;
		_tmp12_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp10_, _tmp11_);
		_tmp13_ = _tmp12_;
		_valadoc_markup_writer_unref0 (_tmp13_);
		_tmp14_ = self->writer;
		_tmp15_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp14_, "code");
		_tmp16_ = _tmp15_;
		_valadoc_markup_writer_unref0 (_tmp16_);
	} else {
		ValadocHtmlMarkupWriter* _tmp17_;
		ValadocMarkupWriter* _tmp18_;
		ValadocMarkupWriter* _tmp19_;
		ValadocContentInlineContent* _tmp20_;
		ValadocHtmlMarkupWriter* _tmp21_;
		ValadocMarkupWriter* _tmp22_;
		ValadocMarkupWriter* _tmp23_;
		_tmp17_ = self->writer;
		_tmp18_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp17_, "i", NULL, 0);
		_tmp19_ = _tmp18_;
		_valadoc_markup_writer_unref0 (_tmp19_);
		_tmp20_ = label_owner;
		valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp20_, (ValadocContentContentVisitor*) self);
		_tmp21_ = self->writer;
		_tmp22_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp21_, "i");
		_tmp23_ = _tmp22_;
		_valadoc_markup_writer_unref0 (_tmp23_);
	}
}


static void valadoc_html_html_renderer_write_resolved_symbol_link (ValadocHtmlHtmlRenderer* self, ValadocApiNode* symbol, const gchar* given_symbol_name, ValadocContentInlineContent* label_owner) {
	gchar* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	const gchar* _tmp2_;
	gchar* symbol_name = NULL;
	gchar* _tmp8_;
	gchar* _tmp9_ = NULL;
	gboolean _tmp10_ = FALSE;
	ValadocApiNode* _tmp11_;
	ValadocDocumentation* _tmp12_;
	gchar* href = NULL;
	gchar* _tmp17_;
	gchar* css_class = NULL;
	ValadocHtmlCssClassResolver* _tmp18_;
	ValadocApiNode* _tmp19_;
	gchar* _tmp20_;
	gchar* end_tag_name = NULL;
	const gchar* _tmp21_;
	gboolean _tmp43_ = FALSE;
	ValadocContentInlineContent* _tmp44_;
	ValadocHtmlMarkupWriter* _tmp55_;
	const gchar* _tmp56_;
	ValadocMarkupWriter* _tmp57_;
	ValadocMarkupWriter* _tmp58_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (symbol != NULL);
	_tmp2_ = given_symbol_name;
	if (_tmp2_ == NULL) {
		_tmp1_ = TRUE;
	} else {
		const gchar* _tmp3_;
		_tmp3_ = given_symbol_name;
		_tmp1_ = g_strcmp0 (_tmp3_, "") == 0;
	}
	if (_tmp1_) {
		ValadocApiNode* _tmp4_;
		gchar* _tmp5_;
		_tmp4_ = symbol;
		_tmp5_ = valadoc_api_node_get_full_name (_tmp4_);
		_g_free0 (_tmp0_);
		_tmp0_ = _tmp5_;
	} else {
		const gchar* _tmp6_;
		gchar* _tmp7_;
		_tmp6_ = given_symbol_name;
		_tmp7_ = g_strdup (_tmp6_);
		_g_free0 (_tmp0_);
		_tmp0_ = _tmp7_;
	}
	_tmp8_ = g_strdup (_tmp0_);
	symbol_name = _tmp8_;
	_tmp11_ = symbol;
	_tmp12_ = self->_container;
	if (_tmp11_ == _tmp12_) {
		_tmp10_ = TRUE;
	} else {
		ValadocApiNode* _tmp13_;
		ValadocDocumentation* _tmp14_;
		_tmp13_ = symbol;
		_tmp14_ = self->_owner;
		_tmp10_ = _tmp13_ == _tmp14_;
	}
	if (_tmp10_) {
		_g_free0 (_tmp9_);
		_tmp9_ = NULL;
	} else {
		ValadocApiNode* _tmp15_;
		gchar* _tmp16_;
		_tmp15_ = symbol;
		_tmp16_ = valadoc_html_html_renderer_get_url (self, (ValadocDocumentation*) _tmp15_);
		_g_free0 (_tmp9_);
		_tmp9_ = _tmp16_;
	}
	_tmp17_ = g_strdup (_tmp9_);
	href = _tmp17_;
	_tmp18_ = self->cssresolver;
	_tmp19_ = symbol;
	_tmp20_ = valadoc_html_css_class_resolver_resolve (_tmp18_, _tmp19_);
	css_class = _tmp20_;
	_tmp21_ = href;
	if (_tmp21_ != NULL) {
		ValadocHtmlMarkupWriter* _tmp22_;
		gchar* _tmp23_;
		const gchar* _tmp24_;
		gchar* _tmp25_;
		gchar* _tmp26_;
		const gchar* _tmp27_;
		gchar* _tmp28_;
		gchar** _tmp29_;
		gchar** _tmp30_;
		gint _tmp30__length1;
		ValadocMarkupWriter* _tmp31_;
		ValadocMarkupWriter* _tmp32_;
		gchar* _tmp33_;
		_tmp22_ = self->writer;
		_tmp23_ = g_strdup ("href");
		_tmp24_ = href;
		_tmp25_ = g_strdup (_tmp24_);
		_tmp26_ = g_strdup ("class");
		_tmp27_ = css_class;
		_tmp28_ = g_strdup (_tmp27_);
		_tmp29_ = g_new0 (gchar*, 4 + 1);
		_tmp29_[0] = _tmp23_;
		_tmp29_[1] = _tmp25_;
		_tmp29_[2] = _tmp26_;
		_tmp29_[3] = _tmp28_;
		_tmp30_ = _tmp29_;
		_tmp30__length1 = 4;
		_tmp31_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp22_, "a", _tmp30_, 4);
		_tmp32_ = _tmp31_;
		_valadoc_markup_writer_unref0 (_tmp32_);
		_tmp30_ = (_vala_array_free (_tmp30_, _tmp30__length1, (GDestroyNotify) g_free), NULL);
		_tmp33_ = g_strdup ("a");
		_g_free0 (end_tag_name);
		end_tag_name = _tmp33_;
	} else {
		ValadocHtmlMarkupWriter* _tmp34_;
		gchar* _tmp35_;
		const gchar* _tmp36_;
		gchar* _tmp37_;
		gchar** _tmp38_;
		gchar** _tmp39_;
		gint _tmp39__length1;
		ValadocMarkupWriter* _tmp40_;
		ValadocMarkupWriter* _tmp41_;
		gchar* _tmp42_;
		_tmp34_ = self->writer;
		_tmp35_ = g_strdup ("class");
		_tmp36_ = css_class;
		_tmp37_ = g_strdup (_tmp36_);
		_tmp38_ = g_new0 (gchar*, 2 + 1);
		_tmp38_[0] = _tmp35_;
		_tmp38_[1] = _tmp37_;
		_tmp39_ = _tmp38_;
		_tmp39__length1 = 2;
		_tmp40_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp34_, "span", _tmp39_, 2);
		_tmp41_ = _tmp40_;
		_valadoc_markup_writer_unref0 (_tmp41_);
		_tmp39_ = (_vala_array_free (_tmp39_, _tmp39__length1, (GDestroyNotify) g_free), NULL);
		_tmp42_ = g_strdup ("span");
		_g_free0 (end_tag_name);
		end_tag_name = _tmp42_;
	}
	_tmp44_ = label_owner;
	if (_tmp44_ != NULL) {
		ValadocContentInlineContent* _tmp45_;
		ValaList* _tmp46_;
		ValaList* _tmp47_;
		gint _tmp48_;
		gint _tmp49_;
		_tmp45_ = label_owner;
		_tmp46_ = valadoc_content_inline_content_get_content (_tmp45_);
		_tmp47_ = _tmp46_;
		_tmp48_ = vala_collection_get_size ((ValaCollection*) _tmp47_);
		_tmp49_ = _tmp48_;
		_tmp43_ = _tmp49_ > 0;
	} else {
		_tmp43_ = FALSE;
	}
	if (_tmp43_) {
		ValadocContentInlineContent* _tmp50_;
		_tmp50_ = label_owner;
		valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp50_, (ValadocContentContentVisitor*) self);
	} else {
		ValadocHtmlMarkupWriter* _tmp51_;
		const gchar* _tmp52_;
		ValadocMarkupWriter* _tmp53_;
		ValadocMarkupWriter* _tmp54_;
		_tmp51_ = self->writer;
		_tmp52_ = symbol_name;
		_tmp53_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp51_, _tmp52_);
		_tmp54_ = _tmp53_;
		_valadoc_markup_writer_unref0 (_tmp54_);
	}
	_tmp55_ = self->writer;
	_tmp56_ = end_tag_name;
	_tmp57_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp55_, _tmp56_);
	_tmp58_ = _tmp57_;
	_valadoc_markup_writer_unref0 (_tmp58_);
	_g_free0 (end_tag_name);
	_g_free0 (css_class);
	_g_free0 (href);
	_g_free0 (_tmp9_);
	_g_free0 (symbol_name);
	_g_free0 (_tmp0_);
}


static gpointer _vala_iterable_ref0 (gpointer self) {
	return self ? vala_iterable_ref (self) : NULL;
}


static void valadoc_html_html_renderer_write_taglets (ValadocHtmlHtmlRenderer* self, ValadocHtmlHtmlRendererWrite header, void* header_target, ValadocHtmlHtmlRendererWrite footer, void* footer_target, ValadocHtmlHtmlRendererWrite separator, void* separator_target, ValaList* taglets, ValadocHtmlHtmlRendererTagletWrite write, void* write_target) {
	ValaList* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (taglets != NULL);
	_tmp0_ = taglets;
	_tmp1_ = vala_collection_get_size ((ValaCollection*) _tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_ > 0) {
		ValadocHtmlHtmlRendererWrite _tmp3_;
		void* _tmp3__target;
		gboolean first = FALSE;
		ValadocHtmlHtmlRendererWrite _tmp19_;
		void* _tmp19__target;
		_tmp3_ = header;
		_tmp3__target = header_target;
		_tmp3_ (_tmp3__target);
		first = TRUE;
		{
			ValaList* _taglet_list = NULL;
			ValaList* _tmp4_;
			ValaList* _tmp5_;
			gint _taglet_size = 0;
			ValaList* _tmp6_;
			gint _tmp7_;
			gint _tmp8_;
			gint _taglet_index = 0;
			_tmp4_ = taglets;
			_tmp5_ = _vala_iterable_ref0 (_tmp4_);
			_taglet_list = _tmp5_;
			_tmp6_ = _taglet_list;
			_tmp7_ = vala_collection_get_size ((ValaCollection*) _tmp6_);
			_tmp8_ = _tmp7_;
			_taglet_size = _tmp8_;
			_taglet_index = -1;
			while (TRUE) {
				gint _tmp9_;
				gint _tmp10_;
				gint _tmp11_;
				ValadocContentTaglet* taglet = NULL;
				ValaList* _tmp12_;
				gint _tmp13_;
				gpointer _tmp14_;
				gboolean _tmp15_;
				ValadocHtmlHtmlRendererTagletWrite _tmp17_;
				void* _tmp17__target;
				ValadocContentTaglet* _tmp18_;
				_tmp9_ = _taglet_index;
				_taglet_index = _tmp9_ + 1;
				_tmp10_ = _taglet_index;
				_tmp11_ = _taglet_size;
				if (!(_tmp10_ < _tmp11_)) {
					break;
				}
				_tmp12_ = _taglet_list;
				_tmp13_ = _taglet_index;
				_tmp14_ = vala_list_get (_tmp12_, _tmp13_);
				taglet = (ValadocContentTaglet*) _tmp14_;
				_tmp15_ = first;
				if (!_tmp15_) {
					ValadocHtmlHtmlRendererWrite _tmp16_;
					void* _tmp16__target;
					_tmp16_ = separator;
					_tmp16__target = separator_target;
					_tmp16_ (_tmp16__target);
				}
				_tmp17_ = write;
				_tmp17__target = write_target;
				_tmp18_ = taglet;
				_tmp17_ (_tmp18_, _tmp17__target);
				first = FALSE;
				_g_object_unref0 (taglet);
			}
			_vala_iterable_unref0 (_taglet_list);
		}
		_tmp19_ = footer;
		_tmp19__target = footer_target;
		_tmp19_ (_tmp19__target);
	}
}


static void __lambda140_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocHtmlMarkupWriter* _tmp7_;
	ValadocMarkupWriter* _tmp8_;
	ValadocMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	ValadocMarkupWriter* _tmp11_;
	ValadocMarkupWriter* _tmp12_;
	ValadocMarkupWriter* _tmp13_;
	_tmp0_ = self->writer;
	_tmp1_ = g_strdup ("class");
	_tmp2_ = g_strdup ("main_title");
	_tmp3_ = g_new0 (gchar*, 2 + 1);
	_tmp3_[0] = _tmp1_;
	_tmp3_[1] = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp4__length1 = 2;
	_tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "p", _tmp4_, 2);
	_tmp6_ = _tmp5_;
	_valadoc_markup_writer_unref0 (_tmp6_);
	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
	_tmp7_ = self->writer;
	_tmp8_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp7_, "b", NULL, 0);
	_tmp9_ = _tmp8_;
	_tmp10_ = valadoc_markup_writer_text (_tmp9_, "Deprecated: ");
	_tmp11_ = _tmp10_;
	_tmp12_ = valadoc_markup_writer_end_tag (_tmp11_, "b");
	_tmp13_ = _tmp12_;
	_valadoc_markup_writer_unref0 (_tmp13_);
	_valadoc_markup_writer_unref0 (_tmp11_);
	_valadoc_markup_writer_unref0 (_tmp9_);
}


static void ___lambda140__valadoc_html_html_renderer_write (gpointer self) {
	__lambda140_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda141_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp0_, "p");
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
}


static void ___lambda141__valadoc_html_html_renderer_write (gpointer self) {
	__lambda141_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda142_ (ValadocHtmlHtmlRenderer* self) {
}


static void ___lambda142__valadoc_html_html_renderer_write (gpointer self) {
	__lambda142_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda143_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet) {
	ValadocTagletsDeprecated* deprecated = NULL;
	ValadocContentTaglet* _tmp0_;
	ValadocTagletsDeprecated* _tmp1_;
	g_return_if_fail (taglet != NULL);
	_tmp0_ = taglet;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, VALADOC_TAGLETS_TYPE_DEPRECATED) ? ((ValadocTagletsDeprecated*) _tmp0_) : NULL);
	deprecated = _tmp1_;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) deprecated, (ValadocContentContentVisitor*) self);
	_g_object_unref0 (deprecated);
}


static void ___lambda143__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self) {
	__lambda143_ ((ValadocHtmlHtmlRenderer*) self, taglet);
}


static gint __lambda144_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* _a, ValadocContentTaglet* _b) {
	gint result = 0;
	ValadocTagletsParam* a = NULL;
	ValadocContentTaglet* _tmp0_;
	ValadocTagletsParam* _tmp1_;
	ValadocTagletsParam* b = NULL;
	ValadocContentTaglet* _tmp2_;
	ValadocTagletsParam* _tmp3_;
	gboolean _tmp4_ = FALSE;
	ValadocTagletsParam* _tmp5_;
	gint _tmp6_;
	gint _tmp7_;
	ValadocTagletsParam* _tmp25_;
	gint _tmp26_;
	gint _tmp27_;
	ValadocTagletsParam* _tmp28_;
	gint _tmp29_;
	gint _tmp30_;
	ValadocTagletsParam* _tmp31_;
	gint _tmp32_;
	gint _tmp33_;
	ValadocTagletsParam* _tmp34_;
	gint _tmp35_;
	gint _tmp36_;
	g_return_val_if_fail (_a != NULL, 0);
	g_return_val_if_fail (_b != NULL, 0);
	_tmp0_ = _a;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, VALADOC_TAGLETS_TYPE_PARAM) ? ((ValadocTagletsParam*) _tmp0_) : NULL);
	a = _tmp1_;
	_tmp2_ = _b;
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, VALADOC_TAGLETS_TYPE_PARAM) ? ((ValadocTagletsParam*) _tmp2_) : NULL);
	b = _tmp3_;
	_tmp5_ = a;
	_tmp6_ = valadoc_taglets_param_get_position (_tmp5_);
	_tmp7_ = _tmp6_;
	if (_tmp7_ < 0) {
		ValadocTagletsParam* _tmp8_;
		gint _tmp9_;
		gint _tmp10_;
		_tmp8_ = b;
		_tmp9_ = valadoc_taglets_param_get_position (_tmp8_);
		_tmp10_ = _tmp9_;
		_tmp4_ = _tmp10_ < 0;
	} else {
		_tmp4_ = FALSE;
	}
	if (_tmp4_) {
		gint cmp = 0;
		ValadocTagletsParam* _tmp11_;
		const gchar* _tmp12_;
		const gchar* _tmp13_;
		ValadocTagletsParam* _tmp14_;
		const gchar* _tmp15_;
		const gchar* _tmp16_;
		gint _tmp17_;
		gint _tmp18_;
		ValadocTagletsParam* _tmp19_;
		const gchar* _tmp20_;
		const gchar* _tmp21_;
		ValadocTagletsParam* _tmp22_;
		const gchar* _tmp23_;
		const gchar* _tmp24_;
		_tmp11_ = a;
		_tmp12_ = valadoc_taglets_param_get_parameter_name (_tmp11_);
		_tmp13_ = _tmp12_;
		_tmp14_ = b;
		_tmp15_ = valadoc_taglets_param_get_parameter_name (_tmp14_);
		_tmp16_ = _tmp15_;
		_tmp17_ = g_ascii_strcasecmp (_tmp13_, _tmp16_);
		cmp = _tmp17_;
		_tmp18_ = cmp;
		if (_tmp18_ == 0) {
			result = 0;
			_g_object_unref0 (b);
			_g_object_unref0 (a);
			return result;
		}
		_tmp19_ = a;
		_tmp20_ = valadoc_taglets_param_get_parameter_name (_tmp19_);
		_tmp21_ = _tmp20_;
		if (g_strcmp0 (_tmp21_, "...") == 0) {
			result = 1;
			_g_object_unref0 (b);
			_g_object_unref0 (a);
			return result;
		}
		_tmp22_ = b;
		_tmp23_ = valadoc_taglets_param_get_parameter_name (_tmp22_);
		_tmp24_ = _tmp23_;
		if (g_strcmp0 (_tmp24_, "...") == 0) {
			result = -1;
			_g_object_unref0 (b);
			_g_object_unref0 (a);
			return result;
		}
		result = cmp;
		_g_object_unref0 (b);
		_g_object_unref0 (a);
		return result;
	}
	_tmp25_ = a;
	_tmp26_ = valadoc_taglets_param_get_position (_tmp25_);
	_tmp27_ = _tmp26_;
	if (_tmp27_ < 0) {
		result = 1;
		_g_object_unref0 (b);
		_g_object_unref0 (a);
		return result;
	}
	_tmp28_ = b;
	_tmp29_ = valadoc_taglets_param_get_position (_tmp28_);
	_tmp30_ = _tmp29_;
	if (_tmp30_ < 0) {
		result = -1;
		_g_object_unref0 (b);
		_g_object_unref0 (a);
		return result;
	}
	_tmp31_ = a;
	_tmp32_ = valadoc_taglets_param_get_position (_tmp31_);
	_tmp33_ = _tmp32_;
	_tmp34_ = b;
	_tmp35_ = valadoc_taglets_param_get_position (_tmp34_);
	_tmp36_ = _tmp35_;
	result = _tmp33_ - _tmp36_;
	_g_object_unref0 (b);
	_g_object_unref0 (a);
	return result;
}


static gint ___lambda144__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) {
	gint result;
	result = __lambda144_ ((ValadocHtmlHtmlRenderer*) self, (ValadocContentTaglet*) a, (ValadocContentTaglet*) b);
	return result;
}


static void __lambda145_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocMarkupWriter* _tmp7_;
	ValadocMarkupWriter* _tmp8_;
	ValadocMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	ValadocHtmlMarkupWriter* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar** _tmp14_;
	gchar** _tmp15_;
	gint _tmp15__length1;
	ValadocMarkupWriter* _tmp16_;
	ValadocMarkupWriter* _tmp17_;
	_tmp0_ = self->writer;
	_tmp1_ = g_strdup ("class");
	_tmp2_ = g_strdup ("main_title");
	_tmp3_ = g_new0 (gchar*, 2 + 1);
	_tmp3_[0] = _tmp1_;
	_tmp3_[1] = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp4__length1 = 2;
	_tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "h2", _tmp4_, 2);
	_tmp6_ = _tmp5_;
	_tmp7_ = valadoc_markup_writer_text (_tmp6_, "Parameters:");
	_tmp8_ = _tmp7_;
	_tmp9_ = valadoc_markup_writer_end_tag (_tmp8_, "h2");
	_tmp10_ = _tmp9_;
	_valadoc_markup_writer_unref0 (_tmp10_);
	_valadoc_markup_writer_unref0 (_tmp8_);
	_valadoc_markup_writer_unref0 (_tmp6_);
	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
	_tmp11_ = self->writer;
	_tmp12_ = g_strdup ("class");
	_tmp13_ = g_strdup ("main_parameter_table");
	_tmp14_ = g_new0 (gchar*, 2 + 1);
	_tmp14_[0] = _tmp12_;
	_tmp14_[1] = _tmp13_;
	_tmp15_ = _tmp14_;
	_tmp15__length1 = 2;
	_tmp16_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "table", _tmp15_, 2);
	_tmp17_ = _tmp16_;
	_valadoc_markup_writer_unref0 (_tmp17_);
	_tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
}


static void ___lambda145__valadoc_html_html_renderer_write (gpointer self) {
	__lambda145_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda146_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp0_, "table");
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
}


static void ___lambda146__valadoc_html_html_renderer_write (gpointer self) {
	__lambda146_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda147_ (ValadocHtmlHtmlRenderer* self) {
}


static void ___lambda147__valadoc_html_html_renderer_write (gpointer self) {
	__lambda147_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda148_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet) {
	ValadocTagletsParam* param = NULL;
	ValadocContentTaglet* _tmp0_;
	ValadocTagletsParam* _tmp1_;
	gchar** unknown_parameter_css = NULL;
	gint unknown_parameter_css_length1;
	gint _unknown_parameter_css_size_;
	gboolean _tmp2_ = FALSE;
	ValadocTagletsParam* _tmp3_;
	ValadocApiSymbol* _tmp4_;
	ValadocApiSymbol* _tmp5_;
	ValadocHtmlMarkupWriter* _tmp12_;
	gchar** _tmp13_;
	gint _tmp13__length1;
	ValadocMarkupWriter* _tmp14_;
	ValadocMarkupWriter* _tmp15_;
	ValadocHtmlMarkupWriter* _tmp16_;
	gchar* _tmp17_;
	gchar* _tmp18_;
	gchar** _tmp19_;
	gchar** _tmp20_;
	gint _tmp20__length1;
	ValadocMarkupWriter* _tmp21_;
	ValadocMarkupWriter* _tmp22_;
	ValadocTagletsParam* _tmp23_;
	const gchar* _tmp24_;
	const gchar* _tmp25_;
	ValadocMarkupWriter* _tmp26_;
	ValadocMarkupWriter* _tmp27_;
	ValadocMarkupWriter* _tmp28_;
	ValadocMarkupWriter* _tmp29_;
	ValadocHtmlMarkupWriter* _tmp30_;
	ValadocMarkupWriter* _tmp31_;
	ValadocMarkupWriter* _tmp32_;
	ValadocTagletsParam* _tmp33_;
	ValadocHtmlMarkupWriter* _tmp34_;
	ValadocMarkupWriter* _tmp35_;
	ValadocMarkupWriter* _tmp36_;
	ValadocHtmlMarkupWriter* _tmp37_;
	ValadocMarkupWriter* _tmp38_;
	ValadocMarkupWriter* _tmp39_;
	g_return_if_fail (taglet != NULL);
	_tmp0_ = taglet;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, VALADOC_TAGLETS_TYPE_PARAM) ? ((ValadocTagletsParam*) _tmp0_) : NULL);
	param = _tmp1_;
	unknown_parameter_css = NULL;
	unknown_parameter_css_length1 = 0;
	_unknown_parameter_css_size_ = unknown_parameter_css_length1;
	_tmp3_ = param;
	_tmp4_ = valadoc_taglets_param_get_parameter (_tmp3_);
	_tmp5_ = _tmp4_;
	if (_tmp5_ == NULL) {
		ValadocTagletsParam* _tmp6_;
		gboolean _tmp7_;
		gboolean _tmp8_;
		_tmp6_ = param;
		_tmp7_ = valadoc_taglets_param_get_is_this (_tmp6_);
		_tmp8_ = _tmp7_;
		_tmp2_ = !_tmp8_;
	} else {
		_tmp2_ = FALSE;
	}
	if (_tmp2_) {
		gchar* _tmp9_;
		gchar* _tmp10_;
		gchar** _tmp11_;
		_tmp9_ = g_strdup ("class");
		_tmp10_ = g_strdup ("main_parameter_table_unknown_parameter");
		_tmp11_ = g_new0 (gchar*, 2 + 1);
		_tmp11_[0] = _tmp9_;
		_tmp11_[1] = _tmp10_;
		unknown_parameter_css = (_vala_array_free (unknown_parameter_css, unknown_parameter_css_length1, (GDestroyNotify) g_free), NULL);
		unknown_parameter_css = _tmp11_;
		unknown_parameter_css_length1 = 2;
		_unknown_parameter_css_size_ = unknown_parameter_css_length1;
	}
	_tmp12_ = self->writer;
	_tmp13_ = unknown_parameter_css;
	_tmp13__length1 = unknown_parameter_css_length1;
	_tmp14_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp12_, "tr", _tmp13_, _tmp13__length1);
	_tmp15_ = _tmp14_;
	_valadoc_markup_writer_unref0 (_tmp15_);
	_tmp16_ = self->writer;
	_tmp17_ = g_strdup ("class");
	_tmp18_ = g_strdup ("main_parameter_table_name");
	_tmp19_ = g_new0 (gchar*, 2 + 1);
	_tmp19_[0] = _tmp17_;
	_tmp19_[1] = _tmp18_;
	_tmp20_ = _tmp19_;
	_tmp20__length1 = 2;
	_tmp21_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp16_, "td", _tmp20_, 2);
	_tmp22_ = _tmp21_;
	_tmp23_ = param;
	_tmp24_ = valadoc_taglets_param_get_parameter_name (_tmp23_);
	_tmp25_ = _tmp24_;
	_tmp26_ = valadoc_markup_writer_text (_tmp22_, _tmp25_);
	_tmp27_ = _tmp26_;
	_tmp28_ = valadoc_markup_writer_end_tag (_tmp27_, "td");
	_tmp29_ = _tmp28_;
	_valadoc_markup_writer_unref0 (_tmp29_);
	_valadoc_markup_writer_unref0 (_tmp27_);
	_valadoc_markup_writer_unref0 (_tmp22_);
	_tmp20_ = (_vala_array_free (_tmp20_, _tmp20__length1, (GDestroyNotify) g_free), NULL);
	_tmp30_ = self->writer;
	_tmp31_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp30_, "td", NULL, 0);
	_tmp32_ = _tmp31_;
	_valadoc_markup_writer_unref0 (_tmp32_);
	_tmp33_ = param;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp33_, (ValadocContentContentVisitor*) self);
	_tmp34_ = self->writer;
	_tmp35_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp34_, "td");
	_tmp36_ = _tmp35_;
	_valadoc_markup_writer_unref0 (_tmp36_);
	_tmp37_ = self->writer;
	_tmp38_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp37_, "tr");
	_tmp39_ = _tmp38_;
	_valadoc_markup_writer_unref0 (_tmp39_);
	unknown_parameter_css = (_vala_array_free (unknown_parameter_css, unknown_parameter_css_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (param);
}


static void ___lambda148__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self) {
	__lambda148_ ((ValadocHtmlHtmlRenderer*) self, taglet);
}


static void __lambda149_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocMarkupWriter* _tmp7_;
	ValadocMarkupWriter* _tmp8_;
	ValadocMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	ValadocHtmlMarkupWriter* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar** _tmp14_;
	gchar** _tmp15_;
	gint _tmp15__length1;
	ValadocMarkupWriter* _tmp16_;
	ValadocMarkupWriter* _tmp17_;
	_tmp0_ = self->writer;
	_tmp1_ = g_strdup ("class");
	_tmp2_ = g_strdup ("main_title");
	_tmp3_ = g_new0 (gchar*, 2 + 1);
	_tmp3_[0] = _tmp1_;
	_tmp3_[1] = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp4__length1 = 2;
	_tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "h2", _tmp4_, 2);
	_tmp6_ = _tmp5_;
	_tmp7_ = valadoc_markup_writer_text (_tmp6_, "Returns:");
	_tmp8_ = _tmp7_;
	_tmp9_ = valadoc_markup_writer_end_tag (_tmp8_, "h2");
	_tmp10_ = _tmp9_;
	_valadoc_markup_writer_unref0 (_tmp10_);
	_valadoc_markup_writer_unref0 (_tmp8_);
	_valadoc_markup_writer_unref0 (_tmp6_);
	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
	_tmp11_ = self->writer;
	_tmp12_ = g_strdup ("class");
	_tmp13_ = g_strdup ("main_parameter_table");
	_tmp14_ = g_new0 (gchar*, 2 + 1);
	_tmp14_[0] = _tmp12_;
	_tmp14_[1] = _tmp13_;
	_tmp15_ = _tmp14_;
	_tmp15__length1 = 2;
	_tmp16_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "table", _tmp15_, 2);
	_tmp17_ = _tmp16_;
	_valadoc_markup_writer_unref0 (_tmp17_);
	_tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
}


static void ___lambda149__valadoc_html_html_renderer_write (gpointer self) {
	__lambda149_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda150_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp0_, "table");
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
}


static void ___lambda150__valadoc_html_html_renderer_write (gpointer self) {
	__lambda150_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda151_ (ValadocHtmlHtmlRenderer* self) {
}


static void ___lambda151__valadoc_html_html_renderer_write (gpointer self) {
	__lambda151_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda152_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet) {
	ValadocTagletsReturn* param = NULL;
	ValadocContentTaglet* _tmp0_;
	ValadocTagletsReturn* _tmp1_;
	ValadocHtmlMarkupWriter* _tmp2_;
	ValadocMarkupWriter* _tmp3_;
	ValadocMarkupWriter* _tmp4_;
	ValadocHtmlMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocMarkupWriter* _tmp7_;
	ValadocHtmlMarkupWriter* _tmp8_;
	ValadocMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	ValadocHtmlMarkupWriter* _tmp11_;
	ValadocMarkupWriter* _tmp12_;
	ValadocMarkupWriter* _tmp13_;
	g_return_if_fail (taglet != NULL);
	_tmp0_ = taglet;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, VALADOC_TAGLETS_TYPE_RETURN) ? ((ValadocTagletsReturn*) _tmp0_) : NULL);
	param = _tmp1_;
	_tmp2_ = self->writer;
	_tmp3_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp2_, "tr", NULL, 0);
	_tmp4_ = _tmp3_;
	_valadoc_markup_writer_unref0 (_tmp4_);
	_tmp5_ = self->writer;
	_tmp6_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp5_, "td", NULL, 0);
	_tmp7_ = _tmp6_;
	_valadoc_markup_writer_unref0 (_tmp7_);
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) param, (ValadocContentContentVisitor*) self);
	_tmp8_ = self->writer;
	_tmp9_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp8_, "td");
	_tmp10_ = _tmp9_;
	_valadoc_markup_writer_unref0 (_tmp10_);
	_tmp11_ = self->writer;
	_tmp12_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp11_, "tr");
	_tmp13_ = _tmp12_;
	_valadoc_markup_writer_unref0 (_tmp13_);
	_g_object_unref0 (param);
}


static void ___lambda152__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self) {
	__lambda152_ ((ValadocHtmlHtmlRenderer*) self, taglet);
}


static void __lambda153_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocMarkupWriter* _tmp7_;
	ValadocMarkupWriter* _tmp8_;
	ValadocMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	ValadocHtmlMarkupWriter* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar** _tmp14_;
	gchar** _tmp15_;
	gint _tmp15__length1;
	ValadocMarkupWriter* _tmp16_;
	ValadocMarkupWriter* _tmp17_;
	_tmp0_ = self->writer;
	_tmp1_ = g_strdup ("class");
	_tmp2_ = g_strdup ("main_title");
	_tmp3_ = g_new0 (gchar*, 2 + 1);
	_tmp3_[0] = _tmp1_;
	_tmp3_[1] = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp4__length1 = 2;
	_tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "h2", _tmp4_, 2);
	_tmp6_ = _tmp5_;
	_tmp7_ = valadoc_markup_writer_text (_tmp6_, "Exceptions:");
	_tmp8_ = _tmp7_;
	_tmp9_ = valadoc_markup_writer_end_tag (_tmp8_, "h2");
	_tmp10_ = _tmp9_;
	_valadoc_markup_writer_unref0 (_tmp10_);
	_valadoc_markup_writer_unref0 (_tmp8_);
	_valadoc_markup_writer_unref0 (_tmp6_);
	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
	_tmp11_ = self->writer;
	_tmp12_ = g_strdup ("class");
	_tmp13_ = g_strdup ("main_parameter_table");
	_tmp14_ = g_new0 (gchar*, 2 + 1);
	_tmp14_[0] = _tmp12_;
	_tmp14_[1] = _tmp13_;
	_tmp15_ = _tmp14_;
	_tmp15__length1 = 2;
	_tmp16_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "table", _tmp15_, 2);
	_tmp17_ = _tmp16_;
	_valadoc_markup_writer_unref0 (_tmp17_);
	_tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
}


static void ___lambda153__valadoc_html_html_renderer_write (gpointer self) {
	__lambda153_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda154_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp0_, "table");
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
}


static void ___lambda154__valadoc_html_html_renderer_write (gpointer self) {
	__lambda154_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda155_ (ValadocHtmlHtmlRenderer* self) {
}


static void ___lambda155__valadoc_html_html_renderer_write (gpointer self) {
	__lambda155_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda156_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet) {
	ValadocTagletsThrows* exception = NULL;
	ValadocContentTaglet* _tmp0_;
	ValadocTagletsThrows* _tmp1_;
	ValadocHtmlMarkupWriter* _tmp2_;
	ValadocMarkupWriter* _tmp3_;
	ValadocMarkupWriter* _tmp4_;
	ValadocHtmlMarkupWriter* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar** _tmp8_;
	gchar** _tmp9_;
	gint _tmp9__length1;
	ValadocMarkupWriter* _tmp10_;
	ValadocMarkupWriter* _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	ValadocMarkupWriter* _tmp14_;
	ValadocMarkupWriter* _tmp15_;
	ValadocMarkupWriter* _tmp16_;
	ValadocMarkupWriter* _tmp17_;
	ValadocHtmlMarkupWriter* _tmp18_;
	ValadocMarkupWriter* _tmp19_;
	ValadocMarkupWriter* _tmp20_;
	ValadocHtmlMarkupWriter* _tmp21_;
	ValadocMarkupWriter* _tmp22_;
	ValadocMarkupWriter* _tmp23_;
	ValadocHtmlMarkupWriter* _tmp24_;
	ValadocMarkupWriter* _tmp25_;
	ValadocMarkupWriter* _tmp26_;
	g_return_if_fail (taglet != NULL);
	_tmp0_ = taglet;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, VALADOC_TAGLETS_TYPE_THROWS) ? ((ValadocTagletsThrows*) _tmp0_) : NULL);
	exception = _tmp1_;
	_tmp2_ = self->writer;
	_tmp3_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp2_, "tr", NULL, 0);
	_tmp4_ = _tmp3_;
	_valadoc_markup_writer_unref0 (_tmp4_);
	_tmp5_ = self->writer;
	_tmp6_ = g_strdup ("class");
	_tmp7_ = g_strdup ("main_parameter_table_name");
	_tmp8_ = g_new0 (gchar*, 2 + 1);
	_tmp8_[0] = _tmp6_;
	_tmp8_[1] = _tmp7_;
	_tmp9_ = _tmp8_;
	_tmp9__length1 = 2;
	_tmp10_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp5_, "td", _tmp9_, 2);
	_tmp11_ = _tmp10_;
	_tmp12_ = valadoc_taglets_throws_get_error_domain_name (exception);
	_tmp13_ = _tmp12_;
	_tmp14_ = valadoc_markup_writer_text (_tmp11_, _tmp13_);
	_tmp15_ = _tmp14_;
	_tmp16_ = valadoc_markup_writer_end_tag (_tmp15_, "td");
	_tmp17_ = _tmp16_;
	_valadoc_markup_writer_unref0 (_tmp17_);
	_valadoc_markup_writer_unref0 (_tmp15_);
	_valadoc_markup_writer_unref0 (_tmp11_);
	_tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL);
	_tmp18_ = self->writer;
	_tmp19_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp18_, "td", NULL, 0);
	_tmp20_ = _tmp19_;
	_valadoc_markup_writer_unref0 (_tmp20_);
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) exception, (ValadocContentContentVisitor*) self);
	_tmp21_ = self->writer;
	_tmp22_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp21_, "td");
	_tmp23_ = _tmp22_;
	_valadoc_markup_writer_unref0 (_tmp23_);
	_tmp24_ = self->writer;
	_tmp25_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp24_, "tr");
	_tmp26_ = _tmp25_;
	_valadoc_markup_writer_unref0 (_tmp26_);
	_g_object_unref0 (exception);
}


static void ___lambda156__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self) {
	__lambda156_ ((ValadocHtmlHtmlRenderer*) self, taglet);
}


static void __lambda157_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocMarkupWriter* _tmp7_;
	ValadocMarkupWriter* _tmp8_;
	ValadocMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	ValadocHtmlMarkupWriter* _tmp11_;
	ValadocMarkupWriter* _tmp12_;
	ValadocMarkupWriter* _tmp13_;
	_tmp0_ = self->writer;
	_tmp1_ = g_strdup ("class");
	_tmp2_ = g_strdup ("main_title");
	_tmp3_ = g_new0 (gchar*, 2 + 1);
	_tmp3_[0] = _tmp1_;
	_tmp3_[1] = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp4__length1 = 2;
	_tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "h2", _tmp4_, 2);
	_tmp6_ = _tmp5_;
	_tmp7_ = valadoc_markup_writer_text (_tmp6_, "Since:");
	_tmp8_ = _tmp7_;
	_tmp9_ = valadoc_markup_writer_end_tag (_tmp8_, "h2");
	_tmp10_ = _tmp9_;
	_valadoc_markup_writer_unref0 (_tmp10_);
	_valadoc_markup_writer_unref0 (_tmp8_);
	_valadoc_markup_writer_unref0 (_tmp6_);
	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
	_tmp11_ = self->writer;
	_tmp12_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "p", NULL, 0);
	_tmp13_ = _tmp12_;
	_valadoc_markup_writer_unref0 (_tmp13_);
}


static void ___lambda157__valadoc_html_html_renderer_write (gpointer self) {
	__lambda157_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda158_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp0_, "p");
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
}


static void ___lambda158__valadoc_html_html_renderer_write (gpointer self) {
	__lambda158_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda159_ (ValadocHtmlHtmlRenderer* self) {
}


static void ___lambda159__valadoc_html_html_renderer_write (gpointer self) {
	__lambda159_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda160_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet) {
	ValadocTagletsSince* since = NULL;
	ValadocContentTaglet* _tmp0_;
	ValadocTagletsSince* _tmp1_;
	ValadocHtmlMarkupWriter* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	g_return_if_fail (taglet != NULL);
	_tmp0_ = taglet;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, VALADOC_TAGLETS_TYPE_SINCE) ? ((ValadocTagletsSince*) _tmp0_) : NULL);
	since = _tmp1_;
	_tmp2_ = self->writer;
	_tmp3_ = valadoc_taglets_since_get_version (since);
	_tmp4_ = _tmp3_;
	_tmp5_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp2_, _tmp4_);
	_tmp6_ = _tmp5_;
	_valadoc_markup_writer_unref0 (_tmp6_);
	_g_object_unref0 (since);
}


static void ___lambda160__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self) {
	__lambda160_ ((ValadocHtmlHtmlRenderer*) self, taglet);
}


static void __lambda161_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocMarkupWriter* _tmp7_;
	ValadocMarkupWriter* _tmp8_;
	ValadocMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	ValadocHtmlMarkupWriter* _tmp11_;
	ValadocMarkupWriter* _tmp12_;
	ValadocMarkupWriter* _tmp13_;
	_tmp0_ = self->writer;
	_tmp1_ = g_strdup ("class");
	_tmp2_ = g_strdup ("main_title");
	_tmp3_ = g_new0 (gchar*, 2 + 1);
	_tmp3_[0] = _tmp1_;
	_tmp3_[1] = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp4__length1 = 2;
	_tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "h2", _tmp4_, 2);
	_tmp6_ = _tmp5_;
	_tmp7_ = valadoc_markup_writer_text (_tmp6_, "See also:");
	_tmp8_ = _tmp7_;
	_tmp9_ = valadoc_markup_writer_end_tag (_tmp8_, "h2");
	_tmp10_ = _tmp9_;
	_valadoc_markup_writer_unref0 (_tmp10_);
	_valadoc_markup_writer_unref0 (_tmp8_);
	_valadoc_markup_writer_unref0 (_tmp6_);
	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
	_tmp11_ = self->writer;
	_tmp12_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp11_, "p", NULL, 0);
	_tmp13_ = _tmp12_;
	_valadoc_markup_writer_unref0 (_tmp13_);
}


static void ___lambda161__valadoc_html_html_renderer_write (gpointer self) {
	__lambda161_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda162_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp0_, "p");
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
}


static void ___lambda162__valadoc_html_html_renderer_write (gpointer self) {
	__lambda162_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda163_ (ValadocHtmlHtmlRenderer* self) {
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp0_, ", ");
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
}


static void ___lambda163__valadoc_html_html_renderer_write (gpointer self) {
	__lambda163_ ((ValadocHtmlHtmlRenderer*) self);
}


static void __lambda164_ (ValadocHtmlHtmlRenderer* self, ValadocContentTaglet* taglet) {
	ValadocTagletsSee* see = NULL;
	ValadocContentTaglet* _tmp0_;
	ValadocTagletsSee* _tmp1_;
	ValadocTagletsSee* _tmp2_;
	ValadocApiNode* _tmp3_;
	ValadocApiNode* _tmp4_;
	g_return_if_fail (taglet != NULL);
	_tmp0_ = taglet;
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, VALADOC_TAGLETS_TYPE_SEE) ? ((ValadocTagletsSee*) _tmp0_) : NULL);
	see = _tmp1_;
	_tmp2_ = see;
	_tmp3_ = valadoc_taglets_see_get_symbol (_tmp2_);
	_tmp4_ = _tmp3_;
	if (_tmp4_ == NULL) {
		ValadocTagletsSee* _tmp5_;
		const gchar* _tmp6_;
		const gchar* _tmp7_;
		_tmp5_ = see;
		_tmp6_ = valadoc_taglets_see_get_symbol_name (_tmp5_);
		_tmp7_ = _tmp6_;
		valadoc_html_html_renderer_write_unresolved_symbol_link (self, _tmp7_, NULL);
	} else {
		ValadocTagletsSee* _tmp8_;
		ValadocApiNode* _tmp9_;
		ValadocApiNode* _tmp10_;
		ValadocTagletsSee* _tmp11_;
		const gchar* _tmp12_;
		const gchar* _tmp13_;
		_tmp8_ = see;
		_tmp9_ = valadoc_taglets_see_get_symbol (_tmp8_);
		_tmp10_ = _tmp9_;
		_tmp11_ = see;
		_tmp12_ = valadoc_taglets_see_get_symbol_name (_tmp11_);
		_tmp13_ = _tmp12_;
		valadoc_html_html_renderer_write_resolved_symbol_link (self, _tmp10_, _tmp13_, NULL);
	}
	_g_object_unref0 (see);
}


static void ___lambda164__valadoc_html_html_renderer_taglet_write (ValadocContentTaglet* taglet, gpointer self) {
	__lambda164_ ((ValadocHtmlHtmlRenderer*) self, taglet);
}


static void valadoc_html_html_renderer_real_visit_comment (ValadocContentContentVisitor* base, ValadocContentComment* element) {
	ValadocHtmlHtmlRenderer * self;
	ValaList* taglets = NULL;
	ValadocContentComment* _tmp0_;
	ValadocDocumentation* _tmp1_;
	ValaList* _tmp2_;
	ValaList* _tmp3_;
	ValadocContentComment* _tmp4_;
	ValadocContentComment* _tmp5_;
	ValadocDocumentation* _tmp6_;
	ValaList* _tmp7_;
	ValaList* _tmp8_;
	ValaList* _tmp9_;
	ValadocContentComment* _tmp10_;
	ValadocDocumentation* _tmp11_;
	ValaList* _tmp12_;
	ValaList* _tmp13_;
	ValadocContentComment* _tmp14_;
	ValadocDocumentation* _tmp15_;
	ValaList* _tmp16_;
	ValaList* _tmp17_;
	ValadocContentComment* _tmp18_;
	ValadocDocumentation* _tmp19_;
	ValaList* _tmp20_;
	ValaList* _tmp21_;
	ValadocContentComment* _tmp22_;
	ValadocDocumentation* _tmp23_;
	ValaList* _tmp24_;
	ValaList* _tmp25_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	_tmp1_ = self->_container;
	_tmp2_ = valadoc_content_comment_find_taglets (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, VALADOC_API_TYPE_NODE, ValadocApiNode), VALADOC_TAGLETS_TYPE_DEPRECATED);
	_vala_iterable_unref0 (taglets);
	taglets = _tmp2_;
	_tmp3_ = taglets;
	valadoc_html_html_renderer_write_taglets (self, ___lambda140__valadoc_html_html_renderer_write, self, ___lambda141__valadoc_html_html_renderer_write, self, ___lambda142__valadoc_html_html_renderer_write, self, _tmp3_, ___lambda143__valadoc_html_html_renderer_taglet_write, self);
	_tmp4_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp4_, (ValadocContentContentVisitor*) self);
	_tmp5_ = element;
	_tmp6_ = self->_container;
	_tmp7_ = valadoc_content_comment_find_taglets (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, VALADOC_API_TYPE_NODE, ValadocApiNode), VALADOC_TAGLETS_TYPE_PARAM);
	_vala_iterable_unref0 (taglets);
	taglets = _tmp7_;
	_tmp8_ = taglets;
	vala_list_sort (_tmp8_, ___lambda144__gcompare_data_func, g_object_ref (self), g_object_unref);
	_tmp9_ = taglets;
	valadoc_html_html_renderer_write_taglets (self, ___lambda145__valadoc_html_html_renderer_write, self, ___lambda146__valadoc_html_html_renderer_write, self, ___lambda147__valadoc_html_html_renderer_write, self, _tmp9_, ___lambda148__valadoc_html_html_renderer_taglet_write, self);
	_tmp10_ = element;
	_tmp11_ = self->_container;
	_tmp12_ = valadoc_content_comment_find_taglets (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, VALADOC_API_TYPE_NODE, ValadocApiNode), VALADOC_TAGLETS_TYPE_RETURN);
	_vala_iterable_unref0 (taglets);
	taglets = _tmp12_;
	_tmp13_ = taglets;
	valadoc_html_html_renderer_write_taglets (self, ___lambda149__valadoc_html_html_renderer_write, self, ___lambda150__valadoc_html_html_renderer_write, self, ___lambda151__valadoc_html_html_renderer_write, self, _tmp13_, ___lambda152__valadoc_html_html_renderer_taglet_write, self);
	_tmp14_ = element;
	_tmp15_ = self->_container;
	_tmp16_ = valadoc_content_comment_find_taglets (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, VALADOC_API_TYPE_NODE, ValadocApiNode), VALADOC_TAGLETS_TYPE_THROWS);
	_vala_iterable_unref0 (taglets);
	taglets = _tmp16_;
	_tmp17_ = taglets;
	valadoc_html_html_renderer_write_taglets (self, ___lambda153__valadoc_html_html_renderer_write, self, ___lambda154__valadoc_html_html_renderer_write, self, ___lambda155__valadoc_html_html_renderer_write, self, _tmp17_, ___lambda156__valadoc_html_html_renderer_taglet_write, self);
	_tmp18_ = element;
	_tmp19_ = self->_container;
	_tmp20_ = valadoc_content_comment_find_taglets (_tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, VALADOC_API_TYPE_NODE, ValadocApiNode), VALADOC_TAGLETS_TYPE_SINCE);
	_vala_iterable_unref0 (taglets);
	taglets = _tmp20_;
	_tmp21_ = taglets;
	valadoc_html_html_renderer_write_taglets (self, ___lambda157__valadoc_html_html_renderer_write, self, ___lambda158__valadoc_html_html_renderer_write, self, ___lambda159__valadoc_html_html_renderer_write, self, _tmp21_, ___lambda160__valadoc_html_html_renderer_taglet_write, self);
	_tmp22_ = element;
	_tmp23_ = self->_container;
	_tmp24_ = valadoc_content_comment_find_taglets (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, VALADOC_API_TYPE_NODE, ValadocApiNode), VALADOC_TAGLETS_TYPE_SEE);
	_vala_iterable_unref0 (taglets);
	taglets = _tmp24_;
	_tmp25_ = taglets;
	valadoc_html_html_renderer_write_taglets (self, ___lambda161__valadoc_html_html_renderer_write, self, ___lambda162__valadoc_html_html_renderer_write, self, ___lambda163__valadoc_html_html_renderer_write, self, _tmp25_, ___lambda164__valadoc_html_html_renderer_taglet_write, self);
	_vala_iterable_unref0 (taglets);
}


static void valadoc_html_html_renderer_real_visit_embedded (ValadocContentContentVisitor* base, ValadocContentEmbedded* element) {
	ValadocHtmlHtmlRenderer * self;
	gchar* caption = NULL;
	ValadocContentEmbedded* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* absolute_path = NULL;
	ValadocSettings* _tmp4_;
	const gchar* _tmp5_;
	ValadocContentEmbedded* _tmp6_;
	ValadocApiPackage* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	ValadocContentEmbedded* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	gchar* relative_path = NULL;
	ValadocContentEmbedded* _tmp17_;
	const gchar* _tmp18_;
	const gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	ValadocContentEmbedded* _tmp24_;
	const gchar* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	const gchar* _tmp28_ = NULL;
	gboolean _tmp29_ = FALSE;
	const gchar* _tmp30_;
	ValadocHtmlMarkupWriter* _tmp33_;
	const gchar* _tmp34_;
	ValadocHtmlMarkupWriter* _tmp35_;
	ValadocHtmlMarkupWriter* _tmp36_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	_tmp1_ = valadoc_content_embedded_get_caption (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = g_strdup (_tmp2_);
	caption = _tmp3_;
	_tmp4_ = self->settings;
	_tmp5_ = _tmp4_->path;
	_tmp6_ = element;
	_tmp7_ = _tmp6_->package;
	_tmp8_ = valadoc_api_node_get_name ((ValadocApiNode*) _tmp7_);
	_tmp9_ = _tmp8_;
	_tmp10_ = element;
	_tmp11_ = valadoc_content_embedded_get_url (_tmp10_);
	_tmp12_ = _tmp11_;
	_tmp13_ = g_path_get_basename (_tmp12_);
	_tmp14_ = _tmp13_;
	_tmp15_ = g_build_filename (_tmp5_, _tmp9_, "img", _tmp14_, NULL);
	_tmp16_ = _tmp15_;
	_g_free0 (_tmp14_);
	absolute_path = _tmp16_;
	_tmp17_ = element;
	_tmp18_ = valadoc_content_embedded_get_url (_tmp17_);
	_tmp19_ = _tmp18_;
	_tmp20_ = g_path_get_basename (_tmp19_);
	_tmp21_ = _tmp20_;
	_tmp22_ = g_build_filename ("img", _tmp21_, NULL);
	_tmp23_ = _tmp22_;
	_g_free0 (_tmp21_);
	relative_path = _tmp23_;
	_tmp24_ = element;
	_tmp25_ = valadoc_content_embedded_get_url (_tmp24_);
	_tmp26_ = _tmp25_;
	_tmp27_ = absolute_path;
	valadoc_copy_file (_tmp26_, _tmp27_);
	_tmp30_ = caption;
	if (_tmp30_ == NULL) {
		_tmp29_ = TRUE;
	} else {
		const gchar* _tmp31_;
		_tmp31_ = caption;
		_tmp29_ = g_strcmp0 (_tmp31_, "") == 0;
	}
	if (_tmp29_) {
		_tmp28_ = "";
	} else {
		const gchar* _tmp32_;
		_tmp32_ = caption;
		_tmp28_ = _tmp32_;
	}
	_tmp33_ = self->writer;
	_tmp34_ = relative_path;
	_tmp35_ = valadoc_html_markup_writer_image (_tmp33_, _tmp34_, _tmp28_, NULL);
	_tmp36_ = _tmp35_;
	_valadoc_markup_writer_unref0 (_tmp36_);
	_g_free0 (relative_path);
	_g_free0 (absolute_path);
	_g_free0 (caption);
}


static void valadoc_html_html_renderer_real_visit_headline (ValadocContentContentVisitor* base, ValadocContentHeadline* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocContentHeadline* _tmp1_;
	gint _tmp2_;
	gint _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocMarkupWriter* _tmp7_;
	ValadocContentHeadline* _tmp8_;
	ValadocHtmlMarkupWriter* _tmp9_;
	ValadocContentHeadline* _tmp10_;
	gint _tmp11_;
	gint _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	ValadocMarkupWriter* _tmp15_;
	ValadocMarkupWriter* _tmp16_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = self->writer;
	_tmp1_ = element;
	_tmp2_ = valadoc_content_headline_get_level (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = g_strdup_printf ("h%d", _tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, _tmp5_, NULL, 0);
	_tmp7_ = _tmp6_;
	_valadoc_markup_writer_unref0 (_tmp7_);
	_g_free0 (_tmp5_);
	_tmp8_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp8_, (ValadocContentContentVisitor*) self);
	_tmp9_ = self->writer;
	_tmp10_ = element;
	_tmp11_ = valadoc_content_headline_get_level (_tmp10_);
	_tmp12_ = _tmp11_;
	_tmp13_ = g_strdup_printf ("h%d", _tmp12_);
	_tmp14_ = _tmp13_;
	_tmp15_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp9_, _tmp14_);
	_tmp16_ = _tmp15_;
	_valadoc_markup_writer_unref0 (_tmp16_);
	_g_free0 (_tmp14_);
}


static glong string_strnlen (gchar* str, glong maxlen) {
	glong result = 0L;
	gchar* end = NULL;
	gchar* _tmp0_;
	glong _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	_tmp0_ = str;
	_tmp1_ = maxlen;
	_tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
	end = _tmp2_;
	_tmp3_ = end;
	if (_tmp3_ == NULL) {
		glong _tmp4_;
		_tmp4_ = maxlen;
		result = _tmp4_;
		return result;
	} else {
		gchar* _tmp5_;
		gchar* _tmp6_;
		_tmp5_ = end;
		_tmp6_ = str;
		result = (glong) (_tmp5_ - _tmp6_);
		return result;
	}
}


static gchar* string_substring (const gchar* self, glong offset, glong len) {
	gchar* result = NULL;
	glong string_length = 0L;
	gboolean _tmp0_ = FALSE;
	glong _tmp1_;
	glong _tmp8_;
	glong _tmp14_;
	glong _tmp17_;
	glong _tmp18_;
	glong _tmp19_;
	glong _tmp20_;
	glong _tmp21_;
	gchar* _tmp22_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp1_ = offset;
	if (_tmp1_ >= ((glong) 0)) {
		glong _tmp2_;
		_tmp2_ = len;
		_tmp0_ = _tmp2_ >= ((glong) 0);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		glong _tmp3_;
		glong _tmp4_;
		glong _tmp5_;
		_tmp3_ = offset;
		_tmp4_ = len;
		_tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
		string_length = _tmp5_;
	} else {
		gint _tmp6_;
		gint _tmp7_;
		_tmp6_ = strlen (self);
		_tmp7_ = _tmp6_;
		string_length = (glong) _tmp7_;
	}
	_tmp8_ = offset;
	if (_tmp8_ < ((glong) 0)) {
		glong _tmp9_;
		glong _tmp10_;
		glong _tmp11_;
		_tmp9_ = string_length;
		_tmp10_ = offset;
		offset = _tmp9_ + _tmp10_;
		_tmp11_ = offset;
		g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
	} else {
		glong _tmp12_;
		glong _tmp13_;
		_tmp12_ = offset;
		_tmp13_ = string_length;
		g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
	}
	_tmp14_ = len;
	if (_tmp14_ < ((glong) 0)) {
		glong _tmp15_;
		glong _tmp16_;
		_tmp15_ = string_length;
		_tmp16_ = offset;
		len = _tmp15_ - _tmp16_;
	}
	_tmp17_ = offset;
	_tmp18_ = len;
	_tmp19_ = string_length;
	g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
	_tmp20_ = offset;
	_tmp21_ = len;
	_tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
	result = _tmp22_;
	return result;
}


static gint string_last_index_of_char (const gchar* self, gunichar c, gint start_index) {
	gint result = 0;
	gchar* _result_ = NULL;
	gint _tmp0_;
	gunichar _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	g_return_val_if_fail (self != NULL, 0);
	_tmp0_ = start_index;
	_tmp1_ = c;
	_tmp2_ = g_utf8_strrchr (((gchar*) self) + _tmp0_, (gssize) -1, _tmp1_);
	_result_ = _tmp2_;
	_tmp3_ = _result_;
	if (_tmp3_ != NULL) {
		gchar* _tmp4_;
		_tmp4_ = _result_;
		result = (gint) (_tmp4_ - ((gchar*) self));
		return result;
	} else {
		result = -1;
		return result;
	}
}


static void valadoc_html_html_renderer_real_visit_wiki_link (ValadocContentContentVisitor* base, ValadocContentWikiLink* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentWikiLink* _tmp0_;
	ValadocWikiPage* _tmp1_;
	ValadocWikiPage* _tmp2_;
	ValadocContentWikiLink* _tmp13_;
	ValaList* _tmp14_;
	ValaList* _tmp15_;
	gint _tmp16_;
	gint _tmp17_;
	ValadocContentWikiLink* _tmp31_;
	ValadocWikiPage* _tmp32_;
	ValadocWikiPage* _tmp33_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	_tmp1_ = valadoc_content_wiki_link_get_page (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_ != NULL) {
		ValadocHtmlMarkupWriter* _tmp3_;
		gchar* _tmp4_;
		ValadocContentWikiLink* _tmp5_;
		ValadocWikiPage* _tmp6_;
		ValadocWikiPage* _tmp7_;
		gchar* _tmp8_;
		gchar** _tmp9_;
		gchar** _tmp10_;
		gint _tmp10__length1;
		ValadocMarkupWriter* _tmp11_;
		ValadocMarkupWriter* _tmp12_;
		_tmp3_ = self->writer;
		_tmp4_ = g_strdup ("href");
		_tmp5_ = element;
		_tmp6_ = valadoc_content_wiki_link_get_page (_tmp5_);
		_tmp7_ = _tmp6_;
		_tmp8_ = valadoc_html_html_renderer_get_url (self, (ValadocDocumentation*) _tmp7_);
		_tmp9_ = g_new0 (gchar*, 2 + 1);
		_tmp9_[0] = _tmp4_;
		_tmp9_[1] = _tmp8_;
		_tmp10_ = _tmp9_;
		_tmp10__length1 = 2;
		_tmp11_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp3_, "a", _tmp10_, 2);
		_tmp12_ = _tmp11_;
		_valadoc_markup_writer_unref0 (_tmp12_);
		_tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
	}
	_tmp13_ = element;
	_tmp14_ = valadoc_content_inline_content_get_content ((ValadocContentInlineContent*) _tmp13_);
	_tmp15_ = _tmp14_;
	_tmp16_ = vala_collection_get_size ((ValaCollection*) _tmp15_);
	_tmp17_ = _tmp16_;
	if (_tmp17_ > 0) {
		ValadocContentWikiLink* _tmp18_;
		_tmp18_ = element;
		valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp18_, (ValadocContentContentVisitor*) self);
	} else {
		ValadocHtmlMarkupWriter* _tmp19_;
		ValadocContentWikiLink* _tmp20_;
		const gchar* _tmp21_;
		const gchar* _tmp22_;
		ValadocContentWikiLink* _tmp23_;
		const gchar* _tmp24_;
		const gchar* _tmp25_;
		gint _tmp26_;
		gchar* _tmp27_;
		gchar* _tmp28_;
		ValadocMarkupWriter* _tmp29_;
		ValadocMarkupWriter* _tmp30_;
		_tmp19_ = self->writer;
		_tmp20_ = element;
		_tmp21_ = valadoc_content_wiki_link_get_name (_tmp20_);
		_tmp22_ = _tmp21_;
		_tmp23_ = element;
		_tmp24_ = valadoc_content_wiki_link_get_name (_tmp23_);
		_tmp25_ = _tmp24_;
		_tmp26_ = string_last_index_of_char (_tmp25_, (gunichar) '.', 0);
		_tmp27_ = string_substring (_tmp22_, (glong) 0, (glong) _tmp26_);
		_tmp28_ = _tmp27_;
		_tmp29_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp19_, _tmp28_);
		_tmp30_ = _tmp29_;
		_valadoc_markup_writer_unref0 (_tmp30_);
		_g_free0 (_tmp28_);
	}
	_tmp31_ = element;
	_tmp32_ = valadoc_content_wiki_link_get_page (_tmp31_);
	_tmp33_ = _tmp32_;
	if (_tmp33_ != NULL) {
		ValadocHtmlMarkupWriter* _tmp34_;
		ValadocMarkupWriter* _tmp35_;
		ValadocMarkupWriter* _tmp36_;
		_tmp34_ = self->writer;
		_tmp35_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp34_, "a");
		_tmp36_ = _tmp35_;
		_valadoc_markup_writer_unref0 (_tmp36_);
	}
}


static void valadoc_html_html_renderer_real_visit_link (ValadocContentContentVisitor* base, ValadocContentLink* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentLink* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gboolean _tmp5_;
	ValadocContentLink* _tmp28_;
	ValaList* _tmp29_;
	ValaList* _tmp30_;
	gint _tmp31_;
	gint _tmp32_;
	ValadocHtmlMarkupWriter* _tmp40_;
	ValadocMarkupWriter* _tmp41_;
	ValadocMarkupWriter* _tmp42_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	_tmp1_ = valadoc_content_link_get_url (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = g_uri_parse_scheme (_tmp2_);
	_tmp4_ = _tmp3_;
	_tmp5_ = _tmp4_ != NULL;
	_g_free0 (_tmp4_);
	if (_tmp5_) {
		ValadocHtmlMarkupWriter* _tmp6_;
		gchar* _tmp7_;
		ValadocContentLink* _tmp8_;
		const gchar* _tmp9_;
		const gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		gchar* _tmp13_;
		gchar** _tmp14_;
		gchar** _tmp15_;
		gint _tmp15__length1;
		ValadocMarkupWriter* _tmp16_;
		ValadocMarkupWriter* _tmp17_;
		_tmp6_ = self->writer;
		_tmp7_ = g_strdup ("href");
		_tmp8_ = element;
		_tmp9_ = valadoc_content_link_get_url (_tmp8_);
		_tmp10_ = _tmp9_;
		_tmp11_ = g_strdup (_tmp10_);
		_tmp12_ = g_strdup ("target");
		_tmp13_ = g_strdup ("_blank");
		_tmp14_ = g_new0 (gchar*, 4 + 1);
		_tmp14_[0] = _tmp7_;
		_tmp14_[1] = _tmp11_;
		_tmp14_[2] = _tmp12_;
		_tmp14_[3] = _tmp13_;
		_tmp15_ = _tmp14_;
		_tmp15__length1 = 4;
		_tmp16_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp6_, "a", _tmp15_, 4);
		_tmp17_ = _tmp16_;
		_valadoc_markup_writer_unref0 (_tmp17_);
		_tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
	} else {
		ValadocHtmlMarkupWriter* _tmp18_;
		gchar* _tmp19_;
		ValadocContentLink* _tmp20_;
		const gchar* _tmp21_;
		const gchar* _tmp22_;
		gchar* _tmp23_;
		gchar** _tmp24_;
		gchar** _tmp25_;
		gint _tmp25__length1;
		ValadocMarkupWriter* _tmp26_;
		ValadocMarkupWriter* _tmp27_;
		_tmp18_ = self->writer;
		_tmp19_ = g_strdup ("href");
		_tmp20_ = element;
		_tmp21_ = valadoc_content_link_get_url (_tmp20_);
		_tmp22_ = _tmp21_;
		_tmp23_ = g_strdup (_tmp22_);
		_tmp24_ = g_new0 (gchar*, 2 + 1);
		_tmp24_[0] = _tmp19_;
		_tmp24_[1] = _tmp23_;
		_tmp25_ = _tmp24_;
		_tmp25__length1 = 2;
		_tmp26_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp18_, "a", _tmp25_, 2);
		_tmp27_ = _tmp26_;
		_valadoc_markup_writer_unref0 (_tmp27_);
		_tmp25_ = (_vala_array_free (_tmp25_, _tmp25__length1, (GDestroyNotify) g_free), NULL);
	}
	_tmp28_ = element;
	_tmp29_ = valadoc_content_inline_content_get_content ((ValadocContentInlineContent*) _tmp28_);
	_tmp30_ = _tmp29_;
	_tmp31_ = vala_collection_get_size ((ValaCollection*) _tmp30_);
	_tmp32_ = _tmp31_;
	if (_tmp32_ > 0) {
		ValadocContentLink* _tmp33_;
		_tmp33_ = element;
		valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp33_, (ValadocContentContentVisitor*) self);
	} else {
		ValadocHtmlMarkupWriter* _tmp34_;
		ValadocContentLink* _tmp35_;
		const gchar* _tmp36_;
		const gchar* _tmp37_;
		ValadocMarkupWriter* _tmp38_;
		ValadocMarkupWriter* _tmp39_;
		_tmp34_ = self->writer;
		_tmp35_ = element;
		_tmp36_ = valadoc_content_link_get_url (_tmp35_);
		_tmp37_ = _tmp36_;
		_tmp38_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp34_, _tmp37_);
		_tmp39_ = _tmp38_;
		_valadoc_markup_writer_unref0 (_tmp39_);
	}
	_tmp40_ = self->writer;
	_tmp41_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp40_, "a");
	_tmp42_ = _tmp41_;
	_valadoc_markup_writer_unref0 (_tmp42_);
}


static void valadoc_html_html_renderer_real_visit_symbol_link (ValadocContentContentVisitor* base, ValadocContentSymbolLink* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentSymbolLink* _tmp0_;
	ValadocApiNode* _tmp1_;
	ValadocApiNode* _tmp2_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	_tmp1_ = valadoc_content_symbol_link_get_symbol (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_ == NULL) {
		ValadocContentSymbolLink* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		ValadocContentSymbolLink* _tmp6_;
		_tmp3_ = element;
		_tmp4_ = valadoc_content_symbol_link_get_given_symbol_name (_tmp3_);
		_tmp5_ = _tmp4_;
		_tmp6_ = element;
		valadoc_html_html_renderer_write_unresolved_symbol_link (self, _tmp5_, (ValadocContentInlineContent*) _tmp6_);
	} else {
		ValadocContentSymbolLink* _tmp7_;
		ValadocApiNode* _tmp8_;
		ValadocApiNode* _tmp9_;
		ValadocContentSymbolLink* _tmp10_;
		const gchar* _tmp11_;
		const gchar* _tmp12_;
		ValadocContentSymbolLink* _tmp13_;
		_tmp7_ = element;
		_tmp8_ = valadoc_content_symbol_link_get_symbol (_tmp7_);
		_tmp9_ = _tmp8_;
		_tmp10_ = element;
		_tmp11_ = valadoc_content_symbol_link_get_given_symbol_name (_tmp10_);
		_tmp12_ = _tmp11_;
		_tmp13_ = element;
		valadoc_html_html_renderer_write_resolved_symbol_link (self, _tmp9_, _tmp12_, (ValadocContentInlineContent*) _tmp13_);
	}
}


static void valadoc_html_html_renderer_real_visit_list (ValadocContentContentVisitor* base, ValadocContentList* element) {
	ValadocHtmlHtmlRenderer * self;
	gchar* list_type = NULL;
	gchar* bullet_type = NULL;
	gchar* css_class = NULL;
	ValadocContentList* _tmp0_;
	ValadocContentListBullet _tmp1_;
	ValadocContentListBullet _tmp2_;
	ValadocHtmlMarkupWriter* _tmp17_;
	const gchar* _tmp18_;
	gchar* _tmp19_;
	const gchar* _tmp20_;
	gchar* _tmp21_;
	gchar* _tmp22_;
	const gchar* _tmp23_;
	gchar* _tmp24_;
	gchar** _tmp25_;
	gchar** _tmp26_;
	gint _tmp26__length1;
	ValadocMarkupWriter* _tmp27_;
	ValadocMarkupWriter* _tmp28_;
	ValadocContentList* _tmp29_;
	ValadocHtmlMarkupWriter* _tmp30_;
	const gchar* _tmp31_;
	ValadocMarkupWriter* _tmp32_;
	ValadocMarkupWriter* _tmp33_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	list_type = NULL;
	bullet_type = NULL;
	css_class = NULL;
	_tmp0_ = element;
	_tmp1_ = valadoc_content_list_get_bullet (_tmp0_);
	_tmp2_ = _tmp1_;
	switch (_tmp2_) {
		case VALADOC_CONTENT_LIST_BULLET_NONE:
		{
			gchar* _tmp3_;
			gchar* _tmp4_;
			_tmp3_ = g_strdup ("ul");
			_g_free0 (list_type);
			list_type = _tmp3_;
			_tmp4_ = g_strdup ("no_bullet");
			_g_free0 (css_class);
			css_class = _tmp4_;
			break;
		}
		case VALADOC_CONTENT_LIST_BULLET_UNORDERED:
		{
			gchar* _tmp5_;
			_tmp5_ = g_strdup ("ul");
			_g_free0 (list_type);
			list_type = _tmp5_;
			break;
		}
		case VALADOC_CONTENT_LIST_BULLET_ORDERED:
		{
			gchar* _tmp6_;
			_tmp6_ = g_strdup ("ol");
			_g_free0 (list_type);
			list_type = _tmp6_;
			break;
		}
		case VALADOC_CONTENT_LIST_BULLET_ORDERED_NUMBER:
		{
			gchar* _tmp7_;
			gchar* _tmp8_;
			_tmp7_ = g_strdup ("ol");
			_g_free0 (list_type);
			list_type = _tmp7_;
			_tmp8_ = g_strdup ("1");
			_g_free0 (bullet_type);
			bullet_type = _tmp8_;
			break;
		}
		case VALADOC_CONTENT_LIST_BULLET_ORDERED_LOWER_CASE_ALPHA:
		{
			gchar* _tmp9_;
			gchar* _tmp10_;
			_tmp9_ = g_strdup ("ol");
			_g_free0 (list_type);
			list_type = _tmp9_;
			_tmp10_ = g_strdup ("a");
			_g_free0 (bullet_type);
			bullet_type = _tmp10_;
			break;
		}
		case VALADOC_CONTENT_LIST_BULLET_ORDERED_UPPER_CASE_ALPHA:
		{
			gchar* _tmp11_;
			gchar* _tmp12_;
			_tmp11_ = g_strdup ("ol");
			_g_free0 (list_type);
			list_type = _tmp11_;
			_tmp12_ = g_strdup ("A");
			_g_free0 (bullet_type);
			bullet_type = _tmp12_;
			break;
		}
		case VALADOC_CONTENT_LIST_BULLET_ORDERED_LOWER_CASE_ROMAN:
		{
			gchar* _tmp13_;
			gchar* _tmp14_;
			_tmp13_ = g_strdup ("ol");
			_g_free0 (list_type);
			list_type = _tmp13_;
			_tmp14_ = g_strdup ("i");
			_g_free0 (bullet_type);
			bullet_type = _tmp14_;
			break;
		}
		case VALADOC_CONTENT_LIST_BULLET_ORDERED_UPPER_CASE_ROMAN:
		{
			gchar* _tmp15_;
			gchar* _tmp16_;
			_tmp15_ = g_strdup ("ol");
			_g_free0 (list_type);
			list_type = _tmp15_;
			_tmp16_ = g_strdup ("I");
			_g_free0 (bullet_type);
			bullet_type = _tmp16_;
			break;
		}
		default:
		break;
	}
	_tmp17_ = self->writer;
	_tmp18_ = list_type;
	_tmp19_ = g_strdup ("class");
	_tmp20_ = css_class;
	_tmp21_ = g_strdup (_tmp20_);
	_tmp22_ = g_strdup ("type");
	_tmp23_ = bullet_type;
	_tmp24_ = g_strdup (_tmp23_);
	_tmp25_ = g_new0 (gchar*, 4 + 1);
	_tmp25_[0] = _tmp19_;
	_tmp25_[1] = _tmp21_;
	_tmp25_[2] = _tmp22_;
	_tmp25_[3] = _tmp24_;
	_tmp26_ = _tmp25_;
	_tmp26__length1 = 4;
	_tmp27_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp17_, _tmp18_, _tmp26_, 4);
	_tmp28_ = _tmp27_;
	_valadoc_markup_writer_unref0 (_tmp28_);
	_tmp26_ = (_vala_array_free (_tmp26_, _tmp26__length1, (GDestroyNotify) g_free), NULL);
	_tmp29_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp29_, (ValadocContentContentVisitor*) self);
	_tmp30_ = self->writer;
	_tmp31_ = list_type;
	_tmp32_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp30_, _tmp31_);
	_tmp33_ = _tmp32_;
	_valadoc_markup_writer_unref0 (_tmp33_);
	_g_free0 (css_class);
	_g_free0 (bullet_type);
	_g_free0 (list_type);
}


static void valadoc_html_html_renderer_real_visit_list_item (ValadocContentContentVisitor* base, ValadocContentListItem* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	ValadocContentParagraph* _tmp3_ = NULL;
	ValadocContentListItem* _tmp4_;
	ValaList* _tmp5_;
	ValaList* _tmp6_;
	gint _tmp7_;
	gint _tmp8_;
	ValadocContentParagraph* first_para = NULL;
	ValadocContentParagraph* _tmp15_;
	ValadocContentParagraph* _tmp16_;
	ValadocHtmlMarkupWriter* _tmp34_;
	ValadocMarkupWriter* _tmp35_;
	ValadocMarkupWriter* _tmp36_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "li", NULL, 0);
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
	_tmp4_ = element;
	_tmp5_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) _tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = vala_collection_get_size ((ValaCollection*) _tmp6_);
	_tmp8_ = _tmp7_;
	if (_tmp8_ > 0) {
		ValadocContentListItem* _tmp9_;
		ValaList* _tmp10_;
		ValaList* _tmp11_;
		gpointer _tmp12_;
		ValadocContentBlock* _tmp13_;
		ValadocContentParagraph* _tmp14_;
		_tmp9_ = element;
		_tmp10_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) _tmp9_);
		_tmp11_ = _tmp10_;
		_tmp12_ = vala_list_get (_tmp11_, 0);
		_tmp13_ = (ValadocContentBlock*) _tmp12_;
		_tmp14_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, VALADOC_CONTENT_TYPE_PARAGRAPH) ? ((ValadocContentParagraph*) _tmp13_) : NULL;
		if (_tmp14_ == NULL) {
			_g_object_unref0 (_tmp13_);
		}
		_g_object_unref0 (_tmp3_);
		_tmp3_ = _tmp14_;
	} else {
		_g_object_unref0 (_tmp3_);
		_tmp3_ = NULL;
	}
	_tmp15_ = _g_object_ref0 (_tmp3_);
	first_para = _tmp15_;
	_tmp16_ = first_para;
	if (_tmp16_ != NULL) {
		ValadocContentParagraph* _tmp17_;
		gboolean first_entry = FALSE;
		_tmp17_ = first_para;
		valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp17_, (ValadocContentContentVisitor*) self);
		first_entry = TRUE;
		{
			ValaList* _item_list = NULL;
			ValadocContentListItem* _tmp18_;
			ValaList* _tmp19_;
			ValaList* _tmp20_;
			ValaList* _tmp21_;
			gint _item_size = 0;
			ValaList* _tmp22_;
			gint _tmp23_;
			gint _tmp24_;
			gint _item_index = 0;
			_tmp18_ = element;
			_tmp19_ = valadoc_content_block_content_get_content ((ValadocContentBlockContent*) _tmp18_);
			_tmp20_ = _tmp19_;
			_tmp21_ = _vala_iterable_ref0 (_tmp20_);
			_item_list = _tmp21_;
			_tmp22_ = _item_list;
			_tmp23_ = vala_collection_get_size ((ValaCollection*) _tmp22_);
			_tmp24_ = _tmp23_;
			_item_size = _tmp24_;
			_item_index = -1;
			while (TRUE) {
				gint _tmp25_;
				gint _tmp26_;
				gint _tmp27_;
				ValadocContentBlock* item = NULL;
				ValaList* _tmp28_;
				gint _tmp29_;
				gpointer _tmp30_;
				gboolean _tmp31_;
				_tmp25_ = _item_index;
				_item_index = _tmp25_ + 1;
				_tmp26_ = _item_index;
				_tmp27_ = _item_size;
				if (!(_tmp26_ < _tmp27_)) {
					break;
				}
				_tmp28_ = _item_list;
				_tmp29_ = _item_index;
				_tmp30_ = vala_list_get (_tmp28_, _tmp29_);
				item = (ValadocContentBlock*) _tmp30_;
				_tmp31_ = first_entry;
				if (!_tmp31_) {
					ValadocContentBlock* _tmp32_;
					_tmp32_ = item;
					valadoc_content_content_element_accept ((ValadocContentContentElement*) _tmp32_, (ValadocContentContentVisitor*) self);
				}
				first_entry = FALSE;
				_g_object_unref0 (item);
			}
			_vala_iterable_unref0 (_item_list);
		}
	} else {
		ValadocContentListItem* _tmp33_;
		_tmp33_ = element;
		valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp33_, (ValadocContentContentVisitor*) self);
	}
	_tmp34_ = self->writer;
	_tmp35_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp34_, "li");
	_tmp36_ = _tmp35_;
	_valadoc_markup_writer_unref0 (_tmp36_);
	_g_object_unref0 (first_para);
	_g_object_unref0 (_tmp3_);
}


static void valadoc_html_html_renderer_real_visit_page (ValadocContentContentVisitor* base, ValadocContentPage* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentPage* _tmp0_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp0_, (ValadocContentContentVisitor*) self);
}


static void valadoc_html_html_renderer_real_visit_paragraph (ValadocContentContentVisitor* base, ValadocContentParagraph* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentParagraph* _tmp0_;
	ValadocContentHorizontalAlign _tmp1_;
	ValadocContentHorizontalAlign _tmp2_;
	ValadocContentParagraph* _tmp20_;
	ValadocHtmlMarkupWriter* _tmp21_;
	ValadocMarkupWriter* _tmp22_;
	ValadocMarkupWriter* _tmp23_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	_tmp1_ = valadoc_content_style_attributes_get_horizontal_align ((ValadocContentStyleAttributes*) _tmp0_);
	_tmp2_ = _tmp1_;
	switch (_tmp2_) {
		case VALADOC_CONTENT_HORIZONTAL_ALIGN_CENTER:
		{
			ValadocHtmlMarkupWriter* _tmp3_;
			gchar* _tmp4_;
			gchar* _tmp5_;
			gchar** _tmp6_;
			gchar** _tmp7_;
			gint _tmp7__length1;
			ValadocMarkupWriter* _tmp8_;
			ValadocMarkupWriter* _tmp9_;
			_tmp3_ = self->writer;
			_tmp4_ = g_strdup ("style");
			_tmp5_ = g_strdup ("text-align: center;");
			_tmp6_ = g_new0 (gchar*, 2 + 1);
			_tmp6_[0] = _tmp4_;
			_tmp6_[1] = _tmp5_;
			_tmp7_ = _tmp6_;
			_tmp7__length1 = 2;
			_tmp8_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp3_, "p", _tmp7_, 2);
			_tmp9_ = _tmp8_;
			_valadoc_markup_writer_unref0 (_tmp9_);
			_tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
			break;
		}
		case VALADOC_CONTENT_HORIZONTAL_ALIGN_RIGHT:
		{
			ValadocHtmlMarkupWriter* _tmp10_;
			gchar* _tmp11_;
			gchar* _tmp12_;
			gchar** _tmp13_;
			gchar** _tmp14_;
			gint _tmp14__length1;
			ValadocMarkupWriter* _tmp15_;
			ValadocMarkupWriter* _tmp16_;
			_tmp10_ = self->writer;
			_tmp11_ = g_strdup ("style");
			_tmp12_ = g_strdup ("text-align: right;");
			_tmp13_ = g_new0 (gchar*, 2 + 1);
			_tmp13_[0] = _tmp11_;
			_tmp13_[1] = _tmp12_;
			_tmp14_ = _tmp13_;
			_tmp14__length1 = 2;
			_tmp15_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp10_, "p", _tmp14_, 2);
			_tmp16_ = _tmp15_;
			_valadoc_markup_writer_unref0 (_tmp16_);
			_tmp14_ = (_vala_array_free (_tmp14_, _tmp14__length1, (GDestroyNotify) g_free), NULL);
			break;
		}
		default:
		{
			ValadocHtmlMarkupWriter* _tmp17_;
			ValadocMarkupWriter* _tmp18_;
			ValadocMarkupWriter* _tmp19_;
			_tmp17_ = self->writer;
			_tmp18_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp17_, "p", NULL, 0);
			_tmp19_ = _tmp18_;
			_valadoc_markup_writer_unref0 (_tmp19_);
			break;
		}
	}
	_tmp20_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp20_, (ValadocContentContentVisitor*) self);
	_tmp21_ = self->writer;
	_tmp22_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp21_, "p");
	_tmp23_ = _tmp22_;
	_valadoc_markup_writer_unref0 (_tmp23_);
}


static void valadoc_html_html_renderer_visit_notification_block (ValadocHtmlHtmlRenderer* self, ValadocContentBlockContent* element, const gchar* headline) {
	ValadocHtmlMarkupWriter* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocHtmlMarkupWriter* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar** _tmp10_;
	gchar** _tmp11_;
	gint _tmp11__length1;
	ValadocMarkupWriter* _tmp12_;
	ValadocMarkupWriter* _tmp13_;
	const gchar* _tmp14_;
	ValadocMarkupWriter* _tmp15_;
	ValadocMarkupWriter* _tmp16_;
	ValadocMarkupWriter* _tmp17_;
	ValadocMarkupWriter* _tmp18_;
	ValadocMarkupWriter* _tmp19_;
	ValadocMarkupWriter* _tmp20_;
	ValadocHtmlMarkupWriter* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	gchar** _tmp24_;
	gchar** _tmp25_;
	gint _tmp25__length1;
	ValadocMarkupWriter* _tmp26_;
	ValadocMarkupWriter* _tmp27_;
	ValadocContentBlockContent* _tmp28_;
	ValadocHtmlMarkupWriter* _tmp29_;
	ValadocMarkupWriter* _tmp30_;
	ValadocMarkupWriter* _tmp31_;
	ValadocHtmlMarkupWriter* _tmp32_;
	ValadocMarkupWriter* _tmp33_;
	ValadocMarkupWriter* _tmp34_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (element != NULL);
	g_return_if_fail (headline != NULL);
	_tmp0_ = self->writer;
	_tmp1_ = g_strdup ("class");
	_tmp2_ = g_strdup ("main_notification_block");
	_tmp3_ = g_new0 (gchar*, 2 + 1);
	_tmp3_[0] = _tmp1_;
	_tmp3_[1] = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp4__length1 = 2;
	_tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "div", _tmp4_, 2);
	_tmp6_ = _tmp5_;
	_valadoc_markup_writer_unref0 (_tmp6_);
	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
	_tmp7_ = self->writer;
	_tmp8_ = g_strdup ("class");
	_tmp9_ = g_strdup ("main_block_headline");
	_tmp10_ = g_new0 (gchar*, 2 + 1);
	_tmp10_[0] = _tmp8_;
	_tmp10_[1] = _tmp9_;
	_tmp11_ = _tmp10_;
	_tmp11__length1 = 2;
	_tmp12_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp7_, "span", _tmp11_, 2);
	_tmp13_ = _tmp12_;
	_tmp14_ = headline;
	_tmp15_ = valadoc_markup_writer_text (_tmp13_, _tmp14_);
	_tmp16_ = _tmp15_;
	_tmp17_ = valadoc_markup_writer_end_tag (_tmp16_, "span");
	_tmp18_ = _tmp17_;
	_tmp19_ = valadoc_markup_writer_text (_tmp18_, " ");
	_tmp20_ = _tmp19_;
	_valadoc_markup_writer_unref0 (_tmp20_);
	_valadoc_markup_writer_unref0 (_tmp18_);
	_valadoc_markup_writer_unref0 (_tmp16_);
	_valadoc_markup_writer_unref0 (_tmp13_);
	_tmp11_ = (_vala_array_free (_tmp11_, _tmp11__length1, (GDestroyNotify) g_free), NULL);
	_tmp21_ = self->writer;
	_tmp22_ = g_strdup ("class");
	_tmp23_ = g_strdup ("main_block_content");
	_tmp24_ = g_new0 (gchar*, 2 + 1);
	_tmp24_[0] = _tmp22_;
	_tmp24_[1] = _tmp23_;
	_tmp25_ = _tmp24_;
	_tmp25__length1 = 2;
	_tmp26_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp21_, "div", _tmp25_, 2);
	_tmp27_ = _tmp26_;
	_valadoc_markup_writer_unref0 (_tmp27_);
	_tmp25_ = (_vala_array_free (_tmp25_, _tmp25__length1, (GDestroyNotify) g_free), NULL);
	_tmp28_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp28_, (ValadocContentContentVisitor*) self);
	_tmp29_ = self->writer;
	_tmp30_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp29_, "div");
	_tmp31_ = _tmp30_;
	_valadoc_markup_writer_unref0 (_tmp31_);
	_tmp32_ = self->writer;
	_tmp33_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp32_, "div");
	_tmp34_ = _tmp33_;
	_valadoc_markup_writer_unref0 (_tmp34_);
}


static void valadoc_html_html_renderer_real_visit_warning (ValadocContentContentVisitor* base, ValadocContentWarning* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentWarning* _tmp0_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	valadoc_html_html_renderer_visit_notification_block (self, (ValadocContentBlockContent*) _tmp0_, "Warning:");
}


static void valadoc_html_html_renderer_real_visit_note (ValadocContentContentVisitor* base, ValadocContentNote* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentNote* _tmp0_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	valadoc_html_html_renderer_visit_notification_block (self, (ValadocContentBlockContent*) _tmp0_, "Note:");
}


static void valadoc_html_html_renderer_real_visit_run (ValadocContentContentVisitor* base, ValadocContentRun* element) {
	ValadocHtmlHtmlRenderer * self;
	gchar* tag = NULL;
	gchar* css_type = NULL;
	ValadocContentRun* _tmp0_;
	ValadocContentRunStyle _tmp1_;
	ValadocContentRunStyle _tmp2_;
	const gchar* _tmp34_;
	ValadocContentRun* _tmp44_;
	const gchar* _tmp45_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	tag = NULL;
	css_type = NULL;
	_tmp0_ = element;
	_tmp1_ = valadoc_content_run_get_style (_tmp0_);
	_tmp2_ = _tmp1_;
	switch (_tmp2_) {
		case VALADOC_CONTENT_RUN_STYLE_BOLD:
		{
			gchar* _tmp3_;
			_tmp3_ = g_strdup ("b");
			_g_free0 (tag);
			tag = _tmp3_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_ITALIC:
		{
			gchar* _tmp4_;
			_tmp4_ = g_strdup ("i");
			_g_free0 (tag);
			tag = _tmp4_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_UNDERLINED:
		{
			gchar* _tmp5_;
			_tmp5_ = g_strdup ("u");
			_g_free0 (tag);
			tag = _tmp5_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_MONOSPACED:
		{
			gchar* _tmp6_;
			_tmp6_ = g_strdup ("code");
			_g_free0 (tag);
			tag = _tmp6_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_STROKE:
		{
			gchar* _tmp7_;
			_tmp7_ = g_strdup ("stroke");
			_g_free0 (tag);
			tag = _tmp7_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_LANG_KEYWORD:
		{
			gchar* _tmp8_;
			gchar* _tmp9_;
			_tmp8_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp8_;
			_tmp9_ = g_strdup ("main_keyword");
			_g_free0 (css_type);
			css_type = _tmp9_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_LANG_ESCAPE:
		{
			gchar* _tmp10_;
			gchar* _tmp11_;
			_tmp10_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp10_;
			_tmp11_ = g_strdup ("main_escape");
			_g_free0 (css_type);
			css_type = _tmp11_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_LANG_LITERAL:
		{
			gchar* _tmp12_;
			gchar* _tmp13_;
			_tmp12_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp12_;
			_tmp13_ = g_strdup ("main_literal");
			_g_free0 (css_type);
			css_type = _tmp13_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_LANG_BASIC_TYPE:
		{
			gchar* _tmp14_;
			gchar* _tmp15_;
			_tmp14_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp14_;
			_tmp15_ = g_strdup ("main_basic_type");
			_g_free0 (css_type);
			css_type = _tmp15_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_LANG_TYPE:
		{
			gchar* _tmp16_;
			gchar* _tmp17_;
			_tmp16_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp16_;
			_tmp17_ = g_strdup ("main_type");
			_g_free0 (css_type);
			css_type = _tmp17_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_LANG_COMMENT:
		{
			gchar* _tmp18_;
			gchar* _tmp19_;
			_tmp18_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp18_;
			_tmp19_ = g_strdup ("main_comment");
			_g_free0 (css_type);
			css_type = _tmp19_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_LANG_PREPROCESSOR:
		{
			gchar* _tmp20_;
			gchar* _tmp21_;
			_tmp20_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp20_;
			_tmp21_ = g_strdup ("main_preprocessor");
			_g_free0 (css_type);
			css_type = _tmp21_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_XML_ESCAPE:
		{
			gchar* _tmp22_;
			gchar* _tmp23_;
			_tmp22_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp22_;
			_tmp23_ = g_strdup ("xml_escape");
			_g_free0 (css_type);
			css_type = _tmp23_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_XML_ELEMENT:
		{
			gchar* _tmp24_;
			gchar* _tmp25_;
			_tmp24_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp24_;
			_tmp25_ = g_strdup ("xml_element");
			_g_free0 (css_type);
			css_type = _tmp25_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_XML_ATTRIBUTE:
		{
			gchar* _tmp26_;
			gchar* _tmp27_;
			_tmp26_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp26_;
			_tmp27_ = g_strdup ("xml_attribute");
			_g_free0 (css_type);
			css_type = _tmp27_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_XML_ATTRIBUTE_VALUE:
		{
			gchar* _tmp28_;
			gchar* _tmp29_;
			_tmp28_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp28_;
			_tmp29_ = g_strdup ("xml_attribute_value");
			_g_free0 (css_type);
			css_type = _tmp29_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_XML_COMMENT:
		{
			gchar* _tmp30_;
			gchar* _tmp31_;
			_tmp30_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp30_;
			_tmp31_ = g_strdup ("xml_comment");
			_g_free0 (css_type);
			css_type = _tmp31_;
			break;
		}
		case VALADOC_CONTENT_RUN_STYLE_XML_CDATA:
		{
			gchar* _tmp32_;
			gchar* _tmp33_;
			_tmp32_ = g_strdup ("span");
			_g_free0 (tag);
			tag = _tmp32_;
			_tmp33_ = g_strdup ("xml_cdata");
			_g_free0 (css_type);
			css_type = _tmp33_;
			break;
		}
		default:
		break;
	}
	_tmp34_ = tag;
	if (_tmp34_ != NULL) {
		ValadocHtmlMarkupWriter* _tmp35_;
		const gchar* _tmp36_;
		gchar* _tmp37_;
		const gchar* _tmp38_;
		gchar* _tmp39_;
		gchar** _tmp40_;
		gchar** _tmp41_;
		gint _tmp41__length1;
		ValadocMarkupWriter* _tmp42_;
		ValadocMarkupWriter* _tmp43_;
		_tmp35_ = self->writer;
		_tmp36_ = tag;
		_tmp37_ = g_strdup ("class");
		_tmp38_ = css_type;
		_tmp39_ = g_strdup (_tmp38_);
		_tmp40_ = g_new0 (gchar*, 2 + 1);
		_tmp40_[0] = _tmp37_;
		_tmp40_[1] = _tmp39_;
		_tmp41_ = _tmp40_;
		_tmp41__length1 = 2;
		_tmp42_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp35_, _tmp36_, _tmp41_, 2);
		_tmp43_ = _tmp42_;
		_valadoc_markup_writer_unref0 (_tmp43_);
		_tmp41_ = (_vala_array_free (_tmp41_, _tmp41__length1, (GDestroyNotify) g_free), NULL);
	}
	_tmp44_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp44_, (ValadocContentContentVisitor*) self);
	_tmp45_ = tag;
	if (_tmp45_ != NULL) {
		ValadocHtmlMarkupWriter* _tmp46_;
		const gchar* _tmp47_;
		ValadocMarkupWriter* _tmp48_;
		ValadocMarkupWriter* _tmp49_;
		_tmp46_ = self->writer;
		_tmp47_ = tag;
		_tmp48_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp46_, _tmp47_);
		_tmp49_ = _tmp48_;
		_valadoc_markup_writer_unref0 (_tmp49_);
	}
	_g_free0 (css_type);
	_g_free0 (tag);
}


static void valadoc_html_html_renderer_real_visit_source_code (ValadocContentContentVisitor* base, ValadocContentSourceCode* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocHtmlMarkupWriter* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar** _tmp4_;
	gchar** _tmp5_;
	gint _tmp5__length1;
	ValadocMarkupWriter* _tmp6_;
	ValadocMarkupWriter* _tmp7_;
	ValadocContentSourceCode* _tmp8_;
	ValadocHtmlMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	ValadocMarkupWriter* _tmp11_;
	ValadocHtmlMarkupWriter* _tmp12_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = self->writer;
	valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp0_, FALSE);
	_tmp1_ = self->writer;
	_tmp2_ = g_strdup ("class");
	_tmp3_ = g_strdup ("main_source");
	_tmp4_ = g_new0 (gchar*, 2 + 1);
	_tmp4_[0] = _tmp2_;
	_tmp4_[1] = _tmp3_;
	_tmp5_ = _tmp4_;
	_tmp5__length1 = 2;
	_tmp6_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp1_, "pre", _tmp5_, 2);
	_tmp7_ = _tmp6_;
	_valadoc_markup_writer_unref0 (_tmp7_);
	_tmp5_ = (_vala_array_free (_tmp5_, _tmp5__length1, (GDestroyNotify) g_free), NULL);
	_tmp8_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp8_, (ValadocContentContentVisitor*) self);
	_tmp9_ = self->writer;
	_tmp10_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp9_, "pre");
	_tmp11_ = _tmp10_;
	_valadoc_markup_writer_unref0 (_tmp11_);
	_tmp12_ = self->writer;
	valadoc_markup_writer_set_wrap ((ValadocMarkupWriter*) _tmp12_, TRUE);
}


static void valadoc_html_html_renderer_real_visit_table (ValadocContentContentVisitor* base, ValadocContentTable* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocHtmlMarkupWriter* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gint _tmp4__length1;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	ValadocContentTable* _tmp7_;
	ValadocHtmlMarkupWriter* _tmp8_;
	ValadocMarkupWriter* _tmp9_;
	ValadocMarkupWriter* _tmp10_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = self->writer;
	_tmp1_ = g_strdup ("class");
	_tmp2_ = g_strdup ("main_table");
	_tmp3_ = g_new0 (gchar*, 2 + 1);
	_tmp3_[0] = _tmp1_;
	_tmp3_[1] = _tmp2_;
	_tmp4_ = _tmp3_;
	_tmp4__length1 = 2;
	_tmp5_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "table", _tmp4_, 2);
	_tmp6_ = _tmp5_;
	_valadoc_markup_writer_unref0 (_tmp6_);
	_tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_free), NULL);
	_tmp7_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp7_, (ValadocContentContentVisitor*) self);
	_tmp8_ = self->writer;
	_tmp9_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp8_, "table");
	_tmp10_ = _tmp9_;
	_valadoc_markup_writer_unref0 (_tmp10_);
}


static void valadoc_html_html_renderer_real_visit_table_cell (ValadocContentContentVisitor* base, ValadocContentTableCell* element) {
	ValadocHtmlHtmlRenderer * self;
	gchar* style = NULL;
	gchar* _tmp0_;
	ValadocContentTableCell* _tmp1_;
	ValadocContentHorizontalAlign _tmp2_;
	ValadocContentHorizontalAlign _tmp3_;
	ValadocContentTableCell* _tmp14_;
	ValadocContentVerticalAlign _tmp15_;
	ValadocContentVerticalAlign _tmp16_;
	ValadocHtmlMarkupWriter* _tmp27_;
	gchar* _tmp28_;
	gchar* _tmp29_;
	gchar* _tmp30_;
	ValadocContentTableCell* _tmp31_;
	gint _tmp32_;
	gint _tmp33_;
	gchar* _tmp34_;
	gchar* _tmp35_;
	ValadocContentTableCell* _tmp36_;
	gint _tmp37_;
	gint _tmp38_;
	gchar* _tmp39_;
	gchar* _tmp40_;
	const gchar* _tmp41_;
	gchar* _tmp42_;
	gchar** _tmp43_;
	gchar** _tmp44_;
	gint _tmp44__length1;
	ValadocMarkupWriter* _tmp45_;
	ValadocMarkupWriter* _tmp46_;
	ValadocContentTableCell* _tmp47_;
	ValadocHtmlMarkupWriter* _tmp48_;
	ValadocMarkupWriter* _tmp49_;
	ValadocMarkupWriter* _tmp50_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = g_strdup ("");
	style = _tmp0_;
	_tmp1_ = element;
	_tmp2_ = valadoc_content_style_attributes_get_horizontal_align ((ValadocContentStyleAttributes*) _tmp1_);
	_tmp3_ = _tmp2_;
	if (_tmp3_ != VALADOC_CONTENT_HORIZONTAL_ALIGN_NONE) {
		const gchar* _tmp4_;
		ValadocContentTableCell* _tmp5_;
		ValadocContentHorizontalAlign _tmp6_;
		ValadocContentHorizontalAlign _tmp7_;
		const gchar* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		gchar* _tmp13_;
		_tmp4_ = style;
		_tmp5_ = element;
		_tmp6_ = valadoc_content_style_attributes_get_horizontal_align ((ValadocContentStyleAttributes*) _tmp5_);
		_tmp7_ = _tmp6_;
		_tmp8_ = valadoc_content_horizontal_align_to_string (_tmp7_);
		_tmp9_ = g_strconcat ("text-align: ", _tmp8_, NULL);
		_tmp10_ = _tmp9_;
		_tmp11_ = g_strconcat (_tmp10_, "; ", NULL);
		_tmp12_ = _tmp11_;
		_tmp13_ = g_strconcat (_tmp4_, _tmp12_, NULL);
		_g_free0 (style);
		style = _tmp13_;
		_g_free0 (_tmp12_);
		_g_free0 (_tmp10_);
	}
	_tmp14_ = element;
	_tmp15_ = valadoc_content_style_attributes_get_vertical_align ((ValadocContentStyleAttributes*) _tmp14_);
	_tmp16_ = _tmp15_;
	if (_tmp16_ != VALADOC_CONTENT_VERTICAL_ALIGN_NONE) {
		const gchar* _tmp17_;
		ValadocContentTableCell* _tmp18_;
		ValadocContentVerticalAlign _tmp19_;
		ValadocContentVerticalAlign _tmp20_;
		const gchar* _tmp21_;
		gchar* _tmp22_;
		gchar* _tmp23_;
		gchar* _tmp24_;
		gchar* _tmp25_;
		gchar* _tmp26_;
		_tmp17_ = style;
		_tmp18_ = element;
		_tmp19_ = valadoc_content_style_attributes_get_vertical_align ((ValadocContentStyleAttributes*) _tmp18_);
		_tmp20_ = _tmp19_;
		_tmp21_ = valadoc_content_vertical_align_to_string (_tmp20_);
		_tmp22_ = g_strconcat ("vertical-align: ", _tmp21_, NULL);
		_tmp23_ = _tmp22_;
		_tmp24_ = g_strconcat (_tmp23_, "; ", NULL);
		_tmp25_ = _tmp24_;
		_tmp26_ = g_strconcat (_tmp17_, _tmp25_, NULL);
		_g_free0 (style);
		style = _tmp26_;
		_g_free0 (_tmp25_);
		_g_free0 (_tmp23_);
	}
	_tmp27_ = self->writer;
	_tmp28_ = g_strdup ("class");
	_tmp29_ = g_strdup ("main_table");
	_tmp30_ = g_strdup ("colspan");
	_tmp31_ = element;
	_tmp32_ = valadoc_content_table_cell_get_colspan (_tmp31_);
	_tmp33_ = _tmp32_;
	_tmp34_ = g_strdup_printf ("%i", _tmp33_);
	_tmp35_ = g_strdup ("rowspan");
	_tmp36_ = element;
	_tmp37_ = valadoc_content_table_cell_get_rowspan (_tmp36_);
	_tmp38_ = _tmp37_;
	_tmp39_ = g_strdup_printf ("%i", _tmp38_);
	_tmp40_ = g_strdup ("style");
	_tmp41_ = style;
	_tmp42_ = g_strdup (_tmp41_);
	_tmp43_ = g_new0 (gchar*, 8 + 1);
	_tmp43_[0] = _tmp28_;
	_tmp43_[1] = _tmp29_;
	_tmp43_[2] = _tmp30_;
	_tmp43_[3] = _tmp34_;
	_tmp43_[4] = _tmp35_;
	_tmp43_[5] = _tmp39_;
	_tmp43_[6] = _tmp40_;
	_tmp43_[7] = _tmp42_;
	_tmp44_ = _tmp43_;
	_tmp44__length1 = 8;
	_tmp45_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp27_, "td", _tmp44_, 8);
	_tmp46_ = _tmp45_;
	_valadoc_markup_writer_unref0 (_tmp46_);
	_tmp44_ = (_vala_array_free (_tmp44_, _tmp44__length1, (GDestroyNotify) g_free), NULL);
	_tmp47_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp47_, (ValadocContentContentVisitor*) self);
	_tmp48_ = self->writer;
	_tmp49_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp48_, "td");
	_tmp50_ = _tmp49_;
	_valadoc_markup_writer_unref0 (_tmp50_);
	_g_free0 (style);
}


static void valadoc_html_html_renderer_real_visit_table_row (ValadocContentContentVisitor* base, ValadocContentTableRow* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocHtmlMarkupWriter* _tmp0_;
	ValadocMarkupWriter* _tmp1_;
	ValadocMarkupWriter* _tmp2_;
	ValadocContentTableRow* _tmp3_;
	ValadocHtmlMarkupWriter* _tmp4_;
	ValadocMarkupWriter* _tmp5_;
	ValadocMarkupWriter* _tmp6_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = self->writer;
	_tmp1_ = valadoc_markup_writer_start_tag ((ValadocMarkupWriter*) _tmp0_, "tr", NULL, 0);
	_tmp2_ = _tmp1_;
	_valadoc_markup_writer_unref0 (_tmp2_);
	_tmp3_ = element;
	valadoc_content_content_element_accept_children ((ValadocContentContentElement*) _tmp3_, (ValadocContentContentVisitor*) self);
	_tmp4_ = self->writer;
	_tmp5_ = valadoc_markup_writer_end_tag ((ValadocMarkupWriter*) _tmp4_, "tr");
	_tmp6_ = _tmp5_;
	_valadoc_markup_writer_unref0 (_tmp6_);
}


static void valadoc_html_html_renderer_real_visit_taglet (ValadocContentContentVisitor* base, ValadocContentTaglet* element) {
	ValadocHtmlHtmlRenderer * self;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
}


static void valadoc_html_html_renderer_real_visit_text (ValadocContentContentVisitor* base, ValadocContentText* element) {
	ValadocHtmlHtmlRenderer * self;
	ValadocContentText* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	self = (ValadocHtmlHtmlRenderer*) base;
	g_return_if_fail (element != NULL);
	_tmp0_ = element;
	_tmp1_ = valadoc_content_text_get_content (_tmp0_);
	_tmp2_ = _tmp1_;
	valadoc_html_html_renderer_write_string (self, _tmp2_);
}


static gchar string_get (const gchar* self, glong index) {
	gchar result = '\0';
	glong _tmp0_;
	gchar _tmp1_;
	g_return_val_if_fail (self != NULL, '\0');
	_tmp0_ = index;
	_tmp1_ = ((gchar*) self)[_tmp0_];
	result = _tmp1_;
	return result;
}


static void valadoc_html_html_renderer_write_string (ValadocHtmlHtmlRenderer* self, const gchar* content) {
	gunichar chr = 0U;
	const gchar* _tmp0_;
	gchar _tmp1_;
	glong lpos = 0L;
	gint i = 0;
	ValadocHtmlMarkupWriter* _tmp61_;
	const gchar* _tmp62_;
	glong _tmp63_;
	gint _tmp64_;
	glong _tmp65_;
	gchar* _tmp66_;
	gchar* _tmp67_;
	ValadocMarkupWriter* _tmp68_;
	ValadocMarkupWriter* _tmp69_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (content != NULL);
	_tmp0_ = content;
	_tmp1_ = string_get (_tmp0_, (glong) 0);
	chr = (gunichar) _tmp1_;
	lpos = (glong) 0;
	i = 0;
	{
		gboolean _tmp2_ = FALSE;
		i = 0;
		_tmp2_ = TRUE;
		while (TRUE) {
			gunichar _tmp7_;
			gunichar _tmp8_;
			if (!_tmp2_) {
				gint _tmp3_;
				const gchar* _tmp4_;
				gint _tmp5_;
				gchar _tmp6_;
				_tmp3_ = i;
				i = _tmp3_ + 1;
				_tmp4_ = content;
				_tmp5_ = i;
				_tmp6_ = string_get (_tmp4_, (glong) _tmp5_);
				chr = (gunichar) _tmp6_;
			}
			_tmp2_ = FALSE;
			_tmp7_ = chr;
			if (!(_tmp7_ != ((gunichar) '\0'))) {
				break;
			}
			_tmp8_ = chr;
			switch (_tmp8_) {
				case '\n':
				{
					ValadocHtmlMarkupWriter* _tmp9_;
					const gchar* _tmp10_;
					glong _tmp11_;
					gint _tmp12_;
					glong _tmp13_;
					gchar* _tmp14_;
					gchar* _tmp15_;
					ValadocMarkupWriter* _tmp16_;
					ValadocMarkupWriter* _tmp17_;
					ValadocHtmlMarkupWriter* _tmp18_;
					ValadocMarkupWriter* _tmp19_;
					ValadocMarkupWriter* _tmp20_;
					gint _tmp21_;
					_tmp9_ = self->writer;
					_tmp10_ = content;
					_tmp11_ = lpos;
					_tmp12_ = i;
					_tmp13_ = lpos;
					_tmp14_ = string_substring (_tmp10_, _tmp11_, _tmp12_ - _tmp13_);
					_tmp15_ = _tmp14_;
					_tmp16_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp9_, _tmp15_);
					_tmp17_ = _tmp16_;
					_valadoc_markup_writer_unref0 (_tmp17_);
					_g_free0 (_tmp15_);
					_tmp18_ = self->writer;
					_tmp19_ = valadoc_markup_writer_simple_tag ((ValadocMarkupWriter*) _tmp18_, "br", NULL, 0);
					_tmp20_ = _tmp19_;
					_valadoc_markup_writer_unref0 (_tmp20_);
					_tmp21_ = i;
					lpos = (glong) (_tmp21_ + 1);
					break;
				}
				case '<':
				{
					ValadocHtmlMarkupWriter* _tmp22_;
					const gchar* _tmp23_;
					glong _tmp24_;
					gint _tmp25_;
					glong _tmp26_;
					gchar* _tmp27_;
					gchar* _tmp28_;
					ValadocMarkupWriter* _tmp29_;
					ValadocMarkupWriter* _tmp30_;
					ValadocHtmlMarkupWriter* _tmp31_;
					ValadocMarkupWriter* _tmp32_;
					ValadocMarkupWriter* _tmp33_;
					gint _tmp34_;
					_tmp22_ = self->writer;
					_tmp23_ = content;
					_tmp24_ = lpos;
					_tmp25_ = i;
					_tmp26_ = lpos;
					_tmp27_ = string_substring (_tmp23_, _tmp24_, _tmp25_ - _tmp26_);
					_tmp28_ = _tmp27_;
					_tmp29_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp22_, _tmp28_);
					_tmp30_ = _tmp29_;
					_valadoc_markup_writer_unref0 (_tmp30_);
					_g_free0 (_tmp28_);
					_tmp31_ = self->writer;
					_tmp32_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp31_, "&lt;");
					_tmp33_ = _tmp32_;
					_valadoc_markup_writer_unref0 (_tmp33_);
					_tmp34_ = i;
					lpos = (glong) (_tmp34_ + 1);
					break;
				}
				case '>':
				{
					ValadocHtmlMarkupWriter* _tmp35_;
					const gchar* _tmp36_;
					glong _tmp37_;
					gint _tmp38_;
					glong _tmp39_;
					gchar* _tmp40_;
					gchar* _tmp41_;
					ValadocMarkupWriter* _tmp42_;
					ValadocMarkupWriter* _tmp43_;
					ValadocHtmlMarkupWriter* _tmp44_;
					ValadocMarkupWriter* _tmp45_;
					ValadocMarkupWriter* _tmp46_;
					gint _tmp47_;
					_tmp35_ = self->writer;
					_tmp36_ = content;
					_tmp37_ = lpos;
					_tmp38_ = i;
					_tmp39_ = lpos;
					_tmp40_ = string_substring (_tmp36_, _tmp37_, _tmp38_ - _tmp39_);
					_tmp41_ = _tmp40_;
					_tmp42_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp35_, _tmp41_);
					_tmp43_ = _tmp42_;
					_valadoc_markup_writer_unref0 (_tmp43_);
					_g_free0 (_tmp41_);
					_tmp44_ = self->writer;
					_tmp45_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp44_, "&gt;");
					_tmp46_ = _tmp45_;
					_valadoc_markup_writer_unref0 (_tmp46_);
					_tmp47_ = i;
					lpos = (glong) (_tmp47_ + 1);
					break;
				}
				case '&':
				{
					ValadocHtmlMarkupWriter* _tmp48_;
					const gchar* _tmp49_;
					glong _tmp50_;
					gint _tmp51_;
					glong _tmp52_;
					gchar* _tmp53_;
					gchar* _tmp54_;
					ValadocMarkupWriter* _tmp55_;
					ValadocMarkupWriter* _tmp56_;
					ValadocHtmlMarkupWriter* _tmp57_;
					ValadocMarkupWriter* _tmp58_;
					ValadocMarkupWriter* _tmp59_;
					gint _tmp60_;
					_tmp48_ = self->writer;
					_tmp49_ = content;
					_tmp50_ = lpos;
					_tmp51_ = i;
					_tmp52_ = lpos;
					_tmp53_ = string_substring (_tmp49_, _tmp50_, _tmp51_ - _tmp52_);
					_tmp54_ = _tmp53_;
					_tmp55_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp48_, _tmp54_);
					_tmp56_ = _tmp55_;
					_valadoc_markup_writer_unref0 (_tmp56_);
					_g_free0 (_tmp54_);
					_tmp57_ = self->writer;
					_tmp58_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp57_, "&amp;");
					_tmp59_ = _tmp58_;
					_valadoc_markup_writer_unref0 (_tmp59_);
					_tmp60_ = i;
					lpos = (glong) (_tmp60_ + 1);
					break;
				}
				default:
				break;
			}
		}
	}
	_tmp61_ = self->writer;
	_tmp62_ = content;
	_tmp63_ = lpos;
	_tmp64_ = i;
	_tmp65_ = lpos;
	_tmp66_ = string_substring (_tmp62_, _tmp63_, _tmp64_ - _tmp65_);
	_tmp67_ = _tmp66_;
	_tmp68_ = valadoc_markup_writer_text ((ValadocMarkupWriter*) _tmp61_, _tmp67_);
	_tmp69_ = _tmp68_;
	_valadoc_markup_writer_unref0 (_tmp69_);
	_g_free0 (_tmp67_);
}


static void valadoc_html_html_renderer_class_init (ValadocHtmlHtmlRendererClass * klass) {
	valadoc_html_html_renderer_parent_class = g_type_class_peek_parent (klass);
	((ValadocContentContentRendererClass *) klass)->render = (void (*) (ValadocContentContentRenderer *, ValadocContentContentElement*)) valadoc_html_html_renderer_real_render;
	((ValadocContentContentRendererClass *) klass)->render_children = (void (*) (ValadocContentContentRenderer *, ValadocContentContentElement*)) valadoc_html_html_renderer_real_render_children;
	((ValadocContentContentVisitorClass *) klass)->visit_comment = (void (*) (ValadocContentContentVisitor *, ValadocContentComment*)) valadoc_html_html_renderer_real_visit_comment;
	((ValadocContentContentVisitorClass *) klass)->visit_embedded = (void (*) (ValadocContentContentVisitor *, ValadocContentEmbedded*)) valadoc_html_html_renderer_real_visit_embedded;
	((ValadocContentContentVisitorClass *) klass)->visit_headline = (void (*) (ValadocContentContentVisitor *, ValadocContentHeadline*)) valadoc_html_html_renderer_real_visit_headline;
	((ValadocContentContentVisitorClass *) klass)->visit_wiki_link = (void (*) (ValadocContentContentVisitor *, ValadocContentWikiLink*)) valadoc_html_html_renderer_real_visit_wiki_link;
	((ValadocContentContentVisitorClass *) klass)->visit_link = (void (*) (ValadocContentContentVisitor *, ValadocContentLink*)) valadoc_html_html_renderer_real_visit_link;
	((ValadocContentContentVisitorClass *) klass)->visit_symbol_link = (void (*) (ValadocContentContentVisitor *, ValadocContentSymbolLink*)) valadoc_html_html_renderer_real_visit_symbol_link;
	((ValadocContentContentVisitorClass *) klass)->visit_list = (void (*) (ValadocContentContentVisitor *, ValadocContentList*)) valadoc_html_html_renderer_real_visit_list;
	((ValadocContentContentVisitorClass *) klass)->visit_list_item = (void (*) (ValadocContentContentVisitor *, ValadocContentListItem*)) valadoc_html_html_renderer_real_visit_list_item;
	((ValadocContentContentVisitorClass *) klass)->visit_page = (void (*) (ValadocContentContentVisitor *, ValadocContentPage*)) valadoc_html_html_renderer_real_visit_page;
	((ValadocContentContentVisitorClass *) klass)->visit_paragraph = (void (*) (ValadocContentContentVisitor *, ValadocContentParagraph*)) valadoc_html_html_renderer_real_visit_paragraph;
	((ValadocContentContentVisitorClass *) klass)->visit_warning = (void (*) (ValadocContentContentVisitor *, ValadocContentWarning*)) valadoc_html_html_renderer_real_visit_warning;
	((ValadocContentContentVisitorClass *) klass)->visit_note = (void (*) (ValadocContentContentVisitor *, ValadocContentNote*)) valadoc_html_html_renderer_real_visit_note;
	((ValadocContentContentVisitorClass *) klass)->visit_run = (void (*) (ValadocContentContentVisitor *, ValadocContentRun*)) valadoc_html_html_renderer_real_visit_run;
	((ValadocContentContentVisitorClass *) klass)->visit_source_code = (void (*) (ValadocContentContentVisitor *, ValadocContentSourceCode*)) valadoc_html_html_renderer_real_visit_source_code;
	((ValadocContentContentVisitorClass *) klass)->visit_table = (void (*) (ValadocContentContentVisitor *, ValadocContentTable*)) valadoc_html_html_renderer_real_visit_table;
	((ValadocContentContentVisitorClass *) klass)->visit_table_cell = (void (*) (ValadocContentContentVisitor *, ValadocContentTableCell*)) valadoc_html_html_renderer_real_visit_table_cell;
	((ValadocContentContentVisitorClass *) klass)->visit_table_row = (void (*) (ValadocContentContentVisitor *, ValadocContentTableRow*)) valadoc_html_html_renderer_real_visit_table_row;
	((ValadocContentContentVisitorClass *) klass)->visit_taglet = (void (*) (ValadocContentContentVisitor *, ValadocContentTaglet*)) valadoc_html_html_renderer_real_visit_taglet;
	((ValadocContentContentVisitorClass *) klass)->visit_text = (void (*) (ValadocContentContentVisitor *, ValadocContentText*)) valadoc_html_html_renderer_real_visit_text;
	G_OBJECT_CLASS (klass)->finalize = valadoc_html_html_renderer_finalize;
}


static void valadoc_html_html_renderer_instance_init (ValadocHtmlHtmlRenderer * self) {
}


static void valadoc_html_html_renderer_finalize (GObject * obj) {
	ValadocHtmlHtmlRenderer * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, VALADOC_HTML_TYPE_HTML_RENDERER, ValadocHtmlHtmlRenderer);
	_g_object_unref0 (self->_container);
	_g_object_unref0 (self->_owner);
	_g_object_unref0 (self->cssresolver);
	_g_object_unref0 (self->linker);
	_g_object_unref0 (self->settings);
	G_OBJECT_CLASS (valadoc_html_html_renderer_parent_class)->finalize (obj);
}


GType valadoc_html_html_renderer_get_type (void) {
	static volatile gsize valadoc_html_html_renderer_type_id__volatile = 0;
	if (g_once_init_enter (&valadoc_html_html_renderer_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ValadocHtmlHtmlRendererClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) valadoc_html_html_renderer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValadocHtmlHtmlRenderer), 0, (GInstanceInitFunc) valadoc_html_html_renderer_instance_init, NULL };
		GType valadoc_html_html_renderer_type_id;
		valadoc_html_html_renderer_type_id = g_type_register_static (VALADOC_CONTENT_TYPE_CONTENT_RENDERER, "ValadocHtmlHtmlRenderer", &g_define_type_info, 0);
		g_once_init_leave (&valadoc_html_html_renderer_type_id__volatile, valadoc_html_html_renderer_type_id);
	}
	return valadoc_html_html_renderer_type_id__volatile;
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}



