Method: JsDuck::Relations#initialize

Defined in:
lib/jsduck/relations.rb

#initialize(classes = [], ignorables = []) ⇒ Relations

Returns a new instance of Relations.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/jsduck/relations.rb', line 16

def initialize(classes = [], ignorables = [])
  @classes = classes
  @external_classes = ExternalClasses.new(ignorables)

  # First build class lookup table; building lookup tables for
  # mixins and subclasses will depend on that.
  @lookup = {}
  @classes.each do |cls|
    @lookup[cls[:name]] = cls
    (cls[:alternateClassNames] || []).each do |alt_name|
      @lookup[alt_name] = cls
    end
    cls.relations = self
  end

  @subs = {}
  @mixes = {}
  @classes.each do |cls|
    reg_subclasses(cls)
    reg_mixed_into(cls)
  end
end