class Minjs::ECMA262::StReturn
Base
class of ECMA262
ReturnStatement element.
@see www.ecma-international.org/ecma-262 ECMA262
12.9
Attributes
exp[R]
Public Class Methods
new(exp = nil)
click to toggle source
# File lib/minjs/ecma262/statement.rb, line 1089 def initialize(exp = nil) @exp = exp end
Public Instance Methods
==(obj)
click to toggle source
compare object
# File lib/minjs/ecma262/statement.rb, line 1124 def ==(obj) self.class == obj.class and @exp == obj.exp end
add_paren()
click to toggle source
add parenthesis if need
# File lib/minjs/ecma262/statement.rb, line 1147 def add_paren self end
deep_dup()
click to toggle source
duplicate object @see Base#deep_dup
# File lib/minjs/ecma262/statement.rb, line 1095 def deep_dup self.class.new(exp ? exp.deep_dup : nil) end
remove_paren()
click to toggle source
remove parenthesis if possible
# File lib/minjs/ecma262/statement.rb, line 1139 def remove_paren if @exp.kind_of? ExpParen @exp = @exp.val end self end
replace(from, to)
click to toggle source
Replaces children object. @see Base#replace
# File lib/minjs/ecma262/statement.rb, line 1101 def replace(from, to) if from .eql? @exp @exp = to end end
to_js(options = {})
click to toggle source
Returns a ECMAScript string containg the representation of element. @see Base#to_js
# File lib/minjs/ecma262/statement.rb, line 1130 def to_js(options = {}) if @exp concat options, :return, @exp, ";" else concat options, :return, ";" end end
to_return()
click to toggle source
Converts block to ‘return statement’ and returns it
# File lib/minjs/ecma262/statement.rb, line 1119 def to_return self end
to_return?()
click to toggle source
return true if statement can convert to return statement.
# File lib/minjs/ecma262/statement.rb, line 1114 def to_return? true end
traverse(parent) { |parent, self| ... }
click to toggle source
Traverses this children and itself with given block.
# File lib/minjs/ecma262/statement.rb, line 1108 def traverse(parent, &block) @exp.traverse(self, &block) if @exp yield parent, self end