<code class="phpdocumentor-code phpdocumentor-signature {% if node.deprecated %}-deprecated{% endif %}">
    <span class="phpdocumentor-signature__visibility">{{ node.visibility }}</span>
    {% if node.abstract %}<span class="phpdocumentor-signature__abstract">abstract</span>{% endif %}
    {% if node.final %}<span class="phpdocumentor-signature__final">final</span>{% endif %}
    {% if node.static %}<span class="phpdocumentor-signature__static">static</span>{% endif %}
    {% if node.hasReturnByReference %}<span class="phpdocumentor-signature__reference-operator">&amp;</span>{% endif %}
    {% apply spaceless %}
    <span class="phpdocumentor-signature__name">{{ node.name }}</span>
    <span>(</span>
    {% for argument in node.arguments %}
        <span class="phpdocumentor-signature__argument">
            {% if argument.default is not null %}<span>[</span>{% endif %}
            {% if not loop.first %}<span>, </span>{% endif %}
            <span class="phpdocumentor-signature__argument__type">{{ argument.type|route('class:short')|join('|')|raw }}&nbsp;</span>
            {% if argument.isVariadic %}<span class="phpdocumentor-signature__argument__variadic-operator">...</span>{% endif %}
            {%- if argument.byReference -%}<span class="phpdocumentor-signature__argument__reference-operator">&amp;</span>{%- endif -%}
            <span class="phpdocumentor-signature__argument__name">${{ argument.name }}</span>
            {% if argument.default is not null %}
                <span> = </span>
                <span class="phpdocumentor-signature__argument__default-value">{{ argument.default | expression }}</span>
                <span> ]</span>
            {% endif %}
        </span>
    {% endfor %}
    <span>)</span>
    <span> : </span>
    <span class="phpdocumentor-signature__response_type">{{ node.response.type|route('class:short')|join('|')|raw }}</span>
    {% endapply %}
</code>
