Skip to content

Commit

Permalink
Showing 11 changed files with 215 additions and 215 deletions.
46 changes: 23 additions & 23 deletions corelib/opal/array.rb
Original file line number Diff line number Diff line change
@@ -66,8 +66,8 @@ def self.new(size = undefined, obj = nil, &block)
else {
for (var i = 0, value; i < size; i++) {
value = block(i);
if (value === __breaker) {
return __breaker.$v;
if (value === $breaker) {
return $breaker.$v;
}
arr[i] = block(i);
}
@@ -338,8 +338,8 @@ def collect(&block)
for (var i = 0, length = #{self}.length, value; i < length; i++) {
if ((value = block(#{self}[i])) === __breaker) {
return __breaker.$v;
if ((value = block(#{self}[i])) === $breaker) {
return $breaker.$v;
}
result.push(value);
@@ -352,8 +352,8 @@ def collect(&block)
def collect!(&block)
%x{
for (var i = 0, length = #{self}.length, val; i < length; i++) {
if ((val = block(#{self}[i])) === __breaker) {
return __breaker.$v;
if ((val = block(#{self}[i])) === $breaker) {
return $breaker.$v;
}
#{self}[i] = val;
@@ -460,8 +460,8 @@ def delete_at(index)
def delete_if(&block)
%x{
for (var i = 0, length = #{self}.length, value; i < length; i++) {
if ((value = block(#{self}[i])) === __breaker) {
return __breaker.$v;
if ((value = block(#{self}[i])) === $breaker) {
return $breaker.$v;
}
if (value !== false && value !== nil) {
@@ -488,7 +488,7 @@ def each(&block)
if block.arity > 0
%x{
for (var i = 0, length = #{self}.length; i < length; i++) {
if (block.apply(null, #{self}[i]._isArray ? #{self}[i] : [#{self}[i]]) === __breaker) return __breaker.$v;
if (block.apply(null, #{self}[i]._isArray ? #{self}[i] : [#{self}[i]]) === $breaker) return $breaker.$v;
}
}
else
@@ -628,8 +628,8 @@ def index(object=undefined, &block)
}
else if (block !== nil) {
for (var i = 0, length = #{self}.length, value; i < length; i++) {
if ((value = block(#{self}[i])) === __breaker) {
return __breaker.$v;
if ((value = block(#{self}[i])) === $breaker) {
return $breaker.$v;
}
if (value !== false && value !== nil) {
@@ -700,8 +700,8 @@ def join(sep = '')
def keep_if(&block)
%x{
for (var i = 0, length = #{self}.length, value; i < length; i++) {
if ((value = block(#{self}[i])) === __breaker) {
return __breaker.$v;
if ((value = block(#{self}[i])) === $breaker) {
return $breaker.$v;
}
if (value === false || value === nil) {
@@ -803,8 +803,8 @@ def reject(&block)
var result = [];
for (var i = 0, length = #{self}.length, value; i < length; i++) {
if ((value = block(#{self}[i])) === __breaker) {
return __breaker.$v;
if ((value = block(#{self}[i])) === $breaker) {
return $breaker.$v;
}
if (value === false || value === nil) {
@@ -849,8 +849,8 @@ def rindex(object = undefined, &block)
%x{
if (block !== nil) {
for (var i = #{self}.length - 1, value; i >= 0; i--) {
if ((value = block(#{self}[i])) === __breaker) {
return __breaker.$v;
if ((value = block(#{self}[i])) === $breaker) {
return $breaker.$v;
}
if (value !== false && value !== nil) {
@@ -877,8 +877,8 @@ def select(&block)
for (var i = 0, length = #{self}.length, item, value; i < length; i++) {
item = #{self}[i];
if ((value = block(item)) === __breaker) {
return __breaker.$v;
if ((value = block(item)) === $breaker) {
return $breaker.$v;
}
if (value !== false && value !== nil) {
@@ -952,8 +952,8 @@ def sort(&block)
if (block !== nil) {
var result = copy.sort(function(x, y) {
var result = block(x, y);
if (result === __breaker) {
t_break.push(__breaker.$v);
if (result === $breaker) {
t_break.push($breaker.$v);
}
if (result === nil) {
t_arg_error = true;
@@ -1029,8 +1029,8 @@ def take_while(&block)
for (var i = 0, length = #{self}.length, item, value; i < length; i++) {
item = #{self}[i];
if ((value = block(item)) === __breaker) {
return __breaker.$v;
if ((value = block(item)) === $breaker) {
return $breaker.$v;
}
if (value === false || value === nil) {
6 changes: 3 additions & 3 deletions corelib/opal/class.rb
Original file line number Diff line number Diff line change
@@ -106,7 +106,7 @@ def append_features(klass)
//}
if (klass._included_in) {
__opal.donate(klass, methods.slice(), true);
$opal.donate(klass, methods.slice(), true);
}
}

@@ -282,7 +282,7 @@ def define_method(name, method = undefined, &block)
block._s = null;
#{self}._proto[jsid] = block;
__opal.donate(#{self}, [jsid]);
$opal.donate(#{self}, [jsid]);
return null;
}
@@ -410,7 +410,7 @@ def to_s
end

def undef_method(symbol)
`__opal.add_stub_for(#{self}._proto, "$" + symbol)`
`$opal.add_stub_for(#{self}._proto, "$" + symbol)`
self
end
end
168 changes: 84 additions & 84 deletions corelib/opal/enumerable.rb

Large diffs are not rendered by default.

62 changes: 31 additions & 31 deletions corelib/opal/hash.rb
Original file line number Diff line number Diff line change
@@ -2,13 +2,13 @@ class Hash
include Enumerable

%x{
var __hash = Opal.hash = function() {
var $hash = Opal.hash = function() {
if (arguments.length == 1 && arguments[0]._klass == Hash) {
return arguments[0];
}
var hash = new Hash._alloc,
args = __slice.call(arguments),
args = $slice.call(arguments),
keys = [],
assocs = {};
@@ -34,27 +34,27 @@ class Hash
# compile time, so they are just added here by the constructor
# function
%x{
var __hash2 = Opal.hash2 = function(keys, map) {
var $hash2 = Opal.hash2 = function(keys, map) {
var hash = new Hash._alloc;
hash.keys = keys;
hash.map = map;
return hash;
};
}

`var __hasOwn = {}.hasOwnProperty`
`var $hasOwn = {}.hasOwnProperty`

def self.[](*objs)
`__hash.apply(null, objs)`
`$hash.apply(null, objs)`
end

def self.allocate
`__hash()`
`$hash()`
end

def self.new(defaults = undefined, &block)
%x{
var hash = __hash();
var hash = $hash();
if (defaults != null) {
if (defaults.constructor == Object) {
@@ -128,7 +128,7 @@ def []=(key, value)
%x{
var map = #{self}.map;
if (!__hasOwn.call(map, key)) {
if (!$hasOwn.call(map, key)) {
#{self}.keys.push(key);
}
@@ -164,7 +164,7 @@ def clear

def clone
%x{
var result = __hash(),
var result = $hash(),
map = #{self}.map,
map2 = result.map,
keys2 = result.keys;
@@ -218,8 +218,8 @@ def delete_if(&block)
for (var i = 0, length = keys.length; i < length; i++) {
var key = keys[i], obj = map[key];
if ((value = block(key, obj)) === __breaker) {
return __breaker.$v;
if ((value = block(key, obj)) === $breaker) {
return $breaker.$v;
}
if (value !== false && value !== nil) {
@@ -246,8 +246,8 @@ def each(&block)
for (var i = 0, length = keys.length; i < length; i++) {
var key = keys[i];
if (block(key, map[key]) === __breaker) {
return __breaker.$v;
if (block(key, map[key]) === $breaker) {
return $breaker.$v;
}
}
@@ -264,8 +264,8 @@ def each_key(&block)
for (var i = 0, length = keys.length; i < length; i++) {
var key = keys[i];
if (block(key) === __breaker) {
return __breaker.$v;
if (block(key) === $breaker) {
return $breaker.$v;
}
}
@@ -282,8 +282,8 @@ def each_value(&block)
var map = #{self}.map, keys = #{self}.keys;
for (var i = 0, length = keys.length; i < length; i++) {
if (block(map[keys[i]]) === __breaker) {
return __breaker.$v;
if (block(map[keys[i]]) === $breaker) {
return $breaker.$v;
}
}
@@ -308,8 +308,8 @@ def fetch(key, defaults = undefined, &block)
if (block !== nil) {
var value;
if ((value = block(key)) === __breaker) {
return __breaker.$v;
if ((value = block(key)) === $breaker) {
return $breaker.$v;
}
return value;
@@ -423,7 +423,7 @@ def inspect

def invert
%x{
var result = __hash(), keys = #{self}.keys, map = #{self}.map,
var result = $hash(), keys = #{self}.keys, map = #{self}.map,
keys2 = result.keys, map2 = result.map;
for (var i = 0, length = keys.length; i < length; i++) {
@@ -446,8 +446,8 @@ def keep_if(&block)
for (var i = 0, length = keys.length; i < length; i++) {
var key = keys[i], obj = map[key];
if ((value = block(key, obj)) === __breaker) {
return __breaker.$v;
if ((value = block(key, obj)) === $breaker) {
return $breaker.$v;
}
if (value === false || value === nil) {
@@ -484,7 +484,7 @@ def length
def merge(other, &block)
%x{
var keys = #{self}.keys, map = #{self}.map,
result = __hash(), keys2 = result.keys, map2 = result.map;
result = $hash(), keys2 = result.keys, map2 = result.map;
for (var i = 0, length = keys.length; i < length; i++) {
var key = keys[i];
@@ -579,13 +579,13 @@ def reject(&block)

%x{
var keys = #{self}.keys, map = #{self}.map,
result = __hash(), map2 = result.map, keys2 = result.keys;
result = $hash(), map2 = result.map, keys2 = result.keys;
for (var i = 0, length = keys.length; i < length; i++) {
var key = keys[i], obj = map[key], value;
if ((value = block(key, obj)) === __breaker) {
return __breaker.$v;
if ((value = block(key, obj)) === $breaker) {
return $breaker.$v;
}
if (value === false || value === nil) {
@@ -617,13 +617,13 @@ def select(&block)

%x{
var keys = #{self}.keys, map = #{self}.map,
result = __hash(), map2 = result.map, keys2 = result.keys;
result = $hash(), map2 = result.map, keys2 = result.keys;
for (var i = 0, length = keys.length; i < length; i++) {
var key = keys[i], obj = map[key], value;
if ((value = block(key, obj)) === __breaker) {
return __breaker.$v;
if ((value = block(key, obj)) === $breaker) {
return $breaker.$v;
}
if (value !== false && value !== nil) {
@@ -645,8 +645,8 @@ def select!(&block)
for (var i = 0, length = keys.length; i < length; i++) {
var key = keys[i], obj = map[key];
if ((value = block(key, obj)) === __breaker) {
return __breaker.$v;
if ((value = block(key, obj)) === $breaker) {
return $breaker.$v;
}
if (value === false || value === nil) {
10 changes: 5 additions & 5 deletions corelib/opal/kernel.rb
Original file line number Diff line number Diff line change
@@ -25,7 +25,7 @@ def method(name)
var recv = #{self},
meth = recv['$' + name],
func = function() {
return meth.apply(recv, __slice.call(arguments, 0));
return meth.apply(recv, $slice.call(arguments, 0));
};
if (!meth) {
@@ -265,7 +265,7 @@ def instance_of?(klass)
end

def instance_variable_defined?(name)
`__hasOwn.call(#{self}, name.substr(1))`
`$hasOwn.call(#{self}, name.substr(1))`
end

def instance_variable_get(name)
@@ -356,7 +356,7 @@ def puts(*strs)
if(strs[i] instanceof Array) {
#{ puts *`strs[i]` }
} else {
__opal.puts(#{ `strs[i]`.to_s });
$opal.puts(#{ `strs[i]`.to_s });
}
}
}
@@ -415,8 +415,8 @@ def singleton_class
return #{self}._singleton;
}
var meta = new __opal.Class._alloc;
meta._klass = __opal.Class;
var meta = new $opal.Class._alloc;
meta._klass = $opal.Class;
#{self}._singleton = meta;
// FIXME - is this right? (probably - methods defined on
// class' singleton should also go to subclasses?)
4 changes: 2 additions & 2 deletions corelib/opal/nil_class.rb
Original file line number Diff line number Diff line change
@@ -36,7 +36,7 @@ def to_a
end

def to_h
`__opal.hash()`
`$opal.hash()`
end

def to_i
@@ -54,7 +54,7 @@ def to_s
end

def object_id
`#{NilClass}._id || (#{NilClass}._id = Opal.uid())`
`#{NilClass}._id || (#{NilClass}._id = $opal.uid())`
end
alias hash object_id
end
12 changes: 6 additions & 6 deletions corelib/opal/numeric.rb
Original file line number Diff line number Diff line change
@@ -104,8 +104,8 @@ def chr
def downto(finish, &block)
%x{
for (var i = #{self}; i >= finish; i--) {
if (block(i) === __breaker) {
return __breaker.$v;
if (block(i) === $breaker) {
return $breaker.$v;
}
}
@@ -160,8 +160,8 @@ def pred
def times(&block)
%x{
for (var i = 0; i < #{self}; i++) {
if (block(i) === __breaker) {
return __breaker.$v;
if (block(i) === $breaker) {
return $breaker.$v;
}
}
@@ -190,8 +190,8 @@ def upto(finish, &block)

%x{
for (var i = #{self}; i <= finish; i++) {
if (block(i) === __breaker) {
return __breaker.$v;
if (block(i) === $breaker) {
return $breaker.$v;
}
}
4 changes: 2 additions & 2 deletions corelib/opal/proc.rb
Original file line number Diff line number Diff line change
@@ -12,8 +12,8 @@ def call(*args)
%x{
var result = #{self}.apply(null, #{args});
if (result === __breaker) {
return __breaker.$v;
if (result === $breaker) {
return $breaker.$v;
}
return result;
16 changes: 8 additions & 8 deletions corelib/opal/runtime.js
Original file line number Diff line number Diff line change
@@ -27,8 +27,8 @@
Opal.global = this;

// Minify common function calls
var __hasOwn = Opal.hasOwnProperty;
var __slice = Opal.slice = Array.prototype.slice;
var $hasOwn = Opal.hasOwnProperty;
var $slice = Opal.slice = Array.prototype.slice;

// Generates unique id for every ruby object
var unique_id = 0;
@@ -72,7 +72,7 @@
superklass = ObjectClass;
}

if (__hasOwn.call(base._scope, id)) {
if ($hasOwn.call(base._scope, id)) {
klass = base._scope[id];

if (!klass._isClass) {
@@ -108,7 +108,7 @@
base = base._klass;
}

if (__hasOwn.call(base._scope, id)) {
if ($hasOwn.call(base._scope, id)) {
klass = base._scope[id];

if (!klass._mod$ && klass !== ObjectClass) {
@@ -259,7 +259,7 @@
this.$method_missing._p = method_missing_stub._p;
method_missing_stub._p = null;

return this.$method_missing.apply(this, [stub.slice(1)].concat(__slice.call(arguments)));
return this.$method_missing.apply(this, [stub.slice(1)].concat($slice.call(arguments)));
}

method_missing_stub.rb_stub = true;
@@ -271,7 +271,7 @@
// Method missing dispatcher
Opal.mm = function(mid) {
var dispatcher = function() {
var args = __slice.call(arguments);
var args = $slice.call(arguments);

if (!this.$method_missing) {
throw new Error("cannot set " + mid + " on " + this);
@@ -328,7 +328,7 @@
@param [String] mid ruby method to call
*/
Opal.send = function(recv, mid) {
var args = __slice.call(arguments, 2),
var args = $slice.call(arguments, 2),
func = recv['$' + mid];

if (func) {
@@ -339,7 +339,7 @@
};

Opal.block_send = function(recv, mid, block) {
var args = __slice.call(arguments, 3),
var args = $slice.call(arguments, 3),
func = recv['$' + mid];

if (func) {
100 changes: 50 additions & 50 deletions lib/opal/parser.rb
Original file line number Diff line number Diff line change
@@ -219,27 +219,27 @@ def top(sexp, options = {})
code.unshift fragment(@indent, sexp)
}

@scope.add_temp "self = __opal.top"
@scope.add_temp "__scope = __opal"
@scope.add_temp "$mm = __opal.mm"
@scope.add_temp "nil = __opal.nil"
@scope.add_temp "def = __opal.Object._proto" if @scope.defines_defn
@helpers.keys.each { |h| @scope.add_temp "__#{h} = __opal.#{h}" }
@scope.add_temp "self = $opal.top"
@scope.add_temp "$scope = $opal"
@scope.add_temp "$mm = $opal.mm"
@scope.add_temp "nil = $opal.nil"
@scope.add_temp "def = $opal.Object._proto" if @scope.defines_defn
@helpers.keys.each { |h| @scope.add_temp "$#{h} = $opal.#{h}" }

vars = [f(INDENT, sexp), @scope.to_vars, f("\n", sexp)]

if @irb_vars
code.unshift fragment("if (!Opal.irb_vars) { Opal.irb_vars = {}; }\n", sexp)
code.unshift fragment("if (!$opal.irb_vars) { $opal.irb_vars = {}; }\n", sexp)
end
end

if @stub_methods
stubs = f("\n#{INDENT}__opal.add_stubs([" + @method_calls.keys.map { |k| "'$#{k}'" }.join(", ") + "]);\n", sexp)
stubs = f("\n#{INDENT}$opal.add_stubs([" + @method_calls.keys.map { |k| "'$#{k}'" }.join(", ") + "]);\n", sexp)
else
stubs = []
end

[f("(function(__opal) {\n", sexp), vars, stubs, code, f("\n})(Opal);\n", sexp)]
[f("(function($opal) {\n", sexp), vars, stubs, code, f("\n})(Opal);\n", sexp)]
end

# Every time the parser enters a new scope, this is called with
@@ -508,22 +508,22 @@ def find_inline_yield(stmt)
stmt[1..-1].each_with_index do |el, idx|
if el.first == :yield
found = el
stmt[idx+1] = s(:js_tmp, '__yielded')
stmt[idx+1] = s(:js_tmp, '$yielded')
end
end
when :call
arglist = stmt[3]
arglist[1..-1].each_with_index do |el, idx|
if el.first == :yield
found = el
arglist[idx+1] = s(:js_tmp, '__yielded')
arglist[idx+1] = s(:js_tmp, '$yielded')
end
end
end

if found
@scope.add_temp '__yielded' unless @scope.has_temp? '__yielded'
s(:yasgn, '__yielded', found)
@scope.add_temp '$yielded' unless @scope.has_temp? '$yielded'
s(:yasgn, '$yielded', found)
end
end

@@ -603,15 +603,15 @@ def process_dregx(sexp, level)
def process_dot2(sexp, level)
@helpers[:range] = true

[f("__range(", sexp), process(sexp[0]), f(", ", sexp), process(sexp[1]), f(", false)", sexp)]
[f("$range(", sexp), process(sexp[0]), f(", ", sexp), process(sexp[1]), f(", false)", sexp)]
end

# Inclusive range, uses __range helper
# s(:dot3, start, end) => __range(start, end, true)
def process_dot3(sexp, level)
@helpers[:range] = true

[f("__range(", sexp), process(sexp[0]), f(", ", sexp), process(sexp[1]), f(", true)", sexp)]
[f("$range(", sexp), process(sexp[0]), f(", ", sexp), process(sexp[1]), f(", true)", sexp)]
end

# Simple strings, no interpolation.
@@ -639,11 +639,11 @@ def process_defined(sexp, level)
when :xstr, :dxstr
[f("(typeof(", sexp), process(part, :expr), f(") !== 'undefined')", sexp)]
when :const
f("(__scope.#{part[1].to_s} != null)", sexp)
f("($scope.#{part[1].to_s} != null)", sexp)
when :colon2
f("false", sexp)
when :colon3
f("(__opal.Object._scope.#{sexp[0][1]} == null ? nil : 'constant')", sexp)
f("($opal.Object._scope.#{sexp[0][1]} == null ? nil : 'constant')", sexp)
when :ivar
ivar_name = part[1].to_s[1..-1]
with_temp do |t|
@@ -726,13 +726,13 @@ def process_iter(sexp, level)
if splat
@scope.add_arg splat
params << splat
code << fragment("#{splat} = __slice.call(arguments, #{len - 1});", sexp)
code << fragment("#{splat} = $slice.call(arguments, #{len - 1});", sexp)
end

if block_arg
@scope.block_name = block_arg
@scope.add_temp block_arg
@scope.add_temp '__context'
@scope.add_temp '$context'
scope_name = @scope.identify!

blk = []
@@ -1006,7 +1006,7 @@ def process_class(sexp, level)
indent do
in_scope(:class) do
@scope.name = name
@scope.add_temp "#{ @scope.proto } = #{name}._proto", "__scope = #{name}._scope"
@scope.add_temp "#{ @scope.proto } = #{name}._proto", "$scope = #{name}._scope"

if Array === body.last
# A single statement will need a block
@@ -1036,9 +1036,9 @@ def process_class(sexp, level)

spacer = "\n#{@indent}#{INDENT}"
cls = "function #{name}() {};"
boot = "#{name} = __klass(__base, __super, #{name.inspect}, #{name});"
boot = "#{name} = $klass($base, $super, #{name.inspect}, #{name});"

[fragment("(function(__base, __super){#{spacer}#{cls}#{spacer}#{boot}\n", sexp),
[fragment("(function($base, $super){#{spacer}#{cls}#{spacer}#{boot}\n", sexp),
code, fragment("\n#@indent})", sexp), fragment("(", sexp), base, fragment(", ", sexp), sup, fragment(")", sexp)]
end

@@ -1048,7 +1048,7 @@ def process_sclass(sexp, level)
recv, body, code = sexp[0], sexp[1], []

in_scope(:sclass) do
@scope.add_temp "__scope = #{current_self}._scope"
@scope.add_temp "$scope = #{current_self}._scope"
@scope.add_temp "def = #{current_self}._proto"

code << @scope.to_vars << process(body, :stmt)
@@ -1081,7 +1081,7 @@ def process_module(sexp, level)
indent do
in_scope(:module) do
@scope.name = name
@scope.add_temp "#{ @scope.proto } = #{name}._proto", "__scope = #{name}._scope"
@scope.add_temp "#{ @scope.proto } = #{name}._proto", "$scope = #{name}._scope"
body = process body, :stmt

code << fragment(@indent, sexp)
@@ -1095,9 +1095,9 @@ def process_module(sexp, level)

spacer = "\n#{@indent}#{INDENT}"
cls = "function #{name}() {};"
boot = "#{name} = __module(__base, #{name.inspect}, #{name});"
boot = "#{name} = $module($base, #{name.inspect}, #{name});"

code.unshift fragment("(function(__base){#{spacer}#{cls}#{spacer}#{boot}\n", sexp)
code.unshift fragment("(function($base){#{spacer}#{cls}#{spacer}#{boot}\n", sexp)
code << fragment("\n#@indent})(", sexp)
code.push(*base)
code << fragment(")", sexp)
@@ -1180,7 +1180,7 @@ def js_def(recvr, mid, args, stmts, line, end_line, sexp)
@scope.uses_block!
end

yielder = block_name || '__yield'
yielder = block_name || '$yield'
@scope.block_name = yielder

params = process args, :expr
@@ -1193,7 +1193,7 @@ def js_def(recvr, mid, args, stmts, line, end_line, sexp)
code << fragment("\n#{@indent}}", o)
end if opt

code << fragment("#{splat} = __slice.call(arguments, #{argc});", sexp) if splat
code << fragment("#{splat} = $slice.call(arguments, #{argc});", sexp) if splat

scope_name = @scope.identity

@@ -1211,7 +1211,7 @@ def js_def(recvr, mid, args, stmts, line, end_line, sexp)
code = [fragment("#{arity_code}#@indent", sexp), @scope.to_vars, code]

if @scope.uses_zuper
code.unshift fragment("var $zuper = __slice.call(arguments, 0);", sexp)
code.unshift fragment("var $zuper = $slice.call(arguments, 0);", sexp)
end

if @scope.catch_return
@@ -1266,9 +1266,9 @@ def arity_check(args, opt, splat, block_name, mid)
aritycode = "var $arity = arguments.length;"

if arity < 0 # splat or opt args
aritycode + "if ($arity < #{-(arity + 1)}) { __opal.ac($arity, #{arity}, this, #{meth}); }"
aritycode + "if ($arity < #{-(arity + 1)}) { $opal.ac($arity, #{arity}, this, #{meth}); }"
else
aritycode + "if ($arity !== #{arity}) { __opal.ac($arity, #{arity}, this, #{meth}); }"
aritycode + "if ($arity !== #{arity}) { $opal.ac($arity, #{arity}, this, #{meth}); }"
end
end

@@ -1402,7 +1402,7 @@ def process_hash(sexp, level)
result << hash_obj[k]
end

[fragment("__hash2([#{hash_keys.join ', '}], {", sexp), result, fragment("})", sexp)]
[fragment("$hash2([#{hash_keys.join ', '}], {", sexp), result, fragment("})", sexp)]
else
@helpers[:hash] = true
result = []
@@ -1412,7 +1412,7 @@ def process_hash(sexp, level)
result << process(p, :expr)
end

[fragment("__hash(", sexp), result, fragment(")", sexp)]
[fragment("$hash(", sexp), result, fragment(")", sexp)]
end
end

@@ -1538,7 +1538,7 @@ def process_masgn(sexp, level)

if l.first == :splat
if s = l[1]
s << s(:js_tmp, "__slice.call(#{tmp}, #{idx})")
s << s(:js_tmp, "$slice.call(#{tmp}, #{idx})")
code << process(s, :expr)
end
else
@@ -1614,7 +1614,7 @@ def process_ivar(exp, level)
def process_gvar(sexp, level)
gvar = sexp.shift.to_s[1..-1]
@helpers['gvars'] = true
fragment("__gvars[#{gvar.inspect}]", sexp)
fragment("$gvars[#{gvar.inspect}]", sexp)
end

def process_nth_ref(sexp, level)
@@ -1626,7 +1626,7 @@ def process_gasgn(sexp, level)
gvar = sexp[0].to_s[1..-1]
rhs = sexp[1]
@helpers['gvars'] = true
[fragment("__gvars[#{gvar.to_s.inspect}] = ", sexp), process(rhs, :expr)]
[fragment("$gvars[#{gvar.to_s.inspect}] = ", sexp), process(rhs, :expr)]
end

# s(:const, :const)
@@ -1635,17 +1635,17 @@ def process_const(sexp, level)

if @const_missing
with_temp do |t|
fragment("((#{t} = __scope.#{cname}) == null ? __opal.cm(#{cname.inspect}) : #{t})", sexp)
fragment("((#{t} = $scope.#{cname}) == null ? $opal.cm(#{cname.inspect}) : #{t})", sexp)
end
else
fragment("__scope.#{cname}", sexp)
fragment("$scope.#{cname}", sexp)
end
end

# s(:cdecl, :const, rhs)
def process_cdecl(sexp, level)
const, rhs = sexp
[fragment("__scope.#{const} = ", sexp), process(rhs, :expr)]
[fragment("$scope.#{const} = ", sexp), process(rhs, :expr)]
end

# s(:return [val])
@@ -1654,11 +1654,11 @@ def process_return(sexp, level)

if @scope.iter? and parent_def = @scope.find_parent_def
parent_def.catch_return = true
[fragment("__opal.$return(", sexp), val, fragment(")", sexp)]
[fragment("$opal.$return(", sexp), val, fragment(")", sexp)]

elsif level == :expr and @scope.def?
@scope.catch_return = true
[fragment("__opal.$return(", sexp), val, fragment(")", sexp)]
[fragment("$opal.$return(", sexp), val, fragment(")", sexp)]

elsif level == :stmt
[fragment("return ", sexp), val]
@@ -1869,10 +1869,10 @@ def process_yield(sexp, level)
call = handle_yield_call sexp, level

if level == :stmt
[fragment("if (", sexp), call, fragment(" === __breaker) return __breaker.$v")]
[fragment("if (", sexp), call, fragment(" === $breaker) return $breaker.$v")]
else
with_temp do |tmp|
[fragment("(((#{tmp} = ", sexp), call, fragment(") === __breaker) ? __breaker.$v : #{tmp})", sexp)]
[fragment("(((#{tmp} = ", sexp), call, fragment(") === $breaker) ? $breaker.$v : #{tmp})", sexp)]
end
end
end
@@ -1886,7 +1886,7 @@ def process_yield(sexp, level)
def process_yasgn(sexp, level)
call = handle_yield_call s(*sexp[1][1..-1]), :stmt

[fragment("if ((#{sexp[0]} = ", sexp), call, fragment(") === __breaker) return __breaker.$v", sexp)]
[fragment("if ((#{sexp[0]} = ", sexp), call, fragment(") === $breaker) return $breaker.$v", sexp)]
end

# Created by `#returns()` for when a yield statement should return
@@ -1896,7 +1896,7 @@ def process_returnable_yield(sexp, level)

with_temp do |tmp|
[fragment("return #{tmp} = ", sexp), call,
fragment(", #{tmp} === __breaker ? #{tmp} : #{tmp}")]
fragment(", #{tmp} === $breaker ? #{tmp} : #{tmp}")]
end
end

@@ -1907,7 +1907,7 @@ def handle_yield_call(sexp, level)
sexp.unshift s(:js_tmp, 'null') unless splat # self
args = process_arglist sexp, level

y = @scope.block_name || '__yield'
y = @scope.block_name || '$yield'

if splat
[fragment("#{y}.apply(null, ", sexp), args, fragment(")", sexp)]
@@ -1922,7 +1922,7 @@ def process_break(sexp, level)
@while_loop[:closure] ? [fragment("return ", sexp), val, fragment("", sexp)] : fragment("break;", sexp)
elsif @scope.iter?
error "break must be used as a statement" unless level == :stmt
[fragment("return (__breaker.$v = ", sexp), val, fragment(", __breaker)", sexp)]
[fragment("return ($breaker.$v = ", sexp), val, fragment(", $breaker)", sexp)]
else
error "void value expression: cannot use break outside of iter/while"
end
@@ -2058,7 +2058,7 @@ def process_colon2(sexp, level)
def process_colon3(exp, level)
with_temp do |t|
cname = exp.shift.to_s
fragment("((#{t} = __opal.Object._scope.#{cname}) == null ? __opal.cm(#{cname.inspect}) : #{t})", exp)
fragment("((#{t} = $opal.Object._scope.#{cname}) == null ? $opal.cm(#{cname.inspect}) : #{t})", exp)
end
end

@@ -2083,7 +2083,7 @@ def process_zsuper(exp, level)
@scope.uses_zuper = true
js_super fragment("$zuper", exp), exp
else
js_super fragment("__slice.call(arguments)", exp), exp
js_super fragment("$slice.call(arguments)", exp), exp
end
end

@@ -2105,7 +2105,7 @@ def js_super args, sexp
if @scope.defs
[fragment(("%s._super%s.apply(this, " % [cls_name, jsid]), sexp), args, fragment(")", sexp)]
else
[fragment("__opal.dispatch_super(#{current_self}, #{@scope.mid.to_s.inspect}, ", sexp), args, fragment(")", sexp)]
[fragment("$opal.dispatch_super(#{current_self}, #{@scope.mid.to_s.inspect}, ", sexp), args, fragment(")", sexp)]
end

elsif @scope.type == :iter
2 changes: 1 addition & 1 deletion lib/opal/target_scope.rb
Original file line number Diff line number Diff line change
@@ -150,7 +150,7 @@ def fragment(code, sexp = nil)
# Generates code for this module to donate methods
def to_donate_methods
if should_donate? and !@methods.empty?
fragment("%s;__opal.donate(#{@name}, [%s]);" % [@parser.parser_indent, @methods.map(&:inspect).join(', ')])
fragment("%s;$opal.donate(#{@name}, [%s]);" % [@parser.parser_indent, @methods.map(&:inspect).join(', ')])
else
fragment("")
end

2 comments on commit b9d8517

@peter-leonov
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are all these changes a true handmade, or you just used a computer for a silly automatic text replacement? ;)

@adambeynon
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vim: :%s/__/$. I did have to change 1 back though in parser.rb, but, close enough ^_^

Please sign in to comment.