|
@@ -1171,9 +1171,9 @@ let generate com =
|
|
|
newline ctx;
|
|
|
end;
|
|
|
if has_feature ctx "use.$bind" then begin
|
|
|
- print ctx "var $_";
|
|
|
+ print ctx "var $_, $fid = 0";
|
|
|
newline ctx;
|
|
|
- print ctx "function $bind(o,m) { var f = function(){ return f.method.apply(f.scope, arguments); }; f.scope = o; f.method = m; return f; }";
|
|
|
+ print ctx "function $bind(o,m) { if( m.__id__ == null ) m.__id__ = $fid++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = function(){ return f.method.apply(f.scope, arguments); }; f.scope = o; f.method = m; o.hx__closures__[m.__id__] = f; } return f; }";
|
|
|
ctx.separator <- true;
|
|
|
newline ctx;
|
|
|
end;
|