Module: Finitio::Syntax::UnionType
- Includes:
- Node
- Defined in:
- lib/finitio/syntax/type/union_type.rb
Instance Method Summary
collapse
Methods included from Node
included, #metadata, #resolve_ruby_const, #unique_names!
Instance Method Details
#compile(factory) ⇒ Object
6
7
8
9
|
# File 'lib/finitio/syntax/type/union_type.rb', line 6
def compile(factory)
cds = captures[:sub_type].map{|x| x.compile(factory) }
cds.size == 1 ? cds.first : factory.union(cds)
end
|
#to_ast ⇒ Object
11
12
13
14
|
# File 'lib/finitio/syntax/type/union_type.rb', line 11
def to_ast
cds = captures[:sub_type].map(&:to_ast)
cds.size == 1 ? cds.first : cds.unshift(:union_type)
end
|