class Opal::Nodes::ResBodyNode
Public Instance Methods
compile()
click to toggle source
# File lib/opal/nodes/rescue.rb, line 200 def compile push 'if (Opal.rescue($err, ', expr(klasses), ')) {' indent do if lvar push expr(lvar.updated(nil, [*lvar.children, s(:js_tmp, '$err')])) end # Need to ensure we clear the current exception out after the rescue block ends line 'try {' indent do in_resbody do line stmt(rescue_body) end end line '} finally { Opal.pop_exception($err); }' end line '}' end
klasses()
click to toggle source
# File lib/opal/nodes/rescue.rb, line 219 def klasses klasses_sexp || s(:array, s(:const, nil, :StandardError)) end
rescue_body()
click to toggle source
# File lib/opal/nodes/rescue.rb, line 223 def rescue_body body_code = (body || s(:nil)) body_code = compiler.returns(body_code) unless stmt? body_code end