Quellcode durchsuchen

Merge pull request #441 from herby/crlf

crlf sanitization of Compiler output (lf only outputted)
Nicolas Petton vor 11 Jahren
Ursprung
Commit
131a0441d7
50 geänderte Dateien mit 6744 neuen und 3388 gelöschten Zeilen
  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 (){
 var self=this;
 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));
 return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result},smalltalk.Benchfib.klass)})},
 messageSends: ["tinyBenchmarks", "log:", ","]}),
@@ -21,7 +22,8 @@ smalltalk.method({
 selector: "benchFib",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self).__lt((2));
 if(smalltalk.assert($2)){
 $1=(1);
@@ -41,27 +43,33 @@ fn: function (){
 var self=this;
 var size,flags,prime,k,count;
 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);
 _st((1))._to_do_(self,(function(iter){
-return smalltalk.withContext(function($ctx2) {
count=(0);
+return smalltalk.withContext(function($ctx2) {
+count=(0);
 count;
 flags=_st($Array())._new();
 flags;
 _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)})}));
 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)){
 prime=_st(i).__plus((1));
 prime;
 k=_st(i).__plus(prime);
 k;
 _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(){
-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);
 return k;
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
@@ -82,7 +90,8 @@ smalltalk.method({
 selector: "jsbenchFib",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
if (this < 2) {
+return smalltalk.withContext(function($ctx1) { 
+if (this < 2) {
 return 1;
 } else {
 return (this-1)._jsbenchFib() + (this-2)._jsbenchFib() + 1;};
@@ -96,7 +105,8 @@ smalltalk.method({
 selector: "jsbenchmark",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 var size = 8190;
 var count;
 for (var z=0;z<this;z++) {
@@ -130,28 +140,35 @@ fn: function (){
 var self=this;
 var t1,t2,r,n1,n2;
 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);
 _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)})}));
 t1;
 return _st(t1).__lt((1000));
 }, 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;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 n2=(28);
 _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;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t2;
 return _st(t2).__lt((1000));
 }, 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;
 }, 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");
@@ -168,28 +185,35 @@ fn: function (){
 var self=this;
 var t1,t2,r,n1,n2;
 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);
 _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)})}));
 t1;
 return _st(t1).__lt((1000));
 }, 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;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 n2=(16);
 _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;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t2;
 return _st(t2).__lt((1000));
 }, 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;
 }, 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");

+ 48 - 24
js/Benchfib.js

@@ -9,7 +9,8 @@ category: 'not yet classified',
 fn: function (){
 var self=this;
 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));
 return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result},smalltalk.Benchfib.klass)})},
 args: [],
@@ -27,7 +28,8 @@ selector: "benchFib",
 category: '*Benchfib',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self).__lt((2));
 if(smalltalk.assert($2)){
 $1=(1);
@@ -52,27 +54,33 @@ fn: function (){
 var self=this;
 var size,flags,prime,k,count;
 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);
 _st((1))._to_do_(self,(function(iter){
-return smalltalk.withContext(function($ctx2) {
count=(0);
+return smalltalk.withContext(function($ctx2) {
+count=(0);
 count;
 flags=_st($Array())._new();
 flags;
 _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)})}));
 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)){
 prime=_st(i).__plus((1));
 prime;
 k=_st(i).__plus(prime);
 k;
 _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(){
-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);
 return k;
 }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
@@ -98,7 +106,8 @@ selector: "jsbenchFib",
 category: '*Benchfib',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
if (this < 2) {
+return smalltalk.withContext(function($ctx1) { 
+if (this < 2) {
 return 1;
 } else {
 return (this-1)._jsbenchFib() + (this-2)._jsbenchFib() + 1;};
@@ -117,7 +126,8 @@ selector: "jsbenchmark",
 category: '*Benchfib',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
+return smalltalk.withContext(function($ctx1) { 
+
 var size = 8190;
 var count;
 for (var z=0;z<this;z++) {
@@ -156,28 +166,35 @@ fn: function (){
 var self=this;
 var t1,t2,r,n1,n2;
 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);
 _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)})}));
 t1;
 return _st(t1).__lt((1000));
 }, 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;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 n2=(28);
 _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;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t2;
 return _st(t2).__lt((1000));
 }, 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;
 }, 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");
@@ -199,28 +216,35 @@ fn: function (){
 var self=this;
 var t1,t2,r,n1,n2;
 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);
 _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)})}));
 t1;
 return _st(t1).__lt((1000));
 }, 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;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 n2=(16);
 _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;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 t2;
 return _st(t2).__lt((1000));
 }, 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;
 }, 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");

Datei-Diff unterdrückt, da er zu groß ist
+ 202 - 101
js/Canvas.deploy.js


Datei-Diff unterdrückt, da er zu groß ist
+ 202 - 101
js/Canvas.js


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

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

+ 208 - 104
js/Compiler-AST.js

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

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

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

+ 114 - 57
js/Compiler-Core.js

@@ -8,7 +8,8 @@ selector: "classNameFor:",
 category: 'accessing',
 fn: function (aClass){
 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();
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
@@ -36,7 +37,8 @@ selector: "compileNode:",
 category: 'compiling',
 fn: function (aNode){
 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)})},
 args: ["aNode"],
 source: "compileNode: aNode\x0a\x09self subclassResponsibility",
@@ -52,7 +54,8 @@ selector: "currentClass",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentClass"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.AbstractCodeGenerator)})},
@@ -70,7 +73,8 @@ selector: "currentClass:",
 category: 'accessing',
 fn: function (aClass){
 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)})},
 args: ["aClass"],
 source: "currentClass: aClass\x0a\x09currentClass := aClass",
@@ -86,7 +90,8 @@ selector: "pseudoVariables",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=["self", "super", "true", "false", "nil", "thisContext"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pseudoVariables",{},smalltalk.AbstractCodeGenerator)})},
@@ -105,7 +110,8 @@ category: 'accessing',
 fn: function (aString){
 var self=this;
 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);
 if(smalltalk.assert($2)){
 $1=_st(aString).__comma("_");
@@ -128,7 +134,8 @@ selector: "source",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@source"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
@@ -151,7 +158,8 @@ selector: "source:",
 category: 'accessing',
 fn: function (aString){
 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)})},
 args: ["aString"],
 source: "source: aString\x0a\x09source := aString",
@@ -172,7 +180,8 @@ category: 'compiling',
 fn: function (aNode){
 var self=this;
 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);
 ir=_st(_st(self)._translator())._visit_(aNode);
 $2=_st(self)._irTranslator();
@@ -196,7 +205,8 @@ category: 'compiling',
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"irTranslator",{},smalltalk.CodeGenerator)})},
@@ -215,7 +225,8 @@ category: 'compiling',
 fn: function (){
 var self=this;
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{},smalltalk.CodeGenerator)})},
@@ -234,7 +245,8 @@ category: 'compiling',
 fn: function (){
 var self=this;
 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();
 _st($2)._source_(_st(self)._source());
 _st($2)._theClass_(_st(self)._currentClass());
@@ -261,7 +273,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$InliningCodeGenerator();
@@ -284,7 +297,8 @@ selector: "codeGeneratorClass:",
 category: 'accessing',
 fn: function (aClass){
 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)})},
 args: ["aClass"],
 source: "codeGeneratorClass: aClass\x0a\x09codeGeneratorClass := aClass",
@@ -300,7 +314,8 @@ selector: "compile:",
 category: 'compiling',
 fn: function (aString){
 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));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Compiler)})},
@@ -318,7 +333,8 @@ selector: "compile:forClass:",
 category: 'compiling',
 fn: function (aString,aClass){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(self)._currentClass_(aClass);
 _st(self)._source_(aString);
 $1=_st(self)._compile_(aString);
@@ -339,7 +355,8 @@ category: 'compiling',
 fn: function (aString){
 var self=this;
 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)._source_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
@@ -359,7 +376,8 @@ selector: "compileExpression:on:",
 category: 'compiling',
 fn: function (aString,anObject){
 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)._source_(_st(_st("xxxDoIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
@@ -380,7 +398,8 @@ category: 'compiling',
 fn: function (aNode){
 var self=this;
 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();
 $1=generator;
 _st($1)._source_(_st(self)._source());
@@ -404,7 +423,8 @@ selector: "currentClass",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentClass"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentClass",{},smalltalk.Compiler)})},
@@ -422,7 +442,8 @@ selector: "currentClass:",
 category: 'accessing',
 fn: function (aClass){
 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)})},
 args: ["aClass"],
 source: "currentClass: aClass\x0a\x09currentClass := aClass",
@@ -438,7 +459,8 @@ selector: "eval:",
 category: 'compiling',
 fn: function (aString){
 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)})},
 args: ["aString"],
 source: "eval: aString\x0a\x09<return eval(aString)>",
@@ -455,7 +477,8 @@ category: 'compiling',
 fn: function (aString){
 var self=this;
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString},smalltalk.Compiler)})},
@@ -474,7 +497,8 @@ category: 'compiling',
 fn: function (aString,anObject){
 var self=this;
 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));
 _st(method)._category_("xxxDoIt");
 _st(_st(anObject)._class())._addCompiledMethod_(method);
@@ -498,7 +522,8 @@ category: 'compiling',
 fn: function (aString,aBehavior,anotherString){
 var self=this;
 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);
 return $1;
 }, 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){
 var self=this;
 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);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.Compiler)})},
@@ -535,7 +561,8 @@ selector: "parseExpression:",
 category: 'compiling',
 fn: function (aString){
 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"));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString},smalltalk.Compiler)})},
@@ -553,9 +580,11 @@ selector: "recompile:",
 category: 'compiling',
 fn: function (aClass){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _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());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $1=_st(aClass)._isMetaclass();
@@ -579,14 +608,17 @@ fn: function (){
 var self=this;
 function $Transcript(){return smalltalk.Transcript||(typeof Transcript=="undefined"?nil:Transcript)}
 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){
-return smalltalk.withContext(function($ctx2) {
$1=$Transcript();
+return smalltalk.withContext(function($ctx2) {
+$1=$Transcript();
 _st($1)._show_(each);
 $2=_st($1)._cr();
 $2;
 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($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler)})},
@@ -604,7 +636,8 @@ selector: "source",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@source"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
@@ -627,7 +660,8 @@ selector: "source:",
 category: 'accessing',
 fn: function (aString){
 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)})},
 args: ["aString"],
 source: "source: aString\x0a\x09source := aString",
@@ -643,7 +677,8 @@ selector: "unknownVariables",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@unknownVariables"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"unknownVariables",{},smalltalk.Compiler)})},
@@ -661,7 +696,8 @@ selector: "unknownVariables:",
 category: 'accessing',
 fn: function (aCollection){
 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)})},
 args: ["aCollection"],
 source: "unknownVariables: aCollection\x0a\x09unknownVariables := aCollection",
@@ -678,7 +714,8 @@ selector: "recompile:",
 category: 'compiling',
 fn: function (aClass){
 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)})},
 args: ["aClass"],
 source: "recompile: aClass\x0a\x09self new recompile: aClass",
@@ -695,8 +732,10 @@ category: 'compiling',
 fn: function (){
 var self=this;
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler.klass)})},
 args: [],
@@ -720,7 +759,8 @@ selector: "visit:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(aNode)._accept_(self);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visit:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -738,9 +778,11 @@ selector: "visitAll:",
 category: 'visiting',
 fn: function (aCollection){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $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)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection},smalltalk.NodeVisitor)})},
@@ -758,7 +800,8 @@ selector: "visitAssignmentNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -776,7 +819,8 @@ selector: "visitBlockNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -794,7 +838,8 @@ selector: "visitBlockSequenceNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitSequenceNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -812,7 +857,8 @@ selector: "visitCascadeNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -830,7 +876,8 @@ selector: "visitClassReferenceNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitVariableNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -848,7 +895,8 @@ selector: "visitDynamicArrayNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -866,7 +914,8 @@ selector: "visitDynamicDictionaryNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -884,7 +933,8 @@ selector: "visitJSStatementNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -902,7 +952,8 @@ selector: "visitMethodNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -920,7 +971,8 @@ selector: "visitNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitAll_(_st(aNode)._nodes());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -938,7 +990,8 @@ selector: "visitReturnNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -956,7 +1009,8 @@ selector: "visitSendNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -974,7 +1028,8 @@ selector: "visitSequenceNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -992,7 +1047,8 @@ selector: "visitValueNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
@@ -1010,7 +1066,8 @@ selector: "visitVariableNode:",
 category: 'visiting',
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
 }, 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",
 fn: function (){
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.InvalidAssignmentError)})},
@@ -31,7 +32,8 @@ smalltalk.method({
 selector: "variableName",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.InvalidAssignmentError)})},
@@ -44,7 +46,8 @@ smalltalk.method({
 selector: "variableName:",
 fn: function (aString){
 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)})},
 messageSends: []}),
 smalltalk.InvalidAssignmentError);
@@ -58,7 +61,8 @@ smalltalk.method({
 selector: "messageText",
 fn: function (){
 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");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ShadowingVariableError)})},
@@ -71,7 +75,8 @@ smalltalk.method({
 selector: "variableName",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.ShadowingVariableError)})},
@@ -84,7 +89,8 @@ smalltalk.method({
 selector: "variableName:",
 fn: function (aString){
 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)})},
 messageSends: []}),
 smalltalk.ShadowingVariableError);
@@ -98,7 +104,8 @@ smalltalk.method({
 selector: "messageText",
 fn: function (){
 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");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.UnknownVariableError)})},
@@ -111,7 +118,8 @@ smalltalk.method({
 selector: "variableName",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.UnknownVariableError)})},
@@ -124,7 +132,8 @@ smalltalk.method({
 selector: "variableName:",
 fn: function (aString){
 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)})},
 messageSends: []}),
 smalltalk.UnknownVariableError);
@@ -138,7 +147,8 @@ smalltalk.method({
 selector: "basicSignal:",
 fn: function (anError){
 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)})},
 messageSends: []}),
 smalltalk.RethrowErrorHandler);
@@ -149,7 +159,8 @@ smalltalk.method({
 selector: "handleError:",
 fn: function (anError){
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 messageSends: ["handleError:", "basicSignal:"]}),

+ 22 - 11
js/Compiler-Exceptions.js

@@ -24,7 +24,8 @@ selector: "messageText",
 category: 'accessing',
 fn: function (){
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.InvalidAssignmentError)})},
@@ -42,7 +43,8 @@ selector: "variableName",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.InvalidAssignmentError)})},
@@ -60,7 +62,8 @@ selector: "variableName:",
 category: 'accessing',
 fn: function (aString){
 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)})},
 args: ["aString"],
 source: "variableName: aString\x0a\x09variableName := aString",
@@ -80,7 +83,8 @@ selector: "messageText",
 category: 'accessing',
 fn: function (){
 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");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ShadowingVariableError)})},
@@ -98,7 +102,8 @@ selector: "variableName",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.ShadowingVariableError)})},
@@ -116,7 +121,8 @@ selector: "variableName:",
 category: 'accessing',
 fn: function (aString){
 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)})},
 args: ["aString"],
 source: "variableName: aString\x0a\x09variableName := aString",
@@ -136,7 +142,8 @@ selector: "messageText",
 category: 'accessing',
 fn: function (){
 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");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.UnknownVariableError)})},
@@ -154,7 +161,8 @@ selector: "variableName",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@variableName"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variableName",{},smalltalk.UnknownVariableError)})},
@@ -172,7 +180,8 @@ selector: "variableName:",
 category: 'accessing',
 fn: function (aString){
 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)})},
 args: ["aString"],
 source: "variableName: aString\x0a\x09variableName := aString",
@@ -192,7 +201,8 @@ selector: "basicSignal:",
 category: 'error handling',
 fn: function (anError){
 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)})},
 args: ["anError"],
 source: "basicSignal: anError\x0a\x09<throw anError>",
