Class: Twostroke::AST::MultiExpression

Inherits:
Base
  • Object
show all
Defined in:
lib/twostroke/ast/multi_expression.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#line

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Twostroke::AST::Base

Instance Attribute Details

#leftObject

Returns the value of attribute left.



3
4
5
# File 'lib/twostroke/ast/multi_expression.rb', line 3

def left
  @left
end

#rightObject

Returns the value of attribute right.



3
4
5
# File 'lib/twostroke/ast/multi_expression.rb', line 3

def right
  @right
end

Instance Method Details

#collapseObject



5
6
7
# File 'lib/twostroke/ast/multi_expression.rb', line 5

def collapse
  self.class.new left: left.collapse, right: right.collapse
end

#walk(&bk) ⇒ Object



9
10
11
12
13
14
# File 'lib/twostroke/ast/multi_expression.rb', line 9

def walk(&bk)
  if yield self
    left.walk &bk
    right.walk &bk
  end
end