Class: WebIDL::ParseTree::Definitions

Inherits:
Treetop::Runtime::SyntaxNode
  • Object
show all
Defined in:
lib/webidl/parse_tree/definitions.rb

Instance Method Summary collapse

Instance Method Details

#build(parent = nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/webidl/parse_tree/definitions.rb', line 5

def build(parent = nil)
  return [] if metadef.empty?

  if metadef.d.any?
    p metadef.d unless metadef.d.respond_to? :build
    definition = metadef.d.build(parent)
    definition.extended_attributes = metadef.eal.build(parent) unless metadef.eal.empty?
  end

  result = [definition]
  result += metadef.defs.build(parent) unless metadef.defs.empty?

  if parent
    parent.definitions = result
  end

  result.compact
end