@@ -208,7 +218,8 @@ selector: "handleError:",
 category: 'error handling',
 fn: function (anError){
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 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) { 
 var $2,$3,$1;
 $2=_st($IRVerbatim())._new();
-_st($2)._source_(_st(aNode)._source());
+_st($2)._source_(_st(_st(aNode)._source())._crlfSanitized());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
-messageSends: ["source:", "source", "new", "yourself"]}),
+messageSends: ["source:", "crlfSanitized", "source", "new", "yourself"]}),
 smalltalk.IRASTTranslator);
 
 smalltalk.addMethod(
@@ -389,7 +389,7 @@ function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?ni
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $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)._arguments_(_st(aNode)._arguments());
 _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();
 return $8;
 }, 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.addMethod(
@@ -2453,12 +2453,11 @@ smalltalk.method({
 selector: "nextPutBlockContextFor:during:",
 fn: function (anIRClosure,aBlock){
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=self;
 _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();
 $3=self;
 _st($3)._nextPutAll_(_st(_st("}, function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
@@ -2478,7 +2477,7 @@ $7=self;
 _st($7)._nextPutAll_("},");
 $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)})},
-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.addMethod(
@@ -2535,12 +2534,11 @@ smalltalk.method({
 selector: "nextPutContextFor:during:",
 fn: function (aMethod,aBlock){
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=self;
 _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();
 $3=self;
 _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());
 $8=_st($7)._nextPutAll_(")})");
 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.addMethod(

+ 14 - 16
js/Compiler-IR.js

@@ -455,14 +455,14 @@ function $IRVerbatim(){return smalltalk.IRVerbatim||(typeof IRVerbatim=="undefin
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 $2=_st($IRVerbatim())._new();
-_st($2)._source_(_st(aNode)._source());
+_st($2)._source_(_st(_st(aNode)._source())._crlfSanitized());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 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"]
 }),
 smalltalk.IRASTTranslator);
@@ -481,7 +481,7 @@ function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?ni
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $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)._arguments_(_st(aNode)._arguments());
 _st($1)._selector_(_st(aNode)._selector());
@@ -514,8 +514,8 @@ $8=_st(self)._method();
 return $8;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 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"]
 }),
 smalltalk.IRASTTranslator);
@@ -3228,12 +3228,11 @@ selector: "nextPutBlockContextFor:during:",
 category: 'streaming',
 fn: function (anIRClosure,aBlock){
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=self;
 _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();
 $3=self;
 _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(")})"));
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},smalltalk.JSStream)})},
 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);
 
@@ -3325,12 +3324,11 @@ selector: "nextPutContextFor:during:",
 category: 'streaming',
 fn: function (aMethod,aBlock){
 var self=this;
-function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8;
 $1=self;
 _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();
 $3=self;
 _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_(")})");
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},smalltalk.JSStream)})},
 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);
 

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

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

+ 208 - 104
js/Compiler-Inlining.js

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

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

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "initializeFromMethodContext:",
 fn: function (aMethodContext){
 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)._receiver_(_st(aMethodContext)._receiver());
 _st(self)._method_(_st(aMethodContext)._method());
@@ -17,7 +18,8 @@ $1;
 _st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethodContext)._outerContext()));
 };
 _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)})}));
 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"]}),
@@ -29,9 +31,11 @@ smalltalk.method({
 selector: "localAt:",
 fn: function (aString){
 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(){
-return smalltalk.withContext(function($ctx2) {
return nil;
+return smalltalk.withContext(function($ctx2) {
+return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString},smalltalk.AIContext)})},
@@ -44,7 +48,8 @@ smalltalk.method({
 selector: "localAt:put:",
 fn: function (aString,anObject){
 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)})},
 messageSends: ["at:put:", "locals"]}),
 smalltalk.AIContext);
@@ -56,7 +61,8 @@ selector: "locals",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@locals"]=_st($Dictionary())._new();
@@ -75,7 +81,8 @@ smalltalk.method({
 selector: "method",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@method"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.AIContext)})},
@@ -88,7 +95,8 @@ smalltalk.method({
 selector: "method:",
 fn: function (aCompiledMethod){
 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)})},
 messageSends: []}),
 smalltalk.AIContext);
@@ -99,7 +107,8 @@ smalltalk.method({
 selector: "outerContext",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@outerContext"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.AIContext)})},
@@ -112,7 +121,8 @@ smalltalk.method({
 selector: "outerContext:",
 fn: function (anAIContext){
 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)})},
 messageSends: []}),
 smalltalk.AIContext);
@@ -123,7 +133,8 @@ smalltalk.method({
 selector: "pc",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@pc"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@pc"]=(0);
@@ -142,7 +153,8 @@ smalltalk.method({
 selector: "pc:",
 fn: function (anInteger){
 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)})},
 messageSends: []}),
 smalltalk.AIContext);
@@ -153,7 +165,8 @@ smalltalk.method({
 selector: "receiver",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._localAt_("self");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})},
@@ -166,7 +179,8 @@ smalltalk.method({
 selector: "receiver:",
 fn: function (anObject){
 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)})},
 messageSends: ["localAt:put:"]}),
 smalltalk.AIContext);
@@ -177,7 +191,8 @@ smalltalk.method({
 selector: "selector",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._metod();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
@@ -196,7 +211,8 @@ smalltalk.method({
 selector: "fromMethodContext:",
 fn: function (aMethodContext){
 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();
 _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
@@ -217,7 +233,8 @@ var self=this;
 var ast;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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());
 _st(_st($SemanticAnalyzer())._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast);
 $1=ast;
@@ -232,7 +249,8 @@ smalltalk.method({
 selector: "context",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@context"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.ASTDebugger)})},
@@ -246,7 +264,8 @@ selector: "context:",
 fn: function (aContext){
 var self=this;
 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)})},
 messageSends: ["new"]}),
 smalltalk.ASTDebugger);
@@ -258,7 +277,8 @@ selector: "defaultInterpreterClass",
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{},smalltalk.ASTDebugger)})},
@@ -271,7 +291,8 @@ smalltalk.method({
 selector: "initializeInterpreter",
 fn: function (){
 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)})},
 messageSends: ["interpret:", "first", "nodes", "buildAST", "interpreter"]}),
 smalltalk.ASTDebugger);
@@ -283,7 +304,8 @@ selector: "initializeWithContext:",
 fn: function (aMethodContext){
 var self=this;
 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();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext},smalltalk.ASTDebugger)})},
 messageSends: ["context:", "fromMethodContext:", "initializeInterpreter"]}),
@@ -295,7 +317,8 @@ smalltalk.method({
 selector: "interpreter",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@interpreter"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@interpreter"]=_st(_st(self)._defaultInterpreterClass())._new();
@@ -314,7 +337,8 @@ smalltalk.method({
 selector: "interpreter:",
 fn: function (anInterpreter){
 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)})},
 messageSends: []}),
 smalltalk.ASTDebugger);
@@ -325,7 +349,8 @@ smalltalk.method({
 selector: "method",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._context())._method();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})},
@@ -338,7 +363,8 @@ smalltalk.method({
 selector: "restart",
 fn: function (){
 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)})},
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
@@ -349,7 +375,8 @@ smalltalk.method({
 selector: "resume",
 fn: function (){
 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)})},
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
@@ -360,14 +387,19 @@ smalltalk.method({
 selector: "step",
 fn: function (){
 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(){
-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($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();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})},
@@ -380,7 +412,8 @@ smalltalk.method({
 selector: "stepInto",
 fn: function (){
 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)})},
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
@@ -391,7 +424,8 @@ smalltalk.method({
 selector: "stepOver",
 fn: function (){
 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)})},
 messageSends: ["step"]}),
 smalltalk.ASTDebugger);
@@ -403,7 +437,8 @@ smalltalk.method({
 selector: "context:",
 fn: function (aMethodContext){
 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();
 _st($2)._initializeWithContext_(aMethodContext);
 $3=_st($2)._yourself();
@@ -421,7 +456,8 @@ smalltalk.method({
 selector: "assign:to:",
 fn: function (aNode,anObject){
 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();
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(self)._context())._receiver())._instVarAt_put_(_st(aNode)._value(),anObject);
@@ -440,7 +476,8 @@ selector: "context",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@context"]=_st($AIContext())._new();
@@ -459,7 +496,8 @@ smalltalk.method({
 selector: "context:",
 fn: function (anAIContext){
 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)})},
 messageSends: []}),
 smalltalk.ASTInterpreter);
@@ -470,7 +508,8 @@ smalltalk.method({
 selector: "continue:value:",
 fn: function (aBlock,anObject){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@result"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@result"]=anObject;
 _st(aBlock)._value_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject},smalltalk.ASTInterpreter)})},
 messageSends: ["value:"]}),
@@ -482,7 +521,8 @@ smalltalk.method({
 selector: "currentNode",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentNode"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentNode",{},smalltalk.ASTInterpreter)})},
@@ -498,13 +538,17 @@ var self=this;
 var source,function_;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 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){
-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){
-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(){
-return smalltalk.withContext(function($ctx3) {
return _st(str)._nextPutAll_(",");
+return smalltalk.withContext(function($ctx3) {
+return _st(str)._nextPutAll_(",");
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 $1=str;
 _st($1)._nextPutAll_("){ return (function() {");
@@ -525,7 +569,8 @@ smalltalk.method({
 selector: "initialize",
 fn: function (){
 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;
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTInterpreter)})},
 messageSends: ["initialize"]}),
@@ -537,9 +582,11 @@ smalltalk.method({
 selector: "interpret:",
 fn: function (aNode){
 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){
-return smalltalk.withContext(function($ctx2) {
self["@result"]=value;
+return smalltalk.withContext(function($ctx2) {
+self["@result"]=value;
 return self["@result"];
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode},smalltalk.ASTInterpreter)})},
@@ -552,7 +599,8 @@ smalltalk.method({
 selector: "interpret:continue:",
 fn: function (aNode,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=self["@shouldReturn"];
 if(smalltalk.assert($1)){
 $2=self;
@@ -563,7 +611,8 @@ if(smalltalk.assert($3)){
 self["@currentNode"]=aNode;
 self["@currentNode"];
 _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)})}));
 } else {
 _st(self)._continue_value_(aBlock,aNode);
@@ -579,7 +628,8 @@ selector: "interpretAll:continue:",
 fn: function (aCollection,aBlock){
 var self=this;
 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)})},
 messageSends: ["interpretAll:continue:result:", "new"]}),
 smalltalk.ASTInterpreter);
@@ -590,13 +640,15 @@ smalltalk.method({
 selector: "interpretAll:continue:result:",
 fn: function (nodes,aBlock,aCollection){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(nodes)._isEmpty();
 if(smalltalk.assert($1)){
 _st(self)._continue_value_(aBlock,aCollection);
 } else {
 _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)})}));
 };
 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:",
 fn: function (aNode,aBlock){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpret:continue:", "right", "continue:value:", "assign:to:", "left"]}),
@@ -622,9 +676,11 @@ smalltalk.method({
 selector: "interpretBlockNode:continue:",
 fn: function (aNode,aBlock){
 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(){
-return smalltalk.withContext(function($ctx2) {
$1=self;
+return smalltalk.withContext(function($ctx2) {
+$1=self;
 _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 $2=_st($1)._result();
 return $2;
@@ -639,7 +695,8 @@ smalltalk.method({
 selector: "interpretBlockSequenceNode:continue:",
 fn: function (aNode,aBlock){
 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)})},
 messageSends: ["interpretSequenceNode:continue:"]}),
 smalltalk.ASTInterpreter);
@@ -650,13 +707,18 @@ smalltalk.method({
 selector: "interpretCascadeNode:continue:",
 fn: function (aNode,aBlock){
 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)})}));
 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($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
@@ -671,7 +733,8 @@ selector: "interpretClassReferenceNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 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)})},
 messageSends: ["continue:value:", "at:", "value", "current"]}),
 smalltalk.ASTInterpreter);
@@ -682,8 +745,10 @@ smalltalk.method({
 selector: "interpretDynamicArrayNode:continue:",
 fn: function (aNode,aBlock){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:"]}),
@@ -696,12 +761,15 @@ selector: "interpretDynamicDictionaryNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 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;
-return smalltalk.withContext(function($ctx2) {
hashedCollection=_st($HashedCollection())._new();
+return smalltalk.withContext(function($ctx2) {
+hashedCollection=_st($HashedCollection())._new();
 hashedCollection;
 _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)})}));
 return _st(self)._continue_value_(aBlock,hashedCollection);
 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})}));
@@ -715,7 +783,8 @@ smalltalk.method({
 selector: "interpretJSStatementNode:continue:",
 fn: function (aNode,aBlock){
 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()));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["continue:value:", "eval:", "source"]}),
@@ -727,8 +796,10 @@ smalltalk.method({
 selector: "interpretMethodNode:continue:",
 fn: function (aNode,aBlock){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "first"]}),
@@ -740,7 +811,8 @@ smalltalk.method({
 selector: "interpretNode:continue:",
 fn: function (aNode,aBlock){
 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)})},
 messageSends: ["interpreter:continue:"]}),
 smalltalk.ASTInterpreter);
@@ -751,8 +823,10 @@ smalltalk.method({
 selector: "interpretReturnNode:continue:",
 fn: function (aNode,aBlock){
 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"];
 return _st(self)._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
@@ -766,10 +840,14 @@ smalltalk.method({
 selector: "interpretSendNode:continue:",
 fn: function (aNode,aBlock){
 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));
 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
@@ -784,8 +862,10 @@ smalltalk.method({
 selector: "interpretSequenceNode:continue:",
 fn: function (aNode,aBlock){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "last"]}),
@@ -797,7 +877,8 @@ smalltalk.method({
 selector: "interpretValueNode:continue:",
 fn: function (aNode,aBlock){
 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)})},
 messageSends: ["continue:value:", "value"]}),
 smalltalk.ASTInterpreter);
@@ -808,7 +889,8 @@ smalltalk.method({
 selector: "interpretVariableNode:continue:",
 fn: function (aNode,aBlock){
 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;
 $2=aBlock;
 $4=_st(_st(aNode)._binding())._isInstanceVar();
@@ -829,7 +911,8 @@ selector: "messageFromSendNode:arguments:do:",
 fn: function (aSendNode,aCollection,aBlock){
 var self=this;
 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();
 _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._arguments_(aCollection);
@@ -845,7 +928,8 @@ smalltalk.method({
 selector: "result",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ASTInterpreter)})},
@@ -858,7 +942,8 @@ smalltalk.method({
 selector: "shouldReturn",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@shouldReturn"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
@@ -879,9 +964,11 @@ smalltalk.method({
 selector: "atEnd",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $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)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})},
@@ -894,9 +981,11 @@ smalltalk.method({
 selector: "initialize",
 fn: function (){
 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(){
-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)})},
 messageSends: ["initialize"]}),
 smalltalk.ASTSteppingInterpreter);
@@ -907,9 +996,11 @@ smalltalk.method({
 selector: "interpret:continue:",
 fn: function (aNode,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@nextNode"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@nextNode"]=aNode;
 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)})});
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTSteppingInterpreter)})},
 messageSends: ["interpret:continue:"]}),
@@ -921,7 +1012,8 @@ smalltalk.method({
 selector: "nextNode",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@nextNode"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTSteppingInterpreter)})},
@@ -934,7 +1026,8 @@ smalltalk.method({
 selector: "step",
 fn: function (){
 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)})},
 messageSends: ["value"]}),
 smalltalk.ASTSteppingInterpreter);
@@ -947,7 +1040,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.Node)})},
@@ -960,7 +1054,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.Node);
@@ -971,7 +1066,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.AssignmentNode)})},
@@ -984,7 +1080,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.AssignmentNode);
@@ -995,7 +1092,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockNode)})},
@@ -1008,7 +1106,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.BlockNode);
@@ -1019,7 +1118,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.CascadeNode)})},
@@ -1032,7 +1132,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicArrayNode)})},
@@ -1045,7 +1146,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.DynamicArrayNode);
@@ -1056,7 +1158,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicDictionaryNode)})},
@@ -1069,7 +1172,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.DynamicDictionaryNode);
@@ -1080,7 +1184,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.JSStatementNode)})},
@@ -1093,7 +1198,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.JSStatementNode);
@@ -1104,7 +1210,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.MethodNode)})},
@@ -1117,7 +1224,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ReturnNode)})},
@@ -1130,7 +1238,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SendNode)})},
@@ -1143,7 +1252,8 @@ smalltalk.method({
 selector: "isSteppingNode",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.SendNode);
@@ -1154,7 +1264,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SequenceNode)})},
@@ -1167,7 +1278,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockSequenceNode)})},
@@ -1180,7 +1292,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ValueNode)})},
@@ -1193,7 +1306,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.VariableNode)})},
@@ -1206,7 +1320,8 @@ smalltalk.method({
 selector: "interpreter:continue:",
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock);
 return $1;
 }, 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',
 fn: function (aMethodContext){
 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)._receiver_(_st(aMethodContext)._receiver());
 _st(self)._method_(_st(aMethodContext)._method());
@@ -19,7 +20,8 @@ $1;
 _st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethodContext)._outerContext()));
 };
 _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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext},smalltalk.AIContext)})},
 args: ["aMethodContext"],
