Commit 2fc9c3c6 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Add warning for missing docs.

New warning type 'no_doc' - shown when class or member has no
documentation at all.
parent 9df204d4
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -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|
+1 −0
Original line number Diff line number Diff line
@@ -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"],