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.



459
460
461
462
463
464
465
# File 'lib/t_ruby/ir.rb', line 459

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.



457
458
459
# File 'lib/t_ruby/ir.rb', line 457

def body
  @body
end

#else_clauseObject

Returns the value of attribute else_clause.



457
458
459
# File 'lib/t_ruby/ir.rb', line 457

def else_clause
  @else_clause
end

#ensure_clauseObject

Returns the value of attribute ensure_clause.



457
458
459
# File 'lib/t_ruby/ir.rb', line 457

def ensure_clause
  @ensure_clause
end

#rescue_clausesObject

Returns the value of attribute rescue_clauses.



457
458
459
# File 'lib/t_ruby/ir.rb', line 457

def rescue_clauses
  @rescue_clauses
end

Instance Method Details

#childrenObject



467
468
469
# File 'lib/t_ruby/ir.rb', line 467

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