Class: Idl::EnumDefinitionSyntaxNode

Inherits:
SyntaxNode show all
Defined in:
lib/idlc/ast.rb

Instance Method Summary collapse

Methods inherited from Treetop::Runtime::SyntaxNode

#set_input_file, #set_input_file_unless_already_set, #space?

Instance Method Details

#to_astObject



1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
# File 'lib/idlc/ast.rb', line 1877

def to_ast
  values = []

  send(:e).elements.each do |e|
    if e.i.empty?
      values << nil
    else
      values << e.i.int.to_ast
    end
  end

  EnumDefinitionAst.new(
    input,
    interval,
    send(:type_name).to_ast,
    send(:e).elements.map { |entry| entry.type_name.to_ast },
    values
  )
end