From 2fc9c3c6f05b297d54821070529bef17fa7ce458 Mon Sep 17 00:00:00 2001 From: Rene Saarsoo Date: Wed, 23 Nov 2011 17:06:00 +0200 Subject: [PATCH] Add warning for missing docs. New warning type 'no_doc' - shown when class or member has no documentation at all. --- lib/jsduck/lint.rb | 15 +++++++++++++++ lib/jsduck/logger.rb | 1 + 2 files changed, 16 insertions(+) diff --git a/lib/jsduck/lint.rb b/lib/jsduck/lint.rb index df794644..3edeac75 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 5ff91bb8..cbd76293 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"], -- GitLab