class Opal::Nodes::BreakNode
def break_val
def break_val if value.nil? expr(s(:nil)) else expr(value) end end
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? line 'Opal.brk(', break_val, ', $brk)' end
def compile_while
def compile_while if while_loop[:closure] push 'return ', expr_or_nil(value) else push 'break;' end end