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