diff --git a/lib/jsduck/lint.rb b/lib/jsduck/lint.rb index df79464478cf02e0c63ce3a8c5f672a1c08149b7..3edeac750fb67a76ce38822e69775896afa07dea 100644 --- a/lib/jsduck/lint.rb +++ b/lib/jsduck/lint.rb @@ -13,6 +13,7 @@ module JsDuck # Runs the linter def run warn_globals + warn_no_doc warn_unnamed warn_optional_params warn_duplicate_params @@ -41,6 +42,20 @@ module JsDuck end end + # print warning for each member or parameter with no name + def warn_no_doc + @relations.each do |cls| + if cls[:doc] == "" + warn(:no_doc, "No documentation for #{cls[:name]}", cls) + end + end + each_member do |member| + if member[:doc] == "" + warn(:no_doc, "No documentation for #{member[:owner]}##{member[:name]}", member) + end + end + end + # print warning for each non-optional parameter that follows an optional parameter def warn_optional_params each_member do |member| diff --git a/lib/jsduck/logger.rb b/lib/jsduck/logger.rb index 5ff91bb80ffcf96629c443191f94c2ec62519cbb..cbd76293af1903c65a0986b54a3bef791755575d 100644 --- a/lib/jsduck/logger.rb +++ b/lib/jsduck/logger.rb @@ -22,6 +22,7 @@ module JsDuck [:alt_name, "Name used as both classname and alternate classname"], [:name_missing, "Member or parameter has no name"], + [:no_doc, "Member or class without documentation"], [:dup_param, "Method has two parameters with same name"], [:req_after_opt, "Required parameter comes after optional"], [:subproperty, "@param foo.bar where foo param doesn't exist"],