@@ -36,9 +38,11 @@ selector: "localAt:",
 category: 'accessing',
 fn: function (aString){
 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(){
-return smalltalk.withContext(function($ctx2) {
return nil;
+return smalltalk.withContext(function($ctx2) {
+return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString},smalltalk.AIContext)})},
@@ -56,7 +60,8 @@ selector: "localAt:put:",
 category: 'accessing',
 fn: function (aString,anObject){
 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)})},
 args: ["aString", "anObject"],
 source: "localAt: aString put: anObject\x0a\x09self locals at: aString put: anObject",
@@ -73,7 +78,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@locals"]=_st($Dictionary())._new();
@@ -97,7 +103,8 @@ selector: "method",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@method"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.AIContext)})},
@@ -115,7 +122,8 @@ selector: "method:",
 category: 'accessing',
 fn: function (aCompiledMethod){
 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)})},
 args: ["aCompiledMethod"],
 source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod",
@@ -131,7 +139,8 @@ selector: "outerContext",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@outerContext"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.AIContext)})},
@@ -149,7 +158,8 @@ selector: "outerContext:",
 category: 'accessing',
 fn: function (anAIContext){
 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)})},
 args: ["anAIContext"],
 source: "outerContext: anAIContext\x0a\x09outerContext := anAIContext",
@@ -165,7 +175,8 @@ selector: "pc",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@pc"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@pc"]=(0);
@@ -189,7 +200,8 @@ selector: "pc:",
 category: 'accessing',
 fn: function (anInteger){
 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)})},
 args: ["anInteger"],
 source: "pc: anInteger\x0a\x09pc := anInteger",
@@ -205,7 +217,8 @@ selector: "receiver",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._localAt_("self");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})},
@@ -223,7 +236,8 @@ selector: "receiver:",
 category: 'accessing',
 fn: function (anObject){
 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)})},
 args: ["anObject"],
 source: "receiver: anObject\x0a\x09self localAt: 'self' put: anObject",
@@ -239,7 +253,8 @@ selector: "selector",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._metod();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
@@ -263,7 +278,8 @@ selector: "fromMethodContext:",
 category: 'instance creation',
 fn: function (aMethodContext){
 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();
 _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
@@ -290,7 +306,8 @@ var self=this;
 var ast;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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());
 _st(_st($SemanticAnalyzer())._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast);
 $1=ast;
@@ -310,7 +327,8 @@ selector: "context",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@context"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.ASTDebugger)})},
@@ -329,7 +347,8 @@ category: 'accessing',
 fn: function (aContext){
 var self=this;
 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)})},
 args: ["aContext"],
 source: "context: aContext\x0a\x09context := AIContext new.",
@@ -346,7 +365,8 @@ category: 'defaults',
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{},smalltalk.ASTDebugger)})},
@@ -364,7 +384,8 @@ selector: "initializeInterpreter",
 category: 'initialization',
 fn: function (){
 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)})},
 args: [],
 source: "initializeInterpreter\x0a\x09self interpreter interpret: self buildAST nodes first",
@@ -381,7 +402,8 @@ category: 'initialization',
 fn: function (aMethodContext){
 var self=this;
 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();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext},smalltalk.ASTDebugger)})},
 args: ["aMethodContext"],
@@ -398,7 +420,8 @@ selector: "interpreter",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@interpreter"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@interpreter"]=_st(_st(self)._defaultInterpreterClass())._new();
@@ -422,7 +445,8 @@ selector: "interpreter:",
 category: 'accessing',
 fn: function (anInterpreter){
 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)})},
 args: ["anInterpreter"],
 source: "interpreter: anInterpreter\x0a\x09interpreter := anInterpreter",
@@ -438,7 +462,8 @@ selector: "method",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._context())._method();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})},
@@ -456,7 +481,8 @@ selector: "restart",
 category: 'stepping',
 fn: function (){
 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)})},
 args: [],
 source: "restart\x0a\x09self shouldBeImplemented",
@@ -472,7 +498,8 @@ selector: "resume",
 category: 'stepping',
 fn: function (){
 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)})},
 args: [],
 source: "resume\x0a\x09self shouldBeImplemented",
@@ -488,14 +515,19 @@ selector: "step",
 category: 'stepping',
 fn: function (){
 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(){
-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($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();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})},
@@ -513,7 +545,8 @@ selector: "stepInto",
 category: 'stepping',
 fn: function (){
 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)})},
 args: [],
 source: "stepInto\x0a\x09self shouldBeImplemented",
@@ -529,7 +562,8 @@ selector: "stepOver",
 category: 'stepping',
 fn: function (){
 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)})},
 args: [],
 source: "stepOver\x0a\x09self step",
@@ -546,7 +580,8 @@ selector: "context:",
 category: 'instance creation',
 fn: function (aMethodContext){
 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();
 _st($2)._initializeWithContext_(aMethodContext);
 $3=_st($2)._yourself();
@@ -570,7 +605,8 @@ selector: "assign:to:",
 category: 'private',
 fn: function (aNode,anObject){
 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();
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(self)._context())._receiver())._instVarAt_put_(_st(aNode)._value(),anObject);
@@ -594,7 +630,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@context"]=_st($AIContext())._new();
@@ -618,7 +655,8 @@ selector: "context:",
 category: 'accessing',
 fn: function (anAIContext){
 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)})},
 args: ["anAIContext"],
 source: "context: anAIContext\x0a\x09context := anAIContext",
@@ -634,7 +672,8 @@ selector: "continue:value:",
 category: 'private',
 fn: function (aBlock,anObject){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@result"]=anObject;
+return smalltalk.withContext(function($ctx1) { 
+self["@result"]=anObject;
 _st(aBlock)._value_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject},smalltalk.ASTInterpreter)})},
 args: ["aBlock", "anObject"],
@@ -651,7 +690,8 @@ selector: "currentNode",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentNode"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentNode",{},smalltalk.ASTInterpreter)})},
@@ -672,13 +712,17 @@ var self=this;
 var source,function_;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 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){
-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){
-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(){
-return smalltalk.withContext(function($ctx3) {
return _st(str)._nextPutAll_(",");
+return smalltalk.withContext(function($ctx3) {
+return _st(str)._nextPutAll_(",");
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 $1=str;
 _st($1)._nextPutAll_("){ return (function() {");
@@ -704,7 +748,8 @@ selector: "initialize",
 category: 'initialization',
 fn: function (){
 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;
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTInterpreter)})},
 args: [],
@@ -721,9 +766,11 @@ selector: "interpret:",
 category: 'interpreting',
 fn: function (aNode){
 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){
-return smalltalk.withContext(function($ctx2) {
self["@result"]=value;
+return smalltalk.withContext(function($ctx2) {
+self["@result"]=value;
 return self["@result"];
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode},smalltalk.ASTInterpreter)})},
@@ -741,7 +788,8 @@ selector: "interpret:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 $1=self["@shouldReturn"];
 if(smalltalk.assert($1)){
 $2=self;
@@ -752,7 +800,8 @@ if(smalltalk.assert($3)){
 self["@currentNode"]=aNode;
 self["@currentNode"];
 _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)})}));
 } else {
 _st(self)._continue_value_(aBlock,aNode);
@@ -773,7 +822,8 @@ category: 'private',
 fn: function (aCollection,aBlock){
 var self=this;
 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)})},
 args: ["aCollection", "aBlock"],
 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',
 fn: function (nodes,aBlock,aCollection){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(nodes)._isEmpty();
 if(smalltalk.assert($1)){
 _st(self)._continue_value_(aBlock,aCollection);
 } else {
 _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)})}));
 };
 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',
 fn: function (aNode,aBlock){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -831,9 +885,11 @@ selector: "interpretBlockNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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(){
-return smalltalk.withContext(function($ctx2) {
$1=self;
+return smalltalk.withContext(function($ctx2) {
+$1=self;
 _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 $2=_st($1)._result();
 return $2;
@@ -853,7 +909,8 @@ selector: "interpretBlockSequenceNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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)})},
 args: ["aNode", "aBlock"],
 source: "interpretBlockSequenceNode: aNode continue: aBlock\x0a\x09self interpretSequenceNode: aNode continue: aBlock",
@@ -869,13 +926,18 @@ selector: "interpretCascadeNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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)})}));
 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($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
@@ -895,7 +957,8 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 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)})},
 args: ["aNode", "aBlock"],
 source: "interpretClassReferenceNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: (Smalltalk current at: aNode value)",
@@ -911,8 +974,10 @@ selector: "interpretDynamicArrayNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -930,12 +995,15 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 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;
-return smalltalk.withContext(function($ctx2) {
hashedCollection=_st($HashedCollection())._new();
+return smalltalk.withContext(function($ctx2) {
+hashedCollection=_st($HashedCollection())._new();
 hashedCollection;
 _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)})}));
 return _st(self)._continue_value_(aBlock,hashedCollection);
 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})}));
@@ -954,7 +1022,8 @@ selector: "interpretJSStatementNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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()));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -971,8 +1040,10 @@ selector: "interpretMethodNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -989,7 +1060,8 @@ selector: "interpretNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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)})},
 args: ["aNode", "aBlock"],
 source: "interpretNode: aNode continue: aBlock\x0a\x09aNode interpreter: self continue: aBlock",
@@ -1005,8 +1077,10 @@ selector: "interpretReturnNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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"];
 return _st(self)._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
@@ -1025,10 +1099,14 @@ selector: "interpretSendNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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));
 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
@@ -1048,8 +1126,10 @@ selector: "interpretSequenceNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -1066,7 +1146,8 @@ selector: "interpretValueNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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)})},
 args: ["aNode", "aBlock"],
 source: "interpretValueNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: aNode value",
@@ -1082,7 +1163,8 @@ selector: "interpretVariableNode:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 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;
 $2=aBlock;
 $4=_st(_st(aNode)._binding())._isInstanceVar();
@@ -1108,7 +1190,8 @@ category: 'private',
 fn: function (aSendNode,aCollection,aBlock){
 var self=this;
 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();
 _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._arguments_(aCollection);
@@ -1129,7 +1212,8 @@ selector: "result",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ASTInterpreter)})},
@@ -1147,7 +1231,8 @@ selector: "shouldReturn",
 category: 'testing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@shouldReturn"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
@@ -1174,9 +1259,11 @@ selector: "atEnd",
 category: 'testing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $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)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})},
@@ -1194,9 +1281,11 @@ selector: "initialize",
 category: 'initialization',
 fn: function (){
 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(){
-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)})},
 args: [],
 source: "initialize\x0a\x09super initialize.\x0a\x09continuation := []",
@@ -1212,9 +1301,11 @@ selector: "interpret:continue:",
 category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self["@nextNode"]=aNode;
+return smalltalk.withContext(function($ctx1) { 
+self["@nextNode"]=aNode;
 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)})});
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTSteppingInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -1231,7 +1322,8 @@ selector: "nextNode",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@nextNode"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTSteppingInterpreter)})},
@@ -1249,7 +1341,8 @@ selector: "step",
 category: 'stepping',
 fn: function (){
 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)})},
 args: [],
 source: "step\x0a\x09continuation value",
@@ -1267,7 +1360,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.Node)})},
@@ -1285,7 +1379,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 fn: function (){
 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)})},
 args: [],
 source: "isSteppingNode\x0a\x09^ false",
@@ -1301,7 +1396,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.AssignmentNode)})},
@@ -1319,7 +1415,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 fn: function (){
 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)})},
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
@@ -1335,7 +1432,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockNode)})},
@@ -1353,7 +1451,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 fn: function (){
 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)})},
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
@@ -1369,7 +1468,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.CascadeNode)})},
@@ -1387,7 +1487,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicArrayNode)})},
@@ -1405,7 +1506,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 fn: function (){
 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)})},
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
@@ -1421,7 +1523,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicDictionaryNode)})},
@@ -1439,7 +1542,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 fn: function (){
 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)})},
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
@@ -1455,7 +1559,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.JSStatementNode)})},
@@ -1473,7 +1578,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 fn: function (){
 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)})},
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
@@ -1489,7 +1595,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.MethodNode)})},
@@ -1507,7 +1614,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ReturnNode)})},
@@ -1525,7 +1633,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SendNode)})},
@@ -1543,7 +1652,8 @@ selector: "isSteppingNode",
 category: '*Compiler-Interpreter',
 fn: function (){
 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)})},
 args: [],
 source: "isSteppingNode\x0a\x09^ true",
@@ -1559,7 +1669,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SequenceNode)})},
@@ -1577,7 +1688,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockSequenceNode)})},
@@ -1595,7 +1707,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ValueNode)})},
@@ -1613,7 +1726,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.VariableNode)})},
@@ -1631,7 +1745,8 @@ selector: "interpreter:continue:",
 category: '*Compiler-Interpreter',
 fn: function (anInterpreter,aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock);
 return $1;
 }, 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){
 var self=this;
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"addArg:",{aString:aString},smalltalk.LexicalScope)})},
 messageSends: ["at:put:", "on:", "args", "scope:", "at:"]}),
@@ -20,7 +21,8 @@ selector: "addTemp:",
 fn: function (aString){
 var self=this;
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"addTemp:",{aString:aString},smalltalk.LexicalScope)})},
 messageSends: ["at:put:", "on:", "temps", "scope:", "at:"]}),
@@ -32,7 +34,8 @@ smalltalk.method({
 selector: "alias",
 fn: function (){
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.LexicalScope)})},
@@ -45,7 +48,8 @@ smalltalk.method({
 selector: "allVariableNames",
 fn: function (){
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.LexicalScope)})},
@@ -59,7 +63,8 @@ selector: "args",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@args"]=_st($Dictionary())._new();
@@ -78,11 +83,15 @@ smalltalk.method({
 selector: "bindingFor:",
 fn: function (aStringOrNode){
 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(){
-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($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -97,9 +106,11 @@ smalltalk.method({
 selector: "canInlineNonLocalReturns",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $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)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.LexicalScope)})},
@@ -112,7 +123,8 @@ smalltalk.method({
 selector: "instruction",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@instruction"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"instruction",{},smalltalk.LexicalScope)})},
@@ -125,7 +137,8 @@ smalltalk.method({
 selector: "instruction:",
 fn: function (anIRInstruction){
 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)})},
 messageSends: []}),
 smalltalk.LexicalScope);
@@ -136,7 +149,8 @@ smalltalk.method({
 selector: "isBlockScope",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._isMethodScope())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockScope",{},smalltalk.LexicalScope)})},
@@ -149,9 +163,11 @@ smalltalk.method({
 selector: "isInlined",
 fn: function (){
 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(){
-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)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.LexicalScope)})},
@@ -164,7 +180,8 @@ smalltalk.method({
 selector: "isMethodScope",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.LexicalScope);
@@ -176,7 +193,8 @@ selector: "lookupVariable:",
 fn: function (aNode){
 var self=this;
 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);
 $1=lookup;
 if(($receiver = $1) == nil || $receiver == undefined){
@@ -202,7 +220,8 @@ smalltalk.method({
 selector: "methodScope",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=_st(self)._outerScope();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
@@ -220,7 +239,8 @@ smalltalk.method({
 selector: "node",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@node"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.LexicalScope)})},
@@ -233,7 +253,8 @@ smalltalk.method({
 selector: "node:",
 fn: function (aNode){
 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)})},
 messageSends: []}),
 smalltalk.LexicalScope);
@@ -244,7 +265,8 @@ smalltalk.method({
 selector: "outerScope",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@outerScope"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"outerScope",{},smalltalk.LexicalScope)})},
@@ -257,7 +279,8 @@ smalltalk.method({
 selector: "outerScope:",
 fn: function (aLexicalScope){
 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)})},
 messageSends: []}),
 smalltalk.LexicalScope);
@@ -268,7 +291,8 @@ smalltalk.method({
 selector: "pseudoVars",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._methodScope())._pseudoVars();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pseudoVars",{},smalltalk.LexicalScope)})},
@@ -281,7 +305,8 @@ smalltalk.method({
 selector: "scopeLevel",
 fn: function (){
 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();
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=(1);
@@ -307,7 +332,8 @@ selector: "temps",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@temps"]=_st($Dictionary())._new();
@@ -330,7 +356,8 @@ selector: "addIVar:",
 fn: function (aString){
 var self=this;
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"addIVar:",{aString:aString},smalltalk.MethodLexicalScope)})},
 messageSends: ["at:put:", "on:", "iVars", "scope:", "at:"]}),
@@ -342,7 +369,8 @@ smalltalk.method({
 selector: "addNonLocalReturn:",
 fn: function (aScope){
 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)})},
 messageSends: ["add:", "nonLocalReturns"]}),
 smalltalk.MethodLexicalScope);
