class Opal::Nodes::BreakNode

def compile

def compile
  if in_while?
    compile_while
  elsif scope.iter?
    compile_iter
  else
    error "void value expression: cannot use break outside of iter/while"
  end
end

def compile_iter

def compile_iter
  error "break must be used as a statement" unless stmt?
  push expr_or_nil(value)
  wrap "return ($breaker.$v = ", ", $breaker)"
end

def compile_while

def compile_while
  if while_loop[:closure]
    push "return ", expr_or_nil(value)
  else
    push "break;"
  end
end