Commit 51429e52 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Ignore private classes.

Make Class#lookup return nil if class not found.

From now on, running JSDuck on ExtJS 4.0.1 will generate a bunch of
warnings as some classes that should not be private are marked as
such in ExtJS source code.

Use the --private-classes option to turn showing of private classes
back on again.
parent 2bf1640c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -84,6 +84,10 @@ opts = OptionParser.new do | opts |
    app.output_dir = path
  end

  opts.on('--private-classes', "Include private classes to docs.", " ") do
    app.show_private_classes = true
  end

  # For debugging it's often useful to set --processes=0 to get deterministic results.
  opts.on('-p', '--processes=COUNT',
    "The number of parallel processes to use.",
+3 −1
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ module JsDuck
    attr_accessor :img_tpl
    attr_accessor :ignore_global
    attr_accessor :external_classes
    attr_accessor :show_private_classes

    def initialize
      @output_dir = nil
@@ -44,6 +45,7 @@ module JsDuck
      @img_tpl = nil
      @ignore_global = false
      @external_classes = []
      @show_private_classes = false
      @timer = Timer.new
      @parallel = ParallelWrap.new
    end
@@ -123,7 +125,7 @@ module JsDuck
      classes = []
      docs.each do |d|
        if d[:tagname] == :class
          classes << Class.new(d)
          classes << Class.new(d) if !d[:private] || @show_private_classes
        else
          type = d[:tagname].to_s
          name = d[:name]
+1 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ module JsDuck
        @relations[classname]
      elsif !@relations.ignore?(classname)
        Logger.instance.warn("Class #{classname} not found in #{@doc[:filename]} line #{@doc[:linenr]}")
        nil
      end
    end