@@ -353,7 +381,8 @@ smalltalk.method({
 selector: "allVariableNames",
 fn: function (){
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.MethodLexicalScope)})},
@@ -366,11 +395,13 @@ smalltalk.method({
 selector: "bindingFor:",
 fn: function (aNode){
 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]);
 if(($receiver = $2) == nil || $receiver == undefined){
 $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)})}));
 } else {
 $1=$2;
@@ -386,7 +417,8 @@ smalltalk.method({
 selector: "canInlineNonLocalReturns",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.MethodLexicalScope);
@@ -397,7 +429,8 @@ smalltalk.method({
 selector: "hasLocalReturn",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._localReturn();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{},smalltalk.MethodLexicalScope)})},
@@ -410,7 +443,8 @@ smalltalk.method({
 selector: "hasNonLocalReturn",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._nonLocalReturns())._notEmpty();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{},smalltalk.MethodLexicalScope)})},
@@ -424,7 +458,8 @@ selector: "iVars",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@iVars"]=_st($Dictionary())._new();
@@ -443,7 +478,8 @@ smalltalk.method({
 selector: "isMethodScope",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.MethodLexicalScope);
@@ -454,7 +490,8 @@ smalltalk.method({
 selector: "localReturn",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@localReturn"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=false;
@@ -472,7 +509,8 @@ smalltalk.method({
 selector: "localReturn:",
 fn: function (aBoolean){
 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)})},
 messageSends: []}),
 smalltalk.MethodLexicalScope);
@@ -483,7 +521,8 @@ smalltalk.method({
 selector: "methodScope",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodScope",{},smalltalk.MethodLexicalScope)})},
@@ -497,7 +536,8 @@ selector: "nonLocalReturns",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@nonLocalReturns"]=_st($OrderedCollection())._new();
@@ -519,13 +559,15 @@ var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $PseudoVar(){return smalltalk.PseudoVar||(typeof PseudoVar=="undefined"?nil:PseudoVar)}
 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"];
 if(($receiver = $1) == nil || $receiver == undefined){
 self["@pseudoVars"]=_st($Dictionary())._new();
 self["@pseudoVars"];
 _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());
 $3=_st($2)._yourself();
 return _st(self["@pseudoVars"])._at_put_(each,$3);
@@ -545,8 +587,10 @@ smalltalk.method({
 selector: "removeNonLocalReturn:",
 fn: function (aScope){
 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)})},
 messageSends: ["remove:ifAbsent:", "nonLocalReturns"]}),
 smalltalk.MethodLexicalScope);
@@ -558,7 +602,8 @@ selector: "unknownVariables",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@unknownVariables"]=_st($OrderedCollection())._new();
@@ -580,7 +625,8 @@ smalltalk.method({
 selector: "alias",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._name())._asVariableName();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ScopeVar)})},
@@ -593,7 +639,8 @@ smalltalk.method({
 selector: "isArgVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ScopeVar);
@@ -604,7 +651,8 @@ smalltalk.method({
 selector: "isClassRefVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ScopeVar);
@@ -615,7 +663,8 @@ smalltalk.method({
 selector: "isInstanceVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ScopeVar);
@@ -626,7 +675,8 @@ smalltalk.method({
 selector: "isPseudoVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ScopeVar);
@@ -637,7 +687,8 @@ smalltalk.method({
 selector: "isTempVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ScopeVar);
@@ -648,7 +699,8 @@ smalltalk.method({
 selector: "isUnknownVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ScopeVar);
@@ -659,7 +711,8 @@ smalltalk.method({
 selector: "name",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@name"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"name",{},smalltalk.ScopeVar)})},
@@ -672,7 +725,8 @@ smalltalk.method({
 selector: "name:",
 fn: function (aString){
 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)})},
 messageSends: []}),
 smalltalk.ScopeVar);
@@ -683,7 +737,8 @@ smalltalk.method({
 selector: "scope",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@scope"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.ScopeVar)})},
@@ -696,7 +751,8 @@ smalltalk.method({
 selector: "scope:",
 fn: function (aScope){
 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)})},
 messageSends: []}),
 smalltalk.ScopeVar);
@@ -708,9 +764,11 @@ selector: "validateAssignment",
 fn: function (){
 var self=this;
 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(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._isPseudoVar();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._isPseudoVar();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 $2=_st($InvalidAssignmentError())._new();
@@ -729,7 +787,8 @@ smalltalk.method({
 selector: "on:",
 fn: function (aString){
 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();
 _st($2)._name_(aString);
 $3=_st($2)._yourself();
@@ -747,7 +806,8 @@ smalltalk.method({
 selector: "node",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@node"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"node",{},smalltalk.AliasVar)})},
@@ -760,7 +820,8 @@ smalltalk.method({
 selector: "node:",
 fn: function (aNode){
 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)})},
 messageSends: []}),
 smalltalk.AliasVar);
@@ -774,7 +835,8 @@ smalltalk.method({
 selector: "isArgVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ArgVar);
@@ -788,7 +850,8 @@ smalltalk.method({
 selector: "alias",
 fn: function (){
 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("()");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ClassRefVar)})},
@@ -801,7 +864,8 @@ smalltalk.method({
 selector: "isClassRefVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ClassRefVar);
@@ -815,7 +879,8 @@ smalltalk.method({
 selector: "alias",
 fn: function (){
 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]");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.InstanceVar)})},
@@ -828,7 +893,8 @@ smalltalk.method({
 selector: "isInstanceVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.InstanceVar);
@@ -842,7 +908,8 @@ smalltalk.method({
 selector: "alias",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._name();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.PseudoVar)})},
@@ -855,7 +922,8 @@ smalltalk.method({
 selector: "isPseudoVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.PseudoVar);
@@ -869,7 +937,8 @@ smalltalk.method({
 selector: "isTempVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.TempVar);
@@ -883,7 +952,8 @@ smalltalk.method({
 selector: "isUnknownVar",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.UnknownVar);
@@ -898,7 +968,8 @@ selector: "classReferences",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@classReferences"]=_st($Set())._new();
@@ -918,7 +989,8 @@ selector: "errorShadowingVariable:",
 fn: function (aString){
 var self=this;
 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();
 _st($1)._variableName_(aString);
 $2=_st($1)._signal();
@@ -934,10 +1006,12 @@ fn: function (aNode){
 var self=this;
 var identifier;
 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();
 $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)})}));
 if(smalltalk.assert($1)){
 $2=_st($UnknownVariableError())._new();
@@ -957,7 +1031,8 @@ smalltalk.method({
 selector: "isVariableGloballyUndefined:",
 fn: function (aString){
 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)})},
 messageSends: []}),
 smalltalk.SemanticAnalyzer);
@@ -969,7 +1044,8 @@ selector: "messageSends",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@messageSends"]=_st($Dictionary())._new();
@@ -989,7 +1065,8 @@ selector: "newBlockScope",
 fn: function (){
 var self=this;
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newBlockScope",{},smalltalk.SemanticAnalyzer)})},
@@ -1003,7 +1080,8 @@ selector: "newMethodScope",
 fn: function (){
 var self=this;
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newMethodScope",{},smalltalk.SemanticAnalyzer)})},
@@ -1016,7 +1094,8 @@ smalltalk.method({
 selector: "newScopeOfClass:",
 fn: function (aLexicalScopeClass){
 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();
 _st($2)._outerScope_(self["@currentScope"]);
 $3=_st($2)._yourself();
@@ -1032,7 +1111,8 @@ smalltalk.method({
 selector: "popScope",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@currentScope"];
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
@@ -1050,7 +1130,8 @@ smalltalk.method({
 selector: "pushScope:",
 fn: function (aScope){
 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;
 return self}, function($ctx1) {$ctx1.fill(self,"pushScope:",{aScope:aScope},smalltalk.SemanticAnalyzer)})},
 messageSends: ["outerScope:"]}),
@@ -1063,7 +1144,8 @@ selector: "superSends",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@superSends"]=_st($Dictionary())._new();
@@ -1082,7 +1164,8 @@ smalltalk.method({
 selector: "theClass",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SemanticAnalyzer)})},
@@ -1095,7 +1178,8 @@ smalltalk.method({
 selector: "theClass:",
 fn: function (aClass){
 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)})},
 messageSends: []}),
 smalltalk.SemanticAnalyzer);
@@ -1106,7 +1190,8 @@ smalltalk.method({
 selector: "validateVariableScope:",
 fn: function (aString){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self["@currentScope"])._lookupVariable_(aString);
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
@@ -1123,7 +1208,8 @@ smalltalk.method({
 selector: "visitAssignmentNode:",
 fn: function (aNode){
 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();
 return self}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 messageSends: ["visitAssignmentNode:", "beAssigned", "left"]}),
@@ -1135,11 +1221,13 @@ smalltalk.method({
 selector: "visitBlockNode:",
 fn: function (aNode){
 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(self["@currentScope"])._node_(aNode);
 _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);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitBlockNode_.apply(_st(self), [aNode]);
@@ -1154,15 +1242,18 @@ smalltalk.method({
 selector: "visitCascadeNode:",
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _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)})}));
 smalltalk.NodeVisitor.fn.prototype._visitCascadeNode_.apply(_st(self), [aNode]);
 $1=_st(_st(_st(aNode)._nodes())._first())._superSend();
 if(smalltalk.assert($1)){
 _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)})}));
 };
 return self}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
@@ -1176,7 +1267,8 @@ selector: "visitClassReferenceNode:",
 fn: function (aNode){
 var self=this;
 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());
 $1=_st($ClassRefVar())._new();
 _st($1)._name_(_st(aNode)._value());
@@ -1192,15 +1284,18 @@ smalltalk.method({
 selector: "visitMethodNode:",
 fn: function (aNode){
 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(aNode)._scope_(self["@currentScope"]);
 _st(self["@currentScope"])._node_(aNode);
 _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)})}));
 _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);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitMethodNode_.apply(_st(self), [aNode]);
@@ -1219,7 +1314,8 @@ smalltalk.method({
 selector: "visitReturnNode:",
 fn: function (aNode){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _st(aNode)._scope_(self["@currentScope"]);
 $1=_st(self["@currentScope"])._isMethodScope();
 if(smalltalk.assert($1)){
@@ -1240,13 +1336,15 @@ fn: function (aNode){
 var self=this;
 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)}
 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");
 if(smalltalk.assert($1)){
 _st(aNode)._superSend_(true);
 _st(_st(aNode)._receiver())._value_("self");
 _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)})}));
 _st(_st(_st(self)._superSends())._at_(_st(aNode)._selector()))._add_(aNode);
 } else {
@@ -1257,7 +1355,8 @@ _st(_st(aNode)._receiver())._shouldBeAliased_(true);
 };
 };
 _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)})}));
 _st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._add_(aNode);
 _st(aNode)._index_(_st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._size());
@@ -1272,8 +1371,10 @@ smalltalk.method({
 selector: "visitSequenceNode:",
 fn: function (aNode){
 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);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitSequenceNode_.apply(_st(self), [aNode]);
@@ -1288,7 +1389,8 @@ selector: "visitVariableNode:",
 fn: function (aNode){
 var self=this;
 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;
 $3=_st(self["@currentScope"])._lookupVariable_(aNode);
 if(($receiver = $3) == nil || $receiver == undefined){
@@ -1312,7 +1414,8 @@ smalltalk.method({
 selector: "on:",
 fn: function (aClass){
 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();
 _st($2)._theClass_(aClass);
 $3=_st($2)._yourself();

+ 206 - 103
js/Compiler-Semantic.js

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

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

@@ -7,7 +7,8 @@ selector: "analyze:forClass:",
 fn: function (aNode,aClass){
 var self=this;
 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);
 $1=aNode;
 return $1;
@@ -22,7 +23,8 @@ selector: "interpret:",
 fn: function (aString){
 var self=this;
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
@@ -37,11 +39,13 @@ fn: function (aString,anObject,aDictionary){
 var self=this;
 var ctx;
 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();
 _st(ctx)._receiver_(anObject);
 _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)})}));
 $2=_st(self)._interpreter();
 _st($2)._context_(ctx);
@@ -60,7 +64,8 @@ selector: "interpret:withArguments:",
 fn: function (aString,aDictionary){
 var self=this;
 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);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary},smalltalk.AbstractASTInterpreterTest)})},
@@ -73,7 +78,8 @@ smalltalk.method({
 selector: "interpreter",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._subclassResponsibility();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.AbstractASTInterpreterTest)})},
@@ -87,7 +93,8 @@ selector: "parse:",
 fn: function (aString){
 var self=this;
 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);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
@@ -100,7 +107,8 @@ smalltalk.method({
 selector: "parse:forClass:",
 fn: function (aString,aClass){
 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);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass},smalltalk.AbstractASTInterpreterTest)})},
@@ -117,7 +125,8 @@ selector: "interpreter",
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.ASTInterpreterTest)})},
@@ -130,7 +139,8 @@ smalltalk.method({
 selector: "testBinarySend",
 fn: function (){
 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)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
@@ -141,7 +151,8 @@ smalltalk.method({
 selector: "testBlockLiteral",
 fn: function (){
 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 ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{},smalltalk.ASTInterpreterTest)})},
@@ -155,7 +166,8 @@ selector: "testCascade",
 fn: function (){
 var self=this;
 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)})},
 messageSends: ["assert:equals:", "interpret:", "with:with:"]}),
 smalltalk.ASTInterpreterTest);
@@ -166,7 +178,8 @@ smalltalk.method({
 selector: "testDynamicArray",
 fn: function (){
 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)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
@@ -177,7 +190,8 @@ smalltalk.method({
 selector: "testDynamicDictionary",
 fn: function (){
 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)})},
 messageSends: ["assert:equals:", "interpret:", "->"]}),
 smalltalk.ASTInterpreterTest);
@@ -188,7 +202,8 @@ smalltalk.method({
 selector: "testInlinedJSStatement",
 fn: function (){
 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));
 return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:", "interpret:withArguments:", "->"]}),
@@ -200,7 +215,8 @@ smalltalk.method({
 selector: "testInstVarAccess",
 fn: function (){
 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)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 smalltalk.ASTInterpreterTest);
@@ -212,7 +228,8 @@ selector: "testInstVarAssignment",
 fn: function (){
 var self=this;
 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)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "new", "->"]}),
 smalltalk.ASTInterpreterTest);
