type
{%- if dtype.parobj == 'module' %}, {{ dtype.permission }}{% endif -%}
{%- if dtype.attribs %}, {{ dtype.attribs | join(", ") }}{% endif -%}
{%- if dtype.extends %}, extends({{ dtype.extends | relurl(page_url) }}){% endif %} :: {{ dtype.name }}
{%- if dtype.sequence%}
sequence{% endif -%}
{{ dtype.doc }}
{% if dtype.inherbygraph or dtype.inhergraph %}
{% endif %}
{% if dtype.inhergraph %}
{% endif %}
{% if dtype.inherbygraph %}
{% endif %}
{% if dtype.variables %}
Components
{{ macros.variable_list(dtype.variables, permission=True) }}
{% endif %}
{% if dtype.constructor %}
Constructor
{% if dtype.constructor.obj == "interface" %}
{{ macros.interface(dtype.constructor) }}
{% elif dtype.constructor.obj in ["subroutine", "function"] %}
{% set obj = dtype.constructor %}
{{ macros.proc_summary(obj, full_docstring=True) }}
{% endif %}
{% endif %}
{% if dtype.finalprocs %}
Finalization Procedures
{% for proc in dtype.finalprocs %}
{{ macros.final(proc) }}
{% endfor %}
{% endif %}
{% if dtype.boundprocs %}
Type-Bound Procedures
{% for bp in dtype.boundprocs %}
{{ macros.bound_info(bp) }}
{% endfor %}
{% endif %}
{% if dtype.src %}
Source Code
{{ dtype.src }}
{% endif %}