class Watir::Generator::Base::IDLSorter

Public Class Methods

new(interfaces) click to toggle source
# File lib/watir-webdriver/generator/base/idl_sorter.rb, line 8
def initialize(interfaces)
  @interfaces = {}

  interfaces.each do |interface|
    @interfaces[interface.name] ||= []
    interface.inherits.each do |inherit|
      (@interfaces[inherit.name] ||= []) << interface.name
    end
  end
end

Public Instance Methods

print() click to toggle source
sort() click to toggle source
# File lib/watir-webdriver/generator/base/idl_sorter.rb, line 24
def sort
  tsort.reverse
end
tsort_each_child(node, &blk) click to toggle source
# File lib/watir-webdriver/generator/base/idl_sorter.rb, line 32
def tsort_each_child(node, &blk)
  @interfaces[node].each(&blk)
end
tsort_each_node(&blk) click to toggle source
# File lib/watir-webdriver/generator/base/idl_sorter.rb, line 28
def tsort_each_node(&blk)
  @interfaces.each_key(&blk)
end

Private Instance Methods

print_node(node, indent = 0) click to toggle source