@@ -223,7 +240,8 @@ smalltalk.method({
 selector: "testNonlocalReturn",
 fn: function (){
 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)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
@@ -234,7 +252,8 @@ smalltalk.method({
 selector: "testReceiver",
 fn: function (){
 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)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 smalltalk.ASTInterpreterTest);
@@ -245,7 +264,8 @@ smalltalk.method({
 selector: "testTempAssignment",
 fn: function (){
 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)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
@@ -260,7 +280,8 @@ selector: "interpreter",
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@interpreter"]=_st($ASTSteppingInterpreter())._new();
@@ -279,7 +300,8 @@ smalltalk.method({
 selector: "testAtEnd",
 fn: function (){
 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(_st(self)._interpreter())._step();
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
@@ -299,7 +321,8 @@ smalltalk.method({
 selector: "testMessageSend",
 fn: function (){
 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();
@@ -318,7 +341,8 @@ smalltalk.method({
 selector: "testSimpleStepping",
 fn: function (){
 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(self)._assert_(_st(_st(_st(self)._interpreter())._result())._isNil());
 _st(_st(self)._interpreter())._step();
@@ -337,7 +361,8 @@ selector: "codeGeneratorClass",
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.CodeGeneratorTest)})},
@@ -351,7 +376,8 @@ selector: "compiler",
 fn: function (){
 var self=this;
 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();
 _st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
 $3=_st($2)._yourself();
@@ -367,7 +393,8 @@ smalltalk.method({
 selector: "setUp",
 fn: function (){
 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)})},
 messageSends: ["new", "targetClass"]}),
 smalltalk.CodeGeneratorTest);
@@ -379,7 +406,8 @@ selector: "should:return:",
 fn: function (aString,anObject){
 var self=this;
 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());
 _st(_st(self)._targetClass())._removeCompiledMethod_(method);
 _st(self)._assert_equals_(anObject,result);
@@ -394,7 +422,8 @@ selector: "targetClass",
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"targetClass",{},smalltalk.CodeGeneratorTest)})},
@@ -407,7 +436,8 @@ smalltalk.method({
 selector: "tearDown",
 fn: function (){
 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: []}),
 smalltalk.CodeGeneratorTest);
 
@@ -417,7 +447,8 @@ smalltalk.method({
 selector: "testAssignment",
 fn: function (){
 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 := true ifTrue: [ 1 ]",(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{},smalltalk.CodeGeneratorTest)})},
@@ -430,7 +461,8 @@ smalltalk.method({
 selector: "testBackslashSelectors",
 fn: function (){
 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));
 return self}, function($ctx1) {$ctx1.fill(self,"testBackslashSelectors",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
@@ -442,7 +474,8 @@ smalltalk.method({
 selector: "testBlockReturn",
 fn: function (){
 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 | each odd ifTrue: [ each + 1 ] ifFalse: [ each - 1 ] ]",[(2), (1), (4)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockReturn",{},smalltalk.CodeGeneratorTest)})},
@@ -455,7 +488,8 @@ smalltalk.method({
 selector: "testCascades",
 fn: function (){
 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)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -466,7 +500,8 @@ smalltalk.method({
 selector: "testDynamicArrayElementsOrdered",
 fn: function (){
 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)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -477,7 +512,8 @@ smalltalk.method({
 selector: "testDynamicDictionaryElementsOrdered",
 fn: function (){
 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)})},
 messageSends: ["should:return:", "->"]}),
 smalltalk.CodeGeneratorTest);
@@ -489,7 +525,8 @@ selector: "testInnerTemporalDependentElementsOrdered",
 fn: function (){
 var self=this;
 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^ { '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))]));
@@ -503,7 +540,8 @@ smalltalk.method({
 selector: "testLiterals",
 fn: function (){
 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 ^ #(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)]);
@@ -522,7 +560,8 @@ smalltalk.method({
 selector: "testLocalReturn",
 fn: function (){
 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 ",self["@receiver"]);
 _st(self)._should_return_("foo self asString",self["@receiver"]);
@@ -537,7 +576,8 @@ smalltalk.method({
 selector: "testMessageSends",
 fn: function (){
 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 + 2 * 3",(9));
 _st(self)._should_return_("foo ^ 1 to: 3",[(1), (2), (3)]);
@@ -552,7 +592,8 @@ smalltalk.method({
 selector: "testMutableLiterals",
 fn: function (){
 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)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -563,7 +604,8 @@ smalltalk.method({
 selector: "testNestedIfTrue",
 fn: function (){
 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 ifFalse: [ ^ 1 ] ]",(1));
 _st(self)._should_return_("foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]",self["@receiver"]);
@@ -577,7 +619,8 @@ smalltalk.method({
 selector: "testNonLocalReturn",
 fn: function (){
 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 | a b | a := 1. b := 2. [ ^ a + b ] value. self halt",(3));
 _st(self)._should_return_("foo [ :x | ^ x + x ] value: 4. ^ 2",(8));
@@ -591,7 +634,8 @@ smalltalk.method({
 selector: "testPascalCaseGlobal",
 fn: function (){
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"testPascalCaseGlobal",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:", "at:"]}),
@@ -604,7 +648,8 @@ selector: "testSendReceiverAndArgumentsOrdered",
 fn: function (){
 var self=this;
 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)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testSendReceiverAndArgumentsOrdered",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
@@ -616,7 +661,8 @@ smalltalk.method({
 selector: "testifFalse",
 fn: function (){
 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 ^ true ifFalse: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ]",(2));
@@ -630,7 +676,8 @@ smalltalk.method({
 selector: "testifFalseIfTrue",
 fn: function (){
 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 ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]",(2));
@@ -644,7 +691,8 @@ smalltalk.method({
 selector: "testifNil",
 fn: function (){
 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 1 ifNil: [ ^ 2 ]",self["@receiver"]);
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ]",(2));
@@ -658,7 +706,8 @@ smalltalk.method({
 selector: "testifNilIfNotNil",
 fn: function (){
 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 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(3));
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(2));
@@ -672,7 +721,8 @@ smalltalk.method({
 selector: "testifNotNil",
 fn: function (){
 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 1 ifNotNil: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo nil ifNotNil: [ ^ 2 ]",self["@receiver"]);
@@ -686,7 +736,8 @@ smalltalk.method({
 selector: "testifTrue",
 fn: function (){
 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 ^ false ifTrue: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ]",(2));
@@ -700,7 +751,8 @@ smalltalk.method({
 selector: "testifTrueIfFalse",
 fn: function (){
 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 ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]",(1));
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]",(2));
@@ -718,7 +770,8 @@ selector: "codeGeneratorClass",
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.InliningCodeGeneratorTest)})},
@@ -737,7 +790,8 @@ var self=this;
 var node;
 function $ClassReferenceNode(){return smalltalk.ClassReferenceNode||(typeof ClassReferenceNode=="undefined"?nil:ClassReferenceNode)}
 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();
 _st($1)._value_("Object");
 $2=_st($1)._yourself();
@@ -757,7 +811,8 @@ var self=this;
 var node,scope;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 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();
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
@@ -778,10 +833,12 @@ var self=this;
 var node,pseudoVars;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 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"];
 _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);
 $2=_st($1)._yourself();
 node=$2;
@@ -801,7 +858,8 @@ var self=this;
 var node,scope;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 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();
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
@@ -822,7 +880,8 @@ var self=this;
 var node;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 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();
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
@@ -843,7 +902,8 @@ fn: function (){
 var self=this;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 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)})},
 messageSends: ["on:"]}),
 smalltalk.SemanticAnalyzerTest);
@@ -856,10 +916,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -872,7 +934,8 @@ selector: "testNonLocalReturn",
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._deny_(_st(_st(ast)._scope())._hasNonLocalReturn());
@@ -887,7 +950,8 @@ selector: "testNonLocalReturn2",
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_(_st(_st(ast)._scope())._hasNonLocalReturn());
@@ -902,7 +966,8 @@ selector: "testScope",
 fn: function (){
 var self=this;
 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);
 _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()));
@@ -917,7 +982,8 @@ selector: "testScope2",
 fn: function (){
 var self=this;
 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);
 _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()));
@@ -932,7 +998,8 @@ selector: "testScopeLevel",
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_equals_(_st(_st(ast)._scope())._scopeLevel(),(1));
@@ -949,10 +1016,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariables",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -966,10 +1035,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariablesWithScope",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -982,7 +1053,8 @@ selector: "testVariableShadowing",
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -997,10 +1069,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -1013,7 +1087,8 @@ selector: "testVariableShadowing3",
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing3",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1027,7 +1102,8 @@ selector: "testVariableShadowing4",
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing4",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1042,10 +1118,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing5",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "should:raise:", "visit:"]}),
@@ -1058,7 +1136,8 @@ selector: "testVariablesLookup",
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 _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){
 var self=this;
 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);
 $1=aNode;
 return $1;
@@ -28,7 +29,8 @@ category: 'interpreting',
 fn: function (aString){
 var self=this;
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
@@ -48,11 +50,13 @@ fn: function (aString,anObject,aDictionary){
 var self=this;
 var ctx;
 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();
 _st(ctx)._receiver_(anObject);
 _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)})}));
 $2=_st(self)._interpreter();
 _st($2)._context_(ctx);
@@ -76,7 +80,8 @@ category: 'interpreting',
 fn: function (aString,aDictionary){
 var self=this;
 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);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary},smalltalk.AbstractASTInterpreterTest)})},
@@ -94,7 +99,8 @@ selector: "interpreter",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._subclassResponsibility();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.AbstractASTInterpreterTest)})},
@@ -113,7 +119,8 @@ category: 'parsing',
 fn: function (aString){
 var self=this;
 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);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
@@ -131,7 +138,8 @@ selector: "parse:forClass:",
 category: 'parsing',
 fn: function (aString,aClass){
 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);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass},smalltalk.AbstractASTInterpreterTest)})},
@@ -153,7 +161,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.ASTInterpreterTest)})},
@@ -171,7 +180,8 @@ selector: "testBinarySend",
 category: 'tests',
 fn: function (){
 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)})},
 args: [],
 source: "testBinarySend\x0a\x09self assert: (self interpret: 'foo 2+3+4') equals: 9",
@@ -187,7 +197,8 @@ selector: "testBlockLiteral",
 category: 'tests',
 fn: function (){
 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 ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{},smalltalk.ASTInterpreterTest)})},
@@ -206,7 +217,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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)})},
 args: [],
 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',
 fn: function (){
 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)})},
 args: [],
 source: "testDynamicArray\x0a\x09self assert: (self interpret: 'foo ^ {1+1. 2+2}') equals: #(2 4)",
@@ -238,7 +251,8 @@ selector: "testDynamicDictionary",
 category: 'tests',
 fn: function (){
 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)})},
 args: [],
 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',
 fn: function (){
 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));
 return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{},smalltalk.ASTInterpreterTest)})},
 args: [],
@@ -271,7 +286,8 @@ selector: "testInstVarAccess",
 category: 'tests',
 fn: function (){
 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)})},
 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",
@@ -288,7 +304,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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)})},
 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",
@@ -304,7 +321,8 @@ selector: "testNonlocalReturn",
 category: 'tests',
 fn: function (){
 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)})},
 args: [],
 source: "testNonlocalReturn\x0a\x09self assert: (self interpret: 'foo true ifTrue: [ ^ 1 ]. ^2') equals: 1",
@@ -320,7 +338,8 @@ selector: "testReceiver",
 category: 'tests',
 fn: function (){
 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)})},
 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",
@@ -336,7 +355,8 @@ selector: "testTempAssignment",
 category: 'tests',
 fn: function (){
 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)})},
 args: [],
 source: "testTempAssignment\x0a\x09self assert: (self interpret: 'foo | a | a := 2. ^ a') equals: 2",
@@ -356,7 +376,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@interpreter"]=_st($ASTSteppingInterpreter())._new();
@@ -380,7 +401,8 @@ selector: "testAtEnd",
 category: 'tests',
 fn: function (){
 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(_st(self)._interpreter())._step();
 _st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
@@ -405,7 +427,8 @@ selector: "testMessageSend",
 category: 'tests',
 fn: function (){
 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();
@@ -429,7 +452,8 @@ selector: "testSimpleStepping",
 category: 'tests',
 fn: function (){
 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(self)._assert_(_st(_st(_st(self)._interpreter())._result())._isNil());
 _st(_st(self)._interpreter())._step();
@@ -453,7 +477,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.CodeGeneratorTest)})},
@@ -472,7 +497,8 @@ category: 'factory',
 fn: function (){
 var self=this;
 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();
 _st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
 $3=_st($2)._yourself();
@@ -493,7 +519,8 @@ selector: "setUp",
 category: 'initialization',
 fn: function (){
 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)})},
 args: [],
 source: "setUp\x0a\x09receiver := self targetClass new",
@@ -510,7 +537,8 @@ category: 'testing',
 fn: function (aString,anObject){
 var self=this;
 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());
 _st(_st(self)._targetClass())._removeCompiledMethod_(method);
 _st(self)._assert_equals_(anObject,result);
@@ -530,7 +558,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"targetClass",{},smalltalk.CodeGeneratorTest)})},
@@ -548,7 +577,8 @@ selector: "tearDown",
 category: 'initialization',
 fn: function (){
 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: [],
 source: "tearDown\x0a\x09\x22receiver := nil\x22",
 messageSends: [],
@@ -563,7 +593,8 @@ selector: "testAssignment",
 category: 'tests',
 fn: function (){
 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 := true ifTrue: [ 1 ]",(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{},smalltalk.CodeGeneratorTest)})},
@@ -581,7 +612,8 @@ selector: "testBackslashSelectors",
 category: 'tests',
 fn: function (){
 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));
 return self}, function($ctx1) {$ctx1.fill(self,"testBackslashSelectors",{},smalltalk.CodeGeneratorTest)})},
 args: [],
@@ -598,7 +630,8 @@ selector: "testBlockReturn",
 category: 'tests',
 fn: function (){
 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 | each odd ifTrue: [ each + 1 ] ifFalse: [ each - 1 ] ]",[(2), (1), (4)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockReturn",{},smalltalk.CodeGeneratorTest)})},
@@ -616,7 +649,8 @@ selector: "testCascades",
 category: 'tests',
 fn: function (){
 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)})},
 args: [],
 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',
 fn: function (){
 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)})},
 args: [],
 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',
 fn: function (){
 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)})},
 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}.",
@@ -665,7 +701,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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^ { '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))]));
@@ -684,7 +721,8 @@ selector: "testLiterals",
 category: 'tests',
 fn: function (){
 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 ^ #(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)]);
@@ -708,7 +746,8 @@ selector: "testLocalReturn",
 category: 'tests',
 fn: function (){
 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 ",self["@receiver"]);
 _st(self)._should_return_("foo self asString",self["@receiver"]);
@@ -728,7 +767,8 @@ selector: "testMessageSends",
 category: 'tests',
 fn: function (){
 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 + 2 * 3",(9));
 _st(self)._should_return_("foo ^ 1 to: 3",[(1), (2), (3)]);
@@ -748,7 +788,8 @@ selector: "testMutableLiterals",
 category: 'tests',
 fn: function (){
 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)})},
 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)",
@@ -764,7 +805,8 @@ selector: "testNestedIfTrue",
 category: 'tests',
 fn: function (){
 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 ifFalse: [ ^ 1 ] ]",(1));
 _st(self)._should_return_("foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]",self["@receiver"]);
@@ -783,7 +825,8 @@ selector: "testNonLocalReturn",
 category: 'tests',
 fn: function (){
 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 | a b | a := 1. b := 2. [ ^ a + b ] value. self halt",(3));
 _st(self)._should_return_("foo [ :x | ^ x + x ] value: 4. ^ 2",(8));
@@ -802,7 +845,8 @@ selector: "testPascalCaseGlobal",
 category: 'tests',
 fn: function (){
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"testPascalCaseGlobal",{},smalltalk.CodeGeneratorTest)})},
 args: [],
@@ -820,7 +864,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testSendReceiverAndArgumentsOrdered",{},smalltalk.CodeGeneratorTest)})},
 args: [],
@@ -837,7 +882,8 @@ selector: "testifFalse",
 category: 'tests',
 fn: function (){
 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 ^ true ifFalse: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ]",(2));
@@ -856,7 +902,8 @@ selector: "testifFalseIfTrue",
 category: 'tests',
 fn: function (){
 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 ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]",(2));
 _st(self)._should_return_("foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]",(2));
@@ -875,7 +922,8 @@ selector: "testifNil",
 category: 'tests',
 fn: function (){
 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 1 ifNil: [ ^ 2 ]",self["@receiver"]);
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ]",(2));
@@ -894,7 +942,8 @@ selector: "testifNilIfNotNil",
 category: 'tests',
 fn: function (){
 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 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(3));
 _st(self)._should_return_("foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(2));
@@ -913,7 +962,8 @@ selector: "testifNotNil",
 category: 'tests',
 fn: function (){
 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 1 ifNotNil: [ ^ 2 ]",(2));
 _st(self)._should_return_("foo nil ifNotNil: [ ^ 2 ]",self["@receiver"]);
@@ -932,7 +982,8 @@ selector: "testifTrue",
 category: 'tests',
 fn: function (){
 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 ^ false ifTrue: [ 1 ]",nil);
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ]",(2));
@@ -951,7 +1002,8 @@ selector: "testifTrueIfFalse",
 category: 'tests',
 fn: function (){
 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 ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]",(1));
 _st(self)._should_return_("foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]",(2));
@@ -974,7 +1026,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{},smalltalk.InliningCodeGeneratorTest)})},
@@ -998,7 +1051,8 @@ var self=this;
 var node;
 function $ClassReferenceNode(){return smalltalk.ClassReferenceNode||(typeof ClassReferenceNode=="undefined"?nil:ClassReferenceNode)}
 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();
 _st($1)._value_("Object");
 $2=_st($1)._yourself();
@@ -1023,7 +1077,8 @@ var self=this;
 var node,scope;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 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();
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
@@ -1049,10 +1104,12 @@ var self=this;
 var node,pseudoVars;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 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"];
 _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);
 $2=_st($1)._yourself();
 node=$2;
@@ -1077,7 +1134,8 @@ var self=this;
 var node,scope;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 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();
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
@@ -1103,7 +1161,8 @@ var self=this;
 var node;
 function $VariableNode(){return smalltalk.VariableNode||(typeof VariableNode=="undefined"?nil:VariableNode)}
 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();
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
@@ -1129,7 +1188,8 @@ fn: function (){
 var self=this;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 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)})},
 args: [],
 source: "setUp\x0a\x09analyzer := SemanticAnalyzer on: Object",
