class NScript::TryNode

Attributes

error[R]

Public Class Methods

new(try, error, recovery, finally=nil) click to toggle source
# File lib/nscript/parser/nodes.rb, line 791
def initialize(try, error, recovery, finally=nil)
  @try, @error, @recovery, @finally = try, error, recovery, finally
end

Public Instance Methods

compile_node(o) click to toggle source
# File lib/nscript/parser/nodes.rb, line 795
def compile_node(o)
  o[:indent] = idt(1)
  o[:top] = true
  error_part = @error ? " (#{@error}) " : ' '
  catch_part = @recovery &&  " catch#{error_part}{\n#{@recovery.compile(o)}\n#{idt}}"
  finally_part = @finally && " finally {\n#{@finally.compile(o.merge(:return => nil))}\n#{idt}}"
  write("#{idt}try {\n#{@try.compile(o)}\n#{idt}}#{catch_part}#{finally_part}")
end