Class: TRuby::IR::BeginBlock

Inherits:
Node
  • Object
show all
Defined in:
lib/t_ruby/ir.rb

Overview

Begin/rescue/ensure block

Instance Attribute Summary collapse

Attributes inherited from Node

#location, #metadata, #type_info

Instance Method Summary collapse

Methods inherited from Node

#accept, #transform

Constructor Details

#initialize(body:, rescue_clauses: [], else_clause: nil, ensure_clause: nil, **opts) ⇒ BeginBlock

Returns a new instance of BeginBlock.



443
444
445
446
447
448
449
# File 'lib/t_ruby/ir.rb', line 443

def initialize(body:, rescue_clauses: [], else_clause: nil, ensure_clause: nil, **opts)
  super(**opts)
  @body = body
  @rescue_clauses = rescue_clauses
  @else_clause = else_clause
  @ensure_clause = ensure_clause
end

Instance Attribute Details

#bodyObject

Returns the value of attribute body.



441
442
443
# File 'lib/t_ruby/ir.rb', line 441

def body
  @body
end

#else_clauseObject

Returns the value of attribute else_clause.



441
442
443
# File 'lib/t_ruby/ir.rb', line 441

def else_clause
  @else_clause
end

#ensure_clauseObject

Returns the value of attribute ensure_clause.



441
442
443
# File 'lib/t_ruby/ir.rb', line 441

def ensure_clause
  @ensure_clause
end

#rescue_clausesObject

Returns the value of attribute rescue_clauses.



441
442
443
# File 'lib/t_ruby/ir.rb', line 441

def rescue_clauses
  @rescue_clauses
end

Instance Method Details

#childrenObject



451
452
453
# File 'lib/t_ruby/ir.rb', line 451

def children
  [@body, @else_clause, @ensure_clause].compact + @rescue_clauses
end