class Dentaku::AST::Case

def initialize(*nodes)

def initialize(*nodes)
  @switch = nodes.shift
  unless @switch.is_a?(AST::CaseSwitchVariable)
    raise ParseError.for(:node_invalid), 'Case missing switch variable'
  end
  @conditions = nodes
  @else = nil
  @else = @conditions.pop if @conditions.last.is_a?(AST::CaseElse)
  @conditions.each do |condition|
    unless condition.is_a?(AST::CaseConditional)
      raise ParseError.for(:node_invalid), "#{condition} is not a CaseConditional"
    end
  end
end