Browse Source

Merge pull request #441 from herby/crlf

crlf sanitization of Compiler output (lf only outputted)
Nicolas Petton 12 năm trước cách đây
mục cha
commit
131a0441d7
50 tập tin đã thay đổi với 6744 bổ sung3388 xóa
  1. 48 24
      js/Benchfib.deploy.js
  2. 48 24
      js/Benchfib.js
  3. 202 101
      js/Canvas.deploy.js
  4. 202 101
      js/Canvas.js
  5. 208 104
      js/Compiler-AST.deploy.js
  6. 208 104
      js/Compiler-AST.js
  7. 114 57
      js/Compiler-Core.deploy.js
  8. 114 57
      js/Compiler-Core.js
  9. 22 11
      js/Compiler-Exceptions.deploy.js
  10. 22 11
      js/Compiler-Exceptions.js
  11. 8 10
      js/Compiler-IR.deploy.js
  12. 14 16
      js/Compiler-IR.js
  13. 208 104
      js/Compiler-Inlining.deploy.js
  14. 208 104
      js/Compiler-Inlining.js
  15. 230 115
      js/Compiler-Interpreter.deploy.js
  16. 230 115
      js/Compiler-Interpreter.js
  17. 206 103
      js/Compiler-Semantic.deploy.js
  18. 206 103
      js/Compiler-Semantic.js
  19. 158 79
      js/Compiler-Tests.deploy.js
  20. 158 79
      js/Compiler-Tests.js
  21. 18 9
      js/Examples.deploy.js
  22. 18 9
      js/Examples.js
  23. 222 111
      js/IDE.deploy.js
  24. 222 111
      js/IDE.js
  25. 134 67
      js/Importer-Exporter.deploy.js
  26. 134 67
      js/Importer-Exporter.js
  27. 52 26
      js/Kernel-Announcements.deploy.js
  28. 52 26
      js/Kernel-Announcements.js
  29. 230 115
      js/Kernel-Classes.deploy.js
  30. 230 115
      js/Kernel-Classes.js
  31. 250 125
      js/Kernel-Collections.deploy.js
  32. 250 125
      js/Kernel-Collections.js
  33. 64 32
      js/Kernel-Exceptions.deploy.js
  34. 64 32
      js/Kernel-Exceptions.js
  35. 162 81
      js/Kernel-Methods.deploy.js
  36. 162 81
      js/Kernel-Methods.js
  37. 208 104
      js/Kernel-Objects.deploy.js
  38. 208 104
      js/Kernel-Objects.js
  39. 282 141
      js/Kernel-Tests.deploy.js
  40. 282 141
      js/Kernel-Tests.js
  41. 24 12
      js/Kernel-Transcript.deploy.js
  42. 24 12
      js/Kernel-Transcript.js
  43. 98 49
      js/SUnit-Tests.deploy.js
  44. 98 49
      js/SUnit-Tests.js
  45. 168 84
      js/SUnit.deploy.js
  46. 168 84
      js/SUnit.js
  47. 49 24
      js/Spaces.deploy.js
  48. 49 24
      js/Spaces.js
  49. 4 6
      st/Compiler-IR.st
  50. 4 0
      st/Kernel-Collections.st

+ 48 - 24
js/Benchfib.deploy.js

@@ -8,7 +8,8 @@ selector: "main",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var result;
 var result;
-return smalltalk.withContext(function($ctx1) { 
result=_st((0))._tinyBenchmarks();
+return smalltalk.withContext(function($ctx1) { 
+result=_st((0))._tinyBenchmarks();
 _st(console)._log_(_st("0 tinyBenchmarks => ").__comma(result));
 _st(console)._log_(_st("0 tinyBenchmarks => ").__comma(result));
 return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result},smalltalk.Benchfib.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result},smalltalk.Benchfib.klass)})},
 messageSends: ["tinyBenchmarks", "log:", ","]}),
 messageSends: ["tinyBenchmarks", "log:", ","]}),
@@ -21,7 +22,8 @@ smalltalk.method({
 selector: "benchFib",
 selector: "benchFib",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self).__lt((2));
 $2=_st(self).__lt((2));
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=(1);
 $1=(1);
@@ -41,27 +43,33 @@ fn: function (){
 var self=this;
 var self=this;
 var size,flags,prime,k,count;
 var size,flags,prime,k,count;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 size=(8190);
 size=(8190);
 _st((1))._to_do_(self,(function(iter){
 _st((1))._to_do_(self,(function(iter){
-return smalltalk.withContext(function($ctx2) {
count=(0);
+return smalltalk.withContext(function($ctx2) {
+count=(0);
 count;
 count;
 flags=_st($Array())._new();
 flags=_st($Array())._new();
 flags;
 flags;
 _st(size)._timesRepeat_((function(){
 _st(size)._timesRepeat_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(flags)._add_(true);
+return smalltalk.withContext(function($ctx3) {
+return _st(flags)._add_(true);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 return _st((1))._to_do_(size,(function(i){
 return _st((1))._to_do_(size,(function(i){
-return smalltalk.withContext(function($ctx3) {
$1=_st(flags)._at_(i);
+return smalltalk.withContext(function($ctx3) {
+$1=_st(flags)._at_(i);
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 prime=_st(i).__plus((1));
 prime=_st(i).__plus((1));
 prime;
 prime;
 k=_st(i).__plus(prime);
 k=_st(i).__plus(prime);
 k;
 k;
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx4) {
return _st(k).__lt_eq(size);
+return smalltalk.withContext(function($ctx4) {
+return _st(k).__lt_eq(size);
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx4) {
_st(flags)._at_put_(k,false);
+return smalltalk.withContext(function($ctx4) {
+_st(flags)._at_put_(k,false);
 k=_st(k).__plus(prime);
 k=_st(k).__plus(prime);
 return k;
 return k;
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
@@ -82,7 +90,8 @@ smalltalk.method({
 selector: "jsbenchFib",
 selector: "jsbenchFib",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
if (this < 2) {
+return smalltalk.withContext(function($ctx1) { 
+if (this < 2) {
 return 1;
 return 1;
 } else {
 } else {
 return (this-1)._jsbenchFib() + (this-2)._jsbenchFib() + 1;};
 return (this-1)._jsbenchFib() + (this-2)._jsbenchFib() + 1;};
@@ -96,7 +105,8 @@ smalltalk.method({
 selector: "jsbenchmark",
 selector: "jsbenchmark",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 var size = 8190;
 var size = 8190;
 var count;
 var count;
 for (var z=0;z<this;z++) {
 for (var z=0;z<this;z++) {
@@ -130,28 +140,35 @@ fn: function (){
 var self=this;
 var self=this;
 var t1,t2,r,n1,n2;
 var t1,t2,r,n1,n2;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 n1=(1);
 n1=(1);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
t1=_st($Date())._millisecondsToRun_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(n1)._jsbenchmark();
+return smalltalk.withContext(function($ctx2) {
+t1=_st($Date())._millisecondsToRun_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(n1)._jsbenchmark();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t1;
 t1;
 return _st(t1).__lt((1000));
 return _st(t1).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
n1=_st(n1).__star((2));
+return smalltalk.withContext(function($ctx2) {
+n1=_st(n1).__star((2));
 return n1;
 return n1;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 n2=(28);
 n2=(28);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
t2=_st($Date())._millisecondsToRun_((function(){
-return smalltalk.withContext(function($ctx3) {
r=_st(n2)._jsbenchFib();
+return smalltalk.withContext(function($ctx2) {
+t2=_st($Date())._millisecondsToRun_((function(){
+return smalltalk.withContext(function($ctx3) {
+r=_st(n2)._jsbenchFib();
 return r;
 return r;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t2;
 t2;
 return _st(t2).__lt((1000));
 return _st(t2).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
n2=_st(n2).__plus((1));
+return smalltalk.withContext(function($ctx2) {
+n2=_st(n2).__plus((1));
 return n2;
 return n2;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");
@@ -168,28 +185,35 @@ fn: function (){
 var self=this;
 var self=this;
 var t1,t2,r,n1,n2;
 var t1,t2,r,n1,n2;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 n1=(1);
 n1=(1);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
t1=_st($Date())._millisecondsToRun_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(n1)._benchmark();
+return smalltalk.withContext(function($ctx2) {
+t1=_st($Date())._millisecondsToRun_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(n1)._benchmark();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t1;
 t1;
 return _st(t1).__lt((1000));
 return _st(t1).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
n1=_st(n1).__star((2));
+return smalltalk.withContext(function($ctx2) {
+n1=_st(n1).__star((2));
 return n1;
 return n1;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 n2=(16);
 n2=(16);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
t2=_st($Date())._millisecondsToRun_((function(){
-return smalltalk.withContext(function($ctx3) {
r=_st(n2)._benchFib();
+return smalltalk.withContext(function($ctx2) {
+t2=_st($Date())._millisecondsToRun_((function(){
+return smalltalk.withContext(function($ctx3) {
+r=_st(n2)._benchFib();
 return r;
 return r;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t2;
 t2;
 return _st(t2).__lt((1000));
 return _st(t2).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
n2=_st(n2).__plus((1));
+return smalltalk.withContext(function($ctx2) {
+n2=_st(n2).__plus((1));
 return n2;
 return n2;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");

+ 48 - 24
js/Benchfib.js

@@ -9,7 +9,8 @@ category: 'not yet classified',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var result;
 var result;
-return smalltalk.withContext(function($ctx1) { 
result=_st((0))._tinyBenchmarks();
+return smalltalk.withContext(function($ctx1) { 
+result=_st((0))._tinyBenchmarks();
 _st(console)._log_(_st("0 tinyBenchmarks => ").__comma(result));
 _st(console)._log_(_st("0 tinyBenchmarks => ").__comma(result));
 return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result},smalltalk.Benchfib.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result},smalltalk.Benchfib.klass)})},
 args: [],
 args: [],
@@ -27,7 +28,8 @@ selector: "benchFib",
 category: '*Benchfib',
 category: '*Benchfib',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self).__lt((2));
 $2=_st(self).__lt((2));
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=(1);
 $1=(1);
@@ -52,27 +54,33 @@ fn: function (){
 var self=this;
 var self=this;
 var size,flags,prime,k,count;
 var size,flags,prime,k,count;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 size=(8190);
 size=(8190);
 _st((1))._to_do_(self,(function(iter){
 _st((1))._to_do_(self,(function(iter){
-return smalltalk.withContext(function($ctx2) {
count=(0);
+return smalltalk.withContext(function($ctx2) {
+count=(0);
 count;
 count;
 flags=_st($Array())._new();
 flags=_st($Array())._new();
 flags;
 flags;
 _st(size)._timesRepeat_((function(){
 _st(size)._timesRepeat_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(flags)._add_(true);
+return smalltalk.withContext(function($ctx3) {
+return _st(flags)._add_(true);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 return _st((1))._to_do_(size,(function(i){
 return _st((1))._to_do_(size,(function(i){
-return smalltalk.withContext(function($ctx3) {
$1=_st(flags)._at_(i);
+return smalltalk.withContext(function($ctx3) {
+$1=_st(flags)._at_(i);
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 prime=_st(i).__plus((1));
 prime=_st(i).__plus((1));
 prime;
 prime;
 k=_st(i).__plus(prime);
 k=_st(i).__plus(prime);
 k;
 k;
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx4) {
return _st(k).__lt_eq(size);
+return smalltalk.withContext(function($ctx4) {
+return _st(k).__lt_eq(size);
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx4) {
_st(flags)._at_put_(k,false);
+return smalltalk.withContext(function($ctx4) {
+_st(flags)._at_put_(k,false);
 k=_st(k).__plus(prime);
 k=_st(k).__plus(prime);
 return k;
 return k;
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
@@ -98,7 +106,8 @@ selector: "jsbenchFib",
 category: '*Benchfib',
 category: '*Benchfib',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
if (this < 2) {
+return smalltalk.withContext(function($ctx1) { 
+if (this < 2) {
 return 1;
 return 1;
 } else {
 } else {
 return (this-1)._jsbenchFib() + (this-2)._jsbenchFib() + 1;};
 return (this-1)._jsbenchFib() + (this-2)._jsbenchFib() + 1;};
@@ -117,7 +126,8 @@ selector: "jsbenchmark",
 category: '*Benchfib',
 category: '*Benchfib',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 var size = 8190;
 var size = 8190;
 var count;
 var count;
 for (var z=0;z<this;z++) {
 for (var z=0;z<this;z++) {
@@ -156,28 +166,35 @@ fn: function (){
 var self=this;
 var self=this;
 var t1,t2,r,n1,n2;
 var t1,t2,r,n1,n2;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 n1=(1);
 n1=(1);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
t1=_st($Date())._millisecondsToRun_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(n1)._jsbenchmark();
+return smalltalk.withContext(function($ctx2) {
+t1=_st($Date())._millisecondsToRun_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(n1)._jsbenchmark();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t1;
 t1;
 return _st(t1).__lt((1000));
 return _st(t1).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
n1=_st(n1).__star((2));
+return smalltalk.withContext(function($ctx2) {
+n1=_st(n1).__star((2));
 return n1;
 return n1;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 n2=(28);
 n2=(28);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
t2=_st($Date())._millisecondsToRun_((function(){
-return smalltalk.withContext(function($ctx3) {
r=_st(n2)._jsbenchFib();
+return smalltalk.withContext(function($ctx2) {
+t2=_st($Date())._millisecondsToRun_((function(){
+return smalltalk.withContext(function($ctx3) {
+r=_st(n2)._jsbenchFib();
 return r;
 return r;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t2;
 t2;
 return _st(t2).__lt((1000));
 return _st(t2).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
n2=_st(n2).__plus((1));
+return smalltalk.withContext(function($ctx2) {
+n2=_st(n2).__plus((1));
 return n2;
 return n2;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");
@@ -199,28 +216,35 @@ fn: function (){
 var self=this;
 var self=this;
 var t1,t2,r,n1,n2;
 var t1,t2,r,n1,n2;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 n1=(1);
 n1=(1);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
t1=_st($Date())._millisecondsToRun_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(n1)._benchmark();
+return smalltalk.withContext(function($ctx2) {
+t1=_st($Date())._millisecondsToRun_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(n1)._benchmark();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t1;
 t1;
 return _st(t1).__lt((1000));
 return _st(t1).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
n1=_st(n1).__star((2));
+return smalltalk.withContext(function($ctx2) {
+n1=_st(n1).__star((2));
 return n1;
 return n1;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 n2=(16);
 n2=(16);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
t2=_st($Date())._millisecondsToRun_((function(){
-return smalltalk.withContext(function($ctx3) {
r=_st(n2)._benchFib();
+return smalltalk.withContext(function($ctx2) {
+t2=_st($Date())._millisecondsToRun_((function(){
+return smalltalk.withContext(function($ctx3) {
+r=_st(n2)._benchFib();
 return r;
 return r;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t2;
 t2;
 return _st(t2).__lt((1000));
 return _st(t2).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
n2=_st(n2).__plus((1));
+return smalltalk.withContext(function($ctx2) {
+n2=_st(n2).__plus((1));
 return n2;
 return n2;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 202 - 101
js/Canvas.deploy.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 202 - 101
js/Canvas.js


+ 208 - 104
js/Compiler-AST.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitNode_(self);
 $1=_st(aVisitor)._visitNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.Node)})},
@@ -19,7 +20,8 @@ smalltalk.method({
 selector: "addNode:",
 selector: "addNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._nodes())._add_(aNode);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._nodes())._add_(aNode);
 return self}, function($ctx1) {$ctx1.fill(self,"addNode:",{aNode:aNode},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addNode:",{aNode:aNode},smalltalk.Node)})},
 messageSends: ["add:", "nodes"]}),
 messageSends: ["add:", "nodes"]}),
 smalltalk.Node);
 smalltalk.Node);
@@ -30,7 +32,8 @@ smalltalk.method({
 selector: "isAssignmentNode",
 selector: "isAssignmentNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isAssignmentNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isAssignmentNode",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -41,7 +44,8 @@ smalltalk.method({
 selector: "isBlockNode",
 selector: "isBlockNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isBlockNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockNode",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -52,7 +56,8 @@ smalltalk.method({
 selector: "isBlockSequenceNode",
 selector: "isBlockSequenceNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isBlockSequenceNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockSequenceNode",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -63,7 +68,8 @@ smalltalk.method({
 selector: "isImmutable",
 selector: "isImmutable",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -74,7 +80,8 @@ smalltalk.method({
 selector: "isNode",
 selector: "isNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isNode",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -85,7 +92,8 @@ smalltalk.method({
 selector: "isReturnNode",
 selector: "isReturnNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isReturnNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isReturnNode",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -96,7 +104,8 @@ smalltalk.method({
 selector: "isSendNode",
 selector: "isSendNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isSendNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isSendNode",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -107,7 +116,8 @@ smalltalk.method({
 selector: "isValueNode",
 selector: "isValueNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isValueNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isValueNode",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -119,7 +129,8 @@ selector: "nodes",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@nodes"];
 $2=self["@nodes"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@nodes"]=_st($Array())._new();
 self["@nodes"]=_st($Array())._new();
@@ -138,7 +149,8 @@ smalltalk.method({
 selector: "nodes:",
 selector: "nodes:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@nodes"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@nodes"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"nodes:",{aCollection:aCollection},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"nodes:",{aCollection:aCollection},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -149,7 +161,8 @@ smalltalk.method({
 selector: "position",
 selector: "position",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@position"];
 $2=self["@position"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@position"]=_st((0)).__at((0));
 self["@position"]=_st((0)).__at((0));
@@ -168,7 +181,8 @@ smalltalk.method({
 selector: "position:",
 selector: "position:",
 fn: function (aPosition){
 fn: function (aPosition){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@position"]=aPosition;
+return smalltalk.withContext(function($ctx1) { 
+self["@position"]=aPosition;
 return self}, function($ctx1) {$ctx1.fill(self,"position:",{aPosition:aPosition},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"position:",{aPosition:aPosition},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -179,7 +193,8 @@ smalltalk.method({
 selector: "shouldBeAliased",
 selector: "shouldBeAliased",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@shouldBeAliased"];
 $2=self["@shouldBeAliased"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -197,7 +212,8 @@ smalltalk.method({
 selector: "shouldBeAliased:",
 selector: "shouldBeAliased:",
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@shouldBeAliased"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@shouldBeAliased"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"shouldBeAliased:",{aBoolean:aBoolean},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"shouldBeAliased:",{aBoolean:aBoolean},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -208,7 +224,8 @@ smalltalk.method({
 selector: "shouldBeInlined",
 selector: "shouldBeInlined",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@shouldBeInlined"];
 $2=self["@shouldBeInlined"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -226,7 +243,8 @@ smalltalk.method({
 selector: "shouldBeInlined:",
 selector: "shouldBeInlined:",
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@shouldBeInlined"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@shouldBeInlined"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"shouldBeInlined:",{aBoolean:aBoolean},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"shouldBeInlined:",{aBoolean:aBoolean},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -237,14 +255,19 @@ smalltalk.method({
 selector: "subtreeNeedsAliasing",
 selector: "subtreeNeedsAliasing",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._shouldBeAliased())._or_((function(){
 $1=_st(_st(_st(self)._shouldBeAliased())._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._shouldBeInlined();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._shouldBeInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._or_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(self)._nodes())._detect_ifNone_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(each)._subtreeNeedsAliasing();
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(self)._nodes())._detect_ifNone_((function(each){
+return smalltalk.withContext(function($ctx3) {
+return _st(each)._subtreeNeedsAliasing();
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx3) {
return false;
+return smalltalk.withContext(function($ctx3) {
+return false;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))).__tild_eq(false);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))).__tild_eq(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
@@ -261,7 +284,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitAssignmentNode_(self);
 $1=_st(aVisitor)._visitAssignmentNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.AssignmentNode)})},
@@ -274,7 +298,8 @@ smalltalk.method({
 selector: "isAssignmentNode",
 selector: "isAssignmentNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isAssignmentNode",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isAssignmentNode",{},smalltalk.AssignmentNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AssignmentNode);
 smalltalk.AssignmentNode);
@@ -285,7 +310,8 @@ smalltalk.method({
 selector: "left",
 selector: "left",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@left"];
 $1=self["@left"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"left",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"left",{},smalltalk.AssignmentNode)})},
@@ -298,7 +324,8 @@ smalltalk.method({
 selector: "left:",
 selector: "left:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@left"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@left"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"left:",{aNode:aNode},smalltalk.AssignmentNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"left:",{aNode:aNode},smalltalk.AssignmentNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AssignmentNode);
 smalltalk.AssignmentNode);
@@ -310,7 +337,8 @@ selector: "nodes",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($Array())._with_with_(_st(self)._left(),_st(self)._right());
 $1=_st($Array())._with_with_(_st(self)._left(),_st(self)._right());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.AssignmentNode)})},
@@ -323,7 +351,8 @@ smalltalk.method({
 selector: "right",
 selector: "right",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@right"];
 $1=self["@right"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"right",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"right",{},smalltalk.AssignmentNode)})},
@@ -336,7 +365,8 @@ smalltalk.method({
 selector: "right:",
 selector: "right:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@right"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@right"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"right:",{aNode:aNode},smalltalk.AssignmentNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"right:",{aNode:aNode},smalltalk.AssignmentNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AssignmentNode);
 smalltalk.AssignmentNode);
@@ -350,7 +380,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitBlockNode_(self);
 $1=_st(aVisitor)._visitBlockNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.BlockNode)})},
@@ -363,7 +394,8 @@ smalltalk.method({
 selector: "isBlockNode",
 selector: "isBlockNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isBlockNode",{},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockNode",{},smalltalk.BlockNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockNode);
 smalltalk.BlockNode);
@@ -375,7 +407,8 @@ selector: "parameters",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@parameters"];
 $2=self["@parameters"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@parameters"]=_st($Array())._new();
 self["@parameters"]=_st($Array())._new();
@@ -394,7 +427,8 @@ smalltalk.method({
 selector: "parameters:",
 selector: "parameters:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@parameters"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@parameters"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"parameters:",{aCollection:aCollection},smalltalk.BlockNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"parameters:",{aCollection:aCollection},smalltalk.BlockNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockNode);
 smalltalk.BlockNode);
@@ -405,7 +439,8 @@ smalltalk.method({
 selector: "scope",
 selector: "scope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.BlockNode)})},
@@ -418,7 +453,8 @@ smalltalk.method({
 selector: "scope:",
 selector: "scope:",
 fn: function (aLexicalScope){
 fn: function (aLexicalScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aLexicalScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aLexicalScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.BlockNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.BlockNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockNode);
 smalltalk.BlockNode);
@@ -429,9 +465,11 @@ smalltalk.method({
 selector: "subtreeNeedsAliasing",
 selector: "subtreeNeedsAliasing",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._shouldBeAliased())._or_((function(){
 $1=_st(_st(self)._shouldBeAliased())._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._shouldBeInlined();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._shouldBeInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subtreeNeedsAliasing",{},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"subtreeNeedsAliasing",{},smalltalk.BlockNode)})},
@@ -447,7 +485,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitCascadeNode_(self);
 $1=_st(aVisitor)._visitCascadeNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.CascadeNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.CascadeNode)})},
@@ -460,7 +499,8 @@ smalltalk.method({
 selector: "receiver",
 selector: "receiver",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@receiver"];
 $1=self["@receiver"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.CascadeNode)})},
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.CascadeNode)})},
@@ -473,7 +513,8 @@ smalltalk.method({
 selector: "receiver:",
 selector: "receiver:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@receiver"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{aNode:aNode},smalltalk.CascadeNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{aNode:aNode},smalltalk.CascadeNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.CascadeNode);
 smalltalk.CascadeNode);
@@ -487,7 +528,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitDynamicArrayNode_(self);
 $1=_st(aVisitor)._visitDynamicArrayNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.DynamicArrayNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.DynamicArrayNode)})},
@@ -503,7 +545,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitDynamicDictionaryNode_(self);
 $1=_st(aVisitor)._visitDynamicDictionaryNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.DynamicDictionaryNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.DynamicDictionaryNode)})},
@@ -519,7 +562,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitJSStatementNode_(self);
 $1=_st(aVisitor)._visitJSStatementNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.JSStatementNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.JSStatementNode)})},
@@ -532,7 +576,8 @@ smalltalk.method({
 selector: "source",
 selector: "source",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@source"];
 $2=self["@source"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 $1="";
@@ -550,7 +595,8 @@ smalltalk.method({
 selector: "source:",
 selector: "source:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@source"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.JSStatementNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.JSStatementNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JSStatementNode);
 smalltalk.JSStatementNode);
@@ -564,7 +610,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitMethodNode_(self);
 $1=_st(aVisitor)._visitMethodNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.MethodNode)})},
@@ -577,7 +624,8 @@ smalltalk.method({
 selector: "arguments",
 selector: "arguments",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@arguments"];
 $2=self["@arguments"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=[];
 $1=[];
@@ -595,7 +643,8 @@ smalltalk.method({
 selector: "arguments:",
 selector: "arguments:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@arguments"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@arguments"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection},smalltalk.MethodNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodNode);
 smalltalk.MethodNode);
@@ -606,7 +655,8 @@ smalltalk.method({
 selector: "classReferences",
 selector: "classReferences",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@classReferences"];
 $1=self["@classReferences"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"classReferences",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"classReferences",{},smalltalk.MethodNode)})},
@@ -619,7 +669,8 @@ smalltalk.method({
 selector: "classReferences:",
 selector: "classReferences:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@classReferences"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@classReferences"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"classReferences:",{aCollection:aCollection},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"classReferences:",{aCollection:aCollection},smalltalk.MethodNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodNode);
 smalltalk.MethodNode);
@@ -630,7 +681,8 @@ smalltalk.method({
 selector: "messageSends",
 selector: "messageSends",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@messageSends"];
 $1=self["@messageSends"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.MethodNode)})},
@@ -643,7 +695,8 @@ smalltalk.method({
 selector: "messageSends:",
 selector: "messageSends:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@messageSends"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@messageSends"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"messageSends:",{aCollection:aCollection},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"messageSends:",{aCollection:aCollection},smalltalk.MethodNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodNode);
 smalltalk.MethodNode);
@@ -654,7 +707,8 @@ smalltalk.method({
 selector: "scope",
 selector: "scope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.MethodNode)})},
@@ -667,7 +721,8 @@ smalltalk.method({
 selector: "scope:",
 selector: "scope:",
 fn: function (aMethodScope){
 fn: function (aMethodScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aMethodScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aMethodScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aMethodScope:aMethodScope},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aMethodScope:aMethodScope},smalltalk.MethodNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodNode);
 smalltalk.MethodNode);
@@ -678,7 +733,8 @@ smalltalk.method({
 selector: "selector",
 selector: "selector",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@selector"];
 $1=self["@selector"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.MethodNode)})},
@@ -691,7 +747,8 @@ smalltalk.method({
 selector: "selector:",
 selector: "selector:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@selector"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@selector"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.MethodNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodNode);
 smalltalk.MethodNode);
@@ -702,7 +759,8 @@ smalltalk.method({
 selector: "source",
 selector: "source",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@source"];
 $1=self["@source"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"source",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"source",{},smalltalk.MethodNode)})},
@@ -715,7 +773,8 @@ smalltalk.method({
 selector: "source:",
 selector: "source:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@source"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.MethodNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodNode);
 smalltalk.MethodNode);
@@ -726,7 +785,8 @@ smalltalk.method({
 selector: "superSends",
 selector: "superSends",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@superSends"];
 $1=self["@superSends"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"superSends",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"superSends",{},smalltalk.MethodNode)})},
@@ -739,7 +799,8 @@ smalltalk.method({
 selector: "superSends:",
 selector: "superSends:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@superSends"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@superSends"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"superSends:",{aCollection:aCollection},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"superSends:",{aCollection:aCollection},smalltalk.MethodNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodNode);
 smalltalk.MethodNode);
@@ -753,7 +814,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitReturnNode_(self);
 $1=_st(aVisitor)._visitReturnNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ReturnNode)})},
@@ -766,7 +828,8 @@ smalltalk.method({
 selector: "isReturnNode",
 selector: "isReturnNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isReturnNode",{},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isReturnNode",{},smalltalk.ReturnNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ReturnNode);
 smalltalk.ReturnNode);
@@ -777,7 +840,8 @@ smalltalk.method({
 selector: "nonLocalReturn",
 selector: "nonLocalReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._scope())._isMethodScope())._not();
 $1=_st(_st(_st(self)._scope())._isMethodScope())._not();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nonLocalReturn",{},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"nonLocalReturn",{},smalltalk.ReturnNode)})},
@@ -790,7 +854,8 @@ smalltalk.method({
 selector: "scope",
 selector: "scope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ReturnNode)})},
@@ -803,7 +868,8 @@ smalltalk.method({
 selector: "scope:",
 selector: "scope:",
 fn: function (aLexicalScope){
 fn: function (aLexicalScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aLexicalScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aLexicalScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.ReturnNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.ReturnNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ReturnNode);
 smalltalk.ReturnNode);
@@ -817,7 +883,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitSendNode_(self);
 $1=_st(aVisitor)._visitSendNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.SendNode)})},
@@ -830,7 +897,8 @@ smalltalk.method({
 selector: "arguments",
 selector: "arguments",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@arguments"];
 $2=self["@arguments"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@arguments"]=[];
 self["@arguments"]=[];
@@ -849,7 +917,8 @@ smalltalk.method({
 selector: "arguments:",
 selector: "arguments:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@arguments"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@arguments"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection},smalltalk.SendNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SendNode);
 smalltalk.SendNode);
@@ -864,7 +933,8 @@ var first;
 function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?nil:SendNode)}
 function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?nil:SendNode)}
 function $CascadeNode(){return smalltalk.CascadeNode||(typeof CascadeNode=="undefined"?nil:CascadeNode)}
 function $CascadeNode(){return smalltalk.CascadeNode||(typeof CascadeNode=="undefined"?nil:CascadeNode)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$4,$5,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$4,$5,$3;
 $1=_st($SendNode())._new();
 $1=_st($SendNode())._new();
 _st($1)._selector_(_st(self)._selector());
 _st($1)._selector_(_st(self)._selector());
 _st($1)._arguments_(_st(self)._arguments());
 _st($1)._arguments_(_st(self)._arguments());
@@ -886,7 +956,8 @@ smalltalk.method({
 selector: "index",
 selector: "index",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@index"];
 $1=self["@index"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"index",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"index",{},smalltalk.SendNode)})},
@@ -899,7 +970,8 @@ smalltalk.method({
 selector: "index:",
 selector: "index:",
 fn: function (anInteger){
 fn: function (anInteger){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@index"]=anInteger;
+return smalltalk.withContext(function($ctx1) { 
+self["@index"]=anInteger;
 return self}, function($ctx1) {$ctx1.fill(self,"index:",{anInteger:anInteger},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"index:",{anInteger:anInteger},smalltalk.SendNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SendNode);
 smalltalk.SendNode);
@@ -910,7 +982,8 @@ smalltalk.method({
 selector: "isSendNode",
 selector: "isSendNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSendNode",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSendNode",{},smalltalk.SendNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SendNode);
 smalltalk.SendNode);
@@ -922,7 +995,8 @@ selector: "nodes",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($Array())._withAll_(_st(self)._arguments());
 $2=_st($Array())._withAll_(_st(self)._arguments());
 _st($2)._add_(_st(self)._receiver());
 _st($2)._add_(_st(self)._receiver());
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -938,7 +1012,8 @@ smalltalk.method({
 selector: "receiver",
 selector: "receiver",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@receiver"];
 $1=self["@receiver"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.SendNode)})},
@@ -951,7 +1026,8 @@ smalltalk.method({
 selector: "receiver:",
 selector: "receiver:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@receiver"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{aNode:aNode},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{aNode:aNode},smalltalk.SendNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SendNode);
 smalltalk.SendNode);
@@ -962,7 +1038,8 @@ smalltalk.method({
 selector: "selector",
 selector: "selector",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@selector"];
 $1=self["@selector"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.SendNode)})},
@@ -975,7 +1052,8 @@ smalltalk.method({
 selector: "selector:",
 selector: "selector:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@selector"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@selector"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.SendNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SendNode);
 smalltalk.SendNode);
@@ -986,7 +1064,8 @@ smalltalk.method({
 selector: "superSend",
 selector: "superSend",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@superSend"];
 $2=self["@superSend"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -1004,7 +1083,8 @@ smalltalk.method({
 selector: "superSend:",
 selector: "superSend:",
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@superSend"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@superSend"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"superSend:",{aBoolean:aBoolean},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"superSend:",{aBoolean:aBoolean},smalltalk.SendNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SendNode);
 smalltalk.SendNode);
@@ -1016,7 +1096,8 @@ selector: "valueForReceiver:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
 function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?nil:SendNode)}
 function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?nil:SendNode)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$5,$4,$6,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$5,$4,$6,$1;
 $2=_st($SendNode())._new();
 $2=_st($SendNode())._new();
 $3=$2;
 $3=$2;
 $5=_st(self)._receiver();
 $5=_st(self)._receiver();
@@ -1044,7 +1125,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitSequenceNode_(self);
 $1=_st(aVisitor)._visitSequenceNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.SequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.SequenceNode)})},
@@ -1058,7 +1140,8 @@ selector: "asBlockSequenceNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $BlockSequenceNode(){return smalltalk.BlockSequenceNode||(typeof BlockSequenceNode=="undefined"?nil:BlockSequenceNode)}
 function $BlockSequenceNode(){return smalltalk.BlockSequenceNode||(typeof BlockSequenceNode=="undefined"?nil:BlockSequenceNode)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($BlockSequenceNode())._new();
 $2=_st($BlockSequenceNode())._new();
 _st($2)._nodes_(_st(self)._nodes());
 _st($2)._nodes_(_st(self)._nodes());
 _st($2)._temps_(_st(self)._temps());
 _st($2)._temps_(_st(self)._temps());
@@ -1075,7 +1158,8 @@ smalltalk.method({
 selector: "scope",
 selector: "scope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.SequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.SequenceNode)})},
@@ -1088,7 +1172,8 @@ smalltalk.method({
 selector: "scope:",
 selector: "scope:",
 fn: function (aLexicalScope){
 fn: function (aLexicalScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aLexicalScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aLexicalScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.SequenceNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.SequenceNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SequenceNode);
 smalltalk.SequenceNode);
@@ -1099,7 +1184,8 @@ smalltalk.method({
 selector: "temps",
 selector: "temps",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@temps"];
 $2=self["@temps"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=[];
 $1=[];
@@ -1117,7 +1203,8 @@ smalltalk.method({
 selector: "temps:",
 selector: "temps:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@temps"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@temps"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"temps:",{aCollection:aCollection},smalltalk.SequenceNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"temps:",{aCollection:aCollection},smalltalk.SequenceNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SequenceNode);
 smalltalk.SequenceNode);
@@ -1131,7 +1218,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitBlockSequenceNode_(self);
 $1=_st(aVisitor)._visitBlockSequenceNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.BlockSequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.BlockSequenceNode)})},
@@ -1144,7 +1232,8 @@ smalltalk.method({
 selector: "isBlockSequenceNode",
 selector: "isBlockSequenceNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isBlockSequenceNode",{},smalltalk.BlockSequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockSequenceNode",{},smalltalk.BlockSequenceNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockSequenceNode);
 smalltalk.BlockSequenceNode);
@@ -1158,7 +1247,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitValueNode_(self);
 $1=_st(aVisitor)._visitValueNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ValueNode)})},
@@ -1171,7 +1261,8 @@ smalltalk.method({
 selector: "isImmutable",
 selector: "isImmutable",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._value())._isImmutable();
 $1=_st(_st(self)._value())._isImmutable();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.ValueNode)})},
@@ -1184,7 +1275,8 @@ smalltalk.method({
 selector: "isValueNode",
 selector: "isValueNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isValueNode",{},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isValueNode",{},smalltalk.ValueNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ValueNode);
 smalltalk.ValueNode);
@@ -1195,7 +1287,8 @@ smalltalk.method({
 selector: "value",
 selector: "value",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@value"];
 $1=self["@value"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.ValueNode)})},
@@ -1208,7 +1301,8 @@ smalltalk.method({
 selector: "value:",
 selector: "value:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@value"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@value"]=anObject;
 return self}, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},smalltalk.ValueNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},smalltalk.ValueNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ValueNode);
 smalltalk.ValueNode);
@@ -1222,7 +1316,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitVariableNode_(self);
 $1=_st(aVisitor)._visitVariableNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.VariableNode)})},
@@ -1235,7 +1330,8 @@ smalltalk.method({
 selector: "alias",
 selector: "alias",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._binding())._alias();
 $1=_st(_st(self)._binding())._alias();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.VariableNode)})},
@@ -1248,7 +1344,8 @@ smalltalk.method({
 selector: "assigned",
 selector: "assigned",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@assigned"];
 $2=self["@assigned"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -1266,7 +1363,8 @@ smalltalk.method({
 selector: "assigned:",
 selector: "assigned:",
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@assigned"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@assigned"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"assigned:",{aBoolean:aBoolean},smalltalk.VariableNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"assigned:",{aBoolean:aBoolean},smalltalk.VariableNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.VariableNode);
 smalltalk.VariableNode);
@@ -1277,7 +1375,8 @@ smalltalk.method({
 selector: "beAssigned",
 selector: "beAssigned",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._binding())._validateAssignment();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._binding())._validateAssignment();
 self["@assigned"]=true;
 self["@assigned"]=true;
 return self}, function($ctx1) {$ctx1.fill(self,"beAssigned",{},smalltalk.VariableNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"beAssigned",{},smalltalk.VariableNode)})},
 messageSends: ["validateAssignment", "binding"]}),
 messageSends: ["validateAssignment", "binding"]}),
@@ -1289,7 +1388,8 @@ smalltalk.method({
 selector: "binding",
 selector: "binding",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@binding"];
 $1=self["@binding"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"binding",{},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"binding",{},smalltalk.VariableNode)})},
@@ -1302,7 +1402,8 @@ smalltalk.method({
 selector: "binding:",
 selector: "binding:",
 fn: function (aScopeVar){
 fn: function (aScopeVar){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@binding"]=aScopeVar;
+return smalltalk.withContext(function($ctx1) { 
+self["@binding"]=aScopeVar;
 return self}, function($ctx1) {$ctx1.fill(self,"binding:",{aScopeVar:aScopeVar},smalltalk.VariableNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"binding:",{aScopeVar:aScopeVar},smalltalk.VariableNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.VariableNode);
 smalltalk.VariableNode);
@@ -1313,7 +1414,8 @@ smalltalk.method({
 selector: "isImmutable",
 selector: "isImmutable",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.VariableNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.VariableNode);
 smalltalk.VariableNode);
@@ -1327,7 +1429,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitClassReferenceNode_(self);
 $1=_st(aVisitor)._visitClassReferenceNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ClassReferenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ClassReferenceNode)})},
@@ -1342,7 +1445,8 @@ smalltalk.method({
 selector: "isNode",
 selector: "isNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isNode",{},smalltalk.Object)})},
 }, function($ctx1) {$ctx1.fill(self,"isNode",{},smalltalk.Object)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Object);
 smalltalk.Object);

+ 208 - 104
js/Compiler-AST.js

@@ -8,7 +8,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitNode_(self);
 $1=_st(aVisitor)._visitNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.Node)})},
@@ -26,7 +27,8 @@ selector: "addNode:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._nodes())._add_(aNode);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._nodes())._add_(aNode);
 return self}, function($ctx1) {$ctx1.fill(self,"addNode:",{aNode:aNode},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addNode:",{aNode:aNode},smalltalk.Node)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "addNode: aNode\x0a\x09self nodes add: aNode",
 source: "addNode: aNode\x0a\x09self nodes add: aNode",
@@ -42,7 +44,8 @@ selector: "isAssignmentNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isAssignmentNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isAssignmentNode",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isAssignmentNode\x0a\x09^ false",
 source: "isAssignmentNode\x0a\x09^ false",
@@ -58,7 +61,8 @@ selector: "isBlockNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isBlockNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockNode",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isBlockNode\x0a\x09^false",
 source: "isBlockNode\x0a\x09^false",
@@ -74,7 +78,8 @@ selector: "isBlockSequenceNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isBlockSequenceNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockSequenceNode",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isBlockSequenceNode\x0a\x09^false",
 source: "isBlockSequenceNode\x0a\x09^false",
@@ -90,7 +95,8 @@ selector: "isImmutable",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isImmutable\x0a\x09^false",
 source: "isImmutable\x0a\x09^false",
@@ -106,7 +112,8 @@ selector: "isNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isNode",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isNode\x0a\x09^ true",
 source: "isNode\x0a\x09^ true",
@@ -122,7 +129,8 @@ selector: "isReturnNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isReturnNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isReturnNode",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isReturnNode\x0a\x09^false",
 source: "isReturnNode\x0a\x09^false",
@@ -138,7 +146,8 @@ selector: "isSendNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isSendNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isSendNode",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isSendNode\x0a\x09^false",
 source: "isSendNode\x0a\x09^false",
@@ -154,7 +163,8 @@ selector: "isValueNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isValueNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isValueNode",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isValueNode\x0a\x09^false",
 source: "isValueNode\x0a\x09^false",
@@ -171,7 +181,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@nodes"];
 $2=self["@nodes"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@nodes"]=_st($Array())._new();
 self["@nodes"]=_st($Array())._new();
@@ -195,7 +206,8 @@ selector: "nodes:",
 category: 'building',
 category: 'building',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@nodes"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@nodes"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"nodes:",{aCollection:aCollection},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"nodes:",{aCollection:aCollection},smalltalk.Node)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "nodes: aCollection\x0a\x09nodes := aCollection",
 source: "nodes: aCollection\x0a\x09nodes := aCollection",
@@ -211,7 +223,8 @@ selector: "position",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@position"];
 $2=self["@position"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@position"]=_st((0)).__at((0));
 self["@position"]=_st((0)).__at((0));
@@ -235,7 +248,8 @@ selector: "position:",
 category: 'building',
 category: 'building',
 fn: function (aPosition){
 fn: function (aPosition){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@position"]=aPosition;
+return smalltalk.withContext(function($ctx1) { 
+self["@position"]=aPosition;
 return self}, function($ctx1) {$ctx1.fill(self,"position:",{aPosition:aPosition},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"position:",{aPosition:aPosition},smalltalk.Node)})},
 args: ["aPosition"],
 args: ["aPosition"],
 source: "position: aPosition\x0a\x09position := aPosition",
 source: "position: aPosition\x0a\x09position := aPosition",
@@ -251,7 +265,8 @@ selector: "shouldBeAliased",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@shouldBeAliased"];
 $2=self["@shouldBeAliased"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -274,7 +289,8 @@ selector: "shouldBeAliased:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@shouldBeAliased"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@shouldBeAliased"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"shouldBeAliased:",{aBoolean:aBoolean},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"shouldBeAliased:",{aBoolean:aBoolean},smalltalk.Node)})},
 args: ["aBoolean"],
 args: ["aBoolean"],
 source: "shouldBeAliased: aBoolean\x0a\x09shouldBeAliased := aBoolean",
 source: "shouldBeAliased: aBoolean\x0a\x09shouldBeAliased := aBoolean",
@@ -290,7 +306,8 @@ selector: "shouldBeInlined",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@shouldBeInlined"];
 $2=self["@shouldBeInlined"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -313,7 +330,8 @@ selector: "shouldBeInlined:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@shouldBeInlined"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@shouldBeInlined"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"shouldBeInlined:",{aBoolean:aBoolean},smalltalk.Node)})},
 return self}, function($ctx1) {$ctx1.fill(self,"shouldBeInlined:",{aBoolean:aBoolean},smalltalk.Node)})},
 args: ["aBoolean"],
 args: ["aBoolean"],
 source: "shouldBeInlined: aBoolean\x0a\x09shouldBeInlined := aBoolean",
 source: "shouldBeInlined: aBoolean\x0a\x09shouldBeInlined := aBoolean",
@@ -329,14 +347,19 @@ selector: "subtreeNeedsAliasing",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._shouldBeAliased())._or_((function(){
 $1=_st(_st(_st(self)._shouldBeAliased())._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._shouldBeInlined();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._shouldBeInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._or_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(self)._nodes())._detect_ifNone_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(each)._subtreeNeedsAliasing();
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(self)._nodes())._detect_ifNone_((function(each){
+return smalltalk.withContext(function($ctx3) {
+return _st(each)._subtreeNeedsAliasing();
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx3) {
return false;
+return smalltalk.withContext(function($ctx3) {
+return false;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))).__tild_eq(false);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))).__tild_eq(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
@@ -358,7 +381,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitAssignmentNode_(self);
 $1=_st(aVisitor)._visitAssignmentNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.AssignmentNode)})},
@@ -376,7 +400,8 @@ selector: "isAssignmentNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isAssignmentNode",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isAssignmentNode",{},smalltalk.AssignmentNode)})},
 args: [],
 args: [],
 source: "isAssignmentNode\x0a\x09^ true",
 source: "isAssignmentNode\x0a\x09^ true",
@@ -392,7 +417,8 @@ selector: "left",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@left"];
 $1=self["@left"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"left",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"left",{},smalltalk.AssignmentNode)})},
@@ -410,7 +436,8 @@ selector: "left:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@left"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@left"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"left:",{aNode:aNode},smalltalk.AssignmentNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"left:",{aNode:aNode},smalltalk.AssignmentNode)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "left: aNode\x0a\x09left := aNode",
 source: "left: aNode\x0a\x09left := aNode",
@@ -427,7 +454,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($Array())._with_with_(_st(self)._left(),_st(self)._right());
 $1=_st($Array())._with_with_(_st(self)._left(),_st(self)._right());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.AssignmentNode)})},
@@ -445,7 +473,8 @@ selector: "right",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@right"];
 $1=self["@right"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"right",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"right",{},smalltalk.AssignmentNode)})},
@@ -463,7 +492,8 @@ selector: "right:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@right"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@right"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"right:",{aNode:aNode},smalltalk.AssignmentNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"right:",{aNode:aNode},smalltalk.AssignmentNode)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "right: aNode\x0a\x09right := aNode",
 source: "right: aNode\x0a\x09right := aNode",
@@ -482,7 +512,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitBlockNode_(self);
 $1=_st(aVisitor)._visitBlockNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.BlockNode)})},
@@ -500,7 +531,8 @@ selector: "isBlockNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isBlockNode",{},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockNode",{},smalltalk.BlockNode)})},
 args: [],
 args: [],
 source: "isBlockNode\x0a\x09^true",
 source: "isBlockNode\x0a\x09^true",
@@ -517,7 +549,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@parameters"];
 $2=self["@parameters"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@parameters"]=_st($Array())._new();
 self["@parameters"]=_st($Array())._new();
@@ -541,7 +574,8 @@ selector: "parameters:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@parameters"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@parameters"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"parameters:",{aCollection:aCollection},smalltalk.BlockNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"parameters:",{aCollection:aCollection},smalltalk.BlockNode)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "parameters: aCollection\x0a\x09parameters := aCollection",
 source: "parameters: aCollection\x0a\x09parameters := aCollection",
@@ -557,7 +591,8 @@ selector: "scope",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.BlockNode)})},
@@ -575,7 +610,8 @@ selector: "scope:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aLexicalScope){
 fn: function (aLexicalScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aLexicalScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aLexicalScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.BlockNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.BlockNode)})},
 args: ["aLexicalScope"],
 args: ["aLexicalScope"],
 source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",
 source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",
@@ -591,9 +627,11 @@ selector: "subtreeNeedsAliasing",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._shouldBeAliased())._or_((function(){
 $1=_st(_st(self)._shouldBeAliased())._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._shouldBeInlined();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._shouldBeInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subtreeNeedsAliasing",{},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"subtreeNeedsAliasing",{},smalltalk.BlockNode)})},
@@ -614,7 +652,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitCascadeNode_(self);
 $1=_st(aVisitor)._visitCascadeNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.CascadeNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.CascadeNode)})},
@@ -632,7 +671,8 @@ selector: "receiver",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@receiver"];
 $1=self["@receiver"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.CascadeNode)})},
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.CascadeNode)})},
@@ -650,7 +690,8 @@ selector: "receiver:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@receiver"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{aNode:aNode},smalltalk.CascadeNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{aNode:aNode},smalltalk.CascadeNode)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "receiver: aNode\x0a\x09receiver := aNode",
 source: "receiver: aNode\x0a\x09receiver := aNode",
@@ -669,7 +710,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitDynamicArrayNode_(self);
 $1=_st(aVisitor)._visitDynamicArrayNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.DynamicArrayNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.DynamicArrayNode)})},
@@ -690,7 +732,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitDynamicDictionaryNode_(self);
 $1=_st(aVisitor)._visitDynamicDictionaryNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.DynamicDictionaryNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.DynamicDictionaryNode)})},
@@ -711,7 +754,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitJSStatementNode_(self);
 $1=_st(aVisitor)._visitJSStatementNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.JSStatementNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.JSStatementNode)})},
@@ -729,7 +773,8 @@ selector: "source",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@source"];
 $2=self["@source"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 $1="";
@@ -752,7 +797,8 @@ selector: "source:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@source"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.JSStatementNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.JSStatementNode)})},
 args: ["aString"],
 args: ["aString"],
 source: "source: aString\x0a\x09source := aString",
 source: "source: aString\x0a\x09source := aString",
@@ -771,7 +817,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitMethodNode_(self);
 $1=_st(aVisitor)._visitMethodNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.MethodNode)})},
@@ -789,7 +836,8 @@ selector: "arguments",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@arguments"];
 $2=self["@arguments"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=[];
 $1=[];
@@ -812,7 +860,8 @@ selector: "arguments:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@arguments"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@arguments"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection},smalltalk.MethodNode)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "arguments: aCollection\x0a\x09arguments := aCollection",
 source: "arguments: aCollection\x0a\x09arguments := aCollection",
@@ -828,7 +877,8 @@ selector: "classReferences",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@classReferences"];
 $1=self["@classReferences"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"classReferences",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"classReferences",{},smalltalk.MethodNode)})},
@@ -846,7 +896,8 @@ selector: "classReferences:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@classReferences"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@classReferences"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"classReferences:",{aCollection:aCollection},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"classReferences:",{aCollection:aCollection},smalltalk.MethodNode)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "classReferences: aCollection\x0a\x09classReferences := aCollection",
 source: "classReferences: aCollection\x0a\x09classReferences := aCollection",
@@ -862,7 +913,8 @@ selector: "messageSends",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@messageSends"];
 $1=self["@messageSends"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.MethodNode)})},
@@ -880,7 +932,8 @@ selector: "messageSends:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@messageSends"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@messageSends"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"messageSends:",{aCollection:aCollection},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"messageSends:",{aCollection:aCollection},smalltalk.MethodNode)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "messageSends: aCollection\x0a\x09messageSends := aCollection",
 source: "messageSends: aCollection\x0a\x09messageSends := aCollection",
@@ -896,7 +949,8 @@ selector: "scope",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.MethodNode)})},
@@ -914,7 +968,8 @@ selector: "scope:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aMethodScope){
 fn: function (aMethodScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aMethodScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aMethodScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aMethodScope:aMethodScope},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aMethodScope:aMethodScope},smalltalk.MethodNode)})},
 args: ["aMethodScope"],
 args: ["aMethodScope"],
 source: "scope: aMethodScope\x0a\x09scope := aMethodScope",
 source: "scope: aMethodScope\x0a\x09scope := aMethodScope",
@@ -930,7 +985,8 @@ selector: "selector",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@selector"];
 $1=self["@selector"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.MethodNode)})},
@@ -948,7 +1004,8 @@ selector: "selector:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@selector"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@selector"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.MethodNode)})},
 args: ["aString"],
 args: ["aString"],
 source: "selector: aString\x0a\x09selector := aString",
 source: "selector: aString\x0a\x09selector := aString",
@@ -964,7 +1021,8 @@ selector: "source",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@source"];
 $1=self["@source"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"source",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"source",{},smalltalk.MethodNode)})},
@@ -982,7 +1040,8 @@ selector: "source:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@source"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.MethodNode)})},
 args: ["aString"],
 args: ["aString"],
 source: "source: aString\x0a\x09source := aString",
 source: "source: aString\x0a\x09source := aString",
@@ -998,7 +1057,8 @@ selector: "superSends",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@superSends"];
 $1=self["@superSends"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"superSends",{},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"superSends",{},smalltalk.MethodNode)})},
@@ -1016,7 +1076,8 @@ selector: "superSends:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@superSends"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@superSends"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"superSends:",{aCollection:aCollection},smalltalk.MethodNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"superSends:",{aCollection:aCollection},smalltalk.MethodNode)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "superSends: aCollection\x0a\x09superSends := aCollection",
 source: "superSends: aCollection\x0a\x09superSends := aCollection",
@@ -1035,7 +1096,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitReturnNode_(self);
 $1=_st(aVisitor)._visitReturnNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ReturnNode)})},
@@ -1053,7 +1115,8 @@ selector: "isReturnNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isReturnNode",{},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isReturnNode",{},smalltalk.ReturnNode)})},
 args: [],
 args: [],
 source: "isReturnNode\x0a\x09^ true",
 source: "isReturnNode\x0a\x09^ true",
@@ -1069,7 +1132,8 @@ selector: "nonLocalReturn",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._scope())._isMethodScope())._not();
 $1=_st(_st(_st(self)._scope())._isMethodScope())._not();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nonLocalReturn",{},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"nonLocalReturn",{},smalltalk.ReturnNode)})},
@@ -1087,7 +1151,8 @@ selector: "scope",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ReturnNode)})},
@@ -1105,7 +1170,8 @@ selector: "scope:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aLexicalScope){
 fn: function (aLexicalScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aLexicalScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aLexicalScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.ReturnNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.ReturnNode)})},
 args: ["aLexicalScope"],
 args: ["aLexicalScope"],
 source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",
 source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",
@@ -1124,7 +1190,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitSendNode_(self);
 $1=_st(aVisitor)._visitSendNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.SendNode)})},
@@ -1142,7 +1209,8 @@ selector: "arguments",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@arguments"];
 $2=self["@arguments"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@arguments"]=[];
 self["@arguments"]=[];
@@ -1166,7 +1234,8 @@ selector: "arguments:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@arguments"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@arguments"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{aCollection:aCollection},smalltalk.SendNode)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "arguments: aCollection\x0a\x09arguments := aCollection",
 source: "arguments: aCollection\x0a\x09arguments := aCollection",
@@ -1186,7 +1255,8 @@ var first;
 function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?nil:SendNode)}
 function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?nil:SendNode)}
 function $CascadeNode(){return smalltalk.CascadeNode||(typeof CascadeNode=="undefined"?nil:CascadeNode)}
 function $CascadeNode(){return smalltalk.CascadeNode||(typeof CascadeNode=="undefined"?nil:CascadeNode)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$4,$5,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$4,$5,$3;
 $1=_st($SendNode())._new();
 $1=_st($SendNode())._new();
 _st($1)._selector_(_st(self)._selector());
 _st($1)._selector_(_st(self)._selector());
 _st($1)._arguments_(_st(self)._arguments());
 _st($1)._arguments_(_st(self)._arguments());
@@ -1213,7 +1283,8 @@ selector: "index",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@index"];
 $1=self["@index"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"index",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"index",{},smalltalk.SendNode)})},
@@ -1231,7 +1302,8 @@ selector: "index:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anInteger){
 fn: function (anInteger){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@index"]=anInteger;
+return smalltalk.withContext(function($ctx1) { 
+self["@index"]=anInteger;
 return self}, function($ctx1) {$ctx1.fill(self,"index:",{anInteger:anInteger},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"index:",{anInteger:anInteger},smalltalk.SendNode)})},
 args: ["anInteger"],
 args: ["anInteger"],
 source: "index: anInteger\x0a\x09index := anInteger",
 source: "index: anInteger\x0a\x09index := anInteger",
@@ -1247,7 +1319,8 @@ selector: "isSendNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSendNode",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSendNode",{},smalltalk.SendNode)})},
 args: [],
 args: [],
 source: "isSendNode\x0a\x09^ true",
 source: "isSendNode\x0a\x09^ true",
@@ -1264,7 +1337,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($Array())._withAll_(_st(self)._arguments());
 $2=_st($Array())._withAll_(_st(self)._arguments());
 _st($2)._add_(_st(self)._receiver());
 _st($2)._add_(_st(self)._receiver());
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -1285,7 +1359,8 @@ selector: "receiver",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@receiver"];
 $1=self["@receiver"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.SendNode)})},
@@ -1303,7 +1378,8 @@ selector: "receiver:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@receiver"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{aNode:aNode},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{aNode:aNode},smalltalk.SendNode)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "receiver: aNode\x0a\x09receiver := aNode",
 source: "receiver: aNode\x0a\x09receiver := aNode",
@@ -1319,7 +1395,8 @@ selector: "selector",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@selector"];
 $1=self["@selector"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.SendNode)})},
@@ -1337,7 +1414,8 @@ selector: "selector:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@selector"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@selector"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.SendNode)})},
 args: ["aString"],
 args: ["aString"],
 source: "selector: aString\x0a\x09selector := aString",
 source: "selector: aString\x0a\x09selector := aString",
@@ -1353,7 +1431,8 @@ selector: "superSend",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@superSend"];
 $2=self["@superSend"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -1376,7 +1455,8 @@ selector: "superSend:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@superSend"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@superSend"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"superSend:",{aBoolean:aBoolean},smalltalk.SendNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"superSend:",{aBoolean:aBoolean},smalltalk.SendNode)})},
 args: ["aBoolean"],
 args: ["aBoolean"],
 source: "superSend: aBoolean\x0a\x09superSend := aBoolean",
 source: "superSend: aBoolean\x0a\x09superSend := aBoolean",
@@ -1393,7 +1473,8 @@ category: 'accessing',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
 function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?nil:SendNode)}
 function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?nil:SendNode)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$5,$4,$6,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$5,$4,$6,$1;
 $2=_st($SendNode())._new();
 $2=_st($SendNode())._new();
 $3=$2;
 $3=$2;
 $5=_st(self)._receiver();
 $5=_st(self)._receiver();
@@ -1426,7 +1507,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitSequenceNode_(self);
 $1=_st(aVisitor)._visitSequenceNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.SequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.SequenceNode)})},
@@ -1445,7 +1527,8 @@ category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $BlockSequenceNode(){return smalltalk.BlockSequenceNode||(typeof BlockSequenceNode=="undefined"?nil:BlockSequenceNode)}
 function $BlockSequenceNode(){return smalltalk.BlockSequenceNode||(typeof BlockSequenceNode=="undefined"?nil:BlockSequenceNode)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($BlockSequenceNode())._new();
 $2=_st($BlockSequenceNode())._new();
 _st($2)._nodes_(_st(self)._nodes());
 _st($2)._nodes_(_st(self)._nodes());
 _st($2)._temps_(_st(self)._temps());
 _st($2)._temps_(_st(self)._temps());
@@ -1467,7 +1550,8 @@ selector: "scope",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.SequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.SequenceNode)})},
@@ -1485,7 +1569,8 @@ selector: "scope:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aLexicalScope){
 fn: function (aLexicalScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aLexicalScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aLexicalScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.SequenceNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aLexicalScope:aLexicalScope},smalltalk.SequenceNode)})},
 args: ["aLexicalScope"],
 args: ["aLexicalScope"],
 source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",
 source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",
@@ -1501,7 +1586,8 @@ selector: "temps",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@temps"];
 $2=self["@temps"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=[];
 $1=[];
@@ -1524,7 +1610,8 @@ selector: "temps:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@temps"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@temps"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"temps:",{aCollection:aCollection},smalltalk.SequenceNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"temps:",{aCollection:aCollection},smalltalk.SequenceNode)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "temps: aCollection\x0a\x09temps := aCollection",
 source: "temps: aCollection\x0a\x09temps := aCollection",
@@ -1543,7 +1630,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitBlockSequenceNode_(self);
 $1=_st(aVisitor)._visitBlockSequenceNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.BlockSequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.BlockSequenceNode)})},
@@ -1561,7 +1649,8 @@ selector: "isBlockSequenceNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isBlockSequenceNode",{},smalltalk.BlockSequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockSequenceNode",{},smalltalk.BlockSequenceNode)})},
 args: [],
 args: [],
 source: "isBlockSequenceNode\x0a\x09^true",
 source: "isBlockSequenceNode\x0a\x09^true",
@@ -1580,7 +1669,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitValueNode_(self);
 $1=_st(aVisitor)._visitValueNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ValueNode)})},
@@ -1598,7 +1688,8 @@ selector: "isImmutable",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._value())._isImmutable();
 $1=_st(_st(self)._value())._isImmutable();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.ValueNode)})},
@@ -1616,7 +1707,8 @@ selector: "isValueNode",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isValueNode",{},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isValueNode",{},smalltalk.ValueNode)})},
 args: [],
 args: [],
 source: "isValueNode\x0a\x09^true",
 source: "isValueNode\x0a\x09^true",
@@ -1632,7 +1724,8 @@ selector: "value",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@value"];
 $1=self["@value"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.ValueNode)})},
@@ -1650,7 +1743,8 @@ selector: "value:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@value"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@value"]=anObject;
 return self}, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},smalltalk.ValueNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},smalltalk.ValueNode)})},
 args: ["anObject"],
 args: ["anObject"],
 source: "value: anObject\x0a\x09value := anObject",
 source: "value: anObject\x0a\x09value := anObject",
@@ -1669,7 +1763,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitVariableNode_(self);
 $1=_st(aVisitor)._visitVariableNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.VariableNode)})},
@@ -1687,7 +1782,8 @@ selector: "alias",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._binding())._alias();
 $1=_st(_st(self)._binding())._alias();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.VariableNode)})},
@@ -1705,7 +1801,8 @@ selector: "assigned",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@assigned"];
 $2=self["@assigned"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -1728,7 +1825,8 @@ selector: "assigned:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@assigned"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@assigned"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"assigned:",{aBoolean:aBoolean},smalltalk.VariableNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"assigned:",{aBoolean:aBoolean},smalltalk.VariableNode)})},
 args: ["aBoolean"],
 args: ["aBoolean"],
 source: "assigned: aBoolean\x0a\x09assigned := aBoolean",
 source: "assigned: aBoolean\x0a\x09assigned := aBoolean",
@@ -1744,7 +1842,8 @@ selector: "beAssigned",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._binding())._validateAssignment();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._binding())._validateAssignment();
 self["@assigned"]=true;
 self["@assigned"]=true;
 return self}, function($ctx1) {$ctx1.fill(self,"beAssigned",{},smalltalk.VariableNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"beAssigned",{},smalltalk.VariableNode)})},
 args: [],
 args: [],
@@ -1761,7 +1860,8 @@ selector: "binding",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@binding"];
 $1=self["@binding"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"binding",{},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"binding",{},smalltalk.VariableNode)})},
@@ -1779,7 +1879,8 @@ selector: "binding:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aScopeVar){
 fn: function (aScopeVar){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@binding"]=aScopeVar;
+return smalltalk.withContext(function($ctx1) { 
+self["@binding"]=aScopeVar;
 return self}, function($ctx1) {$ctx1.fill(self,"binding:",{aScopeVar:aScopeVar},smalltalk.VariableNode)})},
 return self}, function($ctx1) {$ctx1.fill(self,"binding:",{aScopeVar:aScopeVar},smalltalk.VariableNode)})},
 args: ["aScopeVar"],
 args: ["aScopeVar"],
 source: "binding: aScopeVar\x0a\x09binding := aScopeVar",
 source: "binding: aScopeVar\x0a\x09binding := aScopeVar",
@@ -1795,7 +1896,8 @@ selector: "isImmutable",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.VariableNode)})},
 args: [],
 args: [],
 source: "isImmutable\x0a\x09^false",
 source: "isImmutable\x0a\x09^false",
@@ -1814,7 +1916,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitClassReferenceNode_(self);
 $1=_st(aVisitor)._visitClassReferenceNode_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ClassReferenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.ClassReferenceNode)})},
@@ -1834,7 +1937,8 @@ selector: "isNode",
 category: '*Compiler-AST',
 category: '*Compiler-AST',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isNode",{},smalltalk.Object)})},
 }, function($ctx1) {$ctx1.fill(self,"isNode",{},smalltalk.Object)})},
 args: [],
 args: [],
 source: "isNode\x0a\x09^ false",
 source: "isNode\x0a\x09^ false",

+ 114 - 57
js/Compiler-Core.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "classNameFor:",
 selector: "classNameFor:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(aClass)._isMetaclass();
 $2=_st(aClass)._isMetaclass();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
@@ -29,7 +30,8 @@ smalltalk.method({
 selector: "compileNode:",
 selector: "compileNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._subclassResponsibility();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._subclassResponsibility();
 return self}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode},smalltalk.AbstractCodeGenerator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode},smalltalk.AbstractCodeGenerator)})},
 messageSends: ["subclassResponsibility"]}),
 messageSends: ["subclassResponsibility"]}),
 smalltalk.AbstractCodeGenerator);
 smalltalk.AbstractCodeGenerator);
@@ -40,7 +42,8 @@ smalltalk.method({
 selector: "currentClass",
 selector: "currentClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentClass"];
 $1=self["@currentClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.AbstractCodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.AbstractCodeGenerator)})},
@@ -53,7 +56,8 @@ smalltalk.method({
 selector: "currentClass:",
 selector: "currentClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@currentClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@currentClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass},smalltalk.AbstractCodeGenerator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass},smalltalk.AbstractCodeGenerator)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AbstractCodeGenerator);
 smalltalk.AbstractCodeGenerator);
@@ -64,7 +68,8 @@ smalltalk.method({
 selector: "pseudoVariables",
 selector: "pseudoVariables",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=["self", "super", "true", "false", "nil", "thisContext"];
 $1=["self", "super", "true", "false", "nil", "thisContext"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pseudoVariables",{},smalltalk.AbstractCodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"pseudoVariables",{},smalltalk.AbstractCodeGenerator)})},
@@ -78,7 +83,8 @@ selector: "safeVariableNameFor:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(_st(_st($Smalltalk())._current())._reservedWords())._includes_(aString);
 $2=_st(_st(_st($Smalltalk())._current())._reservedWords())._includes_(aString);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(aString).__comma("_");
 $1=_st(aString).__comma("_");
@@ -96,7 +102,8 @@ smalltalk.method({
 selector: "source",
 selector: "source",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@source"];
 $2=self["@source"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 $1="";
@@ -114,7 +121,8 @@ smalltalk.method({
 selector: "source:",
 selector: "source:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@source"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.AbstractCodeGenerator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.AbstractCodeGenerator)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AbstractCodeGenerator);
 smalltalk.AbstractCodeGenerator);
@@ -129,7 +137,8 @@ selector: "compileNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 var ir,stream;
 var ir,stream;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 ir=_st(_st(self)._translator())._visit_(aNode);
 ir=_st(_st(self)._translator())._visit_(aNode);
 $2=_st(self)._irTranslator();
 $2=_st(self)._irTranslator();
@@ -148,7 +157,8 @@ selector: "irTranslator",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRJSTranslator(){return smalltalk.IRJSTranslator||(typeof IRJSTranslator=="undefined"?nil:IRJSTranslator)}
 function $IRJSTranslator(){return smalltalk.IRJSTranslator||(typeof IRJSTranslator=="undefined"?nil:IRJSTranslator)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRJSTranslator())._new();
 $1=_st($IRJSTranslator())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.CodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.CodeGenerator)})},
@@ -162,7 +172,8 @@ selector: "semanticAnalyzer",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($SemanticAnalyzer())._on_(_st(self)._currentClass());
 $1=_st($SemanticAnalyzer())._on_(_st(self)._currentClass());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{},smalltalk.CodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{},smalltalk.CodeGenerator)})},
@@ -176,7 +187,8 @@ selector: "translator",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRASTTranslator(){return smalltalk.IRASTTranslator||(typeof IRASTTranslator=="undefined"?nil:IRASTTranslator)}
 function $IRASTTranslator(){return smalltalk.IRASTTranslator||(typeof IRASTTranslator=="undefined"?nil:IRASTTranslator)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRASTTranslator())._new();
 $2=_st($IRASTTranslator())._new();
 _st($2)._source_(_st(self)._source());
 _st($2)._source_(_st(self)._source());
 _st($2)._theClass_(_st(self)._currentClass());
 _st($2)._theClass_(_st(self)._currentClass());
@@ -197,7 +209,8 @@ selector: "codeGeneratorClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $InliningCodeGenerator(){return smalltalk.InliningCodeGenerator||(typeof InliningCodeGenerator=="undefined"?nil:InliningCodeGenerator)}
 function $InliningCodeGenerator(){return smalltalk.InliningCodeGenerator||(typeof InliningCodeGenerator=="undefined"?nil:InliningCodeGenerator)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@codeGeneratorClass"];
 $2=self["@codeGeneratorClass"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$InliningCodeGenerator();
 $1=$InliningCodeGenerator();
@@ -215,7 +228,8 @@ smalltalk.method({
 selector: "codeGeneratorClass:",
 selector: "codeGeneratorClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@codeGeneratorClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@codeGeneratorClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass:",{aClass:aClass},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass:",{aClass:aClass},smalltalk.Compiler)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Compiler);
 smalltalk.Compiler);
@@ -226,7 +240,8 @@ smalltalk.method({
 selector: "compile:",
 selector: "compile:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._compileNode_(_st(self)._parse_(aString));
 $1=_st(self)._compileNode_(_st(self)._parse_(aString));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Compiler)})},
@@ -239,7 +254,8 @@ smalltalk.method({
 selector: "compile:forClass:",
 selector: "compile:forClass:",
 fn: function (aString,aClass){
 fn: function (aString,aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._currentClass_(aClass);
 _st(self)._currentClass_(aClass);
 _st(self)._source_(aString);
 _st(self)._source_(aString);
 $1=_st(self)._compile_(aString);
 $1=_st(self)._compile_(aString);
@@ -255,7 +271,8 @@ selector: "compileExpression:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._currentClass_($DoIt());
 _st(self)._currentClass_($DoIt());
 _st(self)._source_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 _st(self)._source_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
@@ -270,7 +287,8 @@ smalltalk.method({
 selector: "compileExpression:on:",
 selector: "compileExpression:on:",
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._currentClass_(_st(anObject)._class());
 _st(self)._currentClass_(_st(anObject)._class());
 _st(self)._source_(_st(_st("xxxDoIt ^[").__comma(aString)).__comma("] value"));
 _st(self)._source_(_st(_st("xxxDoIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
@@ -286,7 +304,8 @@ selector: "compileNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 var generator,result;
 var generator,result;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 generator=_st(_st(self)._codeGeneratorClass())._new();
 generator=_st(_st(self)._codeGeneratorClass())._new();
 $1=generator;
 $1=generator;
 _st($1)._source_(_st(self)._source());
 _st($1)._source_(_st(self)._source());
@@ -305,7 +324,8 @@ smalltalk.method({
 selector: "currentClass",
 selector: "currentClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentClass"];
 $1=self["@currentClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.Compiler)})},
@@ -318,7 +338,8 @@ smalltalk.method({
 selector: "currentClass:",
 selector: "currentClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@currentClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@currentClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass},smalltalk.Compiler)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Compiler);
 smalltalk.Compiler);
@@ -329,7 +350,8 @@ smalltalk.method({
 selector: "eval:",
 selector: "eval:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return eval(aString);
+return smalltalk.withContext(function($ctx1) { 
+return eval(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString},smalltalk.Compiler)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Compiler);
 smalltalk.Compiler);
@@ -341,7 +363,8 @@ selector: "evaluateExpression:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._evaluateExpression_on_(aString,_st($DoIt())._new());
 $1=_st(self)._evaluateExpression_on_(aString,_st($DoIt())._new());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString},smalltalk.Compiler)})},
@@ -355,7 +378,8 @@ selector: "evaluateExpression:on:",
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
 var result,method;
 var result,method;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 method=_st(self)._eval_(_st(self)._compileExpression_on_(aString,anObject));
 method=_st(self)._eval_(_st(self)._compileExpression_on_(aString,anObject));
 _st(method)._category_("xxxDoIt");
 _st(method)._category_("xxxDoIt");
 _st(_st(anObject)._class())._addCompiledMethod_(method);
 _st(_st(anObject)._class())._addCompiledMethod_(method);
@@ -374,7 +398,8 @@ selector: "install:forClass:category:",
 fn: function (aString,aBehavior,anotherString){
 fn: function (aString,aBehavior,anotherString){
 var self=this;
 var self=this;
 function $ClassBuilder(){return smalltalk.ClassBuilder||(typeof ClassBuilder=="undefined"?nil:ClassBuilder)}
 function $ClassBuilder(){return smalltalk.ClassBuilder||(typeof ClassBuilder=="undefined"?nil:ClassBuilder)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st($ClassBuilder())._new())._installMethod_forClass_category_(_st(self)._eval_(_st(self)._compile_forClass_(aString,aBehavior)),aBehavior,anotherString);
 $1=_st(_st($ClassBuilder())._new())._installMethod_forClass_category_(_st(self)._eval_(_st(self)._compile_forClass_(aString,aBehavior)),aBehavior,anotherString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"install:forClass:category:",{aString:aString,aBehavior:aBehavior,anotherString:anotherString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"install:forClass:category:",{aString:aString,aBehavior:aBehavior,anotherString:anotherString},smalltalk.Compiler)})},
@@ -388,7 +413,8 @@ selector: "parse:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st($Smalltalk())._current())._parse_(aString);
 $1=_st(_st($Smalltalk())._current())._parse_(aString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.Compiler)})},
@@ -401,7 +427,8 @@ smalltalk.method({
 selector: "parseExpression:",
 selector: "parseExpression:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._parse_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._parse_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString},smalltalk.Compiler)})},
@@ -414,9 +441,11 @@ smalltalk.method({
 selector: "recompile:",
 selector: "recompile:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(_st(aClass)._methodDictionary())._do_((function(each){
 _st(_st(aClass)._methodDictionary())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
_st(console)._log_(_st(_st(_st(aClass)._name()).__comma(" >> ")).__comma(_st(each)._selector()));
+return smalltalk.withContext(function($ctx2) {
+_st(console)._log_(_st(_st(_st(aClass)._name()).__comma(" >> ")).__comma(_st(each)._selector()));
 return _st(self)._install_forClass_category_(_st(each)._source(),aClass,_st(each)._category());
 return _st(self)._install_forClass_category_(_st(each)._source(),aClass,_st(each)._category());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $1=_st(aClass)._isMetaclass();
 $1=_st(aClass)._isMetaclass();
@@ -435,14 +464,17 @@ fn: function (){
 var self=this;
 var self=this;
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(_st(_st($Smalltalk())._current())._classes())._do_((function(each){
 _st(_st(_st($Smalltalk())._current())._classes())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$1=$Transcript();
+return smalltalk.withContext(function($ctx2) {
+$1=$Transcript();
 _st($1)._show_(each);
 _st($1)._show_(each);
 $2=_st($1)._cr();
 $2=_st($1)._cr();
 $2;
 $2;
 return _st((function(){
 return _st((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._recompile_(each);
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._recompile_(each);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._valueWithTimeout_((100));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._valueWithTimeout_((100));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler)})},
@@ -455,7 +487,8 @@ smalltalk.method({
 selector: "source",
 selector: "source",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@source"];
 $2=self["@source"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 $1="";
@@ -473,7 +506,8 @@ smalltalk.method({
 selector: "source:",
 selector: "source:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@source"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.Compiler)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Compiler);
 smalltalk.Compiler);
@@ -484,7 +518,8 @@ smalltalk.method({
 selector: "unknownVariables",
 selector: "unknownVariables",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@unknownVariables"];
 $1=self["@unknownVariables"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"unknownVariables",{},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"unknownVariables",{},smalltalk.Compiler)})},
@@ -497,7 +532,8 @@ smalltalk.method({
 selector: "unknownVariables:",
 selector: "unknownVariables:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@unknownVariables"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@unknownVariables"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"unknownVariables:",{aCollection:aCollection},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"unknownVariables:",{aCollection:aCollection},smalltalk.Compiler)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Compiler);
 smalltalk.Compiler);
@@ -509,7 +545,8 @@ smalltalk.method({
 selector: "recompile:",
 selector: "recompile:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._new())._recompile_(aClass);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._new())._recompile_(aClass);
 return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},smalltalk.Compiler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},smalltalk.Compiler.klass)})},
 messageSends: ["recompile:", "new"]}),
 messageSends: ["recompile:", "new"]}),
 smalltalk.Compiler.klass);
 smalltalk.Compiler.klass);
@@ -521,8 +558,10 @@ selector: "recompileAll",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(_st($Smalltalk())._current())._classes())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._recompile_(each);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(_st($Smalltalk())._current())._classes())._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._recompile_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler.klass)})},
 messageSends: ["do:", "recompile:", "classes", "current"]}),
 messageSends: ["do:", "recompile:", "classes", "current"]}),
@@ -539,7 +578,8 @@ smalltalk.method({
 selector: "visit:",
 selector: "visit:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aNode)._accept_(self);
 $1=_st(aNode)._accept_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visit:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visit:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -552,9 +592,11 @@ smalltalk.method({
 selector: "visitAll:",
 selector: "visitAll:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aCollection)._collect_((function(each){
 $1=_st(aCollection)._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection},smalltalk.NodeVisitor)})},
@@ -567,7 +609,8 @@ smalltalk.method({
 selector: "visitAssignmentNode:",
 selector: "visitAssignmentNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -580,7 +623,8 @@ smalltalk.method({
 selector: "visitBlockNode:",
 selector: "visitBlockNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -593,7 +637,8 @@ smalltalk.method({
 selector: "visitBlockSequenceNode:",
 selector: "visitBlockSequenceNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitSequenceNode_(aNode);
 $1=_st(self)._visitSequenceNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -606,7 +651,8 @@ smalltalk.method({
 selector: "visitCascadeNode:",
 selector: "visitCascadeNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -619,7 +665,8 @@ smalltalk.method({
 selector: "visitClassReferenceNode:",
 selector: "visitClassReferenceNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitVariableNode_(aNode);
 $1=_st(self)._visitVariableNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -632,7 +679,8 @@ smalltalk.method({
 selector: "visitDynamicArrayNode:",
 selector: "visitDynamicArrayNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -645,7 +693,8 @@ smalltalk.method({
 selector: "visitDynamicDictionaryNode:",
 selector: "visitDynamicDictionaryNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -658,7 +707,8 @@ smalltalk.method({
 selector: "visitJSStatementNode:",
 selector: "visitJSStatementNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -671,7 +721,8 @@ smalltalk.method({
 selector: "visitMethodNode:",
 selector: "visitMethodNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -684,7 +735,8 @@ smalltalk.method({
 selector: "visitNode:",
 selector: "visitNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitAll_(_st(aNode)._nodes());
 $1=_st(self)._visitAll_(_st(aNode)._nodes());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -697,7 +749,8 @@ smalltalk.method({
 selector: "visitReturnNode:",
 selector: "visitReturnNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -710,7 +763,8 @@ smalltalk.method({
 selector: "visitSendNode:",
 selector: "visitSendNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -723,7 +777,8 @@ smalltalk.method({
 selector: "visitSequenceNode:",
 selector: "visitSequenceNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -736,7 +791,8 @@ smalltalk.method({
 selector: "visitValueNode:",
 selector: "visitValueNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -749,7 +805,8 @@ smalltalk.method({
 selector: "visitVariableNode:",
 selector: "visitVariableNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode},smalltalk.NodeVisitor)})},

+ 114 - 57
js/Compiler-Core.js

@@ -8,7 +8,8 @@ selector: "classNameFor:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(aClass)._isMetaclass();
 $2=_st(aClass)._isMetaclass();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
@@ -36,7 +37,8 @@ selector: "compileNode:",
 category: 'compiling',
 category: 'compiling',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._subclassResponsibility();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._subclassResponsibility();
 return self}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode},smalltalk.AbstractCodeGenerator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode},smalltalk.AbstractCodeGenerator)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "compileNode: aNode\x0a\x09self subclassResponsibility",
 source: "compileNode: aNode\x0a\x09self subclassResponsibility",
@@ -52,7 +54,8 @@ selector: "currentClass",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentClass"];
 $1=self["@currentClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.AbstractCodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.AbstractCodeGenerator)})},
@@ -70,7 +73,8 @@ selector: "currentClass:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@currentClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@currentClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass},smalltalk.AbstractCodeGenerator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass},smalltalk.AbstractCodeGenerator)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "currentClass: aClass\x0a\x09currentClass := aClass",
 source: "currentClass: aClass\x0a\x09currentClass := aClass",
@@ -86,7 +90,8 @@ selector: "pseudoVariables",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=["self", "super", "true", "false", "nil", "thisContext"];
 $1=["self", "super", "true", "false", "nil", "thisContext"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pseudoVariables",{},smalltalk.AbstractCodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"pseudoVariables",{},smalltalk.AbstractCodeGenerator)})},
@@ -105,7 +110,8 @@ category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(_st(_st($Smalltalk())._current())._reservedWords())._includes_(aString);
 $2=_st(_st(_st($Smalltalk())._current())._reservedWords())._includes_(aString);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(aString).__comma("_");
 $1=_st(aString).__comma("_");
@@ -128,7 +134,8 @@ selector: "source",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@source"];
 $2=self["@source"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 $1="";
@@ -151,7 +158,8 @@ selector: "source:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@source"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.AbstractCodeGenerator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.AbstractCodeGenerator)})},
 args: ["aString"],
 args: ["aString"],
 source: "source: aString\x0a\x09source := aString",
 source: "source: aString\x0a\x09source := aString",
@@ -172,7 +180,8 @@ category: 'compiling',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 var ir,stream;
 var ir,stream;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 ir=_st(_st(self)._translator())._visit_(aNode);
 ir=_st(_st(self)._translator())._visit_(aNode);
 $2=_st(self)._irTranslator();
 $2=_st(self)._irTranslator();
@@ -196,7 +205,8 @@ category: 'compiling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRJSTranslator(){return smalltalk.IRJSTranslator||(typeof IRJSTranslator=="undefined"?nil:IRJSTranslator)}
 function $IRJSTranslator(){return smalltalk.IRJSTranslator||(typeof IRJSTranslator=="undefined"?nil:IRJSTranslator)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRJSTranslator())._new();
 $1=_st($IRJSTranslator())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.CodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.CodeGenerator)})},
@@ -215,7 +225,8 @@ category: 'compiling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($SemanticAnalyzer())._on_(_st(self)._currentClass());
 $1=_st($SemanticAnalyzer())._on_(_st(self)._currentClass());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{},smalltalk.CodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{},smalltalk.CodeGenerator)})},
@@ -234,7 +245,8 @@ category: 'compiling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRASTTranslator(){return smalltalk.IRASTTranslator||(typeof IRASTTranslator=="undefined"?nil:IRASTTranslator)}
 function $IRASTTranslator(){return smalltalk.IRASTTranslator||(typeof IRASTTranslator=="undefined"?nil:IRASTTranslator)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRASTTranslator())._new();
 $2=_st($IRASTTranslator())._new();
 _st($2)._source_(_st(self)._source());
 _st($2)._source_(_st(self)._source());
 _st($2)._theClass_(_st(self)._currentClass());
 _st($2)._theClass_(_st(self)._currentClass());
@@ -261,7 +273,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $InliningCodeGenerator(){return smalltalk.InliningCodeGenerator||(typeof InliningCodeGenerator=="undefined"?nil:InliningCodeGenerator)}
 function $InliningCodeGenerator(){return smalltalk.InliningCodeGenerator||(typeof InliningCodeGenerator=="undefined"?nil:InliningCodeGenerator)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@codeGeneratorClass"];
 $2=self["@codeGeneratorClass"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$InliningCodeGenerator();
 $1=$InliningCodeGenerator();
@@ -284,7 +297,8 @@ selector: "codeGeneratorClass:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@codeGeneratorClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@codeGeneratorClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass:",{aClass:aClass},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass:",{aClass:aClass},smalltalk.Compiler)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "codeGeneratorClass: aClass\x0a\x09codeGeneratorClass := aClass",
 source: "codeGeneratorClass: aClass\x0a\x09codeGeneratorClass := aClass",
@@ -300,7 +314,8 @@ selector: "compile:",
 category: 'compiling',
 category: 'compiling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._compileNode_(_st(self)._parse_(aString));
 $1=_st(self)._compileNode_(_st(self)._parse_(aString));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Compiler)})},
@@ -318,7 +333,8 @@ selector: "compile:forClass:",
 category: 'compiling',
 category: 'compiling',
 fn: function (aString,aClass){
 fn: function (aString,aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._currentClass_(aClass);
 _st(self)._currentClass_(aClass);
 _st(self)._source_(aString);
 _st(self)._source_(aString);
 $1=_st(self)._compile_(aString);
 $1=_st(self)._compile_(aString);
@@ -339,7 +355,8 @@ category: 'compiling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._currentClass_($DoIt());
 _st(self)._currentClass_($DoIt());
 _st(self)._source_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 _st(self)._source_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
@@ -359,7 +376,8 @@ selector: "compileExpression:on:",
 category: 'compiling',
 category: 'compiling',
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._currentClass_(_st(anObject)._class());
 _st(self)._currentClass_(_st(anObject)._class());
 _st(self)._source_(_st(_st("xxxDoIt ^[").__comma(aString)).__comma("] value"));
 _st(self)._source_(_st(_st("xxxDoIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
@@ -380,7 +398,8 @@ category: 'compiling',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 var generator,result;
 var generator,result;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 generator=_st(_st(self)._codeGeneratorClass())._new();
 generator=_st(_st(self)._codeGeneratorClass())._new();
 $1=generator;
 $1=generator;
 _st($1)._source_(_st(self)._source());
 _st($1)._source_(_st(self)._source());
@@ -404,7 +423,8 @@ selector: "currentClass",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentClass"];
 $1=self["@currentClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.Compiler)})},
@@ -422,7 +442,8 @@ selector: "currentClass:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@currentClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@currentClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass},smalltalk.Compiler)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "currentClass: aClass\x0a\x09currentClass := aClass",
 source: "currentClass: aClass\x0a\x09currentClass := aClass",
@@ -438,7 +459,8 @@ selector: "eval:",
 category: 'compiling',
 category: 'compiling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return eval(aString);
+return smalltalk.withContext(function($ctx1) { 
+return eval(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString},smalltalk.Compiler)})},
 args: ["aString"],
 args: ["aString"],
 source: "eval: aString\x0a\x09<return eval(aString)>",
 source: "eval: aString\x0a\x09<return eval(aString)>",
@@ -455,7 +477,8 @@ category: 'compiling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._evaluateExpression_on_(aString,_st($DoIt())._new());
 $1=_st(self)._evaluateExpression_on_(aString,_st($DoIt())._new());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString},smalltalk.Compiler)})},
@@ -474,7 +497,8 @@ category: 'compiling',
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
 var result,method;
 var result,method;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 method=_st(self)._eval_(_st(self)._compileExpression_on_(aString,anObject));
 method=_st(self)._eval_(_st(self)._compileExpression_on_(aString,anObject));
 _st(method)._category_("xxxDoIt");
 _st(method)._category_("xxxDoIt");
 _st(_st(anObject)._class())._addCompiledMethod_(method);
 _st(_st(anObject)._class())._addCompiledMethod_(method);
@@ -498,7 +522,8 @@ category: 'compiling',
 fn: function (aString,aBehavior,anotherString){
 fn: function (aString,aBehavior,anotherString){
 var self=this;
 var self=this;
 function $ClassBuilder(){return smalltalk.ClassBuilder||(typeof ClassBuilder=="undefined"?nil:ClassBuilder)}
 function $ClassBuilder(){return smalltalk.ClassBuilder||(typeof ClassBuilder=="undefined"?nil:ClassBuilder)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st($ClassBuilder())._new())._installMethod_forClass_category_(_st(self)._eval_(_st(self)._compile_forClass_(aString,aBehavior)),aBehavior,anotherString);
 $1=_st(_st($ClassBuilder())._new())._installMethod_forClass_category_(_st(self)._eval_(_st(self)._compile_forClass_(aString,aBehavior)),aBehavior,anotherString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"install:forClass:category:",{aString:aString,aBehavior:aBehavior,anotherString:anotherString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"install:forClass:category:",{aString:aString,aBehavior:aBehavior,anotherString:anotherString},smalltalk.Compiler)})},
@@ -517,7 +542,8 @@ category: 'compiling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st($Smalltalk())._current())._parse_(aString);
 $1=_st(_st($Smalltalk())._current())._parse_(aString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.Compiler)})},
@@ -535,7 +561,8 @@ selector: "parseExpression:",
 category: 'compiling',
 category: 'compiling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._parse_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._parse_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString},smalltalk.Compiler)})},
@@ -553,9 +580,11 @@ selector: "recompile:",
 category: 'compiling',
 category: 'compiling',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(_st(aClass)._methodDictionary())._do_((function(each){
 _st(_st(aClass)._methodDictionary())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
_st(console)._log_(_st(_st(_st(aClass)._name()).__comma(" >> ")).__comma(_st(each)._selector()));
+return smalltalk.withContext(function($ctx2) {
+_st(console)._log_(_st(_st(_st(aClass)._name()).__comma(" >> ")).__comma(_st(each)._selector()));
 return _st(self)._install_forClass_category_(_st(each)._source(),aClass,_st(each)._category());
 return _st(self)._install_forClass_category_(_st(each)._source(),aClass,_st(each)._category());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $1=_st(aClass)._isMetaclass();
 $1=_st(aClass)._isMetaclass();
@@ -579,14 +608,17 @@ fn: function (){
 var self=this;
 var self=this;
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(_st(_st($Smalltalk())._current())._classes())._do_((function(each){
 _st(_st(_st($Smalltalk())._current())._classes())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$1=$Transcript();
+return smalltalk.withContext(function($ctx2) {
+$1=$Transcript();
 _st($1)._show_(each);
 _st($1)._show_(each);
 $2=_st($1)._cr();
 $2=_st($1)._cr();
 $2;
 $2;
 return _st((function(){
 return _st((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._recompile_(each);
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._recompile_(each);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._valueWithTimeout_((100));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._valueWithTimeout_((100));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler)})},
@@ -604,7 +636,8 @@ selector: "source",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@source"];
 $2=self["@source"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 $1="";
@@ -627,7 +660,8 @@ selector: "source:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@source"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.Compiler)})},
 args: ["aString"],
 args: ["aString"],
 source: "source: aString\x0a\x09source := aString",
 source: "source: aString\x0a\x09source := aString",
@@ -643,7 +677,8 @@ selector: "unknownVariables",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@unknownVariables"];
 $1=self["@unknownVariables"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"unknownVariables",{},smalltalk.Compiler)})},
 }, function($ctx1) {$ctx1.fill(self,"unknownVariables",{},smalltalk.Compiler)})},
@@ -661,7 +696,8 @@ selector: "unknownVariables:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@unknownVariables"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@unknownVariables"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"unknownVariables:",{aCollection:aCollection},smalltalk.Compiler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"unknownVariables:",{aCollection:aCollection},smalltalk.Compiler)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "unknownVariables: aCollection\x0a\x09unknownVariables := aCollection",
 source: "unknownVariables: aCollection\x0a\x09unknownVariables := aCollection",
@@ -678,7 +714,8 @@ selector: "recompile:",
 category: 'compiling',
 category: 'compiling',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._new())._recompile_(aClass);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._new())._recompile_(aClass);
 return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},smalltalk.Compiler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},smalltalk.Compiler.klass)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "recompile: aClass\x0a\x09self new recompile: aClass",
 source: "recompile: aClass\x0a\x09self new recompile: aClass",
@@ -695,8 +732,10 @@ category: 'compiling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(_st($Smalltalk())._current())._classes())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._recompile_(each);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(_st($Smalltalk())._current())._classes())._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._recompile_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler.klass)})},
 args: [],
 args: [],
@@ -720,7 +759,8 @@ selector: "visit:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aNode)._accept_(self);
 $1=_st(aNode)._accept_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visit:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visit:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -738,9 +778,11 @@ selector: "visitAll:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aCollection)._collect_((function(each){
 $1=_st(aCollection)._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection},smalltalk.NodeVisitor)})},
@@ -758,7 +800,8 @@ selector: "visitAssignmentNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -776,7 +819,8 @@ selector: "visitBlockNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -794,7 +838,8 @@ selector: "visitBlockSequenceNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitSequenceNode_(aNode);
 $1=_st(self)._visitSequenceNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -812,7 +857,8 @@ selector: "visitCascadeNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -830,7 +876,8 @@ selector: "visitClassReferenceNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitVariableNode_(aNode);
 $1=_st(self)._visitVariableNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -848,7 +895,8 @@ selector: "visitDynamicArrayNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -866,7 +914,8 @@ selector: "visitDynamicDictionaryNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -884,7 +933,8 @@ selector: "visitJSStatementNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -902,7 +952,8 @@ selector: "visitMethodNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -920,7 +971,8 @@ selector: "visitNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitAll_(_st(aNode)._nodes());
 $1=_st(self)._visitAll_(_st(aNode)._nodes());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -938,7 +990,8 @@ selector: "visitReturnNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -956,7 +1009,8 @@ selector: "visitSendNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -974,7 +1028,8 @@ selector: "visitSequenceNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -992,7 +1047,8 @@ selector: "visitValueNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -1010,7 +1066,8 @@ selector: "visitVariableNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 $1=_st(self)._visitNode_(aNode);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 }, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode},smalltalk.NodeVisitor)})},

+ 22 - 11
js/Compiler-Exceptions.deploy.js

@@ -18,7 +18,8 @@ smalltalk.method({
 selector: "messageText",
 selector: "messageText",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
 $1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.InvalidAssignmentError)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.InvalidAssignmentError)})},
@@ -31,7 +32,8 @@ smalltalk.method({
 selector: "variableName",
 selector: "variableName",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 $1=self["@variableName"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.InvalidAssignmentError)})},
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.InvalidAssignmentError)})},
@@ -44,7 +46,8 @@ smalltalk.method({
 selector: "variableName:",
 selector: "variableName:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@variableName"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.InvalidAssignmentError)})},
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.InvalidAssignmentError)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.InvalidAssignmentError);
 smalltalk.InvalidAssignmentError);
@@ -58,7 +61,8 @@ smalltalk.method({
 selector: "messageText",
 selector: "messageText",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
 $1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ShadowingVariableError)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ShadowingVariableError)})},
@@ -71,7 +75,8 @@ smalltalk.method({
 selector: "variableName",
 selector: "variableName",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 $1=self["@variableName"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.ShadowingVariableError)})},
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.ShadowingVariableError)})},
@@ -84,7 +89,8 @@ smalltalk.method({
 selector: "variableName:",
 selector: "variableName:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@variableName"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.ShadowingVariableError)})},
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.ShadowingVariableError)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ShadowingVariableError);
 smalltalk.ShadowingVariableError);
@@ -98,7 +104,8 @@ smalltalk.method({
 selector: "messageText",
 selector: "messageText",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
 $1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.UnknownVariableError)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.UnknownVariableError)})},
@@ -111,7 +118,8 @@ smalltalk.method({
 selector: "variableName",
 selector: "variableName",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 $1=self["@variableName"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.UnknownVariableError)})},
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.UnknownVariableError)})},
@@ -124,7 +132,8 @@ smalltalk.method({
 selector: "variableName:",
 selector: "variableName:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@variableName"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.UnknownVariableError)})},
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.UnknownVariableError)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.UnknownVariableError);
 smalltalk.UnknownVariableError);
@@ -138,7 +147,8 @@ smalltalk.method({
 selector: "basicSignal:",
 selector: "basicSignal:",
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
throw anError;
+return smalltalk.withContext(function($ctx1) { 
+throw anError;
 return self}, function($ctx1) {$ctx1.fill(self,"basicSignal:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"basicSignal:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.RethrowErrorHandler);
 smalltalk.RethrowErrorHandler);
@@ -149,7 +159,8 @@ smalltalk.method({
 selector: "handleError:",
 selector: "handleError:",
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.ErrorHandler.fn.prototype._handleError_.apply(_st(self), [anError]);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.ErrorHandler.fn.prototype._handleError_.apply(_st(self), [anError]);
 _st(self)._basicSignal_(anError);
 _st(self)._basicSignal_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 messageSends: ["handleError:", "basicSignal:"]}),
 messageSends: ["handleError:", "basicSignal:"]}),

+ 22 - 11
js/Compiler-Exceptions.js

@@ -24,7 +24,8 @@ selector: "messageText",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
 $1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.InvalidAssignmentError)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.InvalidAssignmentError)})},
@@ -42,7 +43,8 @@ selector: "variableName",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 $1=self["@variableName"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.InvalidAssignmentError)})},
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.InvalidAssignmentError)})},
@@ -60,7 +62,8 @@ selector: "variableName:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@variableName"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.InvalidAssignmentError)})},
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.InvalidAssignmentError)})},
 args: ["aString"],
 args: ["aString"],
 source: "variableName: aString\x0a\x09variableName := aString",
 source: "variableName: aString\x0a\x09variableName := aString",
@@ -80,7 +83,8 @@ selector: "messageText",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
 $1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ShadowingVariableError)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ShadowingVariableError)})},
@@ -98,7 +102,8 @@ selector: "variableName",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 $1=self["@variableName"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.ShadowingVariableError)})},
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.ShadowingVariableError)})},
@@ -116,7 +121,8 @@ selector: "variableName:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@variableName"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.ShadowingVariableError)})},
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.ShadowingVariableError)})},
 args: ["aString"],
 args: ["aString"],
 source: "variableName: aString\x0a\x09variableName := aString",
 source: "variableName: aString\x0a\x09variableName := aString",
@@ -136,7 +142,8 @@ selector: "messageText",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
 $1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.UnknownVariableError)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.UnknownVariableError)})},
@@ -154,7 +161,8 @@ selector: "variableName",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 $1=self["@variableName"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.UnknownVariableError)})},
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.UnknownVariableError)})},
@@ -172,7 +180,8 @@ selector: "variableName:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@variableName"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.UnknownVariableError)})},
 return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString},smalltalk.UnknownVariableError)})},
 args: ["aString"],
 args: ["aString"],
 source: "variableName: aString\x0a\x09variableName := aString",
 source: "variableName: aString\x0a\x09variableName := aString",
@@ -192,7 +201,8 @@ selector: "basicSignal:",
 category: 'error handling',
 category: 'error handling',
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
throw anError;
+return smalltalk.withContext(function($ctx1) { 
+throw anError;
 return self}, function($ctx1) {$ctx1.fill(self,"basicSignal:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"basicSignal:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 args: ["anError"],
 args: ["anError"],
 source: "basicSignal: anError\x0a\x09<throw anError>",
 source: "basicSignal: anError\x0a\x09<throw anError>",
@@ -208,7 +218,8 @@ selector: "handleError:",
 category: 'error handling',
 category: 'error handling',
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.ErrorHandler.fn.prototype._handleError_.apply(_st(self), [anError]);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.ErrorHandler.fn.prototype._handleError_.apply(_st(self), [anError]);
 _st(self)._basicSignal_(anError);
 _st(self)._basicSignal_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 args: ["anError"],
 args: ["anError"],

+ 8 - 10
js/Compiler-IR.deploy.js

@@ -368,12 +368,12 @@ function $IRVerbatim(){return smalltalk.IRVerbatim||(typeof IRVerbatim=="undefin
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 var $2,$3,$1;
 $2=_st($IRVerbatim())._new();
 $2=_st($IRVerbatim())._new();
-_st($2)._source_(_st(aNode)._source());
+_st($2)._source_(_st(_st(aNode)._source())._crlfSanitized());
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
 $1=$3;
 $1=$3;
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
-messageSends: ["source:", "source", "new", "yourself"]}),
+messageSends: ["source:", "crlfSanitized", "source", "new", "yourself"]}),
 smalltalk.IRASTTranslator);
 smalltalk.IRASTTranslator);
 
 
 smalltalk.addMethod(
 smalltalk.addMethod(
@@ -389,7 +389,7 @@ function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?ni
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=_st($IRMethod())._new();
 $1=_st($IRMethod())._new();
-_st($1)._source_(_st(self)._source());
+_st($1)._source_(_st(_st(self)._source())._crlfSanitized());
 _st($1)._theClass_(_st(self)._theClass());
 _st($1)._theClass_(_st(self)._theClass());
 _st($1)._arguments_(_st(aNode)._arguments());
 _st($1)._arguments_(_st(aNode)._arguments());
 _st($1)._selector_(_st(aNode)._selector());
 _st($1)._selector_(_st(aNode)._selector());
@@ -421,7 +421,7 @@ _st(_st(_st(self)._method())._add_(_st($IRReturn())._new()))._add_($7);
 $8=_st(self)._method();
 $8=_st(self)._method();
 return $8;
 return $8;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
-messageSends: ["method:", "source:", "source", "new", "theClass:", "theClass", "arguments:", "arguments", "selector:", "selector", "messageSends:", "messageSends", "superSends:", "superSends", "classReferences:", "classReferences", "scope:", "scope", "yourself", "do:", "add:", "name:", "name", "method", "temps", "visit:", "nodes", "ifFalse:", "variable:", "at:", "pseudoVars", "hasLocalReturn"]}),
+messageSends: ["method:", "source:", "crlfSanitized", "source", "new", "theClass:", "theClass", "arguments:", "arguments", "selector:", "selector", "messageSends:", "messageSends", "superSends:", "superSends", "classReferences:", "classReferences", "scope:", "scope", "yourself", "do:", "add:", "name:", "name", "method", "temps", "visit:", "nodes", "ifFalse:", "variable:", "at:", "pseudoVars", "hasLocalReturn"]}),
 smalltalk.IRASTTranslator);
 smalltalk.IRASTTranslator);
 
 
 smalltalk.addMethod(
 smalltalk.addMethod(
@@ -2453,12 +2453,11 @@ smalltalk.method({
 selector: "nextPutBlockContextFor:during:",
 selector: "nextPutBlockContextFor:during:",
 fn: function (anIRClosure,aBlock){
 fn: function (anIRClosure,aBlock){
 var self=this;
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=self;
 $1=self;
 _st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
 _st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
-$2=_st($1)._nextPutAll_(_st($String())._cr());
+$2=_st($1)._lf();
 _st(aBlock)._value();
 _st(aBlock)._value();
 $3=self;
 $3=self;
 _st($3)._nextPutAll_(_st(_st("}, function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
 _st($3)._nextPutAll_(_st(_st("}, function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
@@ -2478,7 +2477,7 @@ $7=self;
 _st($7)._nextPutAll_("},");
 _st($7)._nextPutAll_("},");
 $8=_st($7)._nextPutAll_(_st(_st(_st(_st(anIRClosure)._method())._scope())._alias()).__comma(")})"));
 $8=_st($7)._nextPutAll_(_st(_st(_st(_st(anIRClosure)._method())._scope())._alias()).__comma(")})"));
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},smalltalk.JSStream)})},
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},smalltalk.JSStream)})},
-messageSends: ["nextPutAll:", ",", "alias", "scope", "cr", "value", "do:separatedBy:", "asVariableName", "locals", "method"]}),
+messageSends: ["nextPutAll:", ",", "alias", "scope", "lf", "value", "do:separatedBy:", "asVariableName", "locals", "method"]}),
 smalltalk.JSStream);
 smalltalk.JSStream);
 
 
 smalltalk.addMethod(
 smalltalk.addMethod(
@@ -2535,12 +2534,11 @@ smalltalk.method({
 selector: "nextPutContextFor:during:",
 selector: "nextPutContextFor:during:",
 fn: function (aMethod,aBlock){
 fn: function (aMethod,aBlock){
 var self=this;
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=self;
 $1=self;
 _st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") { "));
 _st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") { "));
-$2=_st($1)._nextPutAll_(_st($String())._cr());
+$2=_st($1)._lf();
 _st(aBlock)._value();
 _st(aBlock)._value();
 $3=self;
 $3=self;
 _st($3)._nextPutAll_(_st(_st(_st("}, function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") {")).__comma(_st(_st(aMethod)._scope())._alias()));
 _st($3)._nextPutAll_(_st(_st(_st("}, function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") {")).__comma(_st(_st(aMethod)._scope())._alias()));
@@ -2561,7 +2559,7 @@ _st($7)._nextPutAll_("},");
 _st($7)._nextPutAll_(_st(_st(aMethod)._theClass())._asJavascript());
 _st($7)._nextPutAll_(_st(_st(aMethod)._theClass())._asJavascript());
 $8=_st($7)._nextPutAll_(")})");
 $8=_st($7)._nextPutAll_(")})");
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},smalltalk.JSStream)})},
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},smalltalk.JSStream)})},
-messageSends: ["nextPutAll:", ",", "alias", "scope", "cr", "value", "asJavascript", "selector", "do:separatedBy:", "asVariableName", "locals", "theClass"]}),
+messageSends: ["nextPutAll:", ",", "alias", "scope", "lf", "value", "asJavascript", "selector", "do:separatedBy:", "asVariableName", "locals", "theClass"]}),
 smalltalk.JSStream);
 smalltalk.JSStream);
 
 
 smalltalk.addMethod(
 smalltalk.addMethod(

+ 14 - 16
js/Compiler-IR.js

@@ -455,14 +455,14 @@ function $IRVerbatim(){return smalltalk.IRVerbatim||(typeof IRVerbatim=="undefin
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 var $2,$3,$1;
 $2=_st($IRVerbatim())._new();
 $2=_st($IRVerbatim())._new();
-_st($2)._source_(_st(aNode)._source());
+_st($2)._source_(_st(_st(aNode)._source())._crlfSanitized());
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
 $1=$3;
 $1=$3;
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 args: ["aNode"],
 args: ["aNode"],
-source: "visitJSStatementNode: aNode\x0a\x09^ IRVerbatim new\x0a\x09\x09source: aNode source;\x0a\x09\x09yourself",
-messageSends: ["source:", "source", "new", "yourself"],
+source: "visitJSStatementNode: aNode\x0a\x09^ IRVerbatim new\x0a\x09\x09source: aNode source crlfSanitized;\x0a\x09\x09yourself",
+messageSends: ["source:", "crlfSanitized", "source", "new", "yourself"],
 referencedClasses: ["IRVerbatim"]
 referencedClasses: ["IRVerbatim"]
 }),
 }),
 smalltalk.IRASTTranslator);
 smalltalk.IRASTTranslator);
@@ -481,7 +481,7 @@ function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?ni
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=_st($IRMethod())._new();
 $1=_st($IRMethod())._new();
-_st($1)._source_(_st(self)._source());
+_st($1)._source_(_st(_st(self)._source())._crlfSanitized());
 _st($1)._theClass_(_st(self)._theClass());
 _st($1)._theClass_(_st(self)._theClass());
 _st($1)._arguments_(_st(aNode)._arguments());
 _st($1)._arguments_(_st(aNode)._arguments());
 _st($1)._selector_(_st(aNode)._selector());
 _st($1)._selector_(_st(aNode)._selector());
@@ -514,8 +514,8 @@ $8=_st(self)._method();
 return $8;
 return $8;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 args: ["aNode"],
 args: ["aNode"],
-source: "visitMethodNode: aNode\x0a\x0a\x09self method: (IRMethod new\x0a\x09\x09source: self source;\x0a\x09\x09theClass: self theClass;\x0a\x09\x09arguments: aNode arguments;\x0a\x09\x09selector: aNode selector;\x0a\x09\x09messageSends: aNode messageSends;\x0a\x09\x09superSends: aNode superSends;\x0a\x09\x09classReferences: aNode classReferences;\x0a\x09\x09scope: aNode scope;\x0a\x09\x09yourself).\x0a\x0a\x09aNode scope temps do: [ :each |\x0a\x09\x09self method add: (IRTempDeclaration new\x0a\x09\x09\x09name: each name;\x0a\x09\x09\x09scope: aNode scope;\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09aNode nodes do: [ :each | self method add: (self visit: each) ].\x0a\x0a\x09aNode scope hasLocalReturn ifFalse: [\x0a\x09\x09(self method add: IRReturn new) add: (IRVariable new\x0a\x09\x09\x09variable: (aNode scope pseudoVars at: 'self');\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09^ self method",
-messageSends: ["method:", "source:", "source", "new", "theClass:", "theClass", "arguments:", "arguments", "selector:", "selector", "messageSends:", "messageSends", "superSends:", "superSends", "classReferences:", "classReferences", "scope:", "scope", "yourself", "do:", "add:", "name:", "name", "method", "temps", "visit:", "nodes", "ifFalse:", "variable:", "at:", "pseudoVars", "hasLocalReturn"],
+source: "visitMethodNode: aNode\x0a\x0a\x09self method: (IRMethod new\x0a\x09\x09source: self source crlfSanitized;\x0a\x09\x09theClass: self theClass;\x0a\x09\x09arguments: aNode arguments;\x0a\x09\x09selector: aNode selector;\x0a\x09\x09messageSends: aNode messageSends;\x0a\x09\x09superSends: aNode superSends;\x0a\x09\x09classReferences: aNode classReferences;\x0a\x09\x09scope: aNode scope;\x0a\x09\x09yourself).\x0a\x0a\x09aNode scope temps do: [ :each |\x0a\x09\x09self method add: (IRTempDeclaration new\x0a\x09\x09\x09name: each name;\x0a\x09\x09\x09scope: aNode scope;\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09aNode nodes do: [ :each | self method add: (self visit: each) ].\x0a\x0a\x09aNode scope hasLocalReturn ifFalse: [\x0a\x09\x09(self method add: IRReturn new) add: (IRVariable new\x0a\x09\x09\x09variable: (aNode scope pseudoVars at: 'self');\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09^ self method",
+messageSends: ["method:", "source:", "crlfSanitized", "source", "new", "theClass:", "theClass", "arguments:", "arguments", "selector:", "selector", "messageSends:", "messageSends", "superSends:", "superSends", "classReferences:", "classReferences", "scope:", "scope", "yourself", "do:", "add:", "name:", "name", "method", "temps", "visit:", "nodes", "ifFalse:", "variable:", "at:", "pseudoVars", "hasLocalReturn"],
 referencedClasses: ["IRMethod", "IRTempDeclaration", "IRVariable", "IRReturn"]
 referencedClasses: ["IRMethod", "IRTempDeclaration", "IRVariable", "IRReturn"]
 }),
 }),
 smalltalk.IRASTTranslator);
 smalltalk.IRASTTranslator);
@@ -3228,12 +3228,11 @@ selector: "nextPutBlockContextFor:during:",
 category: 'streaming',
 category: 'streaming',
 fn: function (anIRClosure,aBlock){
 fn: function (anIRClosure,aBlock){
 var self=this;
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=self;
 $1=self;
 _st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
 _st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
-$2=_st($1)._nextPutAll_(_st($String())._cr());
+$2=_st($1)._lf();
 _st(aBlock)._value();
 _st(aBlock)._value();
 $3=self;
 $3=self;
 _st($3)._nextPutAll_(_st(_st("}, function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
 _st($3)._nextPutAll_(_st(_st("}, function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
@@ -3254,9 +3253,9 @@ _st($7)._nextPutAll_("},");
 $8=_st($7)._nextPutAll_(_st(_st(_st(_st(anIRClosure)._method())._scope())._alias()).__comma(")})"));
 $8=_st($7)._nextPutAll_(_st(_st(_st(_st(anIRClosure)._method())._scope())._alias()).__comma(")})"));
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},smalltalk.JSStream)})},
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},smalltalk.JSStream)})},
 args: ["anIRClosure", "aBlock"],
 args: ["anIRClosure", "aBlock"],
-source: "nextPutBlockContextFor: anIRClosure during: aBlock\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: String cr.\x0a\x09\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: anIRClosure scope alias, '.fillBlock({'.\x0a\x09\x0a\x09anIRClosure locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: anIRClosure method scope alias, ')})'",
-messageSends: ["nextPutAll:", ",", "alias", "scope", "cr", "value", "do:separatedBy:", "asVariableName", "locals", "method"],
-referencedClasses: ["String"]
+source: "nextPutBlockContextFor: anIRClosure during: aBlock\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {'; lf.\x0a\x09\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: anIRClosure scope alias, '.fillBlock({'.\x0a\x09\x0a\x09anIRClosure locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: anIRClosure method scope alias, ')})'",
+messageSends: ["nextPutAll:", ",", "alias", "scope", "lf", "value", "do:separatedBy:", "asVariableName", "locals", "method"],
+referencedClasses: []
 }),
 }),
 smalltalk.JSStream);
 smalltalk.JSStream);
 
 
@@ -3325,12 +3324,11 @@ selector: "nextPutContextFor:during:",
 category: 'streaming',
 category: 'streaming',
 fn: function (aMethod,aBlock){
 fn: function (aMethod,aBlock){
 var self=this;
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=self;
 $1=self;
 _st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") { "));
 _st($1)._nextPutAll_(_st(_st("return smalltalk.withContext(function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") { "));
-$2=_st($1)._nextPutAll_(_st($String())._cr());
+$2=_st($1)._lf();
 _st(aBlock)._value();
 _st(aBlock)._value();
 $3=self;
 $3=self;
 _st($3)._nextPutAll_(_st(_st(_st("}, function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") {")).__comma(_st(_st(aMethod)._scope())._alias()));
 _st($3)._nextPutAll_(_st(_st(_st("}, function(").__comma(_st(_st(aMethod)._scope())._alias())).__comma(") {")).__comma(_st(_st(aMethod)._scope())._alias()));
@@ -3352,9 +3350,9 @@ _st($7)._nextPutAll_(_st(_st(aMethod)._theClass())._asJavascript());
 $8=_st($7)._nextPutAll_(")})");
 $8=_st($7)._nextPutAll_(")})");
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},smalltalk.JSStream)})},
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},smalltalk.JSStream)})},
 args: ["aMethod", "aBlock"],
 args: ["aMethod", "aBlock"],
-source: "nextPutContextFor: aMethod during: aBlock\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { ';\x0a\x09\x09nextPutAll: String cr.\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')})'",
-messageSends: ["nextPutAll:", ",", "alias", "scope", "cr", "value", "asJavascript", "selector", "do:separatedBy:", "asVariableName", "locals", "theClass"],
-referencedClasses: ["String"]
+source: "nextPutContextFor: aMethod during: aBlock\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { '; lf.\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')})'",
+messageSends: ["nextPutAll:", ",", "alias", "scope", "lf", "value", "asJavascript", "selector", "do:separatedBy:", "asVariableName", "locals", "theClass"],
+referencedClasses: []
 }),
 }),
 smalltalk.JSStream);
 smalltalk.JSStream);
 
 

+ 208 - 104
js/Compiler-Inlining.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitIRInlinedAssignment_(self);
 $1=_st(aVisitor)._visitIRInlinedAssignment_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedAssignment)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedAssignment)})},
@@ -19,7 +20,8 @@ smalltalk.method({
 selector: "isInlined",
 selector: "isInlined",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedAssignment)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedAssignment)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRInlinedAssignment);
 smalltalk.IRInlinedAssignment);
@@ -33,7 +35,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedClosure_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedClosure_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedClosure)})},
 messageSends: ["visitIRInlinedClosure:"]}),
 messageSends: ["visitIRInlinedClosure:"]}),
 smalltalk.IRInlinedClosure);
 smalltalk.IRInlinedClosure);
@@ -44,7 +47,8 @@ smalltalk.method({
 selector: "isInlined",
 selector: "isInlined",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedClosure)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRInlinedClosure);
 smalltalk.IRInlinedClosure);
@@ -58,7 +62,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitIRInlinedReturn_(self);
 $1=_st(aVisitor)._visitIRInlinedReturn_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedReturn)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedReturn)})},
@@ -71,7 +76,8 @@ smalltalk.method({
 selector: "isInlined",
 selector: "isInlined",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedReturn)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedReturn)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRInlinedReturn);
 smalltalk.IRInlinedReturn);
@@ -85,7 +91,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitIRInlinedNonLocalReturn_(self);
 $1=_st(aVisitor)._visitIRInlinedNonLocalReturn_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedNonLocalReturn)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedNonLocalReturn)})},
@@ -98,7 +105,8 @@ smalltalk.method({
 selector: "isInlined",
 selector: "isInlined",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedNonLocalReturn)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedNonLocalReturn)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRInlinedNonLocalReturn);
 smalltalk.IRInlinedNonLocalReturn);
@@ -112,7 +120,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitInlinedSend_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitInlinedSend_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedSend)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedSend)})},
 messageSends: ["visitInlinedSend:"]}),
 messageSends: ["visitInlinedSend:"]}),
 smalltalk.IRInlinedSend);
 smalltalk.IRInlinedSend);
@@ -123,7 +132,8 @@ smalltalk.method({
 selector: "isInlined",
 selector: "isInlined",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedSend)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedSend)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRInlinedSend);
 smalltalk.IRInlinedSend);
@@ -137,7 +147,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfFalse_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedIfFalse_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfFalse)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfFalse)})},
 messageSends: ["visitIRInlinedIfFalse:"]}),
 messageSends: ["visitIRInlinedIfFalse:"]}),
 smalltalk.IRInlinedIfFalse);
 smalltalk.IRInlinedIfFalse);
@@ -151,7 +162,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfNilIfNotNil_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedIfNilIfNotNil_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfNilIfNotNil)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfNilIfNotNil)})},
 messageSends: ["visitIRInlinedIfNilIfNotNil:"]}),
 messageSends: ["visitIRInlinedIfNilIfNotNil:"]}),
 smalltalk.IRInlinedIfNilIfNotNil);
 smalltalk.IRInlinedIfNilIfNotNil);
@@ -165,7 +177,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfTrue_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedIfTrue_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfTrue)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfTrue)})},
 messageSends: ["visitIRInlinedIfTrue:"]}),
 messageSends: ["visitIRInlinedIfTrue:"]}),
 smalltalk.IRInlinedIfTrue);
 smalltalk.IRInlinedIfTrue);
@@ -179,7 +192,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfTrueIfFalse_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedIfTrueIfFalse_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfTrueIfFalse)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfTrueIfFalse)})},
 messageSends: ["visitIRInlinedIfTrueIfFalse:"]}),
 messageSends: ["visitIRInlinedIfTrueIfFalse:"]}),
 smalltalk.IRInlinedIfTrueIfFalse);
 smalltalk.IRInlinedIfTrueIfFalse);
@@ -193,7 +207,8 @@ smalltalk.method({
 selector: "accept:",
 selector: "accept:",
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedSequence_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedSequence_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedSequence)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedSequence)})},
 messageSends: ["visitIRInlinedSequence:"]}),
 messageSends: ["visitIRInlinedSequence:"]}),
 smalltalk.IRInlinedSequence);
 smalltalk.IRInlinedSequence);
@@ -204,7 +219,8 @@ smalltalk.method({
 selector: "isInlined",
 selector: "isInlined",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedSequence)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedSequence)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRInlinedSequence);
 smalltalk.IRInlinedSequence);
@@ -219,7 +235,8 @@ selector: "assignmentInliner",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRAssignmentInliner(){return smalltalk.IRAssignmentInliner||(typeof IRAssignmentInliner=="undefined"?nil:IRAssignmentInliner)}
 function $IRAssignmentInliner(){return smalltalk.IRAssignmentInliner||(typeof IRAssignmentInliner=="undefined"?nil:IRAssignmentInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRAssignmentInliner())._new();
 $2=_st($IRAssignmentInliner())._new();
 _st($2)._translator_(self);
 _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -236,7 +253,8 @@ selector: "nonLocalReturnInliner",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRNonLocalReturnInliner(){return smalltalk.IRNonLocalReturnInliner||(typeof IRNonLocalReturnInliner=="undefined"?nil:IRNonLocalReturnInliner)}
 function $IRNonLocalReturnInliner(){return smalltalk.IRNonLocalReturnInliner||(typeof IRNonLocalReturnInliner=="undefined"?nil:IRNonLocalReturnInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRNonLocalReturnInliner())._new();
 $2=_st($IRNonLocalReturnInliner())._new();
 _st($2)._translator_(self);
 _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -253,7 +271,8 @@ selector: "returnInliner",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRReturnInliner(){return smalltalk.IRReturnInliner||(typeof IRReturnInliner=="undefined"?nil:IRReturnInliner)}
 function $IRReturnInliner(){return smalltalk.IRReturnInliner||(typeof IRReturnInliner=="undefined"?nil:IRReturnInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRReturnInliner())._new();
 $2=_st($IRReturnInliner())._new();
 _st($2)._translator_(self);
 _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -270,7 +289,8 @@ selector: "sendInliner",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRSendInliner())._new();
 $2=_st($IRSendInliner())._new();
 _st($2)._translator_(self);
 _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -286,10 +306,13 @@ smalltalk.method({
 selector: "shouldInlineAssignment:",
 selector: "shouldInlineAssignment:",
 fn: function (anIRAssignment){
 fn: function (anIRAssignment){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(anIRAssignment)._isInlined())._not())._and_((function(){
 $1=_st(_st(_st(anIRAssignment)._isInlined())._not())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(_st(anIRAssignment)._instructions())._last())._isSend())._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._shouldInlineSend_(_st(_st(anIRAssignment)._instructions())._last());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(_st(anIRAssignment)._instructions())._last())._isSend())._and_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._shouldInlineSend_(_st(_st(anIRAssignment)._instructions())._last());
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
@@ -303,10 +326,13 @@ smalltalk.method({
 selector: "shouldInlineReturn:",
 selector: "shouldInlineReturn:",
 fn: function (anIRReturn){
 fn: function (anIRReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(anIRReturn)._isInlined())._not())._and_((function(){
 $1=_st(_st(_st(anIRReturn)._isInlined())._not())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(_st(anIRReturn)._instructions())._first())._isSend())._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._shouldInlineSend_(_st(_st(anIRReturn)._instructions())._first());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(_st(anIRReturn)._instructions())._first())._isSend())._and_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._shouldInlineSend_(_st(_st(anIRReturn)._instructions())._first());
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
@@ -321,9 +347,11 @@ selector: "shouldInlineSend:",
 fn: function (anIRSend){
 fn: function (anIRSend){
 var self=this;
 var self=this;
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(anIRSend)._isInlined())._not())._and_((function(){
 $1=_st(_st(_st(anIRSend)._isInlined())._not())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st($IRSendInliner())._shouldInline_(anIRSend);
+return smalltalk.withContext(function($ctx2) {
+return _st($IRSendInliner())._shouldInline_(anIRSend);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineSend:",{anIRSend:anIRSend},smalltalk.IRInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineSend:",{anIRSend:anIRSend},smalltalk.IRInliner)})},
@@ -338,7 +366,8 @@ fn: function (anIRNonLocalReturn){
 var self=this;
 var self=this;
 var localReturn;
 var localReturn;
 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5;
 $1=_st(_st(anIRNonLocalReturn)._scope())._canInlineNonLocalReturns();
 $1=_st(_st(anIRNonLocalReturn)._scope())._canInlineNonLocalReturns();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(_st(_st(anIRNonLocalReturn)._scope())._methodScope())._removeNonLocalReturn_(_st(anIRNonLocalReturn)._scope());
 _st(_st(_st(anIRNonLocalReturn)._scope())._methodScope())._removeNonLocalReturn_(_st(anIRNonLocalReturn)._scope());
@@ -348,7 +377,8 @@ $3=_st($2)._yourself();
 localReturn=$3;
 localReturn=$3;
 localReturn;
 localReturn;
 _st(_st(anIRNonLocalReturn)._instructions())._do_((function(each){
 _st(_st(anIRNonLocalReturn)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(localReturn)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(localReturn)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(anIRNonLocalReturn)._replaceWith_(localReturn);
 _st(anIRNonLocalReturn)._replaceWith_(localReturn);
 $4=localReturn;
 $4=localReturn;
@@ -366,7 +396,8 @@ smalltalk.method({
 selector: "visitIRAssignment:",
 selector: "visitIRAssignment:",
 fn: function (anIRAssignment){
 fn: function (anIRAssignment){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._shouldInlineAssignment_(anIRAssignment);
 $2=_st(self)._shouldInlineAssignment_(anIRAssignment);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(self)._assignmentInliner())._inlineAssignment_(anIRAssignment);
 $1=_st(_st(self)._assignmentInliner())._inlineAssignment_(anIRAssignment);
@@ -384,7 +415,8 @@ smalltalk.method({
 selector: "visitIRNonLocalReturn:",
 selector: "visitIRNonLocalReturn:",
 fn: function (anIRNonLocalReturn){
 fn: function (anIRNonLocalReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._shouldInlineReturn_(anIRNonLocalReturn);
 $2=_st(self)._shouldInlineReturn_(anIRNonLocalReturn);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(self)._nonLocalReturnInliner())._inlineReturn_(anIRNonLocalReturn);
 $1=_st(_st(self)._nonLocalReturnInliner())._inlineReturn_(anIRNonLocalReturn);
@@ -402,7 +434,8 @@ smalltalk.method({
 selector: "visitIRReturn:",
 selector: "visitIRReturn:",
 fn: function (anIRReturn){
 fn: function (anIRReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._shouldInlineReturn_(anIRReturn);
 $2=_st(self)._shouldInlineReturn_(anIRReturn);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(self)._returnInliner())._inlineReturn_(anIRReturn);
 $1=_st(_st(self)._returnInliner())._inlineReturn_(anIRReturn);
@@ -420,7 +453,8 @@ smalltalk.method({
 selector: "visitIRSend:",
 selector: "visitIRSend:",
 fn: function (anIRSend){
 fn: function (anIRSend){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._shouldInlineSend_(anIRSend);
 $2=_st(self)._shouldInlineSend_(anIRSend);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(self)._sendInliner())._inlineSend_(anIRSend);
 $1=_st(_st(self)._sendInliner())._inlineSend_(anIRSend);
@@ -441,7 +475,8 @@ smalltalk.method({
 selector: "visitIRInlinedAssignment:",
 selector: "visitIRInlinedAssignment:",
 fn: function (anIRInlinedAssignment){
 fn: function (anIRInlinedAssignment){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedAssignment:",{anIRInlinedAssignment:anIRInlinedAssignment},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedAssignment:",{anIRInlinedAssignment:anIRInlinedAssignment},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["visit:", "last", "instructions"]}),
 messageSends: ["visit:", "last", "instructions"]}),
 smalltalk.IRInliningJSTranslator);
 smalltalk.IRInliningJSTranslator);
@@ -452,11 +487,14 @@ smalltalk.method({
 selector: "visitIRInlinedClosure:",
 selector: "visitIRInlinedClosure:",
 fn: function (anIRInlinedClosure){
 fn: function (anIRInlinedClosure){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutVars_(_st(_st(anIRInlinedClosure)._tempDeclarations())._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(each)._name())._asVariableName();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutVars_(_st(_st(anIRInlinedClosure)._tempDeclarations())._collect_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(each)._name())._asVariableName();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})));
 _st(_st(anIRInlinedClosure)._instructions())._do_((function(each){
 _st(_st(anIRInlinedClosure)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["nextPutVars:", "collect:", "asVariableName", "name", "tempDeclarations", "stream", "do:", "visit:", "instructions"]}),
 messageSends: ["nextPutVars:", "collect:", "asVariableName", "name", "tempDeclarations", "stream", "do:", "visit:", "instructions"]}),
@@ -468,12 +506,15 @@ smalltalk.method({
 selector: "visitIRInlinedIfFalse:",
 selector: "visitIRInlinedIfFalse:",
 fn: function (anIRInlinedIfFalse){
 fn: function (anIRInlinedIfFalse){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("! smalltalk.assert(");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIf_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("! smalltalk.assert(");
 _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(")");
 return _st(_st(self)._stream())._nextPutAll_(")");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._last());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfFalse:",{anIRInlinedIfFalse:anIRInlinedIfFalse},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfFalse:",{anIRInlinedIfFalse:anIRInlinedIfFalse},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
 messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
@@ -485,12 +526,15 @@ smalltalk.method({
 selector: "visitIRInlinedIfNil:",
 selector: "visitIRInlinedIfNil:",
 fn: function (anIRInlinedIfNil){
 fn: function (anIRInlinedIfNil){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("($receiver = ");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIf_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("($receiver = ");
 _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._last());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNil:",{anIRInlinedIfNil:anIRInlinedIfNil},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNil:",{anIRInlinedIfNil:anIRInlinedIfNil},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
 messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
@@ -502,14 +546,18 @@ smalltalk.method({
 selector: "visitIRInlinedIfNilIfNotNil:",
 selector: "visitIRInlinedIfNilIfNotNil:",
 fn: function (anIRInlinedIfNilIfNotNil){
 fn: function (anIRInlinedIfNilIfNotNil){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("($receiver = ");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("($receiver = ");
 _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._second());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._second());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._third());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._third());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNilIfNotNil:",{anIRInlinedIfNilIfNotNil:anIRInlinedIfNilIfNotNil},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNilIfNotNil:",{anIRInlinedIfNilIfNotNil:anIRInlinedIfNilIfNotNil},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["nextPutIfElse:with:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "second", "third"]}),
 messageSends: ["nextPutIfElse:with:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "second", "third"]}),
@@ -521,12 +569,15 @@ smalltalk.method({
 selector: "visitIRInlinedIfTrue:",
 selector: "visitIRInlinedIfTrue:",
 fn: function (anIRInlinedIfTrue){
 fn: function (anIRInlinedIfTrue){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIf_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
 _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(")");
 return _st(_st(self)._stream())._nextPutAll_(")");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._last());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrue:",{anIRInlinedIfTrue:anIRInlinedIfTrue},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrue:",{anIRInlinedIfTrue:anIRInlinedIfTrue},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
 messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
@@ -538,14 +589,18 @@ smalltalk.method({
 selector: "visitIRInlinedIfTrueIfFalse:",
 selector: "visitIRInlinedIfTrueIfFalse:",
 fn: function (anIRInlinedIfTrueIfFalse){
 fn: function (anIRInlinedIfTrueIfFalse){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
 _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(")");
 return _st(_st(self)._stream())._nextPutAll_(")");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._second());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._second());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._third());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._third());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrueIfFalse:",{anIRInlinedIfTrueIfFalse:anIRInlinedIfTrueIfFalse},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrueIfFalse:",{anIRInlinedIfTrueIfFalse:anIRInlinedIfTrueIfFalse},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["nextPutIfElse:with:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "second", "third"]}),
 messageSends: ["nextPutIfElse:with:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "second", "third"]}),
@@ -557,11 +612,14 @@ smalltalk.method({
 selector: "visitIRInlinedNonLocalReturn:",
 selector: "visitIRInlinedNonLocalReturn:",
 fn: function (anIRInlinedReturn){
 fn: function (anIRInlinedReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutStatementWith_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutStatementWith_((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(self)._stream())._nextPutNonLocalReturnWith_((function(){
 _st(_st(self)._stream())._nextPutNonLocalReturnWith_((function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedNonLocalReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedNonLocalReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["nextPutStatementWith:", "visit:", "last", "instructions", "stream", "nextPutNonLocalReturnWith:"]}),
 messageSends: ["nextPutStatementWith:", "visit:", "last", "instructions", "stream", "nextPutNonLocalReturnWith:"]}),
 smalltalk.IRInliningJSTranslator);
 smalltalk.IRInliningJSTranslator);
@@ -572,7 +630,8 @@ smalltalk.method({
 selector: "visitIRInlinedReturn:",
 selector: "visitIRInlinedReturn:",
 fn: function (anIRInlinedReturn){
 fn: function (anIRInlinedReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["visit:", "last", "instructions"]}),
 messageSends: ["visit:", "last", "instructions"]}),
 smalltalk.IRInliningJSTranslator);
 smalltalk.IRInliningJSTranslator);
@@ -583,9 +642,12 @@ smalltalk.method({
 selector: "visitIRInlinedSequence:",
 selector: "visitIRInlinedSequence:",
 fn: function (anIRInlinedSequence){
 fn: function (anIRInlinedSequence){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(anIRInlinedSequence)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._stream())._nextPutStatementWith_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._visit_(each);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(anIRInlinedSequence)._instructions())._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._stream())._nextPutStatementWith_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._visit_(each);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence},smalltalk.IRInliningJSTranslator)})},
@@ -602,7 +664,8 @@ selector: "ifFalse:",
 fn: function (anIRInstruction){
 fn: function (anIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfFalse(){return smalltalk.IRInlinedIfFalse||(typeof IRInlinedIfFalse=="undefined"?nil:IRInlinedIfFalse)}
 function $IRInlinedIfFalse(){return smalltalk.IRInlinedIfFalse||(typeof IRInlinedIfFalse=="undefined"?nil:IRInlinedIfFalse)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_(_st($IRInlinedIfFalse())._new(),anIRInstruction);
 $1=_st(self)._inlinedSend_with_(_st($IRInlinedIfFalse())._new(),anIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
@@ -615,7 +678,8 @@ smalltalk.method({
 selector: "ifFalse:ifTrue:",
 selector: "ifFalse:ifTrue:",
 fn: function (anIRInstruction,anotherIRInstruction){
 fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._perform_withArguments_("ifTrue:ifFalse:",[anotherIRInstruction,anIRInstruction]);
 $1=_st(self)._perform_withArguments_("ifTrue:ifFalse:",[anotherIRInstruction,anIRInstruction]);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
@@ -631,7 +695,8 @@ var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRClosure(){return smalltalk.IRClosure||(typeof IRClosure=="undefined"?nil:IRClosure)}
 function $IRClosure(){return smalltalk.IRClosure||(typeof IRClosure=="undefined"?nil:IRClosure)}
 function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSequence=="undefined"?nil:IRBlockSequence)}
 function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSequence=="undefined"?nil:IRBlockSequence)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$5,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$4,$5,$1;
 $2=_st($IRClosure())._new();
 $2=_st($IRClosure())._new();
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 $3=_st($IRBlockSequence())._new();
 $3=_st($IRBlockSequence())._new();
@@ -652,7 +717,8 @@ selector: "ifNil:ifNotNil:",
 fn: function (anIRInstruction,anotherIRInstruction){
 fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,anotherIRInstruction);
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,anotherIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
@@ -668,7 +734,8 @@ var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRClosure(){return smalltalk.IRClosure||(typeof IRClosure=="undefined"?nil:IRClosure)}
 function $IRClosure(){return smalltalk.IRClosure||(typeof IRClosure=="undefined"?nil:IRClosure)}
 function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSequence=="undefined"?nil:IRBlockSequence)}
 function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSequence=="undefined"?nil:IRBlockSequence)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$5,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$4,$5,$1;
 $2=_st($IRClosure())._new();
 $2=_st($IRClosure())._new();
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 $3=_st($IRBlockSequence())._new();
 $3=_st($IRBlockSequence())._new();
@@ -689,7 +756,8 @@ selector: "ifNotNil:ifNil:",
 fn: function (anIRInstruction,anotherIRInstruction){
 fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anotherIRInstruction,anIRInstruction);
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anotherIRInstruction,anIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
@@ -703,7 +771,8 @@ selector: "ifTrue:",
 fn: function (anIRInstruction){
 fn: function (anIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfTrue(){return smalltalk.IRInlinedIfTrue||(typeof IRInlinedIfTrue=="undefined"?nil:IRInlinedIfTrue)}
 function $IRInlinedIfTrue(){return smalltalk.IRInlinedIfTrue||(typeof IRInlinedIfTrue=="undefined"?nil:IRInlinedIfTrue)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_(_st($IRInlinedIfTrue())._new(),anIRInstruction);
 $1=_st(self)._inlinedSend_with_(_st($IRInlinedIfTrue())._new(),anIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
@@ -717,7 +786,8 @@ selector: "ifTrue:ifFalse:",
 fn: function (anIRInstruction,anotherIRInstruction){
 fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfTrueIfFalse(){return smalltalk.IRInlinedIfTrueIfFalse||(typeof IRInlinedIfTrueIfFalse=="undefined"?nil:IRInlinedIfTrueIfFalse)}
 function $IRInlinedIfTrueIfFalse(){return smalltalk.IRInlinedIfTrueIfFalse||(typeof IRInlinedIfTrueIfFalse=="undefined"?nil:IRInlinedIfTrueIfFalse)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfTrueIfFalse())._new(),anIRInstruction,anotherIRInstruction);
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfTrueIfFalse())._new(),anIRInstruction,anotherIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
@@ -731,21 +801,26 @@ selector: "inlineClosure:",
 fn: function (anIRClosure){
 fn: function (anIRClosure){
 var self=this;
 var self=this;
 var inlinedClosure,sequence,statements;
 var inlinedClosure,sequence,statements;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 inlinedClosure=_st(self)._inlinedClosure();
 inlinedClosure=_st(self)._inlinedClosure();
 _st(inlinedClosure)._scope_(_st(anIRClosure)._scope());
 _st(inlinedClosure)._scope_(_st(anIRClosure)._scope());
 _st(_st(anIRClosure)._tempDeclarations())._do_((function(each){
 _st(_st(anIRClosure)._tempDeclarations())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(inlinedClosure)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(inlinedClosure)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 sequence=_st(self)._inlinedSequence();
 sequence=_st(self)._inlinedSequence();
 _st(inlinedClosure)._add_(sequence);
 _st(inlinedClosure)._add_(sequence);
 statements=_st(_st(_st(anIRClosure)._instructions())._last())._instructions();
 statements=_st(_st(_st(anIRClosure)._instructions())._last())._instructions();
 _st(statements)._ifNotEmpty_((function(){
 _st(statements)._ifNotEmpty_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(statements)._allButLast())._do_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(sequence)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+_st(_st(statements)._allButLast())._do_((function(each){
+return smalltalk.withContext(function($ctx3) {
+return _st(sequence)._add_(each);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 $1=_st(_st(_st(statements)._last())._isReturn())._and_((function(){
 $1=_st(_st(_st(statements)._last())._isReturn())._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(statements)._last())._isBlockReturn();
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(statements)._last())._isBlockReturn();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 return _st(sequence)._add_(_st(_st(_st(statements)._last())._instructions())._first());
 return _st(sequence)._add_(_st(_st(_st(statements)._last())._instructions())._first());
@@ -765,7 +840,8 @@ smalltalk.method({
 selector: "inlineSend:",
 selector: "inlineSend:",
 fn: function (anIRSend){
 fn: function (anIRSend){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._send_(anIRSend);
 _st(self)._send_(anIRSend);
 $1=_st(self)._perform_withArguments_(_st(_st(self)._send())._selector(),_st(_st(_st(self)._send())._instructions())._allButFirst());
 $1=_st(self)._perform_withArguments_(_st(_st(self)._send())._selector(),_st(_st(_st(self)._send())._instructions())._allButFirst());
 return $1;
 return $1;
@@ -780,7 +856,8 @@ selector: "inlinedClosure",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInlinedClosure(){return smalltalk.IRInlinedClosure||(typeof IRInlinedClosure=="undefined"?nil:IRInlinedClosure)}
 function $IRInlinedClosure(){return smalltalk.IRInlinedClosure||(typeof IRInlinedClosure=="undefined"?nil:IRInlinedClosure)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInlinedClosure())._new();
 $1=_st($IRInlinedClosure())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedClosure",{},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedClosure",{},smalltalk.IRSendInliner)})},
@@ -794,7 +871,8 @@ selector: "inlinedSend:with:",
 fn: function (inlinedSend,anIRInstruction){
 fn: function (inlinedSend,anIRInstruction){
 var self=this;
 var self=this;
 var inlinedClosure;
 var inlinedClosure;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5;
 $1=_st(anIRInstruction)._isClosure();
 $1=_st(anIRInstruction)._isClosure();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self)._inliningError_("Message argument should be a block");
 _st(self)._inliningError_("Message argument should be a block");
@@ -821,7 +899,8 @@ selector: "inlinedSend:with:with:",
 fn: function (inlinedSend,anIRInstruction,anotherIRInstruction){
 fn: function (inlinedSend,anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
 var inlinedClosure1,inlinedClosure2;
 var inlinedClosure1,inlinedClosure2;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5,$6,$7;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5,$6,$7;
 $1=_st(anIRInstruction)._isClosure();
 $1=_st(anIRInstruction)._isClosure();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self)._inliningError_("Message argument should be a block");
 _st(self)._inliningError_("Message argument should be a block");
@@ -858,7 +937,8 @@ selector: "inlinedSequence",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInlinedSequence(){return smalltalk.IRInlinedSequence||(typeof IRInlinedSequence=="undefined"?nil:IRInlinedSequence)}
 function $IRInlinedSequence(){return smalltalk.IRInlinedSequence||(typeof IRInlinedSequence=="undefined"?nil:IRInlinedSequence)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInlinedSequence())._new();
 $1=_st($IRInlinedSequence())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedSequence",{},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedSequence",{},smalltalk.IRSendInliner)})},
@@ -872,7 +952,8 @@ selector: "inliningError:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $InliningError(){return smalltalk.InliningError||(typeof InliningError=="undefined"?nil:InliningError)}
 function $InliningError(){return smalltalk.InliningError||(typeof InliningError=="undefined"?nil:InliningError)}
-return smalltalk.withContext(function($ctx1) { 
_st($InliningError())._signal_(aString);
+return smalltalk.withContext(function($ctx1) { 
+_st($InliningError())._signal_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"inliningError:",{aString:aString},smalltalk.IRSendInliner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"inliningError:",{aString:aString},smalltalk.IRSendInliner)})},
 messageSends: ["signal:"]}),
 messageSends: ["signal:"]}),
 smalltalk.IRSendInliner);
 smalltalk.IRSendInliner);
@@ -883,7 +964,8 @@ smalltalk.method({
 selector: "send",
 selector: "send",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@send"];
 $1=self["@send"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"send",{},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"send",{},smalltalk.IRSendInliner)})},
@@ -896,7 +978,8 @@ smalltalk.method({
 selector: "send:",
 selector: "send:",
 fn: function (anIRSend){
 fn: function (anIRSend){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@send"]=anIRSend;
+return smalltalk.withContext(function($ctx1) { 
+self["@send"]=anIRSend;
 return self}, function($ctx1) {$ctx1.fill(self,"send:",{anIRSend:anIRSend},smalltalk.IRSendInliner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"send:",{anIRSend:anIRSend},smalltalk.IRSendInliner)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRSendInliner);
 smalltalk.IRSendInliner);
@@ -907,7 +990,8 @@ smalltalk.method({
 selector: "translator",
 selector: "translator",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@translator"];
 $1=self["@translator"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"translator",{},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"translator",{},smalltalk.IRSendInliner)})},
@@ -920,7 +1004,8 @@ smalltalk.method({
 selector: "translator:",
 selector: "translator:",
 fn: function (anASTTranslator){
 fn: function (anASTTranslator){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@translator"]=anASTTranslator;
+return smalltalk.withContext(function($ctx1) { 
+self["@translator"]=anASTTranslator;
 return self}, function($ctx1) {$ctx1.fill(self,"translator:",{anASTTranslator:anASTTranslator},smalltalk.IRSendInliner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"translator:",{anASTTranslator:anASTTranslator},smalltalk.IRSendInliner)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRSendInliner);
 smalltalk.IRSendInliner);
@@ -932,7 +1017,8 @@ smalltalk.method({
 selector: "inlinedSelectors",
 selector: "inlinedSelectors",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=["ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:", "ifNil:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil"];
 $1=["ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:", "ifNil:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedSelectors",{},smalltalk.IRSendInliner.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedSelectors",{},smalltalk.IRSendInliner.klass)})},
@@ -945,7 +1031,8 @@ smalltalk.method({
 selector: "shouldInline:",
 selector: "shouldInline:",
 fn: function (anIRInstruction){
 fn: function (anIRInstruction){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 var $early={};
 var $early={};
 try {
 try {
 $1=_st(_st(self)._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
 $1=_st(_st(self)._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
@@ -953,7 +1040,8 @@ if(! smalltalk.assert($1)){
 return false;
 return false;
 };
 };
 _st(_st(_st(anIRInstruction)._instructions())._allButFirst())._do_((function(each){
 _st(_st(_st(anIRInstruction)._instructions())._allButFirst())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$2=_st(each)._isClosure();
+return smalltalk.withContext(function($ctx2) {
+$2=_st(each)._isClosure();
 if(! smalltalk.assert($2)){
 if(! smalltalk.assert($2)){
 throw $early=[false];
 throw $early=[false];
 };
 };
@@ -973,7 +1061,8 @@ smalltalk.method({
 selector: "assignment",
 selector: "assignment",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@assignment"];
 $1=self["@assignment"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assignment",{},smalltalk.IRAssignmentInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"assignment",{},smalltalk.IRAssignmentInliner)})},
@@ -986,7 +1075,8 @@ smalltalk.method({
 selector: "assignment:",
 selector: "assignment:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@assignment"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@assignment"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"assignment:",{aNode:aNode},smalltalk.IRAssignmentInliner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"assignment:",{aNode:aNode},smalltalk.IRAssignmentInliner)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.IRAssignmentInliner);
 smalltalk.IRAssignmentInliner);
@@ -999,11 +1089,13 @@ fn: function (anIRAssignment){
 var self=this;
 var self=this;
 var inlinedAssignment;
 var inlinedAssignment;
 function $IRInlinedAssignment(){return smalltalk.IRInlinedAssignment||(typeof IRInlinedAssignment=="undefined"?nil:IRInlinedAssignment)}
 function $IRInlinedAssignment(){return smalltalk.IRInlinedAssignment||(typeof IRInlinedAssignment=="undefined"?nil:IRInlinedAssignment)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._assignment_(anIRAssignment);
 _st(self)._assignment_(anIRAssignment);
 inlinedAssignment=_st($IRInlinedAssignment())._new();
 inlinedAssignment=_st($IRInlinedAssignment())._new();
 _st(_st(anIRAssignment)._instructions())._do_((function(each){
 _st(_st(anIRAssignment)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(inlinedAssignment)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(inlinedAssignment)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(anIRAssignment)._replaceWith_(inlinedAssignment);
 _st(anIRAssignment)._replaceWith_(inlinedAssignment);
 _st(self)._inlineSend_(_st(_st(inlinedAssignment)._instructions())._last());
 _st(self)._inlineSend_(_st(_st(inlinedAssignment)._instructions())._last());
@@ -1021,11 +1113,13 @@ fn: function (anIRClosure){
 var self=this;
 var self=this;
 var inlinedClosure,statements;
 var inlinedClosure,statements;
 function $IRAssignment(){return smalltalk.IRAssignment||(typeof IRAssignment=="undefined"?nil:IRAssignment)}
 function $IRAssignment(){return smalltalk.IRAssignment||(typeof IRAssignment=="undefined"?nil:IRAssignment)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 inlinedClosure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 inlinedClosure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 statements=_st(_st(_st(inlinedClosure)._instructions())._last())._instructions();
 statements=_st(_st(_st(inlinedClosure)._instructions())._last())._instructions();
 _st(statements)._ifNotEmpty_((function(){
 _st(statements)._ifNotEmpty_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(statements)._last())._canBeAssigned();
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(statements)._last())._canBeAssigned();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st($IRAssignment())._new();
 $2=_st($IRAssignment())._new();
 _st($2)._add_(_st(_st(_st(self)._assignment())._instructions())._first());
 _st($2)._add_(_st(_st(_st(self)._assignment())._instructions())._first());
@@ -1049,7 +1143,8 @@ smalltalk.method({
 selector: "inlineClosure:",
 selector: "inlineClosure:",
 fn: function (anIRClosure){
 fn: function (anIRClosure){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=smalltalk.IRSendInliner.fn.prototype._inlineCLosure_.apply(_st(self), [anIRClosure]);
 $1=smalltalk.IRSendInliner.fn.prototype._inlineCLosure_.apply(_st(self), [anIRClosure]);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure},smalltalk.IRNonLocalReturnInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure},smalltalk.IRNonLocalReturnInliner)})},
@@ -1063,7 +1158,8 @@ selector: "inlinedReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInlinedNonLocalReturn(){return smalltalk.IRInlinedNonLocalReturn||(typeof IRInlinedNonLocalReturn=="undefined"?nil:IRInlinedNonLocalReturn)}
 function $IRInlinedNonLocalReturn(){return smalltalk.IRInlinedNonLocalReturn||(typeof IRInlinedNonLocalReturn=="undefined"?nil:IRInlinedNonLocalReturn)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInlinedNonLocalReturn())._new();
 $1=_st($IRInlinedNonLocalReturn())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{},smalltalk.IRNonLocalReturnInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{},smalltalk.IRNonLocalReturnInliner)})},
@@ -1081,11 +1177,13 @@ fn: function (anIRClosure){
 var self=this;
 var self=this;
 var closure,statements;
 var closure,statements;
 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 closure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 closure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 statements=_st(_st(_st(closure)._instructions())._last())._instructions();
 statements=_st(_st(_st(closure)._instructions())._last())._instructions();
 _st(statements)._ifNotEmpty_((function(){
 _st(statements)._ifNotEmpty_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(statements)._last())._isReturn();
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(statements)._last())._isReturn();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 $2=_st($IRReturn())._new();
 $2=_st($IRReturn())._new();
 _st($2)._add_(_st(_st(statements)._last())._copy());
 _st($2)._add_(_st(_st(statements)._last())._copy());
@@ -1106,10 +1204,12 @@ selector: "inlineReturn:",
 fn: function (anIRReturn){
 fn: function (anIRReturn){
 var self=this;
 var self=this;
 var return_;
 var return_;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 return_=_st(self)._inlinedReturn();
 return_=_st(self)._inlinedReturn();
 _st(_st(anIRReturn)._instructions())._do_((function(each){
 _st(_st(anIRReturn)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(return_)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(return_)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(anIRReturn)._replaceWith_(return_);
 _st(anIRReturn)._replaceWith_(return_);
 _st(self)._inlineSend_(_st(_st(return_)._instructions())._last());
 _st(self)._inlineSend_(_st(_st(return_)._instructions())._last());
@@ -1126,7 +1226,8 @@ selector: "inlinedReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInlinedReturn(){return smalltalk.IRInlinedReturn||(typeof IRInlinedReturn=="undefined"?nil:IRInlinedReturn)}
 function $IRInlinedReturn(){return smalltalk.IRInlinedReturn||(typeof IRInlinedReturn=="undefined"?nil:IRInlinedReturn)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInlinedReturn())._new();
 $1=_st($IRInlinedReturn())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{},smalltalk.IRReturnInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{},smalltalk.IRReturnInliner)})},
@@ -1143,7 +1244,8 @@ selector: "compileNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 var ir,stream;
 var ir,stream;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 ir=_st(_st(self)._translator())._visit_(aNode);
 ir=_st(_st(self)._translator())._visit_(aNode);
 _st(_st(self)._inliner())._visit_(ir);
 _st(_st(self)._inliner())._visit_(ir);
@@ -1163,7 +1265,8 @@ selector: "inliner",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInliner(){return smalltalk.IRInliner||(typeof IRInliner=="undefined"?nil:IRInliner)}
 function $IRInliner(){return smalltalk.IRInliner||(typeof IRInliner=="undefined"?nil:IRInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInliner())._new();
 $1=_st($IRInliner())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inliner",{},smalltalk.InliningCodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"inliner",{},smalltalk.InliningCodeGenerator)})},
@@ -1177,7 +1280,8 @@ selector: "irTranslator",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInliningJSTranslator(){return smalltalk.IRInliningJSTranslator||(typeof IRInliningJSTranslator=="undefined"?nil:IRInliningJSTranslator)}
 function $IRInliningJSTranslator(){return smalltalk.IRInliningJSTranslator||(typeof IRInliningJSTranslator=="undefined"?nil:IRInliningJSTranslator)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInliningJSTranslator())._new();
 $1=_st($IRInliningJSTranslator())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.InliningCodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.InliningCodeGenerator)})},

+ 208 - 104
js/Compiler-Inlining.js

@@ -8,7 +8,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitIRInlinedAssignment_(self);
 $1=_st(aVisitor)._visitIRInlinedAssignment_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedAssignment)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedAssignment)})},
@@ -26,7 +27,8 @@ selector: "isInlined",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedAssignment)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedAssignment)})},
 args: [],
 args: [],
 source: "isInlined\x0a\x09^ true",
 source: "isInlined\x0a\x09^ true",
@@ -46,7 +48,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedClosure_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedClosure_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedClosure)})},
 args: ["aVisitor"],
 args: ["aVisitor"],
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedClosure: self",
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedClosure: self",
@@ -62,7 +65,8 @@ selector: "isInlined",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedClosure)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedClosure)})},
 args: [],
 args: [],
 source: "isInlined\x0a\x09^ true",
 source: "isInlined\x0a\x09^ true",
@@ -82,7 +86,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitIRInlinedReturn_(self);
 $1=_st(aVisitor)._visitIRInlinedReturn_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedReturn)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedReturn)})},
@@ -100,7 +105,8 @@ selector: "isInlined",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedReturn)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedReturn)})},
 args: [],
 args: [],
 source: "isInlined\x0a\x09^ true",
 source: "isInlined\x0a\x09^ true",
@@ -120,7 +126,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aVisitor)._visitIRInlinedNonLocalReturn_(self);
 $1=_st(aVisitor)._visitIRInlinedNonLocalReturn_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedNonLocalReturn)})},
 }, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedNonLocalReturn)})},
@@ -138,7 +145,8 @@ selector: "isInlined",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedNonLocalReturn)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedNonLocalReturn)})},
 args: [],
 args: [],
 source: "isInlined\x0a\x09^ true",
 source: "isInlined\x0a\x09^ true",
@@ -158,7 +166,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitInlinedSend_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitInlinedSend_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedSend)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedSend)})},
 args: ["aVisitor"],
 args: ["aVisitor"],
 source: "accept: aVisitor\x0a\x09aVisitor visitInlinedSend: self",
 source: "accept: aVisitor\x0a\x09aVisitor visitInlinedSend: self",
@@ -174,7 +183,8 @@ selector: "isInlined",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedSend)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedSend)})},
 args: [],
 args: [],
 source: "isInlined\x0a\x09^ true",
 source: "isInlined\x0a\x09^ true",
@@ -193,7 +203,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfFalse_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedIfFalse_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfFalse)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfFalse)})},
 args: ["aVisitor"],
 args: ["aVisitor"],
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfFalse: self",
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfFalse: self",
@@ -212,7 +223,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfNilIfNotNil_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedIfNilIfNotNil_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfNilIfNotNil)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfNilIfNotNil)})},
 args: ["aVisitor"],
 args: ["aVisitor"],
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfNilIfNotNil: self",
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfNilIfNotNil: self",
@@ -231,7 +243,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfTrue_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedIfTrue_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfTrue)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfTrue)})},
 args: ["aVisitor"],
 args: ["aVisitor"],
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfTrue: self",
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfTrue: self",
@@ -250,7 +263,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfTrueIfFalse_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedIfTrueIfFalse_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfTrueIfFalse)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedIfTrueIfFalse)})},
 args: ["aVisitor"],
 args: ["aVisitor"],
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfTrueIfFalse: self",
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfTrueIfFalse: self",
@@ -270,7 +284,8 @@ selector: "accept:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aVisitor){
 fn: function (aVisitor){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedSequence_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(aVisitor)._visitIRInlinedSequence_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedSequence)})},
 return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor},smalltalk.IRInlinedSequence)})},
 args: ["aVisitor"],
 args: ["aVisitor"],
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedSequence: self",
 source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedSequence: self",
@@ -286,7 +301,8 @@ selector: "isInlined",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedSequence)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.IRInlinedSequence)})},
 args: [],
 args: [],
 source: "isInlined\x0a\x09^ true",
 source: "isInlined\x0a\x09^ true",
@@ -307,7 +323,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRAssignmentInliner(){return smalltalk.IRAssignmentInliner||(typeof IRAssignmentInliner=="undefined"?nil:IRAssignmentInliner)}
 function $IRAssignmentInliner(){return smalltalk.IRAssignmentInliner||(typeof IRAssignmentInliner=="undefined"?nil:IRAssignmentInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRAssignmentInliner())._new();
 $2=_st($IRAssignmentInliner())._new();
 _st($2)._translator_(self);
 _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -329,7 +346,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRNonLocalReturnInliner(){return smalltalk.IRNonLocalReturnInliner||(typeof IRNonLocalReturnInliner=="undefined"?nil:IRNonLocalReturnInliner)}
 function $IRNonLocalReturnInliner(){return smalltalk.IRNonLocalReturnInliner||(typeof IRNonLocalReturnInliner=="undefined"?nil:IRNonLocalReturnInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRNonLocalReturnInliner())._new();
 $2=_st($IRNonLocalReturnInliner())._new();
 _st($2)._translator_(self);
 _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -351,7 +369,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRReturnInliner(){return smalltalk.IRReturnInliner||(typeof IRReturnInliner=="undefined"?nil:IRReturnInliner)}
 function $IRReturnInliner(){return smalltalk.IRReturnInliner||(typeof IRReturnInliner=="undefined"?nil:IRReturnInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRReturnInliner())._new();
 $2=_st($IRReturnInliner())._new();
 _st($2)._translator_(self);
 _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -373,7 +392,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($IRSendInliner())._new();
 $2=_st($IRSendInliner())._new();
 _st($2)._translator_(self);
 _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -394,10 +414,13 @@ selector: "shouldInlineAssignment:",
 category: 'testing',
 category: 'testing',
 fn: function (anIRAssignment){
 fn: function (anIRAssignment){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(anIRAssignment)._isInlined())._not())._and_((function(){
 $1=_st(_st(_st(anIRAssignment)._isInlined())._not())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(_st(anIRAssignment)._instructions())._last())._isSend())._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._shouldInlineSend_(_st(_st(anIRAssignment)._instructions())._last());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(_st(anIRAssignment)._instructions())._last())._isSend())._and_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._shouldInlineSend_(_st(_st(anIRAssignment)._instructions())._last());
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
@@ -416,10 +439,13 @@ selector: "shouldInlineReturn:",
 category: 'testing',
 category: 'testing',
 fn: function (anIRReturn){
 fn: function (anIRReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(anIRReturn)._isInlined())._not())._and_((function(){
 $1=_st(_st(_st(anIRReturn)._isInlined())._not())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(_st(anIRReturn)._instructions())._first())._isSend())._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._shouldInlineSend_(_st(_st(anIRReturn)._instructions())._first());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(_st(anIRReturn)._instructions())._first())._isSend())._and_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._shouldInlineSend_(_st(_st(anIRReturn)._instructions())._first());
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
@@ -439,9 +465,11 @@ category: 'testing',
 fn: function (anIRSend){
 fn: function (anIRSend){
 var self=this;
 var self=this;
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(anIRSend)._isInlined())._not())._and_((function(){
 $1=_st(_st(_st(anIRSend)._isInlined())._not())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st($IRSendInliner())._shouldInline_(anIRSend);
+return smalltalk.withContext(function($ctx2) {
+return _st($IRSendInliner())._shouldInline_(anIRSend);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineSend:",{anIRSend:anIRSend},smalltalk.IRInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineSend:",{anIRSend:anIRSend},smalltalk.IRInliner)})},
@@ -461,7 +489,8 @@ fn: function (anIRNonLocalReturn){
 var self=this;
 var self=this;
 var localReturn;
 var localReturn;
 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5;
 $1=_st(_st(anIRNonLocalReturn)._scope())._canInlineNonLocalReturns();
 $1=_st(_st(anIRNonLocalReturn)._scope())._canInlineNonLocalReturns();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(_st(_st(anIRNonLocalReturn)._scope())._methodScope())._removeNonLocalReturn_(_st(anIRNonLocalReturn)._scope());
 _st(_st(_st(anIRNonLocalReturn)._scope())._methodScope())._removeNonLocalReturn_(_st(anIRNonLocalReturn)._scope());
@@ -471,7 +500,8 @@ $3=_st($2)._yourself();
 localReturn=$3;
 localReturn=$3;
 localReturn;
 localReturn;
 _st(_st(anIRNonLocalReturn)._instructions())._do_((function(each){
 _st(_st(anIRNonLocalReturn)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(localReturn)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(localReturn)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(anIRNonLocalReturn)._replaceWith_(localReturn);
 _st(anIRNonLocalReturn)._replaceWith_(localReturn);
 $4=localReturn;
 $4=localReturn;
@@ -494,7 +524,8 @@ selector: "visitIRAssignment:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRAssignment){
 fn: function (anIRAssignment){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._shouldInlineAssignment_(anIRAssignment);
 $2=_st(self)._shouldInlineAssignment_(anIRAssignment);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(self)._assignmentInliner())._inlineAssignment_(anIRAssignment);
 $1=_st(_st(self)._assignmentInliner())._inlineAssignment_(anIRAssignment);
@@ -517,7 +548,8 @@ selector: "visitIRNonLocalReturn:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRNonLocalReturn){
 fn: function (anIRNonLocalReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._shouldInlineReturn_(anIRNonLocalReturn);
 $2=_st(self)._shouldInlineReturn_(anIRNonLocalReturn);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(self)._nonLocalReturnInliner())._inlineReturn_(anIRNonLocalReturn);
 $1=_st(_st(self)._nonLocalReturnInliner())._inlineReturn_(anIRNonLocalReturn);
@@ -540,7 +572,8 @@ selector: "visitIRReturn:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRReturn){
 fn: function (anIRReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._shouldInlineReturn_(anIRReturn);
 $2=_st(self)._shouldInlineReturn_(anIRReturn);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(self)._returnInliner())._inlineReturn_(anIRReturn);
 $1=_st(_st(self)._returnInliner())._inlineReturn_(anIRReturn);
@@ -563,7 +596,8 @@ selector: "visitIRSend:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRSend){
 fn: function (anIRSend){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._shouldInlineSend_(anIRSend);
 $2=_st(self)._shouldInlineSend_(anIRSend);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(self)._sendInliner())._inlineSend_(anIRSend);
 $1=_st(_st(self)._sendInliner())._inlineSend_(anIRSend);
@@ -590,7 +624,8 @@ selector: "visitIRInlinedAssignment:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedAssignment){
 fn: function (anIRInlinedAssignment){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedAssignment:",{anIRInlinedAssignment:anIRInlinedAssignment},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedAssignment:",{anIRInlinedAssignment:anIRInlinedAssignment},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedAssignment"],
 args: ["anIRInlinedAssignment"],
 source: "visitIRInlinedAssignment: anIRInlinedAssignment\x0a\x09self visit: anIRInlinedAssignment instructions last",
 source: "visitIRInlinedAssignment: anIRInlinedAssignment\x0a\x09self visit: anIRInlinedAssignment instructions last",
@@ -606,11 +641,14 @@ selector: "visitIRInlinedClosure:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedClosure){
 fn: function (anIRInlinedClosure){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutVars_(_st(_st(anIRInlinedClosure)._tempDeclarations())._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(each)._name())._asVariableName();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutVars_(_st(_st(anIRInlinedClosure)._tempDeclarations())._collect_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(each)._name())._asVariableName();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})));
 _st(_st(anIRInlinedClosure)._instructions())._do_((function(each){
 _st(_st(anIRInlinedClosure)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedClosure"],
 args: ["anIRInlinedClosure"],
@@ -627,12 +665,15 @@ selector: "visitIRInlinedIfFalse:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedIfFalse){
 fn: function (anIRInlinedIfFalse){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("! smalltalk.assert(");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIf_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("! smalltalk.assert(");
 _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(")");
 return _st(_st(self)._stream())._nextPutAll_(")");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._last());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfFalse:",{anIRInlinedIfFalse:anIRInlinedIfFalse},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfFalse:",{anIRInlinedIfFalse:anIRInlinedIfFalse},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedIfFalse"],
 args: ["anIRInlinedIfFalse"],
@@ -649,12 +690,15 @@ selector: "visitIRInlinedIfNil:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedIfNil){
 fn: function (anIRInlinedIfNil){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("($receiver = ");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIf_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("($receiver = ");
 _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._last());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNil:",{anIRInlinedIfNil:anIRInlinedIfNil},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNil:",{anIRInlinedIfNil:anIRInlinedIfNil},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedIfNil"],
 args: ["anIRInlinedIfNil"],
@@ -671,14 +715,18 @@ selector: "visitIRInlinedIfNilIfNotNil:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedIfNilIfNotNil){
 fn: function (anIRInlinedIfNilIfNotNil){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("($receiver = ");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("($receiver = ");
 _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._second());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._second());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._third());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._third());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNilIfNotNil:",{anIRInlinedIfNilIfNotNil:anIRInlinedIfNilIfNotNil},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNilIfNotNil:",{anIRInlinedIfNilIfNotNil:anIRInlinedIfNilIfNotNil},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedIfNilIfNotNil"],
 args: ["anIRInlinedIfNilIfNotNil"],
@@ -695,12 +743,15 @@ selector: "visitIRInlinedIfTrue:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedIfTrue){
 fn: function (anIRInlinedIfTrue){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIf_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
 _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(")");
 return _st(_st(self)._stream())._nextPutAll_(")");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._last());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrue:",{anIRInlinedIfTrue:anIRInlinedIfTrue},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrue:",{anIRInlinedIfTrue:anIRInlinedIfTrue},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedIfTrue"],
 args: ["anIRInlinedIfTrue"],
@@ -717,14 +768,18 @@ selector: "visitIRInlinedIfTrueIfFalse:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedIfTrueIfFalse){
 fn: function (anIRInlinedIfTrueIfFalse){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
 _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._first());
 _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._first());
 return _st(_st(self)._stream())._nextPutAll_(")");
 return _st(_st(self)._stream())._nextPutAll_(")");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._second());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._second());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._third());
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._third());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrueIfFalse:",{anIRInlinedIfTrueIfFalse:anIRInlinedIfTrueIfFalse},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrueIfFalse:",{anIRInlinedIfTrueIfFalse:anIRInlinedIfTrueIfFalse},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedIfTrueIfFalse"],
 args: ["anIRInlinedIfTrueIfFalse"],
@@ -741,11 +796,14 @@ selector: "visitIRInlinedNonLocalReturn:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedReturn){
 fn: function (anIRInlinedReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutStatementWith_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._stream())._nextPutStatementWith_((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(self)._stream())._nextPutNonLocalReturnWith_((function(){
 _st(_st(self)._stream())._nextPutNonLocalReturnWith_((function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedNonLocalReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedNonLocalReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedReturn"],
 args: ["anIRInlinedReturn"],
 source: "visitIRInlinedNonLocalReturn: anIRInlinedReturn\x0a\x09self stream nextPutStatementWith: [\x0a\x09\x09self visit: anIRInlinedReturn instructions last ].\x0a\x09self stream nextPutNonLocalReturnWith: [ ]",
 source: "visitIRInlinedNonLocalReturn: anIRInlinedReturn\x0a\x09self stream nextPutStatementWith: [\x0a\x09\x09self visit: anIRInlinedReturn instructions last ].\x0a\x09self stream nextPutNonLocalReturnWith: [ ]",
@@ -761,7 +819,8 @@ selector: "visitIRInlinedReturn:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedReturn){
 fn: function (anIRInlinedReturn){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedReturn"],
 args: ["anIRInlinedReturn"],
 source: "visitIRInlinedReturn: anIRInlinedReturn\x0a\x09self visit: anIRInlinedReturn instructions last",
 source: "visitIRInlinedReturn: anIRInlinedReturn\x0a\x09self visit: anIRInlinedReturn instructions last",
@@ -777,9 +836,12 @@ selector: "visitIRInlinedSequence:",
 category: 'visiting',
 category: 'visiting',
 fn: function (anIRInlinedSequence){
 fn: function (anIRInlinedSequence){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(anIRInlinedSequence)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._stream())._nextPutStatementWith_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._visit_(each);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(anIRInlinedSequence)._instructions())._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._stream())._nextPutStatementWith_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._visit_(each);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence},smalltalk.IRInliningJSTranslator)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence},smalltalk.IRInliningJSTranslator)})},
@@ -802,7 +864,8 @@ category: 'inlining',
 fn: function (anIRInstruction){
 fn: function (anIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfFalse(){return smalltalk.IRInlinedIfFalse||(typeof IRInlinedIfFalse=="undefined"?nil:IRInlinedIfFalse)}
 function $IRInlinedIfFalse(){return smalltalk.IRInlinedIfFalse||(typeof IRInlinedIfFalse=="undefined"?nil:IRInlinedIfFalse)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_(_st($IRInlinedIfFalse())._new(),anIRInstruction);
 $1=_st(self)._inlinedSend_with_(_st($IRInlinedIfFalse())._new(),anIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
@@ -820,7 +883,8 @@ selector: "ifFalse:ifTrue:",
 category: 'inlining',
 category: 'inlining',
 fn: function (anIRInstruction,anotherIRInstruction){
 fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._perform_withArguments_("ifTrue:ifFalse:",[anotherIRInstruction,anIRInstruction]);
 $1=_st(self)._perform_withArguments_("ifTrue:ifFalse:",[anotherIRInstruction,anIRInstruction]);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
@@ -841,7 +905,8 @@ var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRClosure(){return smalltalk.IRClosure||(typeof IRClosure=="undefined"?nil:IRClosure)}
 function $IRClosure(){return smalltalk.IRClosure||(typeof IRClosure=="undefined"?nil:IRClosure)}
 function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSequence=="undefined"?nil:IRBlockSequence)}
 function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSequence=="undefined"?nil:IRBlockSequence)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$5,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$4,$5,$1;
 $2=_st($IRClosure())._new();
 $2=_st($IRClosure())._new();
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 $3=_st($IRBlockSequence())._new();
 $3=_st($IRBlockSequence())._new();
@@ -867,7 +932,8 @@ category: 'inlining',
 fn: function (anIRInstruction,anotherIRInstruction){
 fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,anotherIRInstruction);
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,anotherIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
@@ -888,7 +954,8 @@ var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRClosure(){return smalltalk.IRClosure||(typeof IRClosure=="undefined"?nil:IRClosure)}
 function $IRClosure(){return smalltalk.IRClosure||(typeof IRClosure=="undefined"?nil:IRClosure)}
 function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSequence=="undefined"?nil:IRBlockSequence)}
 function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSequence=="undefined"?nil:IRBlockSequence)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$5,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$4,$5,$1;
 $2=_st($IRClosure())._new();
 $2=_st($IRClosure())._new();
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 $3=_st($IRBlockSequence())._new();
 $3=_st($IRBlockSequence())._new();
@@ -914,7 +981,8 @@ category: 'inlining',
 fn: function (anIRInstruction,anotherIRInstruction){
 fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anotherIRInstruction,anIRInstruction);
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anotherIRInstruction,anIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
@@ -933,7 +1001,8 @@ category: 'inlining',
 fn: function (anIRInstruction){
 fn: function (anIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfTrue(){return smalltalk.IRInlinedIfTrue||(typeof IRInlinedIfTrue=="undefined"?nil:IRInlinedIfTrue)}
 function $IRInlinedIfTrue(){return smalltalk.IRInlinedIfTrue||(typeof IRInlinedIfTrue=="undefined"?nil:IRInlinedIfTrue)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_(_st($IRInlinedIfTrue())._new(),anIRInstruction);
 $1=_st(self)._inlinedSend_with_(_st($IRInlinedIfTrue())._new(),anIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
@@ -952,7 +1021,8 @@ category: 'inlining',
 fn: function (anIRInstruction,anotherIRInstruction){
 fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
 function $IRInlinedIfTrueIfFalse(){return smalltalk.IRInlinedIfTrueIfFalse||(typeof IRInlinedIfTrueIfFalse=="undefined"?nil:IRInlinedIfTrueIfFalse)}
 function $IRInlinedIfTrueIfFalse(){return smalltalk.IRInlinedIfTrueIfFalse||(typeof IRInlinedIfTrueIfFalse=="undefined"?nil:IRInlinedIfTrueIfFalse)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfTrueIfFalse())._new(),anIRInstruction,anotherIRInstruction);
 $1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfTrueIfFalse())._new(),anIRInstruction,anotherIRInstruction);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
@@ -971,21 +1041,26 @@ category: 'inlining',
 fn: function (anIRClosure){
 fn: function (anIRClosure){
 var self=this;
 var self=this;
 var inlinedClosure,sequence,statements;
 var inlinedClosure,sequence,statements;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 inlinedClosure=_st(self)._inlinedClosure();
 inlinedClosure=_st(self)._inlinedClosure();
 _st(inlinedClosure)._scope_(_st(anIRClosure)._scope());
 _st(inlinedClosure)._scope_(_st(anIRClosure)._scope());
 _st(_st(anIRClosure)._tempDeclarations())._do_((function(each){
 _st(_st(anIRClosure)._tempDeclarations())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(inlinedClosure)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(inlinedClosure)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 sequence=_st(self)._inlinedSequence();
 sequence=_st(self)._inlinedSequence();
 _st(inlinedClosure)._add_(sequence);
 _st(inlinedClosure)._add_(sequence);
 statements=_st(_st(_st(anIRClosure)._instructions())._last())._instructions();
 statements=_st(_st(_st(anIRClosure)._instructions())._last())._instructions();
 _st(statements)._ifNotEmpty_((function(){
 _st(statements)._ifNotEmpty_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(statements)._allButLast())._do_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(sequence)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+_st(_st(statements)._allButLast())._do_((function(each){
+return smalltalk.withContext(function($ctx3) {
+return _st(sequence)._add_(each);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 $1=_st(_st(_st(statements)._last())._isReturn())._and_((function(){
 $1=_st(_st(_st(statements)._last())._isReturn())._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(statements)._last())._isBlockReturn();
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(statements)._last())._isBlockReturn();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 return _st(sequence)._add_(_st(_st(_st(statements)._last())._instructions())._first());
 return _st(sequence)._add_(_st(_st(_st(statements)._last())._instructions())._first());
@@ -1010,7 +1085,8 @@ selector: "inlineSend:",
 category: 'inlining',
 category: 'inlining',
 fn: function (anIRSend){
 fn: function (anIRSend){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._send_(anIRSend);
 _st(self)._send_(anIRSend);
 $1=_st(self)._perform_withArguments_(_st(_st(self)._send())._selector(),_st(_st(_st(self)._send())._instructions())._allButFirst());
 $1=_st(self)._perform_withArguments_(_st(_st(self)._send())._selector(),_st(_st(_st(self)._send())._instructions())._allButFirst());
 return $1;
 return $1;
@@ -1030,7 +1106,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInlinedClosure(){return smalltalk.IRInlinedClosure||(typeof IRInlinedClosure=="undefined"?nil:IRInlinedClosure)}
 function $IRInlinedClosure(){return smalltalk.IRInlinedClosure||(typeof IRInlinedClosure=="undefined"?nil:IRInlinedClosure)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInlinedClosure())._new();
 $1=_st($IRInlinedClosure())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedClosure",{},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedClosure",{},smalltalk.IRSendInliner)})},
@@ -1049,7 +1126,8 @@ category: 'inlining',
 fn: function (inlinedSend,anIRInstruction){
 fn: function (inlinedSend,anIRInstruction){
 var self=this;
 var self=this;
 var inlinedClosure;
 var inlinedClosure;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5;
 $1=_st(anIRInstruction)._isClosure();
 $1=_st(anIRInstruction)._isClosure();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self)._inliningError_("Message argument should be a block");
 _st(self)._inliningError_("Message argument should be a block");
@@ -1081,7 +1159,8 @@ category: 'inlining',
 fn: function (inlinedSend,anIRInstruction,anotherIRInstruction){
 fn: function (inlinedSend,anIRInstruction,anotherIRInstruction){
 var self=this;
 var self=this;
 var inlinedClosure1,inlinedClosure2;
 var inlinedClosure1,inlinedClosure2;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5,$6,$7;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5,$6,$7;
 $1=_st(anIRInstruction)._isClosure();
 $1=_st(anIRInstruction)._isClosure();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self)._inliningError_("Message argument should be a block");
 _st(self)._inliningError_("Message argument should be a block");
@@ -1123,7 +1202,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInlinedSequence(){return smalltalk.IRInlinedSequence||(typeof IRInlinedSequence=="undefined"?nil:IRInlinedSequence)}
 function $IRInlinedSequence(){return smalltalk.IRInlinedSequence||(typeof IRInlinedSequence=="undefined"?nil:IRInlinedSequence)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInlinedSequence())._new();
 $1=_st($IRInlinedSequence())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedSequence",{},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedSequence",{},smalltalk.IRSendInliner)})},
@@ -1142,7 +1222,8 @@ category: 'error handling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $InliningError(){return smalltalk.InliningError||(typeof InliningError=="undefined"?nil:InliningError)}
 function $InliningError(){return smalltalk.InliningError||(typeof InliningError=="undefined"?nil:InliningError)}
-return smalltalk.withContext(function($ctx1) { 
_st($InliningError())._signal_(aString);
+return smalltalk.withContext(function($ctx1) { 
+_st($InliningError())._signal_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"inliningError:",{aString:aString},smalltalk.IRSendInliner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"inliningError:",{aString:aString},smalltalk.IRSendInliner)})},
 args: ["aString"],
 args: ["aString"],
 source: "inliningError: aString\x0a\x09InliningError signal: aString",
 source: "inliningError: aString\x0a\x09InliningError signal: aString",
@@ -1158,7 +1239,8 @@ selector: "send",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@send"];
 $1=self["@send"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"send",{},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"send",{},smalltalk.IRSendInliner)})},
@@ -1176,7 +1258,8 @@ selector: "send:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anIRSend){
 fn: function (anIRSend){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@send"]=anIRSend;
+return smalltalk.withContext(function($ctx1) { 
+self["@send"]=anIRSend;
 return self}, function($ctx1) {$ctx1.fill(self,"send:",{anIRSend:anIRSend},smalltalk.IRSendInliner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"send:",{anIRSend:anIRSend},smalltalk.IRSendInliner)})},
 args: ["anIRSend"],
 args: ["anIRSend"],
 source: "send: anIRSend\x0a\x09send := anIRSend",
 source: "send: anIRSend\x0a\x09send := anIRSend",
@@ -1192,7 +1275,8 @@ selector: "translator",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@translator"];
 $1=self["@translator"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"translator",{},smalltalk.IRSendInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"translator",{},smalltalk.IRSendInliner)})},
@@ -1210,7 +1294,8 @@ selector: "translator:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anASTTranslator){
 fn: function (anASTTranslator){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@translator"]=anASTTranslator;
+return smalltalk.withContext(function($ctx1) { 
+self["@translator"]=anASTTranslator;
 return self}, function($ctx1) {$ctx1.fill(self,"translator:",{anASTTranslator:anASTTranslator},smalltalk.IRSendInliner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"translator:",{anASTTranslator:anASTTranslator},smalltalk.IRSendInliner)})},
 args: ["anASTTranslator"],
 args: ["anASTTranslator"],
 source: "translator: anASTTranslator\x0a\x09translator := anASTTranslator",
 source: "translator: anASTTranslator\x0a\x09translator := anASTTranslator",
@@ -1227,7 +1312,8 @@ selector: "inlinedSelectors",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=["ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:", "ifNil:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil"];
 $1=["ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:", "ifNil:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedSelectors",{},smalltalk.IRSendInliner.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedSelectors",{},smalltalk.IRSendInliner.klass)})},
@@ -1245,7 +1331,8 @@ selector: "shouldInline:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anIRInstruction){
 fn: function (anIRInstruction){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 var $early={};
 var $early={};
 try {
 try {
 $1=_st(_st(self)._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
 $1=_st(_st(self)._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
@@ -1253,7 +1340,8 @@ if(! smalltalk.assert($1)){
 return false;
 return false;
 };
 };
 _st(_st(_st(anIRInstruction)._instructions())._allButFirst())._do_((function(each){
 _st(_st(_st(anIRInstruction)._instructions())._allButFirst())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$2=_st(each)._isClosure();
+return smalltalk.withContext(function($ctx2) {
+$2=_st(each)._isClosure();
 if(! smalltalk.assert($2)){
 if(! smalltalk.assert($2)){
 throw $early=[false];
 throw $early=[false];
 };
 };
@@ -1279,7 +1367,8 @@ selector: "assignment",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@assignment"];
 $1=self["@assignment"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assignment",{},smalltalk.IRAssignmentInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"assignment",{},smalltalk.IRAssignmentInliner)})},
@@ -1297,7 +1386,8 @@ selector: "assignment:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@assignment"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@assignment"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"assignment:",{aNode:aNode},smalltalk.IRAssignmentInliner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"assignment:",{aNode:aNode},smalltalk.IRAssignmentInliner)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "assignment: aNode\x0a\x09assignment := aNode",
 source: "assignment: aNode\x0a\x09assignment := aNode",
@@ -1315,11 +1405,13 @@ fn: function (anIRAssignment){
 var self=this;
 var self=this;
 var inlinedAssignment;
 var inlinedAssignment;
 function $IRInlinedAssignment(){return smalltalk.IRInlinedAssignment||(typeof IRInlinedAssignment=="undefined"?nil:IRInlinedAssignment)}
 function $IRInlinedAssignment(){return smalltalk.IRInlinedAssignment||(typeof IRInlinedAssignment=="undefined"?nil:IRInlinedAssignment)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._assignment_(anIRAssignment);
 _st(self)._assignment_(anIRAssignment);
 inlinedAssignment=_st($IRInlinedAssignment())._new();
 inlinedAssignment=_st($IRInlinedAssignment())._new();
 _st(_st(anIRAssignment)._instructions())._do_((function(each){
 _st(_st(anIRAssignment)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(inlinedAssignment)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(inlinedAssignment)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(anIRAssignment)._replaceWith_(inlinedAssignment);
 _st(anIRAssignment)._replaceWith_(inlinedAssignment);
 _st(self)._inlineSend_(_st(_st(inlinedAssignment)._instructions())._last());
 _st(self)._inlineSend_(_st(_st(inlinedAssignment)._instructions())._last());
@@ -1342,11 +1434,13 @@ fn: function (anIRClosure){
 var self=this;
 var self=this;
 var inlinedClosure,statements;
 var inlinedClosure,statements;
 function $IRAssignment(){return smalltalk.IRAssignment||(typeof IRAssignment=="undefined"?nil:IRAssignment)}
 function $IRAssignment(){return smalltalk.IRAssignment||(typeof IRAssignment=="undefined"?nil:IRAssignment)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 inlinedClosure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 inlinedClosure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 statements=_st(_st(_st(inlinedClosure)._instructions())._last())._instructions();
 statements=_st(_st(_st(inlinedClosure)._instructions())._last())._instructions();
 _st(statements)._ifNotEmpty_((function(){
 _st(statements)._ifNotEmpty_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(statements)._last())._canBeAssigned();
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(statements)._last())._canBeAssigned();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st($IRAssignment())._new();
 $2=_st($IRAssignment())._new();
 _st($2)._add_(_st(_st(_st(self)._assignment())._instructions())._first());
 _st($2)._add_(_st(_st(_st(self)._assignment())._instructions())._first());
@@ -1375,7 +1469,8 @@ selector: "inlineClosure:",
 category: 'inlining',
 category: 'inlining',
 fn: function (anIRClosure){
 fn: function (anIRClosure){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=smalltalk.IRSendInliner.fn.prototype._inlineCLosure_.apply(_st(self), [anIRClosure]);
 $1=smalltalk.IRSendInliner.fn.prototype._inlineCLosure_.apply(_st(self), [anIRClosure]);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure},smalltalk.IRNonLocalReturnInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure},smalltalk.IRNonLocalReturnInliner)})},
@@ -1394,7 +1489,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInlinedNonLocalReturn(){return smalltalk.IRInlinedNonLocalReturn||(typeof IRInlinedNonLocalReturn=="undefined"?nil:IRInlinedNonLocalReturn)}
 function $IRInlinedNonLocalReturn(){return smalltalk.IRInlinedNonLocalReturn||(typeof IRInlinedNonLocalReturn=="undefined"?nil:IRInlinedNonLocalReturn)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInlinedNonLocalReturn())._new();
 $1=_st($IRInlinedNonLocalReturn())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{},smalltalk.IRNonLocalReturnInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{},smalltalk.IRNonLocalReturnInliner)})},
@@ -1418,11 +1514,13 @@ fn: function (anIRClosure){
 var self=this;
 var self=this;
 var closure,statements;
 var closure,statements;
 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 closure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 closure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 statements=_st(_st(_st(closure)._instructions())._last())._instructions();
 statements=_st(_st(_st(closure)._instructions())._last())._instructions();
 _st(statements)._ifNotEmpty_((function(){
 _st(statements)._ifNotEmpty_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(statements)._last())._isReturn();
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(statements)._last())._isReturn();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 $2=_st($IRReturn())._new();
 $2=_st($IRReturn())._new();
 _st($2)._add_(_st(_st(statements)._last())._copy());
 _st($2)._add_(_st(_st(statements)._last())._copy());
@@ -1448,10 +1546,12 @@ category: 'inlining',
 fn: function (anIRReturn){
 fn: function (anIRReturn){
 var self=this;
 var self=this;
 var return_;
 var return_;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 return_=_st(self)._inlinedReturn();
 return_=_st(self)._inlinedReturn();
 _st(_st(anIRReturn)._instructions())._do_((function(each){
 _st(_st(anIRReturn)._instructions())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(return_)._add_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(return_)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(anIRReturn)._replaceWith_(return_);
 _st(anIRReturn)._replaceWith_(return_);
 _st(self)._inlineSend_(_st(_st(return_)._instructions())._last());
 _st(self)._inlineSend_(_st(_st(return_)._instructions())._last());
@@ -1473,7 +1573,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInlinedReturn(){return smalltalk.IRInlinedReturn||(typeof IRInlinedReturn=="undefined"?nil:IRInlinedReturn)}
 function $IRInlinedReturn(){return smalltalk.IRInlinedReturn||(typeof IRInlinedReturn=="undefined"?nil:IRInlinedReturn)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInlinedReturn())._new();
 $1=_st($IRInlinedReturn())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{},smalltalk.IRReturnInliner)})},
 }, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{},smalltalk.IRReturnInliner)})},
@@ -1496,7 +1597,8 @@ category: 'compiling',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 var ir,stream;
 var ir,stream;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 ir=_st(_st(self)._translator())._visit_(aNode);
 ir=_st(_st(self)._translator())._visit_(aNode);
 _st(_st(self)._inliner())._visit_(ir);
 _st(_st(self)._inliner())._visit_(ir);
@@ -1521,7 +1623,8 @@ category: 'compiling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInliner(){return smalltalk.IRInliner||(typeof IRInliner=="undefined"?nil:IRInliner)}
 function $IRInliner(){return smalltalk.IRInliner||(typeof IRInliner=="undefined"?nil:IRInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInliner())._new();
 $1=_st($IRInliner())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inliner",{},smalltalk.InliningCodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"inliner",{},smalltalk.InliningCodeGenerator)})},
@@ -1540,7 +1643,8 @@ category: 'compiling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $IRInliningJSTranslator(){return smalltalk.IRInliningJSTranslator||(typeof IRInliningJSTranslator=="undefined"?nil:IRInliningJSTranslator)}
 function $IRInliningJSTranslator(){return smalltalk.IRInliningJSTranslator||(typeof IRInliningJSTranslator=="undefined"?nil:IRInliningJSTranslator)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($IRInliningJSTranslator())._new();
 $1=_st($IRInliningJSTranslator())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.InliningCodeGenerator)})},
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.InliningCodeGenerator)})},

+ 230 - 115
js/Compiler-Interpreter.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "initializeFromMethodContext:",
 selector: "initializeFromMethodContext:",
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._pc_(_st(aMethodContext)._pc());
 _st(self)._pc_(_st(aMethodContext)._pc());
 _st(self)._receiver_(_st(aMethodContext)._receiver());
 _st(self)._receiver_(_st(aMethodContext)._receiver());
 _st(self)._method_(_st(aMethodContext)._method());
 _st(self)._method_(_st(aMethodContext)._method());
@@ -17,7 +18,8 @@ $1;
 _st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethodContext)._outerContext()));
 _st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethodContext)._outerContext()));
 };
 };
 _st(_st(aMethodContext)._locals())._keysAndValuesDo_((function(key,value){
 _st(_st(aMethodContext)._locals())._keysAndValuesDo_((function(key,value){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._locals())._at_put_(key,value);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._locals())._at_put_(key,value);
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext},smalltalk.AIContext)})},
 messageSends: ["pc:", "pc", "receiver:", "receiver", "method:", "method", "ifNotNil:", "outerContext:", "fromMethodContext:", "outerContext", "class", "keysAndValuesDo:", "at:put:", "locals"]}),
 messageSends: ["pc:", "pc", "receiver:", "receiver", "method:", "method", "ifNotNil:", "outerContext:", "fromMethodContext:", "outerContext", "class", "keysAndValuesDo:", "at:put:", "locals"]}),
@@ -29,9 +31,11 @@ smalltalk.method({
 selector: "localAt:",
 selector: "localAt:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._locals())._at_ifAbsent_(aString,(function(){
 $1=_st(_st(self)._locals())._at_ifAbsent_(aString,(function(){
-return smalltalk.withContext(function($ctx2) {
return nil;
+return smalltalk.withContext(function($ctx2) {
+return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString},smalltalk.AIContext)})},
 }, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString},smalltalk.AIContext)})},
@@ -44,7 +48,8 @@ smalltalk.method({
 selector: "localAt:put:",
 selector: "localAt:put:",
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._locals())._at_put_(aString,anObject);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._locals())._at_put_(aString,anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"localAt:put:",{aString:aString,anObject:anObject},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"localAt:put:",{aString:aString,anObject:anObject},smalltalk.AIContext)})},
 messageSends: ["at:put:", "locals"]}),
 messageSends: ["at:put:", "locals"]}),
 smalltalk.AIContext);
 smalltalk.AIContext);
@@ -56,7 +61,8 @@ selector: "locals",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@locals"];
 $2=self["@locals"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@locals"]=_st($Dictionary())._new();
 self["@locals"]=_st($Dictionary())._new();
@@ -75,7 +81,8 @@ smalltalk.method({
 selector: "method",
 selector: "method",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@method"];
 $1=self["@method"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.AIContext)})},
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.AIContext)})},
@@ -88,7 +95,8 @@ smalltalk.method({
 selector: "method:",
 selector: "method:",
 fn: function (aCompiledMethod){
 fn: function (aCompiledMethod){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@method"]=aCompiledMethod;
+return smalltalk.withContext(function($ctx1) { 
+self["@method"]=aCompiledMethod;
 return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.AIContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AIContext);
 smalltalk.AIContext);
@@ -99,7 +107,8 @@ smalltalk.method({
 selector: "outerContext",
 selector: "outerContext",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@outerContext"];
 $1=self["@outerContext"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.AIContext)})},
 }, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.AIContext)})},
@@ -112,7 +121,8 @@ smalltalk.method({
 selector: "outerContext:",
 selector: "outerContext:",
 fn: function (anAIContext){
 fn: function (anAIContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@outerContext"]=anAIContext;
+return smalltalk.withContext(function($ctx1) { 
+self["@outerContext"]=anAIContext;
 return self}, function($ctx1) {$ctx1.fill(self,"outerContext:",{anAIContext:anAIContext},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"outerContext:",{anAIContext:anAIContext},smalltalk.AIContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AIContext);
 smalltalk.AIContext);
@@ -123,7 +133,8 @@ smalltalk.method({
 selector: "pc",
 selector: "pc",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@pc"];
 $2=self["@pc"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@pc"]=(0);
 self["@pc"]=(0);
@@ -142,7 +153,8 @@ smalltalk.method({
 selector: "pc:",
 selector: "pc:",
 fn: function (anInteger){
 fn: function (anInteger){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@pc"]=anInteger;
+return smalltalk.withContext(function($ctx1) { 
+self["@pc"]=anInteger;
 return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.AIContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AIContext);
 smalltalk.AIContext);
@@ -153,7 +165,8 @@ smalltalk.method({
 selector: "receiver",
 selector: "receiver",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._localAt_("self");
 $1=_st(self)._localAt_("self");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})},
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})},
@@ -166,7 +179,8 @@ smalltalk.method({
 selector: "receiver:",
 selector: "receiver:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._localAt_put_("self",anObject);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._localAt_put_("self",anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.AIContext)})},
 messageSends: ["localAt:put:"]}),
 messageSends: ["localAt:put:"]}),
 smalltalk.AIContext);
 smalltalk.AIContext);
@@ -177,7 +191,8 @@ smalltalk.method({
 selector: "selector",
 selector: "selector",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._metod();
 $2=_st(self)._metod();
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 $1=$2;
@@ -196,7 +211,8 @@ smalltalk.method({
 selector: "fromMethodContext:",
 selector: "fromMethodContext:",
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._initializeFromMethodContext_(aMethodContext);
 _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -217,7 +233,8 @@ var self=this;
 var ast;
 var ast;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 ast=_st(_st($Smalltalk())._current())._parse_(_st(_st(self)._method())._source());
 ast=_st(_st($Smalltalk())._current())._parse_(_st(_st(self)._method())._source());
 _st(_st($SemanticAnalyzer())._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast);
 _st(_st($SemanticAnalyzer())._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast);
 $1=ast;
 $1=ast;
@@ -232,7 +249,8 @@ smalltalk.method({
 selector: "context",
 selector: "context",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@context"];
 $1=self["@context"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.ASTDebugger)})},
 }, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.ASTDebugger)})},
@@ -246,7 +264,8 @@ selector: "context:",
 fn: function (aContext){
 fn: function (aContext){
 var self=this;
 var self=this;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
-return smalltalk.withContext(function($ctx1) { 
self["@context"]=_st($AIContext())._new();
+return smalltalk.withContext(function($ctx1) { 
+self["@context"]=_st($AIContext())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext},smalltalk.ASTDebugger)})},
 messageSends: ["new"]}),
 messageSends: ["new"]}),
 smalltalk.ASTDebugger);
 smalltalk.ASTDebugger);
@@ -258,7 +277,8 @@ selector: "defaultInterpreterClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ASTSteppingInterpreter(){return smalltalk.ASTSteppingInterpreter||(typeof ASTSteppingInterpreter=="undefined"?nil:ASTSteppingInterpreter)}
 function $ASTSteppingInterpreter(){return smalltalk.ASTSteppingInterpreter||(typeof ASTSteppingInterpreter=="undefined"?nil:ASTSteppingInterpreter)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$ASTSteppingInterpreter();
 $1=$ASTSteppingInterpreter();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{},smalltalk.ASTDebugger)})},
 }, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{},smalltalk.ASTDebugger)})},
@@ -271,7 +291,8 @@ smalltalk.method({
 selector: "initializeInterpreter",
 selector: "initializeInterpreter",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._interpreter())._interpret_(_st(_st(_st(self)._buildAST())._nodes())._first());
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._interpreter())._interpret_(_st(_st(_st(self)._buildAST())._nodes())._first());
 return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{},smalltalk.ASTDebugger)})},
 messageSends: ["interpret:", "first", "nodes", "buildAST", "interpreter"]}),
 messageSends: ["interpret:", "first", "nodes", "buildAST", "interpreter"]}),
 smalltalk.ASTDebugger);
 smalltalk.ASTDebugger);
@@ -283,7 +304,8 @@ selector: "initializeWithContext:",
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._context_(_st($AIContext())._fromMethodContext_(aMethodContext));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._context_(_st($AIContext())._fromMethodContext_(aMethodContext));
 _st(self)._initializeInterpreter();
 _st(self)._initializeInterpreter();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext},smalltalk.ASTDebugger)})},
 messageSends: ["context:", "fromMethodContext:", "initializeInterpreter"]}),
 messageSends: ["context:", "fromMethodContext:", "initializeInterpreter"]}),
@@ -295,7 +317,8 @@ smalltalk.method({
 selector: "interpreter",
 selector: "interpreter",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@interpreter"];
 $2=self["@interpreter"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@interpreter"]=_st(_st(self)._defaultInterpreterClass())._new();
 self["@interpreter"]=_st(_st(self)._defaultInterpreterClass())._new();
@@ -314,7 +337,8 @@ smalltalk.method({
 selector: "interpreter:",
 selector: "interpreter:",
 fn: function (anInterpreter){
 fn: function (anInterpreter){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@interpreter"]=anInterpreter;
+return smalltalk.withContext(function($ctx1) { 
+self["@interpreter"]=anInterpreter;
 return self}, function($ctx1) {$ctx1.fill(self,"interpreter:",{anInterpreter:anInterpreter},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpreter:",{anInterpreter:anInterpreter},smalltalk.ASTDebugger)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ASTDebugger);
 smalltalk.ASTDebugger);
@@ -325,7 +349,8 @@ smalltalk.method({
 selector: "method",
 selector: "method",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._context())._method();
 $1=_st(_st(self)._context())._method();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})},
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})},
@@ -338,7 +363,8 @@ smalltalk.method({
 selector: "restart",
 selector: "restart",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"restart",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"restart",{},smalltalk.ASTDebugger)})},
 messageSends: ["shouldBeImplemented"]}),
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
 smalltalk.ASTDebugger);
@@ -349,7 +375,8 @@ smalltalk.method({
 selector: "resume",
 selector: "resume",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.ASTDebugger)})},
 messageSends: ["shouldBeImplemented"]}),
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
 smalltalk.ASTDebugger);
@@ -360,14 +387,19 @@ smalltalk.method({
 selector: "step",
 selector: "step",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(_st(_st(self)._interpreter())._nextNode())._notNil())._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(_st(self)._interpreter())._nextNode())._stopOnStepping();
+return smalltalk.withContext(function($ctx1) { 
+_st((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(_st(_st(self)._interpreter())._nextNode())._notNil())._and_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(_st(self)._interpreter())._nextNode())._stopOnStepping();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._or_((function(){
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._or_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(_st(self)._interpreter())._atEnd())._not();
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(_st(self)._interpreter())._atEnd())._not();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._interpreter())._step();
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._interpreter())._step();
 return _st(self)._step();
 return _st(self)._step();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})},
@@ -380,7 +412,8 @@ smalltalk.method({
 selector: "stepInto",
 selector: "stepInto",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{},smalltalk.ASTDebugger)})},
 messageSends: ["shouldBeImplemented"]}),
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
 smalltalk.ASTDebugger);
@@ -391,7 +424,8 @@ smalltalk.method({
 selector: "stepOver",
 selector: "stepOver",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._step();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._step();
 return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{},smalltalk.ASTDebugger)})},
 messageSends: ["step"]}),
 messageSends: ["step"]}),
 smalltalk.ASTDebugger);
 smalltalk.ASTDebugger);
@@ -403,7 +437,8 @@ smalltalk.method({
 selector: "context:",
 selector: "context:",
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._initializeWithContext_(aMethodContext);
 _st($2)._initializeWithContext_(aMethodContext);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -421,7 +456,8 @@ smalltalk.method({
 selector: "assign:to:",
 selector: "assign:to:",
 fn: function (aNode,anObject){
 fn: function (aNode,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(_st(aNode)._binding())._isInstanceVar();
 $2=_st(_st(aNode)._binding())._isInstanceVar();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(self)._context())._receiver())._instVarAt_put_(_st(aNode)._value(),anObject);
 $1=_st(_st(_st(self)._context())._receiver())._instVarAt_put_(_st(aNode)._value(),anObject);
@@ -440,7 +476,8 @@ selector: "context",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@context"];
 $2=self["@context"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@context"]=_st($AIContext())._new();
 self["@context"]=_st($AIContext())._new();
@@ -459,7 +496,8 @@ smalltalk.method({
 selector: "context:",
 selector: "context:",
 fn: function (anAIContext){
 fn: function (anAIContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@context"]=anAIContext;
+return smalltalk.withContext(function($ctx1) { 
+self["@context"]=anAIContext;
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{anAIContext:anAIContext},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{anAIContext:anAIContext},smalltalk.ASTInterpreter)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ASTInterpreter);
 smalltalk.ASTInterpreter);
@@ -470,7 +508,8 @@ smalltalk.method({
 selector: "continue:value:",
 selector: "continue:value:",
 fn: function (aBlock,anObject){
 fn: function (aBlock,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@result"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@result"]=anObject;
 _st(aBlock)._value_(anObject);
 _st(aBlock)._value_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject},smalltalk.ASTInterpreter)})},
 messageSends: ["value:"]}),
 messageSends: ["value:"]}),
@@ -482,7 +521,8 @@ smalltalk.method({
 selector: "currentNode",
 selector: "currentNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentNode"];
 $1=self["@currentNode"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentNode",{},smalltalk.ASTInterpreter)})},
 }, function($ctx1) {$ctx1.fill(self,"currentNode",{},smalltalk.ASTInterpreter)})},
@@ -498,13 +538,17 @@ var self=this;
 var source,function_;
 var source,function_;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 source=_st($String())._streamContents_((function(str){
 source=_st($String())._streamContents_((function(str){
-return smalltalk.withContext(function($ctx2) {
_st(str)._nextPutAll_("(function(");
+return smalltalk.withContext(function($ctx2) {
+_st(str)._nextPutAll_("(function(");
 _st(_st(_st(_st(self)._context())._locals())._keys())._do_separatedBy_((function(each){
 _st(_st(_st(_st(self)._context())._locals())._keys())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(str)._nextPutAll_(each);
+return smalltalk.withContext(function($ctx3) {
+return _st(str)._nextPutAll_(each);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx3) {
return _st(str)._nextPutAll_(",");
+return smalltalk.withContext(function($ctx3) {
+return _st(str)._nextPutAll_(",");
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 $1=str;
 $1=str;
 _st($1)._nextPutAll_("){ return (function() {");
 _st($1)._nextPutAll_("){ return (function() {");
@@ -525,7 +569,8 @@ smalltalk.method({
 selector: "initialize",
 selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@shouldReturn"]=false;
 self["@shouldReturn"]=false;
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTInterpreter)})},
 messageSends: ["initialize"]}),
 messageSends: ["initialize"]}),
@@ -537,9 +582,11 @@ smalltalk.method({
 selector: "interpret:",
 selector: "interpret:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@shouldReturn"]=false;
+return smalltalk.withContext(function($ctx1) { 
+self["@shouldReturn"]=false;
 _st(self)._interpret_continue_(aNode,(function(value){
 _st(self)._interpret_continue_(aNode,(function(value){
-return smalltalk.withContext(function($ctx2) {
self["@result"]=value;
+return smalltalk.withContext(function($ctx2) {
+self["@result"]=value;
 return self["@result"];
 return self["@result"];
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode},smalltalk.ASTInterpreter)})},
@@ -552,7 +599,8 @@ smalltalk.method({
 selector: "interpret:continue:",
 selector: "interpret:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=self["@shouldReturn"];
 $1=self["@shouldReturn"];
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=self;
 $2=self;
@@ -563,7 +611,8 @@ if(smalltalk.assert($3)){
 self["@currentNode"]=aNode;
 self["@currentNode"]=aNode;
 self["@currentNode"];
 self["@currentNode"];
 _st(self)._interpretNode_continue_(aNode,(function(value){
 _st(self)._interpretNode_continue_(aNode,(function(value){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,value);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 } else {
 } else {
 _st(self)._continue_value_(aBlock,aNode);
 _st(self)._continue_value_(aBlock,aNode);
@@ -579,7 +628,8 @@ selector: "interpretAll:continue:",
 fn: function (aCollection,aBlock){
 fn: function (aCollection,aBlock){
 var self=this;
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_result_(aCollection,aBlock,_st($OrderedCollection())._new());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_result_(aCollection,aBlock,_st($OrderedCollection())._new());
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:",{aCollection:aCollection,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:",{aCollection:aCollection,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretAll:continue:result:", "new"]}),
 messageSends: ["interpretAll:continue:result:", "new"]}),
 smalltalk.ASTInterpreter);
 smalltalk.ASTInterpreter);
@@ -590,13 +640,15 @@ smalltalk.method({
 selector: "interpretAll:continue:result:",
 selector: "interpretAll:continue:result:",
 fn: function (nodes,aBlock,aCollection){
 fn: function (nodes,aBlock,aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(nodes)._isEmpty();
 $1=_st(nodes)._isEmpty();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(self)._continue_value_(aBlock,aCollection);
 _st(self)._continue_value_(aBlock,aCollection);
 } else {
 } else {
 _st(self)._interpret_continue_(_st(nodes)._first(),(function(value){
 _st(self)._interpret_continue_(_st(nodes)._first(),(function(value){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._interpretAll_continue_result_(_st(nodes)._allButFirst(),aBlock,_st(aCollection).__comma([value]));
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._interpretAll_continue_result_(_st(nodes)._allButFirst(),aBlock,_st(aCollection).__comma([value]));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 };
 };
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:result:",{nodes:nodes,aBlock:aBlock,aCollection:aCollection},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:result:",{nodes:nodes,aBlock:aBlock,aCollection:aCollection},smalltalk.ASTInterpreter)})},
@@ -609,8 +661,10 @@ smalltalk.method({
 selector: "interpretAssignmentNode:continue:",
 selector: "interpretAssignmentNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(self)._assign_to_(_st(aNode)._left(),value));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,_st(self)._assign_to_(_st(aNode)._left(),value));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpret:continue:", "right", "continue:value:", "assign:to:", "left"]}),
 messageSends: ["interpret:continue:", "right", "continue:value:", "assign:to:", "left"]}),
@@ -622,9 +676,11 @@ smalltalk.method({
 selector: "interpretBlockNode:continue:",
 selector: "interpretBlockNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(self)._continue_value_(aBlock,(function(){
 _st(self)._continue_value_(aBlock,(function(){
-return smalltalk.withContext(function($ctx2) {
$1=self;
+return smalltalk.withContext(function($ctx2) {
+$1=self;
 _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 $2=_st($1)._result();
 $2=_st($1)._result();
 return $2;
 return $2;
@@ -639,7 +695,8 @@ smalltalk.method({
 selector: "interpretBlockSequenceNode:continue:",
 selector: "interpretBlockSequenceNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretSequenceNode_continue_(aNode,aBlock);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretSequenceNode_continue_(aNode,aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretSequenceNode:continue:"]}),
 messageSends: ["interpretSequenceNode:continue:"]}),
 smalltalk.ASTInterpreter);
 smalltalk.ASTInterpreter);
@@ -650,13 +707,18 @@ smalltalk.method({
 selector: "interpretCascadeNode:continue:",
 selector: "interpretCascadeNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
-return smalltalk.withContext(function($ctx2) {
_st(_st(aNode)._nodes())._do_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(each)._receiver_(receiver);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(aNode)._nodes())._do_((function(each){
+return smalltalk.withContext(function($ctx3) {
+return _st(each)._receiver_(receiver);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 return _st(self)._interpretAll_continue_(_st(_st(aNode)._nodes())._allButLast(),(function(){
 return _st(self)._interpretAll_continue_(_st(_st(aNode)._nodes())._allButLast(),(function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._interpret_continue_(_st(_st(aNode)._nodes())._last(),(function(val){
-return smalltalk.withContext(function($ctx4) {
return _st(self)._continue_value_(aBlock,val);
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._interpret_continue_(_st(_st(aNode)._nodes())._last(),(function(val){
+return smalltalk.withContext(function($ctx4) {
+return _st(self)._continue_value_(aBlock,val);
 }, function($ctx4) {$ctx4.fillBlock({val:val},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({val:val},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
@@ -671,7 +733,8 @@ selector: "interpretClassReferenceNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(_st($Smalltalk())._current())._at_(_st(aNode)._value()));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._continue_value_(aBlock,_st(_st($Smalltalk())._current())._at_(_st(aNode)._value()));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretClassReferenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretClassReferenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["continue:value:", "at:", "value", "current"]}),
 messageSends: ["continue:value:", "at:", "value", "current"]}),
 smalltalk.ASTInterpreter);
 smalltalk.ASTInterpreter);
@@ -682,8 +745,10 @@ smalltalk.method({
 selector: "interpretDynamicArrayNode:continue:",
 selector: "interpretDynamicArrayNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,array);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,array);
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:"]}),
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:"]}),
@@ -696,12 +761,15 @@ selector: "interpretDynamicDictionaryNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
 function $HashedCollection(){return smalltalk.HashedCollection||(typeof HashedCollection=="undefined"?nil:HashedCollection)}
 function $HashedCollection(){return smalltalk.HashedCollection||(typeof HashedCollection=="undefined"?nil:HashedCollection)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 var hashedCollection;
 var hashedCollection;
-return smalltalk.withContext(function($ctx2) {
hashedCollection=_st($HashedCollection())._new();
+return smalltalk.withContext(function($ctx2) {
+hashedCollection=_st($HashedCollection())._new();
 hashedCollection;
 hashedCollection;
 _st(array)._do_((function(each){
 _st(array)._do_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(hashedCollection)._add_(each);
+return smalltalk.withContext(function($ctx3) {
+return _st(hashedCollection)._add_(each);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 return _st(self)._continue_value_(aBlock,hashedCollection);
 return _st(self)._continue_value_(aBlock,hashedCollection);
 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})}));
@@ -715,7 +783,8 @@ smalltalk.method({
 selector: "interpretJSStatementNode:continue:",
 selector: "interpretJSStatementNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@shouldReturn"]=true;
+return smalltalk.withContext(function($ctx1) { 
+self["@shouldReturn"]=true;
 _st(self)._continue_value_(aBlock,_st(self)._eval_(_st(aNode)._source()));
 _st(self)._continue_value_(aBlock,_st(self)._eval_(_st(aNode)._source()));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["continue:value:", "eval:", "source"]}),
 messageSends: ["continue:value:", "eval:", "source"]}),
@@ -727,8 +796,10 @@ smalltalk.method({
 selector: "interpretMethodNode:continue:",
 selector: "interpretMethodNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._first());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,_st(array)._first());
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "first"]}),
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "first"]}),
@@ -740,7 +811,8 @@ smalltalk.method({
 selector: "interpretNode:continue:",
 selector: "interpretNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aNode)._interpreter_continue_(self,aBlock);
+return smalltalk.withContext(function($ctx1) { 
+_st(aNode)._interpreter_continue_(self,aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"interpretNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpreter:continue:"]}),
 messageSends: ["interpreter:continue:"]}),
 smalltalk.ASTInterpreter);
 smalltalk.ASTInterpreter);
@@ -751,8 +823,10 @@ smalltalk.method({
 selector: "interpretReturnNode:continue:",
 selector: "interpretReturnNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(_st(aNode)._nodes())._first(),(function(value){
-return smalltalk.withContext(function($ctx2) {
self["@shouldReturn"]=true;
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_continue_(_st(_st(aNode)._nodes())._first(),(function(value){
+return smalltalk.withContext(function($ctx2) {
+self["@shouldReturn"]=true;
 self["@shouldReturn"];
 self["@shouldReturn"];
 return _st(self)._continue_value_(aBlock,value);
 return _st(self)._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
@@ -766,10 +840,14 @@ smalltalk.method({
 selector: "interpretSendNode:continue:",
 selector: "interpretSendNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._interpretAll_continue_(_st(aNode)._arguments(),(function(args){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._messageFromSendNode_arguments_do_(aNode,args,(function(message){
-return smalltalk.withContext(function($ctx4) {
_st(_st(self)._context())._pc_(_st(_st(_st(self)._context())._pc()).__plus((1)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._interpretAll_continue_(_st(aNode)._arguments(),(function(args){
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._messageFromSendNode_arguments_do_(aNode,args,(function(message){
+return smalltalk.withContext(function($ctx4) {
+_st(_st(self)._context())._pc_(_st(_st(_st(self)._context())._pc()).__plus((1)));
 return _st(self)._continue_value_(aBlock,_st(message)._sendTo_(receiver));
 return _st(self)._continue_value_(aBlock,_st(message)._sendTo_(receiver));
 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
@@ -784,8 +862,10 @@ smalltalk.method({
 selector: "interpretSequenceNode:continue:",
 selector: "interpretSequenceNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._last());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,_st(array)._last());
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "last"]}),
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "last"]}),
@@ -797,7 +877,8 @@ smalltalk.method({
 selector: "interpretValueNode:continue:",
 selector: "interpretValueNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(aNode)._value());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._continue_value_(aBlock,_st(aNode)._value());
 return self}, function($ctx1) {$ctx1.fill(self,"interpretValueNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretValueNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["continue:value:", "value"]}),
 messageSends: ["continue:value:", "value"]}),
 smalltalk.ASTInterpreter);
 smalltalk.ASTInterpreter);
@@ -808,7 +889,8 @@ smalltalk.method({
 selector: "interpretVariableNode:continue:",
 selector: "interpretVariableNode:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$4,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$4,$3;
 $1=self;
 $1=self;
 $2=aBlock;
 $2=aBlock;
 $4=_st(_st(aNode)._binding())._isInstanceVar();
 $4=_st(_st(aNode)._binding())._isInstanceVar();
@@ -829,7 +911,8 @@ selector: "messageFromSendNode:arguments:do:",
 fn: function (aSendNode,aCollection,aBlock){
 fn: function (aSendNode,aCollection,aBlock){
 var self=this;
 var self=this;
 function $Message(){return smalltalk.Message||(typeof Message=="undefined"?nil:Message)}
 function $Message(){return smalltalk.Message||(typeof Message=="undefined"?nil:Message)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($Message())._new();
 $1=_st($Message())._new();
 _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._arguments_(aCollection);
 _st($1)._arguments_(aCollection);
@@ -845,7 +928,8 @@ smalltalk.method({
 selector: "result",
 selector: "result",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 $1=self["@result"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ASTInterpreter)})},
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ASTInterpreter)})},
@@ -858,7 +942,8 @@ smalltalk.method({
 selector: "shouldReturn",
 selector: "shouldReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@shouldReturn"];
 $2=self["@shouldReturn"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -879,9 +964,11 @@ smalltalk.method({
 selector: "atEnd",
 selector: "atEnd",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._shouldReturn())._or_((function(){
 $1=_st(_st(self)._shouldReturn())._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})},
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})},
@@ -894,9 +981,11 @@ smalltalk.method({
 selector: "initialize",
 selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.ASTInterpreter.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.ASTInterpreter.fn.prototype._initialize.apply(_st(self), []);
 self["@continuation"]=(function(){
 self["@continuation"]=(function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTSteppingInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTSteppingInterpreter)})},
 messageSends: ["initialize"]}),
 messageSends: ["initialize"]}),
 smalltalk.ASTSteppingInterpreter);
 smalltalk.ASTSteppingInterpreter);
@@ -907,9 +996,11 @@ smalltalk.method({
 selector: "interpret:continue:",
 selector: "interpret:continue:",
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@nextNode"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@nextNode"]=aNode;
 self["@continuation"]=(function(){
 self["@continuation"]=(function(){
-return smalltalk.withContext(function($ctx2) {
return smalltalk.ASTInterpreter.fn.prototype._interpret_continue_.apply(_st(self), [aNode,aBlock]);
+return smalltalk.withContext(function($ctx2) {
+return smalltalk.ASTInterpreter.fn.prototype._interpret_continue_.apply(_st(self), [aNode,aBlock]);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTSteppingInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTSteppingInterpreter)})},
 messageSends: ["interpret:continue:"]}),
 messageSends: ["interpret:continue:"]}),
@@ -921,7 +1012,8 @@ smalltalk.method({
 selector: "nextNode",
 selector: "nextNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@nextNode"];
 $1=self["@nextNode"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTSteppingInterpreter)})},
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTSteppingInterpreter)})},
@@ -934,7 +1026,8 @@ smalltalk.method({
 selector: "step",
 selector: "step",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@continuation"])._value();
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@continuation"])._value();
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTSteppingInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTSteppingInterpreter)})},
 messageSends: ["value"]}),
 messageSends: ["value"]}),
 smalltalk.ASTSteppingInterpreter);
 smalltalk.ASTSteppingInterpreter);
@@ -947,7 +1040,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.Node)})},
@@ -960,7 +1054,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 selector: "isSteppingNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.Node)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Node);
 smalltalk.Node);
@@ -971,7 +1066,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.AssignmentNode)})},
@@ -984,7 +1080,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 selector: "isSteppingNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.AssignmentNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AssignmentNode);
 smalltalk.AssignmentNode);
@@ -995,7 +1092,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockNode)})},
@@ -1008,7 +1106,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 selector: "isSteppingNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.BlockNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockNode);
 smalltalk.BlockNode);
@@ -1019,7 +1118,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.CascadeNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.CascadeNode)})},
@@ -1032,7 +1132,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicArrayNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicArrayNode)})},
@@ -1045,7 +1146,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 selector: "isSteppingNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicArrayNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicArrayNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.DynamicArrayNode);
 smalltalk.DynamicArrayNode);
@@ -1056,7 +1158,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicDictionaryNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicDictionaryNode)})},
@@ -1069,7 +1172,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 selector: "isSteppingNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicDictionaryNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicDictionaryNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.DynamicDictionaryNode);
 smalltalk.DynamicDictionaryNode);
@@ -1080,7 +1184,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.JSStatementNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.JSStatementNode)})},
@@ -1093,7 +1198,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 selector: "isSteppingNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.JSStatementNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.JSStatementNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JSStatementNode);
 smalltalk.JSStatementNode);
@@ -1104,7 +1210,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.MethodNode)})},
@@ -1117,7 +1224,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ReturnNode)})},
@@ -1130,7 +1238,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SendNode)})},
@@ -1143,7 +1252,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 selector: "isSteppingNode",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.SendNode)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SendNode);
 smalltalk.SendNode);
@@ -1154,7 +1264,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SequenceNode)})},
@@ -1167,7 +1278,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockSequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockSequenceNode)})},
@@ -1180,7 +1292,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ValueNode)})},
@@ -1193,7 +1306,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.VariableNode)})},
@@ -1206,7 +1320,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ClassReferenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ClassReferenceNode)})},

+ 230 - 115
js/Compiler-Interpreter.js

@@ -8,7 +8,8 @@ selector: "initializeFromMethodContext:",
 category: 'initialization',
 category: 'initialization',
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._pc_(_st(aMethodContext)._pc());
 _st(self)._pc_(_st(aMethodContext)._pc());
 _st(self)._receiver_(_st(aMethodContext)._receiver());
 _st(self)._receiver_(_st(aMethodContext)._receiver());
 _st(self)._method_(_st(aMethodContext)._method());
 _st(self)._method_(_st(aMethodContext)._method());
@@ -19,7 +20,8 @@ $1;
 _st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethodContext)._outerContext()));
 _st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethodContext)._outerContext()));
 };
 };
 _st(_st(aMethodContext)._locals())._keysAndValuesDo_((function(key,value){
 _st(_st(aMethodContext)._locals())._keysAndValuesDo_((function(key,value){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._locals())._at_put_(key,value);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._locals())._at_put_(key,value);
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext},smalltalk.AIContext)})},
 args: ["aMethodContext"],
 args: ["aMethodContext"],
@@ -36,9 +38,11 @@ selector: "localAt:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._locals())._at_ifAbsent_(aString,(function(){
 $1=_st(_st(self)._locals())._at_ifAbsent_(aString,(function(){
-return smalltalk.withContext(function($ctx2) {
return nil;
+return smalltalk.withContext(function($ctx2) {
+return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString},smalltalk.AIContext)})},
 }, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString},smalltalk.AIContext)})},
@@ -56,7 +60,8 @@ selector: "localAt:put:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._locals())._at_put_(aString,anObject);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._locals())._at_put_(aString,anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"localAt:put:",{aString:aString,anObject:anObject},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"localAt:put:",{aString:aString,anObject:anObject},smalltalk.AIContext)})},
 args: ["aString", "anObject"],
 args: ["aString", "anObject"],
 source: "localAt: aString put: anObject\x0a\x09self locals at: aString put: anObject",
 source: "localAt: aString put: anObject\x0a\x09self locals at: aString put: anObject",
@@ -73,7 +78,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@locals"];
 $2=self["@locals"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@locals"]=_st($Dictionary())._new();
 self["@locals"]=_st($Dictionary())._new();
@@ -97,7 +103,8 @@ selector: "method",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@method"];
 $1=self["@method"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.AIContext)})},
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.AIContext)})},
@@ -115,7 +122,8 @@ selector: "method:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCompiledMethod){
 fn: function (aCompiledMethod){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@method"]=aCompiledMethod;
+return smalltalk.withContext(function($ctx1) { 
+self["@method"]=aCompiledMethod;
 return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.AIContext)})},
 args: ["aCompiledMethod"],
 args: ["aCompiledMethod"],
 source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod",
 source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod",
@@ -131,7 +139,8 @@ selector: "outerContext",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@outerContext"];
 $1=self["@outerContext"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.AIContext)})},
 }, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.AIContext)})},
@@ -149,7 +158,8 @@ selector: "outerContext:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anAIContext){
 fn: function (anAIContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@outerContext"]=anAIContext;
+return smalltalk.withContext(function($ctx1) { 
+self["@outerContext"]=anAIContext;
 return self}, function($ctx1) {$ctx1.fill(self,"outerContext:",{anAIContext:anAIContext},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"outerContext:",{anAIContext:anAIContext},smalltalk.AIContext)})},
 args: ["anAIContext"],
 args: ["anAIContext"],
 source: "outerContext: anAIContext\x0a\x09outerContext := anAIContext",
 source: "outerContext: anAIContext\x0a\x09outerContext := anAIContext",
@@ -165,7 +175,8 @@ selector: "pc",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@pc"];
 $2=self["@pc"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@pc"]=(0);
 self["@pc"]=(0);
@@ -189,7 +200,8 @@ selector: "pc:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anInteger){
 fn: function (anInteger){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@pc"]=anInteger;
+return smalltalk.withContext(function($ctx1) { 
+self["@pc"]=anInteger;
 return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.AIContext)})},
 args: ["anInteger"],
 args: ["anInteger"],
 source: "pc: anInteger\x0a\x09pc := anInteger",
 source: "pc: anInteger\x0a\x09pc := anInteger",
@@ -205,7 +217,8 @@ selector: "receiver",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._localAt_("self");
 $1=_st(self)._localAt_("self");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})},
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})},
@@ -223,7 +236,8 @@ selector: "receiver:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._localAt_put_("self",anObject);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._localAt_put_("self",anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.AIContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.AIContext)})},
 args: ["anObject"],
 args: ["anObject"],
 source: "receiver: anObject\x0a\x09self localAt: 'self' put: anObject",
 source: "receiver: anObject\x0a\x09self localAt: 'self' put: anObject",
@@ -239,7 +253,8 @@ selector: "selector",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._metod();
 $2=_st(self)._metod();
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 $1=$2;
@@ -263,7 +278,8 @@ selector: "fromMethodContext:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._initializeFromMethodContext_(aMethodContext);
 _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -290,7 +306,8 @@ var self=this;
 var ast;
 var ast;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 ast=_st(_st($Smalltalk())._current())._parse_(_st(_st(self)._method())._source());
 ast=_st(_st($Smalltalk())._current())._parse_(_st(_st(self)._method())._source());
 _st(_st($SemanticAnalyzer())._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast);
 _st(_st($SemanticAnalyzer())._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast);
 $1=ast;
 $1=ast;
@@ -310,7 +327,8 @@ selector: "context",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@context"];
 $1=self["@context"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.ASTDebugger)})},
 }, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.ASTDebugger)})},
@@ -329,7 +347,8 @@ category: 'accessing',
 fn: function (aContext){
 fn: function (aContext){
 var self=this;
 var self=this;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
-return smalltalk.withContext(function($ctx1) { 
self["@context"]=_st($AIContext())._new();
+return smalltalk.withContext(function($ctx1) { 
+self["@context"]=_st($AIContext())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext},smalltalk.ASTDebugger)})},
 args: ["aContext"],
 args: ["aContext"],
 source: "context: aContext\x0a\x09context := AIContext new.",
 source: "context: aContext\x0a\x09context := AIContext new.",
@@ -346,7 +365,8 @@ category: 'defaults',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ASTSteppingInterpreter(){return smalltalk.ASTSteppingInterpreter||(typeof ASTSteppingInterpreter=="undefined"?nil:ASTSteppingInterpreter)}
 function $ASTSteppingInterpreter(){return smalltalk.ASTSteppingInterpreter||(typeof ASTSteppingInterpreter=="undefined"?nil:ASTSteppingInterpreter)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$ASTSteppingInterpreter();
 $1=$ASTSteppingInterpreter();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{},smalltalk.ASTDebugger)})},
 }, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{},smalltalk.ASTDebugger)})},
@@ -364,7 +384,8 @@ selector: "initializeInterpreter",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._interpreter())._interpret_(_st(_st(_st(self)._buildAST())._nodes())._first());
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._interpreter())._interpret_(_st(_st(_st(self)._buildAST())._nodes())._first());
 return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{},smalltalk.ASTDebugger)})},
 args: [],
 args: [],
 source: "initializeInterpreter\x0a\x09self interpreter interpret: self buildAST nodes first",
 source: "initializeInterpreter\x0a\x09self interpreter interpret: self buildAST nodes first",
@@ -381,7 +402,8 @@ category: 'initialization',
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._context_(_st($AIContext())._fromMethodContext_(aMethodContext));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._context_(_st($AIContext())._fromMethodContext_(aMethodContext));
 _st(self)._initializeInterpreter();
 _st(self)._initializeInterpreter();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext},smalltalk.ASTDebugger)})},
 args: ["aMethodContext"],
 args: ["aMethodContext"],
@@ -398,7 +420,8 @@ selector: "interpreter",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@interpreter"];
 $2=self["@interpreter"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@interpreter"]=_st(_st(self)._defaultInterpreterClass())._new();
 self["@interpreter"]=_st(_st(self)._defaultInterpreterClass())._new();
@@ -422,7 +445,8 @@ selector: "interpreter:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anInterpreter){
 fn: function (anInterpreter){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@interpreter"]=anInterpreter;
+return smalltalk.withContext(function($ctx1) { 
+self["@interpreter"]=anInterpreter;
 return self}, function($ctx1) {$ctx1.fill(self,"interpreter:",{anInterpreter:anInterpreter},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpreter:",{anInterpreter:anInterpreter},smalltalk.ASTDebugger)})},
 args: ["anInterpreter"],
 args: ["anInterpreter"],
 source: "interpreter: anInterpreter\x0a\x09interpreter := anInterpreter",
 source: "interpreter: anInterpreter\x0a\x09interpreter := anInterpreter",
@@ -438,7 +462,8 @@ selector: "method",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._context())._method();
 $1=_st(_st(self)._context())._method();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})},
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})},
@@ -456,7 +481,8 @@ selector: "restart",
 category: 'stepping',
 category: 'stepping',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"restart",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"restart",{},smalltalk.ASTDebugger)})},
 args: [],
 args: [],
 source: "restart\x0a\x09self shouldBeImplemented",
 source: "restart\x0a\x09self shouldBeImplemented",
@@ -472,7 +498,8 @@ selector: "resume",
 category: 'stepping',
 category: 'stepping',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.ASTDebugger)})},
 args: [],
 args: [],
 source: "resume\x0a\x09self shouldBeImplemented",
 source: "resume\x0a\x09self shouldBeImplemented",
@@ -488,14 +515,19 @@ selector: "step",
 category: 'stepping',
 category: 'stepping',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(_st(_st(self)._interpreter())._nextNode())._notNil())._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(_st(self)._interpreter())._nextNode())._stopOnStepping();
+return smalltalk.withContext(function($ctx1) { 
+_st((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(_st(_st(self)._interpreter())._nextNode())._notNil())._and_((function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(_st(self)._interpreter())._nextNode())._stopOnStepping();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._or_((function(){
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._or_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(_st(self)._interpreter())._atEnd())._not();
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(_st(self)._interpreter())._atEnd())._not();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(_st(self)._interpreter())._step();
+return smalltalk.withContext(function($ctx2) {
+_st(_st(self)._interpreter())._step();
 return _st(self)._step();
 return _st(self)._step();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})},
@@ -513,7 +545,8 @@ selector: "stepInto",
 category: 'stepping',
 category: 'stepping',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{},smalltalk.ASTDebugger)})},
 args: [],
 args: [],
 source: "stepInto\x0a\x09self shouldBeImplemented",
 source: "stepInto\x0a\x09self shouldBeImplemented",
@@ -529,7 +562,8 @@ selector: "stepOver",
 category: 'stepping',
 category: 'stepping',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._step();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._step();
 return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{},smalltalk.ASTDebugger)})},
 return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{},smalltalk.ASTDebugger)})},
 args: [],
 args: [],
 source: "stepOver\x0a\x09self step",
 source: "stepOver\x0a\x09self step",
@@ -546,7 +580,8 @@ selector: "context:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._initializeWithContext_(aMethodContext);
 _st($2)._initializeWithContext_(aMethodContext);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -570,7 +605,8 @@ selector: "assign:to:",
 category: 'private',
 category: 'private',
 fn: function (aNode,anObject){
 fn: function (aNode,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(_st(aNode)._binding())._isInstanceVar();
 $2=_st(_st(aNode)._binding())._isInstanceVar();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(self)._context())._receiver())._instVarAt_put_(_st(aNode)._value(),anObject);
 $1=_st(_st(_st(self)._context())._receiver())._instVarAt_put_(_st(aNode)._value(),anObject);
@@ -594,7 +630,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@context"];
 $2=self["@context"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@context"]=_st($AIContext())._new();
 self["@context"]=_st($AIContext())._new();
@@ -618,7 +655,8 @@ selector: "context:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anAIContext){
 fn: function (anAIContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@context"]=anAIContext;
+return smalltalk.withContext(function($ctx1) { 
+self["@context"]=anAIContext;
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{anAIContext:anAIContext},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{anAIContext:anAIContext},smalltalk.ASTInterpreter)})},
 args: ["anAIContext"],
 args: ["anAIContext"],
 source: "context: anAIContext\x0a\x09context := anAIContext",
 source: "context: anAIContext\x0a\x09context := anAIContext",
@@ -634,7 +672,8 @@ selector: "continue:value:",
 category: 'private',
 category: 'private',
 fn: function (aBlock,anObject){
 fn: function (aBlock,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@result"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@result"]=anObject;
 _st(aBlock)._value_(anObject);
 _st(aBlock)._value_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject},smalltalk.ASTInterpreter)})},
 args: ["aBlock", "anObject"],
 args: ["aBlock", "anObject"],
@@ -651,7 +690,8 @@ selector: "currentNode",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentNode"];
 $1=self["@currentNode"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentNode",{},smalltalk.ASTInterpreter)})},
 }, function($ctx1) {$ctx1.fill(self,"currentNode",{},smalltalk.ASTInterpreter)})},
@@ -672,13 +712,17 @@ var self=this;
 var source,function_;
 var source,function_;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 source=_st($String())._streamContents_((function(str){
 source=_st($String())._streamContents_((function(str){
-return smalltalk.withContext(function($ctx2) {
_st(str)._nextPutAll_("(function(");
+return smalltalk.withContext(function($ctx2) {
+_st(str)._nextPutAll_("(function(");
 _st(_st(_st(_st(self)._context())._locals())._keys())._do_separatedBy_((function(each){
 _st(_st(_st(_st(self)._context())._locals())._keys())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(str)._nextPutAll_(each);
+return smalltalk.withContext(function($ctx3) {
+return _st(str)._nextPutAll_(each);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx3) {
return _st(str)._nextPutAll_(",");
+return smalltalk.withContext(function($ctx3) {
+return _st(str)._nextPutAll_(",");
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 $1=str;
 $1=str;
 _st($1)._nextPutAll_("){ return (function() {");
 _st($1)._nextPutAll_("){ return (function() {");
@@ -704,7 +748,8 @@ selector: "initialize",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@shouldReturn"]=false;
 self["@shouldReturn"]=false;
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTInterpreter)})},
 args: [],
 args: [],
@@ -721,9 +766,11 @@ selector: "interpret:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@shouldReturn"]=false;
+return smalltalk.withContext(function($ctx1) { 
+self["@shouldReturn"]=false;
 _st(self)._interpret_continue_(aNode,(function(value){
 _st(self)._interpret_continue_(aNode,(function(value){
-return smalltalk.withContext(function($ctx2) {
self["@result"]=value;
+return smalltalk.withContext(function($ctx2) {
+self["@result"]=value;
 return self["@result"];
 return self["@result"];
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode},smalltalk.ASTInterpreter)})},
@@ -741,7 +788,8 @@ selector: "interpret:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=self["@shouldReturn"];
 $1=self["@shouldReturn"];
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=self;
 $2=self;
@@ -752,7 +800,8 @@ if(smalltalk.assert($3)){
 self["@currentNode"]=aNode;
 self["@currentNode"]=aNode;
 self["@currentNode"];
 self["@currentNode"];
 _st(self)._interpretNode_continue_(aNode,(function(value){
 _st(self)._interpretNode_continue_(aNode,(function(value){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,value);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 } else {
 } else {
 _st(self)._continue_value_(aBlock,aNode);
 _st(self)._continue_value_(aBlock,aNode);
@@ -773,7 +822,8 @@ category: 'private',
 fn: function (aCollection,aBlock){
 fn: function (aCollection,aBlock){
 var self=this;
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_result_(aCollection,aBlock,_st($OrderedCollection())._new());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_result_(aCollection,aBlock,_st($OrderedCollection())._new());
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:",{aCollection:aCollection,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:",{aCollection:aCollection,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aCollection", "aBlock"],
 args: ["aCollection", "aBlock"],
 source: "interpretAll: aCollection continue: aBlock\x0a\x09self\x0a\x09\x09interpretAll: aCollection\x0a\x09\x09continue: aBlock\x0a\x09\x09result: OrderedCollection new",
 source: "interpretAll: aCollection continue: aBlock\x0a\x09self\x0a\x09\x09interpretAll: aCollection\x0a\x09\x09continue: aBlock\x0a\x09\x09result: OrderedCollection new",
@@ -789,13 +839,15 @@ selector: "interpretAll:continue:result:",
 category: 'private',
 category: 'private',
 fn: function (nodes,aBlock,aCollection){
 fn: function (nodes,aBlock,aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(nodes)._isEmpty();
 $1=_st(nodes)._isEmpty();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(self)._continue_value_(aBlock,aCollection);
 _st(self)._continue_value_(aBlock,aCollection);
 } else {
 } else {
 _st(self)._interpret_continue_(_st(nodes)._first(),(function(value){
 _st(self)._interpret_continue_(_st(nodes)._first(),(function(value){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._interpretAll_continue_result_(_st(nodes)._allButFirst(),aBlock,_st(aCollection).__comma([value]));
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._interpretAll_continue_result_(_st(nodes)._allButFirst(),aBlock,_st(aCollection).__comma([value]));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 };
 };
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:result:",{nodes:nodes,aBlock:aBlock,aCollection:aCollection},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:result:",{nodes:nodes,aBlock:aBlock,aCollection:aCollection},smalltalk.ASTInterpreter)})},
@@ -813,8 +865,10 @@ selector: "interpretAssignmentNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(self)._assign_to_(_st(aNode)._left(),value));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,_st(self)._assign_to_(_st(aNode)._left(),value));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
@@ -831,9 +885,11 @@ selector: "interpretBlockNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(self)._continue_value_(aBlock,(function(){
 _st(self)._continue_value_(aBlock,(function(){
-return smalltalk.withContext(function($ctx2) {
$1=self;
+return smalltalk.withContext(function($ctx2) {
+$1=self;
 _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 $2=_st($1)._result();
 $2=_st($1)._result();
 return $2;
 return $2;
@@ -853,7 +909,8 @@ selector: "interpretBlockSequenceNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretSequenceNode_continue_(aNode,aBlock);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretSequenceNode_continue_(aNode,aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
 source: "interpretBlockSequenceNode: aNode continue: aBlock\x0a\x09self interpretSequenceNode: aNode continue: aBlock",
 source: "interpretBlockSequenceNode: aNode continue: aBlock\x0a\x09self interpretSequenceNode: aNode continue: aBlock",
@@ -869,13 +926,18 @@ selector: "interpretCascadeNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
-return smalltalk.withContext(function($ctx2) {
_st(_st(aNode)._nodes())._do_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(each)._receiver_(receiver);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
+return smalltalk.withContext(function($ctx2) {
+_st(_st(aNode)._nodes())._do_((function(each){
+return smalltalk.withContext(function($ctx3) {
+return _st(each)._receiver_(receiver);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 return _st(self)._interpretAll_continue_(_st(_st(aNode)._nodes())._allButLast(),(function(){
 return _st(self)._interpretAll_continue_(_st(_st(aNode)._nodes())._allButLast(),(function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._interpret_continue_(_st(_st(aNode)._nodes())._last(),(function(val){
-return smalltalk.withContext(function($ctx4) {
return _st(self)._continue_value_(aBlock,val);
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._interpret_continue_(_st(_st(aNode)._nodes())._last(),(function(val){
+return smalltalk.withContext(function($ctx4) {
+return _st(self)._continue_value_(aBlock,val);
 }, function($ctx4) {$ctx4.fillBlock({val:val},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({val:val},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
@@ -895,7 +957,8 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(_st($Smalltalk())._current())._at_(_st(aNode)._value()));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._continue_value_(aBlock,_st(_st($Smalltalk())._current())._at_(_st(aNode)._value()));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretClassReferenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretClassReferenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
 source: "interpretClassReferenceNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: (Smalltalk current at: aNode value)",
 source: "interpretClassReferenceNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: (Smalltalk current at: aNode value)",
@@ -911,8 +974,10 @@ selector: "interpretDynamicArrayNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,array);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,array);
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
@@ -930,12 +995,15 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
 function $HashedCollection(){return smalltalk.HashedCollection||(typeof HashedCollection=="undefined"?nil:HashedCollection)}
 function $HashedCollection(){return smalltalk.HashedCollection||(typeof HashedCollection=="undefined"?nil:HashedCollection)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 var hashedCollection;
 var hashedCollection;
-return smalltalk.withContext(function($ctx2) {
hashedCollection=_st($HashedCollection())._new();
+return smalltalk.withContext(function($ctx2) {
+hashedCollection=_st($HashedCollection())._new();
 hashedCollection;
 hashedCollection;
 _st(array)._do_((function(each){
 _st(array)._do_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(hashedCollection)._add_(each);
+return smalltalk.withContext(function($ctx3) {
+return _st(hashedCollection)._add_(each);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 return _st(self)._continue_value_(aBlock,hashedCollection);
 return _st(self)._continue_value_(aBlock,hashedCollection);
 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})}));
@@ -954,7 +1022,8 @@ selector: "interpretJSStatementNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@shouldReturn"]=true;
+return smalltalk.withContext(function($ctx1) { 
+self["@shouldReturn"]=true;
 _st(self)._continue_value_(aBlock,_st(self)._eval_(_st(aNode)._source()));
 _st(self)._continue_value_(aBlock,_st(self)._eval_(_st(aNode)._source()));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
@@ -971,8 +1040,10 @@ selector: "interpretMethodNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._first());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,_st(array)._first());
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
@@ -989,7 +1060,8 @@ selector: "interpretNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aNode)._interpreter_continue_(self,aBlock);
+return smalltalk.withContext(function($ctx1) { 
+_st(aNode)._interpreter_continue_(self,aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"interpretNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
 source: "interpretNode: aNode continue: aBlock\x0a\x09aNode interpreter: self continue: aBlock",
 source: "interpretNode: aNode continue: aBlock\x0a\x09aNode interpreter: self continue: aBlock",
@@ -1005,8 +1077,10 @@ selector: "interpretReturnNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(_st(aNode)._nodes())._first(),(function(value){
-return smalltalk.withContext(function($ctx2) {
self["@shouldReturn"]=true;
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_continue_(_st(_st(aNode)._nodes())._first(),(function(value){
+return smalltalk.withContext(function($ctx2) {
+self["@shouldReturn"]=true;
 self["@shouldReturn"];
 self["@shouldReturn"];
 return _st(self)._continue_value_(aBlock,value);
 return _st(self)._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
@@ -1025,10 +1099,14 @@ selector: "interpretSendNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._interpretAll_continue_(_st(aNode)._arguments(),(function(args){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._messageFromSendNode_arguments_do_(aNode,args,(function(message){
-return smalltalk.withContext(function($ctx4) {
_st(_st(self)._context())._pc_(_st(_st(_st(self)._context())._pc()).__plus((1)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._interpretAll_continue_(_st(aNode)._arguments(),(function(args){
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._messageFromSendNode_arguments_do_(aNode,args,(function(message){
+return smalltalk.withContext(function($ctx4) {
+_st(_st(self)._context())._pc_(_st(_st(_st(self)._context())._pc()).__plus((1)));
 return _st(self)._continue_value_(aBlock,_st(message)._sendTo_(receiver));
 return _st(self)._continue_value_(aBlock,_st(message)._sendTo_(receiver));
 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
@@ -1048,8 +1126,10 @@ selector: "interpretSequenceNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._last());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._continue_value_(aBlock,_st(array)._last());
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
@@ -1066,7 +1146,8 @@ selector: "interpretValueNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(aNode)._value());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._continue_value_(aBlock,_st(aNode)._value());
 return self}, function($ctx1) {$ctx1.fill(self,"interpretValueNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpretValueNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
 source: "interpretValueNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: aNode value",
 source: "interpretValueNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: aNode value",
@@ -1082,7 +1163,8 @@ selector: "interpretVariableNode:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$4,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$4,$3;
 $1=self;
 $1=self;
 $2=aBlock;
 $2=aBlock;
 $4=_st(_st(aNode)._binding())._isInstanceVar();
 $4=_st(_st(aNode)._binding())._isInstanceVar();
@@ -1108,7 +1190,8 @@ category: 'private',
 fn: function (aSendNode,aCollection,aBlock){
 fn: function (aSendNode,aCollection,aBlock){
 var self=this;
 var self=this;
 function $Message(){return smalltalk.Message||(typeof Message=="undefined"?nil:Message)}
 function $Message(){return smalltalk.Message||(typeof Message=="undefined"?nil:Message)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($Message())._new();
 $1=_st($Message())._new();
 _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._arguments_(aCollection);
 _st($1)._arguments_(aCollection);
@@ -1129,7 +1212,8 @@ selector: "result",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 $1=self["@result"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ASTInterpreter)})},
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ASTInterpreter)})},
@@ -1147,7 +1231,8 @@ selector: "shouldReturn",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@shouldReturn"];
 $2=self["@shouldReturn"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -1174,9 +1259,11 @@ selector: "atEnd",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._shouldReturn())._or_((function(){
 $1=_st(_st(self)._shouldReturn())._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})},
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})},
@@ -1194,9 +1281,11 @@ selector: "initialize",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.ASTInterpreter.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.ASTInterpreter.fn.prototype._initialize.apply(_st(self), []);
 self["@continuation"]=(function(){
 self["@continuation"]=(function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTSteppingInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTSteppingInterpreter)})},
 args: [],
 args: [],
 source: "initialize\x0a\x09super initialize.\x0a\x09continuation := []",
 source: "initialize\x0a\x09super initialize.\x0a\x09continuation := []",
@@ -1212,9 +1301,11 @@ selector: "interpret:continue:",
 category: 'interpreting',
 category: 'interpreting',
 fn: function (aNode,aBlock){
 fn: function (aNode,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@nextNode"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@nextNode"]=aNode;
 self["@continuation"]=(function(){
 self["@continuation"]=(function(){
-return smalltalk.withContext(function($ctx2) {
return smalltalk.ASTInterpreter.fn.prototype._interpret_continue_.apply(_st(self), [aNode,aBlock]);
+return smalltalk.withContext(function($ctx2) {
+return smalltalk.ASTInterpreter.fn.prototype._interpret_continue_.apply(_st(self), [aNode,aBlock]);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTSteppingInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTSteppingInterpreter)})},
 args: ["aNode", "aBlock"],
 args: ["aNode", "aBlock"],
@@ -1231,7 +1322,8 @@ selector: "nextNode",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@nextNode"];
 $1=self["@nextNode"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTSteppingInterpreter)})},
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTSteppingInterpreter)})},
@@ -1249,7 +1341,8 @@ selector: "step",
 category: 'stepping',
 category: 'stepping',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@continuation"])._value();
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@continuation"])._value();
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTSteppingInterpreter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTSteppingInterpreter)})},
 args: [],
 args: [],
 source: "step\x0a\x09continuation value",
 source: "step\x0a\x09continuation value",
@@ -1267,7 +1360,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.Node)})},
@@ -1285,7 +1379,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.Node)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.Node)})},
 args: [],
 args: [],
 source: "isSteppingNode\x0a\x09^ false",
 source: "isSteppingNode\x0a\x09^ false",
@@ -1301,7 +1396,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.AssignmentNode)})},
@@ -1319,7 +1415,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.AssignmentNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.AssignmentNode)})},
 args: [],
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
 source: "isSteppingNode\x0a\x09^ true",
@@ -1335,7 +1432,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockNode)})},
@@ -1353,7 +1451,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.BlockNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.BlockNode)})},
 args: [],
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
 source: "isSteppingNode\x0a\x09^ true",
@@ -1369,7 +1468,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.CascadeNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.CascadeNode)})},
@@ -1387,7 +1487,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicArrayNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicArrayNode)})},
@@ -1405,7 +1506,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicArrayNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicArrayNode)})},
 args: [],
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
 source: "isSteppingNode\x0a\x09^ true",
@@ -1421,7 +1523,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicDictionaryNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicDictionaryNode)})},
@@ -1439,7 +1542,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicDictionaryNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicDictionaryNode)})},
 args: [],
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
 source: "isSteppingNode\x0a\x09^ true",
@@ -1455,7 +1559,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.JSStatementNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.JSStatementNode)})},
@@ -1473,7 +1578,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.JSStatementNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.JSStatementNode)})},
 args: [],
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
 source: "isSteppingNode\x0a\x09^ true",
@@ -1489,7 +1595,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.MethodNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.MethodNode)})},
@@ -1507,7 +1614,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ReturnNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ReturnNode)})},
@@ -1525,7 +1633,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SendNode)})},
@@ -1543,7 +1652,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.SendNode)})},
 }, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.SendNode)})},
 args: [],
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
 source: "isSteppingNode\x0a\x09^ true",
@@ -1559,7 +1669,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SequenceNode)})},
@@ -1577,7 +1688,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockSequenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockSequenceNode)})},
@@ -1595,7 +1707,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ValueNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ValueNode)})},
@@ -1613,7 +1726,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.VariableNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.VariableNode)})},
@@ -1631,7 +1745,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 fn: function (anInterpreter,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock);
 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ClassReferenceNode)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ClassReferenceNode)})},

+ 206 - 103
js/Compiler-Semantic.deploy.js

@@ -7,7 +7,8 @@ selector: "addArg:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $ArgVar(){return smalltalk.ArgVar||(typeof ArgVar=="undefined"?nil:ArgVar)}
 function $ArgVar(){return smalltalk.ArgVar||(typeof ArgVar=="undefined"?nil:ArgVar)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._args())._at_put_(aString,_st($ArgVar())._on_(aString));
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._args())._at_put_(aString,_st($ArgVar())._on_(aString));
 _st(_st(_st(self)._args())._at_(aString))._scope_(self);
 _st(_st(_st(self)._args())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addArg:",{aString:aString},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addArg:",{aString:aString},smalltalk.LexicalScope)})},
 messageSends: ["at:put:", "on:", "args", "scope:", "at:"]}),
 messageSends: ["at:put:", "on:", "args", "scope:", "at:"]}),
@@ -20,7 +21,8 @@ selector: "addTemp:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $TempVar(){return smalltalk.TempVar||(typeof TempVar=="undefined"?nil:TempVar)}
 function $TempVar(){return smalltalk.TempVar||(typeof TempVar=="undefined"?nil:TempVar)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._temps())._at_put_(aString,_st($TempVar())._on_(aString));
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._temps())._at_put_(aString,_st($TempVar())._on_(aString));
 _st(_st(_st(self)._temps())._at_(aString))._scope_(self);
 _st(_st(_st(self)._temps())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addTemp:",{aString:aString},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addTemp:",{aString:aString},smalltalk.LexicalScope)})},
 messageSends: ["at:put:", "on:", "temps", "scope:", "at:"]}),
 messageSends: ["at:put:", "on:", "temps", "scope:", "at:"]}),
@@ -32,7 +34,8 @@ smalltalk.method({
 selector: "alias",
 selector: "alias",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st("$ctx").__comma(_st(_st(self)._scopeLevel())._asString());
 $1=_st("$ctx").__comma(_st(_st(self)._scopeLevel())._asString());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.LexicalScope)})},
@@ -45,7 +48,8 @@ smalltalk.method({
 selector: "allVariableNames",
 selector: "allVariableNames",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._args())._keys()).__comma(_st(_st(self)._temps())._keys());
 $1=_st(_st(_st(self)._args())._keys()).__comma(_st(_st(self)._temps())._keys());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.LexicalScope)})},
@@ -59,7 +63,8 @@ selector: "args",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@args"];
 $2=self["@args"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@args"]=_st($Dictionary())._new();
 self["@args"]=_st($Dictionary())._new();
@@ -78,11 +83,15 @@ smalltalk.method({
 selector: "bindingFor:",
 selector: "bindingFor:",
 fn: function (aStringOrNode){
 fn: function (aStringOrNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._pseudoVars())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
 $1=_st(_st(self)._pseudoVars())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._args())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(self)._temps())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
-return smalltalk.withContext(function($ctx4) {
return nil;
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._args())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(self)._temps())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
+return smalltalk.withContext(function($ctx4) {
+return nil;
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -97,9 +106,11 @@ smalltalk.method({
 selector: "canInlineNonLocalReturns",
 selector: "canInlineNonLocalReturns",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._isInlined())._and_((function(){
 $1=_st(_st(self)._isInlined())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._outerScope())._canInlineNonLocalReturns();
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._outerScope())._canInlineNonLocalReturns();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.LexicalScope)})},
@@ -112,7 +123,8 @@ smalltalk.method({
 selector: "instruction",
 selector: "instruction",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@instruction"];
 $1=self["@instruction"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"instruction",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"instruction",{},smalltalk.LexicalScope)})},
@@ -125,7 +137,8 @@ smalltalk.method({
 selector: "instruction:",
 selector: "instruction:",
 fn: function (anIRInstruction){
 fn: function (anIRInstruction){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@instruction"]=anIRInstruction;
+return smalltalk.withContext(function($ctx1) { 
+self["@instruction"]=anIRInstruction;
 return self}, function($ctx1) {$ctx1.fill(self,"instruction:",{anIRInstruction:anIRInstruction},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"instruction:",{anIRInstruction:anIRInstruction},smalltalk.LexicalScope)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.LexicalScope);
 smalltalk.LexicalScope);
@@ -136,7 +149,8 @@ smalltalk.method({
 selector: "isBlockScope",
 selector: "isBlockScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._isMethodScope())._not();
 $1=_st(_st(self)._isMethodScope())._not();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockScope",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockScope",{},smalltalk.LexicalScope)})},
@@ -149,9 +163,11 @@ smalltalk.method({
 selector: "isInlined",
 selector: "isInlined",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._instruction())._notNil())._and_((function(){
 $1=_st(_st(_st(self)._instruction())._notNil())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._instruction())._isInlined();
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._instruction())._isInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.LexicalScope)})},
@@ -164,7 +180,8 @@ smalltalk.method({
 selector: "isMethodScope",
 selector: "isMethodScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isMethodScope",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"isMethodScope",{},smalltalk.LexicalScope)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.LexicalScope);
 smalltalk.LexicalScope);
@@ -176,7 +193,8 @@ selector: "lookupVariable:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 var lookup;
 var lookup;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 lookup=_st(self)._bindingFor_(aNode);
 lookup=_st(self)._bindingFor_(aNode);
 $1=lookup;
 $1=lookup;
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
@@ -202,7 +220,8 @@ smalltalk.method({
 selector: "methodScope",
 selector: "methodScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._outerScope();
 $2=_st(self)._outerScope();
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 $1=$2;
@@ -220,7 +239,8 @@ smalltalk.method({
 selector: "node",
 selector: "node",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@node"];
 $1=self["@node"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.LexicalScope)})},
@@ -233,7 +253,8 @@ smalltalk.method({
 selector: "node:",
 selector: "node:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@node"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@node"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode},smalltalk.LexicalScope)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.LexicalScope);
 smalltalk.LexicalScope);
@@ -244,7 +265,8 @@ smalltalk.method({
 selector: "outerScope",
 selector: "outerScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@outerScope"];
 $1=self["@outerScope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"outerScope",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"outerScope",{},smalltalk.LexicalScope)})},
@@ -257,7 +279,8 @@ smalltalk.method({
 selector: "outerScope:",
 selector: "outerScope:",
 fn: function (aLexicalScope){
 fn: function (aLexicalScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@outerScope"]=aLexicalScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@outerScope"]=aLexicalScope;
 return self}, function($ctx1) {$ctx1.fill(self,"outerScope:",{aLexicalScope:aLexicalScope},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"outerScope:",{aLexicalScope:aLexicalScope},smalltalk.LexicalScope)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.LexicalScope);
 smalltalk.LexicalScope);
@@ -268,7 +291,8 @@ smalltalk.method({
 selector: "pseudoVars",
 selector: "pseudoVars",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._methodScope())._pseudoVars();
 $1=_st(_st(self)._methodScope())._pseudoVars();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pseudoVars",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"pseudoVars",{},smalltalk.LexicalScope)})},
@@ -281,7 +305,8 @@ smalltalk.method({
 selector: "scopeLevel",
 selector: "scopeLevel",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5;
 $1=_st(self)._outerScope();
 $1=_st(self)._outerScope();
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=(1);
 $2=(1);
@@ -307,7 +332,8 @@ selector: "temps",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@temps"];
 $2=self["@temps"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@temps"]=_st($Dictionary())._new();
 self["@temps"]=_st($Dictionary())._new();
@@ -330,7 +356,8 @@ selector: "addIVar:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $InstanceVar(){return smalltalk.InstanceVar||(typeof InstanceVar=="undefined"?nil:InstanceVar)}
 function $InstanceVar(){return smalltalk.InstanceVar||(typeof InstanceVar=="undefined"?nil:InstanceVar)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._iVars())._at_put_(aString,_st($InstanceVar())._on_(aString));
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._iVars())._at_put_(aString,_st($InstanceVar())._on_(aString));
 _st(_st(_st(self)._iVars())._at_(aString))._scope_(self);
 _st(_st(_st(self)._iVars())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addIVar:",{aString:aString},smalltalk.MethodLexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addIVar:",{aString:aString},smalltalk.MethodLexicalScope)})},
 messageSends: ["at:put:", "on:", "iVars", "scope:", "at:"]}),
 messageSends: ["at:put:", "on:", "iVars", "scope:", "at:"]}),
@@ -342,7 +369,8 @@ smalltalk.method({
 selector: "addNonLocalReturn:",
 selector: "addNonLocalReturn:",
 fn: function (aScope){
 fn: function (aScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._nonLocalReturns())._add_(aScope);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._nonLocalReturns())._add_(aScope);
 return self}, function($ctx1) {$ctx1.fill(self,"addNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 messageSends: ["add:", "nonLocalReturns"]}),
 messageSends: ["add:", "nonLocalReturns"]}),
 smalltalk.MethodLexicalScope);
 smalltalk.MethodLexicalScope);
@@ -353,7 +381,8 @@ smalltalk.method({
 selector: "allVariableNames",
 selector: "allVariableNames",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(smalltalk.LexicalScope.fn.prototype._allVariableNames.apply(_st(self), [])).__comma(_st(_st(self)._iVars())._keys());
 $1=_st(smalltalk.LexicalScope.fn.prototype._allVariableNames.apply(_st(self), [])).__comma(_st(_st(self)._iVars())._keys());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.MethodLexicalScope)})},
@@ -366,11 +395,13 @@ smalltalk.method({
 selector: "bindingFor:",
 selector: "bindingFor:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=smalltalk.LexicalScope.fn.prototype._bindingFor_.apply(_st(self), [aNode]);
 $2=smalltalk.LexicalScope.fn.prototype._bindingFor_.apply(_st(self), [aNode]);
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=_st(_st(self)._iVars())._at_ifAbsent_(_st(aNode)._value(),(function(){
 $1=_st(_st(self)._iVars())._at_ifAbsent_(_st(aNode)._value(),(function(){
-return smalltalk.withContext(function($ctx2) {
return nil;
+return smalltalk.withContext(function($ctx2) {
+return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 } else {
 } else {
 $1=$2;
 $1=$2;
@@ -386,7 +417,8 @@ smalltalk.method({
 selector: "canInlineNonLocalReturns",
 selector: "canInlineNonLocalReturns",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.MethodLexicalScope)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodLexicalScope);
 smalltalk.MethodLexicalScope);
@@ -397,7 +429,8 @@ smalltalk.method({
 selector: "hasLocalReturn",
 selector: "hasLocalReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._localReturn();
 $1=_st(self)._localReturn();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{},smalltalk.MethodLexicalScope)})},
@@ -410,7 +443,8 @@ smalltalk.method({
 selector: "hasNonLocalReturn",
 selector: "hasNonLocalReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._nonLocalReturns())._notEmpty();
 $1=_st(_st(self)._nonLocalReturns())._notEmpty();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{},smalltalk.MethodLexicalScope)})},
@@ -424,7 +458,8 @@ selector: "iVars",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@iVars"];
 $2=self["@iVars"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@iVars"]=_st($Dictionary())._new();
 self["@iVars"]=_st($Dictionary())._new();
@@ -443,7 +478,8 @@ smalltalk.method({
 selector: "isMethodScope",
 selector: "isMethodScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isMethodScope",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"isMethodScope",{},smalltalk.MethodLexicalScope)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodLexicalScope);
 smalltalk.MethodLexicalScope);
@@ -454,7 +490,8 @@ smalltalk.method({
 selector: "localReturn",
 selector: "localReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@localReturn"];
 $2=self["@localReturn"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -472,7 +509,8 @@ smalltalk.method({
 selector: "localReturn:",
 selector: "localReturn:",
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@localReturn"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@localReturn"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"localReturn:",{aBoolean:aBoolean},smalltalk.MethodLexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"localReturn:",{aBoolean:aBoolean},smalltalk.MethodLexicalScope)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodLexicalScope);
 smalltalk.MethodLexicalScope);
@@ -483,7 +521,8 @@ smalltalk.method({
 selector: "methodScope",
 selector: "methodScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self;
 $1=self;
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodScope",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"methodScope",{},smalltalk.MethodLexicalScope)})},
@@ -497,7 +536,8 @@ selector: "nonLocalReturns",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@nonLocalReturns"];
 $2=self["@nonLocalReturns"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@nonLocalReturns"]=_st($OrderedCollection())._new();
 self["@nonLocalReturns"]=_st($OrderedCollection())._new();
@@ -519,13 +559,15 @@ var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $PseudoVar(){return smalltalk.PseudoVar||(typeof PseudoVar=="undefined"?nil:PseudoVar)}
 function $PseudoVar(){return smalltalk.PseudoVar||(typeof PseudoVar=="undefined"?nil:PseudoVar)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 $1=self["@pseudoVars"];
 $1=self["@pseudoVars"];
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 self["@pseudoVars"]=_st($Dictionary())._new();
 self["@pseudoVars"]=_st($Dictionary())._new();
 self["@pseudoVars"];
 self["@pseudoVars"];
 _st(_st(_st($Smalltalk())._current())._pseudoVariableNames())._do_((function(each){
 _st(_st(_st($Smalltalk())._current())._pseudoVariableNames())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$2=_st($PseudoVar())._on_(each);
+return smalltalk.withContext(function($ctx2) {
+$2=_st($PseudoVar())._on_(each);
 _st($2)._scope_(_st(self)._methodScope());
 _st($2)._scope_(_st(self)._methodScope());
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
 return _st(self["@pseudoVars"])._at_put_(each,$3);
 return _st(self["@pseudoVars"])._at_put_(each,$3);
@@ -545,8 +587,10 @@ smalltalk.method({
 selector: "removeNonLocalReturn:",
 selector: "removeNonLocalReturn:",
 fn: function (aScope){
 fn: function (aScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._nonLocalReturns())._remove_ifAbsent_(aScope,(function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._nonLocalReturns())._remove_ifAbsent_(aScope,(function(){
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"removeNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"removeNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 messageSends: ["remove:ifAbsent:", "nonLocalReturns"]}),
 messageSends: ["remove:ifAbsent:", "nonLocalReturns"]}),
 smalltalk.MethodLexicalScope);
 smalltalk.MethodLexicalScope);
@@ -558,7 +602,8 @@ selector: "unknownVariables",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@unknownVariables"];
 $2=self["@unknownVariables"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@unknownVariables"]=_st($OrderedCollection())._new();
 self["@unknownVariables"]=_st($OrderedCollection())._new();
@@ -580,7 +625,8 @@ smalltalk.method({
 selector: "alias",
 selector: "alias",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._name())._asVariableName();
 $1=_st(_st(self)._name())._asVariableName();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ScopeVar)})},
@@ -593,7 +639,8 @@ smalltalk.method({
 selector: "isArgVar",
 selector: "isArgVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isArgVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isArgVar",{},smalltalk.ScopeVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ScopeVar);
 smalltalk.ScopeVar);
@@ -604,7 +651,8 @@ smalltalk.method({
 selector: "isClassRefVar",
 selector: "isClassRefVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{},smalltalk.ScopeVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ScopeVar);
 smalltalk.ScopeVar);
@@ -615,7 +663,8 @@ smalltalk.method({
 selector: "isInstanceVar",
 selector: "isInstanceVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{},smalltalk.ScopeVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ScopeVar);
 smalltalk.ScopeVar);
@@ -626,7 +675,8 @@ smalltalk.method({
 selector: "isPseudoVar",
 selector: "isPseudoVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{},smalltalk.ScopeVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ScopeVar);
 smalltalk.ScopeVar);
@@ -637,7 +687,8 @@ smalltalk.method({
 selector: "isTempVar",
 selector: "isTempVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isTempVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isTempVar",{},smalltalk.ScopeVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ScopeVar);
 smalltalk.ScopeVar);
@@ -648,7 +699,8 @@ smalltalk.method({
 selector: "isUnknownVar",
 selector: "isUnknownVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{},smalltalk.ScopeVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ScopeVar);
 smalltalk.ScopeVar);
@@ -659,7 +711,8 @@ smalltalk.method({
 selector: "name",
 selector: "name",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@name"];
 $1=self["@name"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"name",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"name",{},smalltalk.ScopeVar)})},
@@ -672,7 +725,8 @@ smalltalk.method({
 selector: "name:",
 selector: "name:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@name"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@name"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"name:",{aString:aString},smalltalk.ScopeVar)})},
 return self}, function($ctx1) {$ctx1.fill(self,"name:",{aString:aString},smalltalk.ScopeVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ScopeVar);
 smalltalk.ScopeVar);
@@ -683,7 +737,8 @@ smalltalk.method({
 selector: "scope",
 selector: "scope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ScopeVar)})},
@@ -696,7 +751,8 @@ smalltalk.method({
 selector: "scope:",
 selector: "scope:",
 fn: function (aScope){
 fn: function (aScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aScope:aScope},smalltalk.ScopeVar)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aScope:aScope},smalltalk.ScopeVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ScopeVar);
 smalltalk.ScopeVar);
@@ -708,9 +764,11 @@ selector: "validateAssignment",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=_st(_st(self)._isArgVar())._or_((function(){
 $1=_st(_st(self)._isArgVar())._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._isPseudoVar();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._isPseudoVar();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st($InvalidAssignmentError())._new();
 $2=_st($InvalidAssignmentError())._new();
@@ -729,7 +787,8 @@ smalltalk.method({
 selector: "on:",
 selector: "on:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._name_(aString);
 _st($2)._name_(aString);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -747,7 +806,8 @@ smalltalk.method({
 selector: "node",
 selector: "node",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@node"];
 $1=self["@node"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.AliasVar)})},
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.AliasVar)})},
@@ -760,7 +820,8 @@ smalltalk.method({
 selector: "node:",
 selector: "node:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@node"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@node"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode},smalltalk.AliasVar)})},
 return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode},smalltalk.AliasVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AliasVar);
 smalltalk.AliasVar);
@@ -774,7 +835,8 @@ smalltalk.method({
 selector: "isArgVar",
 selector: "isArgVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isArgVar",{},smalltalk.ArgVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isArgVar",{},smalltalk.ArgVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ArgVar);
 smalltalk.ArgVar);
@@ -788,7 +850,8 @@ smalltalk.method({
 selector: "alias",
 selector: "alias",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st("$").__comma(_st(self)._name())).__comma("()");
 $1=_st(_st("$").__comma(_st(self)._name())).__comma("()");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ClassRefVar)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ClassRefVar)})},
@@ -801,7 +864,8 @@ smalltalk.method({
 selector: "isClassRefVar",
 selector: "isClassRefVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{},smalltalk.ClassRefVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{},smalltalk.ClassRefVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ClassRefVar);
 smalltalk.ClassRefVar);
@@ -815,7 +879,8 @@ smalltalk.method({
 selector: "alias",
 selector: "alias",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st("self[\x22@").__comma(_st(self)._name())).__comma("\x22]");
 $1=_st(_st("self[\x22@").__comma(_st(self)._name())).__comma("\x22]");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.InstanceVar)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.InstanceVar)})},
@@ -828,7 +893,8 @@ smalltalk.method({
 selector: "isInstanceVar",
 selector: "isInstanceVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{},smalltalk.InstanceVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{},smalltalk.InstanceVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.InstanceVar);
 smalltalk.InstanceVar);
@@ -842,7 +908,8 @@ smalltalk.method({
 selector: "alias",
 selector: "alias",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._name();
 $1=_st(self)._name();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.PseudoVar)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.PseudoVar)})},
@@ -855,7 +922,8 @@ smalltalk.method({
 selector: "isPseudoVar",
 selector: "isPseudoVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{},smalltalk.PseudoVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{},smalltalk.PseudoVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.PseudoVar);
 smalltalk.PseudoVar);
@@ -869,7 +937,8 @@ smalltalk.method({
 selector: "isTempVar",
 selector: "isTempVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isTempVar",{},smalltalk.TempVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isTempVar",{},smalltalk.TempVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.TempVar);
 smalltalk.TempVar);
@@ -883,7 +952,8 @@ smalltalk.method({
 selector: "isUnknownVar",
 selector: "isUnknownVar",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{},smalltalk.UnknownVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{},smalltalk.UnknownVar)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.UnknownVar);
 smalltalk.UnknownVar);
@@ -898,7 +968,8 @@ selector: "classReferences",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@classReferences"];
 $2=self["@classReferences"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@classReferences"]=_st($Set())._new();
 self["@classReferences"]=_st($Set())._new();
@@ -918,7 +989,8 @@ selector: "errorShadowingVariable:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($ShadowingVariableError())._new();
 $1=_st($ShadowingVariableError())._new();
 _st($1)._variableName_(aString);
 _st($1)._variableName_(aString);
 $2=_st($1)._signal();
 $2=_st($1)._signal();
@@ -934,10 +1006,12 @@ fn: function (aNode){
 var self=this;
 var self=this;
 var identifier;
 var identifier;
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 identifier=_st(aNode)._value();
 identifier=_st(aNode)._value();
 $1=_st(_st(_st(["jQuery", "window", "document", "process", "global"])._includes_(identifier))._not())._and_((function(){
 $1=_st(_st(_st(["jQuery", "window", "document", "process", "global"])._includes_(identifier))._not())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._isVariableGloballyUndefined_(identifier);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._isVariableGloballyUndefined_(identifier);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st($UnknownVariableError())._new();
 $2=_st($UnknownVariableError())._new();
@@ -957,7 +1031,8 @@ smalltalk.method({
 selector: "isVariableGloballyUndefined:",
 selector: "isVariableGloballyUndefined:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return eval('typeof ' + aString + ' == "undefined"');
+return smalltalk.withContext(function($ctx1) { 
+return eval('typeof ' + aString + ' == "undefined"');
 return self}, function($ctx1) {$ctx1.fill(self,"isVariableGloballyUndefined:",{aString:aString},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"isVariableGloballyUndefined:",{aString:aString},smalltalk.SemanticAnalyzer)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SemanticAnalyzer);
 smalltalk.SemanticAnalyzer);
@@ -969,7 +1044,8 @@ selector: "messageSends",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@messageSends"];
 $2=self["@messageSends"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@messageSends"]=_st($Dictionary())._new();
 self["@messageSends"]=_st($Dictionary())._new();
@@ -989,7 +1065,8 @@ selector: "newBlockScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $LexicalScope(){return smalltalk.LexicalScope||(typeof LexicalScope=="undefined"?nil:LexicalScope)}
 function $LexicalScope(){return smalltalk.LexicalScope||(typeof LexicalScope=="undefined"?nil:LexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._newScopeOfClass_($LexicalScope());
 $1=_st(self)._newScopeOfClass_($LexicalScope());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newBlockScope",{},smalltalk.SemanticAnalyzer)})},
 }, function($ctx1) {$ctx1.fill(self,"newBlockScope",{},smalltalk.SemanticAnalyzer)})},
@@ -1003,7 +1080,8 @@ selector: "newMethodScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._newScopeOfClass_($MethodLexicalScope());
 $1=_st(self)._newScopeOfClass_($MethodLexicalScope());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newMethodScope",{},smalltalk.SemanticAnalyzer)})},
 }, function($ctx1) {$ctx1.fill(self,"newMethodScope",{},smalltalk.SemanticAnalyzer)})},
@@ -1016,7 +1094,8 @@ smalltalk.method({
 selector: "newScopeOfClass:",
 selector: "newScopeOfClass:",
 fn: function (aLexicalScopeClass){
 fn: function (aLexicalScopeClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(aLexicalScopeClass)._new();
 $2=_st(aLexicalScopeClass)._new();
 _st($2)._outerScope_(self["@currentScope"]);
 _st($2)._outerScope_(self["@currentScope"]);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -1032,7 +1111,8 @@ smalltalk.method({
 selector: "popScope",
 selector: "popScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentScope"];
 $1=self["@currentScope"];
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -1050,7 +1130,8 @@ smalltalk.method({
 selector: "pushScope:",
 selector: "pushScope:",
 fn: function (aScope){
 fn: function (aScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aScope)._outerScope_(self["@currentScope"]);
+return smalltalk.withContext(function($ctx1) { 
+_st(aScope)._outerScope_(self["@currentScope"]);
 self["@currentScope"]=aScope;
 self["@currentScope"]=aScope;
 return self}, function($ctx1) {$ctx1.fill(self,"pushScope:",{aScope:aScope},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"pushScope:",{aScope:aScope},smalltalk.SemanticAnalyzer)})},
 messageSends: ["outerScope:"]}),
 messageSends: ["outerScope:"]}),
@@ -1063,7 +1144,8 @@ selector: "superSends",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@superSends"];
 $2=self["@superSends"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@superSends"]=_st($Dictionary())._new();
 self["@superSends"]=_st($Dictionary())._new();
@@ -1082,7 +1164,8 @@ smalltalk.method({
 selector: "theClass",
 selector: "theClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 $1=self["@theClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SemanticAnalyzer)})},
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SemanticAnalyzer)})},
@@ -1095,7 +1178,8 @@ smalltalk.method({
 selector: "theClass:",
 selector: "theClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@theClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.SemanticAnalyzer)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SemanticAnalyzer);
 smalltalk.SemanticAnalyzer);
@@ -1106,7 +1190,8 @@ smalltalk.method({
 selector: "validateVariableScope:",
 selector: "validateVariableScope:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self["@currentScope"])._lookupVariable_(aString);
 $1=_st(self["@currentScope"])._lookupVariable_(aString);
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -1123,7 +1208,8 @@ smalltalk.method({
 selector: "visitAssignmentNode:",
 selector: "visitAssignmentNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.NodeVisitor.fn.prototype._visitAssignmentNode_.apply(_st(self), [aNode]);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.NodeVisitor.fn.prototype._visitAssignmentNode_.apply(_st(self), [aNode]);
 _st(_st(aNode)._left())._beAssigned();
 _st(_st(aNode)._left())._beAssigned();
 return self}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 messageSends: ["visitAssignmentNode:", "beAssigned", "left"]}),
 messageSends: ["visitAssignmentNode:", "beAssigned", "left"]}),
@@ -1135,11 +1221,13 @@ smalltalk.method({
 selector: "visitBlockNode:",
 selector: "visitBlockNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._pushScope_(_st(self)._newBlockScope());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._pushScope_(_st(self)._newBlockScope());
 _st(aNode)._scope_(self["@currentScope"]);
 _st(aNode)._scope_(self["@currentScope"]);
 _st(self["@currentScope"])._node_(aNode);
 _st(self["@currentScope"])._node_(aNode);
 _st(_st(aNode)._parameters())._do_((function(each){
 _st(_st(aNode)._parameters())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
_st(self)._validateVariableScope_(each);
+return smalltalk.withContext(function($ctx2) {
+_st(self)._validateVariableScope_(each);
 return _st(self["@currentScope"])._addArg_(each);
 return _st(self["@currentScope"])._addArg_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitBlockNode_.apply(_st(self), [aNode]);
 smalltalk.NodeVisitor.fn.prototype._visitBlockNode_.apply(_st(self), [aNode]);
@@ -1154,15 +1242,18 @@ smalltalk.method({
 selector: "visitCascadeNode:",
 selector: "visitCascadeNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(_st(aNode)._nodes())._do_((function(each){
 _st(_st(aNode)._nodes())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._receiver_(_st(aNode)._receiver());
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._receiver_(_st(aNode)._receiver());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitCascadeNode_.apply(_st(self), [aNode]);
 smalltalk.NodeVisitor.fn.prototype._visitCascadeNode_.apply(_st(self), [aNode]);
 $1=_st(_st(_st(aNode)._nodes())._first())._superSend();
 $1=_st(_st(_st(aNode)._nodes())._first())._superSend();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(_st(aNode)._nodes())._do_((function(each){
 _st(_st(aNode)._nodes())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._superSend_(true);
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._superSend_(true);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 };
 };
 return self}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
@@ -1176,7 +1267,8 @@ selector: "visitClassReferenceNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 function $ClassRefVar(){return smalltalk.ClassRefVar||(typeof ClassRefVar=="undefined"?nil:ClassRefVar)}
 function $ClassRefVar(){return smalltalk.ClassRefVar||(typeof ClassRefVar=="undefined"?nil:ClassRefVar)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(_st(self)._classReferences())._add_(_st(aNode)._value());
 _st(_st(self)._classReferences())._add_(_st(aNode)._value());
 $1=_st($ClassRefVar())._new();
 $1=_st($ClassRefVar())._new();
 _st($1)._name_(_st(aNode)._value());
 _st($1)._name_(_st(aNode)._value());
@@ -1192,15 +1284,18 @@ smalltalk.method({
 selector: "visitMethodNode:",
 selector: "visitMethodNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(self)._pushScope_(_st(self)._newMethodScope());
 _st(self)._pushScope_(_st(self)._newMethodScope());
 _st(aNode)._scope_(self["@currentScope"]);
 _st(aNode)._scope_(self["@currentScope"]);
 _st(self["@currentScope"])._node_(aNode);
 _st(self["@currentScope"])._node_(aNode);
 _st(_st(_st(self)._theClass())._allInstanceVariableNames())._do_((function(each){
 _st(_st(_st(self)._theClass())._allInstanceVariableNames())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@currentScope"])._addIVar_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@currentScope"])._addIVar_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(_st(aNode)._arguments())._do_((function(each){
 _st(_st(aNode)._arguments())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
_st(self)._validateVariableScope_(each);
+return smalltalk.withContext(function($ctx2) {
+_st(self)._validateVariableScope_(each);
 return _st(self["@currentScope"])._addArg_(each);
 return _st(self["@currentScope"])._addArg_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitMethodNode_.apply(_st(self), [aNode]);
 smalltalk.NodeVisitor.fn.prototype._visitMethodNode_.apply(_st(self), [aNode]);
@@ -1219,7 +1314,8 @@ smalltalk.method({
 selector: "visitReturnNode:",
 selector: "visitReturnNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(aNode)._scope_(self["@currentScope"]);
 _st(aNode)._scope_(self["@currentScope"]);
 $1=_st(self["@currentScope"])._isMethodScope();
 $1=_st(self["@currentScope"])._isMethodScope();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
@@ -1240,13 +1336,15 @@ fn: function (aNode){
 var self=this;
 var self=this;
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st(_st(_st(aNode)._receiver())._value()).__eq("super");
 $1=_st(_st(_st(aNode)._receiver())._value()).__eq("super");
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(aNode)._superSend_(true);
 _st(aNode)._superSend_(true);
 _st(_st(aNode)._receiver())._value_("self");
 _st(_st(aNode)._receiver())._value_("self");
 _st(_st(self)._superSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
 _st(_st(self)._superSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st($Set())._new();
+return smalltalk.withContext(function($ctx2) {
+return _st($Set())._new();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(_st(self)._superSends())._at_(_st(aNode)._selector()))._add_(aNode);
 _st(_st(_st(self)._superSends())._at_(_st(aNode)._selector()))._add_(aNode);
 } else {
 } else {
@@ -1257,7 +1355,8 @@ _st(_st(aNode)._receiver())._shouldBeAliased_(true);
 };
 };
 };
 };
 _st(_st(self)._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
 _st(_st(self)._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st($Set())._new();
+return smalltalk.withContext(function($ctx2) {
+return _st($Set())._new();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._add_(aNode);
 _st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._add_(aNode);
 _st(aNode)._index_(_st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._size());
 _st(aNode)._index_(_st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._size());
@@ -1272,8 +1371,10 @@ smalltalk.method({
 selector: "visitSequenceNode:",
 selector: "visitSequenceNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(aNode)._temps())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
_st(self)._validateVariableScope_(each);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(aNode)._temps())._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+_st(self)._validateVariableScope_(each);
 return _st(self["@currentScope"])._addTemp_(each);
 return _st(self["@currentScope"])._addTemp_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitSequenceNode_.apply(_st(self), [aNode]);
 smalltalk.NodeVisitor.fn.prototype._visitSequenceNode_.apply(_st(self), [aNode]);
@@ -1288,7 +1389,8 @@ selector: "visitVariableNode:",
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 function $UnknownVar(){return smalltalk.UnknownVar||(typeof UnknownVar=="undefined"?nil:UnknownVar)}
 function $UnknownVar(){return smalltalk.UnknownVar||(typeof UnknownVar=="undefined"?nil:UnknownVar)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$3,$4,$5,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$3,$4,$5,$2;
 $1=aNode;
 $1=aNode;
 $3=_st(self["@currentScope"])._lookupVariable_(aNode);
 $3=_st(self["@currentScope"])._lookupVariable_(aNode);
 if(($receiver = $3) == nil || $receiver == undefined){
 if(($receiver = $3) == nil || $receiver == undefined){
@@ -1312,7 +1414,8 @@ smalltalk.method({
 selector: "on:",
 selector: "on:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._theClass_(aClass);
 _st($2)._theClass_(aClass);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();

+ 206 - 103
js/Compiler-Semantic.js

@@ -9,7 +9,8 @@ category: 'adding',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $ArgVar(){return smalltalk.ArgVar||(typeof ArgVar=="undefined"?nil:ArgVar)}
 function $ArgVar(){return smalltalk.ArgVar||(typeof ArgVar=="undefined"?nil:ArgVar)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._args())._at_put_(aString,_st($ArgVar())._on_(aString));
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._args())._at_put_(aString,_st($ArgVar())._on_(aString));
 _st(_st(_st(self)._args())._at_(aString))._scope_(self);
 _st(_st(_st(self)._args())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addArg:",{aString:aString},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addArg:",{aString:aString},smalltalk.LexicalScope)})},
 args: ["aString"],
 args: ["aString"],
@@ -27,7 +28,8 @@ category: 'adding',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $TempVar(){return smalltalk.TempVar||(typeof TempVar=="undefined"?nil:TempVar)}
 function $TempVar(){return smalltalk.TempVar||(typeof TempVar=="undefined"?nil:TempVar)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._temps())._at_put_(aString,_st($TempVar())._on_(aString));
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._temps())._at_put_(aString,_st($TempVar())._on_(aString));
 _st(_st(_st(self)._temps())._at_(aString))._scope_(self);
 _st(_st(_st(self)._temps())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addTemp:",{aString:aString},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addTemp:",{aString:aString},smalltalk.LexicalScope)})},
 args: ["aString"],
 args: ["aString"],
@@ -44,7 +46,8 @@ selector: "alias",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st("$ctx").__comma(_st(_st(self)._scopeLevel())._asString());
 $1=_st("$ctx").__comma(_st(_st(self)._scopeLevel())._asString());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.LexicalScope)})},
@@ -62,7 +65,8 @@ selector: "allVariableNames",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._args())._keys()).__comma(_st(_st(self)._temps())._keys());
 $1=_st(_st(_st(self)._args())._keys()).__comma(_st(_st(self)._temps())._keys());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.LexicalScope)})},
@@ -81,7 +85,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@args"];
 $2=self["@args"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@args"]=_st($Dictionary())._new();
 self["@args"]=_st($Dictionary())._new();
@@ -105,11 +110,15 @@ selector: "bindingFor:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aStringOrNode){
 fn: function (aStringOrNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._pseudoVars())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
 $1=_st(_st(self)._pseudoVars())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._args())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(self)._temps())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
-return smalltalk.withContext(function($ctx4) {
return nil;
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._args())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(self)._temps())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
+return smalltalk.withContext(function($ctx4) {
+return nil;
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -129,9 +138,11 @@ selector: "canInlineNonLocalReturns",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._isInlined())._and_((function(){
 $1=_st(_st(self)._isInlined())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._outerScope())._canInlineNonLocalReturns();
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._outerScope())._canInlineNonLocalReturns();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.LexicalScope)})},
@@ -149,7 +160,8 @@ selector: "instruction",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@instruction"];
 $1=self["@instruction"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"instruction",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"instruction",{},smalltalk.LexicalScope)})},
@@ -167,7 +179,8 @@ selector: "instruction:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anIRInstruction){
 fn: function (anIRInstruction){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@instruction"]=anIRInstruction;
+return smalltalk.withContext(function($ctx1) { 
+self["@instruction"]=anIRInstruction;
 return self}, function($ctx1) {$ctx1.fill(self,"instruction:",{anIRInstruction:anIRInstruction},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"instruction:",{anIRInstruction:anIRInstruction},smalltalk.LexicalScope)})},
 args: ["anIRInstruction"],
 args: ["anIRInstruction"],
 source: "instruction: anIRInstruction\x0a\x09instruction := anIRInstruction",
 source: "instruction: anIRInstruction\x0a\x09instruction := anIRInstruction",
@@ -183,7 +196,8 @@ selector: "isBlockScope",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._isMethodScope())._not();
 $1=_st(_st(self)._isMethodScope())._not();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockScope",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockScope",{},smalltalk.LexicalScope)})},
@@ -201,9 +215,11 @@ selector: "isInlined",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._instruction())._notNil())._and_((function(){
 $1=_st(_st(_st(self)._instruction())._notNil())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._instruction())._isInlined();
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._instruction())._isInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.LexicalScope)})},
@@ -221,7 +237,8 @@ selector: "isMethodScope",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isMethodScope",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"isMethodScope",{},smalltalk.LexicalScope)})},
 args: [],
 args: [],
 source: "isMethodScope\x0a\x09^ false",
 source: "isMethodScope\x0a\x09^ false",
@@ -238,7 +255,8 @@ category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 var lookup;
 var lookup;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 lookup=_st(self)._bindingFor_(aNode);
 lookup=_st(self)._bindingFor_(aNode);
 $1=lookup;
 $1=lookup;
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
@@ -269,7 +287,8 @@ selector: "methodScope",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._outerScope();
 $2=_st(self)._outerScope();
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 $1=$2;
@@ -292,7 +311,8 @@ selector: "node",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@node"];
 $1=self["@node"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.LexicalScope)})},
@@ -310,7 +330,8 @@ selector: "node:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@node"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@node"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode},smalltalk.LexicalScope)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "node: aNode\x0a\x09node := aNode",
 source: "node: aNode\x0a\x09node := aNode",
@@ -326,7 +347,8 @@ selector: "outerScope",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@outerScope"];
 $1=self["@outerScope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"outerScope",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"outerScope",{},smalltalk.LexicalScope)})},
@@ -344,7 +366,8 @@ selector: "outerScope:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aLexicalScope){
 fn: function (aLexicalScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@outerScope"]=aLexicalScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@outerScope"]=aLexicalScope;
 return self}, function($ctx1) {$ctx1.fill(self,"outerScope:",{aLexicalScope:aLexicalScope},smalltalk.LexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"outerScope:",{aLexicalScope:aLexicalScope},smalltalk.LexicalScope)})},
 args: ["aLexicalScope"],
 args: ["aLexicalScope"],
 source: "outerScope: aLexicalScope\x0a\x09outerScope := aLexicalScope",
 source: "outerScope: aLexicalScope\x0a\x09outerScope := aLexicalScope",
@@ -360,7 +383,8 @@ selector: "pseudoVars",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._methodScope())._pseudoVars();
 $1=_st(_st(self)._methodScope())._pseudoVars();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pseudoVars",{},smalltalk.LexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"pseudoVars",{},smalltalk.LexicalScope)})},
@@ -378,7 +402,8 @@ selector: "scopeLevel",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5;
 $1=_st(self)._outerScope();
 $1=_st(self)._outerScope();
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=(1);
 $2=(1);
@@ -409,7 +434,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@temps"];
 $2=self["@temps"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@temps"]=_st($Dictionary())._new();
 self["@temps"]=_st($Dictionary())._new();
@@ -438,7 +464,8 @@ category: 'adding',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $InstanceVar(){return smalltalk.InstanceVar||(typeof InstanceVar=="undefined"?nil:InstanceVar)}
 function $InstanceVar(){return smalltalk.InstanceVar||(typeof InstanceVar=="undefined"?nil:InstanceVar)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._iVars())._at_put_(aString,_st($InstanceVar())._on_(aString));
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._iVars())._at_put_(aString,_st($InstanceVar())._on_(aString));
 _st(_st(_st(self)._iVars())._at_(aString))._scope_(self);
 _st(_st(_st(self)._iVars())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addIVar:",{aString:aString},smalltalk.MethodLexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addIVar:",{aString:aString},smalltalk.MethodLexicalScope)})},
 args: ["aString"],
 args: ["aString"],
@@ -455,7 +482,8 @@ selector: "addNonLocalReturn:",
 category: 'adding',
 category: 'adding',
 fn: function (aScope){
 fn: function (aScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._nonLocalReturns())._add_(aScope);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._nonLocalReturns())._add_(aScope);
 return self}, function($ctx1) {$ctx1.fill(self,"addNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 args: ["aScope"],
 args: ["aScope"],
 source: "addNonLocalReturn: aScope\x0a\x09self nonLocalReturns add: aScope",
 source: "addNonLocalReturn: aScope\x0a\x09self nonLocalReturns add: aScope",
@@ -471,7 +499,8 @@ selector: "allVariableNames",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(smalltalk.LexicalScope.fn.prototype._allVariableNames.apply(_st(self), [])).__comma(_st(_st(self)._iVars())._keys());
 $1=_st(smalltalk.LexicalScope.fn.prototype._allVariableNames.apply(_st(self), [])).__comma(_st(_st(self)._iVars())._keys());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.MethodLexicalScope)})},
@@ -489,11 +518,13 @@ selector: "bindingFor:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=smalltalk.LexicalScope.fn.prototype._bindingFor_.apply(_st(self), [aNode]);
 $2=smalltalk.LexicalScope.fn.prototype._bindingFor_.apply(_st(self), [aNode]);
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=_st(_st(self)._iVars())._at_ifAbsent_(_st(aNode)._value(),(function(){
 $1=_st(_st(self)._iVars())._at_ifAbsent_(_st(aNode)._value(),(function(){
-return smalltalk.withContext(function($ctx2) {
return nil;
+return smalltalk.withContext(function($ctx2) {
+return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 } else {
 } else {
 $1=$2;
 $1=$2;
@@ -514,7 +545,8 @@ selector: "canInlineNonLocalReturns",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.MethodLexicalScope)})},
 args: [],
 args: [],
 source: "canInlineNonLocalReturns\x0a\x09^ true",
 source: "canInlineNonLocalReturns\x0a\x09^ true",
@@ -530,7 +562,8 @@ selector: "hasLocalReturn",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._localReturn();
 $1=_st(self)._localReturn();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{},smalltalk.MethodLexicalScope)})},
@@ -548,7 +581,8 @@ selector: "hasNonLocalReturn",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._nonLocalReturns())._notEmpty();
 $1=_st(_st(self)._nonLocalReturns())._notEmpty();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{},smalltalk.MethodLexicalScope)})},
@@ -567,7 +601,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@iVars"];
 $2=self["@iVars"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@iVars"]=_st($Dictionary())._new();
 self["@iVars"]=_st($Dictionary())._new();
@@ -591,7 +626,8 @@ selector: "isMethodScope",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isMethodScope",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"isMethodScope",{},smalltalk.MethodLexicalScope)})},
 args: [],
 args: [],
 source: "isMethodScope\x0a\x09^ true",
 source: "isMethodScope\x0a\x09^ true",
@@ -607,7 +643,8 @@ selector: "localReturn",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@localReturn"];
 $2=self["@localReturn"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
 $1=false;
@@ -630,7 +667,8 @@ selector: "localReturn:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@localReturn"]=aBoolean;
+return smalltalk.withContext(function($ctx1) { 
+self["@localReturn"]=aBoolean;
 return self}, function($ctx1) {$ctx1.fill(self,"localReturn:",{aBoolean:aBoolean},smalltalk.MethodLexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"localReturn:",{aBoolean:aBoolean},smalltalk.MethodLexicalScope)})},
 args: ["aBoolean"],
 args: ["aBoolean"],
 source: "localReturn: aBoolean\x0a\x09localReturn := aBoolean",
 source: "localReturn: aBoolean\x0a\x09localReturn := aBoolean",
@@ -646,7 +684,8 @@ selector: "methodScope",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self;
 $1=self;
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodScope",{},smalltalk.MethodLexicalScope)})},
 }, function($ctx1) {$ctx1.fill(self,"methodScope",{},smalltalk.MethodLexicalScope)})},
@@ -665,7 +704,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@nonLocalReturns"];
 $2=self["@nonLocalReturns"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@nonLocalReturns"]=_st($OrderedCollection())._new();
 self["@nonLocalReturns"]=_st($OrderedCollection())._new();
@@ -692,13 +732,15 @@ var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $PseudoVar(){return smalltalk.PseudoVar||(typeof PseudoVar=="undefined"?nil:PseudoVar)}
 function $PseudoVar(){return smalltalk.PseudoVar||(typeof PseudoVar=="undefined"?nil:PseudoVar)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 $1=self["@pseudoVars"];
 $1=self["@pseudoVars"];
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 self["@pseudoVars"]=_st($Dictionary())._new();
 self["@pseudoVars"]=_st($Dictionary())._new();
 self["@pseudoVars"];
 self["@pseudoVars"];
 _st(_st(_st($Smalltalk())._current())._pseudoVariableNames())._do_((function(each){
 _st(_st(_st($Smalltalk())._current())._pseudoVariableNames())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$2=_st($PseudoVar())._on_(each);
+return smalltalk.withContext(function($ctx2) {
+$2=_st($PseudoVar())._on_(each);
 _st($2)._scope_(_st(self)._methodScope());
 _st($2)._scope_(_st(self)._methodScope());
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
 return _st(self["@pseudoVars"])._at_put_(each,$3);
 return _st(self["@pseudoVars"])._at_put_(each,$3);
@@ -723,8 +765,10 @@ selector: "removeNonLocalReturn:",
 category: 'adding',
 category: 'adding',
 fn: function (aScope){
 fn: function (aScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._nonLocalReturns())._remove_ifAbsent_(aScope,(function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._nonLocalReturns())._remove_ifAbsent_(aScope,(function(){
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"removeNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 return self}, function($ctx1) {$ctx1.fill(self,"removeNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 args: ["aScope"],
 args: ["aScope"],
 source: "removeNonLocalReturn: aScope\x0a\x09self nonLocalReturns remove: aScope ifAbsent: []",
 source: "removeNonLocalReturn: aScope\x0a\x09self nonLocalReturns remove: aScope ifAbsent: []",
@@ -741,7 +785,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@unknownVariables"];
 $2=self["@unknownVariables"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@unknownVariables"]=_st($OrderedCollection())._new();
 self["@unknownVariables"]=_st($OrderedCollection())._new();
@@ -769,7 +814,8 @@ selector: "alias",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._name())._asVariableName();
 $1=_st(_st(self)._name())._asVariableName();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ScopeVar)})},
@@ -787,7 +833,8 @@ selector: "isArgVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isArgVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isArgVar",{},smalltalk.ScopeVar)})},
 args: [],
 args: [],
 source: "isArgVar\x0a\x09^ false",
 source: "isArgVar\x0a\x09^ false",
@@ -803,7 +850,8 @@ selector: "isClassRefVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{},smalltalk.ScopeVar)})},
 args: [],
 args: [],
 source: "isClassRefVar\x0a\x09^ false",
 source: "isClassRefVar\x0a\x09^ false",
@@ -819,7 +867,8 @@ selector: "isInstanceVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{},smalltalk.ScopeVar)})},
 args: [],
 args: [],
 source: "isInstanceVar\x0a\x09^ false",
 source: "isInstanceVar\x0a\x09^ false",
@@ -835,7 +884,8 @@ selector: "isPseudoVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{},smalltalk.ScopeVar)})},
 args: [],
 args: [],
 source: "isPseudoVar\x0a\x09^ false",
 source: "isPseudoVar\x0a\x09^ false",
@@ -851,7 +901,8 @@ selector: "isTempVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isTempVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isTempVar",{},smalltalk.ScopeVar)})},
 args: [],
 args: [],
 source: "isTempVar\x0a\x09^ false",
 source: "isTempVar\x0a\x09^ false",
@@ -867,7 +918,8 @@ selector: "isUnknownVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return false;
+return smalltalk.withContext(function($ctx1) { 
+return false;
 }, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{},smalltalk.ScopeVar)})},
 args: [],
 args: [],
 source: "isUnknownVar\x0a\x09^ false",
 source: "isUnknownVar\x0a\x09^ false",
@@ -883,7 +935,8 @@ selector: "name",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@name"];
 $1=self["@name"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"name",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"name",{},smalltalk.ScopeVar)})},
@@ -901,7 +954,8 @@ selector: "name:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@name"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@name"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"name:",{aString:aString},smalltalk.ScopeVar)})},
 return self}, function($ctx1) {$ctx1.fill(self,"name:",{aString:aString},smalltalk.ScopeVar)})},
 args: ["aString"],
 args: ["aString"],
 source: "name: aString\x0a\x09name := aString",
 source: "name: aString\x0a\x09name := aString",
@@ -917,7 +971,8 @@ selector: "scope",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 $1=self["@scope"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ScopeVar)})},
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ScopeVar)})},
@@ -935,7 +990,8 @@ selector: "scope:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aScope){
 fn: function (aScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aScope;
+return smalltalk.withContext(function($ctx1) { 
+self["@scope"]=aScope;
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aScope:aScope},smalltalk.ScopeVar)})},
 return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aScope:aScope},smalltalk.ScopeVar)})},
 args: ["aScope"],
 args: ["aScope"],
 source: "scope: aScope\x0a\x09scope := aScope",
 source: "scope: aScope\x0a\x09scope := aScope",
@@ -952,9 +1008,11 @@ category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=_st(_st(self)._isArgVar())._or_((function(){
 $1=_st(_st(self)._isArgVar())._or_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._isPseudoVar();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._isPseudoVar();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st($InvalidAssignmentError())._new();
 $2=_st($InvalidAssignmentError())._new();
@@ -978,7 +1036,8 @@ selector: "on:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._name_(aString);
 _st($2)._name_(aString);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -1002,7 +1061,8 @@ selector: "node",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@node"];
 $1=self["@node"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.AliasVar)})},
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.AliasVar)})},
@@ -1020,7 +1080,8 @@ selector: "node:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@node"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@node"]=aNode;
 return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode},smalltalk.AliasVar)})},
 return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode},smalltalk.AliasVar)})},
 args: ["aNode"],
 args: ["aNode"],
 source: "node: aNode\x0a\x09node := aNode",
 source: "node: aNode\x0a\x09node := aNode",
@@ -1040,7 +1101,8 @@ selector: "isArgVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isArgVar",{},smalltalk.ArgVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isArgVar",{},smalltalk.ArgVar)})},
 args: [],
 args: [],
 source: "isArgVar\x0a\x09^ true",
 source: "isArgVar\x0a\x09^ true",
@@ -1060,7 +1122,8 @@ selector: "alias",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st("$").__comma(_st(self)._name())).__comma("()");
 $1=_st(_st("$").__comma(_st(self)._name())).__comma("()");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ClassRefVar)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ClassRefVar)})},
@@ -1078,7 +1141,8 @@ selector: "isClassRefVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{},smalltalk.ClassRefVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{},smalltalk.ClassRefVar)})},
 args: [],
 args: [],
 source: "isClassRefVar\x0a\x09^ true",
 source: "isClassRefVar\x0a\x09^ true",
@@ -1098,7 +1162,8 @@ selector: "alias",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st("self[\x22@").__comma(_st(self)._name())).__comma("\x22]");
 $1=_st(_st("self[\x22@").__comma(_st(self)._name())).__comma("\x22]");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.InstanceVar)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.InstanceVar)})},
@@ -1116,7 +1181,8 @@ selector: "isInstanceVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{},smalltalk.InstanceVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{},smalltalk.InstanceVar)})},
 args: [],
 args: [],
 source: "isInstanceVar\x0a\x09^ true",
 source: "isInstanceVar\x0a\x09^ true",
@@ -1136,7 +1202,8 @@ selector: "alias",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._name();
 $1=_st(self)._name();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.PseudoVar)})},
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.PseudoVar)})},
@@ -1154,7 +1221,8 @@ selector: "isPseudoVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{},smalltalk.PseudoVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{},smalltalk.PseudoVar)})},
 args: [],
 args: [],
 source: "isPseudoVar\x0a\x09^ true",
 source: "isPseudoVar\x0a\x09^ true",
@@ -1174,7 +1242,8 @@ selector: "isTempVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isTempVar",{},smalltalk.TempVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isTempVar",{},smalltalk.TempVar)})},
 args: [],
 args: [],
 source: "isTempVar\x0a\x09^ true",
 source: "isTempVar\x0a\x09^ true",
@@ -1194,7 +1263,8 @@ selector: "isUnknownVar",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
+return smalltalk.withContext(function($ctx1) { 
+return true;
 }, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{},smalltalk.UnknownVar)})},
 }, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{},smalltalk.UnknownVar)})},
 args: [],
 args: [],
 source: "isUnknownVar\x0a\x09^ true",
 source: "isUnknownVar\x0a\x09^ true",
@@ -1215,7 +1285,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@classReferences"];
 $2=self["@classReferences"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@classReferences"]=_st($Set())._new();
 self["@classReferences"]=_st($Set())._new();
@@ -1240,7 +1311,8 @@ category: 'error handling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($ShadowingVariableError())._new();
 $1=_st($ShadowingVariableError())._new();
 _st($1)._variableName_(aString);
 _st($1)._variableName_(aString);
 $2=_st($1)._signal();
 $2=_st($1)._signal();
@@ -1261,10 +1333,12 @@ fn: function (aNode){
 var self=this;
 var self=this;
 var identifier;
 var identifier;
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 identifier=_st(aNode)._value();
 identifier=_st(aNode)._value();
 $1=_st(_st(_st(["jQuery", "window", "document", "process", "global"])._includes_(identifier))._not())._and_((function(){
 $1=_st(_st(_st(["jQuery", "window", "document", "process", "global"])._includes_(identifier))._not())._and_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._isVariableGloballyUndefined_(identifier);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._isVariableGloballyUndefined_(identifier);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st($UnknownVariableError())._new();
 $2=_st($UnknownVariableError())._new();
@@ -1289,7 +1363,8 @@ selector: "isVariableGloballyUndefined:",
 category: 'testing',
 category: 'testing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return eval('typeof ' + aString + ' == "undefined"');
+return smalltalk.withContext(function($ctx1) { 
+return eval('typeof ' + aString + ' == "undefined"');
 return self}, function($ctx1) {$ctx1.fill(self,"isVariableGloballyUndefined:",{aString:aString},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"isVariableGloballyUndefined:",{aString:aString},smalltalk.SemanticAnalyzer)})},
 args: ["aString"],
 args: ["aString"],
 source: "isVariableGloballyUndefined: aString\x0a\x09<return eval('typeof ' + aString + ' == \x22undefined\x22')>",
 source: "isVariableGloballyUndefined: aString\x0a\x09<return eval('typeof ' + aString + ' == \x22undefined\x22')>",
@@ -1306,7 +1381,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@messageSends"];
 $2=self["@messageSends"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@messageSends"]=_st($Dictionary())._new();
 self["@messageSends"]=_st($Dictionary())._new();
@@ -1331,7 +1407,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $LexicalScope(){return smalltalk.LexicalScope||(typeof LexicalScope=="undefined"?nil:LexicalScope)}
 function $LexicalScope(){return smalltalk.LexicalScope||(typeof LexicalScope=="undefined"?nil:LexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._newScopeOfClass_($LexicalScope());
 $1=_st(self)._newScopeOfClass_($LexicalScope());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newBlockScope",{},smalltalk.SemanticAnalyzer)})},
 }, function($ctx1) {$ctx1.fill(self,"newBlockScope",{},smalltalk.SemanticAnalyzer)})},
@@ -1350,7 +1427,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._newScopeOfClass_($MethodLexicalScope());
 $1=_st(self)._newScopeOfClass_($MethodLexicalScope());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newMethodScope",{},smalltalk.SemanticAnalyzer)})},
 }, function($ctx1) {$ctx1.fill(self,"newMethodScope",{},smalltalk.SemanticAnalyzer)})},
@@ -1368,7 +1446,8 @@ selector: "newScopeOfClass:",
 category: 'factory',
 category: 'factory',
 fn: function (aLexicalScopeClass){
 fn: function (aLexicalScopeClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(aLexicalScopeClass)._new();
 $2=_st(aLexicalScopeClass)._new();
 _st($2)._outerScope_(self["@currentScope"]);
 _st($2)._outerScope_(self["@currentScope"]);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -1389,7 +1468,8 @@ selector: "popScope",
 category: 'scope',
 category: 'scope',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentScope"];
 $1=self["@currentScope"];
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -1412,7 +1492,8 @@ selector: "pushScope:",
 category: 'scope',
 category: 'scope',
 fn: function (aScope){
 fn: function (aScope){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aScope)._outerScope_(self["@currentScope"]);
+return smalltalk.withContext(function($ctx1) { 
+_st(aScope)._outerScope_(self["@currentScope"]);
 self["@currentScope"]=aScope;
 self["@currentScope"]=aScope;
 return self}, function($ctx1) {$ctx1.fill(self,"pushScope:",{aScope:aScope},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"pushScope:",{aScope:aScope},smalltalk.SemanticAnalyzer)})},
 args: ["aScope"],
 args: ["aScope"],
@@ -1430,7 +1511,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@superSends"];
 $2=self["@superSends"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@superSends"]=_st($Dictionary())._new();
 self["@superSends"]=_st($Dictionary())._new();
@@ -1454,7 +1536,8 @@ selector: "theClass",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 $1=self["@theClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SemanticAnalyzer)})},
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SemanticAnalyzer)})},
@@ -1472,7 +1555,8 @@ selector: "theClass:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@theClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.SemanticAnalyzer)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "theClass: aClass\x0a\x09theClass := aClass",
 source: "theClass: aClass\x0a\x09theClass := aClass",
@@ -1488,7 +1572,8 @@ selector: "validateVariableScope:",
 category: 'scope',
 category: 'scope',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self["@currentScope"])._lookupVariable_(aString);
 $1=_st(self["@currentScope"])._lookupVariable_(aString);
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -1510,7 +1595,8 @@ selector: "visitAssignmentNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.NodeVisitor.fn.prototype._visitAssignmentNode_.apply(_st(self), [aNode]);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.NodeVisitor.fn.prototype._visitAssignmentNode_.apply(_st(self), [aNode]);
 _st(_st(aNode)._left())._beAssigned();
 _st(_st(aNode)._left())._beAssigned();
 return self}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 args: ["aNode"],
 args: ["aNode"],
@@ -1527,11 +1613,13 @@ selector: "visitBlockNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._pushScope_(_st(self)._newBlockScope());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._pushScope_(_st(self)._newBlockScope());
 _st(aNode)._scope_(self["@currentScope"]);
 _st(aNode)._scope_(self["@currentScope"]);
 _st(self["@currentScope"])._node_(aNode);
 _st(self["@currentScope"])._node_(aNode);
 _st(_st(aNode)._parameters())._do_((function(each){
 _st(_st(aNode)._parameters())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
_st(self)._validateVariableScope_(each);
+return smalltalk.withContext(function($ctx2) {
+_st(self)._validateVariableScope_(each);
 return _st(self["@currentScope"])._addArg_(each);
 return _st(self["@currentScope"])._addArg_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitBlockNode_.apply(_st(self), [aNode]);
 smalltalk.NodeVisitor.fn.prototype._visitBlockNode_.apply(_st(self), [aNode]);
@@ -1551,15 +1639,18 @@ selector: "visitCascadeNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(_st(aNode)._nodes())._do_((function(each){
 _st(_st(aNode)._nodes())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._receiver_(_st(aNode)._receiver());
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._receiver_(_st(aNode)._receiver());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitCascadeNode_.apply(_st(self), [aNode]);
 smalltalk.NodeVisitor.fn.prototype._visitCascadeNode_.apply(_st(self), [aNode]);
 $1=_st(_st(_st(aNode)._nodes())._first())._superSend();
 $1=_st(_st(_st(aNode)._nodes())._first())._superSend();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(_st(aNode)._nodes())._do_((function(each){
 _st(_st(aNode)._nodes())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._superSend_(true);
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._superSend_(true);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 };
 };
 return self}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
@@ -1578,7 +1669,8 @@ category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 function $ClassRefVar(){return smalltalk.ClassRefVar||(typeof ClassRefVar=="undefined"?nil:ClassRefVar)}
 function $ClassRefVar(){return smalltalk.ClassRefVar||(typeof ClassRefVar=="undefined"?nil:ClassRefVar)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(_st(self)._classReferences())._add_(_st(aNode)._value());
 _st(_st(self)._classReferences())._add_(_st(aNode)._value());
 $1=_st($ClassRefVar())._new();
 $1=_st($ClassRefVar())._new();
 _st($1)._name_(_st(aNode)._value());
 _st($1)._name_(_st(aNode)._value());
@@ -1599,15 +1691,18 @@ selector: "visitMethodNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(self)._pushScope_(_st(self)._newMethodScope());
 _st(self)._pushScope_(_st(self)._newMethodScope());
 _st(aNode)._scope_(self["@currentScope"]);
 _st(aNode)._scope_(self["@currentScope"]);
 _st(self["@currentScope"])._node_(aNode);
 _st(self["@currentScope"])._node_(aNode);
 _st(_st(_st(self)._theClass())._allInstanceVariableNames())._do_((function(each){
 _st(_st(_st(self)._theClass())._allInstanceVariableNames())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@currentScope"])._addIVar_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@currentScope"])._addIVar_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(_st(aNode)._arguments())._do_((function(each){
 _st(_st(aNode)._arguments())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
_st(self)._validateVariableScope_(each);
+return smalltalk.withContext(function($ctx2) {
+_st(self)._validateVariableScope_(each);
 return _st(self["@currentScope"])._addArg_(each);
 return _st(self["@currentScope"])._addArg_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitMethodNode_.apply(_st(self), [aNode]);
 smalltalk.NodeVisitor.fn.prototype._visitMethodNode_.apply(_st(self), [aNode]);
@@ -1631,7 +1726,8 @@ selector: "visitReturnNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(aNode)._scope_(self["@currentScope"]);
 _st(aNode)._scope_(self["@currentScope"]);
 $1=_st(self["@currentScope"])._isMethodScope();
 $1=_st(self["@currentScope"])._isMethodScope();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
@@ -1657,13 +1753,15 @@ fn: function (aNode){
 var self=this;
 var self=this;
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st(_st(_st(aNode)._receiver())._value()).__eq("super");
 $1=_st(_st(_st(aNode)._receiver())._value()).__eq("super");
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(aNode)._superSend_(true);
 _st(aNode)._superSend_(true);
 _st(_st(aNode)._receiver())._value_("self");
 _st(_st(aNode)._receiver())._value_("self");
 _st(_st(self)._superSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
 _st(_st(self)._superSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st($Set())._new();
+return smalltalk.withContext(function($ctx2) {
+return _st($Set())._new();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(_st(self)._superSends())._at_(_st(aNode)._selector()))._add_(aNode);
 _st(_st(_st(self)._superSends())._at_(_st(aNode)._selector()))._add_(aNode);
 } else {
 } else {
@@ -1674,7 +1772,8 @@ _st(_st(aNode)._receiver())._shouldBeAliased_(true);
 };
 };
 };
 };
 _st(_st(self)._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
 _st(_st(self)._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st($Set())._new();
+return smalltalk.withContext(function($ctx2) {
+return _st($Set())._new();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._add_(aNode);
 _st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._add_(aNode);
 _st(aNode)._index_(_st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._size());
 _st(aNode)._index_(_st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._size());
@@ -1694,8 +1793,10 @@ selector: "visitSequenceNode:",
 category: 'visiting',
 category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(aNode)._temps())._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
_st(self)._validateVariableScope_(each);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(aNode)._temps())._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+_st(self)._validateVariableScope_(each);
 return _st(self["@currentScope"])._addTemp_(each);
 return _st(self["@currentScope"])._addTemp_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitSequenceNode_.apply(_st(self), [aNode]);
 smalltalk.NodeVisitor.fn.prototype._visitSequenceNode_.apply(_st(self), [aNode]);
@@ -1715,7 +1816,8 @@ category: 'visiting',
 fn: function (aNode){
 fn: function (aNode){
 var self=this;
 var self=this;
 function $UnknownVar(){return smalltalk.UnknownVar||(typeof UnknownVar=="undefined"?nil:UnknownVar)}
 function $UnknownVar(){return smalltalk.UnknownVar||(typeof UnknownVar=="undefined"?nil:UnknownVar)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$3,$4,$5,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$3,$4,$5,$2;
 $1=aNode;
 $1=aNode;
 $3=_st(self["@currentScope"])._lookupVariable_(aNode);
 $3=_st(self["@currentScope"])._lookupVariable_(aNode);
 if(($receiver = $3) == nil || $receiver == undefined){
 if(($receiver = $3) == nil || $receiver == undefined){
@@ -1744,7 +1846,8 @@ selector: "on:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._theClass_(aClass);
 _st($2)._theClass_(aClass);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();

+ 158 - 79
js/Compiler-Tests.deploy.js

@@ -7,7 +7,8 @@ selector: "analyze:forClass:",
 fn: function (aNode,aClass){
 fn: function (aNode,aClass){
 var self=this;
 var self=this;
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(_st($SemanticAnalyzer())._on_(aClass))._visit_(aNode);
 _st(_st($SemanticAnalyzer())._on_(aClass))._visit_(aNode);
 $1=aNode;
 $1=aNode;
 return $1;
 return $1;
@@ -22,7 +23,8 @@ selector: "interpret:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._interpret_withArguments_(aString,_st($Dictionary())._new());
 $1=_st(self)._interpret_withArguments_(aString,_st($Dictionary())._new());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
@@ -37,11 +39,13 @@ fn: function (aString,anObject,aDictionary){
 var self=this;
 var self=this;
 var ctx;
 var ctx;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 ctx=_st($AIContext())._new();
 ctx=_st($AIContext())._new();
 _st(ctx)._receiver_(anObject);
 _st(ctx)._receiver_(anObject);
 _st(aDictionary)._keysAndValuesDo_((function(key,value){
 _st(aDictionary)._keysAndValuesDo_((function(key,value){
-return smalltalk.withContext(function($ctx2) {
return _st(ctx)._localAt_put_(key,value);
+return smalltalk.withContext(function($ctx2) {
+return _st(ctx)._localAt_put_(key,value);
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 $2=_st(self)._interpreter();
 $2=_st(self)._interpreter();
 _st($2)._context_(ctx);
 _st($2)._context_(ctx);
@@ -60,7 +64,8 @@ selector: "interpret:withArguments:",
 fn: function (aString,aDictionary){
 fn: function (aString,aDictionary){
 var self=this;
 var self=this;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._interpret_receiver_withArguments_(aString,_st($Object())._new(),aDictionary);
 $1=_st(self)._interpret_receiver_withArguments_(aString,_st($Object())._new(),aDictionary);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary},smalltalk.AbstractASTInterpreterTest)})},
@@ -73,7 +78,8 @@ smalltalk.method({
 selector: "interpreter",
 selector: "interpreter",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._subclassResponsibility();
 $1=_st(self)._subclassResponsibility();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.AbstractASTInterpreterTest)})},
@@ -87,7 +93,8 @@ selector: "parse:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st($Smalltalk())._current())._parse_(aString);
 $1=_st(_st($Smalltalk())._current())._parse_(aString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
@@ -100,7 +107,8 @@ smalltalk.method({
 selector: "parse:forClass:",
 selector: "parse:forClass:",
 fn: function (aString,aClass){
 fn: function (aString,aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._analyze_forClass_(_st(self)._parse_(aString),aClass);
 $1=_st(self)._analyze_forClass_(_st(self)._parse_(aString),aClass);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass},smalltalk.AbstractASTInterpreterTest)})},
@@ -117,7 +125,8 @@ selector: "interpreter",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ASTInterpreter(){return smalltalk.ASTInterpreter||(typeof ASTInterpreter=="undefined"?nil:ASTInterpreter)}
 function $ASTInterpreter(){return smalltalk.ASTInterpreter||(typeof ASTInterpreter=="undefined"?nil:ASTInterpreter)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($ASTInterpreter())._new();
 $1=_st($ASTInterpreter())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.ASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.ASTInterpreterTest)})},
@@ -130,7 +139,8 @@ smalltalk.method({
 selector: "testBinarySend",
 selector: "testBinarySend",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo 2+3+4"),(9));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo 2+3+4"),(9));
 return self}, function($ctx1) {$ctx1.fill(self,"testBinarySend",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testBinarySend",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -141,7 +151,8 @@ smalltalk.method({
 selector: "testBlockLiteral",
 selector: "testBlockLiteral",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ true ifTrue: [ 1 ] ifFalse: [ 2 ]"),(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo ^ true ifTrue: [ 1 ] ifFalse: [ 2 ]"),(1));
 _st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ] ifFalse: [ 2 ]"),(1));
 _st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ] ifFalse: [ 2 ]"),(1));
 _st(self)._assert_equals_(_st(self)._interpret_("foo ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]"),(2));
 _st(self)._assert_equals_(_st(self)._interpret_("foo ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{},smalltalk.ASTInterpreterTest)})},
@@ -155,7 +166,8 @@ selector: "testCascade",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ OrderedCollection new add: 2; add: 3; yourself"),_st($OrderedCollection())._with_with_((2),(3)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo ^ OrderedCollection new add: 2; add: 3; yourself"),_st($OrderedCollection())._with_with_((2),(3)));
 return self}, function($ctx1) {$ctx1.fill(self,"testCascade",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testCascade",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:", "with:with:"]}),
 messageSends: ["assert:equals:", "interpret:", "with:with:"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -166,7 +178,8 @@ smalltalk.method({
 selector: "testDynamicArray",
 selector: "testDynamicArray",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ {1+1. 2+2}"),[(2), (4)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo ^ {1+1. 2+2}"),[(2), (4)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArray",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArray",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -177,7 +190,8 @@ smalltalk.method({
 selector: "testDynamicDictionary",
 selector: "testDynamicDictionary",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ #{1->1. 2->3}"),smalltalk.HashedCollection._fromPairs_([_st((1)).__minus_gt((1)),_st((2)).__minus_gt((3))]));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo ^ #{1->1. 2->3}"),smalltalk.HashedCollection._fromPairs_([_st((1)).__minus_gt((1)),_st((2)).__minus_gt((3))]));
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionary",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionary",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:", "->"]}),
 messageSends: ["assert:equals:", "interpret:", "->"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -188,7 +202,8 @@ smalltalk.method({
 selector: "testInlinedJSStatement",
 selector: "testInlinedJSStatement",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo <return 2+3>"),(5));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo <return 2+3>"),(5));
 _st(self)._assert_equals_(_st(self)._interpret_withArguments_("foo: anInteger <return 2 + anInteger>",smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((3))])),(5));
 _st(self)._assert_equals_(_st(self)._interpret_withArguments_("foo: anInteger <return 2 + anInteger>",smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((3))])),(5));
 return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:", "interpret:withArguments:", "->"]}),
 messageSends: ["assert:equals:", "interpret:", "interpret:withArguments:", "->"]}),
@@ -200,7 +215,8 @@ smalltalk.method({
 selector: "testInstVarAccess",
 selector: "testInstVarAccess",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ x",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ x",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAccess",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAccess",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -212,7 +228,8 @@ selector: "testInstVarAssignment",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Point(){return smalltalk.Point||(typeof Point=="undefined"?nil:Point)}
 function $Point(){return smalltalk.Point||(typeof Point=="undefined"?nil:Point)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo: anInteger x := anInteger. ^ x",_st($Point())._new(),smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((2))])),(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo: anInteger x := anInteger. ^ x",_st($Point())._new(),smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((2))])),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAssignment",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAssignment",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "new", "->"]}),
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "new", "->"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -223,7 +240,8 @@ smalltalk.method({
 selector: "testNonlocalReturn",
 selector: "testNonlocalReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ]. ^2"),(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ]. ^2"),(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testNonlocalReturn",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testNonlocalReturn",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -234,7 +252,8 @@ smalltalk.method({
 selector: "testReceiver",
 selector: "testReceiver",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ self",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),_st((2)).__at((3)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ self",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),_st((2)).__at((3)));
 return self}, function($ctx1) {$ctx1.fill(self,"testReceiver",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testReceiver",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -245,7 +264,8 @@ smalltalk.method({
 selector: "testTempAssignment",
 selector: "testTempAssignment",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo | a | a := 2. ^ a"),(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo | a | a := 2. ^ a"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testTempAssignment",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testTempAssignment",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 smalltalk.ASTInterpreterTest);
@@ -260,7 +280,8 @@ selector: "interpreter",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ASTSteppingInterpreter(){return smalltalk.ASTSteppingInterpreter||(typeof ASTSteppingInterpreter=="undefined"?nil:ASTSteppingInterpreter)}
 function $ASTSteppingInterpreter(){return smalltalk.ASTSteppingInterpreter||(typeof ASTSteppingInterpreter=="undefined"?nil:ASTSteppingInterpreter)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@interpreter"];
 $2=self["@interpreter"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@interpreter"]=_st($ASTSteppingInterpreter())._new();
 self["@interpreter"]=_st($ASTSteppingInterpreter())._new();
@@ -279,7 +300,8 @@ smalltalk.method({
 selector: "testAtEnd",
 selector: "testAtEnd",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_("foo 1 + 2");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_("foo 1 + 2");
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
@@ -299,7 +321,8 @@ smalltalk.method({
 selector: "testMessageSend",
 selector: "testMessageSend",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_("foo 1 + 2");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_("foo 1 + 2");
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
@@ -318,7 +341,8 @@ smalltalk.method({
 selector: "testSimpleStepping",
 selector: "testSimpleStepping",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_("foo 1");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_("foo 1");
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(self)._assert_(_st(_st(_st(self)._interpreter())._result())._isNil());
 _st(self)._assert_(_st(_st(_st(self)._interpreter())._result())._isNil());
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
@@ -337,7 +361,8 @@ selector: "codeGeneratorClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $CodeGenerator(){return smalltalk.CodeGenerator||(typeof CodeGenerator=="undefined"?nil:CodeGenerator)}
 function $CodeGenerator(){return smalltalk.CodeGenerator||(typeof CodeGenerator=="undefined"?nil:CodeGenerator)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$CodeGenerator();
 $1=$CodeGenerator();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.CodeGeneratorTest)})},
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.CodeGeneratorTest)})},
@@ -351,7 +376,8 @@ selector: "compiler",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($Compiler())._new();
 $2=_st($Compiler())._new();
 _st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
 _st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -367,7 +393,8 @@ smalltalk.method({
 selector: "setUp",
 selector: "setUp",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=_st(_st(self)._targetClass())._new();
+return smalltalk.withContext(function($ctx1) { 
+self["@receiver"]=_st(_st(self)._targetClass())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["new", "targetClass"]}),
 messageSends: ["new", "targetClass"]}),
 smalltalk.CodeGeneratorTest);
 smalltalk.CodeGeneratorTest);
@@ -379,7 +406,8 @@ selector: "should:return:",
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
 var method,result;
 var method,result;
-return smalltalk.withContext(function($ctx1) { 
method=_st(_st(self)._compiler())._install_forClass_category_(aString,_st(self)._targetClass(),"tests");
+return smalltalk.withContext(function($ctx1) { 
+method=_st(_st(self)._compiler())._install_forClass_category_(aString,_st(self)._targetClass(),"tests");
 result=_st(self["@receiver"])._perform_(_st(method)._selector());
 result=_st(self["@receiver"])._perform_(_st(method)._selector());
 _st(_st(self)._targetClass())._removeCompiledMethod_(method);
 _st(_st(self)._targetClass())._removeCompiledMethod_(method);
 _st(self)._assert_equals_(anObject,result);
 _st(self)._assert_equals_(anObject,result);
@@ -394,7 +422,8 @@ selector: "targetClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$DoIt();
 $1=$DoIt();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"targetClass",{},smalltalk.CodeGeneratorTest)})},
 }, function($ctx1) {$ctx1.fill(self,"targetClass",{},smalltalk.CodeGeneratorTest)})},
@@ -407,7 +436,8 @@ smalltalk.method({
 selector: "tearDown",
 selector: "tearDown",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.CodeGeneratorTest)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.CodeGeneratorTest)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.CodeGeneratorTest);
 smalltalk.CodeGeneratorTest);
 
 
@@ -417,7 +447,8 @@ smalltalk.method({
 selector: "testAssignment",
 selector: "testAssignment",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo | a | a := true ifTrue: [ 1 ]. ^ a",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo | a | a := true ifTrue: [ 1 ]. ^ a",(1));
 _st(self)._should_return_("foo | a | a := false ifTrue: [ 1 ]. ^ a",nil);
 _st(self)._should_return_("foo | a | a := false ifTrue: [ 1 ]. ^ a",nil);
 _st(self)._should_return_("foo | a | ^ a := true ifTrue: [ 1 ]",(1));
 _st(self)._should_return_("foo | a | ^ a := true ifTrue: [ 1 ]",(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{},smalltalk.CodeGeneratorTest)})},
@@ -430,7 +461,8 @@ smalltalk.method({
 selector: "testBackslashSelectors",
 selector: "testBackslashSelectors",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("\x5c arg ^ 4",(4));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("\x5c arg ^ 4",(4));
 _st(self)._should_return_("\x5c\x5c arg ^ 42",(42));
 _st(self)._should_return_("\x5c\x5c arg ^ 42",(42));
 return self}, function($ctx1) {$ctx1.fill(self,"testBackslashSelectors",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testBackslashSelectors",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 messageSends: ["should:return:"]}),
@@ -442,7 +474,8 @@ smalltalk.method({
 selector: "testBlockReturn",
 selector: "testBlockReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | true ifTrue: [ each + 1 ] ]",[(2), (3), (4)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | true ifTrue: [ each + 1 ] ]",[(2), (3), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | false ifFalse: [ each + 1 ] ]",[(2), (3), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | false ifFalse: [ each + 1 ] ]",[(2), (3), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | each odd ifTrue: [ each + 1 ] ifFalse: [ each - 1 ] ]",[(2), (1), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | each odd ifTrue: [ each + 1 ] ifFalse: [ each - 1 ] ]",[(2), (1), (4)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockReturn",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockReturn",{},smalltalk.CodeGeneratorTest)})},
@@ -455,7 +488,8 @@ smalltalk.method({
 selector: "testCascades",
 selector: "testCascades",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ Array new add: 3; add: 4; yourself",[(3), (4)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ Array new add: 3; add: 4; yourself",[(3), (4)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testCascades",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testCascades",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 smalltalk.CodeGeneratorTest);
@@ -466,7 +500,8 @@ smalltalk.method({
 selector: "testDynamicArrayElementsOrdered",
 selector: "testDynamicArrayElementsOrdered",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { x. true ifTrue: [ x := 2 ] }\x0a",[(1), (2)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { x. true ifTrue: [ x := 2 ] }\x0a",[(1), (2)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArrayElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArrayElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 smalltalk.CodeGeneratorTest);
@@ -477,7 +512,8 @@ smalltalk.method({
 selector: "testDynamicDictionaryElementsOrdered",
 selector: "testDynamicDictionaryElementsOrdered",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 'foo'->1.\x0a\x09^ #{ x. (true ifTrue: [ x := 'bar'->2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 'foo'->1.\x0a\x09^ #{ x. (true ifTrue: [ x := 'bar'->2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionaryElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionaryElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:", "->"]}),
 messageSends: ["should:return:", "->"]}),
 smalltalk.CodeGeneratorTest);
 smalltalk.CodeGeneratorTest);
@@ -489,7 +525,8 @@ selector: "testInnerTemporalDependentElementsOrdered",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[_st("foo").__minus_gt($Array()),_st("bar").__minus_gt((2))]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[_st("foo").__minus_gt($Array()),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ #{ 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ #{ 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
@@ -503,7 +540,8 @@ smalltalk.method({
 selector: "testLiterals",
 selector: "testLiterals",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1",(1));
 _st(self)._should_return_("foo ^ 'hello'","hello");
 _st(self)._should_return_("foo ^ 'hello'","hello");
 _st(self)._should_return_("foo ^ #(1 2 3 4)",[(1), (2), (3), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3 4)",[(1), (2), (3), (4)]);
 _st(self)._should_return_("foo ^ {1. [:x | x ] value: 2. 3. [4] value}",[(1), (2), (3), (4)]);
 _st(self)._should_return_("foo ^ {1. [:x | x ] value: 2. 3. [4] value}",[(1), (2), (3), (4)]);
@@ -522,7 +560,8 @@ smalltalk.method({
 selector: "testLocalReturn",
 selector: "testLocalReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1",(1));
 _st(self)._should_return_("foo ^ 1 + 1",(2));
 _st(self)._should_return_("foo ^ 1 + 1",(2));
 _st(self)._should_return_("foo ",self["@receiver"]);
 _st(self)._should_return_("foo ",self["@receiver"]);
 _st(self)._should_return_("foo self asString",self["@receiver"]);
 _st(self)._should_return_("foo self asString",self["@receiver"]);
@@ -537,7 +576,8 @@ smalltalk.method({
 selector: "testMessageSends",
 selector: "testMessageSends",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1 asString","1");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1 asString","1");
 _st(self)._should_return_("foo ^ 1 + 1",(2));
 _st(self)._should_return_("foo ^ 1 + 1",(2));
 _st(self)._should_return_("foo ^ 1 + 2 * 3",(9));
 _st(self)._should_return_("foo ^ 1 + 2 * 3",(9));
 _st(self)._should_return_("foo ^ 1 to: 3",[(1), (2), (3)]);
 _st(self)._should_return_("foo ^ 1 to: 3",[(1), (2), (3)]);
@@ -552,7 +592,8 @@ smalltalk.method({
 selector: "testMutableLiterals",
 selector: "testMutableLiterals",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ #( 1 2 ) at: 1 put: 3; yourself",[(3), (2)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ #( 1 2 ) at: 1 put: 3; yourself",[(3), (2)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testMutableLiterals",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testMutableLiterals",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 smalltalk.CodeGeneratorTest);
@@ -563,7 +604,8 @@ smalltalk.method({
 selector: "testNestedIfTrue",
 selector: "testNestedIfTrue",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ true ifTrue: [ false ifFalse: [ 1 ] ]",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ true ifTrue: [ false ifFalse: [ 1 ] ]",(1));
 _st(self)._should_return_("foo ^ true ifTrue: [ false ifTrue: [ 1 ] ]",nil);
 _st(self)._should_return_("foo ^ true ifTrue: [ false ifTrue: [ 1 ] ]",nil);
 _st(self)._should_return_("foo true ifTrue: [ false ifFalse: [ ^ 1 ] ]",(1));
 _st(self)._should_return_("foo true ifTrue: [ false ifFalse: [ ^ 1 ] ]",(1));
 _st(self)._should_return_("foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]",self["@receiver"]);
 _st(self)._should_return_("foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]",self["@receiver"]);
@@ -577,7 +619,8 @@ smalltalk.method({
 selector: "testNonLocalReturn",
 selector: "testNonLocalReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo [ ^ 1 ] value",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo [ ^ 1 ] value",(1));
 _st(self)._should_return_("foo [ ^ 1 + 1 ] value",(2));
 _st(self)._should_return_("foo [ ^ 1 + 1 ] value",(2));
 _st(self)._should_return_("foo | a b | a := 1. b := 2. [ ^ a + b ] value. self halt",(3));
 _st(self)._should_return_("foo | a b | a := 1. b := 2. [ ^ a + b ] value. self halt",(3));
 _st(self)._should_return_("foo [ :x | ^ x + x ] value: 4. ^ 2",(8));
 _st(self)._should_return_("foo [ :x | ^ x + x ] value: 4. ^ 2",(8));
@@ -591,7 +634,8 @@ smalltalk.method({
 selector: "testPascalCaseGlobal",
 selector: "testPascalCaseGlobal",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^Object",_st(smalltalk)._at_("Object"));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^Object",_st(smalltalk)._at_("Object"));
 _st(self)._should_return_("foo ^NonExistent",nil);
 _st(self)._should_return_("foo ^NonExistent",nil);
 return self}, function($ctx1) {$ctx1.fill(self,"testPascalCaseGlobal",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testPascalCaseGlobal",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:", "at:"]}),
 messageSends: ["should:return:", "at:"]}),
@@ -604,7 +648,8 @@ selector: "testSendReceiverAndArgumentsOrdered",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: x with: (true ifTrue: [ x := 2 ])\x0a",[(1), (2)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: x with: (true ifTrue: [ x := 2 ])\x0a",[(1), (2)]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: x with: (true ifTrue: [ x := 2 ])\x0a",[$Array(),(2)]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: x with: (true ifTrue: [ x := 2 ])\x0a",[$Array(),(2)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testSendReceiverAndArgumentsOrdered",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testSendReceiverAndArgumentsOrdered",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 messageSends: ["should:return:"]}),
@@ -616,7 +661,8 @@ smalltalk.method({
 selector: "testifFalse",
 selector: "testifFalse",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo true ifFalse: [ ^ 1 ]",self["@receiver"]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo true ifFalse: [ ^ 1 ]",self["@receiver"]);
 _st(self)._should_return_("foo false ifFalse: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo false ifFalse: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo ^ true ifFalse: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ true ifFalse: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ]",(2));
@@ -630,7 +676,8 @@ smalltalk.method({
 selector: "testifFalseIfTrue",
 selector: "testifFalseIfTrue",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo true ifFalse: [ ^ 1 ] ifTrue: [ ^ 2 ]",(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo true ifFalse: [ ^ 1 ] ifTrue: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo false ifFalse: [ ^ 2 ] ifTrue: [ ^1 ]",(2));
 _st(self)._should_return_("foo false ifFalse: [ ^ 2 ] ifTrue: [ ^1 ]",(2));
 _st(self)._should_return_("foo ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]",(2));
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]",(2));
@@ -644,7 +691,8 @@ smalltalk.method({
 selector: "testifNil",
 selector: "testifNil",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1 ifNil: [ 2 ]",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1 ifNil: [ 2 ]",(1));
 _st(self)._should_return_("foo ^ nil ifNil: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ nil ifNil: [ 2 ]",(2));
 _st(self)._should_return_("foo 1 ifNil: [ ^ 2 ]",self["@receiver"]);
 _st(self)._should_return_("foo 1 ifNil: [ ^ 2 ]",self["@receiver"]);
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ]",(2));
@@ -658,7 +706,8 @@ smalltalk.method({
 selector: "testifNilIfNotNil",
 selector: "testifNilIfNotNil",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1 ifNil: [ 2 ] ifNotNil: [ 3 ]",(3));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1 ifNil: [ 2 ] ifNotNil: [ 3 ]",(3));
 _st(self)._should_return_("foo ^ nil ifNil: [ 2 ] ifNotNil: [ 3 ]",(2));
 _st(self)._should_return_("foo ^ nil ifNil: [ 2 ] ifNotNil: [ 3 ]",(2));
 _st(self)._should_return_("foo 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(3));
 _st(self)._should_return_("foo 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(3));
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(2));
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(2));
@@ -672,7 +721,8 @@ smalltalk.method({
 selector: "testifNotNil",
 selector: "testifNotNil",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1 ifNotNil: [ 2 ]",(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1 ifNotNil: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ nil ifNotNil: [ 2 ]",nil);
 _st(self)._should_return_("foo ^ nil ifNotNil: [ 2 ]",nil);
 _st(self)._should_return_("foo 1 ifNotNil: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo 1 ifNotNil: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo nil ifNotNil: [ ^ 2 ]",self["@receiver"]);
 _st(self)._should_return_("foo nil ifNotNil: [ ^ 2 ]",self["@receiver"]);
@@ -686,7 +736,8 @@ smalltalk.method({
 selector: "testifTrue",
 selector: "testifTrue",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo false ifTrue: [ ^ 1 ]",self["@receiver"]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo false ifTrue: [ ^ 1 ]",self["@receiver"]);
 _st(self)._should_return_("foo true ifTrue: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo true ifTrue: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo ^ false ifTrue: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ false ifTrue: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ]",(2));
@@ -700,7 +751,8 @@ smalltalk.method({
 selector: "testifTrueIfFalse",
 selector: "testifTrueIfFalse",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo false ifTrue: [ ^ 1 ] ifFalse: [ ^2 ]",(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo false ifTrue: [ ^ 1 ] ifFalse: [ ^2 ]",(2));
 _st(self)._should_return_("foo true ifTrue: [ ^ 1 ] ifFalse: [ ^ 2 ]",(1));
 _st(self)._should_return_("foo true ifTrue: [ ^ 1 ] ifFalse: [ ^ 2 ]",(1));
 _st(self)._should_return_("foo ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]",(1));
 _st(self)._should_return_("foo ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]",(1));
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]",(2));
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]",(2));
@@ -718,7 +770,8 @@ selector: "codeGeneratorClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $InliningCodeGenerator(){return smalltalk.InliningCodeGenerator||(typeof InliningCodeGenerator=="undefined"?nil:InliningCodeGenerator)}
 function $InliningCodeGenerator(){return smalltalk.InliningCodeGenerator||(typeof InliningCodeGenerator=="undefined"?nil:InliningCodeGenerator)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$InliningCodeGenerator();
 $1=$InliningCodeGenerator();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.InliningCodeGeneratorTest)})},
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.InliningCodeGeneratorTest)})},
@@ -737,7 +790,8 @@ var self=this;
 var node;
 var node;
 function $ClassReferenceNode(){return smalltalk.ClassReferenceNode||(typeof ClassReferenceNode=="undefined"?nil:ClassReferenceNode)}
 function $ClassReferenceNode(){return smalltalk.ClassReferenceNode||(typeof ClassReferenceNode=="undefined"?nil:ClassReferenceNode)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($ClassReferenceNode())._new();
 $1=_st($ClassReferenceNode())._new();
 _st($1)._value_("Object");
 _st($1)._value_("Object");
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -757,7 +811,8 @@ var self=this;
 var node,scope;
 var node,scope;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($VariableNode())._new();
 $1=_st($VariableNode())._new();
 _st($1)._value_("bzzz");
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -778,10 +833,12 @@ var self=this;
 var node,pseudoVars;
 var node,pseudoVars;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 pseudoVars=["self", "super", "true", "false", "nil"];
 pseudoVars=["self", "super", "true", "false", "nil"];
 _st(pseudoVars)._do_((function(each){
 _st(pseudoVars)._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$1=_st($VariableNode())._new();
+return smalltalk.withContext(function($ctx2) {
+$1=_st($VariableNode())._new();
 _st($1)._value_(each);
 _st($1)._value_(each);
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
 node=$2;
 node=$2;
@@ -801,7 +858,8 @@ var self=this;
 var node,scope;
 var node,scope;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($VariableNode())._new();
 $1=_st($VariableNode())._new();
 _st($1)._value_("bzzz");
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -822,7 +880,8 @@ var self=this;
 var node;
 var node;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($VariableNode())._new();
 $1=_st($VariableNode())._new();
 _st($1)._value_("bzzz");
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -843,7 +902,8 @@ fn: function (){
 var self=this;
 var self=this;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
self["@analyzer"]=_st($SemanticAnalyzer())._on_($Object());
+return smalltalk.withContext(function($ctx1) { 
+self["@analyzer"]=_st($SemanticAnalyzer())._on_($Object());
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["on:"]}),
 messageSends: ["on:"]}),
 smalltalk.SemanticAnalyzerTest);
 smalltalk.SemanticAnalyzerTest);
@@ -856,10 +916,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo self := 1";
+return smalltalk.withContext(function($ctx1) { 
+src="foo self := 1";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$InvalidAssignmentError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$InvalidAssignmentError());
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -872,7 +934,8 @@ selector: "testNonLocalReturn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. ^ a";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. ^ a";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._deny_(_st(_st(ast)._scope())._hasNonLocalReturn());
 _st(self)._deny_(_st(_st(ast)._scope())._hasNonLocalReturn());
@@ -887,7 +950,8 @@ selector: "testNonLocalReturn2",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ ^ a] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ ^ a] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_(_st(_st(ast)._scope())._hasNonLocalReturn());
 _st(self)._assert_(_st(_st(ast)._scope())._hasNonLocalReturn());
@@ -902,7 +966,8 @@ selector: "testScope",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | b | b := a ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ | b | b := a ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._deny_(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()).__eq_eq(_st(ast)._scope()));
 _st(self)._deny_(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()).__eq_eq(_st(ast)._scope()));
@@ -917,7 +982,8 @@ selector: "testScope2",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ | b | b := a ] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ | b | b := a ] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._deny_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._scope()).__eq_eq(_st(ast)._scope()));
 _st(self)._deny_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._scope()).__eq_eq(_st(ast)._scope()));
@@ -932,7 +998,8 @@ selector: "testScopeLevel",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ | b | b := a ] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ | b | b := a ] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_equals_(_st(_st(ast)._scope())._scopeLevel(),(1));
 _st(self)._assert_equals_(_st(_st(ast)._scope())._scopeLevel(),(1));
@@ -949,10 +1016,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | b + a";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | b + a";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariables",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariables",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -966,10 +1035,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo | a b | [ c + 1. [ a + 1. d + 1 ]]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a b | [ c + 1. [ a + 1. d + 1 ]]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariablesWithScope",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariablesWithScope",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -982,7 +1053,8 @@ selector: "testVariableShadowing",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -997,10 +1069,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | a | a := 2 ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ | a | a := 2 ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -1013,7 +1087,8 @@ selector: "testVariableShadowing3",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | b | b := 2 ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ | b | b := 2 ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing3",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing3",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1027,7 +1102,8 @@ selector: "testVariableShadowing4",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ [ | b | b := 2 ] ] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ [ | b | b := 2 ] ] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing4",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing4",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1042,10 +1118,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ [ | a | a := 2 ] ] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ [ | a | a := 2 ] ] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing5",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing5",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -1058,7 +1136,8 @@ selector: "testVariablesLookup",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | b | b := a ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ | b | b := a ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._isTempVar());
 _st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._isTempVar());

+ 158 - 79
js/Compiler-Tests.js

@@ -8,7 +8,8 @@ category: 'interpreting',
 fn: function (aNode,aClass){
 fn: function (aNode,aClass){
 var self=this;
 var self=this;
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(_st($SemanticAnalyzer())._on_(aClass))._visit_(aNode);
 _st(_st($SemanticAnalyzer())._on_(aClass))._visit_(aNode);
 $1=aNode;
 $1=aNode;
 return $1;
 return $1;
@@ -28,7 +29,8 @@ category: 'interpreting',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._interpret_withArguments_(aString,_st($Dictionary())._new());
 $1=_st(self)._interpret_withArguments_(aString,_st($Dictionary())._new());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
@@ -48,11 +50,13 @@ fn: function (aString,anObject,aDictionary){
 var self=this;
 var self=this;
 var ctx;
 var ctx;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 ctx=_st($AIContext())._new();
 ctx=_st($AIContext())._new();
 _st(ctx)._receiver_(anObject);
 _st(ctx)._receiver_(anObject);
 _st(aDictionary)._keysAndValuesDo_((function(key,value){
 _st(aDictionary)._keysAndValuesDo_((function(key,value){
-return smalltalk.withContext(function($ctx2) {
return _st(ctx)._localAt_put_(key,value);
+return smalltalk.withContext(function($ctx2) {
+return _st(ctx)._localAt_put_(key,value);
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 $2=_st(self)._interpreter();
 $2=_st(self)._interpreter();
 _st($2)._context_(ctx);
 _st($2)._context_(ctx);
@@ -76,7 +80,8 @@ category: 'interpreting',
 fn: function (aString,aDictionary){
 fn: function (aString,aDictionary){
 var self=this;
 var self=this;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._interpret_receiver_withArguments_(aString,_st($Object())._new(),aDictionary);
 $1=_st(self)._interpret_receiver_withArguments_(aString,_st($Object())._new(),aDictionary);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary},smalltalk.AbstractASTInterpreterTest)})},
@@ -94,7 +99,8 @@ selector: "interpreter",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._subclassResponsibility();
 $1=_st(self)._subclassResponsibility();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.AbstractASTInterpreterTest)})},
@@ -113,7 +119,8 @@ category: 'parsing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st($Smalltalk())._current())._parse_(aString);
 $1=_st(_st($Smalltalk())._current())._parse_(aString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
@@ -131,7 +138,8 @@ selector: "parse:forClass:",
 category: 'parsing',
 category: 'parsing',
 fn: function (aString,aClass){
 fn: function (aString,aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._analyze_forClass_(_st(self)._parse_(aString),aClass);
 $1=_st(self)._analyze_forClass_(_st(self)._parse_(aString),aClass);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass},smalltalk.AbstractASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass},smalltalk.AbstractASTInterpreterTest)})},
@@ -153,7 +161,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ASTInterpreter(){return smalltalk.ASTInterpreter||(typeof ASTInterpreter=="undefined"?nil:ASTInterpreter)}
 function $ASTInterpreter(){return smalltalk.ASTInterpreter||(typeof ASTInterpreter=="undefined"?nil:ASTInterpreter)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($ASTInterpreter())._new();
 $1=_st($ASTInterpreter())._new();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.ASTInterpreterTest)})},
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.ASTInterpreterTest)})},
@@ -171,7 +180,8 @@ selector: "testBinarySend",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo 2+3+4"),(9));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo 2+3+4"),(9));
 return self}, function($ctx1) {$ctx1.fill(self,"testBinarySend",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testBinarySend",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testBinarySend\x0a\x09self assert: (self interpret: 'foo 2+3+4') equals: 9",
 source: "testBinarySend\x0a\x09self assert: (self interpret: 'foo 2+3+4') equals: 9",
@@ -187,7 +197,8 @@ selector: "testBlockLiteral",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ true ifTrue: [ 1 ] ifFalse: [ 2 ]"),(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo ^ true ifTrue: [ 1 ] ifFalse: [ 2 ]"),(1));
 _st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ] ifFalse: [ 2 ]"),(1));
 _st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ] ifFalse: [ 2 ]"),(1));
 _st(self)._assert_equals_(_st(self)._interpret_("foo ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]"),(2));
 _st(self)._assert_equals_(_st(self)._interpret_("foo ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{},smalltalk.ASTInterpreterTest)})},
@@ -206,7 +217,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ OrderedCollection new add: 2; add: 3; yourself"),_st($OrderedCollection())._with_with_((2),(3)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo ^ OrderedCollection new add: 2; add: 3; yourself"),_st($OrderedCollection())._with_with_((2),(3)));
 return self}, function($ctx1) {$ctx1.fill(self,"testCascade",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testCascade",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testCascade\x0a\x09self assert: (self interpret: 'foo ^ OrderedCollection new add: 2; add: 3; yourself') equals: (OrderedCollection with: 2 with: 3)",
 source: "testCascade\x0a\x09self assert: (self interpret: 'foo ^ OrderedCollection new add: 2; add: 3; yourself') equals: (OrderedCollection with: 2 with: 3)",
@@ -222,7 +234,8 @@ selector: "testDynamicArray",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ {1+1. 2+2}"),[(2), (4)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo ^ {1+1. 2+2}"),[(2), (4)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArray",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArray",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testDynamicArray\x0a\x09self assert: (self interpret: 'foo ^ {1+1. 2+2}') equals: #(2 4)",
 source: "testDynamicArray\x0a\x09self assert: (self interpret: 'foo ^ {1+1. 2+2}') equals: #(2 4)",
@@ -238,7 +251,8 @@ selector: "testDynamicDictionary",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ #{1->1. 2->3}"),smalltalk.HashedCollection._fromPairs_([_st((1)).__minus_gt((1)),_st((2)).__minus_gt((3))]));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo ^ #{1->1. 2->3}"),smalltalk.HashedCollection._fromPairs_([_st((1)).__minus_gt((1)),_st((2)).__minus_gt((3))]));
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionary",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionary",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testDynamicDictionary\x0a\x09self assert: (self interpret: 'foo ^ #{1->1. 2->3}') equals: #{1->1. 2->3}",
 source: "testDynamicDictionary\x0a\x09self assert: (self interpret: 'foo ^ #{1->1. 2->3}') equals: #{1->1. 2->3}",
@@ -254,7 +268,8 @@ selector: "testInlinedJSStatement",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo <return 2+3>"),(5));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo <return 2+3>"),(5));
 _st(self)._assert_equals_(_st(self)._interpret_withArguments_("foo: anInteger <return 2 + anInteger>",smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((3))])),(5));
 _st(self)._assert_equals_(_st(self)._interpret_withArguments_("foo: anInteger <return 2 + anInteger>",smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((3))])),(5));
 return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
@@ -271,7 +286,8 @@ selector: "testInstVarAccess",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ x",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ x",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAccess",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAccess",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testInstVarAccess\x0a\x09self\x0a\x09\x09assert: (self\x0a\x09\x09\x09interpret: 'foo ^ x'\x0a\x09\x09\x09receiver: 2@3\x0a\x09\x09\x09withArguments: #{})\x0a\x09\x09equals: 2",
 source: "testInstVarAccess\x0a\x09self\x0a\x09\x09assert: (self\x0a\x09\x09\x09interpret: 'foo ^ x'\x0a\x09\x09\x09receiver: 2@3\x0a\x09\x09\x09withArguments: #{})\x0a\x09\x09equals: 2",
@@ -288,7 +304,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Point(){return smalltalk.Point||(typeof Point=="undefined"?nil:Point)}
 function $Point(){return smalltalk.Point||(typeof Point=="undefined"?nil:Point)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo: anInteger x := anInteger. ^ x",_st($Point())._new(),smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((2))])),(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo: anInteger x := anInteger. ^ x",_st($Point())._new(),smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((2))])),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAssignment",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAssignment",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testInstVarAssignment\x0a\x09self\x0a\x09\x09assert: (self\x0a\x09\x09\x09interpret: 'foo: anInteger x := anInteger. ^ x'\x0a\x09\x09\x09receiver: Point new\x0a\x09\x09\x09withArguments: #{'anInteger' -> 2})\x0a\x09\x09equals: 2",
 source: "testInstVarAssignment\x0a\x09self\x0a\x09\x09assert: (self\x0a\x09\x09\x09interpret: 'foo: anInteger x := anInteger. ^ x'\x0a\x09\x09\x09receiver: Point new\x0a\x09\x09\x09withArguments: #{'anInteger' -> 2})\x0a\x09\x09equals: 2",
@@ -304,7 +321,8 @@ selector: "testNonlocalReturn",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ]. ^2"),(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ]. ^2"),(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testNonlocalReturn",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testNonlocalReturn",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testNonlocalReturn\x0a\x09self assert: (self interpret: 'foo true ifTrue: [ ^ 1 ]. ^2') equals: 1",
 source: "testNonlocalReturn\x0a\x09self assert: (self interpret: 'foo true ifTrue: [ ^ 1 ]. ^2') equals: 1",
@@ -320,7 +338,8 @@ selector: "testReceiver",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ self",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),_st((2)).__at((3)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ self",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),_st((2)).__at((3)));
 return self}, function($ctx1) {$ctx1.fill(self,"testReceiver",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testReceiver",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testReceiver\x0a\x09self\x0a\x09\x09assert: (self\x0a\x09\x09\x09interpret: 'foo ^ self'\x0a\x09\x09\x09receiver: 2@3\x0a\x09\x09\x09withArguments: #{})\x0a\x09\x09equals: 2@3",
 source: "testReceiver\x0a\x09self\x0a\x09\x09assert: (self\x0a\x09\x09\x09interpret: 'foo ^ self'\x0a\x09\x09\x09receiver: 2@3\x0a\x09\x09\x09withArguments: #{})\x0a\x09\x09equals: 2@3",
@@ -336,7 +355,8 @@ selector: "testTempAssignment",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo | a | a := 2. ^ a"),(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self)._interpret_("foo | a | a := 2. ^ a"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testTempAssignment",{},smalltalk.ASTInterpreterTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testTempAssignment",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 args: [],
 source: "testTempAssignment\x0a\x09self assert: (self interpret: 'foo | a | a := 2. ^ a') equals: 2",
 source: "testTempAssignment\x0a\x09self assert: (self interpret: 'foo | a | a := 2. ^ a') equals: 2",
@@ -356,7 +376,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ASTSteppingInterpreter(){return smalltalk.ASTSteppingInterpreter||(typeof ASTSteppingInterpreter=="undefined"?nil:ASTSteppingInterpreter)}
 function $ASTSteppingInterpreter(){return smalltalk.ASTSteppingInterpreter||(typeof ASTSteppingInterpreter=="undefined"?nil:ASTSteppingInterpreter)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@interpreter"];
 $2=self["@interpreter"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@interpreter"]=_st($ASTSteppingInterpreter())._new();
 self["@interpreter"]=_st($ASTSteppingInterpreter())._new();
@@ -380,7 +401,8 @@ selector: "testAtEnd",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_("foo 1 + 2");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_("foo 1 + 2");
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
@@ -405,7 +427,8 @@ selector: "testMessageSend",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_("foo 1 + 2");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_("foo 1 + 2");
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
@@ -429,7 +452,8 @@ selector: "testSimpleStepping",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_("foo 1");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._interpret_("foo 1");
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
 _st(self)._assert_(_st(_st(_st(self)._interpreter())._result())._isNil());
 _st(self)._assert_(_st(_st(_st(self)._interpreter())._result())._isNil());
 _st(_st(self)._interpreter())._step();
 _st(_st(self)._interpreter())._step();
@@ -453,7 +477,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $CodeGenerator(){return smalltalk.CodeGenerator||(typeof CodeGenerator=="undefined"?nil:CodeGenerator)}
 function $CodeGenerator(){return smalltalk.CodeGenerator||(typeof CodeGenerator=="undefined"?nil:CodeGenerator)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$CodeGenerator();
 $1=$CodeGenerator();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.CodeGeneratorTest)})},
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.CodeGeneratorTest)})},
@@ -472,7 +497,8 @@ category: 'factory',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st($Compiler())._new();
 $2=_st($Compiler())._new();
 _st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
 _st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -493,7 +519,8 @@ selector: "setUp",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=_st(_st(self)._targetClass())._new();
+return smalltalk.withContext(function($ctx1) { 
+self["@receiver"]=_st(_st(self)._targetClass())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
 source: "setUp\x0a\x09receiver := self targetClass new",
 source: "setUp\x0a\x09receiver := self targetClass new",
@@ -510,7 +537,8 @@ category: 'testing',
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
 var method,result;
 var method,result;
-return smalltalk.withContext(function($ctx1) { 
method=_st(_st(self)._compiler())._install_forClass_category_(aString,_st(self)._targetClass(),"tests");
+return smalltalk.withContext(function($ctx1) { 
+method=_st(_st(self)._compiler())._install_forClass_category_(aString,_st(self)._targetClass(),"tests");
 result=_st(self["@receiver"])._perform_(_st(method)._selector());
 result=_st(self["@receiver"])._perform_(_st(method)._selector());
 _st(_st(self)._targetClass())._removeCompiledMethod_(method);
 _st(_st(self)._targetClass())._removeCompiledMethod_(method);
 _st(self)._assert_equals_(anObject,result);
 _st(self)._assert_equals_(anObject,result);
@@ -530,7 +558,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$DoIt();
 $1=$DoIt();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"targetClass",{},smalltalk.CodeGeneratorTest)})},
 }, function($ctx1) {$ctx1.fill(self,"targetClass",{},smalltalk.CodeGeneratorTest)})},
@@ -548,7 +577,8 @@ selector: "tearDown",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.CodeGeneratorTest)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
 source: "tearDown\x0a\x09\x22receiver := nil\x22",
 source: "tearDown\x0a\x09\x22receiver := nil\x22",
 messageSends: [],
 messageSends: [],
@@ -563,7 +593,8 @@ selector: "testAssignment",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo | a | a := true ifTrue: [ 1 ]. ^ a",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo | a | a := true ifTrue: [ 1 ]. ^ a",(1));
 _st(self)._should_return_("foo | a | a := false ifTrue: [ 1 ]. ^ a",nil);
 _st(self)._should_return_("foo | a | a := false ifTrue: [ 1 ]. ^ a",nil);
 _st(self)._should_return_("foo | a | ^ a := true ifTrue: [ 1 ]",(1));
 _st(self)._should_return_("foo | a | ^ a := true ifTrue: [ 1 ]",(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{},smalltalk.CodeGeneratorTest)})},
@@ -581,7 +612,8 @@ selector: "testBackslashSelectors",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("\x5c arg ^ 4",(4));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("\x5c arg ^ 4",(4));
 _st(self)._should_return_("\x5c\x5c arg ^ 42",(42));
 _st(self)._should_return_("\x5c\x5c arg ^ 42",(42));
 return self}, function($ctx1) {$ctx1.fill(self,"testBackslashSelectors",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testBackslashSelectors",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
@@ -598,7 +630,8 @@ selector: "testBlockReturn",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | true ifTrue: [ each + 1 ] ]",[(2), (3), (4)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | true ifTrue: [ each + 1 ] ]",[(2), (3), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | false ifFalse: [ each + 1 ] ]",[(2), (3), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | false ifFalse: [ each + 1 ] ]",[(2), (3), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | each odd ifTrue: [ each + 1 ] ifFalse: [ each - 1 ] ]",[(2), (1), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3) collect: [ :each | each odd ifTrue: [ each + 1 ] ifFalse: [ each - 1 ] ]",[(2), (1), (4)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockReturn",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockReturn",{},smalltalk.CodeGeneratorTest)})},
@@ -616,7 +649,8 @@ selector: "testCascades",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ Array new add: 3; add: 4; yourself",[(3), (4)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ Array new add: 3; add: 4; yourself",[(3), (4)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testCascades",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testCascades",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
 source: "testCascades\x0a\x09\x0a\x09self should: 'foo ^ Array new add: 3; add: 4; yourself' return: #(3 4)",
 source: "testCascades\x0a\x09\x0a\x09self should: 'foo ^ Array new add: 3; add: 4; yourself' return: #(3 4)",
@@ -632,7 +666,8 @@ selector: "testDynamicArrayElementsOrdered",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { x. true ifTrue: [ x := 2 ] }\x0a",[(1), (2)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { x. true ifTrue: [ x := 2 ] }\x0a",[(1), (2)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArrayElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArrayElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
 source: "testDynamicArrayElementsOrdered\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { x. true ifTrue: [ x := 2 ] }\x0a' return: #(1 2).",
 source: "testDynamicArrayElementsOrdered\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { x. true ifTrue: [ x := 2 ] }\x0a' return: #(1 2).",
@@ -648,7 +683,8 @@ selector: "testDynamicDictionaryElementsOrdered",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 'foo'->1.\x0a\x09^ #{ x. (true ifTrue: [ x := 'bar'->2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 'foo'->1.\x0a\x09^ #{ x. (true ifTrue: [ x := 'bar'->2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionaryElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionaryElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
 source: "testDynamicDictionaryElementsOrdered\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := ''foo''->1.\x0a\x09^ #{ x. (true ifTrue: [ x := ''bar''->2 ]) }\x0a' return: #{'foo'->1. 'bar'->2}.",
 source: "testDynamicDictionaryElementsOrdered\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := ''foo''->1.\x0a\x09^ #{ x. (true ifTrue: [ x := ''bar''->2 ]) }\x0a' return: #{'foo'->1. 'bar'->2}.",
@@ -665,7 +701,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[_st("foo").__minus_gt($Array()),_st("bar").__minus_gt((2))]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[_st("foo").__minus_gt($Array()),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ #{ 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ #{ 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
@@ -684,7 +721,8 @@ selector: "testLiterals",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1",(1));
 _st(self)._should_return_("foo ^ 'hello'","hello");
 _st(self)._should_return_("foo ^ 'hello'","hello");
 _st(self)._should_return_("foo ^ #(1 2 3 4)",[(1), (2), (3), (4)]);
 _st(self)._should_return_("foo ^ #(1 2 3 4)",[(1), (2), (3), (4)]);
 _st(self)._should_return_("foo ^ {1. [:x | x ] value: 2. 3. [4] value}",[(1), (2), (3), (4)]);
 _st(self)._should_return_("foo ^ {1. [:x | x ] value: 2. 3. [4] value}",[(1), (2), (3), (4)]);
@@ -708,7 +746,8 @@ selector: "testLocalReturn",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1",(1));
 _st(self)._should_return_("foo ^ 1 + 1",(2));
 _st(self)._should_return_("foo ^ 1 + 1",(2));
 _st(self)._should_return_("foo ",self["@receiver"]);
 _st(self)._should_return_("foo ",self["@receiver"]);
 _st(self)._should_return_("foo self asString",self["@receiver"]);
 _st(self)._should_return_("foo self asString",self["@receiver"]);
@@ -728,7 +767,8 @@ selector: "testMessageSends",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1 asString","1");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1 asString","1");
 _st(self)._should_return_("foo ^ 1 + 1",(2));
 _st(self)._should_return_("foo ^ 1 + 1",(2));
 _st(self)._should_return_("foo ^ 1 + 2 * 3",(9));
 _st(self)._should_return_("foo ^ 1 + 2 * 3",(9));
 _st(self)._should_return_("foo ^ 1 to: 3",[(1), (2), (3)]);
 _st(self)._should_return_("foo ^ 1 to: 3",[(1), (2), (3)]);
@@ -748,7 +788,8 @@ selector: "testMutableLiterals",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ #( 1 2 ) at: 1 put: 3; yourself",[(3), (2)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ #( 1 2 ) at: 1 put: 3; yourself",[(3), (2)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testMutableLiterals",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testMutableLiterals",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
 source: "testMutableLiterals\x0a\x09\x22Mutable literals must be aliased in cascades.\x0a\x09See https://github.com/amber-smalltalk/amber/issues/428\x22\x0a\x09\x0a\x09self \x0a\x09\x09should: 'foo ^ #( 1 2 ) at: 1 put: 3; yourself' \x0a\x09\x09return: #(3 2)",
 source: "testMutableLiterals\x0a\x09\x22Mutable literals must be aliased in cascades.\x0a\x09See https://github.com/amber-smalltalk/amber/issues/428\x22\x0a\x09\x0a\x09self \x0a\x09\x09should: 'foo ^ #( 1 2 ) at: 1 put: 3; yourself' \x0a\x09\x09return: #(3 2)",
@@ -764,7 +805,8 @@ selector: "testNestedIfTrue",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ true ifTrue: [ false ifFalse: [ 1 ] ]",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ true ifTrue: [ false ifFalse: [ 1 ] ]",(1));
 _st(self)._should_return_("foo ^ true ifTrue: [ false ifTrue: [ 1 ] ]",nil);
 _st(self)._should_return_("foo ^ true ifTrue: [ false ifTrue: [ 1 ] ]",nil);
 _st(self)._should_return_("foo true ifTrue: [ false ifFalse: [ ^ 1 ] ]",(1));
 _st(self)._should_return_("foo true ifTrue: [ false ifFalse: [ ^ 1 ] ]",(1));
 _st(self)._should_return_("foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]",self["@receiver"]);
 _st(self)._should_return_("foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]",self["@receiver"]);
@@ -783,7 +825,8 @@ selector: "testNonLocalReturn",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo [ ^ 1 ] value",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo [ ^ 1 ] value",(1));
 _st(self)._should_return_("foo [ ^ 1 + 1 ] value",(2));
 _st(self)._should_return_("foo [ ^ 1 + 1 ] value",(2));
 _st(self)._should_return_("foo | a b | a := 1. b := 2. [ ^ a + b ] value. self halt",(3));
 _st(self)._should_return_("foo | a b | a := 1. b := 2. [ ^ a + b ] value. self halt",(3));
 _st(self)._should_return_("foo [ :x | ^ x + x ] value: 4. ^ 2",(8));
 _st(self)._should_return_("foo [ :x | ^ x + x ] value: 4. ^ 2",(8));
@@ -802,7 +845,8 @@ selector: "testPascalCaseGlobal",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^Object",_st(smalltalk)._at_("Object"));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^Object",_st(smalltalk)._at_("Object"));
 _st(self)._should_return_("foo ^NonExistent",nil);
 _st(self)._should_return_("foo ^NonExistent",nil);
 return self}, function($ctx1) {$ctx1.fill(self,"testPascalCaseGlobal",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testPascalCaseGlobal",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
@@ -820,7 +864,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: x with: (true ifTrue: [ x := 2 ])\x0a",[(1), (2)]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: x with: (true ifTrue: [ x := 2 ])\x0a",[(1), (2)]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: x with: (true ifTrue: [ x := 2 ])\x0a",[$Array(),(2)]);
 _st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: x with: (true ifTrue: [ x := 2 ])\x0a",[$Array(),(2)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testSendReceiverAndArgumentsOrdered",{},smalltalk.CodeGeneratorTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testSendReceiverAndArgumentsOrdered",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 args: [],
@@ -837,7 +882,8 @@ selector: "testifFalse",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo true ifFalse: [ ^ 1 ]",self["@receiver"]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo true ifFalse: [ ^ 1 ]",self["@receiver"]);
 _st(self)._should_return_("foo false ifFalse: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo false ifFalse: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo ^ true ifFalse: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ true ifFalse: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ]",(2));
@@ -856,7 +902,8 @@ selector: "testifFalseIfTrue",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo true ifFalse: [ ^ 1 ] ifTrue: [ ^ 2 ]",(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo true ifFalse: [ ^ 1 ] ifTrue: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo false ifFalse: [ ^ 2 ] ifTrue: [ ^1 ]",(2));
 _st(self)._should_return_("foo false ifFalse: [ ^ 2 ] ifTrue: [ ^1 ]",(2));
 _st(self)._should_return_("foo ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]",(2));
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]",(2));
@@ -875,7 +922,8 @@ selector: "testifNil",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1 ifNil: [ 2 ]",(1));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1 ifNil: [ 2 ]",(1));
 _st(self)._should_return_("foo ^ nil ifNil: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ nil ifNil: [ 2 ]",(2));
 _st(self)._should_return_("foo 1 ifNil: [ ^ 2 ]",self["@receiver"]);
 _st(self)._should_return_("foo 1 ifNil: [ ^ 2 ]",self["@receiver"]);
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ]",(2));
@@ -894,7 +942,8 @@ selector: "testifNilIfNotNil",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1 ifNil: [ 2 ] ifNotNil: [ 3 ]",(3));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1 ifNil: [ 2 ] ifNotNil: [ 3 ]",(3));
 _st(self)._should_return_("foo ^ nil ifNil: [ 2 ] ifNotNil: [ 3 ]",(2));
 _st(self)._should_return_("foo ^ nil ifNil: [ 2 ] ifNotNil: [ 3 ]",(2));
 _st(self)._should_return_("foo 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(3));
 _st(self)._should_return_("foo 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(3));
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(2));
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(2));
@@ -913,7 +962,8 @@ selector: "testifNotNil",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ 1 ifNotNil: [ 2 ]",(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo ^ 1 ifNotNil: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ nil ifNotNil: [ 2 ]",nil);
 _st(self)._should_return_("foo ^ nil ifNotNil: [ 2 ]",nil);
 _st(self)._should_return_("foo 1 ifNotNil: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo 1 ifNotNil: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo nil ifNotNil: [ ^ 2 ]",self["@receiver"]);
 _st(self)._should_return_("foo nil ifNotNil: [ ^ 2 ]",self["@receiver"]);
@@ -932,7 +982,8 @@ selector: "testifTrue",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo false ifTrue: [ ^ 1 ]",self["@receiver"]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo false ifTrue: [ ^ 1 ]",self["@receiver"]);
 _st(self)._should_return_("foo true ifTrue: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo true ifTrue: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo ^ false ifTrue: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ false ifTrue: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ]",(2));
@@ -951,7 +1002,8 @@ selector: "testifTrueIfFalse",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo false ifTrue: [ ^ 1 ] ifFalse: [ ^2 ]",(2));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_return_("foo false ifTrue: [ ^ 1 ] ifFalse: [ ^2 ]",(2));
 _st(self)._should_return_("foo true ifTrue: [ ^ 1 ] ifFalse: [ ^ 2 ]",(1));
 _st(self)._should_return_("foo true ifTrue: [ ^ 1 ] ifFalse: [ ^ 2 ]",(1));
 _st(self)._should_return_("foo ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]",(1));
 _st(self)._should_return_("foo ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]",(1));
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]",(2));
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]",(2));
@@ -974,7 +1026,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $InliningCodeGenerator(){return smalltalk.InliningCodeGenerator||(typeof InliningCodeGenerator=="undefined"?nil:InliningCodeGenerator)}
 function $InliningCodeGenerator(){return smalltalk.InliningCodeGenerator||(typeof InliningCodeGenerator=="undefined"?nil:InliningCodeGenerator)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$InliningCodeGenerator();
 $1=$InliningCodeGenerator();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.InliningCodeGeneratorTest)})},
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.InliningCodeGeneratorTest)})},
@@ -998,7 +1051,8 @@ var self=this;
 var node;
 var node;
 function $ClassReferenceNode(){return smalltalk.ClassReferenceNode||(typeof ClassReferenceNode=="undefined"?nil:ClassReferenceNode)}
 function $ClassReferenceNode(){return smalltalk.ClassReferenceNode||(typeof ClassReferenceNode=="undefined"?nil:ClassReferenceNode)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($ClassReferenceNode())._new();
 $1=_st($ClassReferenceNode())._new();
 _st($1)._value_("Object");
 _st($1)._value_("Object");
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -1023,7 +1077,8 @@ var self=this;
 var node,scope;
 var node,scope;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($VariableNode())._new();
 $1=_st($VariableNode())._new();
 _st($1)._value_("bzzz");
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -1049,10 +1104,12 @@ var self=this;
 var node,pseudoVars;
 var node,pseudoVars;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 pseudoVars=["self", "super", "true", "false", "nil"];
 pseudoVars=["self", "super", "true", "false", "nil"];
 _st(pseudoVars)._do_((function(each){
 _st(pseudoVars)._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$1=_st($VariableNode())._new();
+return smalltalk.withContext(function($ctx2) {
+$1=_st($VariableNode())._new();
 _st($1)._value_(each);
 _st($1)._value_(each);
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
 node=$2;
 node=$2;
@@ -1077,7 +1134,8 @@ var self=this;
 var node,scope;
 var node,scope;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($VariableNode())._new();
 $1=_st($VariableNode())._new();
 _st($1)._value_("bzzz");
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -1103,7 +1161,8 @@ var self=this;
 var node;
 var node;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($VariableNode())._new();
 $1=_st($VariableNode())._new();
 _st($1)._value_("bzzz");
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -1129,7 +1188,8 @@ fn: function (){
 var self=this;
 var self=this;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
-return smalltalk.withContext(function($ctx1) { 
self["@analyzer"]=_st($SemanticAnalyzer())._on_($Object());
+return smalltalk.withContext(function($ctx1) { 
+self["@analyzer"]=_st($SemanticAnalyzer())._on_($Object());
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 args: [],
 source: "setUp\x0a\x09analyzer := SemanticAnalyzer on: Object",
 source: "setUp\x0a\x09analyzer := SemanticAnalyzer on: Object",
@@ -1147,10 +1207,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo self := 1";
+return smalltalk.withContext(function($ctx1) { 
+src="foo self := 1";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$InvalidAssignmentError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$InvalidAssignmentError());
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 args: [],
@@ -1168,7 +1230,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. ^ a";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. ^ a";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._deny_(_st(_st(ast)._scope())._hasNonLocalReturn());
 _st(self)._deny_(_st(_st(ast)._scope())._hasNonLocalReturn());
@@ -1188,7 +1251,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ ^ a] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ ^ a] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_(_st(_st(ast)._scope())._hasNonLocalReturn());
 _st(self)._assert_(_st(_st(ast)._scope())._hasNonLocalReturn());
@@ -1208,7 +1272,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | b | b := a ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ | b | b := a ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._deny_(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()).__eq_eq(_st(ast)._scope()));
 _st(self)._deny_(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()).__eq_eq(_st(ast)._scope()));
@@ -1228,7 +1293,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ | b | b := a ] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ | b | b := a ] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._deny_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._scope()).__eq_eq(_st(ast)._scope()));
 _st(self)._deny_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._scope()).__eq_eq(_st(ast)._scope()));
@@ -1248,7 +1314,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ | b | b := a ] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ | b | b := a ] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_equals_(_st(_st(ast)._scope())._scopeLevel(),(1));
 _st(self)._assert_equals_(_st(_st(ast)._scope())._scopeLevel(),(1));
@@ -1270,10 +1337,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | b + a";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | b + a";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariables",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariables",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 args: [],
@@ -1292,10 +1361,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
 function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof UnknownVariableError=="undefined"?nil:UnknownVariableError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo | a b | [ c + 1. [ a + 1. d + 1 ]]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a b | [ c + 1. [ a + 1. d + 1 ]]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariablesWithScope",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariablesWithScope",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 args: [],
@@ -1313,7 +1384,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1333,10 +1405,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | a | a := 2 ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ | a | a := 2 ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 args: [],
@@ -1354,7 +1428,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | b | b := 2 ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ | b | b := 2 ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing3",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing3",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1373,7 +1448,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ [ | b | b := 2 ] ] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ [ | b | b := 2 ] ] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing4",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing4",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1393,10 +1469,12 @@ fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
 function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typeof ShadowingVariableError=="undefined"?nil:ShadowingVariableError)}
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ [ | a | a := 2 ] ] ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ [ [ | a | a := 2 ] ] ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing5",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing5",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 args: [],
@@ -1414,7 +1492,8 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var src,ast;
 var src,ast;
-return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | b | b := a ]";
+return smalltalk.withContext(function($ctx1) { 
+src="foo | a | a + 1. [ | b | b := a ]";
 ast=_st(smalltalk)._parse_(src);
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._isTempVar());
 _st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._isTempVar());

+ 18 - 9
js/Examples.deploy.js

@@ -6,9 +6,11 @@ smalltalk.method({
 selector: "decrease",
 selector: "decrease",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@count"]=_st(self["@count"]).__minus((1));
+return smalltalk.withContext(function($ctx1) { 
+self["@count"]=_st(self["@count"]).__minus((1));
 _st(self["@header"])._contents_((function(html){
 _st(self["@header"])._contents_((function(html){
-return smalltalk.withContext(function($ctx2) {
return _st(html)._with_(_st(self["@count"])._asString());
+return smalltalk.withContext(function($ctx2) {
+return _st(html)._with_(_st(self["@count"])._asString());
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"decrease",{},smalltalk.Counter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"decrease",{},smalltalk.Counter)})},
 messageSends: ["-", "contents:", "with:", "asString"]}),
 messageSends: ["-", "contents:", "with:", "asString"]}),
@@ -20,9 +22,11 @@ smalltalk.method({
 selector: "increase",
 selector: "increase",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@count"]=_st(self["@count"]).__plus((1));
+return smalltalk.withContext(function($ctx1) { 
+self["@count"]=_st(self["@count"]).__plus((1));
 _st(self["@header"])._contents_((function(html){
 _st(self["@header"])._contents_((function(html){
-return smalltalk.withContext(function($ctx2) {
return _st(html)._with_(_st(self["@count"])._asString());
+return smalltalk.withContext(function($ctx2) {
+return _st(html)._with_(_st(self["@count"])._asString());
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"increase",{},smalltalk.Counter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"increase",{},smalltalk.Counter)})},
 messageSends: ["+", "contents:", "with:", "asString"]}),
 messageSends: ["+", "contents:", "with:", "asString"]}),
@@ -34,7 +38,8 @@ smalltalk.method({
 selector: "initialize",
 selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Widget.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Widget.fn.prototype._initialize.apply(_st(self), []);
 self["@count"]=(0);
 self["@count"]=(0);
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Counter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Counter)})},
 messageSends: ["initialize"]}),
 messageSends: ["initialize"]}),
@@ -46,7 +51,8 @@ smalltalk.method({
 selector: "renderOn:",
 selector: "renderOn:",
 fn: function (html){
 fn: function (html){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5,$6;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5,$6;
 $1=_st(html)._h1();
 $1=_st(html)._h1();
 _st($1)._with_(_st(self["@count"])._asString());
 _st($1)._with_(_st(self["@count"])._asString());
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -54,12 +60,14 @@ self["@header"]=$2;
 $3=_st(html)._button();
 $3=_st(html)._button();
 _st($3)._with_("++");
 _st($3)._with_("++");
 $4=_st($3)._onClick_((function(){
 $4=_st($3)._onClick_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._increase();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._increase();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $5=_st(html)._button();
 $5=_st(html)._button();
 _st($5)._with_("--");
 _st($5)._with_("--");
 $6=_st($5)._onClick_((function(){
 $6=_st($5)._onClick_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._decrease();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._decrease();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.Counter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.Counter)})},
 messageSends: ["with:", "asString", "h1", "yourself", "button", "onClick:", "increase", "decrease"]}),
 messageSends: ["with:", "asString", "h1", "yourself", "button", "onClick:", "increase", "decrease"]}),
@@ -72,7 +80,8 @@ smalltalk.method({
 selector: "tryExample",
 selector: "tryExample",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._new())._appendToJQuery_(_st("body")._asJQuery());
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._new())._appendToJQuery_(_st("body")._asJQuery());
 return self}, function($ctx1) {$ctx1.fill(self,"tryExample",{},smalltalk.Counter.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"tryExample",{},smalltalk.Counter.klass)})},
 messageSends: ["appendToJQuery:", "asJQuery", "new"]}),
 messageSends: ["appendToJQuery:", "asJQuery", "new"]}),
 smalltalk.Counter.klass);
 smalltalk.Counter.klass);

+ 18 - 9
js/Examples.js

@@ -8,9 +8,11 @@ selector: "decrease",
 category: 'actions',
 category: 'actions',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@count"]=_st(self["@count"]).__minus((1));
+return smalltalk.withContext(function($ctx1) { 
+self["@count"]=_st(self["@count"]).__minus((1));
 _st(self["@header"])._contents_((function(html){
 _st(self["@header"])._contents_((function(html){
-return smalltalk.withContext(function($ctx2) {
return _st(html)._with_(_st(self["@count"])._asString());
+return smalltalk.withContext(function($ctx2) {
+return _st(html)._with_(_st(self["@count"])._asString());
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"decrease",{},smalltalk.Counter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"decrease",{},smalltalk.Counter)})},
 args: [],
 args: [],
@@ -27,9 +29,11 @@ selector: "increase",
 category: 'actions',
 category: 'actions',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@count"]=_st(self["@count"]).__plus((1));
+return smalltalk.withContext(function($ctx1) { 
+self["@count"]=_st(self["@count"]).__plus((1));
 _st(self["@header"])._contents_((function(html){
 _st(self["@header"])._contents_((function(html){
-return smalltalk.withContext(function($ctx2) {
return _st(html)._with_(_st(self["@count"])._asString());
+return smalltalk.withContext(function($ctx2) {
+return _st(html)._with_(_st(self["@count"])._asString());
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"increase",{},smalltalk.Counter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"increase",{},smalltalk.Counter)})},
 args: [],
 args: [],
@@ -46,7 +50,8 @@ selector: "initialize",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Widget.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Widget.fn.prototype._initialize.apply(_st(self), []);
 self["@count"]=(0);
 self["@count"]=(0);
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Counter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Counter)})},
 args: [],
 args: [],
@@ -63,7 +68,8 @@ selector: "renderOn:",
 category: 'rendering',
 category: 'rendering',
 fn: function (html){
 fn: function (html){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5,$6;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5,$6;
 $1=_st(html)._h1();
 $1=_st(html)._h1();
 _st($1)._with_(_st(self["@count"])._asString());
 _st($1)._with_(_st(self["@count"])._asString());
 $2=_st($1)._yourself();
 $2=_st($1)._yourself();
@@ -71,12 +77,14 @@ self["@header"]=$2;
 $3=_st(html)._button();
 $3=_st(html)._button();
 _st($3)._with_("++");
 _st($3)._with_("++");
 $4=_st($3)._onClick_((function(){
 $4=_st($3)._onClick_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._increase();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._increase();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $5=_st(html)._button();
 $5=_st(html)._button();
 _st($5)._with_("--");
 _st($5)._with_("--");
 $6=_st($5)._onClick_((function(){
 $6=_st($5)._onClick_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._decrease();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._decrease();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.Counter)})},
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.Counter)})},
 args: ["html"],
 args: ["html"],
@@ -94,7 +102,8 @@ selector: "tryExample",
 category: 'example',
 category: 'example',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._new())._appendToJQuery_(_st("body")._asJQuery());
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._new())._appendToJQuery_(_st("body")._asJQuery());
 return self}, function($ctx1) {$ctx1.fill(self,"tryExample",{},smalltalk.Counter.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"tryExample",{},smalltalk.Counter.klass)})},
 args: [],
 args: [],
 source: "tryExample\x0a\x09\x22In order to play with the Counter, just select the\x0a\x09doit below and press the Do it button. Then take a\x0a\x09look in the HTML document above the IDE.\x22\x0a\x0a\x09\x22Counter tryExample\x22\x0a\x09\x09self new appendToJQuery: 'body' asJQuery",
 source: "tryExample\x0a\x09\x22In order to play with the Counter, just select the\x0a\x09doit below and press the Do it button. Then take a\x0a\x09look in the HTML document above the IDE.\x22\x0a\x0a\x09\x22Counter tryExample\x22\x0a\x09\x09self new appendToJQuery: 'body' asJQuery",

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 222 - 111
js/IDE.deploy.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 222 - 111
js/IDE.js


+ 134 - 67
js/Importer-Exporter.deploy.js

@@ -7,16 +7,19 @@ selector: "nextChunk",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var char,result,chunk;
 var char,result,chunk;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 var $early={};
 var $early={};
 try {
 try {
 result=_st("")._writeStream();
 result=_st("")._writeStream();
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
char=_st(self["@stream"])._next();
+return smalltalk.withContext(function($ctx2) {
+char=_st(self["@stream"])._next();
 char;
 char;
 return _st(char)._notNil();
 return _st(char)._notNil();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(char).__eq("!");
+return smalltalk.withContext(function($ctx2) {
+$1=_st(char).__eq("!");
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st(_st(self["@stream"])._peek()).__eq("!");
 $2=_st(_st(self["@stream"])._peek()).__eq("!");
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
@@ -41,7 +44,8 @@ smalltalk.method({
 selector: "stream:",
 selector: "stream:",
 fn: function (aStream){
 fn: function (aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@stream"]=aStream;
+return smalltalk.withContext(function($ctx1) { 
+self["@stream"]=aStream;
 return self}, function($ctx1) {$ctx1.fill(self,"stream:",{aStream:aStream},smalltalk.ChunkParser)})},
 return self}, function($ctx1) {$ctx1.fill(self,"stream:",{aStream:aStream},smalltalk.ChunkParser)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ChunkParser);
 smalltalk.ChunkParser);
@@ -53,7 +57,8 @@ smalltalk.method({
 selector: "on:",
 selector: "on:",
 fn: function (aStream){
 fn: function (aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._stream_(aStream);
 $1=_st(_st(self)._new())._stream_(aStream);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},smalltalk.ChunkParser.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},smalltalk.ChunkParser.klass)})},
@@ -68,7 +73,8 @@ smalltalk.method({
 selector: "classNameFor:",
 selector: "classNameFor:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(aClass)._isMetaclass();
 $2=_st(aClass)._isMetaclass();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
@@ -93,10 +99,13 @@ fn: function (){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($String())._streamContents_((function(stream){
 $1=_st($String())._streamContents_((function(stream){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st($Smalltalk())._current())._packages())._do_((function(pkg){
-return smalltalk.withContext(function($ctx3) {
return _st(stream)._nextPutAll_(_st(self)._exportPackage_(_st(pkg)._name()));
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st($Smalltalk())._current())._packages())._do_((function(pkg){
+return smalltalk.withContext(function($ctx3) {
+return _st(stream)._nextPutAll_(_st(self)._exportPackage_(_st(pkg)._name()));
 }, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
 return $1;
@@ -111,9 +120,11 @@ selector: "exportClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($String())._streamContents_((function(stream){
 $1=_st($String())._streamContents_((function(stream){
-return smalltalk.withContext(function($ctx2) {
_st(self)._exportDefinitionOf_on_(aClass,stream);
+return smalltalk.withContext(function($ctx2) {
+_st(self)._exportDefinitionOf_on_(aClass,stream);
 _st(self)._exportMethodsOf_on_(aClass,stream);
 _st(self)._exportMethodsOf_on_(aClass,stream);
 _st(self)._exportMetaDefinitionOf_on_(aClass,stream);
 _st(self)._exportMetaDefinitionOf_on_(aClass,stream);
 return _st(self)._exportMethodsOf_on_(_st(aClass)._class(),stream);
 return _st(self)._exportMethodsOf_on_(_st(aClass)._class(),stream);
@@ -129,16 +140,19 @@ smalltalk.method({
 selector: "exportDefinitionOf:on:",
 selector: "exportDefinitionOf:on:",
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5,$6,$7;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5,$6,$7;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 $2=_st($1)._nextPutAll_(", [");
 $2=_st($1)._nextPutAll_(", [");
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(", ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(", ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 $3=aStream;
 _st($3)._nextPutAll_("], '");
 _st($3)._nextPutAll_("], '");
@@ -166,7 +180,8 @@ selector: "exportMetaDefinitionOf:on:",
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 $2=aStream;
 $2=aStream;
@@ -174,9 +189,11 @@ _st($2)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aCla
 $3=_st($2)._nextPutAll_(".iVarNames = [");
 $3=_st($2)._nextPutAll_(".iVarNames = [");
 $3;
 $3;
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(",");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(aStream)._nextPutAll_(_st("];").__comma(_st($String())._lf()));
 _st(aStream)._nextPutAll_(_st("];").__comma(_st($String())._lf()));
 };
 };
@@ -190,7 +207,8 @@ smalltalk.method({
 selector: "exportMethod:of:on:",
 selector: "exportMethod:of:on:",
 fn: function (aMethod,aClass,aStream){
 fn: function (aMethod,aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
 _st($1)._lf();
@@ -229,11 +247,14 @@ smalltalk.method({
 selector: "exportMethodsOf:on:",
 selector: "exportMethodsOf:on:",
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
 _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(each)._category())._match_("^\x5c*");
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(each)._category())._match_("^\x5c*");
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 };
 };
@@ -252,13 +273,16 @@ var self=this;
 var package_;
 var package_;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($String())._streamContents_((function(stream){
 $1=_st($String())._streamContents_((function(stream){
-return smalltalk.withContext(function($ctx2) {
package_=_st(_st($Smalltalk())._current())._packageAt_(packageName);
+return smalltalk.withContext(function($ctx2) {
+package_=_st(_st($Smalltalk())._current())._packageAt_(packageName);
 package_;
 package_;
 _st(self)._exportPackageDefinitionOf_on_(package_,stream);
 _st(self)._exportPackageDefinitionOf_on_(package_,stream);
 _st(_st(_st(package_)._sortedClasses())._asSet())._do_((function(each){
 _st(_st(_st(package_)._sortedClasses())._asSet())._do_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(stream)._nextPutAll_(_st(self)._exportClass_(each));
+return smalltalk.withContext(function($ctx3) {
+return _st(stream)._nextPutAll_(_st(self)._exportClass_(each));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 return _st(self)._exportPackageExtensionsOf_on_(package_,stream);
 return _st(self)._exportPackageExtensionsOf_on_(package_,stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
@@ -273,7 +297,8 @@ smalltalk.method({
 selector: "exportPackageDefinitionOf:on:",
 selector: "exportPackageDefinitionOf:on:",
 fn: function (package_,aStream){
 fn: function (package_,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addPackage(");
 _st($1)._nextPutAll_("smalltalk.addPackage(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(package_)._name())).__comma("');"));
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(package_)._name())).__comma("');"));
@@ -291,14 +316,19 @@ var self=this;
 var name;
 var name;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 name=_st(package_)._name();
 name=_st(package_)._name();
 _st(_st($Package())._sortedClasses_(_st(_st($Smalltalk())._current())._classes()))._do_((function(each){
 _st(_st($Package())._sortedClasses_(_st(_st($Smalltalk())._current())._classes()))._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st([each,_st(each)._class()])._do_((function(aClass){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx4) {
return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
+return smalltalk.withContext(function($ctx2) {
+return _st([each,_st(each)._class()])._do_((function(aClass){
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
+return smalltalk.withContext(function($ctx4) {
+return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
 }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(method){
 }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(method){
-return smalltalk.withContext(function($ctx4) {
$1=_st(_st(method)._category())._match_(_st("^\x5c*").__comma(name));
+return smalltalk.withContext(function($ctx4) {
+$1=_st(_st(method)._category())._match_(_st("^\x5c*").__comma(name));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 return _st(self)._exportMethod_of_on_(method,aClass,aStream);
 return _st(self)._exportMethod_of_on_(method,aClass,aStream);
 };
 };
@@ -318,7 +348,8 @@ smalltalk.method({
 selector: "chunkEscape:",
 selector: "chunkEscape:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(aString)._replace_with_("!","!!"))._trimBoth();
 $1=_st(_st(aString)._replace_with_("!","!!"))._trimBoth();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"chunkEscape:",{aString:aString},smalltalk.ChunkExporter)})},
 }, function($ctx1) {$ctx1.fill(self,"chunkEscape:",{aString:aString},smalltalk.ChunkExporter)})},
@@ -331,7 +362,8 @@ smalltalk.method({
 selector: "classNameFor:",
 selector: "classNameFor:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(aClass)._isMetaclass();
 $2=_st(aClass)._isMetaclass();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(" class");
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(" class");
@@ -354,7 +386,8 @@ smalltalk.method({
 selector: "exportDefinitionOf:on:",
 selector: "exportDefinitionOf:on:",
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5,$6,$7;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5,$6,$7;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._superclass()));
 _st($1)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._superclass()));
 _st($1)._nextPutAll_(_st(" subclass: #").__comma(_st(self)._classNameFor_(aClass)));
 _st($1)._nextPutAll_(_st(" subclass: #").__comma(_st(self)._classNameFor_(aClass)));
@@ -362,9 +395,11 @@ _st($1)._lf();
 _st($1)._tab();
 _st($1)._tab();
 $2=_st($1)._nextPutAll_("instanceVariableNames: '");
 $2=_st($1)._nextPutAll_("instanceVariableNames: '");
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(" ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(" ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 $3=aStream;
 _st($3)._nextPutAll_("'");
 _st($3)._nextPutAll_("'");
@@ -392,7 +427,8 @@ smalltalk.method({
 selector: "exportMetaDefinitionOf:on:",
 selector: "exportMetaDefinitionOf:on:",
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5;
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 $2=aStream;
 $2=aStream;
@@ -400,9 +436,11 @@ _st($2)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._class()));
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3;
 $3;
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(" ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(" ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $4=aStream;
 $4=aStream;
 _st($4)._nextPutAll_("'!");
 _st($4)._nextPutAll_("'!");
@@ -420,7 +458,8 @@ smalltalk.method({
 selector: "exportMethod:of:on:",
 selector: "exportMethod:of:on:",
 fn: function (aMethod,aClass,aStream){
 fn: function (aMethod,aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 $1=aStream;
 _st($1)._lf();
 _st($1)._lf();
 _st($1)._lf();
 _st($1)._lf();
@@ -437,14 +476,17 @@ smalltalk.method({
 selector: "exportMethods:category:of:on:",
 selector: "exportMethods:category:of:on:",
 fn: function (methods,category,aClass,aStream){
 fn: function (methods,category,aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_(_st("!").__comma(_st(self)._classNameFor_(aClass)));
 _st($1)._nextPutAll_(_st("!").__comma(_st(self)._classNameFor_(aClass)));
 $2=_st($1)._nextPutAll_(_st(_st(" methodsFor: '").__comma(category)).__comma("'!"));
 $2=_st($1)._nextPutAll_(_st(_st(" methodsFor: '").__comma(category)).__comma("'!"));
 _st(_st(methods)._sorted_((function(a,b){
 _st(_st(methods)._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._exportMethod_of_on_(each,aClass,aStream);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $3=aStream;
 $3=aStream;
 _st($3)._nextPutAll_(" !");
 _st($3)._nextPutAll_(" !");
@@ -462,19 +504,23 @@ fn: function (aClass,aStream){
 var self=this;
 var self=this;
 var map;
 var map;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 map=_st($Dictionary())._new();
 map=_st($Dictionary())._new();
 _st(aClass)._protocolsDo_((function(category,methods){
 _st(aClass)._protocolsDo_((function(category,methods){
-return smalltalk.withContext(function($ctx2) {
$1=_st(category)._match_("^\x5c*");
+return smalltalk.withContext(function($ctx2) {
+$1=_st(category)._match_("^\x5c*");
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 return _st(map)._at_put_(category,methods);
 return _st(map)._at_put_(category,methods);
 };
 };
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 _st(_st(_st(map)._keys())._sorted_((function(a,b){
 _st(_st(_st(map)._keys())._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx2) {
return _st(a).__lt_eq(b);
+return smalltalk.withContext(function($ctx2) {
+return _st(a).__lt_eq(b);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
 var methods;
 var methods;
-return smalltalk.withContext(function($ctx2) {
methods=_st(map)._at_(category);
+return smalltalk.withContext(function($ctx2) {
+methods=_st(map)._at_(category);
 methods;
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
@@ -488,7 +534,8 @@ smalltalk.method({
 selector: "exportPackageDefinitionOf:on:",
 selector: "exportPackageDefinitionOf:on:",
 fn: function (package_,aStream){
 fn: function (package_,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("'!"));
 _st($1)._nextPutAll_(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("'!"));
 $2=_st($1)._lf();
 $2=_st($1)._lf();
@@ -506,23 +553,29 @@ var name,map;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 name=_st(package_)._name();
 name=_st(package_)._name();
 _st(_st($Package())._sortedClasses_(_st(_st($Smalltalk())._current())._classes()))._do_((function(each){
 _st(_st($Package())._sortedClasses_(_st(_st($Smalltalk())._current())._classes()))._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st([each,_st(each)._class()])._do_((function(aClass){
-return smalltalk.withContext(function($ctx3) {
map=_st($Dictionary())._new();
+return smalltalk.withContext(function($ctx2) {
+return _st([each,_st(each)._class()])._do_((function(aClass){
+return smalltalk.withContext(function($ctx3) {
+map=_st($Dictionary())._new();
 map;
 map;
 _st(aClass)._protocolsDo_((function(category,methods){
 _st(aClass)._protocolsDo_((function(category,methods){
-return smalltalk.withContext(function($ctx4) {
$1=_st(category)._match_(_st("^\x5c*").__comma(name));
+return smalltalk.withContext(function($ctx4) {
+$1=_st(category)._match_(_st("^\x5c*").__comma(name));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 return _st(map)._at_put_(category,methods);
 return _st(map)._at_put_(category,methods);
 };
 };
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
 return _st(_st(_st(map)._keys())._sorted_((function(a,b){
 return _st(_st(_st(map)._keys())._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx4) {
return _st(a).__lt_eq(b);
+return smalltalk.withContext(function($ctx4) {
+return _st(a).__lt_eq(b);
 }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
 }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
 var methods;
 var methods;
-return smalltalk.withContext(function($ctx4) {
methods=_st(map)._at_(category);
+return smalltalk.withContext(function($ctx4) {
+methods=_st(map)._at_(category);
 methods;
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
@@ -541,16 +594,19 @@ smalltalk.method({
 selector: "exportDefinitionOf:on:",
 selector: "exportDefinitionOf:on:",
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 $2=_st($1)._nextPutAll_(", [");
 $2=_st($1)._nextPutAll_(", [");
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(", ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(", ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 $3=aStream;
 _st($3)._nextPutAll_("], '");
 _st($3)._nextPutAll_("], '");
@@ -567,7 +623,8 @@ smalltalk.method({
 selector: "exportMethod:of:on:",
 selector: "exportMethod:of:on:",
 fn: function (aMethod,aClass,aStream){
 fn: function (aMethod,aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
 _st($1)._lf();
@@ -602,15 +659,18 @@ var self=this;
 var chunk,result,parser,lastEmpty;
 var chunk,result,parser,lastEmpty;
 function $ChunkParser(){return smalltalk.ChunkParser||(typeof ChunkParser=="undefined"?nil:ChunkParser)}
 function $ChunkParser(){return smalltalk.ChunkParser||(typeof ChunkParser=="undefined"?nil:ChunkParser)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 parser=_st($ChunkParser())._on_(aStream);
 parser=_st($ChunkParser())._on_(aStream);
 lastEmpty=false;
 lastEmpty=false;
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
chunk=_st(parser)._nextChunk();
+return smalltalk.withContext(function($ctx2) {
+chunk=_st(parser)._nextChunk();
 chunk;
 chunk;
 return _st(chunk)._isNil();
 return _st(chunk)._isNil();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(chunk)._isEmpty();
+return smalltalk.withContext(function($ctx2) {
+$1=_st(chunk)._isEmpty();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 lastEmpty=true;
 lastEmpty=true;
 return lastEmpty;
 return lastEmpty;
@@ -639,7 +699,8 @@ selector: "initializePackageNamed:prefix:",
 fn: function (packageName,aString){
 fn: function (packageName,aString){
 var self=this;
 var self=this;
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($Package())._named_(packageName);
 $1=_st($Package())._named_(packageName);
 _st($1)._setupClasses();
 _st($1)._setupClasses();
 _st($1)._commitPathJs_(_st(_st("/").__comma(aString)).__comma("/js"));
 _st($1)._commitPathJs_(_st(_st("/").__comma(aString)).__comma("/js"));
@@ -655,15 +716,18 @@ selector: "loadPackage:prefix:",
 fn: function (packageName,aString){
 fn: function (packageName,aString){
 var self=this;
 var self=this;
 var url;
 var url;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 url=_st(_st(_st(_st("/").__comma(aString)).__comma("/js/")).__comma(packageName)).__comma(".js");
 url=_st(_st(_st(_st("/").__comma(aString)).__comma("/js/")).__comma(packageName)).__comma(".js");
 _st(jQuery)._ajax_options_(url,smalltalk.HashedCollection._fromPairs_([_st("type").__minus_gt("GET"),_st("dataType").__minus_gt("script"),_st("complete").__minus_gt((function(jqXHR,textStatus){
 _st(jQuery)._ajax_options_(url,smalltalk.HashedCollection._fromPairs_([_st("type").__minus_gt("GET"),_st("dataType").__minus_gt("script"),_st("complete").__minus_gt((function(jqXHR,textStatus){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(jqXHR)._readyState()).__eq((4));
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(jqXHR)._readyState()).__eq((4));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 return _st(self)._initializePackageNamed_prefix_(packageName,aString);
 return _st(self)._initializePackageNamed_prefix_(packageName,aString);
 };
 };
 }, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),_st("error").__minus_gt((function(){
 }, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),_st("error").__minus_gt((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(window)._alert_(_st("Could not load package at: ").__comma(url));
+return smalltalk.withContext(function($ctx2) {
+return _st(window)._alert_(_st("Could not load package at: ").__comma(url));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))]));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackage:prefix:",{packageName:packageName,aString:aString,url:url},smalltalk.PackageLoader)})},
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackage:prefix:",{packageName:packageName,aString:aString,url:url},smalltalk.PackageLoader)})},
 messageSends: [",", "ajax:options:", "->", "ifTrue:", "initializePackageNamed:prefix:", "=", "readyState", "alert:"]}),
 messageSends: [",", "ajax:options:", "->", "ifTrue:", "initializePackageNamed:prefix:", "=", "readyState", "alert:"]}),
@@ -675,8 +739,10 @@ smalltalk.method({
 selector: "loadPackages:prefix:",
 selector: "loadPackages:prefix:",
 fn: function (aCollection,aString){
 fn: function (aCollection,aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aCollection)._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._loadPackage_prefix_(each,aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(aCollection)._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._loadPackage_prefix_(each,aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader)})},
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader)})},
 messageSends: ["do:", "loadPackage:prefix:"]}),
 messageSends: ["do:", "loadPackage:prefix:"]}),
@@ -689,7 +755,8 @@ smalltalk.method({
 selector: "loadPackages:prefix:",
 selector: "loadPackages:prefix:",
 fn: function (aCollection,aString){
 fn: function (aCollection,aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._loadPackages_prefix_(aCollection,aString);
 $1=_st(_st(self)._new())._loadPackages_prefix_(aCollection,aString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader.klass)})},

+ 134 - 67
js/Importer-Exporter.js

@@ -8,16 +8,19 @@ category: 'reading',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var char,result,chunk;
 var char,result,chunk;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 var $early={};
 var $early={};
 try {
 try {
 result=_st("")._writeStream();
 result=_st("")._writeStream();
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
char=_st(self["@stream"])._next();
+return smalltalk.withContext(function($ctx2) {
+char=_st(self["@stream"])._next();
 char;
 char;
 return _st(char)._notNil();
 return _st(char)._notNil();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(char).__eq("!");
+return smalltalk.withContext(function($ctx2) {
+$1=_st(char).__eq("!");
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st(_st(self["@stream"])._peek()).__eq("!");
 $2=_st(_st(self["@stream"])._peek()).__eq("!");
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
@@ -47,7 +50,8 @@ selector: "stream:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aStream){
 fn: function (aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@stream"]=aStream;
+return smalltalk.withContext(function($ctx1) { 
+self["@stream"]=aStream;
 return self}, function($ctx1) {$ctx1.fill(self,"stream:",{aStream:aStream},smalltalk.ChunkParser)})},
 return self}, function($ctx1) {$ctx1.fill(self,"stream:",{aStream:aStream},smalltalk.ChunkParser)})},
 args: ["aStream"],
 args: ["aStream"],
 source: "stream: aStream\x0a\x09stream := aStream",
 source: "stream: aStream\x0a\x09stream := aStream",
@@ -64,7 +68,8 @@ selector: "on:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (aStream){
 fn: function (aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._stream_(aStream);
 $1=_st(_st(self)._new())._stream_(aStream);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},smalltalk.ChunkParser.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},smalltalk.ChunkParser.klass)})},
@@ -84,7 +89,8 @@ selector: "classNameFor:",
 category: 'private',
 category: 'private',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(aClass)._isMetaclass();
 $2=_st(aClass)._isMetaclass();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
@@ -114,10 +120,13 @@ fn: function (){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($String())._streamContents_((function(stream){
 $1=_st($String())._streamContents_((function(stream){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st($Smalltalk())._current())._packages())._do_((function(pkg){
-return smalltalk.withContext(function($ctx3) {
return _st(stream)._nextPutAll_(_st(self)._exportPackage_(_st(pkg)._name()));
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st($Smalltalk())._current())._packages())._do_((function(pkg){
+return smalltalk.withContext(function($ctx3) {
+return _st(stream)._nextPutAll_(_st(self)._exportPackage_(_st(pkg)._name()));
 }, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
 return $1;
@@ -137,9 +146,11 @@ category: 'fileOut',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($String())._streamContents_((function(stream){
 $1=_st($String())._streamContents_((function(stream){
-return smalltalk.withContext(function($ctx2) {
_st(self)._exportDefinitionOf_on_(aClass,stream);
+return smalltalk.withContext(function($ctx2) {
+_st(self)._exportDefinitionOf_on_(aClass,stream);
 _st(self)._exportMethodsOf_on_(aClass,stream);
 _st(self)._exportMethodsOf_on_(aClass,stream);
 _st(self)._exportMetaDefinitionOf_on_(aClass,stream);
 _st(self)._exportMetaDefinitionOf_on_(aClass,stream);
 return _st(self)._exportMethodsOf_on_(_st(aClass)._class(),stream);
 return _st(self)._exportMethodsOf_on_(_st(aClass)._class(),stream);
@@ -160,16 +171,19 @@ selector: "exportDefinitionOf:on:",
 category: 'private',
 category: 'private',
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5,$6,$7;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5,$6,$7;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 $2=_st($1)._nextPutAll_(", [");
 $2=_st($1)._nextPutAll_(", [");
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(", ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(", ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 $3=aStream;
 _st($3)._nextPutAll_("], '");
 _st($3)._nextPutAll_("], '");
@@ -202,7 +216,8 @@ category: 'private',
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 $2=aStream;
 $2=aStream;
@@ -210,9 +225,11 @@ _st($2)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aCla
 $3=_st($2)._nextPutAll_(".iVarNames = [");
 $3=_st($2)._nextPutAll_(".iVarNames = [");
 $3;
 $3;
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(",");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(aStream)._nextPutAll_(_st("];").__comma(_st($String())._lf()));
 _st(aStream)._nextPutAll_(_st("];").__comma(_st($String())._lf()));
 };
 };
@@ -231,7 +248,8 @@ selector: "exportMethod:of:on:",
 category: 'private',
 category: 'private',
 fn: function (aMethod,aClass,aStream){
 fn: function (aMethod,aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
 _st($1)._lf();
@@ -275,11 +293,14 @@ selector: "exportMethodsOf:on:",
 category: 'private',
 category: 'private',
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
 _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(each)._category())._match_("^\x5c*");
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(each)._category())._match_("^\x5c*");
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 };
 };
@@ -303,13 +324,16 @@ var self=this;
 var package_;
 var package_;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($String())._streamContents_((function(stream){
 $1=_st($String())._streamContents_((function(stream){
-return smalltalk.withContext(function($ctx2) {
package_=_st(_st($Smalltalk())._current())._packageAt_(packageName);
+return smalltalk.withContext(function($ctx2) {
+package_=_st(_st($Smalltalk())._current())._packageAt_(packageName);
 package_;
 package_;
 _st(self)._exportPackageDefinitionOf_on_(package_,stream);
 _st(self)._exportPackageDefinitionOf_on_(package_,stream);
 _st(_st(_st(package_)._sortedClasses())._asSet())._do_((function(each){
 _st(_st(_st(package_)._sortedClasses())._asSet())._do_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(stream)._nextPutAll_(_st(self)._exportClass_(each));
+return smalltalk.withContext(function($ctx3) {
+return _st(stream)._nextPutAll_(_st(self)._exportClass_(each));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 return _st(self)._exportPackageExtensionsOf_on_(package_,stream);
 return _st(self)._exportPackageExtensionsOf_on_(package_,stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
@@ -329,7 +353,8 @@ selector: "exportPackageDefinitionOf:on:",
 category: 'private',
 category: 'private',
 fn: function (package_,aStream){
 fn: function (package_,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addPackage(");
 _st($1)._nextPutAll_("smalltalk.addPackage(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(package_)._name())).__comma("');"));
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(package_)._name())).__comma("');"));
@@ -352,14 +377,19 @@ var self=this;
 var name;
 var name;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 name=_st(package_)._name();
 name=_st(package_)._name();
 _st(_st($Package())._sortedClasses_(_st(_st($Smalltalk())._current())._classes()))._do_((function(each){
 _st(_st($Package())._sortedClasses_(_st(_st($Smalltalk())._current())._classes()))._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st([each,_st(each)._class()])._do_((function(aClass){
-return smalltalk.withContext(function($ctx3) {
return _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx4) {
return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
+return smalltalk.withContext(function($ctx2) {
+return _st([each,_st(each)._class()])._do_((function(aClass){
+return smalltalk.withContext(function($ctx3) {
+return _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
+return smalltalk.withContext(function($ctx4) {
+return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
 }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(method){
 }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(method){
-return smalltalk.withContext(function($ctx4) {
$1=_st(_st(method)._category())._match_(_st("^\x5c*").__comma(name));
+return smalltalk.withContext(function($ctx4) {
+$1=_st(_st(method)._category())._match_(_st("^\x5c*").__comma(name));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 return _st(self)._exportMethod_of_on_(method,aClass,aStream);
 return _st(self)._exportMethod_of_on_(method,aClass,aStream);
 };
 };
@@ -384,7 +414,8 @@ selector: "chunkEscape:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(aString)._replace_with_("!","!!"))._trimBoth();
 $1=_st(_st(aString)._replace_with_("!","!!"))._trimBoth();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"chunkEscape:",{aString:aString},smalltalk.ChunkExporter)})},
 }, function($ctx1) {$ctx1.fill(self,"chunkEscape:",{aString:aString},smalltalk.ChunkExporter)})},
@@ -402,7 +433,8 @@ selector: "classNameFor:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(aClass)._isMetaclass();
 $2=_st(aClass)._isMetaclass();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(" class");
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(" class");
@@ -430,7 +462,8 @@ selector: "exportDefinitionOf:on:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5,$6,$7;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5,$6,$7;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._superclass()));
 _st($1)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._superclass()));
 _st($1)._nextPutAll_(_st(" subclass: #").__comma(_st(self)._classNameFor_(aClass)));
 _st($1)._nextPutAll_(_st(" subclass: #").__comma(_st(self)._classNameFor_(aClass)));
@@ -438,9 +471,11 @@ _st($1)._lf();
 _st($1)._tab();
 _st($1)._tab();
 $2=_st($1)._nextPutAll_("instanceVariableNames: '");
 $2=_st($1)._nextPutAll_("instanceVariableNames: '");
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(" ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(" ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 $3=aStream;
 _st($3)._nextPutAll_("'");
 _st($3)._nextPutAll_("'");
@@ -473,7 +508,8 @@ selector: "exportMetaDefinitionOf:on:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4,$5;
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 $2=aStream;
 $2=aStream;
@@ -481,9 +517,11 @@ _st($2)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._class()));
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3;
 $3;
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(" ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(" ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $4=aStream;
 $4=aStream;
 _st($4)._nextPutAll_("'!");
 _st($4)._nextPutAll_("'!");
@@ -506,7 +544,8 @@ selector: "exportMethod:of:on:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (aMethod,aClass,aStream){
 fn: function (aMethod,aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 $1=aStream;
 _st($1)._lf();
 _st($1)._lf();
 _st($1)._lf();
 _st($1)._lf();
@@ -528,14 +567,17 @@ selector: "exportMethods:category:of:on:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (methods,category,aClass,aStream){
 fn: function (methods,category,aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_(_st("!").__comma(_st(self)._classNameFor_(aClass)));
 _st($1)._nextPutAll_(_st("!").__comma(_st(self)._classNameFor_(aClass)));
 $2=_st($1)._nextPutAll_(_st(_st(" methodsFor: '").__comma(category)).__comma("'!"));
 $2=_st($1)._nextPutAll_(_st(_st(" methodsFor: '").__comma(category)).__comma("'!"));
 _st(_st(methods)._sorted_((function(a,b){
 _st(_st(methods)._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._exportMethod_of_on_(each,aClass,aStream);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $3=aStream;
 $3=aStream;
 _st($3)._nextPutAll_(" !");
 _st($3)._nextPutAll_(" !");
@@ -558,19 +600,23 @@ fn: function (aClass,aStream){
 var self=this;
 var self=this;
 var map;
 var map;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 map=_st($Dictionary())._new();
 map=_st($Dictionary())._new();
 _st(aClass)._protocolsDo_((function(category,methods){
 _st(aClass)._protocolsDo_((function(category,methods){
-return smalltalk.withContext(function($ctx2) {
$1=_st(category)._match_("^\x5c*");
+return smalltalk.withContext(function($ctx2) {
+$1=_st(category)._match_("^\x5c*");
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 return _st(map)._at_put_(category,methods);
 return _st(map)._at_put_(category,methods);
 };
 };
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 _st(_st(_st(map)._keys())._sorted_((function(a,b){
 _st(_st(_st(map)._keys())._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx2) {
return _st(a).__lt_eq(b);
+return smalltalk.withContext(function($ctx2) {
+return _st(a).__lt_eq(b);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
 var methods;
 var methods;
-return smalltalk.withContext(function($ctx2) {
methods=_st(map)._at_(category);
+return smalltalk.withContext(function($ctx2) {
+methods=_st(map)._at_(category);
 methods;
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
@@ -589,7 +635,8 @@ selector: "exportPackageDefinitionOf:on:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (package_,aStream){
 fn: function (package_,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("'!"));
 _st($1)._nextPutAll_(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("'!"));
 $2=_st($1)._lf();
 $2=_st($1)._lf();
@@ -612,23 +659,29 @@ var name,map;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 name=_st(package_)._name();
 name=_st(package_)._name();
 _st(_st($Package())._sortedClasses_(_st(_st($Smalltalk())._current())._classes()))._do_((function(each){
 _st(_st($Package())._sortedClasses_(_st(_st($Smalltalk())._current())._classes()))._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st([each,_st(each)._class()])._do_((function(aClass){
-return smalltalk.withContext(function($ctx3) {
map=_st($Dictionary())._new();
+return smalltalk.withContext(function($ctx2) {
+return _st([each,_st(each)._class()])._do_((function(aClass){
+return smalltalk.withContext(function($ctx3) {
+map=_st($Dictionary())._new();
 map;
 map;
 _st(aClass)._protocolsDo_((function(category,methods){
 _st(aClass)._protocolsDo_((function(category,methods){
-return smalltalk.withContext(function($ctx4) {
$1=_st(category)._match_(_st("^\x5c*").__comma(name));
+return smalltalk.withContext(function($ctx4) {
+$1=_st(category)._match_(_st("^\x5c*").__comma(name));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 return _st(map)._at_put_(category,methods);
 return _st(map)._at_put_(category,methods);
 };
 };
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
 return _st(_st(_st(map)._keys())._sorted_((function(a,b){
 return _st(_st(_st(map)._keys())._sorted_((function(a,b){
-return smalltalk.withContext(function($ctx4) {
return _st(a).__lt_eq(b);
+return smalltalk.withContext(function($ctx4) {
+return _st(a).__lt_eq(b);
 }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
 }, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
 var methods;
 var methods;
-return smalltalk.withContext(function($ctx4) {
methods=_st(map)._at_(category);
+return smalltalk.withContext(function($ctx4) {
+methods=_st(map)._at_(category);
 methods;
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
@@ -652,16 +705,19 @@ selector: "exportDefinitionOf:on:",
 category: 'private',
 category: 'private',
 fn: function (aClass,aStream){
 fn: function (aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3,$4;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 $2=_st($1)._nextPutAll_(", [");
 $2=_st($1)._nextPutAll_(", [");
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
 _st(_st(aClass)._instanceVariableNames())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(_st(_st("'").__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(", ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(", ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 $3=aStream;
 _st($3)._nextPutAll_("], '");
 _st($3)._nextPutAll_("], '");
@@ -683,7 +739,8 @@ selector: "exportMethod:of:on:",
 category: 'private',
 category: 'private',
 fn: function (aMethod,aClass,aStream){
 fn: function (aMethod,aClass,aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
 _st($1)._lf();
@@ -723,15 +780,18 @@ var self=this;
 var chunk,result,parser,lastEmpty;
 var chunk,result,parser,lastEmpty;
 function $ChunkParser(){return smalltalk.ChunkParser||(typeof ChunkParser=="undefined"?nil:ChunkParser)}
 function $ChunkParser(){return smalltalk.ChunkParser||(typeof ChunkParser=="undefined"?nil:ChunkParser)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 parser=_st($ChunkParser())._on_(aStream);
 parser=_st($ChunkParser())._on_(aStream);
 lastEmpty=false;
 lastEmpty=false;
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
chunk=_st(parser)._nextChunk();
+return smalltalk.withContext(function($ctx2) {
+chunk=_st(parser)._nextChunk();
 chunk;
 chunk;
 return _st(chunk)._isNil();
 return _st(chunk)._isNil();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(chunk)._isEmpty();
+return smalltalk.withContext(function($ctx2) {
+$1=_st(chunk)._isEmpty();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 lastEmpty=true;
 lastEmpty=true;
 return lastEmpty;
 return lastEmpty;
@@ -765,7 +825,8 @@ category: 'laoding',
 fn: function (packageName,aString){
 fn: function (packageName,aString){
 var self=this;
 var self=this;
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
 function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($Package())._named_(packageName);
 $1=_st($Package())._named_(packageName);
 _st($1)._setupClasses();
 _st($1)._setupClasses();
 _st($1)._commitPathJs_(_st(_st("/").__comma(aString)).__comma("/js"));
 _st($1)._commitPathJs_(_st(_st("/").__comma(aString)).__comma("/js"));
@@ -786,15 +847,18 @@ category: 'laoding',
 fn: function (packageName,aString){
 fn: function (packageName,aString){
 var self=this;
 var self=this;
 var url;
 var url;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 url=_st(_st(_st(_st("/").__comma(aString)).__comma("/js/")).__comma(packageName)).__comma(".js");
 url=_st(_st(_st(_st("/").__comma(aString)).__comma("/js/")).__comma(packageName)).__comma(".js");
 _st(jQuery)._ajax_options_(url,smalltalk.HashedCollection._fromPairs_([_st("type").__minus_gt("GET"),_st("dataType").__minus_gt("script"),_st("complete").__minus_gt((function(jqXHR,textStatus){
 _st(jQuery)._ajax_options_(url,smalltalk.HashedCollection._fromPairs_([_st("type").__minus_gt("GET"),_st("dataType").__minus_gt("script"),_st("complete").__minus_gt((function(jqXHR,textStatus){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(jqXHR)._readyState()).__eq((4));
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(jqXHR)._readyState()).__eq((4));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 return _st(self)._initializePackageNamed_prefix_(packageName,aString);
 return _st(self)._initializePackageNamed_prefix_(packageName,aString);
 };
 };
 }, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),_st("error").__minus_gt((function(){
 }, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),_st("error").__minus_gt((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(window)._alert_(_st("Could not load package at: ").__comma(url));
+return smalltalk.withContext(function($ctx2) {
+return _st(window)._alert_(_st("Could not load package at: ").__comma(url));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))]));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackage:prefix:",{packageName:packageName,aString:aString,url:url},smalltalk.PackageLoader)})},
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackage:prefix:",{packageName:packageName,aString:aString,url:url},smalltalk.PackageLoader)})},
 args: ["packageName", "aString"],
 args: ["packageName", "aString"],
@@ -811,8 +875,10 @@ selector: "loadPackages:prefix:",
 category: 'laoding',
 category: 'laoding',
 fn: function (aCollection,aString){
 fn: function (aCollection,aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aCollection)._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._loadPackage_prefix_(each,aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(aCollection)._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._loadPackage_prefix_(each,aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader)})},
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader)})},
 args: ["aCollection", "aString"],
 args: ["aCollection", "aString"],
@@ -830,7 +896,8 @@ selector: "loadPackages:prefix:",
 category: 'not yet classified',
 category: 'not yet classified',
 fn: function (aCollection,aString){
 fn: function (aCollection,aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._loadPackages_prefix_(aCollection,aString);
 $1=_st(_st(self)._new())._loadPackages_prefix_(aCollection,aString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader.klass)})},

+ 52 - 26
js/Kernel-Announcements.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "announcementClass",
 selector: "announcementClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@announcementClass"];
 $1=self["@announcementClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"announcementClass",{},smalltalk.AnnouncementSubscription)})},
 }, function($ctx1) {$ctx1.fill(self,"announcementClass",{},smalltalk.AnnouncementSubscription)})},
@@ -19,7 +20,8 @@ smalltalk.method({
 selector: "announcementClass:",
 selector: "announcementClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@announcementClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@announcementClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"announcementClass:",{aClass:aClass},smalltalk.AnnouncementSubscription)})},
 return self}, function($ctx1) {$ctx1.fill(self,"announcementClass:",{aClass:aClass},smalltalk.AnnouncementSubscription)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AnnouncementSubscription);
 smalltalk.AnnouncementSubscription);
@@ -30,7 +32,8 @@ smalltalk.method({
 selector: "block",
 selector: "block",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@block"];
 $1=self["@block"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"block",{},smalltalk.AnnouncementSubscription)})},
 }, function($ctx1) {$ctx1.fill(self,"block",{},smalltalk.AnnouncementSubscription)})},
@@ -43,7 +46,8 @@ smalltalk.method({
 selector: "block:",
 selector: "block:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@block"]=aBlock;
+return smalltalk.withContext(function($ctx1) { 
+self["@block"]=aBlock;
 return self}, function($ctx1) {$ctx1.fill(self,"block:",{aBlock:aBlock},smalltalk.AnnouncementSubscription)})},
 return self}, function($ctx1) {$ctx1.fill(self,"block:",{aBlock:aBlock},smalltalk.AnnouncementSubscription)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.AnnouncementSubscription);
 smalltalk.AnnouncementSubscription);
@@ -54,7 +58,8 @@ smalltalk.method({
 selector: "deliver:",
 selector: "deliver:",
 fn: function (anAnnouncement){
 fn: function (anAnnouncement){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._handlesAnnouncement_(anAnnouncement);
 $1=_st(self)._handlesAnnouncement_(anAnnouncement);
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(_st(self)._block())._value_(anAnnouncement);
 _st(_st(self)._block())._value_(anAnnouncement);
@@ -69,7 +74,8 @@ smalltalk.method({
 selector: "handlesAnnouncement:",
 selector: "handlesAnnouncement:",
 fn: function (anAnnouncement){
 fn: function (anAnnouncement){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anAnnouncement)._isKindOf_(_st(self)._announcementClass());
 $1=_st(anAnnouncement)._isKindOf_(_st(self)._announcementClass());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement},smalltalk.AnnouncementSubscription)})},
 }, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement},smalltalk.AnnouncementSubscription)})},
@@ -85,8 +91,10 @@ smalltalk.method({
 selector: "announce:",
 selector: "announce:",
 fn: function (anAnnouncement){
 fn: function (anAnnouncement){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@subscriptions"])._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._deliver_(anAnnouncement);
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@subscriptions"])._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._deliver_(anAnnouncement);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement},smalltalk.Announcer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement},smalltalk.Announcer)})},
 messageSends: ["do:", "deliver:"]}),
 messageSends: ["do:", "deliver:"]}),
@@ -99,7 +107,8 @@ selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@subscriptions"]=_st($Array())._new();
 self["@subscriptions"]=_st($Array())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Announcer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Announcer)})},
 messageSends: ["initialize", "new"]}),
 messageSends: ["initialize", "new"]}),
@@ -112,7 +121,8 @@ selector: "on:do:",
 fn: function (aClass,aBlock){
 fn: function (aClass,aBlock){
 var self=this;
 var self=this;
 function $AnnouncementSubscription(){return smalltalk.AnnouncementSubscription||(typeof AnnouncementSubscription=="undefined"?nil:AnnouncementSubscription)}
 function $AnnouncementSubscription(){return smalltalk.AnnouncementSubscription||(typeof AnnouncementSubscription=="undefined"?nil:AnnouncementSubscription)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($AnnouncementSubscription())._new();
 $1=_st($AnnouncementSubscription())._new();
 _st($1)._block_(aBlock);
 _st($1)._block_(aBlock);
 _st($1)._announcementClass_(aClass);
 _st($1)._announcementClass_(aClass);
@@ -133,7 +143,8 @@ smalltalk.method({
 selector: "current",
 selector: "current",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@current"];
 $2=self["@current"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@current"]=smalltalk.Announcer.klass.fn.prototype._new.apply(_st(self), []);
 self["@current"]=smalltalk.Announcer.klass.fn.prototype._new.apply(_st(self), []);
@@ -152,7 +163,8 @@ smalltalk.method({
 selector: "new",
 selector: "new",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.SystemAnnouncer.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.SystemAnnouncer.klass)})},
 messageSends: ["shouldNotImplement"]}),
 messageSends: ["shouldNotImplement"]}),
 smalltalk.SystemAnnouncer.klass);
 smalltalk.SystemAnnouncer.klass);
@@ -165,7 +177,8 @@ smalltalk.method({
 selector: "theClass",
 selector: "theClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 $1=self["@theClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SystemAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SystemAnnouncement)})},
@@ -178,7 +191,8 @@ smalltalk.method({
 selector: "theClass:",
 selector: "theClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@theClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.SystemAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.SystemAnnouncement)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SystemAnnouncement);
 smalltalk.SystemAnnouncement);
@@ -192,7 +206,8 @@ smalltalk.method({
 selector: "theClass",
 selector: "theClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 $1=self["@theClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ClassAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ClassAnnouncement)})},
@@ -205,7 +220,8 @@ smalltalk.method({
 selector: "theClass:",
 selector: "theClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@theClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.ClassAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.ClassAnnouncement)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ClassAnnouncement);
 smalltalk.ClassAnnouncement);
@@ -234,7 +250,8 @@ smalltalk.method({
 selector: "method",
 selector: "method",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@method"];
 $1=self["@method"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodAnnouncement)})},
@@ -247,7 +264,8 @@ smalltalk.method({
 selector: "method:",
 selector: "method:",
 fn: function (aCompiledMethod){
 fn: function (aCompiledMethod){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@method"]=aCompiledMethod;
+return smalltalk.withContext(function($ctx1) { 
+self["@method"]=aCompiledMethod;
 return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.MethodAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.MethodAnnouncement)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodAnnouncement);
 smalltalk.MethodAnnouncement);
@@ -264,7 +282,8 @@ smalltalk.method({
 selector: "oldMethod",
 selector: "oldMethod",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@oldMethod"];
 $1=self["@oldMethod"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"oldMethod",{},smalltalk.MethodModified)})},
 }, function($ctx1) {$ctx1.fill(self,"oldMethod",{},smalltalk.MethodModified)})},
@@ -277,7 +296,8 @@ smalltalk.method({
 selector: "oldMethod:",
 selector: "oldMethod:",
 fn: function (aMethod){
 fn: function (aMethod){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@oldMethod"]=aMethod;
+return smalltalk.withContext(function($ctx1) { 
+self["@oldMethod"]=aMethod;
 return self}, function($ctx1) {$ctx1.fill(self,"oldMethod:",{aMethod:aMethod},smalltalk.MethodModified)})},
 return self}, function($ctx1) {$ctx1.fill(self,"oldMethod:",{aMethod:aMethod},smalltalk.MethodModified)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodModified);
 smalltalk.MethodModified);
@@ -294,7 +314,8 @@ smalltalk.method({
 selector: "package",
 selector: "package",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@package"];
 $1=self["@package"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"package",{},smalltalk.PackageAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"package",{},smalltalk.PackageAnnouncement)})},
@@ -307,7 +328,8 @@ smalltalk.method({
 selector: "package:",
 selector: "package:",
 fn: function (aPackage){
 fn: function (aPackage){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@package"]=aPackage;
+return smalltalk.withContext(function($ctx1) { 
+self["@package"]=aPackage;
 return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage},smalltalk.PackageAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage},smalltalk.PackageAnnouncement)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.PackageAnnouncement);
 smalltalk.PackageAnnouncement);
@@ -327,7 +349,8 @@ smalltalk.method({
 selector: "protocol",
 selector: "protocol",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@protocol"];
 $1=self["@protocol"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.ProtocolAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.ProtocolAnnouncement)})},
@@ -340,7 +363,8 @@ smalltalk.method({
 selector: "protocol:",
 selector: "protocol:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@protocol"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@protocol"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"protocol:",{aString:aString},smalltalk.ProtocolAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"protocol:",{aString:aString},smalltalk.ProtocolAnnouncement)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ProtocolAnnouncement);
 smalltalk.ProtocolAnnouncement);
@@ -351,7 +375,8 @@ smalltalk.method({
 selector: "theClass",
 selector: "theClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 $1=self["@theClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ProtocolAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ProtocolAnnouncement)})},
@@ -364,7 +389,8 @@ smalltalk.method({
 selector: "theClass:",
 selector: "theClass:",
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@theClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.ProtocolAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.ProtocolAnnouncement)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ProtocolAnnouncement);
 smalltalk.ProtocolAnnouncement);

+ 52 - 26
js/Kernel-Announcements.js

@@ -8,7 +8,8 @@ selector: "announcementClass",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@announcementClass"];
 $1=self["@announcementClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"announcementClass",{},smalltalk.AnnouncementSubscription)})},
 }, function($ctx1) {$ctx1.fill(self,"announcementClass",{},smalltalk.AnnouncementSubscription)})},
@@ -26,7 +27,8 @@ selector: "announcementClass:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@announcementClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@announcementClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"announcementClass:",{aClass:aClass},smalltalk.AnnouncementSubscription)})},
 return self}, function($ctx1) {$ctx1.fill(self,"announcementClass:",{aClass:aClass},smalltalk.AnnouncementSubscription)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "announcementClass: aClass\x0a\x09announcementClass := aClass",
 source: "announcementClass: aClass\x0a\x09announcementClass := aClass",
@@ -42,7 +44,8 @@ selector: "block",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@block"];
 $1=self["@block"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"block",{},smalltalk.AnnouncementSubscription)})},
 }, function($ctx1) {$ctx1.fill(self,"block",{},smalltalk.AnnouncementSubscription)})},
@@ -60,7 +63,8 @@ selector: "block:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@block"]=aBlock;
+return smalltalk.withContext(function($ctx1) { 
+self["@block"]=aBlock;
 return self}, function($ctx1) {$ctx1.fill(self,"block:",{aBlock:aBlock},smalltalk.AnnouncementSubscription)})},
 return self}, function($ctx1) {$ctx1.fill(self,"block:",{aBlock:aBlock},smalltalk.AnnouncementSubscription)})},
 args: ["aBlock"],
 args: ["aBlock"],
 source: "block: aBlock\x0a\x09block := aBlock",
 source: "block: aBlock\x0a\x09block := aBlock",
@@ -76,7 +80,8 @@ selector: "deliver:",
 category: 'announcing',
 category: 'announcing',
 fn: function (anAnnouncement){
 fn: function (anAnnouncement){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._handlesAnnouncement_(anAnnouncement);
 $1=_st(self)._handlesAnnouncement_(anAnnouncement);
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(_st(self)._block())._value_(anAnnouncement);
 _st(_st(self)._block())._value_(anAnnouncement);
@@ -96,7 +101,8 @@ selector: "handlesAnnouncement:",
 category: 'announcing',
 category: 'announcing',
 fn: function (anAnnouncement){
 fn: function (anAnnouncement){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anAnnouncement)._isKindOf_(_st(self)._announcementClass());
 $1=_st(anAnnouncement)._isKindOf_(_st(self)._announcementClass());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement},smalltalk.AnnouncementSubscription)})},
 }, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement},smalltalk.AnnouncementSubscription)})},
@@ -118,8 +124,10 @@ selector: "announce:",
 category: 'announcing',
 category: 'announcing',
 fn: function (anAnnouncement){
 fn: function (anAnnouncement){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@subscriptions"])._do_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._deliver_(anAnnouncement);
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@subscriptions"])._do_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._deliver_(anAnnouncement);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement},smalltalk.Announcer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement},smalltalk.Announcer)})},
 args: ["anAnnouncement"],
 args: ["anAnnouncement"],
@@ -137,7 +145,8 @@ category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@subscriptions"]=_st($Array())._new();
 self["@subscriptions"]=_st($Array())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Announcer)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Announcer)})},
 args: [],
 args: [],
@@ -155,7 +164,8 @@ category: 'subscribing',
 fn: function (aClass,aBlock){
 fn: function (aClass,aBlock){
 var self=this;
 var self=this;
 function $AnnouncementSubscription(){return smalltalk.AnnouncementSubscription||(typeof AnnouncementSubscription=="undefined"?nil:AnnouncementSubscription)}
 function $AnnouncementSubscription(){return smalltalk.AnnouncementSubscription||(typeof AnnouncementSubscription=="undefined"?nil:AnnouncementSubscription)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($AnnouncementSubscription())._new();
 $1=_st($AnnouncementSubscription())._new();
 _st($1)._block_(aBlock);
 _st($1)._block_(aBlock);
 _st($1)._announcementClass_(aClass);
 _st($1)._announcementClass_(aClass);
@@ -182,7 +192,8 @@ selector: "current",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@current"];
 $2=self["@current"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@current"]=smalltalk.Announcer.klass.fn.prototype._new.apply(_st(self), []);
 self["@current"]=smalltalk.Announcer.klass.fn.prototype._new.apply(_st(self), []);
@@ -206,7 +217,8 @@ selector: "new",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.SystemAnnouncer.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.SystemAnnouncer.klass)})},
 args: [],
 args: [],
 source: "new\x0a\x09self shouldNotImplement",
 source: "new\x0a\x09self shouldNotImplement",
@@ -225,7 +237,8 @@ selector: "theClass",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 $1=self["@theClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SystemAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SystemAnnouncement)})},
@@ -243,7 +256,8 @@ selector: "theClass:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@theClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.SystemAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.SystemAnnouncement)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "theClass: aClass\x0a\x09theClass := aClass",
 source: "theClass: aClass\x0a\x09theClass := aClass",
@@ -262,7 +276,8 @@ selector: "theClass",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 $1=self["@theClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ClassAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ClassAnnouncement)})},
@@ -280,7 +295,8 @@ selector: "theClass:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@theClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.ClassAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.ClassAnnouncement)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "theClass: aClass\x0a\x09theClass := aClass",
 source: "theClass: aClass\x0a\x09theClass := aClass",
@@ -319,7 +335,8 @@ selector: "method",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@method"];
 $1=self["@method"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodAnnouncement)})},
@@ -337,7 +354,8 @@ selector: "method:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCompiledMethod){
 fn: function (aCompiledMethod){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@method"]=aCompiledMethod;
+return smalltalk.withContext(function($ctx1) { 
+self["@method"]=aCompiledMethod;
 return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.MethodAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.MethodAnnouncement)})},
 args: ["aCompiledMethod"],
 args: ["aCompiledMethod"],
 source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod",
 source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod",
@@ -359,7 +377,8 @@ selector: "oldMethod",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@oldMethod"];
 $1=self["@oldMethod"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"oldMethod",{},smalltalk.MethodModified)})},
 }, function($ctx1) {$ctx1.fill(self,"oldMethod",{},smalltalk.MethodModified)})},
@@ -377,7 +396,8 @@ selector: "oldMethod:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aMethod){
 fn: function (aMethod){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@oldMethod"]=aMethod;
+return smalltalk.withContext(function($ctx1) { 
+self["@oldMethod"]=aMethod;
 return self}, function($ctx1) {$ctx1.fill(self,"oldMethod:",{aMethod:aMethod},smalltalk.MethodModified)})},
 return self}, function($ctx1) {$ctx1.fill(self,"oldMethod:",{aMethod:aMethod},smalltalk.MethodModified)})},
 args: ["aMethod"],
 args: ["aMethod"],
 source: "oldMethod: aMethod\x0a\x09oldMethod := aMethod",
 source: "oldMethod: aMethod\x0a\x09oldMethod := aMethod",
@@ -399,7 +419,8 @@ selector: "package",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@package"];
 $1=self["@package"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"package",{},smalltalk.PackageAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"package",{},smalltalk.PackageAnnouncement)})},
@@ -417,7 +438,8 @@ selector: "package:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aPackage){
 fn: function (aPackage){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@package"]=aPackage;
+return smalltalk.withContext(function($ctx1) { 
+self["@package"]=aPackage;
 return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage},smalltalk.PackageAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage},smalltalk.PackageAnnouncement)})},
 args: ["aPackage"],
 args: ["aPackage"],
 source: "package: aPackage\x0a\x09package := aPackage",
 source: "package: aPackage\x0a\x09package := aPackage",
@@ -442,7 +464,8 @@ selector: "protocol",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@protocol"];
 $1=self["@protocol"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.ProtocolAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.ProtocolAnnouncement)})},
@@ -460,7 +483,8 @@ selector: "protocol:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@protocol"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@protocol"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"protocol:",{aString:aString},smalltalk.ProtocolAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"protocol:",{aString:aString},smalltalk.ProtocolAnnouncement)})},
 args: ["aString"],
 args: ["aString"],
 source: "protocol: aString\x0a\x09protocol := aString",
 source: "protocol: aString\x0a\x09protocol := aString",
@@ -476,7 +500,8 @@ selector: "theClass",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 $1=self["@theClass"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ProtocolAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ProtocolAnnouncement)})},
@@ -494,7 +519,8 @@ selector: "theClass:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aClass){
 fn: function (aClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
+return smalltalk.withContext(function($ctx1) { 
+self["@theClass"]=aClass;
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.ProtocolAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass},smalltalk.ProtocolAnnouncement)})},
 args: ["aClass"],
 args: ["aClass"],
 source: "theClass: aClass\x0a\x09theClass := aClass",
 source: "theClass: aClass\x0a\x09theClass := aClass",

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 230 - 115
js/Kernel-Classes.deploy.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 230 - 115
js/Kernel-Classes.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 250 - 125
js/Kernel-Collections.deploy.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 250 - 125
js/Kernel-Collections.js


+ 64 - 32
js/Kernel-Exceptions.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "context",
 selector: "context",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.context;
+return smalltalk.withContext(function($ctx1) { 
+return self.context;
 return self}, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.Error)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Error);
 smalltalk.Error);
@@ -17,7 +18,8 @@ smalltalk.method({
 selector: "initialize",
 selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._messageText_(_st("Errorclass: ").__comma(_st(_st(self)._class())._name()));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._messageText_(_st("Errorclass: ").__comma(_st(_st(self)._class())._name()));
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Error)})},
 messageSends: ["messageText:", ",", "name", "class"]}),
 messageSends: ["messageText:", ",", "name", "class"]}),
 smalltalk.Error);
 smalltalk.Error);
@@ -28,7 +30,8 @@ smalltalk.method({
 selector: "isSmalltalkError",
 selector: "isSmalltalkError",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.smalltalkError === true;
+return smalltalk.withContext(function($ctx1) { 
+return self.smalltalkError === true;
 return self}, function($ctx1) {$ctx1.fill(self,"isSmalltalkError",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"isSmalltalkError",{},smalltalk.Error)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Error);
 smalltalk.Error);
@@ -39,7 +42,8 @@ smalltalk.method({
 selector: "jsStack",
 selector: "jsStack",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.stack;
+return smalltalk.withContext(function($ctx1) { 
+return self.stack;
 return self}, function($ctx1) {$ctx1.fill(self,"jsStack",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"jsStack",{},smalltalk.Error)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Error);
 smalltalk.Error);
@@ -50,7 +54,8 @@ smalltalk.method({
 selector: "messageText",
 selector: "messageText",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@messageText"];
 $1=self["@messageText"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.Error)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.Error)})},
@@ -63,7 +68,8 @@ smalltalk.method({
 selector: "messageText:",
 selector: "messageText:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@messageText"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@messageText"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"messageText:",{aString:aString},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"messageText:",{aString:aString},smalltalk.Error)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Error);
 smalltalk.Error);
@@ -74,7 +80,8 @@ smalltalk.method({
 selector: "signal",
 selector: "signal",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self);
+return smalltalk.withContext(function($ctx1) { 
+self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self);
 return self}, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Error);
 smalltalk.Error);
@@ -85,7 +92,8 @@ smalltalk.method({
 selector: "signal:",
 selector: "signal:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._messageText_(aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._messageText_(aString);
 _st(self)._signal();
 _st(self)._signal();
 return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error)})},
 messageSends: ["messageText:", "signal"]}),
 messageSends: ["messageText:", "signal"]}),
@@ -98,7 +106,8 @@ smalltalk.method({
 selector: "signal",
 selector: "signal",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._signal();
 $1=_st(_st(self)._new())._signal();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error.klass)})},
@@ -111,7 +120,8 @@ smalltalk.method({
 selector: "signal:",
 selector: "signal:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._signal_(aString);
 $1=_st(_st(self)._new())._signal_(aString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error.klass)})},
@@ -126,7 +136,8 @@ smalltalk.method({
 selector: "context:",
 selector: "context:",
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self.context = aMethodContext;
+return smalltalk.withContext(function($ctx1) { 
+self.context = aMethodContext;
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext},smalltalk.JavaScriptException)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext},smalltalk.JavaScriptException)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JavaScriptException);
 smalltalk.JavaScriptException);
@@ -137,7 +148,8 @@ smalltalk.method({
 selector: "exception",
 selector: "exception",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@exception"];
 $1=self["@exception"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"exception",{},smalltalk.JavaScriptException)})},
 }, function($ctx1) {$ctx1.fill(self,"exception",{},smalltalk.JavaScriptException)})},
@@ -150,7 +162,8 @@ smalltalk.method({
 selector: "exception:",
 selector: "exception:",
 fn: function (anException){
 fn: function (anException){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@exception"]=anException;
+return smalltalk.withContext(function($ctx1) { 
+self["@exception"]=anException;
 return self}, function($ctx1) {$ctx1.fill(self,"exception:",{anException:anException},smalltalk.JavaScriptException)})},
 return self}, function($ctx1) {$ctx1.fill(self,"exception:",{anException:anException},smalltalk.JavaScriptException)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JavaScriptException);
 smalltalk.JavaScriptException);
@@ -161,7 +174,8 @@ smalltalk.method({
 selector: "messageText",
 selector: "messageText",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return 'JavaScript exception: ' + self["@exception"].toString();
+return smalltalk.withContext(function($ctx1) { 
+return 'JavaScript exception: ' + self["@exception"].toString();
 return self}, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.JavaScriptException)})},
 return self}, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.JavaScriptException)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JavaScriptException);
 smalltalk.JavaScriptException);
@@ -173,7 +187,8 @@ smalltalk.method({
 selector: "on:",
 selector: "on:",
 fn: function (anException){
 fn: function (anException){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._exception_(anException);
 _st($2)._exception_(anException);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -189,7 +204,8 @@ smalltalk.method({
 selector: "on:context:",
 selector: "on:context:",
 fn: function (anException,aMethodContext){
 fn: function (anException,aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._exception_(anException);
 _st($2)._exception_(anException);
 _st($2)._context_(aMethodContext);
 _st($2)._context_(aMethodContext);
@@ -208,7 +224,8 @@ smalltalk.method({
 selector: "message",
 selector: "message",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@message"];
 $1=self["@message"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"message",{},smalltalk.MessageNotUnderstood)})},
 }, function($ctx1) {$ctx1.fill(self,"message",{},smalltalk.MessageNotUnderstood)})},
@@ -221,7 +238,8 @@ smalltalk.method({
 selector: "message:",
 selector: "message:",
 fn: function (aMessage){
 fn: function (aMessage){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@message"]=aMessage;
+return smalltalk.withContext(function($ctx1) { 
+self["@message"]=aMessage;
 return self}, function($ctx1) {$ctx1.fill(self,"message:",{aMessage:aMessage},smalltalk.MessageNotUnderstood)})},
 return self}, function($ctx1) {$ctx1.fill(self,"message:",{aMessage:aMessage},smalltalk.MessageNotUnderstood)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MessageNotUnderstood);
 smalltalk.MessageNotUnderstood);
@@ -232,7 +250,8 @@ smalltalk.method({
 selector: "messageText",
 selector: "messageText",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(_st(self)._receiver())._asString()).__comma(" does not understand #")).__comma(_st(_st(self)._message())._selector());
 $1=_st(_st(_st(_st(self)._receiver())._asString()).__comma(" does not understand #")).__comma(_st(_st(self)._message())._selector());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.MessageNotUnderstood)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.MessageNotUnderstood)})},
@@ -245,7 +264,8 @@ smalltalk.method({
 selector: "receiver",
 selector: "receiver",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@receiver"];
 $1=self["@receiver"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.MessageNotUnderstood)})},
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.MessageNotUnderstood)})},
@@ -258,7 +278,8 @@ smalltalk.method({
 selector: "receiver:",
 selector: "receiver:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@receiver"]=anObject;
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.MessageNotUnderstood)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.MessageNotUnderstood)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MessageNotUnderstood);
 smalltalk.MessageNotUnderstood);
@@ -272,7 +293,8 @@ smalltalk.method({
 selector: "object",
 selector: "object",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@object"];
 $1=self["@object"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"object",{},smalltalk.NonBooleanReceiver)})},
 }, function($ctx1) {$ctx1.fill(self,"object",{},smalltalk.NonBooleanReceiver)})},
@@ -285,7 +307,8 @@ smalltalk.method({
 selector: "object:",
 selector: "object:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@object"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@object"]=anObject;
 return self}, function($ctx1) {$ctx1.fill(self,"object:",{anObject:anObject},smalltalk.NonBooleanReceiver)})},
 return self}, function($ctx1) {$ctx1.fill(self,"object:",{anObject:anObject},smalltalk.NonBooleanReceiver)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.NonBooleanReceiver);
 smalltalk.NonBooleanReceiver);
@@ -299,7 +322,8 @@ smalltalk.method({
 selector: "handleError:",
 selector: "handleError:",
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anError)._context();
 $1=_st(anError)._context();
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -317,7 +341,8 @@ smalltalk.method({
 selector: "log:",
 selector: "log:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(console)._log_(aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(console)._log_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"log:",{aString:aString},smalltalk.ErrorHandler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"log:",{aString:aString},smalltalk.ErrorHandler)})},
 messageSends: ["log:"]}),
 messageSends: ["log:"]}),
 smalltalk.ErrorHandler);
 smalltalk.ErrorHandler);
@@ -328,7 +353,8 @@ smalltalk.method({
 selector: "logContext:",
 selector: "logContext:",
 fn: function (aContext){
 fn: function (aContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aContext)._home();
 $1=_st(aContext)._home();
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -346,7 +372,8 @@ smalltalk.method({
 selector: "logError:",
 selector: "logError:",
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._log_(_st(anError)._messageText());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._log_(_st(anError)._messageText());
 return self}, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError},smalltalk.ErrorHandler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError},smalltalk.ErrorHandler)})},
 messageSends: ["log:", "messageText"]}),
 messageSends: ["log:", "messageText"]}),
 smalltalk.ErrorHandler);
 smalltalk.ErrorHandler);
@@ -357,7 +384,8 @@ smalltalk.method({
 selector: "logErrorContext:",
 selector: "logErrorContext:",
 fn: function (aContext){
 fn: function (aContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aContext;
 $1=aContext;
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -381,7 +409,8 @@ smalltalk.method({
 selector: "current",
 selector: "current",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@current"];
 $2=self["@current"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@current"]=_st(self)._new();
 self["@current"]=_st(self)._new();
@@ -400,7 +429,8 @@ smalltalk.method({
 selector: "initialize",
 selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._register();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._register();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ErrorHandler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ErrorHandler.klass)})},
 messageSends: ["register"]}),
 messageSends: ["register"]}),
 smalltalk.ErrorHandler.klass);
 smalltalk.ErrorHandler.klass);
@@ -412,7 +442,8 @@ selector: "register",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ErrorHandler(){return smalltalk.ErrorHandler||(typeof ErrorHandler=="undefined"?nil:ErrorHandler)}
 function $ErrorHandler(){return smalltalk.ErrorHandler||(typeof ErrorHandler=="undefined"?nil:ErrorHandler)}
-return smalltalk.withContext(function($ctx1) { 
_st($ErrorHandler())._setCurrent_(_st(self)._new());
+return smalltalk.withContext(function($ctx1) { 
+_st($ErrorHandler())._setCurrent_(_st(self)._new());
 return self}, function($ctx1) {$ctx1.fill(self,"register",{},smalltalk.ErrorHandler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"register",{},smalltalk.ErrorHandler.klass)})},
 messageSends: ["setCurrent:", "new"]}),
 messageSends: ["setCurrent:", "new"]}),
 smalltalk.ErrorHandler.klass);
 smalltalk.ErrorHandler.klass);
@@ -423,7 +454,8 @@ smalltalk.method({
 selector: "setCurrent:",
 selector: "setCurrent:",
 fn: function (anHandler){
 fn: function (anHandler){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@current"]=anHandler;
+return smalltalk.withContext(function($ctx1) { 
+self["@current"]=anHandler;
 return self}, function($ctx1) {$ctx1.fill(self,"setCurrent:",{anHandler:anHandler},smalltalk.ErrorHandler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setCurrent:",{anHandler:anHandler},smalltalk.ErrorHandler.klass)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ErrorHandler.klass);
 smalltalk.ErrorHandler.klass);

+ 64 - 32
js/Kernel-Exceptions.js

@@ -8,7 +8,8 @@ selector: "context",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.context;
+return smalltalk.withContext(function($ctx1) { 
+return self.context;
 return self}, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.Error)})},
 args: [],
 args: [],
 source: "context\x0a\x09<return self.context>",
 source: "context\x0a\x09<return self.context>",
@@ -24,7 +25,8 @@ selector: "initialize",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._messageText_(_st("Errorclass: ").__comma(_st(_st(self)._class())._name()));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._messageText_(_st("Errorclass: ").__comma(_st(_st(self)._class())._name()));
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Error)})},
 args: [],
 args: [],
 source: "initialize\x0a\x09self messageText: 'Errorclass: ', (self class name).",
 source: "initialize\x0a\x09self messageText: 'Errorclass: ', (self class name).",
@@ -40,7 +42,8 @@ selector: "isSmalltalkError",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.smalltalkError === true;
+return smalltalk.withContext(function($ctx1) { 
+return self.smalltalkError === true;
 return self}, function($ctx1) {$ctx1.fill(self,"isSmalltalkError",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"isSmalltalkError",{},smalltalk.Error)})},
 args: [],
 args: [],
 source: "isSmalltalkError\x0a\x09<return self.smalltalkError === true>",
 source: "isSmalltalkError\x0a\x09<return self.smalltalkError === true>",
@@ -56,7 +59,8 @@ selector: "jsStack",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.stack;
+return smalltalk.withContext(function($ctx1) { 
+return self.stack;
 return self}, function($ctx1) {$ctx1.fill(self,"jsStack",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"jsStack",{},smalltalk.Error)})},
 args: [],
 args: [],
 source: "jsStack\x0a\x09<return self.stack>",
 source: "jsStack\x0a\x09<return self.stack>",
@@ -72,7 +76,8 @@ selector: "messageText",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@messageText"];
 $1=self["@messageText"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.Error)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.Error)})},
@@ -90,7 +95,8 @@ selector: "messageText:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@messageText"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@messageText"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"messageText:",{aString:aString},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"messageText:",{aString:aString},smalltalk.Error)})},
 args: ["aString"],
 args: ["aString"],
 source: "messageText: aString\x0a\x09messageText := aString",
 source: "messageText: aString\x0a\x09messageText := aString",
@@ -106,7 +112,8 @@ selector: "signal",
 category: 'signaling',
 category: 'signaling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self);
+return smalltalk.withContext(function($ctx1) { 
+self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self);
 return self}, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error)})},
 args: [],
 args: [],
 source: "signal\x0a\x09<self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self)>",
 source: "signal\x0a\x09<self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self)>",
@@ -122,7 +129,8 @@ selector: "signal:",
 category: 'signaling',
 category: 'signaling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._messageText_(aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._messageText_(aString);
 _st(self)._signal();
 _st(self)._signal();
 return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error)})},
 return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error)})},
 args: ["aString"],
 args: ["aString"],
@@ -140,7 +148,8 @@ selector: "signal",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._signal();
 $1=_st(_st(self)._new())._signal();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error.klass)})},
@@ -158,7 +167,8 @@ selector: "signal:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._signal_(aString);
 $1=_st(_st(self)._new())._signal_(aString);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error.klass)})},
@@ -179,7 +189,8 @@ selector: "context:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aMethodContext){
 fn: function (aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self.context = aMethodContext;
+return smalltalk.withContext(function($ctx1) { 
+self.context = aMethodContext;
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext},smalltalk.JavaScriptException)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext},smalltalk.JavaScriptException)})},
 args: ["aMethodContext"],
 args: ["aMethodContext"],
 source: "context: aMethodContext\x0a\x09\x22Set the context from the outside.\x0a\x09See boot.js `inContext()` exception handling\x22\x0a\x09\x0a\x09<self.context = aMethodContext>",
 source: "context: aMethodContext\x0a\x09\x22Set the context from the outside.\x0a\x09See boot.js `inContext()` exception handling\x22\x0a\x09\x0a\x09<self.context = aMethodContext>",
@@ -195,7 +206,8 @@ selector: "exception",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@exception"];
 $1=self["@exception"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"exception",{},smalltalk.JavaScriptException)})},
 }, function($ctx1) {$ctx1.fill(self,"exception",{},smalltalk.JavaScriptException)})},
@@ -213,7 +225,8 @@ selector: "exception:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anException){
 fn: function (anException){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@exception"]=anException;
+return smalltalk.withContext(function($ctx1) { 
+self["@exception"]=anException;
 return self}, function($ctx1) {$ctx1.fill(self,"exception:",{anException:anException},smalltalk.JavaScriptException)})},
 return self}, function($ctx1) {$ctx1.fill(self,"exception:",{anException:anException},smalltalk.JavaScriptException)})},
 args: ["anException"],
 args: ["anException"],
 source: "exception: anException\x0a\x09exception := anException",
 source: "exception: anException\x0a\x09exception := anException",
@@ -229,7 +242,8 @@ selector: "messageText",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return 'JavaScript exception: ' + self["@exception"].toString();
+return smalltalk.withContext(function($ctx1) { 
+return 'JavaScript exception: ' + self["@exception"].toString();
 return self}, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.JavaScriptException)})},
 return self}, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.JavaScriptException)})},
 args: [],
 args: [],
 source: "messageText\x0a\x09<return 'JavaScript exception: ' + self[\x22@exception\x22].toString()>",
 source: "messageText\x0a\x09<return 'JavaScript exception: ' + self[\x22@exception\x22].toString()>",
@@ -246,7 +260,8 @@ selector: "on:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (anException){
 fn: function (anException){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._exception_(anException);
 _st($2)._exception_(anException);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -267,7 +282,8 @@ selector: "on:context:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (anException,aMethodContext){
 fn: function (anException,aMethodContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._exception_(anException);
 _st($2)._exception_(anException);
 _st($2)._context_(aMethodContext);
 _st($2)._context_(aMethodContext);
@@ -292,7 +308,8 @@ selector: "message",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@message"];
 $1=self["@message"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"message",{},smalltalk.MessageNotUnderstood)})},
 }, function($ctx1) {$ctx1.fill(self,"message",{},smalltalk.MessageNotUnderstood)})},
@@ -310,7 +327,8 @@ selector: "message:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aMessage){
 fn: function (aMessage){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@message"]=aMessage;
+return smalltalk.withContext(function($ctx1) { 
+self["@message"]=aMessage;
 return self}, function($ctx1) {$ctx1.fill(self,"message:",{aMessage:aMessage},smalltalk.MessageNotUnderstood)})},
 return self}, function($ctx1) {$ctx1.fill(self,"message:",{aMessage:aMessage},smalltalk.MessageNotUnderstood)})},
 args: ["aMessage"],
 args: ["aMessage"],
 source: "message: aMessage\x0a\x09message := aMessage",
 source: "message: aMessage\x0a\x09message := aMessage",
@@ -326,7 +344,8 @@ selector: "messageText",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(_st(self)._receiver())._asString()).__comma(" does not understand #")).__comma(_st(_st(self)._message())._selector());
 $1=_st(_st(_st(_st(self)._receiver())._asString()).__comma(" does not understand #")).__comma(_st(_st(self)._message())._selector());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.MessageNotUnderstood)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.MessageNotUnderstood)})},
@@ -344,7 +363,8 @@ selector: "receiver",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@receiver"];
 $1=self["@receiver"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.MessageNotUnderstood)})},
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.MessageNotUnderstood)})},
@@ -362,7 +382,8 @@ selector: "receiver:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@receiver"]=anObject;
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.MessageNotUnderstood)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.MessageNotUnderstood)})},
 args: ["anObject"],
 args: ["anObject"],
 source: "receiver: anObject\x0a\x09receiver := anObject",
 source: "receiver: anObject\x0a\x09receiver := anObject",
@@ -382,7 +403,8 @@ selector: "object",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@object"];
 $1=self["@object"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"object",{},smalltalk.NonBooleanReceiver)})},
 }, function($ctx1) {$ctx1.fill(self,"object",{},smalltalk.NonBooleanReceiver)})},
@@ -400,7 +422,8 @@ selector: "object:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@object"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@object"]=anObject;
 return self}, function($ctx1) {$ctx1.fill(self,"object:",{anObject:anObject},smalltalk.NonBooleanReceiver)})},
 return self}, function($ctx1) {$ctx1.fill(self,"object:",{anObject:anObject},smalltalk.NonBooleanReceiver)})},
 args: ["anObject"],
 args: ["anObject"],
 source: "object: anObject\x0a\x09object := anObject",
 source: "object: anObject\x0a\x09object := anObject",
@@ -420,7 +443,8 @@ selector: "handleError:",
 category: 'error handling',
 category: 'error handling',
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anError)._context();
 $1=_st(anError)._context();
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -443,7 +467,8 @@ selector: "log:",
 category: 'private',
 category: 'private',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(console)._log_(aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(console)._log_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"log:",{aString:aString},smalltalk.ErrorHandler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"log:",{aString:aString},smalltalk.ErrorHandler)})},
 args: ["aString"],
 args: ["aString"],
 source: "log: aString\x0a\x09console log: aString",
 source: "log: aString\x0a\x09console log: aString",
@@ -459,7 +484,8 @@ selector: "logContext:",
 category: 'private',
 category: 'private',
 fn: function (aContext){
 fn: function (aContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aContext)._home();
 $1=_st(aContext)._home();
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -482,7 +508,8 @@ selector: "logError:",
 category: 'private',
 category: 'private',
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._log_(_st(anError)._messageText());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._log_(_st(anError)._messageText());
 return self}, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError},smalltalk.ErrorHandler)})},
 return self}, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError},smalltalk.ErrorHandler)})},
 args: ["anError"],
 args: ["anError"],
 source: "logError: anError\x0a\x09self log: anError messageText",
 source: "logError: anError\x0a\x09self log: anError messageText",
@@ -498,7 +525,8 @@ selector: "logErrorContext:",
 category: 'private',
 category: 'private',
 fn: function (aContext){
 fn: function (aContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aContext;
 $1=aContext;
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -527,7 +555,8 @@ selector: "current",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@current"];
 $2=self["@current"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@current"]=_st(self)._new();
 self["@current"]=_st(self)._new();
@@ -551,7 +580,8 @@ selector: "initialize",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._register();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._register();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ErrorHandler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ErrorHandler.klass)})},
 args: [],
 args: [],
 source: "initialize\x0a\x09self register",
 source: "initialize\x0a\x09self register",
@@ -568,7 +598,8 @@ category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ErrorHandler(){return smalltalk.ErrorHandler||(typeof ErrorHandler=="undefined"?nil:ErrorHandler)}
 function $ErrorHandler(){return smalltalk.ErrorHandler||(typeof ErrorHandler=="undefined"?nil:ErrorHandler)}
-return smalltalk.withContext(function($ctx1) { 
_st($ErrorHandler())._setCurrent_(_st(self)._new());
+return smalltalk.withContext(function($ctx1) { 
+_st($ErrorHandler())._setCurrent_(_st(self)._new());
 return self}, function($ctx1) {$ctx1.fill(self,"register",{},smalltalk.ErrorHandler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"register",{},smalltalk.ErrorHandler.klass)})},
 args: [],
 args: [],
 source: "register\x0a\x09ErrorHandler setCurrent: self new",
 source: "register\x0a\x09ErrorHandler setCurrent: self new",
@@ -584,7 +615,8 @@ selector: "setCurrent:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anHandler){
 fn: function (anHandler){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@current"]=anHandler;
+return smalltalk.withContext(function($ctx1) { 
+self["@current"]=anHandler;
 return self}, function($ctx1) {$ctx1.fill(self,"setCurrent:",{anHandler:anHandler},smalltalk.ErrorHandler.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setCurrent:",{anHandler:anHandler},smalltalk.ErrorHandler.klass)})},
 args: ["anHandler"],
 args: ["anHandler"],
 source: "setCurrent: anHandler\x0a\x09current := anHandler",
 source: "setCurrent: anHandler\x0a\x09current := anHandler",

+ 162 - 81
js/Kernel-Methods.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "applyTo:arguments:",
 selector: "applyTo:arguments:",
 fn: function (anObject,aCollection){
 fn: function (anObject,aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.apply(anObject, aCollection);
+return smalltalk.withContext(function($ctx1) { 
+return self.apply(anObject, aCollection);
 return self}, function($ctx1) {$ctx1.fill(self,"applyTo:arguments:",{anObject:anObject,aCollection:aCollection},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"applyTo:arguments:",{anObject:anObject,aCollection:aCollection},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -17,7 +18,8 @@ smalltalk.method({
 selector: "asCompiledMethod:",
 selector: "asCompiledMethod:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.method({selector:aString, fn:self});;
+return smalltalk.withContext(function($ctx1) { 
+return smalltalk.method({selector:aString, fn:self});;
 return self}, function($ctx1) {$ctx1.fill(self,"asCompiledMethod:",{aString:aString},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"asCompiledMethod:",{aString:aString},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -28,7 +30,8 @@ smalltalk.method({
 selector: "compiledSource",
 selector: "compiledSource",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.toString();
+return smalltalk.withContext(function($ctx1) { 
+return self.toString();
 return self}, function($ctx1) {$ctx1.fill(self,"compiledSource",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"compiledSource",{},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -39,7 +42,8 @@ smalltalk.method({
 selector: "currySelf",
 selector: "currySelf",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		return function () {
 		return function () {
 			var args = [ this ];
 			var args = [ this ];
 			args.push.apply(args, arguments);
 			args.push.apply(args, arguments);
@@ -56,7 +60,8 @@ smalltalk.method({
 selector: "ensure:",
 selector: "ensure:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
try{return self()}finally{aBlock._value()};
+return smalltalk.withContext(function($ctx1) { 
+try{return self()}finally{aBlock._value()};
 return self}, function($ctx1) {$ctx1.fill(self,"ensure:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"ensure:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -68,7 +73,8 @@ selector: "fork",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ForkPool(){return smalltalk.ForkPool||(typeof ForkPool=="undefined"?nil:ForkPool)}
 function $ForkPool(){return smalltalk.ForkPool||(typeof ForkPool=="undefined"?nil:ForkPool)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st($ForkPool())._default())._fork_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st($ForkPool())._default())._fork_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"fork",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fork",{},smalltalk.BlockClosure)})},
 messageSends: ["fork:", "default"]}),
 messageSends: ["fork:", "default"]}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -79,7 +85,8 @@ smalltalk.method({
 selector: "new",
 selector: "new",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return new self();
+return smalltalk.withContext(function($ctx1) { 
+return new self();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -90,7 +97,8 @@ smalltalk.method({
 selector: "newValue:",
 selector: "newValue:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return new self(anObject);
+return smalltalk.withContext(function($ctx1) { 
+return new self(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:",{anObject:anObject},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:",{anObject:anObject},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -101,7 +109,8 @@ smalltalk.method({
 selector: "newValue:value:",
 selector: "newValue:value:",
 fn: function (anObject,anObject2){
 fn: function (anObject,anObject2){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return new self(anObject, anObject2);
+return smalltalk.withContext(function($ctx1) { 
+return new self(anObject, anObject2);
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:",{anObject:anObject,anObject2:anObject2},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:",{anObject:anObject,anObject2:anObject2},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -112,7 +121,8 @@ smalltalk.method({
 selector: "newValue:value:value:",
 selector: "newValue:value:value:",
 fn: function (anObject,anObject2,anObject3){
 fn: function (anObject,anObject2,anObject3){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return new self(anObject, anObject2,anObject3);
+return smalltalk.withContext(function($ctx1) { 
+return new self(anObject, anObject2,anObject3);
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:value:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:value:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -123,7 +133,8 @@ smalltalk.method({
 selector: "numArgs",
 selector: "numArgs",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.length;
+return smalltalk.withContext(function($ctx1) { 
+return self.length;
 return self}, function($ctx1) {$ctx1.fill(self,"numArgs",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"numArgs",{},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -135,10 +146,12 @@ selector: "on:do:",
 fn: function (anErrorClass,aBlock){
 fn: function (anErrorClass,aBlock){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $1=_st(self)._try_catch_(self,(function(error){
 $1=_st(self)._try_catch_(self,(function(error){
 var smalltalkError;
 var smalltalkError;
-return smalltalk.withContext(function($ctx2) {
smalltalkError=_st(_st($Smalltalk())._current())._asSmalltalkException_(error);
+return smalltalk.withContext(function($ctx2) {
+smalltalkError=_st(_st($Smalltalk())._current())._asSmalltalkException_(error);
 smalltalkError;
 smalltalkError;
 $2=_st(smalltalkError)._isKindOf_(anErrorClass);
 $2=_st(smalltalkError)._isKindOf_(anErrorClass);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
@@ -159,7 +172,8 @@ selector: "timeToRun",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($Date())._millisecondsToRun_(self);
 $1=_st($Date())._millisecondsToRun_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"timeToRun",{},smalltalk.BlockClosure)})},
 }, function($ctx1) {$ctx1.fill(self,"timeToRun",{},smalltalk.BlockClosure)})},
@@ -172,7 +186,8 @@ smalltalk.method({
 selector: "value",
 selector: "value",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self();;
+return smalltalk.withContext(function($ctx1) { 
+return self();;
 return self}, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -183,7 +198,8 @@ smalltalk.method({
 selector: "value:",
 selector: "value:",
 fn: function (anArg){
 fn: function (anArg){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self(anArg);;
+return smalltalk.withContext(function($ctx1) { 
+return self(anArg);;
 return self}, function($ctx1) {$ctx1.fill(self,"value:",{anArg:anArg},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value:",{anArg:anArg},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -194,7 +210,8 @@ smalltalk.method({
 selector: "value:value:",
 selector: "value:value:",
 fn: function (firstArg,secondArg){
 fn: function (firstArg,secondArg){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self(firstArg, secondArg);;
+return smalltalk.withContext(function($ctx1) { 
+return self(firstArg, secondArg);;
 return self}, function($ctx1) {$ctx1.fill(self,"value:value:",{firstArg:firstArg,secondArg:secondArg},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value:value:",{firstArg:firstArg,secondArg:secondArg},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -205,7 +222,8 @@ smalltalk.method({
 selector: "value:value:value:",
 selector: "value:value:value:",
 fn: function (firstArg,secondArg,thirdArg){
 fn: function (firstArg,secondArg,thirdArg){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self(firstArg, secondArg, thirdArg);;
+return smalltalk.withContext(function($ctx1) { 
+return self(firstArg, secondArg, thirdArg);;
 return self}, function($ctx1) {$ctx1.fill(self,"value:value:value:",{firstArg:firstArg,secondArg:secondArg,thirdArg:thirdArg},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value:value:value:",{firstArg:firstArg,secondArg:secondArg,thirdArg:thirdArg},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -216,7 +234,8 @@ smalltalk.method({
 selector: "valueWithInterval:",
 selector: "valueWithInterval:",
 fn: function (aNumber){
 fn: function (aNumber){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var interval = setInterval(self, aNumber);
 		var interval = setInterval(self, aNumber);
 		return smalltalk.Timeout._on_(interval);
 		return smalltalk.Timeout._on_(interval);
 	;
 	;
@@ -230,7 +249,8 @@ smalltalk.method({
 selector: "valueWithPossibleArguments:",
 selector: "valueWithPossibleArguments:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.apply(null, aCollection);;
+return smalltalk.withContext(function($ctx1) { 
+return self.apply(null, aCollection);;
 return self}, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -241,7 +261,8 @@ smalltalk.method({
 selector: "valueWithTimeout:",
 selector: "valueWithTimeout:",
 fn: function (aNumber){
 fn: function (aNumber){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var timeout = setTimeout(self, aNumber);
 		var timeout = setTimeout(self, aNumber);
 		return smalltalk.Timeout._on_(timeout);
 		return smalltalk.Timeout._on_(timeout);
 	;
 	;
@@ -255,8 +276,10 @@ smalltalk.method({
 selector: "whileFalse",
 selector: "whileFalse",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._whileFalse_((function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._whileFalse_((function(){
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse",{},smalltalk.BlockClosure)})},
 messageSends: ["whileFalse:"]}),
 messageSends: ["whileFalse:"]}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -267,7 +290,8 @@ smalltalk.method({
 selector: "whileFalse:",
 selector: "whileFalse:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
while(!self()) {aBlock()};
+return smalltalk.withContext(function($ctx1) { 
+while(!self()) {aBlock()};
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -278,8 +302,10 @@ smalltalk.method({
 selector: "whileTrue",
 selector: "whileTrue",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._whileTrue_((function(){
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue",{},smalltalk.BlockClosure)})},
 messageSends: ["whileTrue:"]}),
 messageSends: ["whileTrue:"]}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -290,7 +316,8 @@ smalltalk.method({
 selector: "whileTrue:",
 selector: "whileTrue:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
while(self()) {aBlock()};
+return smalltalk.withContext(function($ctx1) { 
+while(self()) {aBlock()};
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.BlockClosure);
 smalltalk.BlockClosure);
@@ -304,7 +331,8 @@ smalltalk.method({
 selector: "arguments",
 selector: "arguments",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.args || [];
+return smalltalk.withContext(function($ctx1) { 
+return self.args || [];
 return self}, function($ctx1) {$ctx1.fill(self,"arguments",{},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"arguments",{},smalltalk.CompiledMethod)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.CompiledMethod);
 smalltalk.CompiledMethod);
@@ -315,7 +343,8 @@ smalltalk.method({
 selector: "category",
 selector: "category",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._basicAt_("category");
 $2=_st(self)._basicAt_("category");
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=_st(self)._defaultCategory();
 $1=_st(self)._defaultCategory();
@@ -334,7 +363,8 @@ selector: "category:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 var oldCategory;
 var oldCategory;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 oldCategory=_st(self)._category();
 oldCategory=_st(self)._category();
 _st(self)._basicAt_put_("category",aString);
 _st(self)._basicAt_put_("category",aString);
 $1=_st(self)._methodClass();
 $1=_st(self)._methodClass();
@@ -343,9 +373,11 @@ $1;
 } else {
 } else {
 _st(_st(_st(self)._methodClass())._organization())._addElement_(aString);
 _st(_st(_st(self)._methodClass())._organization())._addElement_(aString);
 _st(_st(_st(_st(self)._methodClass())._methods())._select_((function(each){
 _st(_st(_st(_st(self)._methodClass())._methods())._select_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(each)._category()).__eq(oldCategory);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(each)._category()).__eq(oldCategory);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._ifEmpty_((function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._ifEmpty_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(self)._methodClass())._organization())._removeElement_(oldCategory);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(self)._methodClass())._organization())._removeElement_(oldCategory);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 };
 };
 return self}, function($ctx1) {$ctx1.fill(self,"category:",{aString:aString,oldCategory:oldCategory},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"category:",{aString:aString,oldCategory:oldCategory},smalltalk.CompiledMethod)})},
@@ -358,7 +390,8 @@ smalltalk.method({
 selector: "defaultCategory",
 selector: "defaultCategory",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return "as yet unclassified";
+return smalltalk.withContext(function($ctx1) { 
+return "as yet unclassified";
 }, function($ctx1) {$ctx1.fill(self,"defaultCategory",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"defaultCategory",{},smalltalk.CompiledMethod)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.CompiledMethod);
 smalltalk.CompiledMethod);
@@ -369,7 +402,8 @@ smalltalk.method({
 selector: "fn",
 selector: "fn",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("fn");
 $1=_st(self)._basicAt_("fn");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"fn",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"fn",{},smalltalk.CompiledMethod)})},
@@ -382,7 +416,8 @@ smalltalk.method({
 selector: "fn:",
 selector: "fn:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("fn",aBlock);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._basicAt_put_("fn",aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"fn:",{aBlock:aBlock},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fn:",{aBlock:aBlock},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:put:"]}),
 messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
 smalltalk.CompiledMethod);
@@ -393,7 +428,8 @@ smalltalk.method({
 selector: "messageSends",
 selector: "messageSends",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("messageSends");
 $1=_st(self)._basicAt_("messageSends");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.CompiledMethod)})},
@@ -406,7 +442,8 @@ smalltalk.method({
 selector: "methodClass",
 selector: "methodClass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("methodClass");
 $1=_st(self)._basicAt_("methodClass");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodClass",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"methodClass",{},smalltalk.CompiledMethod)})},
@@ -419,7 +456,8 @@ smalltalk.method({
 selector: "protocol",
 selector: "protocol",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._category();
 $1=_st(self)._category();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.CompiledMethod)})},
@@ -432,7 +470,8 @@ smalltalk.method({
 selector: "referencedClasses",
 selector: "referencedClasses",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("referencedClasses");
 $1=_st(self)._basicAt_("referencedClasses");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"referencedClasses",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"referencedClasses",{},smalltalk.CompiledMethod)})},
@@ -445,7 +484,8 @@ smalltalk.method({
 selector: "selector",
 selector: "selector",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("selector");
 $1=_st(self)._basicAt_("selector");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.CompiledMethod)})},
@@ -458,7 +498,8 @@ smalltalk.method({
 selector: "selector:",
 selector: "selector:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("selector",aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._basicAt_put_("selector",aString);
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:put:"]}),
 messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
 smalltalk.CompiledMethod);
@@ -469,7 +510,8 @@ smalltalk.method({
 selector: "source",
 selector: "source",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._basicAt_("source");
 $2=_st(self)._basicAt_("source");
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 $1="";
@@ -487,7 +529,8 @@ smalltalk.method({
 selector: "source:",
 selector: "source:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("source",aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._basicAt_put_("source",aString);
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:put:"]}),
 messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
 smalltalk.CompiledMethod);
@@ -501,7 +544,8 @@ smalltalk.method({
 selector: "addWorker",
 selector: "addWorker",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@worker"])._valueWithTimeout_((0));
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@worker"])._valueWithTimeout_((0));
 self["@poolSize"]=_st(self["@poolSize"]).__plus((1));
 self["@poolSize"]=_st(self["@poolSize"]).__plus((1));
 return self}, function($ctx1) {$ctx1.fill(self,"addWorker",{},smalltalk.ForkPool)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addWorker",{},smalltalk.ForkPool)})},
 messageSends: ["valueWithTimeout:", "+"]}),
 messageSends: ["valueWithTimeout:", "+"]}),
@@ -513,7 +557,8 @@ smalltalk.method({
 selector: "defaultMaxPoolSize",
 selector: "defaultMaxPoolSize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._class())._defaultMaxPoolSize();
 $1=_st(_st(self)._class())._defaultMaxPoolSize();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool)})},
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool)})},
@@ -526,7 +571,8 @@ smalltalk.method({
 selector: "fork:",
 selector: "fork:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self["@poolSize"]).__lt(_st(self)._maxPoolSize());
 $1=_st(self["@poolSize"]).__lt(_st(self)._maxPoolSize());
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(self)._addWorker();
 _st(self)._addWorker();
@@ -543,7 +589,8 @@ selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Queue(){return smalltalk.Queue||(typeof Queue=="undefined"?nil:Queue)}
 function $Queue(){return smalltalk.Queue||(typeof Queue=="undefined"?nil:Queue)}
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@poolSize"]=(0);
 self["@poolSize"]=(0);
 self["@queue"]=_st($Queue())._new();
 self["@queue"]=_st($Queue())._new();
 self["@worker"]=_st(self)._makeWorker();
 self["@worker"]=_st(self)._makeWorker();
@@ -559,22 +606,27 @@ fn: function (){
 var self=this;
 var self=this;
 var sentinel;
 var sentinel;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 sentinel=_st($Object())._new();
 sentinel=_st($Object())._new();
 $1=(function(){
 $1=(function(){
 var block;
 var block;
-return smalltalk.withContext(function($ctx2) {
self["@poolSize"]=_st(self["@poolSize"]).__minus((1));
+return smalltalk.withContext(function($ctx2) {
+self["@poolSize"]=_st(self["@poolSize"]).__minus((1));
 self["@poolSize"];
 self["@poolSize"];
 block=_st(self["@queue"])._frontIfAbsent_((function(){
 block=_st(self["@queue"])._frontIfAbsent_((function(){
-return smalltalk.withContext(function($ctx3) {
return sentinel;
+return smalltalk.withContext(function($ctx3) {
+return sentinel;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 block;
 block;
 $2=_st(block).__eq_eq(sentinel);
 $2=_st(block).__eq_eq(sentinel);
 if(! smalltalk.assert($2)){
 if(! smalltalk.assert($2)){
 return _st((function(){
 return _st((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(block)._value();
+return smalltalk.withContext(function($ctx3) {
+return _st(block)._value();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._ensure_((function(){
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._ensure_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._addWorker();
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._addWorker();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 };
 };
 }, function($ctx2) {$ctx2.fillBlock({block:block},$ctx1)})});
 }, function($ctx2) {$ctx2.fillBlock({block:block},$ctx1)})});
@@ -589,7 +641,8 @@ smalltalk.method({
 selector: "maxPoolSize",
 selector: "maxPoolSize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@maxPoolSize"];
 $2=self["@maxPoolSize"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=_st(self)._defaultMaxPoolSize();
 $1=_st(self)._defaultMaxPoolSize();
@@ -607,7 +660,8 @@ smalltalk.method({
 selector: "maxPoolSize:",
 selector: "maxPoolSize:",
 fn: function (anInteger){
 fn: function (anInteger){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@maxPoolSize"]=anInteger;
+return smalltalk.withContext(function($ctx1) { 
+self["@maxPoolSize"]=anInteger;
 return self}, function($ctx1) {$ctx1.fill(self,"maxPoolSize:",{anInteger:anInteger},smalltalk.ForkPool)})},
 return self}, function($ctx1) {$ctx1.fill(self,"maxPoolSize:",{anInteger:anInteger},smalltalk.ForkPool)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ForkPool);
 smalltalk.ForkPool);
@@ -620,7 +674,8 @@ smalltalk.method({
 selector: "default",
 selector: "default",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@default"];
 $2=self["@default"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@default"]=_st(self)._new();
 self["@default"]=_st(self)._new();
@@ -639,7 +694,8 @@ smalltalk.method({
 selector: "defaultMaxPoolSize",
 selector: "defaultMaxPoolSize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=(100);
 $1=(100);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool.klass)})},
@@ -652,7 +708,8 @@ smalltalk.method({
 selector: "resetDefault",
 selector: "resetDefault",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@default"]=nil;
+return smalltalk.withContext(function($ctx1) { 
+self["@default"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"resetDefault",{},smalltalk.ForkPool.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"resetDefault",{},smalltalk.ForkPool.klass)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ForkPool.klass);
 smalltalk.ForkPool.klass);
@@ -665,7 +722,8 @@ smalltalk.method({
 selector: "arguments",
 selector: "arguments",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@arguments"];
 $1=self["@arguments"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"arguments",{},smalltalk.Message)})},
 }, function($ctx1) {$ctx1.fill(self,"arguments",{},smalltalk.Message)})},
@@ -678,7 +736,8 @@ smalltalk.method({
 selector: "arguments:",
 selector: "arguments:",
 fn: function (anArray){
 fn: function (anArray){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@arguments"]=anArray;
+return smalltalk.withContext(function($ctx1) { 
+self["@arguments"]=anArray;
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{anArray:anArray},smalltalk.Message)})},
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{anArray:anArray},smalltalk.Message)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Message);
 smalltalk.Message);
@@ -689,7 +748,8 @@ smalltalk.method({
 selector: "printOn:",
 selector: "printOn:",
 fn: function (aStream){
 fn: function (aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("(");
 _st($1)._nextPutAll_("(");
@@ -705,7 +765,8 @@ smalltalk.method({
 selector: "selector",
 selector: "selector",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@selector"];
 $1=self["@selector"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.Message)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.Message)})},
@@ -718,7 +779,8 @@ smalltalk.method({
 selector: "selector:",
 selector: "selector:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@selector"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@selector"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.Message)})},
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.Message)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Message);
 smalltalk.Message);
@@ -729,7 +791,8 @@ smalltalk.method({
 selector: "sendTo:",
 selector: "sendTo:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anObject)._perform_withArguments_(_st(self)._selector(),_st(self)._arguments());
 $1=_st(anObject)._perform_withArguments_(_st(self)._selector(),_st(self)._arguments());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"sendTo:",{anObject:anObject},smalltalk.Message)})},
 }, function($ctx1) {$ctx1.fill(self,"sendTo:",{anObject:anObject},smalltalk.Message)})},
@@ -743,7 +806,8 @@ smalltalk.method({
 selector: "selector:arguments:",
 selector: "selector:arguments:",
 fn: function (aString,anArray){
 fn: function (aString,anArray){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._selector_(aString);
 _st($2)._selector_(aString);
 _st($2)._arguments_(anArray);
 _st($2)._arguments_(anArray);
@@ -762,7 +826,8 @@ smalltalk.method({
 selector: "asString",
 selector: "asString",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._isBlockContext();
 $2=_st(self)._isBlockContext();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st("a block (in ").__comma(_st(_st(_st(_st(self)._methodContext())._receiver())._class())._printString())).__comma(")");
 $1=_st(_st("a block (in ").__comma(_st(_st(_st(_st(self)._methodContext())._receiver())._class())._printString())).__comma(")");
@@ -780,7 +845,8 @@ smalltalk.method({
 selector: "home",
 selector: "home",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.methodContext || self.homeContext;
+return smalltalk.withContext(function($ctx1) { 
+return self.methodContext || self.homeContext;
 return self}, function($ctx1) {$ctx1.fill(self,"home",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"home",{},smalltalk.MethodContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodContext);
 smalltalk.MethodContext);
@@ -791,7 +857,8 @@ smalltalk.method({
 selector: "isBlockContext",
 selector: "isBlockContext",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._selector())._isNil();
 $1=_st(_st(self)._selector())._isNil();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockContext",{},smalltalk.MethodContext)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockContext",{},smalltalk.MethodContext)})},
@@ -804,7 +871,8 @@ smalltalk.method({
 selector: "locals",
 selector: "locals",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.locals;
+return smalltalk.withContext(function($ctx1) { 
+return self.locals;
 return self}, function($ctx1) {$ctx1.fill(self,"locals",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"locals",{},smalltalk.MethodContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodContext);
 smalltalk.MethodContext);
@@ -815,7 +883,8 @@ smalltalk.method({
 selector: "method",
 selector: "method",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(_st(self)._methodContext())._receiver())._class())._lookupSelector_(_st(_st(self)._methodContext())._selector());
 $1=_st(_st(_st(_st(self)._methodContext())._receiver())._class())._lookupSelector_(_st(_st(self)._methodContext())._selector());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodContext)})},
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodContext)})},
@@ -828,7 +897,8 @@ smalltalk.method({
 selector: "methodContext",
 selector: "methodContext",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=_st(self)._isBlockContext();
 $1=_st(self)._isBlockContext();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 $2=self;
 $2=self;
@@ -846,7 +916,8 @@ smalltalk.method({
 selector: "outerContext",
 selector: "outerContext",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.homeContext;
+return smalltalk.withContext(function($ctx1) { 
+return self.homeContext;
 return self}, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.MethodContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodContext);
 smalltalk.MethodContext);
@@ -857,7 +928,8 @@ smalltalk.method({
 selector: "pc",
 selector: "pc",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.pc;
+return smalltalk.withContext(function($ctx1) { 
+return self.pc;
 return self}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.MethodContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodContext);
 smalltalk.MethodContext);
@@ -868,7 +940,8 @@ smalltalk.method({
 selector: "printOn:",
 selector: "printOn:",
 fn: function (aStream){
 fn: function (aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("(");
 _st($1)._nextPutAll_("(");
@@ -884,7 +957,8 @@ smalltalk.method({
 selector: "receiver",
 selector: "receiver",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.receiver;
+return smalltalk.withContext(function($ctx1) { 
+return self.receiver;
 return self}, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.MethodContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.MethodContext);
 smalltalk.MethodContext);
@@ -895,7 +969,8 @@ smalltalk.method({
 selector: "selector",
 selector: "selector",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		if(self.selector) {
 		if(self.selector) {
 			return smalltalk.convertSelector(self.selector);
 			return smalltalk.convertSelector(self.selector);
 		} else {
 		} else {
@@ -912,7 +987,8 @@ smalltalk.method({
 selector: "temps",
 selector: "temps",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._deprecatedAPI();
 _st(self)._deprecatedAPI();
 $1=_st(self)._locals();
 $1=_st(self)._locals();
 return $1;
 return $1;
@@ -930,7 +1006,8 @@ smalltalk.method({
 selector: "constructor:",
 selector: "constructor:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var native=eval(aString);
 		var native=eval(aString);
 		return new native();
 		return new native();
 	;
 	;
@@ -944,7 +1021,8 @@ smalltalk.method({
 selector: "constructor:value:",
 selector: "constructor:value:",
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var native=eval(aString);
 		var native=eval(aString);
 		return new native(anObject);
 		return new native(anObject);
 	;
 	;
@@ -958,7 +1036,8 @@ smalltalk.method({
 selector: "constructor:value:value:",
 selector: "constructor:value:value:",
 fn: function (aString,anObject,anObject2){
 fn: function (aString,anObject,anObject2){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var native=eval(aString);
 		var native=eval(aString);
 		return new native(anObject,anObject2);
 		return new native(anObject,anObject2);
 	;
 	;
@@ -972,7 +1051,8 @@ smalltalk.method({
 selector: "constructor:value:value:value:",
 selector: "constructor:value:value:value:",
 fn: function (aString,anObject,anObject2,anObject3){
 fn: function (aString,anObject,anObject2,anObject3){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var native=eval(aString);
 		var native=eval(aString);
 		return new native(anObject,anObject2, anObject3);
 		return new native(anObject,anObject2, anObject3);
 	;
 	;
@@ -986,7 +1066,8 @@ smalltalk.method({
 selector: "exists:",
 selector: "exists:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		if(aString in window) {
 		if(aString in window) {
 			return true
 			return true
 		} else {
 		} else {

+ 162 - 81
js/Kernel-Methods.js

@@ -8,7 +8,8 @@ selector: "applyTo:arguments:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (anObject,aCollection){
 fn: function (anObject,aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.apply(anObject, aCollection);
+return smalltalk.withContext(function($ctx1) { 
+return self.apply(anObject, aCollection);
 return self}, function($ctx1) {$ctx1.fill(self,"applyTo:arguments:",{anObject:anObject,aCollection:aCollection},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"applyTo:arguments:",{anObject:anObject,aCollection:aCollection},smalltalk.BlockClosure)})},
 args: ["anObject", "aCollection"],
 args: ["anObject", "aCollection"],
 source: "applyTo: anObject arguments: aCollection\x0a\x09<return self.apply(anObject, aCollection)>",
 source: "applyTo: anObject arguments: aCollection\x0a\x09<return self.apply(anObject, aCollection)>",
@@ -24,7 +25,8 @@ selector: "asCompiledMethod:",
 category: 'converting',
 category: 'converting',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.method({selector:aString, fn:self});;
+return smalltalk.withContext(function($ctx1) { 
+return smalltalk.method({selector:aString, fn:self});;
 return self}, function($ctx1) {$ctx1.fill(self,"asCompiledMethod:",{aString:aString},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"asCompiledMethod:",{aString:aString},smalltalk.BlockClosure)})},
 args: ["aString"],
 args: ["aString"],
 source: "asCompiledMethod: aString\x0a\x09<return smalltalk.method({selector:aString, fn:self});>",
 source: "asCompiledMethod: aString\x0a\x09<return smalltalk.method({selector:aString, fn:self});>",
@@ -40,7 +42,8 @@ selector: "compiledSource",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.toString();
+return smalltalk.withContext(function($ctx1) { 
+return self.toString();
 return self}, function($ctx1) {$ctx1.fill(self,"compiledSource",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"compiledSource",{},smalltalk.BlockClosure)})},
 args: [],
 args: [],
 source: "compiledSource\x0a\x09<return self.toString()>",
 source: "compiledSource\x0a\x09<return self.toString()>",
@@ -56,7 +59,8 @@ selector: "currySelf",
 category: 'converting',
 category: 'converting',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		return function () {
 		return function () {
 			var args = [ this ];
 			var args = [ this ];
 			args.push.apply(args, arguments);
 			args.push.apply(args, arguments);
@@ -78,7 +82,8 @@ selector: "ensure:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
try{return self()}finally{aBlock._value()};
+return smalltalk.withContext(function($ctx1) { 
+try{return self()}finally{aBlock._value()};
 return self}, function($ctx1) {$ctx1.fill(self,"ensure:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"ensure:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 args: ["aBlock"],
 args: ["aBlock"],
 source: "ensure: aBlock\x0a\x09<try{return self()}finally{aBlock._value()}>",
 source: "ensure: aBlock\x0a\x09<try{return self()}finally{aBlock._value()}>",
@@ -95,7 +100,8 @@ category: 'timeout/interval',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ForkPool(){return smalltalk.ForkPool||(typeof ForkPool=="undefined"?nil:ForkPool)}
 function $ForkPool(){return smalltalk.ForkPool||(typeof ForkPool=="undefined"?nil:ForkPool)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st($ForkPool())._default())._fork_(self);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st($ForkPool())._default())._fork_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"fork",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fork",{},smalltalk.BlockClosure)})},
 args: [],
 args: [],
 source: "fork\x0a\x09ForkPool default fork: self",
 source: "fork\x0a\x09ForkPool default fork: self",
@@ -111,7 +117,8 @@ selector: "new",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return new self();
+return smalltalk.withContext(function($ctx1) { 
+return new self();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.BlockClosure)})},
 args: [],
 args: [],
 source: "new\x0a\x09\x22Use the receiver as a JS constructor.\x0a\x09*Do not* use this method to instanciate Smalltalk objects!\x22\x0a\x09<return new self()>",
 source: "new\x0a\x09\x22Use the receiver as a JS constructor.\x0a\x09*Do not* use this method to instanciate Smalltalk objects!\x22\x0a\x09<return new self()>",
@@ -127,7 +134,8 @@ selector: "newValue:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return new self(anObject);
+return smalltalk.withContext(function($ctx1) { 
+return new self(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:",{anObject:anObject},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:",{anObject:anObject},smalltalk.BlockClosure)})},
 args: ["anObject"],
 args: ["anObject"],
 source: "newValue: anObject\x0a\x09\x22Use the receiver as a JS constructor.\x0a\x09*Do not* use this method to instanciate Smalltalk objects!\x22\x0a\x09<return new self(anObject)>",
 source: "newValue: anObject\x0a\x09\x22Use the receiver as a JS constructor.\x0a\x09*Do not* use this method to instanciate Smalltalk objects!\x22\x0a\x09<return new self(anObject)>",
@@ -143,7 +151,8 @@ selector: "newValue:value:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (anObject,anObject2){
 fn: function (anObject,anObject2){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return new self(anObject, anObject2);
+return smalltalk.withContext(function($ctx1) { 
+return new self(anObject, anObject2);
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:",{anObject:anObject,anObject2:anObject2},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:",{anObject:anObject,anObject2:anObject2},smalltalk.BlockClosure)})},
 args: ["anObject", "anObject2"],
 args: ["anObject", "anObject2"],
 source: "newValue: anObject value: anObject2\x0a\x09\x22Use the receiver as a JS constructor.\x0a\x09*Do not* use this method to instanciate Smalltalk objects!\x22\x0a\x09<return new self(anObject, anObject2)>",
 source: "newValue: anObject value: anObject2\x0a\x09\x22Use the receiver as a JS constructor.\x0a\x09*Do not* use this method to instanciate Smalltalk objects!\x22\x0a\x09<return new self(anObject, anObject2)>",
@@ -159,7 +168,8 @@ selector: "newValue:value:value:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (anObject,anObject2,anObject3){
 fn: function (anObject,anObject2,anObject3){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return new self(anObject, anObject2,anObject3);
+return smalltalk.withContext(function($ctx1) { 
+return new self(anObject, anObject2,anObject3);
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:value:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:value:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3},smalltalk.BlockClosure)})},
 args: ["anObject", "anObject2", "anObject3"],
 args: ["anObject", "anObject2", "anObject3"],
 source: "newValue: anObject value: anObject2 value: anObject3\x0a\x09\x22Use the receiver as a JS constructor.\x0a\x09*Do not* use this method to instanciate Smalltalk objects!\x22\x0a\x09<return new self(anObject, anObject2,anObject3)>",
 source: "newValue: anObject value: anObject2 value: anObject3\x0a\x09\x22Use the receiver as a JS constructor.\x0a\x09*Do not* use this method to instanciate Smalltalk objects!\x22\x0a\x09<return new self(anObject, anObject2,anObject3)>",
@@ -175,7 +185,8 @@ selector: "numArgs",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.length;
+return smalltalk.withContext(function($ctx1) { 
+return self.length;
 return self}, function($ctx1) {$ctx1.fill(self,"numArgs",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"numArgs",{},smalltalk.BlockClosure)})},
 args: [],
 args: [],
 source: "numArgs\x0a\x09<return self.length>",
 source: "numArgs\x0a\x09<return self.length>",
@@ -192,10 +203,12 @@ category: 'error handling',
 fn: function (anErrorClass,aBlock){
 fn: function (anErrorClass,aBlock){
 var self=this;
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $1=_st(self)._try_catch_(self,(function(error){
 $1=_st(self)._try_catch_(self,(function(error){
 var smalltalkError;
 var smalltalkError;
-return smalltalk.withContext(function($ctx2) {
smalltalkError=_st(_st($Smalltalk())._current())._asSmalltalkException_(error);
+return smalltalk.withContext(function($ctx2) {
+smalltalkError=_st(_st($Smalltalk())._current())._asSmalltalkException_(error);
 smalltalkError;
 smalltalkError;
 $2=_st(smalltalkError)._isKindOf_(anErrorClass);
 $2=_st(smalltalkError)._isKindOf_(anErrorClass);
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
@@ -221,7 +234,8 @@ category: 'evaluating',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($Date())._millisecondsToRun_(self);
 $1=_st($Date())._millisecondsToRun_(self);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"timeToRun",{},smalltalk.BlockClosure)})},
 }, function($ctx1) {$ctx1.fill(self,"timeToRun",{},smalltalk.BlockClosure)})},
@@ -239,7 +253,8 @@ selector: "value",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self();;
+return smalltalk.withContext(function($ctx1) { 
+return self();;
 return self}, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.BlockClosure)})},
 args: [],
 args: [],
 source: "value\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<return self();>",
 source: "value\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<return self();>",
@@ -255,7 +270,8 @@ selector: "value:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (anArg){
 fn: function (anArg){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self(anArg);;
+return smalltalk.withContext(function($ctx1) { 
+return self(anArg);;
 return self}, function($ctx1) {$ctx1.fill(self,"value:",{anArg:anArg},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value:",{anArg:anArg},smalltalk.BlockClosure)})},
 args: ["anArg"],
 args: ["anArg"],
 source: "value: anArg\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<return self(anArg);>",
 source: "value: anArg\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<return self(anArg);>",
@@ -271,7 +287,8 @@ selector: "value:value:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (firstArg,secondArg){
 fn: function (firstArg,secondArg){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self(firstArg, secondArg);;
+return smalltalk.withContext(function($ctx1) { 
+return self(firstArg, secondArg);;
 return self}, function($ctx1) {$ctx1.fill(self,"value:value:",{firstArg:firstArg,secondArg:secondArg},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value:value:",{firstArg:firstArg,secondArg:secondArg},smalltalk.BlockClosure)})},
 args: ["firstArg", "secondArg"],
 args: ["firstArg", "secondArg"],
 source: "value: firstArg value: secondArg\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<return self(firstArg, secondArg);>",
 source: "value: firstArg value: secondArg\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<return self(firstArg, secondArg);>",
@@ -287,7 +304,8 @@ selector: "value:value:value:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (firstArg,secondArg,thirdArg){
 fn: function (firstArg,secondArg,thirdArg){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self(firstArg, secondArg, thirdArg);;
+return smalltalk.withContext(function($ctx1) { 
+return self(firstArg, secondArg, thirdArg);;
 return self}, function($ctx1) {$ctx1.fill(self,"value:value:value:",{firstArg:firstArg,secondArg:secondArg,thirdArg:thirdArg},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"value:value:value:",{firstArg:firstArg,secondArg:secondArg,thirdArg:thirdArg},smalltalk.BlockClosure)})},
 args: ["firstArg", "secondArg", "thirdArg"],
 args: ["firstArg", "secondArg", "thirdArg"],
 source: "value: firstArg value: secondArg value: thirdArg\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<return self(firstArg, secondArg, thirdArg);>",
 source: "value: firstArg value: secondArg value: thirdArg\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<return self(firstArg, secondArg, thirdArg);>",
@@ -303,7 +321,8 @@ selector: "valueWithInterval:",
 category: 'timeout/interval',
 category: 'timeout/interval',
 fn: function (aNumber){
 fn: function (aNumber){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var interval = setInterval(self, aNumber);
 		var interval = setInterval(self, aNumber);
 		return smalltalk.Timeout._on_(interval);
 		return smalltalk.Timeout._on_(interval);
 	;
 	;
@@ -322,7 +341,8 @@ selector: "valueWithPossibleArguments:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.apply(null, aCollection);;
+return smalltalk.withContext(function($ctx1) { 
+return self.apply(null, aCollection);;
 return self}, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection},smalltalk.BlockClosure)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "valueWithPossibleArguments: aCollection\x0a\x09<return self.apply(null, aCollection);>",
 source: "valueWithPossibleArguments: aCollection\x0a\x09<return self.apply(null, aCollection);>",
@@ -338,7 +358,8 @@ selector: "valueWithTimeout:",
 category: 'timeout/interval',
 category: 'timeout/interval',
 fn: function (aNumber){
 fn: function (aNumber){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var timeout = setTimeout(self, aNumber);
 		var timeout = setTimeout(self, aNumber);
 		return smalltalk.Timeout._on_(timeout);
 		return smalltalk.Timeout._on_(timeout);
 	;
 	;
@@ -357,8 +378,10 @@ selector: "whileFalse",
 category: 'controlling',
 category: 'controlling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._whileFalse_((function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._whileFalse_((function(){
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse",{},smalltalk.BlockClosure)})},
 args: [],
 args: [],
 source: "whileFalse\x0a\x09\x22inlined in the Compiler\x22\x0a\x09self whileFalse: []",
 source: "whileFalse\x0a\x09\x22inlined in the Compiler\x22\x0a\x09self whileFalse: []",
@@ -374,7 +397,8 @@ selector: "whileFalse:",
 category: 'controlling',
 category: 'controlling',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
while(!self()) {aBlock()};
+return smalltalk.withContext(function($ctx1) { 
+while(!self()) {aBlock()};
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 args: ["aBlock"],
 args: ["aBlock"],
 source: "whileFalse: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<while(!self()) {aBlock()}>",
 source: "whileFalse: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<while(!self()) {aBlock()}>",
@@ -390,8 +414,10 @@ selector: "whileTrue",
 category: 'controlling',
 category: 'controlling',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._whileTrue_((function(){
-return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._whileTrue_((function(){
+return smalltalk.withContext(function($ctx2) {
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue",{},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue",{},smalltalk.BlockClosure)})},
 args: [],
 args: [],
 source: "whileTrue\x0a\x09\x22inlined in the Compiler\x22\x0a\x09self whileTrue: []",
 source: "whileTrue\x0a\x09\x22inlined in the Compiler\x22\x0a\x09self whileTrue: []",
@@ -407,7 +433,8 @@ selector: "whileTrue:",
 category: 'controlling',
 category: 'controlling',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
while(self()) {aBlock()};
+return smalltalk.withContext(function($ctx1) { 
+while(self()) {aBlock()};
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue:",{aBlock:aBlock},smalltalk.BlockClosure)})},
 args: ["aBlock"],
 args: ["aBlock"],
 source: "whileTrue: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<while(self()) {aBlock()}>",
 source: "whileTrue: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<while(self()) {aBlock()}>",
@@ -427,7 +454,8 @@ selector: "arguments",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.args || [];
+return smalltalk.withContext(function($ctx1) { 
+return self.args || [];
 return self}, function($ctx1) {$ctx1.fill(self,"arguments",{},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"arguments",{},smalltalk.CompiledMethod)})},
 args: [],
 args: [],
 source: "arguments\x0a\x09<return self.args || []>",
 source: "arguments\x0a\x09<return self.args || []>",
@@ -443,7 +471,8 @@ selector: "category",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._basicAt_("category");
 $2=_st(self)._basicAt_("category");
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=_st(self)._defaultCategory();
 $1=_st(self)._defaultCategory();
@@ -467,7 +496,8 @@ category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 var oldCategory;
 var oldCategory;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 oldCategory=_st(self)._category();
 oldCategory=_st(self)._category();
 _st(self)._basicAt_put_("category",aString);
 _st(self)._basicAt_put_("category",aString);
 $1=_st(self)._methodClass();
 $1=_st(self)._methodClass();
@@ -476,9 +506,11 @@ $1;
 } else {
 } else {
 _st(_st(_st(self)._methodClass())._organization())._addElement_(aString);
 _st(_st(_st(self)._methodClass())._organization())._addElement_(aString);
 _st(_st(_st(_st(self)._methodClass())._methods())._select_((function(each){
 _st(_st(_st(_st(self)._methodClass())._methods())._select_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(each)._category()).__eq(oldCategory);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(each)._category()).__eq(oldCategory);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._ifEmpty_((function(){
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._ifEmpty_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(self)._methodClass())._organization())._removeElement_(oldCategory);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(_st(self)._methodClass())._organization())._removeElement_(oldCategory);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 };
 };
 return self}, function($ctx1) {$ctx1.fill(self,"category:",{aString:aString,oldCategory:oldCategory},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"category:",{aString:aString,oldCategory:oldCategory},smalltalk.CompiledMethod)})},
@@ -496,7 +528,8 @@ selector: "defaultCategory",
 category: 'defaults',
 category: 'defaults',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return "as yet unclassified";
+return smalltalk.withContext(function($ctx1) { 
+return "as yet unclassified";
 }, function($ctx1) {$ctx1.fill(self,"defaultCategory",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"defaultCategory",{},smalltalk.CompiledMethod)})},
 args: [],
 args: [],
 source: "defaultCategory\x0a\x09^ 'as yet unclassified'",
 source: "defaultCategory\x0a\x09^ 'as yet unclassified'",
@@ -512,7 +545,8 @@ selector: "fn",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("fn");
 $1=_st(self)._basicAt_("fn");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"fn",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"fn",{},smalltalk.CompiledMethod)})},
@@ -530,7 +564,8 @@ selector: "fn:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("fn",aBlock);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._basicAt_put_("fn",aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"fn:",{aBlock:aBlock},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fn:",{aBlock:aBlock},smalltalk.CompiledMethod)})},
 args: ["aBlock"],
 args: ["aBlock"],
 source: "fn: aBlock\x0a\x09self basicAt: 'fn' put: aBlock",
 source: "fn: aBlock\x0a\x09self basicAt: 'fn' put: aBlock",
@@ -546,7 +581,8 @@ selector: "messageSends",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("messageSends");
 $1=_st(self)._basicAt_("messageSends");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.CompiledMethod)})},
@@ -564,7 +600,8 @@ selector: "methodClass",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("methodClass");
 $1=_st(self)._basicAt_("methodClass");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodClass",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"methodClass",{},smalltalk.CompiledMethod)})},
@@ -582,7 +619,8 @@ selector: "protocol",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._category();
 $1=_st(self)._category();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.CompiledMethod)})},
@@ -600,7 +638,8 @@ selector: "referencedClasses",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("referencedClasses");
 $1=_st(self)._basicAt_("referencedClasses");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"referencedClasses",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"referencedClasses",{},smalltalk.CompiledMethod)})},
@@ -618,7 +657,8 @@ selector: "selector",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._basicAt_("selector");
 $1=_st(self)._basicAt_("selector");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.CompiledMethod)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.CompiledMethod)})},
@@ -636,7 +676,8 @@ selector: "selector:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("selector",aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._basicAt_put_("selector",aString);
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.CompiledMethod)})},
 args: ["aString"],
 args: ["aString"],
 source: "selector: aString\x0a\x09self basicAt: 'selector' put: aString",
 source: "selector: aString\x0a\x09self basicAt: 'selector' put: aString",
@@ -652,7 +693,8 @@ selector: "source",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._basicAt_("source");
 $2=_st(self)._basicAt_("source");
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 $1="";
@@ -675,7 +717,8 @@ selector: "source:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("source",aString);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._basicAt_put_("source",aString);
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.CompiledMethod)})},
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.CompiledMethod)})},
 args: ["aString"],
 args: ["aString"],
 source: "source: aString\x0a\x09self basicAt: 'source' put: aString",
 source: "source: aString\x0a\x09self basicAt: 'source' put: aString",
@@ -695,7 +738,8 @@ selector: "addWorker",
 category: 'private',
 category: 'private',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@worker"])._valueWithTimeout_((0));
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@worker"])._valueWithTimeout_((0));
 self["@poolSize"]=_st(self["@poolSize"]).__plus((1));
 self["@poolSize"]=_st(self["@poolSize"]).__plus((1));
 return self}, function($ctx1) {$ctx1.fill(self,"addWorker",{},smalltalk.ForkPool)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addWorker",{},smalltalk.ForkPool)})},
 args: [],
 args: [],
@@ -712,7 +756,8 @@ selector: "defaultMaxPoolSize",
 category: 'defaults',
 category: 'defaults',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._class())._defaultMaxPoolSize();
 $1=_st(_st(self)._class())._defaultMaxPoolSize();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool)})},
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool)})},
@@ -730,7 +775,8 @@ selector: "fork:",
 category: 'actions',
 category: 'actions',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self["@poolSize"]).__lt(_st(self)._maxPoolSize());
 $1=_st(self["@poolSize"]).__lt(_st(self)._maxPoolSize());
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(self)._addWorker();
 _st(self)._addWorker();
@@ -752,7 +798,8 @@ category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Queue(){return smalltalk.Queue||(typeof Queue=="undefined"?nil:Queue)}
 function $Queue(){return smalltalk.Queue||(typeof Queue=="undefined"?nil:Queue)}
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@poolSize"]=(0);
 self["@poolSize"]=(0);
 self["@queue"]=_st($Queue())._new();
 self["@queue"]=_st($Queue())._new();
 self["@worker"]=_st(self)._makeWorker();
 self["@worker"]=_st(self)._makeWorker();
@@ -773,22 +820,27 @@ fn: function (){
 var self=this;
 var self=this;
 var sentinel;
 var sentinel;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 sentinel=_st($Object())._new();
 sentinel=_st($Object())._new();
 $1=(function(){
 $1=(function(){
 var block;
 var block;
-return smalltalk.withContext(function($ctx2) {
self["@poolSize"]=_st(self["@poolSize"]).__minus((1));
+return smalltalk.withContext(function($ctx2) {
+self["@poolSize"]=_st(self["@poolSize"]).__minus((1));
 self["@poolSize"];
 self["@poolSize"];
 block=_st(self["@queue"])._frontIfAbsent_((function(){
 block=_st(self["@queue"])._frontIfAbsent_((function(){
-return smalltalk.withContext(function($ctx3) {
return sentinel;
+return smalltalk.withContext(function($ctx3) {
+return sentinel;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 block;
 block;
 $2=_st(block).__eq_eq(sentinel);
 $2=_st(block).__eq_eq(sentinel);
 if(! smalltalk.assert($2)){
 if(! smalltalk.assert($2)){
 return _st((function(){
 return _st((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(block)._value();
+return smalltalk.withContext(function($ctx3) {
+return _st(block)._value();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._ensure_((function(){
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._ensure_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._addWorker();
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._addWorker();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 };
 };
 }, function($ctx2) {$ctx2.fillBlock({block:block},$ctx1)})});
 }, function($ctx2) {$ctx2.fillBlock({block:block},$ctx1)})});
@@ -808,7 +860,8 @@ selector: "maxPoolSize",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@maxPoolSize"];
 $2=self["@maxPoolSize"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=_st(self)._defaultMaxPoolSize();
 $1=_st(self)._defaultMaxPoolSize();
@@ -831,7 +884,8 @@ selector: "maxPoolSize:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anInteger){
 fn: function (anInteger){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@maxPoolSize"]=anInteger;
+return smalltalk.withContext(function($ctx1) { 
+self["@maxPoolSize"]=anInteger;
 return self}, function($ctx1) {$ctx1.fill(self,"maxPoolSize:",{anInteger:anInteger},smalltalk.ForkPool)})},
 return self}, function($ctx1) {$ctx1.fill(self,"maxPoolSize:",{anInteger:anInteger},smalltalk.ForkPool)})},
 args: ["anInteger"],
 args: ["anInteger"],
 source: "maxPoolSize: anInteger\x0a\x09maxPoolSize := anInteger",
 source: "maxPoolSize: anInteger\x0a\x09maxPoolSize := anInteger",
@@ -849,7 +903,8 @@ selector: "default",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@default"];
 $2=self["@default"];
 if(($receiver = $2) == nil || $receiver == undefined){
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@default"]=_st(self)._new();
 self["@default"]=_st(self)._new();
@@ -873,7 +928,8 @@ selector: "defaultMaxPoolSize",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=(100);
 $1=(100);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool.klass)})},
@@ -891,7 +947,8 @@ selector: "resetDefault",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@default"]=nil;
+return smalltalk.withContext(function($ctx1) { 
+self["@default"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"resetDefault",{},smalltalk.ForkPool.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"resetDefault",{},smalltalk.ForkPool.klass)})},
 args: [],
 args: [],
 source: "resetDefault\x0a\x09default := nil",
 source: "resetDefault\x0a\x09default := nil",
@@ -910,7 +967,8 @@ selector: "arguments",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@arguments"];
 $1=self["@arguments"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"arguments",{},smalltalk.Message)})},
 }, function($ctx1) {$ctx1.fill(self,"arguments",{},smalltalk.Message)})},
@@ -928,7 +986,8 @@ selector: "arguments:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anArray){
 fn: function (anArray){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@arguments"]=anArray;
+return smalltalk.withContext(function($ctx1) { 
+self["@arguments"]=anArray;
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{anArray:anArray},smalltalk.Message)})},
 return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{anArray:anArray},smalltalk.Message)})},
 args: ["anArray"],
 args: ["anArray"],
 source: "arguments: anArray\x0a\x09arguments := anArray",
 source: "arguments: anArray\x0a\x09arguments := anArray",
@@ -944,7 +1003,8 @@ selector: "printOn:",
 category: 'printing',
 category: 'printing',
 fn: function (aStream){
 fn: function (aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("(");
 _st($1)._nextPutAll_("(");
@@ -965,7 +1025,8 @@ selector: "selector",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@selector"];
 $1=self["@selector"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.Message)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.Message)})},
@@ -983,7 +1044,8 @@ selector: "selector:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@selector"]=aString;
+return smalltalk.withContext(function($ctx1) { 
+self["@selector"]=aString;
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.Message)})},
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.Message)})},
 args: ["aString"],
 args: ["aString"],
 source: "selector: aString\x0a\x09selector := aString",
 source: "selector: aString\x0a\x09selector := aString",
@@ -999,7 +1061,8 @@ selector: "sendTo:",
 category: 'actions',
 category: 'actions',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anObject)._perform_withArguments_(_st(self)._selector(),_st(self)._arguments());
 $1=_st(anObject)._perform_withArguments_(_st(self)._selector(),_st(self)._arguments());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"sendTo:",{anObject:anObject},smalltalk.Message)})},
 }, function($ctx1) {$ctx1.fill(self,"sendTo:",{anObject:anObject},smalltalk.Message)})},
@@ -1018,7 +1081,8 @@ selector: "selector:arguments:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aString,anArray){
 fn: function (aString,anArray){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._selector_(aString);
 _st($2)._selector_(aString);
 _st($2)._arguments_(anArray);
 _st($2)._arguments_(anArray);
@@ -1043,7 +1107,8 @@ selector: "asString",
 category: 'converting',
 category: 'converting',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._isBlockContext();
 $2=_st(self)._isBlockContext();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $1=_st(_st("a block (in ").__comma(_st(_st(_st(_st(self)._methodContext())._receiver())._class())._printString())).__comma(")");
 $1=_st(_st("a block (in ").__comma(_st(_st(_st(_st(self)._methodContext())._receiver())._class())._printString())).__comma(")");
@@ -1066,7 +1131,8 @@ selector: "home",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.methodContext || self.homeContext;
+return smalltalk.withContext(function($ctx1) { 
+return self.methodContext || self.homeContext;
 return self}, function($ctx1) {$ctx1.fill(self,"home",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"home",{},smalltalk.MethodContext)})},
 args: [],
 args: [],
 source: "home\x0a\x09<return self.methodContext || self.homeContext>",
 source: "home\x0a\x09<return self.methodContext || self.homeContext>",
@@ -1082,7 +1148,8 @@ selector: "isBlockContext",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._selector())._isNil();
 $1=_st(_st(self)._selector())._isNil();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockContext",{},smalltalk.MethodContext)})},
 }, function($ctx1) {$ctx1.fill(self,"isBlockContext",{},smalltalk.MethodContext)})},
@@ -1100,7 +1167,8 @@ selector: "locals",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.locals;
+return smalltalk.withContext(function($ctx1) { 
+return self.locals;
 return self}, function($ctx1) {$ctx1.fill(self,"locals",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"locals",{},smalltalk.MethodContext)})},
 args: [],
 args: [],
 source: "locals\x0a\x09<return self.locals>",
 source: "locals\x0a\x09<return self.locals>",
@@ -1116,7 +1184,8 @@ selector: "method",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(_st(self)._methodContext())._receiver())._class())._lookupSelector_(_st(_st(self)._methodContext())._selector());
 $1=_st(_st(_st(_st(self)._methodContext())._receiver())._class())._lookupSelector_(_st(_st(self)._methodContext())._selector());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodContext)})},
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodContext)})},
@@ -1134,7 +1203,8 @@ selector: "methodContext",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=_st(self)._isBlockContext();
 $1=_st(self)._isBlockContext();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 $2=self;
 $2=self;
@@ -1157,7 +1227,8 @@ selector: "outerContext",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.homeContext;
+return smalltalk.withContext(function($ctx1) { 
+return self.homeContext;
 return self}, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.MethodContext)})},
 args: [],
 args: [],
 source: "outerContext\x0a\x09<return self.homeContext>",
 source: "outerContext\x0a\x09<return self.homeContext>",
@@ -1173,7 +1244,8 @@ selector: "pc",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.pc;
+return smalltalk.withContext(function($ctx1) { 
+return self.pc;
 return self}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.MethodContext)})},
 args: [],
 args: [],
 source: "pc\x0a\x09<return self.pc>",
 source: "pc\x0a\x09<return self.pc>",
@@ -1189,7 +1261,8 @@ selector: "printOn:",
 category: 'printing',
 category: 'printing',
 fn: function (aStream){
 fn: function (aStream){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 $1=aStream;
 _st($1)._nextPutAll_("(");
 _st($1)._nextPutAll_("(");
@@ -1210,7 +1283,8 @@ selector: "receiver",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.receiver;
+return smalltalk.withContext(function($ctx1) { 
+return self.receiver;
 return self}, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.MethodContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.MethodContext)})},
 args: [],
 args: [],
 source: "receiver\x0a\x09<return self.receiver>",
 source: "receiver\x0a\x09<return self.receiver>",
@@ -1226,7 +1300,8 @@ selector: "selector",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		if(self.selector) {
 		if(self.selector) {
 			return smalltalk.convertSelector(self.selector);
 			return smalltalk.convertSelector(self.selector);
 		} else {
 		} else {
@@ -1248,7 +1323,8 @@ selector: "temps",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._deprecatedAPI();
 _st(self)._deprecatedAPI();
 $1=_st(self)._locals();
 $1=_st(self)._locals();
 return $1;
 return $1;
@@ -1272,7 +1348,8 @@ selector: "constructor:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var native=eval(aString);
 		var native=eval(aString);
 		return new native();
 		return new native();
 	;
 	;
@@ -1291,7 +1368,8 @@ selector: "constructor:value:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aString,anObject){
 fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var native=eval(aString);
 		var native=eval(aString);
 		return new native(anObject);
 		return new native(anObject);
 	;
 	;
@@ -1310,7 +1388,8 @@ selector: "constructor:value:value:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aString,anObject,anObject2){
 fn: function (aString,anObject,anObject2){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var native=eval(aString);
 		var native=eval(aString);
 		return new native(anObject,anObject2);
 		return new native(anObject,anObject2);
 	;
 	;
@@ -1329,7 +1408,8 @@ selector: "constructor:value:value:value:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aString,anObject,anObject2,anObject3){
 fn: function (aString,anObject,anObject2,anObject3){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		var native=eval(aString);
 		var native=eval(aString);
 		return new native(anObject,anObject2, anObject3);
 		return new native(anObject,anObject2, anObject3);
 	;
 	;
@@ -1348,7 +1428,8 @@ selector: "exists:",
 category: 'testing',
 category: 'testing',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 		if(aString in window) {
 		if(aString in window) {
 			return true
 			return true
 		} else {
 		} else {

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 208 - 104
js/Kernel-Objects.deploy.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 208 - 104
js/Kernel-Objects.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 282 - 141
js/Kernel-Tests.deploy.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 282 - 141
js/Kernel-Tests.js


+ 24 - 12
js/Kernel-Transcript.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "clear",
 selector: "clear",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.ConsoleTranscript)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.ConsoleTranscript)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ConsoleTranscript);
 smalltalk.ConsoleTranscript);
 
 
@@ -16,7 +17,8 @@ smalltalk.method({
 selector: "cr",
 selector: "cr",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"cr",{},smalltalk.ConsoleTranscript)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"cr",{},smalltalk.ConsoleTranscript)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ConsoleTranscript);
 smalltalk.ConsoleTranscript);
 
 
@@ -26,7 +28,8 @@ smalltalk.method({
 selector: "open",
 selector: "open",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.ConsoleTranscript)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.ConsoleTranscript)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ConsoleTranscript);
 smalltalk.ConsoleTranscript);
 
 
@@ -36,7 +39,8 @@ smalltalk.method({
 selector: "show:",
 selector: "show:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
console.log(String(string._asString()));
+return smalltalk.withContext(function($ctx1) { 
+console.log(String(string._asString()));
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.ConsoleTranscript)})},
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.ConsoleTranscript)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ConsoleTranscript);
 smalltalk.ConsoleTranscript);
@@ -49,7 +53,8 @@ selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
-return smalltalk.withContext(function($ctx1) { 
_st($Transcript())._register_(_st(self)._new());
+return smalltalk.withContext(function($ctx1) { 
+_st($Transcript())._register_(_st(self)._new());
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ConsoleTranscript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ConsoleTranscript.klass)})},
 messageSends: ["register:", "new"]}),
 messageSends: ["register:", "new"]}),
 smalltalk.ConsoleTranscript.klass);
 smalltalk.ConsoleTranscript.klass);
@@ -64,7 +69,8 @@ smalltalk.method({
 selector: "clear",
 selector: "clear",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._clear();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._current())._clear();
 return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.Transcript.klass)})},
 messageSends: ["clear", "current"]}),
 messageSends: ["clear", "current"]}),
 smalltalk.Transcript.klass);
 smalltalk.Transcript.klass);
@@ -76,7 +82,8 @@ selector: "cr",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._show_(_st($String())._cr());
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._current())._show_(_st($String())._cr());
 return self}, function($ctx1) {$ctx1.fill(self,"cr",{},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"cr",{},smalltalk.Transcript.klass)})},
 messageSends: ["show:", "cr", "current"]}),
 messageSends: ["show:", "cr", "current"]}),
 smalltalk.Transcript.klass);
 smalltalk.Transcript.klass);
@@ -87,7 +94,8 @@ smalltalk.method({
 selector: "current",
 selector: "current",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@current"];
 $1=self["@current"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"current",{},smalltalk.Transcript.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"current",{},smalltalk.Transcript.klass)})},
@@ -100,7 +108,8 @@ smalltalk.method({
 selector: "new",
 selector: "new",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Transcript.klass)})},
 messageSends: ["shouldNotImplement"]}),
 messageSends: ["shouldNotImplement"]}),
 smalltalk.Transcript.klass);
 smalltalk.Transcript.klass);
@@ -111,7 +120,8 @@ smalltalk.method({
 selector: "open",
 selector: "open",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._open();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._current())._open();
 return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.Transcript.klass)})},
 messageSends: ["open", "current"]}),
 messageSends: ["open", "current"]}),
 smalltalk.Transcript.klass);
 smalltalk.Transcript.klass);
@@ -122,7 +132,8 @@ smalltalk.method({
 selector: "register:",
 selector: "register:",
 fn: function (aTranscript){
 fn: function (aTranscript){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@current"]=aTranscript;
+return smalltalk.withContext(function($ctx1) { 
+self["@current"]=aTranscript;
 return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript},smalltalk.Transcript.klass)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Transcript.klass);
 smalltalk.Transcript.klass);
@@ -133,7 +144,8 @@ smalltalk.method({
 selector: "show:",
 selector: "show:",
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._show_(anObject);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._current())._show_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.Transcript.klass)})},
 messageSends: ["show:", "current"]}),
 messageSends: ["show:", "current"]}),
 smalltalk.Transcript.klass);
 smalltalk.Transcript.klass);

+ 24 - 12
js/Kernel-Transcript.js

@@ -7,7 +7,8 @@ selector: "clear",
 category: 'printing',
 category: 'printing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.ConsoleTranscript)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.ConsoleTranscript)})},
 args: [],
 args: [],
 source: "clear\x0a\x09\x22no op\x22",
 source: "clear\x0a\x09\x22no op\x22",
 messageSends: [],
 messageSends: [],
@@ -22,7 +23,8 @@ selector: "cr",
 category: 'printing',
 category: 'printing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"cr",{},smalltalk.ConsoleTranscript)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"cr",{},smalltalk.ConsoleTranscript)})},
 args: [],
 args: [],
 source: "cr\x0a\x09\x22no op\x22",
 source: "cr\x0a\x09\x22no op\x22",
 messageSends: [],
 messageSends: [],
@@ -37,7 +39,8 @@ selector: "open",
 category: 'actions',
 category: 'actions',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.ConsoleTranscript)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.ConsoleTranscript)})},
 args: [],
 args: [],
 source: "open",
 source: "open",
 messageSends: [],
 messageSends: [],
@@ -52,7 +55,8 @@ selector: "show:",
 category: 'printing',
 category: 'printing',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
console.log(String(string._asString()));
+return smalltalk.withContext(function($ctx1) { 
+console.log(String(string._asString()));
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.ConsoleTranscript)})},
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.ConsoleTranscript)})},
 args: ["anObject"],
 args: ["anObject"],
 source: "show: anObject\x0a\x09<console.log(String(string._asString()))>",
 source: "show: anObject\x0a\x09<console.log(String(string._asString()))>",
@@ -70,7 +74,8 @@ category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
-return smalltalk.withContext(function($ctx1) { 
_st($Transcript())._register_(_st(self)._new());
+return smalltalk.withContext(function($ctx1) { 
+_st($Transcript())._register_(_st(self)._new());
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ConsoleTranscript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ConsoleTranscript.klass)})},
 args: [],
 args: [],
 source: "initialize\x0a\x09Transcript register: self new",
 source: "initialize\x0a\x09Transcript register: self new",
@@ -90,7 +95,8 @@ selector: "clear",
 category: 'printing',
 category: 'printing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._clear();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._current())._clear();
 return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.Transcript.klass)})},
 args: [],
 args: [],
 source: "clear\x0a\x09self current clear",
 source: "clear\x0a\x09self current clear",
@@ -107,7 +113,8 @@ category: 'printing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._show_(_st($String())._cr());
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._current())._show_(_st($String())._cr());
 return self}, function($ctx1) {$ctx1.fill(self,"cr",{},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"cr",{},smalltalk.Transcript.klass)})},
 args: [],
 args: [],
 source: "cr\x0a\x09self current show: String cr",
 source: "cr\x0a\x09self current show: String cr",
@@ -123,7 +130,8 @@ selector: "current",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@current"];
 $1=self["@current"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"current",{},smalltalk.Transcript.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"current",{},smalltalk.Transcript.klass)})},
@@ -141,7 +149,8 @@ selector: "new",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Transcript.klass)})},
 args: [],
 args: [],
 source: "new\x0a\x09self shouldNotImplement",
 source: "new\x0a\x09self shouldNotImplement",
@@ -157,7 +166,8 @@ selector: "open",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._open();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._current())._open();
 return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.Transcript.klass)})},
 args: [],
 args: [],
 source: "open\x0a\x09self current open",
 source: "open\x0a\x09self current open",
@@ -173,7 +183,8 @@ selector: "register:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aTranscript){
 fn: function (aTranscript){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@current"]=aTranscript;
+return smalltalk.withContext(function($ctx1) { 
+self["@current"]=aTranscript;
 return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript},smalltalk.Transcript.klass)})},
 args: ["aTranscript"],
 args: ["aTranscript"],
 source: "register: aTranscript\x0a\x09current := aTranscript",
 source: "register: aTranscript\x0a\x09current := aTranscript",
@@ -189,7 +200,8 @@ selector: "show:",
 category: 'printing',
 category: 'printing',
 fn: function (anObject){
 fn: function (anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._show_(anObject);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._current())._show_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.Transcript.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.Transcript.klass)})},
 args: ["anObject"],
 args: ["anObject"],
 source: "show: anObject\x0a\x09self current show: anObject",
 source: "show: anObject\x0a\x09self current show: anObject",

+ 98 - 49
js/SUnit-Tests.deploy.js

@@ -7,7 +7,8 @@ selector: "setUp",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
-return smalltalk.withContext(function($ctx1) { 
self["@empty"]=_st($Set())._new();
+return smalltalk.withContext(function($ctx1) { 
+self["@empty"]=_st($Set())._new();
 self["@full"]=_st($Set())._with_with_((5),"abc");
 self["@full"]=_st($Set())._with_with_((5),"abc");
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.ExampleSetTest)})},
 messageSends: ["new", "with:with:"]}),
 messageSends: ["new", "with:with:"]}),
@@ -19,7 +20,8 @@ smalltalk.method({
 selector: "testAdd",
 selector: "testAdd",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@empty"])._add_((5));
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@empty"])._add_((5));
 _st(self)._assert_(_st(self["@empty"])._includes_((5)));
 _st(self)._assert_(_st(self["@empty"])._includes_((5)));
 return self}, function($ctx1) {$ctx1.fill(self,"testAdd",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAdd",{},smalltalk.ExampleSetTest)})},
 messageSends: ["add:", "assert:", "includes:"]}),
 messageSends: ["add:", "assert:", "includes:"]}),
@@ -31,7 +33,8 @@ smalltalk.method({
 selector: "testGrow",
 selector: "testGrow",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@empty"])._addAll_(_st((1))._to_((100)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@empty"])._addAll_(_st((1))._to_((100)));
 _st(self)._assert_equals_(_st(self["@empty"])._size(),(100));
 _st(self)._assert_equals_(_st(self["@empty"])._size(),(100));
 return self}, function($ctx1) {$ctx1.fill(self,"testGrow",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testGrow",{},smalltalk.ExampleSetTest)})},
 messageSends: ["addAll:", "to:", "assert:equals:", "size"]}),
 messageSends: ["addAll:", "to:", "assert:equals:", "size"]}),
@@ -44,11 +47,14 @@ selector: "testIllegal",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@empty"])._at_((5));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_raise_((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@empty"])._at_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@empty"])._at_put_((5),"abc");
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@empty"])._at_put_((5),"abc");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 return self}, function($ctx1) {$ctx1.fill(self,"testIllegal",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testIllegal",{},smalltalk.ExampleSetTest)})},
 messageSends: ["should:raise:", "at:", "at:put:"]}),
 messageSends: ["should:raise:", "at:", "at:put:"]}),
@@ -60,7 +66,8 @@ smalltalk.method({
 selector: "testIncludes",
 selector: "testIncludes",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(self["@full"])._includes_((5)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st(self["@full"])._includes_((5)));
 _st(self)._assert_(_st(self["@full"])._includes_("abc"));
 _st(self)._assert_(_st(self["@full"])._includes_("abc"));
 return self}, function($ctx1) {$ctx1.fill(self,"testIncludes",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testIncludes",{},smalltalk.ExampleSetTest)})},
 messageSends: ["assert:", "includes:"]}),
 messageSends: ["assert:", "includes:"]}),
@@ -72,7 +79,8 @@ smalltalk.method({
 selector: "testOccurrences",
 selector: "testOccurrences",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self["@empty"])._occurrencesOf_((0)),(0));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self["@empty"])._occurrencesOf_((0)),(0));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self["@full"])._add_((5));
 _st(self["@full"])._add_((5));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
@@ -86,7 +94,8 @@ smalltalk.method({
 selector: "testRemove",
 selector: "testRemove",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@full"])._remove_((5));
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@full"])._remove_((5));
 _st(self)._assert_(_st(self["@full"])._includes_("abc"));
 _st(self)._assert_(_st(self["@full"])._includes_("abc"));
 _st(self)._deny_(_st(self["@full"])._includes_((5)));
 _st(self)._deny_(_st(self["@full"])._includes_((5)));
 return self}, function($ctx1) {$ctx1.fill(self,"testRemove",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testRemove",{},smalltalk.ExampleSetTest)})},
@@ -102,10 +111,12 @@ smalltalk.method({
 selector: "fakeError",
 selector: "fakeError",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
self["@flag"]="ok";
+return smalltalk.withContext(function($ctx2) {
+self["@flag"]="ok";
 self["@flag"];
 self["@flag"];
 return _st(self)._error_("Intentional");
 return _st(self)._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
@@ -119,10 +130,12 @@ smalltalk.method({
 selector: "fakeErrorFailingInTearDown",
 selector: "fakeErrorFailingInTearDown",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._error_("Intentional");
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeErrorFailingInTearDown",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fakeErrorFailingInTearDown",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "error:"]}),
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "error:"]}),
@@ -134,10 +147,12 @@ smalltalk.method({
 selector: "fakeFailure",
 selector: "fakeFailure",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
self["@flag"]="ok";
+return smalltalk.withContext(function($ctx2) {
+self["@flag"]="ok";
 self["@flag"];
 self["@flag"];
 return _st(self)._assert_(false);
 return _st(self)._assert_(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
@@ -151,11 +166,14 @@ smalltalk.method({
 selector: "fakeMultipleTimeoutFailing",
 selector: "fakeMultipleTimeoutFailing",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._timeout_((100));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._timeout_((100));
 _st(_st(self)._async_((function(){
 _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._timeout_((5));
+return smalltalk.withContext(function($ctx2) {
+_st(self)._timeout_((5));
 return _st(_st(self)._async_((function(){
 return _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutFailing",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutFailing",{},smalltalk.SUnitAsyncTest)})},
@@ -168,11 +186,14 @@ smalltalk.method({
 selector: "fakeMultipleTimeoutPassing",
 selector: "fakeMultipleTimeoutPassing",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._timeout_((10));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._timeout_((10));
 _st(_st(self)._async_((function(){
 _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._timeout_((20));
+return smalltalk.withContext(function($ctx2) {
+_st(self)._timeout_((20));
 return _st(_st(self)._async_((function(){
 return _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutPassing",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutPassing",{},smalltalk.SUnitAsyncTest)})},
@@ -185,9 +206,11 @@ smalltalk.method({
 selector: "fakeTimeout",
 selector: "fakeTimeout",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._timeout_((4));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._timeout_((4));
 _st(_st(self)._async_((function(){
 _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "finished"]}),
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "finished"]}),
@@ -199,9 +222,11 @@ smalltalk.method({
 selector: "selectorSetOf:",
 selector: "selectorSetOf:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(aCollection)._collect_((function(each){
 $1=_st(_st(aCollection)._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._selector();
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._selector();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selectorSetOf:",{aCollection:aCollection},smalltalk.SUnitAsyncTest)})},
 }, function($ctx1) {$ctx1.fill(self,"selectorSetOf:",{aCollection:aCollection},smalltalk.SUnitAsyncTest)})},
@@ -214,7 +239,8 @@ smalltalk.method({
 selector: "setUp",
 selector: "setUp",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="ok";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="ok";
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.SUnitAsyncTest)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.SUnitAsyncTest);
 smalltalk.SUnitAsyncTest);
@@ -225,7 +251,8 @@ smalltalk.method({
 selector: "tearDown",
 selector: "tearDown",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_("ok",self["@flag"]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_("ok",self["@flag"]);
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["assert:equals:"]}),
 messageSends: ["assert:equals:"]}),
 smalltalk.SUnitAsyncTest);
 smalltalk.SUnitAsyncTest);
@@ -239,20 +266,24 @@ var self=this;
 var suite,runner,result,assertBlock;
 var suite,runner,result,assertBlock;
 function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteRunner=="undefined"?nil:TestSuiteRunner)}
 function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteRunner=="undefined"?nil:TestSuiteRunner)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 suite=_st(["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"])._collect_((function(each){
 suite=_st(["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"])._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._class())._selector_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 runner=_st($TestSuiteRunner())._on_(suite);
 runner=_st($TestSuiteRunner())._on_(suite);
 _st(self)._timeout_((200));
 _st(self)._timeout_((200));
 result=_st(runner)._result();
 result=_st(runner)._result();
 assertBlock=_st(self)._async_((function(){
 assertBlock=_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._errors()),_st(["fakeError"])._asSet());
+return smalltalk.withContext(function($ctx2) {
+_st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._errors()),_st(["fakeError"])._asSet());
 _st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._failures()),_st(["fakeErrorFailingInTearDown", "fakeFailure"])._asSet());
 _st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._failures()),_st(["fakeErrorFailingInTearDown", "fakeFailure"])._asSet());
 return _st(self)._finished();
 return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(ann)._result()).__eq_eq(result);
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(ann)._result()).__eq_eq(result);
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st(_st(result)._runs()).__eq(_st(result)._total());
 $2=_st(_st(result)._runs()).__eq(_st(result)._total());
 return _st($2)._ifTrue_(assertBlock);
 return _st($2)._ifTrue_(assertBlock);
@@ -270,14 +301,19 @@ selector: "testAsyncNeedsTimeout",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._async_((function(){
-return smalltalk.withContext(function($ctx3) {
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_raise_((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._async_((function(){
+return smalltalk.withContext(function($ctx3) {
+}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 _st(self)._timeout_((0));
 _st(self)._timeout_((0));
 _st(self)._shouldnt_raise_((function(){
 _st(self)._shouldnt_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._async_((function(){
-return smalltalk.withContext(function($ctx3) {
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._async_((function(){
+return smalltalk.withContext(function($ctx3) {
+}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 _st(self)._finished();
 _st(self)._finished();
 return self}, function($ctx1) {$ctx1.fill(self,"testAsyncNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAsyncNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
@@ -291,12 +327,15 @@ selector: "testFinishedNeedsTimeout",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_raise_((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 _st(self)._timeout_((0));
 _st(self)._timeout_((0));
 _st(self)._shouldnt_raise_((function(){
 _st(self)._shouldnt_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 return self}, function($ctx1) {$ctx1.fill(self,"testFinishedNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testFinishedNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["should:raise:", "finished", "timeout:", "shouldnt:raise:"]}),
 messageSends: ["should:raise:", "finished", "timeout:", "shouldnt:raise:"]}),
@@ -308,7 +347,8 @@ smalltalk.method({
 selector: "testIsAsyncReturnsCorrectValues",
 selector: "testIsAsyncReturnsCorrectValues",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._deny_(_st(self)._isAsync());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._deny_(_st(self)._isAsync());
 _st(self)._timeout_((0));
 _st(self)._timeout_((0));
 _st(self)._assert_(_st(self)._isAsync());
 _st(self)._assert_(_st(self)._isAsync());
 _st(self)._finished();
 _st(self)._finished();
@@ -323,10 +363,12 @@ smalltalk.method({
 selector: "testPass",
 selector: "testPass",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_(true);
+return smalltalk.withContext(function($ctx2) {
+_st(self)._assert_(true);
 _st(self)._finished();
 _st(self)._finished();
 self["@flag"]="ok";
 self["@flag"]="ok";
 return self["@flag"];
 return self["@flag"];
@@ -345,20 +387,24 @@ var suite,runner,result,assertBlock;
 function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteRunner=="undefined"?nil:TestSuiteRunner)}
 function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteRunner=="undefined"?nil:TestSuiteRunner)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 suite=_st(["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"])._collect_((function(each){
 suite=_st(["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"])._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._class())._selector_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 runner=_st($TestSuiteRunner())._on_(suite);
 runner=_st($TestSuiteRunner())._on_(suite);
 _st(self)._timeout_((200));
 _st(self)._timeout_((200));
 result=_st(runner)._result();
 result=_st(runner)._result();
 assertBlock=_st(self)._async_((function(){
 assertBlock=_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._errors()),_st($Set())._new());
+return smalltalk.withContext(function($ctx2) {
+_st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._errors()),_st($Set())._new());
 _st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._failures()),_st(["fakeMultipleTimeoutFailing", "fakeTimeout"])._asSet());
 _st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._failures()),_st(["fakeMultipleTimeoutFailing", "fakeTimeout"])._asSet());
 return _st(self)._finished();
 return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(ann)._result()).__eq_eq(result);
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(ann)._result()).__eq_eq(result);
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st(_st(result)._runs()).__eq(_st(result)._total());
 $2=_st(_st(result)._runs()).__eq(_st(result)._total());
 return _st($2)._ifTrue_(assertBlock);
 return _st($2)._ifTrue_(assertBlock);
@@ -376,11 +422,13 @@ selector: "testTwoAsyncPassesWithFinishedOnlyOneIsRun",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var x;
 var x;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 x=(0);
 x=(0);
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._finished();
+return smalltalk.withContext(function($ctx2) {
+_st(self)._finished();
 self["@flag"]="ok";
 self["@flag"]="ok";
 self["@flag"];
 self["@flag"];
 x=_st(x).__plus((1));
 x=_st(x).__plus((1));
@@ -388,7 +436,8 @@ x;
 return _st(self)._assert_equals_(x,(1));
 return _st(self)._assert_equals_(x,(1));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._finished();
+return smalltalk.withContext(function($ctx2) {
+_st(self)._finished();
 self["@flag"]="ok";
 self["@flag"]="ok";
 self["@flag"];
 self["@flag"];
 x=_st(x).__plus((1));
 x=_st(x).__plus((1));

+ 98 - 49
js/SUnit-Tests.js

@@ -9,7 +9,8 @@ category: 'running',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
-return smalltalk.withContext(function($ctx1) { 
self["@empty"]=_st($Set())._new();
+return smalltalk.withContext(function($ctx1) { 
+self["@empty"]=_st($Set())._new();
 self["@full"]=_st($Set())._with_with_((5),"abc");
 self["@full"]=_st($Set())._with_with_((5),"abc");
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.ExampleSetTest)})},
 args: [],
 args: [],
@@ -26,7 +27,8 @@ selector: "testAdd",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@empty"])._add_((5));
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@empty"])._add_((5));
 _st(self)._assert_(_st(self["@empty"])._includes_((5)));
 _st(self)._assert_(_st(self["@empty"])._includes_((5)));
 return self}, function($ctx1) {$ctx1.fill(self,"testAdd",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAdd",{},smalltalk.ExampleSetTest)})},
 args: [],
 args: [],
@@ -43,7 +45,8 @@ selector: "testGrow",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@empty"])._addAll_(_st((1))._to_((100)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@empty"])._addAll_(_st((1))._to_((100)));
 _st(self)._assert_equals_(_st(self["@empty"])._size(),(100));
 _st(self)._assert_equals_(_st(self["@empty"])._size(),(100));
 return self}, function($ctx1) {$ctx1.fill(self,"testGrow",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testGrow",{},smalltalk.ExampleSetTest)})},
 args: [],
 args: [],
@@ -61,11 +64,14 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@empty"])._at_((5));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_raise_((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@empty"])._at_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@empty"])._at_put_((5),"abc");
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@empty"])._at_put_((5),"abc");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 return self}, function($ctx1) {$ctx1.fill(self,"testIllegal",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testIllegal",{},smalltalk.ExampleSetTest)})},
 args: [],
 args: [],
@@ -82,7 +88,8 @@ selector: "testIncludes",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(self["@full"])._includes_((5)));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st(self["@full"])._includes_((5)));
 _st(self)._assert_(_st(self["@full"])._includes_("abc"));
 _st(self)._assert_(_st(self["@full"])._includes_("abc"));
 return self}, function($ctx1) {$ctx1.fill(self,"testIncludes",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testIncludes",{},smalltalk.ExampleSetTest)})},
 args: [],
 args: [],
@@ -99,7 +106,8 @@ selector: "testOccurrences",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self["@empty"])._occurrencesOf_((0)),(0));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_(_st(self["@empty"])._occurrencesOf_((0)),(0));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self["@full"])._add_((5));
 _st(self["@full"])._add_((5));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
@@ -118,7 +126,8 @@ selector: "testRemove",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@full"])._remove_((5));
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@full"])._remove_((5));
 _st(self)._assert_(_st(self["@full"])._includes_("abc"));
 _st(self)._assert_(_st(self["@full"])._includes_("abc"));
 _st(self)._deny_(_st(self["@full"])._includes_((5)));
 _st(self)._deny_(_st(self["@full"])._includes_((5)));
 return self}, function($ctx1) {$ctx1.fill(self,"testRemove",{},smalltalk.ExampleSetTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testRemove",{},smalltalk.ExampleSetTest)})},
@@ -139,10 +148,12 @@ selector: "fakeError",
 category: 'helpers',
 category: 'helpers',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
self["@flag"]="ok";
+return smalltalk.withContext(function($ctx2) {
+self["@flag"]="ok";
 self["@flag"];
 self["@flag"];
 return _st(self)._error_("Intentional");
 return _st(self)._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
@@ -161,10 +172,12 @@ selector: "fakeErrorFailingInTearDown",
 category: 'helpers',
 category: 'helpers',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._error_("Intentional");
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeErrorFailingInTearDown",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fakeErrorFailingInTearDown",{},smalltalk.SUnitAsyncTest)})},
 args: [],
 args: [],
@@ -181,10 +194,12 @@ selector: "fakeFailure",
 category: 'helpers',
 category: 'helpers',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
self["@flag"]="ok";
+return smalltalk.withContext(function($ctx2) {
+self["@flag"]="ok";
 self["@flag"];
 self["@flag"];
 return _st(self)._assert_(false);
 return _st(self)._assert_(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
@@ -203,11 +218,14 @@ selector: "fakeMultipleTimeoutFailing",
 category: 'helpers',
 category: 'helpers',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._timeout_((100));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._timeout_((100));
 _st(_st(self)._async_((function(){
 _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._timeout_((5));
+return smalltalk.withContext(function($ctx2) {
+_st(self)._timeout_((5));
 return _st(_st(self)._async_((function(){
 return _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutFailing",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutFailing",{},smalltalk.SUnitAsyncTest)})},
@@ -225,11 +243,14 @@ selector: "fakeMultipleTimeoutPassing",
 category: 'helpers',
 category: 'helpers',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._timeout_((10));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._timeout_((10));
 _st(_st(self)._async_((function(){
 _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._timeout_((20));
+return smalltalk.withContext(function($ctx2) {
+_st(self)._timeout_((20));
 return _st(_st(self)._async_((function(){
 return _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutPassing",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutPassing",{},smalltalk.SUnitAsyncTest)})},
@@ -247,9 +268,11 @@ selector: "fakeTimeout",
 category: 'helpers',
 category: 'helpers',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._timeout_((4));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._timeout_((4));
 _st(_st(self)._async_((function(){
 _st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{},smalltalk.SUnitAsyncTest)})},
 args: [],
 args: [],
@@ -266,9 +289,11 @@ selector: "selectorSetOf:",
 category: 'private',
 category: 'private',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(aCollection)._collect_((function(each){
 $1=_st(_st(aCollection)._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._selector();
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._selector();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selectorSetOf:",{aCollection:aCollection},smalltalk.SUnitAsyncTest)})},
 }, function($ctx1) {$ctx1.fill(self,"selectorSetOf:",{aCollection:aCollection},smalltalk.SUnitAsyncTest)})},
@@ -286,7 +311,8 @@ selector: "setUp",
 category: 'running',
 category: 'running',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="ok";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="ok";
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.SUnitAsyncTest)})},
 args: [],
 args: [],
 source: "setUp\x0a\x09flag := 'ok'",
 source: "setUp\x0a\x09flag := 'ok'",
@@ -302,7 +328,8 @@ selector: "tearDown",
 category: 'running',
 category: 'running',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_("ok",self["@flag"]);
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_equals_("ok",self["@flag"]);
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.SUnitAsyncTest)})},
 args: [],
 args: [],
 source: "tearDown\x0a\x09self assert: 'ok' equals: flag",
 source: "tearDown\x0a\x09self assert: 'ok' equals: flag",
@@ -321,20 +348,24 @@ var self=this;
 var suite,runner,result,assertBlock;
 var suite,runner,result,assertBlock;
 function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteRunner=="undefined"?nil:TestSuiteRunner)}
 function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteRunner=="undefined"?nil:TestSuiteRunner)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 suite=_st(["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"])._collect_((function(each){
 suite=_st(["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"])._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._class())._selector_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 runner=_st($TestSuiteRunner())._on_(suite);
 runner=_st($TestSuiteRunner())._on_(suite);
 _st(self)._timeout_((200));
 _st(self)._timeout_((200));
 result=_st(runner)._result();
 result=_st(runner)._result();
 assertBlock=_st(self)._async_((function(){
 assertBlock=_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._errors()),_st(["fakeError"])._asSet());
+return smalltalk.withContext(function($ctx2) {
+_st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._errors()),_st(["fakeError"])._asSet());
 _st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._failures()),_st(["fakeErrorFailingInTearDown", "fakeFailure"])._asSet());
 _st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._failures()),_st(["fakeErrorFailingInTearDown", "fakeFailure"])._asSet());
 return _st(self)._finished();
 return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(ann)._result()).__eq_eq(result);
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(ann)._result()).__eq_eq(result);
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st(_st(result)._runs()).__eq(_st(result)._total());
 $2=_st(_st(result)._runs()).__eq(_st(result)._total());
 return _st($2)._ifTrue_(assertBlock);
 return _st($2)._ifTrue_(assertBlock);
@@ -357,14 +388,19 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._async_((function(){
-return smalltalk.withContext(function($ctx3) {
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_raise_((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._async_((function(){
+return smalltalk.withContext(function($ctx3) {
+}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 _st(self)._timeout_((0));
 _st(self)._timeout_((0));
 _st(self)._shouldnt_raise_((function(){
 _st(self)._shouldnt_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._async_((function(){
-return smalltalk.withContext(function($ctx3) {
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._async_((function(){
+return smalltalk.withContext(function($ctx3) {
+}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 _st(self)._finished();
 _st(self)._finished();
 return self}, function($ctx1) {$ctx1.fill(self,"testAsyncNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAsyncNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
@@ -383,12 +419,15 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._should_raise_((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 _st(self)._timeout_((0));
 _st(self)._timeout_((0));
 _st(self)._shouldnt_raise_((function(){
 _st(self)._shouldnt_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._finished();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 return self}, function($ctx1) {$ctx1.fill(self,"testFinishedNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testFinishedNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 args: [],
 args: [],
@@ -405,7 +444,8 @@ selector: "testIsAsyncReturnsCorrectValues",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._deny_(_st(self)._isAsync());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._deny_(_st(self)._isAsync());
 _st(self)._timeout_((0));
 _st(self)._timeout_((0));
 _st(self)._assert_(_st(self)._isAsync());
 _st(self)._assert_(_st(self)._isAsync());
 _st(self)._finished();
 _st(self)._finished();
@@ -425,10 +465,12 @@ selector: "testPass",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_(true);
+return smalltalk.withContext(function($ctx2) {
+_st(self)._assert_(true);
 _st(self)._finished();
 _st(self)._finished();
 self["@flag"]="ok";
 self["@flag"]="ok";
 return self["@flag"];
 return self["@flag"];
@@ -452,20 +494,24 @@ var suite,runner,result,assertBlock;
 function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteRunner=="undefined"?nil:TestSuiteRunner)}
 function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteRunner=="undefined"?nil:TestSuiteRunner)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 suite=_st(["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"])._collect_((function(each){
 suite=_st(["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"])._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._class())._selector_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(_st(self)._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 runner=_st($TestSuiteRunner())._on_(suite);
 runner=_st($TestSuiteRunner())._on_(suite);
 _st(self)._timeout_((200));
 _st(self)._timeout_((200));
 result=_st(runner)._result();
 result=_st(runner)._result();
 assertBlock=_st(self)._async_((function(){
 assertBlock=_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._errors()),_st($Set())._new());
+return smalltalk.withContext(function($ctx2) {
+_st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._errors()),_st($Set())._new());
 _st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._failures()),_st(["fakeMultipleTimeoutFailing", "fakeTimeout"])._asSet());
 _st(self)._assert_equals_(_st(self)._selectorSetOf_(_st(result)._failures()),_st(["fakeMultipleTimeoutFailing", "fakeTimeout"])._asSet());
 return _st(self)._finished();
 return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
-return smalltalk.withContext(function($ctx2) {
$1=_st(_st(ann)._result()).__eq_eq(result);
+return smalltalk.withContext(function($ctx2) {
+$1=_st(_st(ann)._result()).__eq_eq(result);
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 $2=_st(_st(result)._runs()).__eq(_st(result)._total());
 $2=_st(_st(result)._runs()).__eq(_st(result)._total());
 return _st($2)._ifTrue_(assertBlock);
 return _st($2)._ifTrue_(assertBlock);
@@ -488,11 +534,13 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var x;
 var x;
-return smalltalk.withContext(function($ctx1) { 
self["@flag"]="bad";
+return smalltalk.withContext(function($ctx1) { 
+self["@flag"]="bad";
 _st(self)._timeout_((10));
 _st(self)._timeout_((10));
 x=(0);
 x=(0);
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._finished();
+return smalltalk.withContext(function($ctx2) {
+_st(self)._finished();
 self["@flag"]="ok";
 self["@flag"]="ok";
 self["@flag"];
 self["@flag"];
 x=_st(x).__plus((1));
 x=_st(x).__plus((1));
@@ -500,7 +548,8 @@ x;
 return _st(self)._assert_equals_(x,(1));
 return _st(self)._assert_equals_(x,(1));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
 self["@flag"]=_st(_st(self)._async_((function(){
 self["@flag"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self)._finished();
+return smalltalk.withContext(function($ctx2) {
+_st(self)._finished();
 self["@flag"]="ok";
 self["@flag"]="ok";
 self["@flag"];
 self["@flag"];
 x=_st(x).__plus((1));
 x=_st(x).__plus((1));

+ 168 - 84
js/SUnit.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "result",
 selector: "result",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 $1=self["@result"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ResultAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ResultAnnouncement)})},
@@ -19,7 +20,8 @@ smalltalk.method({
 selector: "result:",
 selector: "result:",
 fn: function (aTestResult){
 fn: function (aTestResult){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@result"]=aTestResult;
+return smalltalk.withContext(function($ctx1) { 
+self["@result"]=aTestResult;
 return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult},smalltalk.ResultAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult},smalltalk.ResultAnnouncement)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ResultAnnouncement);
 smalltalk.ResultAnnouncement);
@@ -33,7 +35,8 @@ smalltalk.method({
 selector: "assert:",
 selector: "assert:",
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_description_(aBoolean,"Assertion failed");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_description_(aBoolean,"Assertion failed");
 return self}, function($ctx1) {$ctx1.fill(self,"assert:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"assert:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 messageSends: ["assert:description:"]}),
 messageSends: ["assert:description:"]}),
 smalltalk.TestCase);
 smalltalk.TestCase);
@@ -44,7 +47,8 @@ smalltalk.method({
 selector: "assert:description:",
 selector: "assert:description:",
 fn: function (aBoolean,aString){
 fn: function (aBoolean,aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=aBoolean;
 $1=aBoolean;
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self)._signalFailure_(aString);
 _st(self)._signalFailure_(aString);
@@ -59,7 +63,8 @@ smalltalk.method({
 selector: "assert:equals:",
 selector: "assert:equals:",
 fn: function (actual,expected){
 fn: function (actual,expected){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._assert_description_(_st(actual).__eq(expected),_st(_st(_st("Expected: ").__comma(_st(expected)._asString())).__comma(" but was: ")).__comma(_st(actual)._asString()));
 $1=_st(self)._assert_description_(_st(actual).__eq(expected),_st(_st(_st("Expected: ").__comma(_st(expected)._asString())).__comma(" but was: ")).__comma(_st(actual)._asString()));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected},smalltalk.TestCase)})},
 }, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected},smalltalk.TestCase)})},
@@ -73,11 +78,13 @@ selector: "async:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
 var c;
 var c;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 _st(self)._errorIfNotAsync_("#async");
 _st(self)._errorIfNotAsync_("#async");
 c=self["@context"];
 c=self["@context"];
 $1=(function(){
 $1=(function(){
-return smalltalk.withContext(function($ctx2) {
$2=_st(self)._isAsync();
+return smalltalk.withContext(function($ctx2) {
+$2=_st(self)._isAsync();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 return _st(c)._execute_(aBlock);
 return _st(c)._execute_(aBlock);
 };
 };
@@ -93,7 +100,8 @@ smalltalk.method({
 selector: "context:",
 selector: "context:",
 fn: function (aRunningTestContext){
 fn: function (aRunningTestContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@context"]=aRunningTestContext;
+return smalltalk.withContext(function($ctx1) { 
+self["@context"]=aRunningTestContext;
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aRunningTestContext:aRunningTestContext},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aRunningTestContext:aRunningTestContext},smalltalk.TestCase)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.TestCase);
 smalltalk.TestCase);
@@ -104,7 +112,8 @@ smalltalk.method({
 selector: "deny:",
 selector: "deny:",
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(aBoolean)._not());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st(aBoolean)._not());
 return self}, function($ctx1) {$ctx1.fill(self,"deny:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"deny:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 messageSends: ["assert:", "not"]}),
 messageSends: ["assert:", "not"]}),
 smalltalk.TestCase);
 smalltalk.TestCase);
@@ -115,7 +124,8 @@ smalltalk.method({
 selector: "errorIfNotAsync:",
 selector: "errorIfNotAsync:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._isAsync();
 $1=_st(self)._isAsync();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self)._error_(_st(aString).__comma(" used without prior #timeout:"));
 _st(self)._error_(_st(aString).__comma(" used without prior #timeout:"));
@@ -130,7 +140,8 @@ smalltalk.method({
 selector: "finished",
 selector: "finished",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._errorIfNotAsync_("#finished");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._errorIfNotAsync_("#finished");
 self["@asyncTimeout"]=nil;
 self["@asyncTimeout"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"finished",{},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"finished",{},smalltalk.TestCase)})},
 messageSends: ["errorIfNotAsync:"]}),
 messageSends: ["errorIfNotAsync:"]}),
@@ -142,7 +153,8 @@ smalltalk.method({
 selector: "isAsync",
 selector: "isAsync",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self["@asyncTimeout"])._notNil();
 $1=_st(self["@asyncTimeout"])._notNil();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAsync",{},smalltalk.TestCase)})},
 }, function($ctx1) {$ctx1.fill(self,"isAsync",{},smalltalk.TestCase)})},
@@ -155,7 +167,8 @@ smalltalk.method({
 selector: "performTest",
 selector: "performTest",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@asyncTimeout"]=nil;
+return smalltalk.withContext(function($ctx1) { 
+self["@asyncTimeout"]=nil;
 _st(self)._perform_(_st(self)._selector());
 _st(self)._perform_(_st(self)._selector());
 return self}, function($ctx1) {$ctx1.fill(self,"performTest",{},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"performTest",{},smalltalk.TestCase)})},
 messageSends: ["perform:", "selector"]}),
 messageSends: ["perform:", "selector"]}),
@@ -168,7 +181,8 @@ selector: "runCase",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $TestContext(){return smalltalk.TestContext||(typeof TestContext=="undefined"?nil:TestContext)}
 function $TestContext(){return smalltalk.TestContext||(typeof TestContext=="undefined"?nil:TestContext)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st($TestContext())._testCase_(self))._start();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st($TestContext())._testCase_(self))._start();
 return self}, function($ctx1) {$ctx1.fill(self,"runCase",{},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"runCase",{},smalltalk.TestCase)})},
 messageSends: ["start", "testCase:"]}),
 messageSends: ["start", "testCase:"]}),
 smalltalk.TestCase);
 smalltalk.TestCase);
@@ -179,7 +193,8 @@ smalltalk.method({
 selector: "selector",
 selector: "selector",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@testSelector"];
 $1=self["@testSelector"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.TestCase)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.TestCase)})},
@@ -192,7 +207,8 @@ smalltalk.method({
 selector: "setTestSelector:",
 selector: "setTestSelector:",
 fn: function (aSelector){
 fn: function (aSelector){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@testSelector"]=aSelector;
+return smalltalk.withContext(function($ctx1) { 
+self["@testSelector"]=aSelector;
 return self}, function($ctx1) {$ctx1.fill(self,"setTestSelector:",{aSelector:aSelector},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setTestSelector:",{aSelector:aSelector},smalltalk.TestCase)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.TestCase);
 smalltalk.TestCase);
@@ -203,7 +219,8 @@ smalltalk.method({
 selector: "setUp",
 selector: "setUp",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.TestCase)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.TestCase)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.TestCase);
 smalltalk.TestCase);
 
 
@@ -213,7 +230,8 @@ smalltalk.method({
 selector: "should:",
 selector: "should:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(aBlock)._value());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st(aBlock)._value());
 return self}, function($ctx1) {$ctx1.fill(self,"should:",{aBlock:aBlock},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"should:",{aBlock:aBlock},smalltalk.TestCase)})},
 messageSends: ["assert:", "value"]}),
 messageSends: ["assert:", "value"]}),
 smalltalk.TestCase);
 smalltalk.TestCase);
@@ -224,11 +242,14 @@ smalltalk.method({
 selector: "should:raise:",
 selector: "should:raise:",
 fn: function (aBlock,anExceptionClass){
 fn: function (aBlock,anExceptionClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st((function(){
-return smalltalk.withContext(function($ctx2) {
_st(aBlock)._value();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(aBlock)._value();
 return false;
 return false;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
-return smalltalk.withContext(function($ctx2) {
return true;
+return smalltalk.withContext(function($ctx2) {
+return true;
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
 return self}, function($ctx1) {$ctx1.fill(self,"should:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"should:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 messageSends: ["assert:", "on:do:", "value"]}),
 messageSends: ["assert:", "on:do:", "value"]}),
@@ -240,11 +261,14 @@ smalltalk.method({
 selector: "shouldnt:raise:",
 selector: "shouldnt:raise:",
 fn: function (aBlock,anExceptionClass){
 fn: function (aBlock,anExceptionClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st((function(){
-return smalltalk.withContext(function($ctx2) {
_st(aBlock)._value();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(aBlock)._value();
 return true;
 return true;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
-return smalltalk.withContext(function($ctx2) {
return false;
+return smalltalk.withContext(function($ctx2) {
+return false;
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
 return self}, function($ctx1) {$ctx1.fill(self,"shouldnt:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"shouldnt:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 messageSends: ["assert:", "on:do:", "value"]}),
 messageSends: ["assert:", "on:do:", "value"]}),
@@ -257,7 +281,8 @@ selector: "signalFailure:",
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($TestFailure())._new();
 $1=_st($TestFailure())._new();
 _st($1)._messageText_(aString);
 _st($1)._messageText_(aString);
 $2=_st($1)._signal();
 $2=_st($1)._signal();
@@ -271,7 +296,8 @@ smalltalk.method({
 selector: "tearDown",
 selector: "tearDown",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.TestCase)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.TestCase)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.TestCase);
 smalltalk.TestCase);
 
 
@@ -281,7 +307,8 @@ smalltalk.method({
 selector: "timeout:",
 selector: "timeout:",
 fn: function (aNumber){
 fn: function (aNumber){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@asyncTimeout"];
 $1=self["@asyncTimeout"];
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -290,7 +317,8 @@ _st(self["@asyncTimeout"])._clearTimeout();
 };
 };
 self["@asyncTimeout"]=(0);
 self["@asyncTimeout"]=(0);
 self["@asyncTimeout"]=_st(_st(self)._async_((function(){
 self["@asyncTimeout"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._assert_description_(false,"SUnit grace time exhausted");
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._assert_description_(false,"SUnit grace time exhausted");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_(aNumber);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_(aNumber);
 return self}, function($ctx1) {$ctx1.fill(self,"timeout:",{aNumber:aNumber},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"timeout:",{aNumber:aNumber},smalltalk.TestCase)})},
 messageSends: ["ifNotNil:", "clearTimeout", "valueWithTimeout:", "async:", "assert:description:"]}),
 messageSends: ["ifNotNil:", "clearTimeout", "valueWithTimeout:", "async:", "assert:description:"]}),
@@ -304,7 +332,8 @@ selector: "allTestSelectors",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var selectors;
 var selectors;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 selectors=_st(self)._testSelectors();
 selectors=_st(self)._testSelectors();
 $1=_st(self)._shouldInheritSelectors();
 $1=_st(self)._shouldInheritSelectors();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
@@ -322,9 +351,11 @@ smalltalk.method({
 selector: "buildSuite",
 selector: "buildSuite",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._allTestSelectors())._collect_((function(each){
 $1=_st(_st(self)._allTestSelectors())._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._selector_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"buildSuite",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"buildSuite",{},smalltalk.TestCase.klass)})},
@@ -337,7 +368,8 @@ smalltalk.method({
 selector: "isAbstract",
 selector: "isAbstract",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._name()).__eq("TestCase");
 $1=_st(_st(self)._name()).__eq("TestCase");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{},smalltalk.TestCase.klass)})},
@@ -351,7 +383,8 @@ selector: "lookupHierarchyRoot",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $TestCase(){return smalltalk.TestCase||(typeof TestCase=="undefined"?nil:TestCase)}
 function $TestCase(){return smalltalk.TestCase||(typeof TestCase=="undefined"?nil:TestCase)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$TestCase();
 $1=$TestCase();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"lookupHierarchyRoot",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"lookupHierarchyRoot",{},smalltalk.TestCase.klass)})},
@@ -364,7 +397,8 @@ smalltalk.method({
 selector: "selector:",
 selector: "selector:",
 fn: function (aSelector){
 fn: function (aSelector){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._setTestSelector_(aSelector);
 _st($2)._setTestSelector_(aSelector);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -380,7 +414,8 @@ smalltalk.method({
 selector: "shouldInheritSelectors",
 selector: "shouldInheritSelectors",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self).__tild_eq(_st(self)._lookupHierarchyRoot());
 $1=_st(self).__tild_eq(_st(self)._lookupHierarchyRoot());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},smalltalk.TestCase.klass)})},
@@ -393,9 +428,11 @@ smalltalk.method({
 selector: "testSelectors",
 selector: "testSelectors",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._methodDictionary())._keys())._select_((function(each){
 $1=_st(_st(_st(self)._methodDictionary())._keys())._select_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._match_("^test");
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._match_("^test");
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"testSelectors",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"testSelectors",{},smalltalk.TestCase.klass)})},
@@ -411,18 +448,22 @@ selector: "execute:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
 var failed;
 var failed;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(self["@testCase"])._context_(self);
 _st(self["@testCase"])._context_(self);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
failed=true;
+return smalltalk.withContext(function($ctx2) {
+failed=true;
 failed;
 failed;
 _st(aBlock)._value();
 _st(aBlock)._value();
 failed=false;
 failed=false;
 return failed;
 return failed;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self["@testCase"])._context_(nil);
+return smalltalk.withContext(function($ctx2) {
+_st(self["@testCase"])._context_(nil);
 $1=_st(failed)._and_((function(){
 $1=_st(failed)._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self["@testCase"])._isAsync();
+return smalltalk.withContext(function($ctx3) {
+return _st(self["@testCase"])._isAsync();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(self["@testCase"])._finished();
 _st(self["@testCase"])._finished();
@@ -442,8 +483,10 @@ smalltalk.method({
 selector: "start",
 selector: "start",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._execute_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self["@testCase"])._setUp();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._execute_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(self["@testCase"])._setUp();
 return _st(self["@testCase"])._performTest();
 return _st(self["@testCase"])._performTest();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"start",{},smalltalk.TestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"start",{},smalltalk.TestContext)})},
@@ -456,7 +499,8 @@ smalltalk.method({
 selector: "testCase:",
 selector: "testCase:",
 fn: function (aTestCase){
 fn: function (aTestCase){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@testCase"]=aTestCase;
+return smalltalk.withContext(function($ctx1) { 
+self["@testCase"]=aTestCase;
 return self}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase},smalltalk.TestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase},smalltalk.TestContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.TestContext);
 smalltalk.TestContext);
@@ -468,7 +512,8 @@ smalltalk.method({
 selector: "testCase:",
 selector: "testCase:",
 fn: function (aTestCase){
 fn: function (aTestCase){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._testCase_(aTestCase);
 _st($2)._testCase_(aTestCase);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -486,13 +531,17 @@ smalltalk.method({
 selector: "execute:",
 selector: "execute:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._withErrorReporting_((function(){
-return smalltalk.withContext(function($ctx3) {
return smalltalk.TestContext.fn.prototype._execute_.apply(_st(self), [aBlock]);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._withErrorReporting_((function(){
+return smalltalk.withContext(function($ctx3) {
+return smalltalk.TestContext.fn.prototype._execute_.apply(_st(self), [aBlock]);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(self["@testCase"])._isAsync();
+return smalltalk.withContext(function($ctx2) {
+$1=_st(self["@testCase"])._isAsync();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self["@result"])._increaseRuns();
 _st(self["@result"])._increaseRuns();
 return _st(self["@finished"])._value();
 return _st(self["@finished"])._value();
@@ -508,7 +557,8 @@ smalltalk.method({
 selector: "finished:",
 selector: "finished:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@finished"]=aBlock;
+return smalltalk.withContext(function($ctx1) { 
+self["@finished"]=aBlock;
 return self}, function($ctx1) {$ctx1.fill(self,"finished:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"finished:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ReportingTestContext);
 smalltalk.ReportingTestContext);
@@ -519,7 +569,8 @@ smalltalk.method({
 selector: "result:",
 selector: "result:",
 fn: function (aTestResult){
 fn: function (aTestResult){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@result"]=aTestResult;
+return smalltalk.withContext(function($ctx1) { 
+self["@result"]=aTestResult;
 return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult},smalltalk.ReportingTestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult},smalltalk.ReportingTestContext)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ReportingTestContext);
 smalltalk.ReportingTestContext);
@@ -532,12 +583,16 @@ fn: function (aBlock){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
-return smalltalk.withContext(function($ctx1) { 
_st((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aBlock)._on_do_($TestFailure(),(function(ex){
-return smalltalk.withContext(function($ctx3) {
return _st(self["@result"])._addFailure_(self["@testCase"]);
+return smalltalk.withContext(function($ctx1) { 
+_st((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(aBlock)._on_do_($TestFailure(),(function(ex){
+return smalltalk.withContext(function($ctx3) {
+return _st(self["@result"])._addFailure_(self["@testCase"]);
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@result"])._addError_(self["@testCase"]);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@result"])._addError_(self["@testCase"]);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"withErrorReporting:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"withErrorReporting:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 messageSends: ["on:do:", "addError:", "addFailure:"]}),
 messageSends: ["on:do:", "addError:", "addFailure:"]}),
@@ -550,7 +605,8 @@ smalltalk.method({
 selector: "testCase:result:finished:",
 selector: "testCase:result:finished:",
 fn: function (aTestCase,aTestResult,aBlock){
 fn: function (aTestCase,aTestResult,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=smalltalk.TestContext.klass.fn.prototype._testCase_.apply(_st(self), [aTestCase]);
 $2=smalltalk.TestContext.klass.fn.prototype._testCase_.apply(_st(self), [aTestCase]);
 _st($2)._result_(aTestResult);
 _st($2)._result_(aTestResult);
 _st($2)._finished_(aBlock);
 _st($2)._finished_(aBlock);
@@ -572,7 +628,8 @@ smalltalk.method({
 selector: "addError:",
 selector: "addError:",
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._errors())._add_(anError);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._errors())._add_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"addError:",{anError:anError},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addError:",{anError:anError},smalltalk.TestResult)})},
 messageSends: ["add:", "errors"]}),
 messageSends: ["add:", "errors"]}),
 smalltalk.TestResult);
 smalltalk.TestResult);
@@ -583,7 +640,8 @@ smalltalk.method({
 selector: "addFailure:",
 selector: "addFailure:",
 fn: function (aFailure){
 fn: function (aFailure){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._failures())._add_(aFailure);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._failures())._add_(aFailure);
 return self}, function($ctx1) {$ctx1.fill(self,"addFailure:",{aFailure:aFailure},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addFailure:",{aFailure:aFailure},smalltalk.TestResult)})},
 messageSends: ["add:", "failures"]}),
 messageSends: ["add:", "failures"]}),
 smalltalk.TestResult);
 smalltalk.TestResult);
@@ -594,7 +652,8 @@ smalltalk.method({
 selector: "errors",
 selector: "errors",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@errors"];
 $1=self["@errors"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"errors",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"errors",{},smalltalk.TestResult)})},
@@ -607,7 +666,8 @@ smalltalk.method({
 selector: "failures",
 selector: "failures",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@failures"];
 $1=self["@failures"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"failures",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"failures",{},smalltalk.TestResult)})},
@@ -620,7 +680,8 @@ smalltalk.method({
 selector: "increaseRuns",
 selector: "increaseRuns",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@runs"]=_st(self["@runs"]).__plus((1));
+return smalltalk.withContext(function($ctx1) { 
+self["@runs"]=_st(self["@runs"]).__plus((1));
 return self}, function($ctx1) {$ctx1.fill(self,"increaseRuns",{},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"increaseRuns",{},smalltalk.TestResult)})},
 messageSends: ["+"]}),
 messageSends: ["+"]}),
 smalltalk.TestResult);
 smalltalk.TestResult);
@@ -633,7 +694,8 @@ fn: function (){
 var self=this;
 var self=this;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@timestamp"]=_st($Date())._now();
 self["@timestamp"]=_st($Date())._now();
 self["@runs"]=(0);
 self["@runs"]=(0);
 self["@errors"]=_st($Array())._new();
 self["@errors"]=_st($Array())._new();
@@ -649,7 +711,8 @@ smalltalk.method({
 selector: "nextRunDo:",
 selector: "nextRunDo:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(_st(self)._runs()).__eq_eq(_st(self)._total());
 $2=_st(_st(self)._runs()).__eq_eq(_st(self)._total());
 if(! smalltalk.assert($2)){
 if(! smalltalk.assert($2)){
 $1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1)));
 $1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1)));
@@ -667,15 +730,20 @@ fn: function (aTestCase){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
-return smalltalk.withContext(function($ctx1) { 
_st((function(){
-return smalltalk.withContext(function($ctx2) {
return _st((function(){
-return smalltalk.withContext(function($ctx3) {
_st(self)._increaseRuns();
+return smalltalk.withContext(function($ctx1) { 
+_st((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st((function(){
+return smalltalk.withContext(function($ctx3) {
+_st(self)._increaseRuns();
 return _st(aTestCase)._runCase();
 return _st(aTestCase)._runCase();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._on_do_($TestFailure(),(function(ex){
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._on_do_($TestFailure(),(function(ex){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._addFailure_(aTestCase);
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._addFailure_(aTestCase);
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._addError_(aTestCase);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._addError_(aTestCase);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"runCase:",{aTestCase:aTestCase},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"runCase:",{aTestCase:aTestCase},smalltalk.TestResult)})},
 messageSends: ["on:do:", "addError:", "addFailure:", "increaseRuns", "runCase"]}),
 messageSends: ["on:do:", "addError:", "addFailure:", "increaseRuns", "runCase"]}),
@@ -687,7 +755,8 @@ smalltalk.method({
 selector: "runs",
 selector: "runs",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@runs"];
 $1=self["@runs"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"runs",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"runs",{},smalltalk.TestResult)})},
@@ -700,7 +769,8 @@ smalltalk.method({
 selector: "status",
 selector: "status",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(_st(self)._errors())._isEmpty();
 $2=_st(_st(self)._errors())._isEmpty();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $3=_st(_st(self)._failures())._isEmpty();
 $3=_st(_st(self)._failures())._isEmpty();
@@ -723,7 +793,8 @@ smalltalk.method({
 selector: "timestamp",
 selector: "timestamp",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@timestamp"];
 $1=self["@timestamp"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"timestamp",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"timestamp",{},smalltalk.TestResult)})},
@@ -736,7 +807,8 @@ smalltalk.method({
 selector: "total",
 selector: "total",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@total"];
 $1=self["@total"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"total",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"total",{},smalltalk.TestResult)})},
@@ -749,7 +821,8 @@ smalltalk.method({
 selector: "total:",
 selector: "total:",
 fn: function (aNumber){
 fn: function (aNumber){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@total"]=aNumber;
+return smalltalk.withContext(function($ctx1) { 
+self["@total"]=aNumber;
 return self}, function($ctx1) {$ctx1.fill(self,"total:",{aNumber:aNumber},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"total:",{aNumber:aNumber},smalltalk.TestResult)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.TestResult);
 smalltalk.TestResult);
@@ -763,7 +836,8 @@ smalltalk.method({
 selector: "announcer",
 selector: "announcer",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@announcer"];
 $1=self["@announcer"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"announcer",{},smalltalk.TestSuiteRunner)})},
 }, function($ctx1) {$ctx1.fill(self,"announcer",{},smalltalk.TestSuiteRunner)})},
@@ -777,9 +851,11 @@ selector: "contextOf:",
 fn: function (anInteger){
 fn: function (anInteger){
 var self=this;
 var self=this;
 function $ReportingTestContext(){return smalltalk.ReportingTestContext||(typeof ReportingTestContext=="undefined"?nil:ReportingTestContext)}
 function $ReportingTestContext(){return smalltalk.ReportingTestContext||(typeof ReportingTestContext=="undefined"?nil:ReportingTestContext)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($ReportingTestContext())._testCase_result_finished_(_st(self["@suite"])._at_(anInteger),self["@result"],(function(){
 $1=_st($ReportingTestContext())._testCase_result_finished_(_st(self["@suite"])._at_(anInteger),self["@result"],(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._resume();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._resume();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger},smalltalk.TestSuiteRunner)})},
 }, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger},smalltalk.TestSuiteRunner)})},
@@ -794,13 +870,15 @@ fn: function (){
 var self=this;
 var self=this;
 function $Announcer(){return smalltalk.Announcer||(typeof Announcer=="undefined"?nil:Announcer)}
 function $Announcer(){return smalltalk.Announcer||(typeof Announcer=="undefined"?nil:Announcer)}
 function $TestResult(){return smalltalk.TestResult||(typeof TestResult=="undefined"?nil:TestResult)}
 function $TestResult(){return smalltalk.TestResult||(typeof TestResult=="undefined"?nil:TestResult)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@announcer"]=_st($Announcer())._new();
 self["@announcer"]=_st($Announcer())._new();
 self["@result"]=_st($TestResult())._new();
 self["@result"]=_st($TestResult())._new();
 self["@runNextTest"]=(function(){
 self["@runNextTest"]=(function(){
 var runs;
 var runs;
-return smalltalk.withContext(function($ctx2) {
runs=_st(self["@result"])._runs();
+return smalltalk.withContext(function($ctx2) {
+runs=_st(self["@result"])._runs();
 runs;
 runs;
 $1=_st(runs).__lt(_st(self["@result"])._total());
 $1=_st(runs).__lt(_st(self["@result"])._total());
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
@@ -817,7 +895,8 @@ smalltalk.method({
 selector: "result",
 selector: "result",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 $1=self["@result"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.TestSuiteRunner)})},
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.TestSuiteRunner)})},
@@ -831,7 +910,8 @@ selector: "resume",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
-return smalltalk.withContext(function($ctx1) { 
_st(self["@runNextTest"])._fork();
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@runNextTest"])._fork();
 _st(self["@announcer"])._announce_(_st(_st($ResultAnnouncement())._new())._result_(self["@result"]));
 _st(self["@announcer"])._announce_(_st(_st($ResultAnnouncement())._new())._result_(self["@result"]));
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.TestSuiteRunner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.TestSuiteRunner)})},
 messageSends: ["fork", "announce:", "result:", "new"]}),
 messageSends: ["fork", "announce:", "result:", "new"]}),
@@ -843,7 +923,8 @@ smalltalk.method({
 selector: "run",
 selector: "run",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@result"])._total_(_st(self["@suite"])._size());
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@result"])._total_(_st(self["@suite"])._size());
 _st(self)._resume();
 _st(self)._resume();
 return self}, function($ctx1) {$ctx1.fill(self,"run",{},smalltalk.TestSuiteRunner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"run",{},smalltalk.TestSuiteRunner)})},
 messageSends: ["total:", "size", "resume"]}),
 messageSends: ["total:", "size", "resume"]}),
@@ -855,7 +936,8 @@ smalltalk.method({
 selector: "suite:",
 selector: "suite:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@suite"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@suite"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"suite:",{aCollection:aCollection},smalltalk.TestSuiteRunner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"suite:",{aCollection:aCollection},smalltalk.TestSuiteRunner)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.TestSuiteRunner);
 smalltalk.TestSuiteRunner);
@@ -867,7 +949,8 @@ smalltalk.method({
 selector: "new",
 selector: "new",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.TestSuiteRunner.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.TestSuiteRunner.klass)})},
 messageSends: ["shouldNotImplement"]}),
 messageSends: ["shouldNotImplement"]}),
 smalltalk.TestSuiteRunner.klass);
 smalltalk.TestSuiteRunner.klass);
@@ -878,7 +961,8 @@ smalltalk.method({
 selector: "on:",
 selector: "on:",
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(smalltalk.Object.klass.fn.prototype._new.apply(_st(self), []))._suite_(aCollection);
 $1=_st(smalltalk.Object.klass.fn.prototype._new.apply(_st(self), []))._suite_(aCollection);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},smalltalk.TestSuiteRunner.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},smalltalk.TestSuiteRunner.klass)})},

+ 168 - 84
js/SUnit.js

@@ -7,7 +7,8 @@ selector: "result",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 $1=self["@result"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ResultAnnouncement)})},
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ResultAnnouncement)})},
@@ -25,7 +26,8 @@ selector: "result:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aTestResult){
 fn: function (aTestResult){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@result"]=aTestResult;
+return smalltalk.withContext(function($ctx1) { 
+self["@result"]=aTestResult;
 return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult},smalltalk.ResultAnnouncement)})},
 return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult},smalltalk.ResultAnnouncement)})},
 args: ["aTestResult"],
 args: ["aTestResult"],
 source: "result: aTestResult\x0a\x09result := aTestResult",
 source: "result: aTestResult\x0a\x09result := aTestResult",
@@ -45,7 +47,8 @@ selector: "assert:",
 category: 'testing',
 category: 'testing',
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_description_(aBoolean,"Assertion failed");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_description_(aBoolean,"Assertion failed");
 return self}, function($ctx1) {$ctx1.fill(self,"assert:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"assert:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 args: ["aBoolean"],
 args: ["aBoolean"],
 source: "assert: aBoolean\x0a\x09self assert: aBoolean description: 'Assertion failed'",
 source: "assert: aBoolean\x0a\x09self assert: aBoolean description: 'Assertion failed'",
@@ -61,7 +64,8 @@ selector: "assert:description:",
 category: 'testing',
 category: 'testing',
 fn: function (aBoolean,aString){
 fn: function (aBoolean,aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=aBoolean;
 $1=aBoolean;
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self)._signalFailure_(aString);
 _st(self)._signalFailure_(aString);
@@ -81,7 +85,8 @@ selector: "assert:equals:",
 category: 'testing',
 category: 'testing',
 fn: function (actual,expected){
 fn: function (actual,expected){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._assert_description_(_st(actual).__eq(expected),_st(_st(_st("Expected: ").__comma(_st(expected)._asString())).__comma(" but was: ")).__comma(_st(actual)._asString()));
 $1=_st(self)._assert_description_(_st(actual).__eq(expected),_st(_st(_st("Expected: ").__comma(_st(expected)._asString())).__comma(" but was: ")).__comma(_st(actual)._asString()));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected},smalltalk.TestCase)})},
 }, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected},smalltalk.TestCase)})},
@@ -100,11 +105,13 @@ category: 'async',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
 var c;
 var c;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 _st(self)._errorIfNotAsync_("#async");
 _st(self)._errorIfNotAsync_("#async");
 c=self["@context"];
 c=self["@context"];
 $1=(function(){
 $1=(function(){
-return smalltalk.withContext(function($ctx2) {
$2=_st(self)._isAsync();
+return smalltalk.withContext(function($ctx2) {
+$2=_st(self)._isAsync();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 return _st(c)._execute_(aBlock);
 return _st(c)._execute_(aBlock);
 };
 };
@@ -125,7 +132,8 @@ selector: "context:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aRunningTestContext){
 fn: function (aRunningTestContext){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@context"]=aRunningTestContext;
+return smalltalk.withContext(function($ctx1) { 
+self["@context"]=aRunningTestContext;
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aRunningTestContext:aRunningTestContext},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"context:",{aRunningTestContext:aRunningTestContext},smalltalk.TestCase)})},
 args: ["aRunningTestContext"],
 args: ["aRunningTestContext"],
 source: "context: aRunningTestContext\x0a\x09context := aRunningTestContext",
 source: "context: aRunningTestContext\x0a\x09context := aRunningTestContext",
@@ -141,7 +149,8 @@ selector: "deny:",
 category: 'testing',
 category: 'testing',
 fn: function (aBoolean){
 fn: function (aBoolean){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(aBoolean)._not());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st(aBoolean)._not());
 return self}, function($ctx1) {$ctx1.fill(self,"deny:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"deny:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 args: ["aBoolean"],
 args: ["aBoolean"],
 source: "deny: aBoolean\x0a\x09self assert: aBoolean not",
 source: "deny: aBoolean\x0a\x09self assert: aBoolean not",
@@ -157,7 +166,8 @@ selector: "errorIfNotAsync:",
 category: 'error handling',
 category: 'error handling',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._isAsync();
 $1=_st(self)._isAsync();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self)._error_(_st(aString).__comma(" used without prior #timeout:"));
 _st(self)._error_(_st(aString).__comma(" used without prior #timeout:"));
@@ -177,7 +187,8 @@ selector: "finished",
 category: 'async',
 category: 'async',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._errorIfNotAsync_("#finished");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._errorIfNotAsync_("#finished");
 self["@asyncTimeout"]=nil;
 self["@asyncTimeout"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"finished",{},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"finished",{},smalltalk.TestCase)})},
 args: [],
 args: [],
@@ -194,7 +205,8 @@ selector: "isAsync",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self["@asyncTimeout"])._notNil();
 $1=_st(self["@asyncTimeout"])._notNil();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAsync",{},smalltalk.TestCase)})},
 }, function($ctx1) {$ctx1.fill(self,"isAsync",{},smalltalk.TestCase)})},
@@ -212,7 +224,8 @@ selector: "performTest",
 category: 'running',
 category: 'running',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@asyncTimeout"]=nil;
+return smalltalk.withContext(function($ctx1) { 
+self["@asyncTimeout"]=nil;
 _st(self)._perform_(_st(self)._selector());
 _st(self)._perform_(_st(self)._selector());
 return self}, function($ctx1) {$ctx1.fill(self,"performTest",{},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"performTest",{},smalltalk.TestCase)})},
 args: [],
 args: [],
@@ -230,7 +243,8 @@ category: 'running',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $TestContext(){return smalltalk.TestContext||(typeof TestContext=="undefined"?nil:TestContext)}
 function $TestContext(){return smalltalk.TestContext||(typeof TestContext=="undefined"?nil:TestContext)}
-return smalltalk.withContext(function($ctx1) { 
_st(_st($TestContext())._testCase_(self))._start();
+return smalltalk.withContext(function($ctx1) { 
+_st(_st($TestContext())._testCase_(self))._start();
 return self}, function($ctx1) {$ctx1.fill(self,"runCase",{},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"runCase",{},smalltalk.TestCase)})},
 args: [],
 args: [],
 source: "runCase\x0a\x09\x22Runs a test case in isolated context, leaking all errors.\x22\x0a\x0a\x09(TestContext testCase: self) start",
 source: "runCase\x0a\x09\x22Runs a test case in isolated context, leaking all errors.\x22\x0a\x0a\x09(TestContext testCase: self) start",
@@ -246,7 +260,8 @@ selector: "selector",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@testSelector"];
 $1=self["@testSelector"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.TestCase)})},
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.TestCase)})},
@@ -264,7 +279,8 @@ selector: "setTestSelector:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aSelector){
 fn: function (aSelector){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@testSelector"]=aSelector;
+return smalltalk.withContext(function($ctx1) { 
+self["@testSelector"]=aSelector;
 return self}, function($ctx1) {$ctx1.fill(self,"setTestSelector:",{aSelector:aSelector},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setTestSelector:",{aSelector:aSelector},smalltalk.TestCase)})},
 args: ["aSelector"],
 args: ["aSelector"],
 source: "setTestSelector: aSelector\x0a\x09testSelector := aSelector",
 source: "setTestSelector: aSelector\x0a\x09testSelector := aSelector",
@@ -280,7 +296,8 @@ selector: "setUp",
 category: 'running',
 category: 'running',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.TestCase)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.TestCase)})},
 args: [],
 args: [],
 source: "setUp",
 source: "setUp",
 messageSends: [],
 messageSends: [],
@@ -295,7 +312,8 @@ selector: "should:",
 category: 'testing',
 category: 'testing',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(aBlock)._value());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st(aBlock)._value());
 return self}, function($ctx1) {$ctx1.fill(self,"should:",{aBlock:aBlock},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"should:",{aBlock:aBlock},smalltalk.TestCase)})},
 args: ["aBlock"],
 args: ["aBlock"],
 source: "should: aBlock\x0a\x09self assert: aBlock value",
 source: "should: aBlock\x0a\x09self assert: aBlock value",
@@ -311,11 +329,14 @@ selector: "should:raise:",
 category: 'testing',
 category: 'testing',
 fn: function (aBlock,anExceptionClass){
 fn: function (aBlock,anExceptionClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st((function(){
-return smalltalk.withContext(function($ctx2) {
_st(aBlock)._value();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(aBlock)._value();
 return false;
 return false;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
-return smalltalk.withContext(function($ctx2) {
return true;
+return smalltalk.withContext(function($ctx2) {
+return true;
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
 return self}, function($ctx1) {$ctx1.fill(self,"should:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"should:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 args: ["aBlock", "anExceptionClass"],
 args: ["aBlock", "anExceptionClass"],
@@ -332,11 +353,14 @@ selector: "shouldnt:raise:",
 category: 'testing',
 category: 'testing',
 fn: function (aBlock,anExceptionClass){
 fn: function (aBlock,anExceptionClass){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st((function(){
-return smalltalk.withContext(function($ctx2) {
_st(aBlock)._value();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(aBlock)._value();
 return true;
 return true;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
-return smalltalk.withContext(function($ctx2) {
return false;
+return smalltalk.withContext(function($ctx2) {
+return false;
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
 return self}, function($ctx1) {$ctx1.fill(self,"shouldnt:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"shouldnt:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 args: ["aBlock", "anExceptionClass"],
 args: ["aBlock", "anExceptionClass"],
@@ -354,7 +378,8 @@ category: 'private',
 fn: function (aString){
 fn: function (aString){
 var self=this;
 var self=this;
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=_st($TestFailure())._new();
 $1=_st($TestFailure())._new();
 _st($1)._messageText_(aString);
 _st($1)._messageText_(aString);
 $2=_st($1)._signal();
 $2=_st($1)._signal();
@@ -373,7 +398,8 @@ selector: "tearDown",
 category: 'running',
 category: 'running',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.TestCase)})},
+return smalltalk.withContext(function($ctx1) { 
+return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.TestCase)})},
 args: [],
 args: [],
 source: "tearDown",
 source: "tearDown",
 messageSends: [],
 messageSends: [],
@@ -388,7 +414,8 @@ selector: "timeout:",
 category: 'async',
 category: 'async',
 fn: function (aNumber){
 fn: function (aNumber){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@asyncTimeout"];
 $1=self["@asyncTimeout"];
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 $1;
@@ -397,7 +424,8 @@ _st(self["@asyncTimeout"])._clearTimeout();
 };
 };
 self["@asyncTimeout"]=(0);
 self["@asyncTimeout"]=(0);
 self["@asyncTimeout"]=_st(_st(self)._async_((function(){
 self["@asyncTimeout"]=_st(_st(self)._async_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._assert_description_(false,"SUnit grace time exhausted");
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._assert_description_(false,"SUnit grace time exhausted");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_(aNumber);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_(aNumber);
 return self}, function($ctx1) {$ctx1.fill(self,"timeout:",{aNumber:aNumber},smalltalk.TestCase)})},
 return self}, function($ctx1) {$ctx1.fill(self,"timeout:",{aNumber:aNumber},smalltalk.TestCase)})},
 args: ["aNumber"],
 args: ["aNumber"],
@@ -416,7 +444,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var selectors;
 var selectors;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 selectors=_st(self)._testSelectors();
 selectors=_st(self)._testSelectors();
 $1=_st(self)._shouldInheritSelectors();
 $1=_st(self)._shouldInheritSelectors();
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
@@ -439,9 +468,11 @@ selector: "buildSuite",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._allTestSelectors())._collect_((function(each){
 $1=_st(_st(self)._allTestSelectors())._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._selector_(each);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"buildSuite",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"buildSuite",{},smalltalk.TestCase.klass)})},
@@ -459,7 +490,8 @@ selector: "isAbstract",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._name()).__eq("TestCase");
 $1=_st(_st(self)._name()).__eq("TestCase");
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{},smalltalk.TestCase.klass)})},
@@ -478,7 +510,8 @@ category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $TestCase(){return smalltalk.TestCase||(typeof TestCase=="undefined"?nil:TestCase)}
 function $TestCase(){return smalltalk.TestCase||(typeof TestCase=="undefined"?nil:TestCase)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=$TestCase();
 $1=$TestCase();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"lookupHierarchyRoot",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"lookupHierarchyRoot",{},smalltalk.TestCase.klass)})},
@@ -496,7 +529,8 @@ selector: "selector:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aSelector){
 fn: function (aSelector){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._setTestSelector_(aSelector);
 _st($2)._setTestSelector_(aSelector);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -517,7 +551,8 @@ selector: "shouldInheritSelectors",
 category: 'testing',
 category: 'testing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self).__tild_eq(_st(self)._lookupHierarchyRoot());
 $1=_st(self).__tild_eq(_st(self)._lookupHierarchyRoot());
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},smalltalk.TestCase.klass)})},
@@ -535,9 +570,11 @@ selector: "testSelectors",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(_st(self)._methodDictionary())._keys())._select_((function(each){
 $1=_st(_st(_st(self)._methodDictionary())._keys())._select_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each)._match_("^test");
+return smalltalk.withContext(function($ctx2) {
+return _st(each)._match_("^test");
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"testSelectors",{},smalltalk.TestCase.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"testSelectors",{},smalltalk.TestCase.klass)})},
@@ -559,18 +596,22 @@ category: 'running',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
 var failed;
 var failed;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(self["@testCase"])._context_(self);
 _st(self["@testCase"])._context_(self);
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
failed=true;
+return smalltalk.withContext(function($ctx2) {
+failed=true;
 failed;
 failed;
 _st(aBlock)._value();
 _st(aBlock)._value();
 failed=false;
 failed=false;
 return failed;
 return failed;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self["@testCase"])._context_(nil);
+return smalltalk.withContext(function($ctx2) {
+_st(self["@testCase"])._context_(nil);
 $1=_st(failed)._and_((function(){
 $1=_st(failed)._and_((function(){
-return smalltalk.withContext(function($ctx3) {
return _st(self["@testCase"])._isAsync();
+return smalltalk.withContext(function($ctx3) {
+return _st(self["@testCase"])._isAsync();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
 _st(self["@testCase"])._finished();
 _st(self["@testCase"])._finished();
@@ -595,8 +636,10 @@ selector: "start",
 category: 'running',
 category: 'running',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._execute_((function(){
-return smalltalk.withContext(function($ctx2) {
_st(self["@testCase"])._setUp();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._execute_((function(){
+return smalltalk.withContext(function($ctx2) {
+_st(self["@testCase"])._setUp();
 return _st(self["@testCase"])._performTest();
 return _st(self["@testCase"])._performTest();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"start",{},smalltalk.TestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"start",{},smalltalk.TestContext)})},
@@ -614,7 +657,8 @@ selector: "testCase:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aTestCase){
 fn: function (aTestCase){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@testCase"]=aTestCase;
+return smalltalk.withContext(function($ctx1) { 
+self["@testCase"]=aTestCase;
 return self}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase},smalltalk.TestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase},smalltalk.TestContext)})},
 args: ["aTestCase"],
 args: ["aTestCase"],
 source: "testCase: aTestCase\x0a\x09testCase := aTestCase",
 source: "testCase: aTestCase\x0a\x09testCase := aTestCase",
@@ -631,7 +675,8 @@ selector: "testCase:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aTestCase){
 fn: function (aTestCase){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._new();
 $2=_st(self)._new();
 _st($2)._testCase_(aTestCase);
 _st($2)._testCase_(aTestCase);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -655,13 +700,17 @@ selector: "execute:",
 category: 'running',
 category: 'running',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st((function(){
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._withErrorReporting_((function(){
-return smalltalk.withContext(function($ctx3) {
return smalltalk.TestContext.fn.prototype._execute_.apply(_st(self), [aBlock]);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._withErrorReporting_((function(){
+return smalltalk.withContext(function($ctx3) {
+return smalltalk.TestContext.fn.prototype._execute_.apply(_st(self), [aBlock]);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
-return smalltalk.withContext(function($ctx2) {
$1=_st(self["@testCase"])._isAsync();
+return smalltalk.withContext(function($ctx2) {
+$1=_st(self["@testCase"])._isAsync();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
 _st(self["@result"])._increaseRuns();
 _st(self["@result"])._increaseRuns();
 return _st(self["@finished"])._value();
 return _st(self["@finished"])._value();
@@ -682,7 +731,8 @@ selector: "finished:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@finished"]=aBlock;
+return smalltalk.withContext(function($ctx1) { 
+self["@finished"]=aBlock;
 return self}, function($ctx1) {$ctx1.fill(self,"finished:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"finished:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 args: ["aBlock"],
 args: ["aBlock"],
 source: "finished: aBlock\x0a\x09finished := aBlock",
 source: "finished: aBlock\x0a\x09finished := aBlock",
@@ -698,7 +748,8 @@ selector: "result:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aTestResult){
 fn: function (aTestResult){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@result"]=aTestResult;
+return smalltalk.withContext(function($ctx1) { 
+self["@result"]=aTestResult;
 return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult},smalltalk.ReportingTestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult},smalltalk.ReportingTestContext)})},
 args: ["aTestResult"],
 args: ["aTestResult"],
 source: "result: aTestResult\x0a\x09result := aTestResult",
 source: "result: aTestResult\x0a\x09result := aTestResult",
@@ -716,12 +767,16 @@ fn: function (aBlock){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
-return smalltalk.withContext(function($ctx1) { 
_st((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(aBlock)._on_do_($TestFailure(),(function(ex){
-return smalltalk.withContext(function($ctx3) {
return _st(self["@result"])._addFailure_(self["@testCase"]);
+return smalltalk.withContext(function($ctx1) { 
+_st((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(aBlock)._on_do_($TestFailure(),(function(ex){
+return smalltalk.withContext(function($ctx3) {
+return _st(self["@result"])._addFailure_(self["@testCase"]);
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@result"])._addError_(self["@testCase"]);
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@result"])._addError_(self["@testCase"]);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"withErrorReporting:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 return self}, function($ctx1) {$ctx1.fill(self,"withErrorReporting:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 args: ["aBlock"],
 args: ["aBlock"],
@@ -739,7 +794,8 @@ selector: "testCase:result:finished:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aTestCase,aTestResult,aBlock){
 fn: function (aTestCase,aTestResult,aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=smalltalk.TestContext.klass.fn.prototype._testCase_.apply(_st(self), [aTestCase]);
 $2=smalltalk.TestContext.klass.fn.prototype._testCase_.apply(_st(self), [aTestCase]);
 _st($2)._result_(aTestResult);
 _st($2)._result_(aTestResult);
 _st($2)._finished_(aBlock);
 _st($2)._finished_(aBlock);
@@ -768,7 +824,8 @@ selector: "addError:",
 category: 'accessing',
 category: 'accessing',
 fn: function (anError){
 fn: function (anError){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._errors())._add_(anError);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._errors())._add_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"addError:",{anError:anError},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addError:",{anError:anError},smalltalk.TestResult)})},
 args: ["anError"],
 args: ["anError"],
 source: "addError: anError\x0a\x09self errors add: anError",
 source: "addError: anError\x0a\x09self errors add: anError",
@@ -784,7 +841,8 @@ selector: "addFailure:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aFailure){
 fn: function (aFailure){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._failures())._add_(aFailure);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(self)._failures())._add_(aFailure);
 return self}, function($ctx1) {$ctx1.fill(self,"addFailure:",{aFailure:aFailure},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"addFailure:",{aFailure:aFailure},smalltalk.TestResult)})},
 args: ["aFailure"],
 args: ["aFailure"],
 source: "addFailure: aFailure\x0a\x09self failures add: aFailure",
 source: "addFailure: aFailure\x0a\x09self failures add: aFailure",
@@ -800,7 +858,8 @@ selector: "errors",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@errors"];
 $1=self["@errors"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"errors",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"errors",{},smalltalk.TestResult)})},
@@ -818,7 +877,8 @@ selector: "failures",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@failures"];
 $1=self["@failures"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"failures",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"failures",{},smalltalk.TestResult)})},
@@ -836,7 +896,8 @@ selector: "increaseRuns",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@runs"]=_st(self["@runs"]).__plus((1));
+return smalltalk.withContext(function($ctx1) { 
+self["@runs"]=_st(self["@runs"]).__plus((1));
 return self}, function($ctx1) {$ctx1.fill(self,"increaseRuns",{},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"increaseRuns",{},smalltalk.TestResult)})},
 args: [],
 args: [],
 source: "increaseRuns\x0a\x09runs := runs + 1",
 source: "increaseRuns\x0a\x09runs := runs + 1",
@@ -854,7 +915,8 @@ fn: function (){
 var self=this;
 var self=this;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@timestamp"]=_st($Date())._now();
 self["@timestamp"]=_st($Date())._now();
 self["@runs"]=(0);
 self["@runs"]=(0);
 self["@errors"]=_st($Array())._new();
 self["@errors"]=_st($Array())._new();
@@ -875,7 +937,8 @@ selector: "nextRunDo:",
 category: 'running',
 category: 'running',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(_st(self)._runs()).__eq_eq(_st(self)._total());
 $2=_st(_st(self)._runs()).__eq_eq(_st(self)._total());
 if(! smalltalk.assert($2)){
 if(! smalltalk.assert($2)){
 $1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1)));
 $1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1)));
@@ -898,15 +961,20 @@ fn: function (aTestCase){
 var self=this;
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
 function $TestFailure(){return smalltalk.TestFailure||(typeof TestFailure=="undefined"?nil:TestFailure)}
-return smalltalk.withContext(function($ctx1) { 
_st((function(){
-return smalltalk.withContext(function($ctx2) {
return _st((function(){
-return smalltalk.withContext(function($ctx3) {
_st(self)._increaseRuns();
+return smalltalk.withContext(function($ctx1) { 
+_st((function(){
+return smalltalk.withContext(function($ctx2) {
+return _st((function(){
+return smalltalk.withContext(function($ctx3) {
+_st(self)._increaseRuns();
 return _st(aTestCase)._runCase();
 return _st(aTestCase)._runCase();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._on_do_($TestFailure(),(function(ex){
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._on_do_($TestFailure(),(function(ex){
-return smalltalk.withContext(function($ctx3) {
return _st(self)._addFailure_(aTestCase);
+return smalltalk.withContext(function($ctx3) {
+return _st(self)._addFailure_(aTestCase);
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._addError_(aTestCase);
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._addError_(aTestCase);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"runCase:",{aTestCase:aTestCase},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"runCase:",{aTestCase:aTestCase},smalltalk.TestResult)})},
 args: ["aTestCase"],
 args: ["aTestCase"],
@@ -923,7 +991,8 @@ selector: "runs",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@runs"];
 $1=self["@runs"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"runs",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"runs",{},smalltalk.TestResult)})},
@@ -941,7 +1010,8 @@ selector: "status",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(_st(self)._errors())._isEmpty();
 $2=_st(_st(self)._errors())._isEmpty();
 if(smalltalk.assert($2)){
 if(smalltalk.assert($2)){
 $3=_st(_st(self)._failures())._isEmpty();
 $3=_st(_st(self)._failures())._isEmpty();
@@ -969,7 +1039,8 @@ selector: "timestamp",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@timestamp"];
 $1=self["@timestamp"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"timestamp",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"timestamp",{},smalltalk.TestResult)})},
@@ -987,7 +1058,8 @@ selector: "total",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@total"];
 $1=self["@total"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"total",{},smalltalk.TestResult)})},
 }, function($ctx1) {$ctx1.fill(self,"total",{},smalltalk.TestResult)})},
@@ -1005,7 +1077,8 @@ selector: "total:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aNumber){
 fn: function (aNumber){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@total"]=aNumber;
+return smalltalk.withContext(function($ctx1) { 
+self["@total"]=aNumber;
 return self}, function($ctx1) {$ctx1.fill(self,"total:",{aNumber:aNumber},smalltalk.TestResult)})},
 return self}, function($ctx1) {$ctx1.fill(self,"total:",{aNumber:aNumber},smalltalk.TestResult)})},
 args: ["aNumber"],
 args: ["aNumber"],
 source: "total: aNumber\x0a\x09total := aNumber",
 source: "total: aNumber\x0a\x09total := aNumber",
@@ -1024,7 +1097,8 @@ selector: "announcer",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@announcer"];
 $1=self["@announcer"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"announcer",{},smalltalk.TestSuiteRunner)})},
 }, function($ctx1) {$ctx1.fill(self,"announcer",{},smalltalk.TestSuiteRunner)})},
@@ -1043,9 +1117,11 @@ category: 'private',
 fn: function (anInteger){
 fn: function (anInteger){
 var self=this;
 var self=this;
 function $ReportingTestContext(){return smalltalk.ReportingTestContext||(typeof ReportingTestContext=="undefined"?nil:ReportingTestContext)}
 function $ReportingTestContext(){return smalltalk.ReportingTestContext||(typeof ReportingTestContext=="undefined"?nil:ReportingTestContext)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st($ReportingTestContext())._testCase_result_finished_(_st(self["@suite"])._at_(anInteger),self["@result"],(function(){
 $1=_st($ReportingTestContext())._testCase_result_finished_(_st(self["@suite"])._at_(anInteger),self["@result"],(function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._resume();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._resume();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger},smalltalk.TestSuiteRunner)})},
 }, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger},smalltalk.TestSuiteRunner)})},
@@ -1065,13 +1141,15 @@ fn: function (){
 var self=this;
 var self=this;
 function $Announcer(){return smalltalk.Announcer||(typeof Announcer=="undefined"?nil:Announcer)}
 function $Announcer(){return smalltalk.Announcer||(typeof Announcer=="undefined"?nil:Announcer)}
 function $TestResult(){return smalltalk.TestResult||(typeof TestResult=="undefined"?nil:TestResult)}
 function $TestResult(){return smalltalk.TestResult||(typeof TestResult=="undefined"?nil:TestResult)}
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@announcer"]=_st($Announcer())._new();
 self["@announcer"]=_st($Announcer())._new();
 self["@result"]=_st($TestResult())._new();
 self["@result"]=_st($TestResult())._new();
 self["@runNextTest"]=(function(){
 self["@runNextTest"]=(function(){
 var runs;
 var runs;
-return smalltalk.withContext(function($ctx2) {
runs=_st(self["@result"])._runs();
+return smalltalk.withContext(function($ctx2) {
+runs=_st(self["@result"])._runs();
 runs;
 runs;
 $1=_st(runs).__lt(_st(self["@result"])._total());
 $1=_st(runs).__lt(_st(self["@result"])._total());
 if(smalltalk.assert($1)){
 if(smalltalk.assert($1)){
@@ -1093,7 +1171,8 @@ selector: "result",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 $1=self["@result"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.TestSuiteRunner)})},
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.TestSuiteRunner)})},
@@ -1112,7 +1191,8 @@ category: 'actions',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
-return smalltalk.withContext(function($ctx1) { 
_st(self["@runNextTest"])._fork();
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@runNextTest"])._fork();
 _st(self["@announcer"])._announce_(_st(_st($ResultAnnouncement())._new())._result_(self["@result"]));
 _st(self["@announcer"])._announce_(_st(_st($ResultAnnouncement())._new())._result_(self["@result"]));
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.TestSuiteRunner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.TestSuiteRunner)})},
 args: [],
 args: [],
@@ -1129,7 +1209,8 @@ selector: "run",
 category: 'actions',
 category: 'actions',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@result"])._total_(_st(self["@suite"])._size());
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@result"])._total_(_st(self["@suite"])._size());
 _st(self)._resume();
 _st(self)._resume();
 return self}, function($ctx1) {$ctx1.fill(self,"run",{},smalltalk.TestSuiteRunner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"run",{},smalltalk.TestSuiteRunner)})},
 args: [],
 args: [],
@@ -1146,7 +1227,8 @@ selector: "suite:",
 category: 'accessing',
 category: 'accessing',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@suite"]=aCollection;
+return smalltalk.withContext(function($ctx1) { 
+self["@suite"]=aCollection;
 return self}, function($ctx1) {$ctx1.fill(self,"suite:",{aCollection:aCollection},smalltalk.TestSuiteRunner)})},
 return self}, function($ctx1) {$ctx1.fill(self,"suite:",{aCollection:aCollection},smalltalk.TestSuiteRunner)})},
 args: ["aCollection"],
 args: ["aCollection"],
 source: "suite: aCollection\x0a\x09suite := aCollection",
 source: "suite: aCollection\x0a\x09suite := aCollection",
@@ -1163,7 +1245,8 @@ selector: "new",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.TestSuiteRunner.klass)})},
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.TestSuiteRunner.klass)})},
 args: [],
 args: [],
 source: "new\x0a\x09self shouldNotImplement",
 source: "new\x0a\x09self shouldNotImplement",
@@ -1179,7 +1262,8 @@ selector: "on:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aCollection){
 fn: function (aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(smalltalk.Object.klass.fn.prototype._new.apply(_st(self), []))._suite_(aCollection);
 $1=_st(smalltalk.Object.klass.fn.prototype._new.apply(_st(self), []))._suite_(aCollection);
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},smalltalk.TestSuiteRunner.klass)})},
 }, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},smalltalk.TestSuiteRunner.klass)})},

+ 49 - 24
js/Spaces.deploy.js

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "connectTo:",
 selector: "connectTo:",
 fn: function (aFrame){
 fn: function (aFrame){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._release();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._release();
 self["@frame"]=aFrame;
 self["@frame"]=aFrame;
 return self}, function($ctx1) {$ctx1.fill(self,"connectTo:",{aFrame:aFrame},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"connectTo:",{aFrame:aFrame},smalltalk.ObjectSpace)})},
 messageSends: ["release"]}),
 messageSends: ["release"]}),
@@ -18,7 +19,8 @@ smalltalk.method({
 selector: "create",
 selector: "create",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(window)._jQuery_("body"))._append_("<iframe style=\x22display: none;\x22></iframe>");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(window)._jQuery_("body"))._append_("<iframe style=\x22display: none;\x22></iframe>");
 self["@frame"]=_st(_st(_st(window)._jQuery_("iframe"))._get())._last();
 self["@frame"]=_st(_st(_st(window)._jQuery_("iframe"))._get())._last();
 _st(_st(self["@frame"])._contentWindow())._location_(_st(window)._location());
 _st(_st(self["@frame"])._contentWindow())._location_(_st(window)._location());
 return self}, function($ctx1) {$ctx1.fill(self,"create",{},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"create",{},smalltalk.ObjectSpace)})},
@@ -31,7 +33,8 @@ smalltalk.method({
 selector: "destroy",
 selector: "destroy",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=self["@frame"];
 $1=self["@frame"];
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=self;
 $2=self;
@@ -51,10 +54,12 @@ smalltalk.method({
 selector: "do:",
 selector: "do:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+function $ObjectSpaceConnectionError(){return smalltalk.ObjectSpaceConnectionError||(typeof ObjectSpaceConnectionError=="undefined"?nil:ObjectSpaceConnectionError)}
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=_st(self)._isConnected();
 $1=_st(self)._isConnected();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
-$2=_st((smalltalk.ObjectSpaceConnectionError || ObjectSpaceConnectionError))._signal();
+$2=_st($ObjectSpaceConnectionError())._signal();
 return $2;
 return $2;
 };
 };
 $3=_st(_st(self["@frame"])._contentWindow())._eval_(_st(_st("(").__comma(_st(aBlock)._compiledSource())).__comma(")()"));
 $3=_st(_st(self["@frame"])._contentWindow())._eval_(_st(_st("(").__comma(_st(aBlock)._compiledSource())).__comma(")()"));
@@ -69,7 +74,8 @@ smalltalk.method({
 selector: "frame",
 selector: "frame",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@frame"];
 $1=self["@frame"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"frame",{},smalltalk.ObjectSpace)})},
 }, function($ctx1) {$ctx1.fill(self,"frame",{},smalltalk.ObjectSpace)})},
@@ -82,7 +88,8 @@ smalltalk.method({
 selector: "initialize",
 selector: "initialize",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 _st(self)._create();
 _st(self)._create();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ObjectSpace)})},
 messageSends: ["initialize", "create"]}),
 messageSends: ["initialize", "create"]}),
@@ -94,7 +101,8 @@ smalltalk.method({
 selector: "isConnected",
 selector: "isConnected",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._frame())._notNil();
 $1=_st(_st(self)._frame())._notNil();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isConnected",{},smalltalk.ObjectSpace)})},
 }, function($ctx1) {$ctx1.fill(self,"isConnected",{},smalltalk.ObjectSpace)})},
@@ -107,7 +115,8 @@ smalltalk.method({
 selector: "release",
 selector: "release",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@frame"]=nil;
+return smalltalk.withContext(function($ctx1) { 
+self["@frame"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"release",{},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"release",{},smalltalk.ObjectSpace)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ObjectSpace);
 smalltalk.ObjectSpace);
@@ -118,7 +127,8 @@ smalltalk.method({
 selector: "whenReadyDo:",
 selector: "whenReadyDo:",
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(window)._jQuery_(self["@frame"]))._bind_do_("load",aBlock);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(window)._jQuery_(self["@frame"]))._bind_do_("load",aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"whenReadyDo:",{aBlock:aBlock},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whenReadyDo:",{aBlock:aBlock},smalltalk.ObjectSpace)})},
 messageSends: ["bind:do:", "jQuery:"]}),
 messageSends: ["bind:do:", "jQuery:"]}),
 smalltalk.ObjectSpace);
 smalltalk.ObjectSpace);
@@ -130,7 +140,8 @@ smalltalk.method({
 selector: "on:",
 selector: "on:",
 fn: function (aFrame){
 fn: function (aFrame){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._basicNew();
 $2=_st(self)._basicNew();
 _st($2)._connectTo_(aFrame);
 _st($2)._connectTo_(aFrame);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -148,7 +159,8 @@ smalltalk.method({
 selector: "messageText",
 selector: "messageText",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return "The ObjectSpace is not connected";
+return smalltalk.withContext(function($ctx1) { 
+return "The ObjectSpace is not connected";
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ObjectSpaceConnectionError)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ObjectSpaceConnectionError)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.ObjectSpaceConnectionError);
 smalltalk.ObjectSpaceConnectionError);
@@ -162,7 +174,9 @@ smalltalk.method({
 selector: "setUp",
 selector: "setUp",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@space"]=_st((smalltalk.ObjectSpace || ObjectSpace))._new();
+function $ObjectSpace(){return smalltalk.ObjectSpace||(typeof ObjectSpace=="undefined"?nil:ObjectSpace)}
+return smalltalk.withContext(function($ctx1) { 
+self["@space"]=_st($ObjectSpace())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.ObjectSpaceTest)})},
 messageSends: ["new"]}),
 messageSends: ["new"]}),
 smalltalk.ObjectSpaceTest);
 smalltalk.ObjectSpaceTest);
@@ -173,7 +187,8 @@ smalltalk.method({
 selector: "tearDown",
 selector: "tearDown",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@space"])._destroy();
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@space"])._destroy();
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.ObjectSpaceTest)})},
 messageSends: ["destroy"]}),
 messageSends: ["destroy"]}),
 smalltalk.ObjectSpaceTest);
 smalltalk.ObjectSpaceTest);
@@ -184,12 +199,16 @@ smalltalk.method({
 selector: "testConnection",
 selector: "testConnection",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@space"])._destroy();
+function $ObjectSpaceConnectionError(){return smalltalk.ObjectSpaceConnectionError||(typeof ObjectSpaceConnectionError=="undefined"?nil:ObjectSpaceConnectionError)}
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@space"])._destroy();
 _st(self)._deny_(_st(self["@space"])._isConnected());
 _st(self)._deny_(_st(self["@space"])._isConnected());
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@space"])._do_((function(){
-return smalltalk.withContext(function($ctx3) {
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.ObjectSpaceConnectionError || ObjectSpaceConnectionError));
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@space"])._do_((function(){
+return smalltalk.withContext(function($ctx3) {
+}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ObjectSpaceConnectionError());
 return self}, function($ctx1) {$ctx1.fill(self,"testConnection",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testConnection",{},smalltalk.ObjectSpaceTest)})},
 messageSends: ["destroy", "deny:", "isConnected", "should:raise:", "do:"]}),
 messageSends: ["destroy", "deny:", "isConnected", "should:raise:", "do:"]}),
 smalltalk.ObjectSpaceTest);
 smalltalk.ObjectSpaceTest);
@@ -200,7 +219,8 @@ smalltalk.method({
 selector: "testCreate",
 selector: "testCreate",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(_st(self["@space"])._frame())._notNil());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st(_st(self["@space"])._frame())._notNil());
 _st(self)._assert_(_st(self["@space"])._isConnected());
 _st(self)._assert_(_st(self["@space"])._isConnected());
 return self}, function($ctx1) {$ctx1.fill(self,"testCreate",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testCreate",{},smalltalk.ObjectSpaceTest)})},
 messageSends: ["assert:", "notNil", "frame", "isConnected"]}),
 messageSends: ["assert:", "notNil", "frame", "isConnected"]}),
@@ -213,13 +233,17 @@ selector: "testEvaluation",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var result;
 var result;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@space"])._whenReadyDo_((function(){
-return smalltalk.withContext(function($ctx2) {
result=_st(self["@space"])._do_((function(){
-return smalltalk.withContext(function($ctx3) {
return smalltalk;
+function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@space"])._whenReadyDo_((function(){
+return smalltalk.withContext(function($ctx2) {
+result=_st(self["@space"])._do_((function(){
+return smalltalk.withContext(function($ctx3) {
+return smalltalk;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 result;
 result;
 _st(self)._assert_equals_(_st(_st(result)._class())._name(),"Smalltalk");
 _st(self)._assert_equals_(_st(_st(result)._class())._name(),"Smalltalk");
-_st(self)._deny_(_st(_st(result)._class()).__eq((smalltalk.Smalltalk || Smalltalk)));
+_st(self)._deny_(_st(_st(result)._class()).__eq($Smalltalk()));
 return _st(self)._deny_(_st(result).__eq_eq(smalltalk));
 return _st(self)._deny_(_st(result).__eq_eq(smalltalk));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"testEvaluation",{result:result},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testEvaluation",{result:result},smalltalk.ObjectSpaceTest)})},
@@ -232,7 +256,8 @@ smalltalk.method({
 selector: "testRelease",
 selector: "testRelease",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._deny_(_st(_st(self["@space"])._frame())._isNil());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._deny_(_st(_st(self["@space"])._frame())._isNil());
 _st(self["@space"])._release();
 _st(self["@space"])._release();
 _st(self)._assert_(_st(_st(self["@space"])._frame())._isNil());
 _st(self)._assert_(_st(_st(self["@space"])._frame())._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testRelease",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testRelease",{},smalltalk.ObjectSpaceTest)})},

+ 49 - 24
js/Spaces.js

@@ -8,7 +8,8 @@ selector: "connectTo:",
 category: 'initialization',
 category: 'initialization',
 fn: function (aFrame){
 fn: function (aFrame){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._release();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._release();
 self["@frame"]=aFrame;
 self["@frame"]=aFrame;
 return self}, function($ctx1) {$ctx1.fill(self,"connectTo:",{aFrame:aFrame},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"connectTo:",{aFrame:aFrame},smalltalk.ObjectSpace)})},
 args: ["aFrame"],
 args: ["aFrame"],
@@ -25,7 +26,8 @@ selector: "create",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(window)._jQuery_("body"))._append_("<iframe style=\x22display: none;\x22></iframe>");
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(window)._jQuery_("body"))._append_("<iframe style=\x22display: none;\x22></iframe>");
 self["@frame"]=_st(_st(_st(window)._jQuery_("iframe"))._get())._last();
 self["@frame"]=_st(_st(_st(window)._jQuery_("iframe"))._get())._last();
 _st(_st(self["@frame"])._contentWindow())._location_(_st(window)._location());
 _st(_st(self["@frame"])._contentWindow())._location_(_st(window)._location());
 return self}, function($ctx1) {$ctx1.fill(self,"create",{},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"create",{},smalltalk.ObjectSpace)})},
@@ -43,7 +45,8 @@ selector: "destroy",
 category: 'releasing',
 category: 'releasing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=self["@frame"];
 $1=self["@frame"];
 if(($receiver = $1) == nil || $receiver == undefined){
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=self;
 $2=self;
@@ -68,10 +71,12 @@ selector: "do:",
 category: 'evaluating',
 category: 'evaluating',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+function $ObjectSpaceConnectionError(){return smalltalk.ObjectSpaceConnectionError||(typeof ObjectSpaceConnectionError=="undefined"?nil:ObjectSpaceConnectionError)}
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=_st(self)._isConnected();
 $1=_st(self)._isConnected();
 if(! smalltalk.assert($1)){
 if(! smalltalk.assert($1)){
-$2=_st((smalltalk.ObjectSpaceConnectionError || ObjectSpaceConnectionError))._signal();
+$2=_st($ObjectSpaceConnectionError())._signal();
 return $2;
 return $2;
 };
 };
 $3=_st(_st(self["@frame"])._contentWindow())._eval_(_st(_st("(").__comma(_st(aBlock)._compiledSource())).__comma(")()"));
 $3=_st(_st(self["@frame"])._contentWindow())._eval_(_st(_st("(").__comma(_st(aBlock)._compiledSource())).__comma(")()"));
@@ -91,7 +96,8 @@ selector: "frame",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@frame"];
 $1=self["@frame"];
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"frame",{},smalltalk.ObjectSpace)})},
 }, function($ctx1) {$ctx1.fill(self,"frame",{},smalltalk.ObjectSpace)})},
@@ -109,7 +115,8 @@ selector: "initialize",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
+return smalltalk.withContext(function($ctx1) { 
+smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 _st(self)._create();
 _st(self)._create();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ObjectSpace)})},
 args: [],
 args: [],
@@ -126,7 +133,8 @@ selector: "isConnected",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._frame())._notNil();
 $1=_st(_st(self)._frame())._notNil();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isConnected",{},smalltalk.ObjectSpace)})},
 }, function($ctx1) {$ctx1.fill(self,"isConnected",{},smalltalk.ObjectSpace)})},
@@ -144,7 +152,8 @@ selector: "release",
 category: 'releasing',
 category: 'releasing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@frame"]=nil;
+return smalltalk.withContext(function($ctx1) { 
+self["@frame"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"release",{},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"release",{},smalltalk.ObjectSpace)})},
 args: [],
 args: [],
 source: "release\x0a\x09frame := nil",
 source: "release\x0a\x09frame := nil",
@@ -160,7 +169,8 @@ selector: "whenReadyDo:",
 category: 'events',
 category: 'events',
 fn: function (aBlock){
 fn: function (aBlock){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(window)._jQuery_(self["@frame"]))._bind_do_("load",aBlock);
+return smalltalk.withContext(function($ctx1) { 
+_st(_st(window)._jQuery_(self["@frame"]))._bind_do_("load",aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"whenReadyDo:",{aBlock:aBlock},smalltalk.ObjectSpace)})},
 return self}, function($ctx1) {$ctx1.fill(self,"whenReadyDo:",{aBlock:aBlock},smalltalk.ObjectSpace)})},
 args: ["aBlock"],
 args: ["aBlock"],
 source: "whenReadyDo: aBlock\x0a\x09(window jQuery: frame)\x0a\x09\x09bind: 'load'\x0a\x09\x09do: aBlock",
 source: "whenReadyDo: aBlock\x0a\x09(window jQuery: frame)\x0a\x09\x09bind: 'load'\x0a\x09\x09do: aBlock",
@@ -177,7 +187,8 @@ selector: "on:",
 category: 'instance creation',
 category: 'instance creation',
 fn: function (aFrame){
 fn: function (aFrame){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1;
 $2=_st(self)._basicNew();
 $2=_st(self)._basicNew();
 _st($2)._connectTo_(aFrame);
 _st($2)._connectTo_(aFrame);
 $3=_st($2)._yourself();
 $3=_st($2)._yourself();
@@ -200,7 +211,8 @@ selector: "messageText",
 category: 'accessing',
 category: 'accessing',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return "The ObjectSpace is not connected";
+return smalltalk.withContext(function($ctx1) { 
+return "The ObjectSpace is not connected";
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ObjectSpaceConnectionError)})},
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ObjectSpaceConnectionError)})},
 args: [],
 args: [],
 source: "messageText\x0a\x09^ 'The ObjectSpace is not connected'",
 source: "messageText\x0a\x09^ 'The ObjectSpace is not connected'",
@@ -219,7 +231,9 @@ selector: "setUp",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@space"]=_st((smalltalk.ObjectSpace || ObjectSpace))._new();
+function $ObjectSpace(){return smalltalk.ObjectSpace||(typeof ObjectSpace=="undefined"?nil:ObjectSpace)}
+return smalltalk.withContext(function($ctx1) { 
+self["@space"]=_st($ObjectSpace())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.ObjectSpaceTest)})},
 args: [],
 args: [],
 source: "setUp\x0a\x09space := ObjectSpace new",
 source: "setUp\x0a\x09space := ObjectSpace new",
@@ -235,7 +249,8 @@ selector: "tearDown",
 category: 'initialization',
 category: 'initialization',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@space"])._destroy();
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@space"])._destroy();
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.ObjectSpaceTest)})},
 args: [],
 args: [],
 source: "tearDown\x0a\x09space destroy",
 source: "tearDown\x0a\x09space destroy",
@@ -251,12 +266,16 @@ selector: "testConnection",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@space"])._destroy();
+function $ObjectSpaceConnectionError(){return smalltalk.ObjectSpaceConnectionError||(typeof ObjectSpaceConnectionError=="undefined"?nil:ObjectSpaceConnectionError)}
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@space"])._destroy();
 _st(self)._deny_(_st(self["@space"])._isConnected());
 _st(self)._deny_(_st(self["@space"])._isConnected());
 _st(self)._should_raise_((function(){
 _st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(self["@space"])._do_((function(){
-return smalltalk.withContext(function($ctx3) {
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.ObjectSpaceConnectionError || ObjectSpaceConnectionError));
+return smalltalk.withContext(function($ctx2) {
+return _st(self["@space"])._do_((function(){
+return smalltalk.withContext(function($ctx3) {
+}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ObjectSpaceConnectionError());
 return self}, function($ctx1) {$ctx1.fill(self,"testConnection",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testConnection",{},smalltalk.ObjectSpaceTest)})},
 args: [],
 args: [],
 source: "testConnection\x0a\x09space destroy.\x0a\x09self deny: space isConnected.\x0a\x09self should: [ space do: [] ] raise: ObjectSpaceConnectionError",
 source: "testConnection\x0a\x09space destroy.\x0a\x09self deny: space isConnected.\x0a\x09self should: [ space do: [] ] raise: ObjectSpaceConnectionError",
@@ -272,7 +291,8 @@ selector: "testCreate",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(_st(self["@space"])._frame())._notNil());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._assert_(_st(_st(self["@space"])._frame())._notNil());
 _st(self)._assert_(_st(self["@space"])._isConnected());
 _st(self)._assert_(_st(self["@space"])._isConnected());
 return self}, function($ctx1) {$ctx1.fill(self,"testCreate",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testCreate",{},smalltalk.ObjectSpaceTest)})},
 args: [],
 args: [],
@@ -290,13 +310,17 @@ category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 var result;
 var result;
-return smalltalk.withContext(function($ctx1) { 
_st(self["@space"])._whenReadyDo_((function(){
-return smalltalk.withContext(function($ctx2) {
result=_st(self["@space"])._do_((function(){
-return smalltalk.withContext(function($ctx3) {
return smalltalk;
+function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
+return smalltalk.withContext(function($ctx1) { 
+_st(self["@space"])._whenReadyDo_((function(){
+return smalltalk.withContext(function($ctx2) {
+result=_st(self["@space"])._do_((function(){
+return smalltalk.withContext(function($ctx3) {
+return smalltalk;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 result;
 result;
 _st(self)._assert_equals_(_st(_st(result)._class())._name(),"Smalltalk");
 _st(self)._assert_equals_(_st(_st(result)._class())._name(),"Smalltalk");
-_st(self)._deny_(_st(_st(result)._class()).__eq((smalltalk.Smalltalk || Smalltalk)));
+_st(self)._deny_(_st(_st(result)._class()).__eq($Smalltalk()));
 return _st(self)._deny_(_st(result).__eq_eq(smalltalk));
 return _st(self)._deny_(_st(result).__eq_eq(smalltalk));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"testEvaluation",{result:result},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testEvaluation",{result:result},smalltalk.ObjectSpaceTest)})},
@@ -314,7 +338,8 @@ selector: "testRelease",
 category: 'tests',
 category: 'tests',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._deny_(_st(_st(self["@space"])._frame())._isNil());
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._deny_(_st(_st(self["@space"])._frame())._isNil());
 _st(self["@space"])._release();
 _st(self["@space"])._release();
 _st(self)._assert_(_st(_st(self["@space"])._frame())._isNil());
 _st(self)._assert_(_st(_st(self["@space"])._frame())._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testRelease",{},smalltalk.ObjectSpaceTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testRelease",{},smalltalk.ObjectSpaceTest)})},

+ 4 - 6
st/Compiler-IR.st

@@ -167,14 +167,14 @@ visitDynamicDictionaryNode: aNode
 
 
 visitJSStatementNode: aNode
 visitJSStatementNode: aNode
 	^ IRVerbatim new
 	^ IRVerbatim new
-		source: aNode source;
+		source: aNode source crlfSanitized;
 		yourself
 		yourself
 !
 !
 
 
 visitMethodNode: aNode
 visitMethodNode: aNode
 
 
 	self method: (IRMethod new
 	self method: (IRMethod new
-		source: self source;
+		source: self source crlfSanitized;
 		theClass: self theClass;
 		theClass: self theClass;
 		arguments: aNode arguments;
 		arguments: aNode arguments;
 		selector: aNode selector;
 		selector: aNode selector;
@@ -1032,8 +1032,7 @@ nextPutAssignment
 
 
 nextPutBlockContextFor: anIRClosure during: aBlock
 nextPutBlockContextFor: anIRClosure during: aBlock
 	self
 	self
-		nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {';
-		nextPutAll: String cr.
+		nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {'; lf.
 	
 	
 	aBlock value.
 	aBlock value.
 	
 	
@@ -1083,8 +1082,7 @@ nextPutClosureWith: aBlock arguments: anArray
 
 
 nextPutContextFor: aMethod during: aBlock
 nextPutContextFor: aMethod during: aBlock
 	self
 	self
-		nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { ';
-		nextPutAll: String cr.
+		nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { '; lf.
 	aBlock value.
 	aBlock value.
 	
 	
 	self
 	self

+ 4 - 0
st/Kernel-Collections.st

@@ -1195,6 +1195,10 @@ asUppercase
 	<return self.toUpperCase()>
 	<return self.toUpperCase()>
 !
 !
 
 
+crlfSanitized
+	^self lines join: String lf
+!
+
 reversed
 reversed
 	<return self.split("").reverse().join("")>
 	<return self.split("").reverse().join("")>
 !
 !

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác