Class: Minjs::ECMA262::ECMA262Array
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Literal
#lt?, #priority, #to_exp?, #ws?
Methods inherited from Base
#add_remove_paren, #concat, #replace, #to_s
Constructor Details
Returns a new instance of ECMA262Array.
714
715
716
|
# File 'lib/minjs/ecma262/lit.rb', line 714
def initialize(val)
@val = val
end
|
Instance Attribute Details
#val ⇒ Object
Returns the value of attribute val.
712
713
714
|
# File 'lib/minjs/ecma262/lit.rb', line 712
def val
@val
end
|
Instance Method Details
#==(obj) ⇒ Object
729
730
731
|
# File 'lib/minjs/ecma262/lit.rb', line 729
def ==(obj)
self.class == obj.class and @val == obj.val
end
|
#deep_dup ⇒ Object
718
719
720
|
# File 'lib/minjs/ecma262/lit.rb', line 718
def deep_dup
self.class.new(@val.collect{|x| x ? x.deep_dup : nil})
end
|
#left_hand_side_exp? ⇒ Boolean
737
738
739
|
# File 'lib/minjs/ecma262/lit.rb', line 737
def left_hand_side_exp?
true
end
|
#to_ecma262_boolean ⇒ Object
741
742
743
|
# File 'lib/minjs/ecma262/lit.rb', line 741
def to_ecma262_boolean
true
end
|
#to_js(options = {}) ⇒ Object
733
734
735
|
# File 'lib/minjs/ecma262/lit.rb', line 733
def to_js(options = {})
"[" + @val.collect{|x| x.to_s}.join(",") + "]"
end
|
#traverse(parent) {|_self, parent| ... } ⇒ Object
722
723
724
725
726
727
|
# File 'lib/minjs/ecma262/lit.rb', line 722
def traverse(parent, &block)
yield self, parent
@val.each do |k|
k.traverse(parent, &block) if k
end
end
|