@@ -1147,10 +1207,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
@@ -1168,7 +1230,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._deny_(_st(_st(ast)._scope())._hasNonLocalReturn());
@@ -1188,7 +1251,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_(_st(_st(ast)._scope())._hasNonLocalReturn());
@@ -1208,7 +1272,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _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()));
@@ -1228,7 +1293,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _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()));
@@ -1248,7 +1314,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 _st(self)._assert_equals_(_st(_st(ast)._scope())._scopeLevel(),(1));
@@ -1270,10 +1337,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariables",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
@@ -1292,10 +1361,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariablesWithScope",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
@@ -1313,7 +1384,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1333,10 +1405,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
@@ -1354,7 +1428,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing3",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1373,7 +1448,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing4",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
@@ -1393,10 +1469,12 @@ fn: function (){
 var self=this;
 var src,ast;
 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);
 _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());
 return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing5",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
@@ -1414,7 +1492,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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);
 _st(self["@analyzer"])._visit_(ast);
 _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",
 fn: function (){
 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){
-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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"decrease",{},smalltalk.Counter)})},
 messageSends: ["-", "contents:", "with:", "asString"]}),
@@ -20,9 +22,11 @@ smalltalk.method({
 selector: "increase",
 fn: function (){
 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){
-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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"increase",{},smalltalk.Counter)})},
 messageSends: ["+", "contents:", "with:", "asString"]}),
@@ -34,7 +38,8 @@ smalltalk.method({
 selector: "initialize",
 fn: function (){
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Counter)})},
 messageSends: ["initialize"]}),
@@ -46,7 +51,8 @@ smalltalk.method({
 selector: "renderOn:",
 fn: function (html){
 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();
 _st($1)._with_(_st(self["@count"])._asString());
 $2=_st($1)._yourself();
@@ -54,12 +60,14 @@ self["@header"]=$2;
 $3=_st(html)._button();
 _st($3)._with_("++");
 $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)})}));
 $5=_st(html)._button();
 _st($5)._with_("--");
 $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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.Counter)})},
 messageSends: ["with:", "asString", "h1", "yourself", "button", "onClick:", "increase", "decrease"]}),
@@ -72,7 +80,8 @@ smalltalk.method({
 selector: "tryExample",
 fn: function (){
 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)})},
 messageSends: ["appendToJQuery:", "asJQuery", "new"]}),
 smalltalk.Counter.klass);

+ 18 - 9
js/Examples.js

@@ -8,9 +8,11 @@ selector: "decrease",
 category: 'actions',
 fn: function (){
 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){
-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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"decrease",{},smalltalk.Counter)})},
 args: [],
@@ -27,9 +29,11 @@ selector: "increase",
 category: 'actions',
 fn: function (){
 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){
-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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"increase",{},smalltalk.Counter)})},
 args: [],
@@ -46,7 +50,8 @@ selector: "initialize",
 category: 'initialization',
 fn: function (){
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Counter)})},
 args: [],
@@ -63,7 +68,8 @@ selector: "renderOn:",
 category: 'rendering',
 fn: function (html){
 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();
 _st($1)._with_(_st(self["@count"])._asString());
 $2=_st($1)._yourself();
@@ -71,12 +77,14 @@ self["@header"]=$2;
 $3=_st(html)._button();
 _st($3)._with_("++");
 $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)})}));
 $5=_st(html)._button();
 _st($5)._with_("--");
 $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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.Counter)})},
 args: ["html"],
@@ -94,7 +102,8 @@ selector: "tryExample",
 category: 'example',
 fn: function (){
 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)})},
 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",

Datei-Diff unterdrückt, da er zu groß ist
+ 222 - 111
js/IDE.deploy.js


Datei-Diff unterdrückt, da er zu groß ist
+ 222 - 111
js/IDE.js


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

@@ -7,16 +7,19 @@ selector: "nextChunk",
 fn: function (){
 var self=this;
 var char,result,chunk;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 var $early={};
 try {
 result=_st("")._writeStream();
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
char=_st(self["@stream"])._next();
+return smalltalk.withContext(function($ctx2) {
+char=_st(self["@stream"])._next();
 char;
 return _st(char)._notNil();
 }, 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)){
 $2=_st(_st(self["@stream"])._peek()).__eq("!");
 if(smalltalk.assert($2)){
@@ -41,7 +44,8 @@ smalltalk.method({
 selector: "stream:",
 fn: function (aStream){
 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)})},
 messageSends: []}),
 smalltalk.ChunkParser);
@@ -53,7 +57,8 @@ smalltalk.method({
 selector: "on:",
 fn: function (aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._stream_(aStream);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},smalltalk.ChunkParser.klass)})},
@@ -68,7 +73,8 @@ smalltalk.method({
 selector: "classNameFor:",
 fn: function (aClass){
 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();
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
@@ -93,10 +99,13 @@ fn: function (){
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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){
-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($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
@@ -111,9 +120,11 @@ selector: "exportClass:",
 fn: function (aClass){
 var self=this;
 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){
-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)._exportMetaDefinitionOf_on_(aClass,stream);
 return _st(self)._exportMethodsOf_on_(_st(aClass)._class(),stream);
@@ -129,16 +140,19 @@ smalltalk.method({
 selector: "exportDefinitionOf:on:",
 fn: function (aClass,aStream){
 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;
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 $2=_st($1)._nextPutAll_(", [");
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(", ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(", ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 _st($3)._nextPutAll_("], '");
@@ -166,7 +180,8 @@ selector: "exportMetaDefinitionOf:on:",
 fn: function (aClass,aStream){
 var self=this;
 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();
 if(! smalltalk.assert($1)){
 $2=aStream;
@@ -174,9 +189,11 @@ _st($2)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aCla
 $3=_st($2)._nextPutAll_(".iVarNames = [");
 $3;
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(",");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(aStream)._nextPutAll_(_st("];").__comma(_st($String())._lf()));
 };
@@ -190,7 +207,8 @@ smalltalk.method({
 selector: "exportMethod:of:on:",
 fn: function (aMethod,aClass,aStream){
 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;
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
@@ -229,11 +247,14 @@ smalltalk.method({
 selector: "exportMethodsOf:on:",
 fn: function (aClass,aStream){
 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){
-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){
-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)){
 return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 };
@@ -252,13 +273,16 @@ var self=this;
 var package_;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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){
-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_;
 _st(self)._exportPackageDefinitionOf_on_(package_,stream);
 _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)})}));
 return _st(self)._exportPackageExtensionsOf_on_(package_,stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
@@ -273,7 +297,8 @@ smalltalk.method({
 selector: "exportPackageDefinitionOf:on:",
 fn: function (package_,aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addPackage(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(package_)._name())).__comma("');"));
@@ -291,14 +316,19 @@ var self=this;
 var name;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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();
 _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){
-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)){
 return _st(self)._exportMethod_of_on_(method,aClass,aStream);
 };
@@ -318,7 +348,8 @@ smalltalk.method({
 selector: "chunkEscape:",
 fn: function (aString){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(aString)._replace_with_("!","!!"))._trimBoth();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"chunkEscape:",{aString:aString},smalltalk.ChunkExporter)})},
@@ -331,7 +362,8 @@ smalltalk.method({
 selector: "classNameFor:",
 fn: function (aClass){
 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();
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(" class");
@@ -354,7 +386,8 @@ smalltalk.method({
 selector: "exportDefinitionOf:on:",
 fn: function (aClass,aStream){
 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;
 _st($1)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._superclass()));
 _st($1)._nextPutAll_(_st(" subclass: #").__comma(_st(self)._classNameFor_(aClass)));
@@ -362,9 +395,11 @@ _st($1)._lf();
 _st($1)._tab();
 $2=_st($1)._nextPutAll_("instanceVariableNames: '");
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(" ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(" ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 _st($3)._nextPutAll_("'");
@@ -392,7 +427,8 @@ smalltalk.method({
 selector: "exportMetaDefinitionOf:on:",
 fn: function (aClass,aStream){
 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();
 if(! smalltalk.assert($1)){
 $2=aStream;
@@ -400,9 +436,11 @@ _st($2)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._class()));
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3;
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(" ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(" ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $4=aStream;
 _st($4)._nextPutAll_("'!");
@@ -420,7 +458,8 @@ smalltalk.method({
 selector: "exportMethod:of:on:",
 fn: function (aMethod,aClass,aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 _st($1)._lf();
 _st($1)._lf();
@@ -437,14 +476,17 @@ smalltalk.method({
 selector: "exportMethods:category:of:on:",
 fn: function (methods,category,aClass,aStream){
 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;
 _st($1)._nextPutAll_(_st("!").__comma(_st(self)._classNameFor_(aClass)));
 $2=_st($1)._nextPutAll_(_st(_st(" methodsFor: '").__comma(category)).__comma("'!"));
 _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){
-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)})}));
 $3=aStream;
 _st($3)._nextPutAll_(" !");
@@ -462,19 +504,23 @@ fn: function (aClass,aStream){
 var self=this;
 var map;
 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();
 _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)){
 return _st(map)._at_put_(category,methods);
 };
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 _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){
 var methods;
-return smalltalk.withContext(function($ctx2) {
methods=_st(map)._at_(category);
+return smalltalk.withContext(function($ctx2) {
+methods=_st(map)._at_(category);
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
@@ -488,7 +534,8 @@ smalltalk.method({
 selector: "exportPackageDefinitionOf:on:",
 fn: function (package_,aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 _st($1)._nextPutAll_(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("'!"));
 $2=_st($1)._lf();
@@ -506,23 +553,29 @@ var name,map;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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();
 _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;
 _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)){
 return _st(map)._at_put_(category,methods);
 };
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
 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){
 var methods;
-return smalltalk.withContext(function($ctx4) {
methods=_st(map)._at_(category);
+return smalltalk.withContext(function($ctx4) {
+methods=_st(map)._at_(category);
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
@@ -541,16 +594,19 @@ smalltalk.method({
 selector: "exportDefinitionOf:on:",
 fn: function (aClass,aStream){
 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;
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 $2=_st($1)._nextPutAll_(", [");
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(", ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(", ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 _st($3)._nextPutAll_("], '");
@@ -567,7 +623,8 @@ smalltalk.method({
 selector: "exportMethod:of:on:",
 fn: function (aMethod,aClass,aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
@@ -602,15 +659,18 @@ var self=this;
 var chunk,result,parser,lastEmpty;
 function $ChunkParser(){return smalltalk.ChunkParser||(typeof ChunkParser=="undefined"?nil:ChunkParser)}
 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);
 lastEmpty=false;
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
chunk=_st(parser)._nextChunk();
+return smalltalk.withContext(function($ctx2) {
+chunk=_st(parser)._nextChunk();
 chunk;
 return _st(chunk)._isNil();
 }, 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)){
 lastEmpty=true;
 return lastEmpty;
@@ -639,7 +699,8 @@ selector: "initializePackageNamed:prefix:",
 fn: function (packageName,aString){
 var self=this;
 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);
 _st($1)._setupClasses();
 _st($1)._commitPathJs_(_st(_st("/").__comma(aString)).__comma("/js"));
@@ -655,15 +716,18 @@ selector: "loadPackage:prefix:",
 fn: function (packageName,aString){
 var self=this;
 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");
 _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)){
 return _st(self)._initializePackageNamed_prefix_(packageName,aString);
 };
 }, 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)})}))]));
 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:"]}),
@@ -675,8 +739,10 @@ smalltalk.method({
 selector: "loadPackages:prefix:",
 fn: function (aCollection,aString){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader)})},
 messageSends: ["do:", "loadPackage:prefix:"]}),
@@ -689,7 +755,8 @@ smalltalk.method({
 selector: "loadPackages:prefix:",
 fn: function (aCollection,aString){
 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);
 return $1;
 }, 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 (){
 var self=this;
 var char,result,chunk;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2,$3;
 var $early={};
 try {
 result=_st("")._writeStream();
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
char=_st(self["@stream"])._next();
+return smalltalk.withContext(function($ctx2) {
+char=_st(self["@stream"])._next();
 char;
 return _st(char)._notNil();
 }, 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)){
 $2=_st(_st(self["@stream"])._peek()).__eq("!");
 if(smalltalk.assert($2)){
@@ -47,7 +50,8 @@ selector: "stream:",
 category: 'accessing',
 fn: function (aStream){
 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)})},
 args: ["aStream"],
 source: "stream: aStream\x0a\x09stream := aStream",
@@ -64,7 +68,8 @@ selector: "on:",
 category: 'not yet classified',
 fn: function (aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._new())._stream_(aStream);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},smalltalk.ChunkParser.klass)})},
@@ -84,7 +89,8 @@ selector: "classNameFor:",
 category: 'private',
 fn: function (aClass){
 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();
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(".klass");
@@ -114,10 +120,13 @@ fn: function (){
 var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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){
-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($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
@@ -137,9 +146,11 @@ category: 'fileOut',
 fn: function (aClass){
 var self=this;
 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){
-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)._exportMetaDefinitionOf_on_(aClass,stream);
 return _st(self)._exportMethodsOf_on_(_st(aClass)._class(),stream);
@@ -160,16 +171,19 @@ selector: "exportDefinitionOf:on:",
 category: 'private',
 fn: function (aClass,aStream){
 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;
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 $2=_st($1)._nextPutAll_(", [");
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(", ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(", ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 _st($3)._nextPutAll_("], '");
@@ -202,7 +216,8 @@ category: 'private',
 fn: function (aClass,aStream){
 var self=this;
 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();
 if(! smalltalk.assert($1)){
 $2=aStream;
@@ -210,9 +225,11 @@ _st($2)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aCla
 $3=_st($2)._nextPutAll_(".iVarNames = [");
 $3;
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(",");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(aStream)._nextPutAll_(_st("];").__comma(_st($String())._lf()));
 };
@@ -231,7 +248,8 @@ selector: "exportMethod:of:on:",
 category: 'private',
 fn: function (aMethod,aClass,aStream){
 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;
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
@@ -275,11 +293,14 @@ selector: "exportMethodsOf:on:",
 category: 'private',
 fn: function (aClass,aStream){
 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){
-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){
-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)){
 return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 };
@@ -303,13 +324,16 @@ var self=this;
 var package_;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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){
-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_;
 _st(self)._exportPackageDefinitionOf_on_(package_,stream);
 _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)})}));
 return _st(self)._exportPackageExtensionsOf_on_(package_,stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
@@ -329,7 +353,8 @@ selector: "exportPackageDefinitionOf:on:",
 category: 'private',
 fn: function (package_,aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addPackage(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(package_)._name())).__comma("');"));
@@ -352,14 +377,19 @@ var self=this;
 var name;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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();
 _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){
-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)){
 return _st(self)._exportMethod_of_on_(method,aClass,aStream);
 };
@@ -384,7 +414,8 @@ selector: "chunkEscape:",
 category: 'not yet classified',
 fn: function (aString){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(aString)._replace_with_("!","!!"))._trimBoth();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"chunkEscape:",{aString:aString},smalltalk.ChunkExporter)})},
@@ -402,7 +433,8 @@ selector: "classNameFor:",
 category: 'not yet classified',
 fn: function (aClass){
 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();
 if(smalltalk.assert($2)){
 $1=_st(_st(_st(aClass)._instanceClass())._name()).__comma(" class");
@@ -430,7 +462,8 @@ selector: "exportDefinitionOf:on:",
 category: 'not yet classified',
 fn: function (aClass,aStream){
 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;
 _st($1)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._superclass()));
 _st($1)._nextPutAll_(_st(" subclass: #").__comma(_st(self)._classNameFor_(aClass)));
@@ -438,9 +471,11 @@ _st($1)._lf();
 _st($1)._tab();
 $2=_st($1)._nextPutAll_("instanceVariableNames: '");
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(" ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(" ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 _st($3)._nextPutAll_("'");
@@ -473,7 +508,8 @@ selector: "exportMetaDefinitionOf:on:",
 category: 'not yet classified',
 fn: function (aClass,aStream){
 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();
 if(! smalltalk.assert($1)){
 $2=aStream;
@@ -481,9 +517,11 @@ _st($2)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._class()));
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3;
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(" ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(" ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $4=aStream;
 _st($4)._nextPutAll_("'!");
@@ -506,7 +544,8 @@ selector: "exportMethod:of:on:",
 category: 'not yet classified',
 fn: function (aMethod,aClass,aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 _st($1)._lf();
 _st($1)._lf();
@@ -528,14 +567,17 @@ selector: "exportMethods:category:of:on:",
 category: 'not yet classified',
 fn: function (methods,category,aClass,aStream){
 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;
 _st($1)._nextPutAll_(_st("!").__comma(_st(self)._classNameFor_(aClass)));
 $2=_st($1)._nextPutAll_(_st(_st(" methodsFor: '").__comma(category)).__comma("'!"));
 _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){
-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)})}));
 $3=aStream;
 _st($3)._nextPutAll_(" !");
@@ -558,19 +600,23 @@ fn: function (aClass,aStream){
 var self=this;
 var map;
 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();
 _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)){
 return _st(map)._at_put_(category,methods);
 };
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 _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){
 var methods;
-return smalltalk.withContext(function($ctx2) {
methods=_st(map)._at_(category);
+return smalltalk.withContext(function($ctx2) {
+methods=_st(map)._at_(category);
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
@@ -589,7 +635,8 @@ selector: "exportPackageDefinitionOf:on:",
 category: 'not yet classified',
 fn: function (package_,aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 _st($1)._nextPutAll_(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("'!"));
 $2=_st($1)._lf();
@@ -612,23 +659,29 @@ var name,map;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 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();
 _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;
 _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)){
 return _st(map)._at_put_(category,methods);
 };
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
 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){
 var methods;
-return smalltalk.withContext(function($ctx4) {
methods=_st(map)._at_(category);
+return smalltalk.withContext(function($ctx4) {
+methods=_st(map)._at_(category);
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
@@ -652,16 +705,19 @@ selector: "exportDefinitionOf:on:",
 category: 'private',
 fn: function (aClass,aStream){
 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;
 _st($1)._nextPutAll_("smalltalk.addClass(");
 _st($1)._nextPutAll_(_st(_st("'").__comma(_st(self)._classNameFor_(aClass))).__comma("', "));
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._superclass())));
 $2=_st($1)._nextPutAll_(", [");
 _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(){
-return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(", ");
+return smalltalk.withContext(function($ctx2) {
+return _st(aStream)._nextPutAll_(", ");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=aStream;
 _st($3)._nextPutAll_("], '");
@@ -683,7 +739,8 @@ selector: "exportMethod:of:on:",
 category: 'private',
 fn: function (aMethod,aClass,aStream){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
@@ -723,15 +780,18 @@ var self=this;
 var chunk,result,parser,lastEmpty;
 function $ChunkParser(){return smalltalk.ChunkParser||(typeof ChunkParser=="undefined"?nil:ChunkParser)}
 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);
 lastEmpty=false;
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
chunk=_st(parser)._nextChunk();
+return smalltalk.withContext(function($ctx2) {
+chunk=_st(parser)._nextChunk();
 chunk;
 return _st(chunk)._isNil();
 }, 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)){
 lastEmpty=true;
 return lastEmpty;
@@ -765,7 +825,8 @@ category: 'laoding',
 fn: function (packageName,aString){
 var self=this;
 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);
 _st($1)._setupClasses();
 _st($1)._commitPathJs_(_st(_st("/").__comma(aString)).__comma("/js"));
@@ -786,15 +847,18 @@ category: 'laoding',
 fn: function (packageName,aString){
 var self=this;
 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");
 _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)){
 return _st(self)._initializePackageNamed_prefix_(packageName,aString);
 };
 }, 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)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackage:prefix:",{packageName:packageName,aString:aString,url:url},smalltalk.PackageLoader)})},
 args: ["packageName", "aString"],
@@ -811,8 +875,10 @@ selector: "loadPackages:prefix:",
 category: 'laoding',
 fn: function (aCollection,aString){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageLoader)})},
 args: ["aCollection", "aString"],
@@ -830,7 +896,8 @@ selector: "loadPackages:prefix:",
 category: 'not yet classified',
 fn: function (aCollection,aString){
 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);
 return $1;
 }, 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",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@announcementClass"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"announcementClass",{},smalltalk.AnnouncementSubscription)})},
