Method: Treetop::Runtime::SyntaxNode#elements

Defined in:
lib/puppet_x/wildfly/gems/treetop-1.6.8/lib/treetop/runtime/syntax_node.rb

#elementsObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/puppet_x/wildfly/gems/treetop-1.6.8/lib/treetop/runtime/syntax_node.rb', line 15

def elements
  return @elements if terminal?
  # replace the character class placeholders in the sequence (lazy instantiation)
  last_element = nil
  @comprehensive_elements ||= @elements.map do |element|
    if element == true
      index = last_element ? last_element.interval.last : interval.first
      element = SyntaxNode.new(input, index...(index + 1))
      element.parent = self
    end
    last_element = element
  end

  @comprehensive_elements
end