class IDL::AST::UnionMember
def initialize(_name, _enclosure, params)
def initialize(_name, _enclosure, params) super(_name, _enclosure, params) ## if any of the labels is 'default' forget about the others if params[:labels].include?(:default) @labels = [ :default ] else @labels = params[:labels] end end
def instantiate(_context, _enclosure)
def instantiate(_context, _enclosure) _params = { :labels => @labels.collect { |l| l == :default ? l : l.instantiate(_context) }, } super(_context, _enclosure, _params) end
def marshal_dump
def marshal_dump super() << @labels end
def marshal_load(vars)
def marshal_load(vars) @labels = vars.pop super(vars) end