@@ -19,7 +20,8 @@ smalltalk.method({
 selector: "announcementClass:",
 fn: function (aClass){
 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)})},
 messageSends: []}),
 smalltalk.AnnouncementSubscription);
@@ -30,7 +32,8 @@ smalltalk.method({
 selector: "block",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@block"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"block",{},smalltalk.AnnouncementSubscription)})},
@@ -43,7 +46,8 @@ smalltalk.method({
 selector: "block:",
 fn: function (aBlock){
 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)})},
 messageSends: []}),
 smalltalk.AnnouncementSubscription);
@@ -54,7 +58,8 @@ smalltalk.method({
 selector: "deliver:",
 fn: function (anAnnouncement){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._handlesAnnouncement_(anAnnouncement);
 if(smalltalk.assert($1)){
 _st(_st(self)._block())._value_(anAnnouncement);
@@ -69,7 +74,8 @@ smalltalk.method({
 selector: "handlesAnnouncement:",
 fn: function (anAnnouncement){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(anAnnouncement)._isKindOf_(_st(self)._announcementClass());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement},smalltalk.AnnouncementSubscription)})},
@@ -85,8 +91,10 @@ smalltalk.method({
 selector: "announce:",
 fn: function (anAnnouncement){
 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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement},smalltalk.Announcer)})},
 messageSends: ["do:", "deliver:"]}),
@@ -99,7 +107,8 @@ selector: "initialize",
 fn: function (){
 var self=this;
 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();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Announcer)})},
 messageSends: ["initialize", "new"]}),
@@ -112,7 +121,8 @@ selector: "on:do:",
 fn: function (aClass,aBlock){
 var self=this;
 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();
 _st($1)._block_(aBlock);
 _st($1)._announcementClass_(aClass);
@@ -133,7 +143,8 @@ smalltalk.method({
 selector: "current",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 $2=self["@current"];
 if(($receiver = $2) == nil || $receiver == undefined){
 self["@current"]=smalltalk.Announcer.klass.fn.prototype._new.apply(_st(self), []);
@@ -152,7 +163,8 @@ smalltalk.method({
 selector: "new",
 fn: function (){
 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)})},
 messageSends: ["shouldNotImplement"]}),
 smalltalk.SystemAnnouncer.klass);
@@ -165,7 +177,8 @@ smalltalk.method({
 selector: "theClass",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.SystemAnnouncement)})},
@@ -178,7 +191,8 @@ smalltalk.method({
 selector: "theClass:",
 fn: function (aClass){
 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)})},
 messageSends: []}),
 smalltalk.SystemAnnouncement);
@@ -192,7 +206,8 @@ smalltalk.method({
 selector: "theClass",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ClassAnnouncement)})},
@@ -205,7 +220,8 @@ smalltalk.method({
 selector: "theClass:",
 fn: function (aClass){
 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)})},
 messageSends: []}),
 smalltalk.ClassAnnouncement);
@@ -234,7 +250,8 @@ smalltalk.method({
 selector: "method",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@method"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodAnnouncement)})},
@@ -247,7 +264,8 @@ smalltalk.method({
 selector: "method:",
 fn: function (aCompiledMethod){
 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)})},
 messageSends: []}),
 smalltalk.MethodAnnouncement);
@@ -264,7 +282,8 @@ smalltalk.method({
 selector: "oldMethod",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@oldMethod"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"oldMethod",{},smalltalk.MethodModified)})},
@@ -277,7 +296,8 @@ smalltalk.method({
 selector: "oldMethod:",
 fn: function (aMethod){
 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)})},
 messageSends: []}),
 smalltalk.MethodModified);
@@ -294,7 +314,8 @@ smalltalk.method({
 selector: "package",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@package"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"package",{},smalltalk.PackageAnnouncement)})},
@@ -307,7 +328,8 @@ smalltalk.method({
 selector: "package:",
 fn: function (aPackage){
 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)})},
 messageSends: []}),
 smalltalk.PackageAnnouncement);
@@ -327,7 +349,8 @@ smalltalk.method({
 selector: "protocol",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@protocol"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.ProtocolAnnouncement)})},
@@ -340,7 +363,8 @@ smalltalk.method({
 selector: "protocol:",
 fn: function (aString){
 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)})},
 messageSends: []}),
 smalltalk.ProtocolAnnouncement);
@@ -351,7 +375,8 @@ smalltalk.method({
 selector: "theClass",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@theClass"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ProtocolAnnouncement)})},
@@ -364,7 +389,8 @@ smalltalk.method({
 selector: "theClass:",
 fn: function (aClass){
 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)})},
 messageSends: []}),
 smalltalk.ProtocolAnnouncement);

+ 52 - 26
js/Kernel-Announcements.js

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

Datei-Diff unterdrückt, da er zu groß ist
+ 230 - 115
js/Kernel-Classes.deploy.js


Datei-Diff unterdrückt, da er zu groß ist
+ 230 - 115
js/Kernel-Classes.js


Datei-Diff unterdrückt, da er zu groß ist
+ 250 - 125
js/Kernel-Collections.deploy.js


Datei-Diff unterdrückt, da er zu groß ist
+ 250 - 125
js/Kernel-Collections.js


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

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

+ 64 - 32
js/Kernel-Exceptions.js

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

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

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

+ 162 - 81
js/Kernel-Methods.js

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

Datei-Diff unterdrückt, da er zu groß ist
+ 208 - 104
js/Kernel-Objects.deploy.js


Datei-Diff unterdrückt, da er zu groß ist
+ 208 - 104
js/Kernel-Objects.js


Datei-Diff unterdrückt, da er zu groß ist
+ 282 - 141
js/Kernel-Tests.deploy.js


Datei-Diff unterdrückt, da er zu groß ist
+ 282 - 141
js/Kernel-Tests.js


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

@@ -6,7 +6,8 @@ smalltalk.method({
 selector: "clear",
 fn: function (){
 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: []}),
 smalltalk.ConsoleTranscript);
 
@@ -16,7 +17,8 @@ smalltalk.method({
 selector: "cr",
 fn: function (){
 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: []}),
 smalltalk.ConsoleTranscript);
 
@@ -26,7 +28,8 @@ smalltalk.method({
 selector: "open",
 fn: function (){
 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: []}),
 smalltalk.ConsoleTranscript);
 
@@ -36,7 +39,8 @@ smalltalk.method({
 selector: "show:",
 fn: function (anObject){
 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)})},
 messageSends: []}),
 smalltalk.ConsoleTranscript);
@@ -49,7 +53,8 @@ selector: "initialize",
 fn: function (){
 var self=this;
 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)})},
 messageSends: ["register:", "new"]}),
 smalltalk.ConsoleTranscript.klass);
@@ -64,7 +69,8 @@ smalltalk.method({
 selector: "clear",
 fn: function (){
 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)})},
 messageSends: ["clear", "current"]}),
 smalltalk.Transcript.klass);
@@ -76,7 +82,8 @@ selector: "cr",
 fn: function (){
 var self=this;
 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)})},
 messageSends: ["show:", "cr", "current"]}),
 smalltalk.Transcript.klass);
@@ -87,7 +94,8 @@ smalltalk.method({
 selector: "current",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@current"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"current",{},smalltalk.Transcript.klass)})},
@@ -100,7 +108,8 @@ smalltalk.method({
 selector: "new",
 fn: function (){
 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)})},
 messageSends: ["shouldNotImplement"]}),
 smalltalk.Transcript.klass);
@@ -111,7 +120,8 @@ smalltalk.method({
 selector: "open",
 fn: function (){
 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)})},
 messageSends: ["open", "current"]}),
 smalltalk.Transcript.klass);
@@ -122,7 +132,8 @@ smalltalk.method({
 selector: "register:",
 fn: function (aTranscript){
 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)})},
 messageSends: []}),
 smalltalk.Transcript.klass);
@@ -133,7 +144,8 @@ smalltalk.method({
 selector: "show:",
 fn: function (anObject){
 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)})},
 messageSends: ["show:", "current"]}),
 smalltalk.Transcript.klass);

+ 24 - 12
js/Kernel-Transcript.js

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

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

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

+ 98 - 49
js/SUnit-Tests.js

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

+ 168 - 84
js/SUnit.deploy.js

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

+ 168 - 84
js/SUnit.js

@@ -7,7 +7,8 @@ selector: "result",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ResultAnnouncement)})},
@@ -25,7 +26,8 @@ selector: "result:",
 category: 'accessing',
 fn: function (aTestResult){
 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)})},
 args: ["aTestResult"],
 source: "result: aTestResult\x0a\x09result := aTestResult",
@@ -45,7 +47,8 @@ selector: "assert:",
 category: 'testing',
 fn: function (aBoolean){
 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)})},
 args: ["aBoolean"],
 source: "assert: aBoolean\x0a\x09self assert: aBoolean description: 'Assertion failed'",
@@ -61,7 +64,8 @@ selector: "assert:description:",
 category: 'testing',
 fn: function (aBoolean,aString){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=aBoolean;
 if(! smalltalk.assert($1)){
 _st(self)._signalFailure_(aString);
@@ -81,7 +85,8 @@ selector: "assert:equals:",
 category: 'testing',
 fn: function (actual,expected){
 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()));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected},smalltalk.TestCase)})},
@@ -100,11 +105,13 @@ category: 'async',
 fn: function (aBlock){
 var self=this;
 var c;
-return smalltalk.withContext(function($ctx1) { 
var $2,$1;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1;
 _st(self)._errorIfNotAsync_("#async");
 c=self["@context"];
 $1=(function(){
-return smalltalk.withContext(function($ctx2) {
$2=_st(self)._isAsync();
+return smalltalk.withContext(function($ctx2) {
+$2=_st(self)._isAsync();
 if(smalltalk.assert($2)){
 return _st(c)._execute_(aBlock);
 };
@@ -125,7 +132,8 @@ selector: "context:",
 category: 'accessing',
 fn: function (aRunningTestContext){
 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)})},
 args: ["aRunningTestContext"],
 source: "context: aRunningTestContext\x0a\x09context := aRunningTestContext",
@@ -141,7 +149,8 @@ selector: "deny:",
 category: 'testing',
 fn: function (aBoolean){
 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)})},
 args: ["aBoolean"],
 source: "deny: aBoolean\x0a\x09self assert: aBoolean not",
@@ -157,7 +166,8 @@ selector: "errorIfNotAsync:",
 category: 'error handling',
 fn: function (aString){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self)._isAsync();
 if(! smalltalk.assert($1)){
 _st(self)._error_(_st(aString).__comma(" used without prior #timeout:"));
@@ -177,7 +187,8 @@ selector: "finished",
 category: 'async',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._errorIfNotAsync_("#finished");
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._errorIfNotAsync_("#finished");
 self["@asyncTimeout"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"finished",{},smalltalk.TestCase)})},
 args: [],
@@ -194,7 +205,8 @@ selector: "isAsync",
 category: 'testing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(self["@asyncTimeout"])._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAsync",{},smalltalk.TestCase)})},
@@ -212,7 +224,8 @@ selector: "performTest",
 category: 'running',
 fn: function (){
 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());
 return self}, function($ctx1) {$ctx1.fill(self,"performTest",{},smalltalk.TestCase)})},
 args: [],
@@ -230,7 +243,8 @@ category: 'running',
 fn: function (){
 var self=this;
 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)})},
 args: [],
 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',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@testSelector"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.TestCase)})},
@@ -264,7 +279,8 @@ selector: "setTestSelector:",
 category: 'accessing',
 fn: function (aSelector){
 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)})},
 args: ["aSelector"],
 source: "setTestSelector: aSelector\x0a\x09testSelector := aSelector",
@@ -280,7 +296,8 @@ selector: "setUp",
 category: 'running',
 fn: function (){
 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: [],
 source: "setUp",
 messageSends: [],
@@ -295,7 +312,8 @@ selector: "should:",
 category: 'testing',
 fn: function (aBlock){
 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)})},
 args: ["aBlock"],
 source: "should: aBlock\x0a\x09self assert: aBlock value",
@@ -311,11 +329,14 @@ selector: "should:raise:",
 category: 'testing',
 fn: function (aBlock,anExceptionClass){
 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;
 }, 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)})})));
 return self}, function($ctx1) {$ctx1.fill(self,"should:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 args: ["aBlock", "anExceptionClass"],
@@ -332,11 +353,14 @@ selector: "shouldnt:raise:",
 category: 'testing',
 fn: function (aBlock,anExceptionClass){
 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;
 }, 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)})})));
 return self}, function($ctx1) {$ctx1.fill(self,"shouldnt:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass},smalltalk.TestCase)})},
 args: ["aBlock", "anExceptionClass"],
@@ -354,7 +378,8 @@ category: 'private',
 fn: function (aString){
 var self=this;
 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();
 _st($1)._messageText_(aString);
 $2=_st($1)._signal();
@@ -373,7 +398,8 @@ selector: "tearDown",
 category: 'running',
 fn: function (){
 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: [],
 source: "tearDown",
 messageSends: [],
@@ -388,7 +414,8 @@ selector: "timeout:",
 category: 'async',
 fn: function (aNumber){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@asyncTimeout"];
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
@@ -397,7 +424,8 @@ _st(self["@asyncTimeout"])._clearTimeout();
 };
 self["@asyncTimeout"]=(0);
 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);
 return self}, function($ctx1) {$ctx1.fill(self,"timeout:",{aNumber:aNumber},smalltalk.TestCase)})},
 args: ["aNumber"],
