{% if obj.kind == "alias" %}
Alias definition
{{ obj.aliased |code_highlight(language="crystal", inline=True) }}
{% endif %}
{% for title, sub in [
("Included modules", obj.included_modules),
("Extended modules", obj.extended_modules),
("Direct known subclasses", obj.subclasses),
("Direct including types", obj.including_types),
] %}
{% if sub %}
{{ title }}
{% for other in sub %}
{{ other |reference }}
{% endfor %}
{% endif %}
{% endfor %}
{% if obj.constants %}
{% if obj.kind == "enum" %}Members{% else %}Constants{% endif %}
{% with heading_level = heading_level + 1 %}
{% for obj in obj.constants %}
{% include "constant.html" with context %}
{% endfor %}
{% endwith %}
{% endif %}
{% for title, sub in [
("Class methods", obj.class_methods + obj.constructors),
("Methods", obj.instance_methods),
("Macros", obj.macros),
] %}
{% if sub %}
{{ title }}
{% with heading_level = heading_level + 1 %}
{% for obj in sub %}
{% include "method.html" with context %}
{% endfor %}
{% endwith %}
{% endif %}
{% endfor %}
{% endwith %}
{% for obj in obj.types %}
{% include "type.html" with context %}
{% endfor %}