<% if @item.tags(:overload).size == 1 %>
<%= signature(@item.tag(:overload), true, @item.respond_to?(:attr_info) && !@item.attr_info) %>
<% else %>
<%= signature(@item, true, false, @item.respond_to?(:attr_info) && !@item.attr_info) %>
<% end %>
<% if @item.aliases.size > 0 %>
(also: <%= @item.aliases.map {|o| h(o.name(true)) }.join(", ") %>)
<% end %>
<% if @item.has_tag?(:static) %>
static
<% end %>
<% if @item.respond_to?(:constructor?) && @item.constructor? %>
constructor
<% end %>
<% if !@item.tag(:readonly) && !@item.tag(:writeonly) && ![:function, :event].include?(@item.property_type) %>
readwrite
<% end %>
<% if @item.has_tag?(:readonly) %>
readonly
<% end %>
<% if @item.has_tag?(:writeonly) %>
writeonly
<% end %>
<% if @item.visibility != :public %><%= @item.visibility %><% end %>
<% if @item.has_tag?(:abstract) %>abstract<% end %>
<% if @item.has_tag?(:deprecated) %>deprecated<% end %>
<% if @item.has_tag?(:api) && @item.tag(:api).text == 'private' %>private<% end %>
<% if @item.has_tag?(:deprecated) %>
Deprecated. <%= htmlify_line @item.tag(:deprecated).text %>
<% else %>
<%= htmlify_line docstring_summary(@item) %>
<% end %>