@@ -416,7 +444,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 var selectors;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 selectors=_st(self)._testSelectors();
 $1=_st(self)._shouldInheritSelectors();
 if(smalltalk.assert($1)){
@@ -439,9 +468,11 @@ selector: "buildSuite",
 category: 'accessing',
 fn: function (){
 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){
-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)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"buildSuite",{},smalltalk.TestCase.klass)})},
@@ -459,7 +490,8 @@ selector: "isAbstract",
 category: 'testing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._name()).__eq("TestCase");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{},smalltalk.TestCase.klass)})},
@@ -478,7 +510,8 @@ category: 'accessing',
 fn: function (){
 var self=this;
 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();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"lookupHierarchyRoot",{},smalltalk.TestCase.klass)})},
@@ -496,7 +529,8 @@ selector: "selector:",
 category: 'accessing',
 fn: function (aSelector){
 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();
 _st($2)._setTestSelector_(aSelector);
 $3=_st($2)._yourself();
@@ -517,7 +551,8 @@ selector: "shouldInheritSelectors",
 category: 'testing',
 fn: function (){
 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());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},smalltalk.TestCase.klass)})},
@@ -535,9 +570,11 @@ selector: "testSelectors",
 category: 'accessing',
 fn: function (){
 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){
-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)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"testSelectors",{},smalltalk.TestCase.klass)})},
@@ -559,18 +596,22 @@ category: 'running',
 fn: function (aBlock){
 var self=this;
 var failed;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 _st(self["@testCase"])._context_(self);
 _st((function(){
-return smalltalk.withContext(function($ctx2) {
failed=true;
+return smalltalk.withContext(function($ctx2) {
+failed=true;
 failed;
 _st(aBlock)._value();
 failed=false;
 return failed;
 }, 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(){
-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)})}));
 if(smalltalk.assert($1)){
 _st(self["@testCase"])._finished();
@@ -595,8 +636,10 @@ selector: "start",
 category: 'running',
 fn: function (){
 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();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"start",{},smalltalk.TestContext)})},
@@ -614,7 +657,8 @@ selector: "testCase:",
 category: 'accessing',
 fn: function (aTestCase){
 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)})},
 args: ["aTestCase"],
 source: "testCase: aTestCase\x0a\x09testCase := aTestCase",
@@ -631,7 +675,8 @@ selector: "testCase:",
 category: 'instance creation',
 fn: function (aTestCase){
 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();
 _st($2)._testCase_(aTestCase);
 $3=_st($2)._yourself();
@@ -655,13 +700,17 @@ selector: "execute:",
 category: 'running',
 fn: function (aBlock){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 _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($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)){
 _st(self["@result"])._increaseRuns();
 return _st(self["@finished"])._value();
@@ -682,7 +731,8 @@ selector: "finished:",
 category: 'accessing',
 fn: function (aBlock){
 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)})},
 args: ["aBlock"],
 source: "finished: aBlock\x0a\x09finished := aBlock",
@@ -698,7 +748,8 @@ selector: "result:",
 category: 'accessing',
 fn: function (aTestResult){
 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)})},
 args: ["aTestResult"],
 source: "result: aTestResult\x0a\x09result := aTestResult",
@@ -716,12 +767,16 @@ fn: function (aBlock){
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 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($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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"withErrorReporting:",{aBlock:aBlock},smalltalk.ReportingTestContext)})},
 args: ["aBlock"],
@@ -739,7 +794,8 @@ selector: "testCase:result:finished:",
 category: 'instance creation',
 fn: function (aTestCase,aTestResult,aBlock){
 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]);
 _st($2)._result_(aTestResult);
 _st($2)._finished_(aBlock);
@@ -768,7 +824,8 @@ selector: "addError:",
 category: 'accessing',
 fn: function (anError){
 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)})},
 args: ["anError"],
 source: "addError: anError\x0a\x09self errors add: anError",
@@ -784,7 +841,8 @@ selector: "addFailure:",
 category: 'accessing',
 fn: function (aFailure){
 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)})},
 args: ["aFailure"],
 source: "addFailure: aFailure\x0a\x09self failures add: aFailure",
@@ -800,7 +858,8 @@ selector: "errors",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@errors"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"errors",{},smalltalk.TestResult)})},
@@ -818,7 +877,8 @@ selector: "failures",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@failures"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"failures",{},smalltalk.TestResult)})},
@@ -836,7 +896,8 @@ selector: "increaseRuns",
 category: 'accessing',
 fn: function (){
 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)})},
 args: [],
 source: "increaseRuns\x0a\x09runs := runs + 1",
@@ -854,7 +915,8 @@ fn: function (){
 var self=this;
 function $Date(){return smalltalk.Date||(typeof Date=="undefined"?nil:Date)}
 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["@runs"]=(0);
 self["@errors"]=_st($Array())._new();
@@ -875,7 +937,8 @@ selector: "nextRunDo:",
 category: 'running',
 fn: function (aBlock){
 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());
 if(! smalltalk.assert($2)){
 $1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1)));
@@ -898,15 +961,20 @@ fn: function (aTestCase){
 var self=this;
 function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 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();
 }, 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($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)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"runCase:",{aTestCase:aTestCase},smalltalk.TestResult)})},
 args: ["aTestCase"],
@@ -923,7 +991,8 @@ selector: "runs",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@runs"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"runs",{},smalltalk.TestResult)})},
@@ -941,7 +1010,8 @@ selector: "status",
 category: 'accessing',
 fn: function (){
 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();
 if(smalltalk.assert($2)){
 $3=_st(_st(self)._failures())._isEmpty();
@@ -969,7 +1039,8 @@ selector: "timestamp",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@timestamp"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"timestamp",{},smalltalk.TestResult)})},
@@ -987,7 +1058,8 @@ selector: "total",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@total"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"total",{},smalltalk.TestResult)})},
@@ -1005,7 +1077,8 @@ selector: "total:",
 category: 'accessing',
 fn: function (aNumber){
 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)})},
 args: ["aNumber"],
 source: "total: aNumber\x0a\x09total := aNumber",
@@ -1024,7 +1097,8 @@ selector: "announcer",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@announcer"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"announcer",{},smalltalk.TestSuiteRunner)})},
@@ -1043,9 +1117,11 @@ category: 'private',
 fn: function (anInteger){
 var self=this;
 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(){
-return smalltalk.withContext(function($ctx2) {
return _st(self)._resume();
+return smalltalk.withContext(function($ctx2) {
+return _st(self)._resume();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger},smalltalk.TestSuiteRunner)})},
@@ -1065,13 +1141,15 @@ fn: function (){
 var self=this;
 function $Announcer(){return smalltalk.Announcer||(typeof Announcer=="undefined"?nil:Announcer)}
 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), []);
 self["@announcer"]=_st($Announcer())._new();
 self["@result"]=_st($TestResult())._new();
 self["@runNextTest"]=(function(){
 var runs;
-return smalltalk.withContext(function($ctx2) {
runs=_st(self["@result"])._runs();
+return smalltalk.withContext(function($ctx2) {
+runs=_st(self["@result"])._runs();
 runs;
 $1=_st(runs).__lt(_st(self["@result"])._total());
 if(smalltalk.assert($1)){
@@ -1093,7 +1171,8 @@ selector: "result",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@result"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.TestSuiteRunner)})},
@@ -1112,7 +1191,8 @@ category: 'actions',
 fn: function (){
 var self=this;
 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"]));
 return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.TestSuiteRunner)})},
 args: [],
@@ -1129,7 +1209,8 @@ selector: "run",
 category: 'actions',
 fn: function (){
 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();
 return self}, function($ctx1) {$ctx1.fill(self,"run",{},smalltalk.TestSuiteRunner)})},
 args: [],
@@ -1146,7 +1227,8 @@ selector: "suite:",
 category: 'accessing',
 fn: function (aCollection){
 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)})},
 args: ["aCollection"],
 source: "suite: aCollection\x0a\x09suite := aCollection",
@@ -1163,7 +1245,8 @@ selector: "new",
 category: 'instance creation',
 fn: function (){
 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)})},
 args: [],
 source: "new\x0a\x09self shouldNotImplement",
@@ -1179,7 +1262,8 @@ selector: "on:",
 category: 'instance creation',
 fn: function (aCollection){
 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);
 return $1;
 }, 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:",
 fn: function (aFrame){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._release();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._release();
 self["@frame"]=aFrame;
 return self}, function($ctx1) {$ctx1.fill(self,"connectTo:",{aFrame:aFrame},smalltalk.ObjectSpace)})},
 messageSends: ["release"]}),
@@ -18,7 +19,8 @@ smalltalk.method({
 selector: "create",
 fn: function (){
 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();
 _st(_st(self["@frame"])._contentWindow())._location_(_st(window)._location());
 return self}, function($ctx1) {$ctx1.fill(self,"create",{},smalltalk.ObjectSpace)})},
@@ -31,7 +33,8 @@ smalltalk.method({
 selector: "destroy",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=self["@frame"];
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=self;
@@ -51,10 +54,12 @@ smalltalk.method({
 selector: "do:",
 fn: function (aBlock){
 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();
 if(! smalltalk.assert($1)){
-$2=_st((smalltalk.ObjectSpaceConnectionError || ObjectSpaceConnectionError))._signal();
+$2=_st($ObjectSpaceConnectionError())._signal();
 return $2;
 };
 $3=_st(_st(self["@frame"])._contentWindow())._eval_(_st(_st("(").__comma(_st(aBlock)._compiledSource())).__comma(")()"));
@@ -69,7 +74,8 @@ smalltalk.method({
 selector: "frame",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@frame"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"frame",{},smalltalk.ObjectSpace)})},
@@ -82,7 +88,8 @@ smalltalk.method({
 selector: "initialize",
 fn: function (){
 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();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ObjectSpace)})},
 messageSends: ["initialize", "create"]}),
@@ -94,7 +101,8 @@ smalltalk.method({
 selector: "isConnected",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._frame())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isConnected",{},smalltalk.ObjectSpace)})},
@@ -107,7 +115,8 @@ smalltalk.method({
 selector: "release",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ObjectSpace);
@@ -118,7 +127,8 @@ smalltalk.method({
 selector: "whenReadyDo:",
 fn: function (aBlock){
 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)})},
 messageSends: ["bind:do:", "jQuery:"]}),
 smalltalk.ObjectSpace);
@@ -130,7 +140,8 @@ smalltalk.method({
 selector: "on:",
 fn: function (aFrame){
 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();
 _st($2)._connectTo_(aFrame);
 $3=_st($2)._yourself();
@@ -148,7 +159,8 @@ smalltalk.method({
 selector: "messageText",
 fn: function (){
 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)})},
 messageSends: []}),
 smalltalk.ObjectSpaceConnectionError);
@@ -162,7 +174,9 @@ smalltalk.method({
 selector: "setUp",
 fn: function (){
 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)})},
 messageSends: ["new"]}),
 smalltalk.ObjectSpaceTest);
@@ -173,7 +187,8 @@ smalltalk.method({
 selector: "tearDown",
 fn: function (){
 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)})},
 messageSends: ["destroy"]}),
 smalltalk.ObjectSpaceTest);
@@ -184,12 +199,16 @@ smalltalk.method({
 selector: "testConnection",
 fn: function (){
 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)._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)})},
 messageSends: ["destroy", "deny:", "isConnected", "should:raise:", "do:"]}),
 smalltalk.ObjectSpaceTest);
@@ -200,7 +219,8 @@ smalltalk.method({
 selector: "testCreate",
 fn: function (){
 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());
 return self}, function($ctx1) {$ctx1.fill(self,"testCreate",{},smalltalk.ObjectSpaceTest)})},
 messageSends: ["assert:", "notNil", "frame", "isConnected"]}),
@@ -213,13 +233,17 @@ selector: "testEvaluation",
 fn: function (){
 var self=this;
 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)})}));
 result;
 _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));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"testEvaluation",{result:result},smalltalk.ObjectSpaceTest)})},
@@ -232,7 +256,8 @@ smalltalk.method({
 selector: "testRelease",
 fn: function (){
 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)._assert_(_st(_st(self["@space"])._frame())._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testRelease",{},smalltalk.ObjectSpaceTest)})},

+ 49 - 24
js/Spaces.js

@@ -8,7 +8,8 @@ selector: "connectTo:",
 category: 'initialization',
 fn: function (aFrame){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._release();
+return smalltalk.withContext(function($ctx1) { 
+_st(self)._release();
 self["@frame"]=aFrame;
 return self}, function($ctx1) {$ctx1.fill(self,"connectTo:",{aFrame:aFrame},smalltalk.ObjectSpace)})},
 args: ["aFrame"],
@@ -25,7 +26,8 @@ selector: "create",
 category: 'initialization',
 fn: function (){
 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();
 _st(_st(self["@frame"])._contentWindow())._location_(_st(window)._location());
 return self}, function($ctx1) {$ctx1.fill(self,"create",{},smalltalk.ObjectSpace)})},
@@ -43,7 +45,8 @@ selector: "destroy",
 category: 'releasing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
 $1=self["@frame"];
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=self;
@@ -68,10 +71,12 @@ selector: "do:",
 category: 'evaluating',
 fn: function (aBlock){
 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();
 if(! smalltalk.assert($1)){
-$2=_st((smalltalk.ObjectSpaceConnectionError || ObjectSpaceConnectionError))._signal();
+$2=_st($ObjectSpaceConnectionError())._signal();
 return $2;
 };
 $3=_st(_st(self["@frame"])._contentWindow())._eval_(_st(_st("(").__comma(_st(aBlock)._compiledSource())).__comma(")()"));
@@ -91,7 +96,8 @@ selector: "frame",
 category: 'accessing',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=self["@frame"];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"frame",{},smalltalk.ObjectSpace)})},
@@ -109,7 +115,8 @@ selector: "initialize",
 category: 'initialization',
 fn: function (){
 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();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ObjectSpace)})},
 args: [],
@@ -126,7 +133,8 @@ selector: "isConnected",
 category: 'initialization',
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
 $1=_st(_st(self)._frame())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isConnected",{},smalltalk.ObjectSpace)})},
@@ -144,7 +152,8 @@ selector: "release",
 category: 'releasing',
 fn: function (){
 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)})},
 args: [],
 source: "release\x0a\x09frame := nil",
@@ -160,7 +169,8 @@ selector: "whenReadyDo:",
 category: 'events',
 fn: function (aBlock){
 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)})},
 args: ["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',
 fn: function (aFrame){
 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();
 _st($2)._connectTo_(aFrame);
 $3=_st($2)._yourself();
@@ -200,7 +211,8 @@ selector: "messageText",
 category: 'accessing',
 fn: function (){
 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)})},
 args: [],
 source: "messageText\x0a\x09^ 'The ObjectSpace is not connected'",
@@ -219,7 +231,9 @@ selector: "setUp",
 category: 'initialization',
 fn: function (){
 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)})},
 args: [],
 source: "setUp\x0a\x09space := ObjectSpace new",
@@ -235,7 +249,8 @@ selector: "tearDown",
 category: 'initialization',
 fn: function (){
 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)})},
 args: [],
 source: "tearDown\x0a\x09space destroy",
@@ -251,12 +266,16 @@ selector: "testConnection",
 category: 'tests',
 fn: function (){
 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)._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)})},
 args: [],
 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',
 fn: function (){
 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());
 return self}, function($ctx1) {$ctx1.fill(self,"testCreate",{},smalltalk.ObjectSpaceTest)})},
 args: [],
@@ -290,13 +310,17 @@ category: 'tests',
 fn: function (){
 var self=this;
 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)})}));
 result;
 _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));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"testEvaluation",{result:result},smalltalk.ObjectSpaceTest)})},
@@ -314,7 +338,8 @@ selector: "testRelease",
 category: 'tests',
 fn: function (){
 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)._assert_(_st(_st(self["@space"])._frame())._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testRelease",{},smalltalk.ObjectSpaceTest)})},

+ 4 - 6
st/Compiler-IR.st

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

+ 4 - 0
st/Kernel-Collections.st

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

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.