{% macro get_decorated_name(node) -%} {%- if node.path -%}{{ node.path }}.{%- endif %}{{ node.name }} {%- endmacro %} {% macro get_name(node) -%} {%- if node.path -%}{{ node.path }}.{%- endif %}{{ node.name }} {%- endmacro %} {% macro get_namespace_filename(node) -%} {{ get_name(node) }}.html {%- endmacro %} {% macro render_namespace(node) -%}
{%- if node.kind != "namespace" %} {{ crash_fixme() }} {%- endif %}

{{ node.description }}

{%- for child in node.definitions %} {{ render_subnode(child) }} {%- endfor %}
{%- endmacro %} {% macro render_subnode(node) -%}
{{ get_decorated_name(node) }}

{{ node.description }}

{%- if node.kind in ["function", "macro", "constructor", "instance method", "static method", "constructor macro", "method macro"] %} {{ render_callable(node) }} {%- elif node.kind in ["class", "interface", "primitive"] %} {{ render_class(node) }} {%- elif node.kind in ["instance field", "static field"] %} {{ render_field(node) }} {%- elif node.kind != "namespace" %} {{ crash_subnode() }} {%- for child in node.definitions %} {{ render_subnode(child) }} {%- endfor %} {%- endif %}
{%- endmacro %} {% macro render_class(node) -%} {%- if node.parameters %}
Type Parameters
{%- endif %} {%- if node.bases %}
Base Classes
{%- endif %} {%- for child in node.definitions %} {{ render_subnode(child) }} {%- endfor %} {%- endmacro %} {% macro render_callable(node) -%}
{{ render_type(node.type) }} {{ node.name }}( {%- if node.parameters %} {%- for param in node.parameters %} {{ render_parameter_call(param) }}, {%- endfor %} {%- endif %} )
{%- if node.parameters %}
Parameters
{%- endif %} {%- endmacro %} {% macro render_parameter_call(node) -%} {{ node.name }} {%- endmacro %} {% macro render_field(node) -%} {{ render_type(node.type) }} {{ node.name }}: {{ node.description }} {%- endmacro %} {% macro render_parameter_long(node) -%} {{ render_type(node.type) }} {{ node.name }}: {{ node.description }} {%- endmacro %} {% macro render_type(typestr) -%} {# Add cross-linking here #} {%- if not typestr %} new {%- else %} {{- typestr }} {%- endif %} {%- endmacro %}