Module: Minjs::ECMA262::AssignmentOperation
- Included in:
- ExpAddAssign, ExpAndAssign, ExpAssign, ExpDivAssign, ExpLShiftAssign, ExpModAssign, ExpMulAssign, ExpOrAssign, ExpRShiftAssign, ExpSubAssign, ExpURShiftAssign, ExpXorAssign
- Defined in:
- lib/minjs/ecma262/exp.rb
Instance Method Summary collapse
Instance Method Details
#==(obj) ⇒ Object
107 108 109 |
# File 'lib/minjs/ecma262/exp.rb', line 107 def ==(obj) self.class == obj.class and self.val == obj.val and self.val2 == obj.val2 end |
#add_paren ⇒ Object
97 98 99 100 101 102 103 104 105 |
# File 'lib/minjs/ecma262/exp.rb', line 97 def add_paren if @val.priority > PRIORITY_LEFT_HAND_SIDE @val = ExpParen.new(@val) end if @val2.priority > PRIORITY_ASSIGNMENT @val2 = ExpParen.new(@val2) end self end |
#ecma262_typeof ⇒ Object
111 112 113 114 115 116 117 |
# File 'lib/minjs/ecma262/exp.rb', line 111 def ecma262_typeof if @val2.respond_to? :ecma262_typeof @val2.ecma262_typeof else nil end end |
#remove_paren ⇒ Object
87 88 89 90 91 92 93 94 95 |
# File 'lib/minjs/ecma262/exp.rb', line 87 def remove_paren if @val.kind_of? ExpParen and @val.val.priority <= PRIORITY_LEFT_HAND_SIDE @val = @val.val if @val.remove_paren? end if @val2.kind_of? ExpParen and @val2.val.priority <= PRIORITY_ASSIGNMENT @val2 = @val2.val end self end |