diff --git a/lib/jsduck/table.rb b/lib/jsduck/table.rb
index df79e1e1fc8534f465ed41b61e22d396861a2e8d..1af2119ecea8da34e7edc735cdfa96f8d361d78d 100644
--- a/lib/jsduck/table.rb
+++ b/lib/jsduck/table.rb
@@ -47,10 +47,22 @@ module JsDuck
# Creates parameter list used in method and event signature.
def short_param_list(item)
+ if item[:params].length == 0
+ return "()"
+ end
+
params = item[:params].collect do |p|
- (p[:type] || "Object") + " " + (p[:name] || "")
+ type = p[:type] || "Object"
+ name = p[:name] || ""
+ str = "#{type} #{name}
"
+ if p[:doc] =~ /\(optional\)/
+ "[" + str + "]"
+ else
+ str
+ end
end
- return params.length > 0 ? ("( " + params.join(", ") + " )") : "()"
+
+ return "( " + params.join(", ") + " )"
end
# 116 chars is also where ext-doc makes its cut, but unlike