Method: Dhall::AsDhall::ExpressionList::Union#initialize

Defined in:
lib/dhall/as_dhall.rb

#initialize(values, exprs, types) ⇒ Union



197
198
199
200
201
202
203
204
205
206
207
# File 'lib/dhall/as_dhall.rb', line 197

def initialize(values, exprs, types)
	@tags, @types = values.zip(types).map { |(value, type)|
		if type.is_a?(UnionType) && type.alternatives.length == 1
			type.alternatives.to_a.first
		else
			[AsDhall.tag_for(value), type]
		end
	}.transpose
	@exprs = exprs
	@inferer = UnionInferer.new
end