Browse Source

- don't wrap receivers in _st() for self or literal receivers
- recompiles all js files

Nicolas Petton 13 năm trước cách đây
mục cha
commit
ba7c80b615
77 tập tin đã thay đổi với 5322 bổ sung và 5179 xóa
  1. 14 14
      js/Benchfib.deploy.js
  2. 14 14
      js/Benchfib.js
  3. 114 114
      js/Canvas.deploy.js
  4. 114 114
      js/Canvas.js
  5. 36 36
      js/Compiler-AST.deploy.js
  6. 36 36
      js/Compiler-AST.js
  7. 47 64
      js/Compiler-Core.deploy.js
  8. 47 69
      js/Compiler-Core.js
  9. 4 4
      js/Compiler-Exceptions.deploy.js
  10. 4 4
      js/Compiler-Exceptions.js
  11. 230 155
      js/Compiler-IR.deploy.js
  12. 260 155
      js/Compiler-IR.js
  13. 85 85
      js/Compiler-Inlining.deploy.js
  14. 85 85
      js/Compiler-Inlining.js
  15. 102 102
      js/Compiler-Interpreter.deploy.js
  16. 102 102
      js/Compiler-Interpreter.js
  17. 72 73
      js/Compiler-Semantic.deploy.js
  18. 72 73
      js/Compiler-Semantic.js
  19. 173 173
      js/Compiler-Tests.deploy.js
  20. 173 173
      js/Compiler-Tests.js
  21. 3 3
      js/Examples.deploy.js
  22. 3 3
      js/Examples.js
  23. 2 2
      js/Helios-Announcements.deploy.js
  24. 2 2
      js/Helios-Announcements.js
  25. 148 150
      js/Helios-Browser.deploy.js
  26. 148 150
      js/Helios-Browser.js
  27. 11 11
      js/Helios-Commands-Browser.deploy.js
  28. 11 11
      js/Helios-Commands-Browser.js
  29. 29 29
      js/Helios-Commands-Core.deploy.js
  30. 29 29
      js/Helios-Commands-Core.js
  31. 31 31
      js/Helios-Commands-Tools.deploy.js
  32. 31 31
      js/Helios-Commands-Tools.js
  33. 154 154
      js/Helios-Core.deploy.js
  34. 154 154
      js/Helios-Core.js
  35. 33 33
      js/Helios-Debugger.deploy.js
  36. 33 33
      js/Helios-Debugger.js
  37. 49 49
      js/Helios-Inspector.deploy.js
  38. 49 49
      js/Helios-Inspector.js
  39. 90 94
      js/Helios-KeyBindings.deploy.js
  40. 90 94
      js/Helios-KeyBindings.js
  41. 24 24
      js/Helios-Layout.deploy.js
  42. 24 24
      js/Helios-Layout.js
  43. 55 57
      js/Helios-References.deploy.js
  44. 55 57
      js/Helios-References.js
  45. 5 5
      js/Helios-Transcript.deploy.js
  46. 5 5
      js/Helios-Transcript.js
  47. 95 97
      js/Helios-Workspace.deploy.js
  48. 95 97
      js/Helios-Workspace.js
  49. 150 150
      js/IDE.deploy.js
  50. 150 150
      js/IDE.js
  51. 72 72
      js/Importer-Exporter.deploy.js
  52. 72 72
      js/Importer-Exporter.js
  53. 9 9
      js/Kernel-Announcements.deploy.js
  54. 9 9
      js/Kernel-Announcements.js
  55. 102 102
      js/Kernel-Classes.deploy.js
  56. 102 102
      js/Kernel-Classes.js
  57. 131 131
      js/Kernel-Collections.deploy.js
  58. 131 131
      js/Kernel-Collections.js
  59. 17 17
      js/Kernel-Exceptions.deploy.js
  60. 17 17
      js/Kernel-Exceptions.js
  61. 62 64
      js/Kernel-Methods.deploy.js
  62. 62 64
      js/Kernel-Methods.js
  63. 125 125
      js/Kernel-Objects.deploy.js
  64. 125 125
      js/Kernel-Objects.js
  65. 198 198
      js/Kernel-Tests.deploy.js
  66. 198 198
      js/Kernel-Tests.js
  67. 7 7
      js/Kernel-Transcript.deploy.js
  68. 7 7
      js/Kernel-Transcript.js
  69. 78 78
      js/SUnit-Tests.deploy.js
  70. 78 78
      js/SUnit-Tests.js
  71. 45 45
      js/SUnit.deploy.js
  72. 45 45
      js/SUnit.js
  73. 18 18
      js/Spaces.deploy.js
  74. 18 18
      js/Spaces.js
  75. 3 3
      st/Compiler-Core.st
  76. 46 19
      st/Compiler-IR.st
  77. 3 2
      st/Kernel-Classes.st

+ 14 - 14
js/Benchfib.deploy.js

@@ -8,8 +8,8 @@ fn: function (){
 var self=this;
 var result;
 return smalltalk.withContext(function($ctx1) { 
-result=_st((0))._tinyBenchmarks();
-_st(console)._log_(_st("0 tinyBenchmarks => ").__comma(result));
+result=(0)._tinyBenchmarks();
+_st(console)._log_("0 tinyBenchmarks => ".__comma(result));
 return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result},smalltalk.Benchfib.klass)})},
 messageSends: ["tinyBenchmarks", "log:", ","]}),
 smalltalk.Benchfib.klass);
@@ -22,11 +22,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self).__lt((2));
+$2=self.__lt((2));
 if(smalltalk.assert($2)){
 $1=(1);
 } else {
-$1=_st(_st(_st(_st(self).__minus((1)))._benchFib()).__plus(_st(_st(self).__minus((2)))._benchFib())).__plus((1));
+$1=_st(_st(_st(self.__minus((1)))._benchFib()).__plus(_st(self.__minus((2)))._benchFib())).__plus((1));
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"benchFib",{},smalltalk.Number)})},
@@ -43,7 +43,7 @@ function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 size=(8190);
-_st((1))._to_do_(self,(function(iter){
+(1)._to_do_(self,(function(iter){
 return smalltalk.withContext(function($ctx2) {
 count=(0);
 count;
@@ -52,8 +52,8 @@ flags;
 _st(size)._timesRepeat_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(flags)._add_(true);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
-return _st((1))._to_do_(size,(function(i){
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
+return (1)._to_do_(size,(function(i){
 return smalltalk.withContext(function($ctx3) {
 $1=_st(flags)._at_(i);
 if(smalltalk.assert($1)){
@@ -64,16 +64,16 @@ k;
 _st((function(){
 return smalltalk.withContext(function($ctx4) {
 return _st(k).__lt_eq(size);
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}))._whileTrue_((function(){
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}))._whileTrue_((function(){
 return smalltalk.withContext(function($ctx4) {
 _st(flags)._at_put_(k,false);
 k=_st(k).__plus(prime);
 return k;
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
 count=_st(count).__plus((1));
 return count;
 };
-}, function($ctx3) {$ctx3.fillBlock({i:i},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({i:i},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({iter:iter},$ctx1)})}));
 $2=count;
 return $2;
@@ -142,7 +142,7 @@ return smalltalk.withContext(function($ctx2) {
 t1=_st($Date())._millisecondsToRun_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(n1)._jsbenchmark();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 t1;
 return _st(t1).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
@@ -157,7 +157,7 @@ t2=_st($Date())._millisecondsToRun_((function(){
 return smalltalk.withContext(function($ctx3) {
 r=_st(n2)._jsbenchFib();
 return r;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 t2;
 return _st(t2).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
@@ -186,7 +186,7 @@ return smalltalk.withContext(function($ctx2) {
 t1=_st($Date())._millisecondsToRun_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(n1)._benchmark();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 t1;
 return _st(t1).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
@@ -201,7 +201,7 @@ t2=_st($Date())._millisecondsToRun_((function(){
 return smalltalk.withContext(function($ctx3) {
 r=_st(n2)._benchFib();
 return r;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 t2;
 return _st(t2).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){

+ 14 - 14
js/Benchfib.js

@@ -9,8 +9,8 @@ fn: function (){
 var self=this;
 var result;
 return smalltalk.withContext(function($ctx1) { 
-result=_st((0))._tinyBenchmarks();
-_st(console)._log_(_st("0 tinyBenchmarks => ").__comma(result));
+result=(0)._tinyBenchmarks();
+_st(console)._log_("0 tinyBenchmarks => ".__comma(result));
 return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result},smalltalk.Benchfib.klass)})},
 args: [],
 source: "main\x0a\x0a\x09| result |\x0a\x09result := 0 tinyBenchmarks.\x0a\x09console log: '0 tinyBenchmarks => ' , result",
@@ -28,11 +28,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self).__lt((2));
+$2=self.__lt((2));
 if(smalltalk.assert($2)){
 $1=(1);
 } else {
-$1=_st(_st(_st(_st(self).__minus((1)))._benchFib()).__plus(_st(_st(self).__minus((2)))._benchFib())).__plus((1));
+$1=_st(_st(_st(self.__minus((1)))._benchFib()).__plus(_st(self.__minus((2)))._benchFib())).__plus((1));
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"benchFib",{},smalltalk.Number)})},
@@ -54,7 +54,7 @@ function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 size=(8190);
-_st((1))._to_do_(self,(function(iter){
+(1)._to_do_(self,(function(iter){
 return smalltalk.withContext(function($ctx2) {
 count=(0);
 count;
@@ -63,8 +63,8 @@ flags;
 _st(size)._timesRepeat_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(flags)._add_(true);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
-return _st((1))._to_do_(size,(function(i){
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
+return (1)._to_do_(size,(function(i){
 return smalltalk.withContext(function($ctx3) {
 $1=_st(flags)._at_(i);
 if(smalltalk.assert($1)){
@@ -75,16 +75,16 @@ k;
 _st((function(){
 return smalltalk.withContext(function($ctx4) {
 return _st(k).__lt_eq(size);
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}))._whileTrue_((function(){
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}))._whileTrue_((function(){
 return smalltalk.withContext(function($ctx4) {
 _st(flags)._at_put_(k,false);
 k=_st(k).__plus(prime);
 return k;
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
 count=_st(count).__plus((1));
 return count;
 };
-}, function($ctx3) {$ctx3.fillBlock({i:i},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({i:i},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({iter:iter},$ctx1)})}));
 $2=count;
 return $2;
@@ -168,7 +168,7 @@ return smalltalk.withContext(function($ctx2) {
 t1=_st($Date())._millisecondsToRun_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(n1)._jsbenchmark();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 t1;
 return _st(t1).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
@@ -183,7 +183,7 @@ t2=_st($Date())._millisecondsToRun_((function(){
 return smalltalk.withContext(function($ctx3) {
 r=_st(n2)._jsbenchFib();
 return r;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 t2;
 return _st(t2).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
@@ -217,7 +217,7 @@ return smalltalk.withContext(function($ctx2) {
 t1=_st($Date())._millisecondsToRun_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(n1)._benchmark();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 t1;
 return _st(t1).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
@@ -232,7 +232,7 @@ t2=_st($Date())._millisecondsToRun_((function(){
 return smalltalk.withContext(function($ctx3) {
 r=_st(n2)._benchFib();
 return r;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 t2;
 return _st(t2).__lt((1000));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){

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


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


+ 36 - 36
js/Compiler-AST.deploy.js

@@ -19,7 +19,7 @@ selector: "addNode:",
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._nodes())._add_(aNode);
+_st(self._nodes())._add_(aNode);
 _st(aNode)._parent_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addNode:",{aNode:aNode},smalltalk.Node)})},
 messageSends: ["add:", "nodes", "parent:"]}),
@@ -32,9 +32,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._nextNode();
+$2=self._nextNode();
 if(($receiver = $2) == nil || $receiver == undefined){
-$3=_st(self)._parent();
+$3=self._parent();
 if(($receiver = $3) == nil || $receiver == undefined){
 $1=$3;
 } else {
@@ -158,7 +158,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._parent();
+$2=self._parent();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 } else {
@@ -178,7 +178,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._nodes())._at_ifAbsent_(_st(_st(_st(self)._nodes())._indexOf_(aNode)).__plus((1)),(function(){
+$1=_st(self._nodes())._at_ifAbsent_(_st(_st(self._nodes())._indexOf_(aNode)).__plus((1)),(function(){
 return smalltalk.withContext(function($ctx2) {
 return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -255,7 +255,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$1;
 $2=self["@position"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$3=_st(self)._parent();
+$3=self._parent();
 if(($receiver = $3) == nil || $receiver == undefined){
 $1=$3;
 } else {
@@ -358,18 +358,18 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._shouldBeAliased())._or_((function(){
+$1=_st(_st(self._shouldBeAliased())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._shouldBeInlined();
+return 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 _st(_st(self._nodes())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(each)._subtreeNeedsAliasing();
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 return smalltalk.withContext(function($ctx3) {
 return false;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))).__tild_eq(false);
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}))).__tild_eq(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subtreeNeedsAliasing",{},smalltalk.Node)})},
@@ -435,7 +435,7 @@ var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($Array())._with_with_(_st(self)._left(),_st(self)._right());
+$1=_st($Array())._with_with_(self._left(),self._right());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.AssignmentNode)})},
 messageSends: ["with:with:", "left", "right"]}),
@@ -554,9 +554,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._shouldBeAliased())._or_((function(){
+$1=_st(self._shouldBeAliased())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._shouldBeInlined();
+return self._shouldBeInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subtreeNeedsAliasing",{},smalltalk.BlockNode)})},
@@ -767,7 +767,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(_st(self)._source())._lines())._size()).__at(_st(_st(_st(_st(_st(self)._source())._lines())._last())._size()).__plus((1)));
+$1=_st(_st(_st(self._source())._lines())._size()).__at(_st(_st(_st(_st(self._source())._lines())._last())._size()).__plus((1)));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"extent",{},smalltalk.MethodNode)})},
 messageSends: ["@", "+", "size", "last", "lines", "source"]}),
@@ -927,7 +927,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._scope())._isMethodScope())._not();
+$1=_st(_st(self._scope())._isMethodScope())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nonLocalReturn",{},smalltalk.ReturnNode)})},
 messageSends: ["not", "isMethodScope", "scope"]}),
@@ -1019,12 +1019,12 @@ function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 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());
+_st($1)._selector_(self._selector());
+_st($1)._arguments_(self._arguments());
 $2=_st($1)._yourself();
 first=$2;
 $4=_st($CascadeNode())._new();
-_st($4)._receiver_(_st(self)._receiver());
+_st($4)._receiver_(self._receiver());
 _st($4)._nodes_(_st(_st($Array())._with_(first)).__comma(aCollection));
 $5=_st($4)._yourself();
 $3=$5;
@@ -1076,13 +1076,13 @@ var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st($Array())._withAll_(_st(self)._arguments());
-_st($2)._add_(_st(self)._receiver());
+$2=_st($Array())._withAll_(self._arguments());
+_st($2)._add_(self._receiver());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.SendNode)})},
-messageSends: ["add:", "withAll:", "arguments", "receiver", "yourself"]}),
+messageSends: ["add:", "receiver", "withAll:", "arguments", "yourself"]}),
 smalltalk.SendNode);
 
 smalltalk.addMethod(
@@ -1187,17 +1187,17 @@ function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?ni
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$5,$4,$6,$1;
 $2=_st($SendNode())._new();
-_st($2)._position_(_st(self)._position());
+_st($2)._position_(self._position());
 $3=$2;
-$5=_st(self)._receiver();
+$5=self._receiver();
 if(($receiver = $5) == nil || $receiver == undefined){
 $4=anObject;
 } else {
-$4=_st(_st(self)._receiver())._valueForReceiver_(anObject);
+$4=_st(self._receiver())._valueForReceiver_(anObject);
 };
 _st($3)._receiver_($4);
-_st($2)._selector_(_st(self)._selector());
-_st($2)._arguments_(_st(self)._arguments());
+_st($2)._selector_(self._selector());
+_st($2)._arguments_(self._arguments());
 $6=_st($2)._yourself();
 $1=$6;
 return $1;
@@ -1230,9 +1230,9 @@ function $BlockSequenceNode(){return smalltalk.BlockSequenceNode||(typeof BlockS
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 $2=_st($BlockSequenceNode())._new();
-_st($2)._position_(_st(self)._position());
-_st($2)._nodes_(_st(self)._nodes());
-_st($2)._temps_(_st(self)._temps());
+_st($2)._position_(self._position());
+_st($2)._nodes_(self._nodes());
+_st($2)._temps_(self._temps());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
@@ -1343,7 +1343,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._value())._isImmutable();
+$1=_st(self._value())._isImmutable();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.ValueNode)})},
 messageSends: ["isImmutable", "value"]}),
@@ -1407,7 +1407,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._binding())._alias();
+$1=_st(self._binding())._alias();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.VariableNode)})},
 messageSends: ["alias", "binding"]}),
@@ -1448,7 +1448,7 @@ selector: "beAssigned",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._binding())._validateAssignment();
+_st(self._binding())._validateAssignment();
 self["@assigned"]=true;
 return self}, function($ctx1) {$ctx1.fill(self,"beAssigned",{},smalltalk.VariableNode)})},
 messageSends: ["validateAssignment", "binding"]}),
@@ -1526,11 +1526,11 @@ var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(_st(self)._source())._ifEmpty_((function(){
+_st(self._source())._ifEmpty_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._error_("Method source is empty");
+return self._error_("Method source is empty");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-$1=_st(_st($Smalltalk())._current())._parse_(_st(self)._source());
+$1=_st(_st($Smalltalk())._current())._parse_(self._source());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ast",{},smalltalk.CompiledMethod)})},
 messageSends: ["ifEmpty:", "error:", "source", "parse:", "current"]}),

+ 36 - 36
js/Compiler-AST.js

@@ -26,7 +26,7 @@ category: 'accessing',
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._nodes())._add_(aNode);
+_st(self._nodes())._add_(aNode);
 _st(aNode)._parent_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addNode:",{aNode:aNode},smalltalk.Node)})},
 args: ["aNode"],
@@ -44,9 +44,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._nextNode();
+$2=self._nextNode();
 if(($receiver = $2) == nil || $receiver == undefined){
-$3=_st(self)._parent();
+$3=self._parent();
 if(($receiver = $3) == nil || $receiver == undefined){
 $1=$3;
 } else {
@@ -220,7 +220,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._parent();
+$2=self._parent();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 } else {
@@ -245,7 +245,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._nodes())._at_ifAbsent_(_st(_st(_st(self)._nodes())._indexOf_(aNode)).__plus((1)),(function(){
+$1=_st(self._nodes())._at_ifAbsent_(_st(_st(self._nodes())._indexOf_(aNode)).__plus((1)),(function(){
 return smalltalk.withContext(function($ctx2) {
 return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -347,7 +347,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$1;
 $2=self["@position"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$3=_st(self)._parent();
+$3=self._parent();
 if(($receiver = $3) == nil || $receiver == undefined){
 $1=$3;
 } else {
@@ -485,18 +485,18 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._shouldBeAliased())._or_((function(){
+$1=_st(_st(self._shouldBeAliased())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._shouldBeInlined();
+return 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 _st(_st(self._nodes())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(each)._subtreeNeedsAliasing();
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 return smalltalk.withContext(function($ctx3) {
 return false;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))).__tild_eq(false);
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}))).__tild_eq(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subtreeNeedsAliasing",{},smalltalk.Node)})},
@@ -588,7 +588,7 @@ var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($Array())._with_with_(_st(self)._left(),_st(self)._right());
+$1=_st($Array())._with_with_(self._left(),self._right());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.AssignmentNode)})},
 args: [],
@@ -753,9 +753,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._shouldBeAliased())._or_((function(){
+$1=_st(self._shouldBeAliased())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._shouldBeInlined();
+return self._shouldBeInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subtreeNeedsAliasing",{},smalltalk.BlockNode)})},
@@ -1046,7 +1046,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(_st(self)._source())._lines())._size()).__at(_st(_st(_st(_st(_st(self)._source())._lines())._last())._size()).__plus((1)));
+$1=_st(_st(_st(self._source())._lines())._size()).__at(_st(_st(_st(_st(self._source())._lines())._last())._size()).__plus((1)));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"extent",{},smalltalk.MethodNode)})},
 args: [],
@@ -1272,7 +1272,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._scope())._isMethodScope())._not();
+$1=_st(_st(self._scope())._isMethodScope())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nonLocalReturn",{},smalltalk.ReturnNode)})},
 args: [],
@@ -1395,12 +1395,12 @@ function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 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());
+_st($1)._selector_(self._selector());
+_st($1)._arguments_(self._arguments());
 $2=_st($1)._yourself();
 first=$2;
 $4=_st($CascadeNode())._new();
-_st($4)._receiver_(_st(self)._receiver());
+_st($4)._receiver_(self._receiver());
 _st($4)._nodes_(_st(_st($Array())._with_(first)).__comma(aCollection));
 $5=_st($4)._yourself();
 $3=$5;
@@ -1472,15 +1472,15 @@ var self=this;
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st($Array())._withAll_(_st(self)._arguments());
-_st($2)._add_(_st(self)._receiver());
+$2=_st($Array())._withAll_(self._arguments());
+_st($2)._add_(self._receiver());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.SendNode)})},
 args: [],
 source: "nodes\x0a\x09^ (Array withAll: self arguments)\x0a\x09\x09add: self receiver;\x0a\x09\x09yourself",
-messageSends: ["add:", "withAll:", "arguments", "receiver", "yourself"],
+messageSends: ["add:", "receiver", "withAll:", "arguments", "yourself"],
 referencedClasses: ["Array"]
 }),
 smalltalk.SendNode);
@@ -1623,17 +1623,17 @@ function $SendNode(){return smalltalk.SendNode||(typeof SendNode=="undefined"?ni
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$5,$4,$6,$1;
 $2=_st($SendNode())._new();
-_st($2)._position_(_st(self)._position());
+_st($2)._position_(self._position());
 $3=$2;
-$5=_st(self)._receiver();
+$5=self._receiver();
 if(($receiver = $5) == nil || $receiver == undefined){
 $4=anObject;
 } else {
-$4=_st(_st(self)._receiver())._valueForReceiver_(anObject);
+$4=_st(self._receiver())._valueForReceiver_(anObject);
 };
 _st($3)._receiver_($4);
-_st($2)._selector_(_st(self)._selector());
-_st($2)._arguments_(_st(self)._arguments());
+_st($2)._selector_(self._selector());
+_st($2)._arguments_(self._arguments());
 $6=_st($2)._yourself();
 $1=$6;
 return $1;
@@ -1677,9 +1677,9 @@ function $BlockSequenceNode(){return smalltalk.BlockSequenceNode||(typeof BlockS
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 $2=_st($BlockSequenceNode())._new();
-_st($2)._position_(_st(self)._position());
-_st($2)._nodes_(_st(self)._nodes());
-_st($2)._temps_(_st(self)._temps());
+_st($2)._position_(self._position());
+_st($2)._nodes_(self._nodes());
+_st($2)._temps_(self._temps());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
@@ -1832,7 +1832,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._value())._isImmutable();
+$1=_st(self._value())._isImmutable();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isImmutable",{},smalltalk.ValueNode)})},
 args: [],
@@ -1922,7 +1922,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._binding())._alias();
+$1=_st(self._binding())._alias();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.VariableNode)})},
 args: [],
@@ -1978,7 +1978,7 @@ category: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._binding())._validateAssignment();
+_st(self._binding())._validateAssignment();
 self["@assigned"]=true;
 return self}, function($ctx1) {$ctx1.fill(self,"beAssigned",{},smalltalk.VariableNode)})},
 args: [],
@@ -2087,11 +2087,11 @@ var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(_st(self)._source())._ifEmpty_((function(){
+_st(self._source())._ifEmpty_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._error_("Method source is empty");
+return self._error_("Method source is empty");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-$1=_st(_st($Smalltalk())._current())._parse_(_st(self)._source());
+$1=_st(_st($Smalltalk())._current())._parse_(self._source());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ast",{},smalltalk.CompiledMethod)})},
 args: [],

+ 47 - 64
js/Compiler-Core.deploy.js

@@ -29,7 +29,7 @@ selector: "compileNode:",
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._subclassResponsibility();
+self._subclassResponsibility();
 return self}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode},smalltalk.AbstractCodeGenerator)})},
 messageSends: ["subclassResponsibility"]}),
 smalltalk.AbstractCodeGenerator);
@@ -131,9 +131,9 @@ var self=this;
 var ir,stream;
 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();
+_st(self._semanticAnalyzer())._visit_(aNode);
+ir=_st(self._translator())._visit_(aNode);
+$2=self._irTranslator();
 _st($2)._visit_(ir);
 $3=_st($2)._contents();
 $1=$3;
@@ -164,7 +164,7 @@ var self=this;
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($SemanticAnalyzer())._on_(_st(self)._currentClass());
+$1=_st($SemanticAnalyzer())._on_(self._currentClass());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{},smalltalk.CodeGenerator)})},
 messageSends: ["on:", "currentClass"]}),
@@ -179,8 +179,8 @@ function $IRASTTranslator(){return smalltalk.IRASTTranslator||(typeof IRASTTrans
 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());
+_st($2)._source_(self._source());
+_st($2)._theClass_(self._currentClass());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
@@ -228,7 +228,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._compileNode_(_st(self)._parse_(aString));
+$1=self._compileNode_(self._parse_(aString));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Compiler)})},
 messageSends: ["compileNode:", "parse:"]}),
@@ -241,9 +241,9 @@ fn: function (aString,aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._currentClass_(aClass);
-_st(self)._source_(aString);
-$1=_st(self)._compile_(aString);
+self._currentClass_(aClass);
+self._source_(aString);
+$1=self._compile_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:forClass:",{aString:aString,aClass:aClass},smalltalk.Compiler)})},
 messageSends: ["currentClass:", "source:", "compile:"]}),
@@ -257,9 +257,9 @@ var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 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()));
+self._currentClass_($DoIt());
+self._source_(_st("doIt ^[".__comma(aString)).__comma("] value"));
+$1=self._compileNode_(self._parse_(self._source()));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compileExpression:",{aString:aString},smalltalk.Compiler)})},
 messageSends: ["currentClass:", "source:", ",", "compileNode:", "parse:", "source"]}),
@@ -272,9 +272,9 @@ fn: function (aString,anObject){
 var self=this;
 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()));
+self._currentClass_(_st(anObject)._class());
+self._source_(_st("xxxDoIt ^[".__comma(aString)).__comma("] value"));
+$1=self._compileNode_(self._parse_(self._source()));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compileExpression:on:",{aString:aString,anObject:anObject},smalltalk.Compiler)})},
 messageSends: ["currentClass:", "class", "source:", ",", "compileNode:", "parse:", "source"]}),
@@ -288,12 +288,12 @@ var self=this;
 var generator,result;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-generator=_st(_st(self)._codeGeneratorClass())._new();
+generator=_st(self._codeGeneratorClass())._new();
 $1=generator;
-_st($1)._source_(_st(self)._source());
-$2=_st($1)._currentClass_(_st(self)._currentClass());
+_st($1)._source_(self._source());
+$2=_st($1)._currentClass_(self._currentClass());
 result=_st(generator)._compileNode_(aNode);
-_st(self)._unknownVariables_([]);
+self._unknownVariables_([]);
 $3=result;
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,generator:generator,result:result},smalltalk.Compiler)})},
@@ -343,7 +343,7 @@ var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._evaluateExpression_on_(aString,_st($DoIt())._new());
+$1=self._evaluateExpression_on_(aString,_st($DoIt())._new());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString},smalltalk.Compiler)})},
 messageSends: ["evaluateExpression:on:", "new"]}),
@@ -357,7 +357,7 @@ var self=this;
 var result,method;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-method=_st(self)._eval_(_st(self)._compileExpression_on_(aString,anObject));
+method=self._eval_(self._compileExpression_on_(aString,anObject));
 _st(method)._category_("xxxDoIt");
 _st(_st(anObject)._class())._addCompiledMethod_(method);
 result=_st(anObject)._xxxDoIt();
@@ -376,7 +376,7 @@ var self=this;
 function $ClassBuilder(){return smalltalk.ClassBuilder||(typeof ClassBuilder=="undefined"?nil:ClassBuilder)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st($ClassBuilder())._new())._installMethod_forClass_category_(_st(self)._eval_(_st(self)._compile_forClass_(aString,aBehavior)),aBehavior,anotherString);
+$1=_st(_st($ClassBuilder())._new())._installMethod_forClass_category_(self._eval_(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)})},
 messageSends: ["installMethod:forClass:category:", "eval:", "compile:forClass:", "new"]}),
@@ -403,7 +403,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._parse_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
+$1=self._parse_(_st("doIt ^[".__comma(aString)).__comma("] value"));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString},smalltalk.Compiler)})},
 messageSends: ["parse:", ","]}),
@@ -418,11 +418,11 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 _st(_st(_st(aClass)._methodDictionary())._values())._do_displayingProgress_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._install_forClass_category_(_st(each)._source(),aClass,_st(each)._category());
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),_st("Recompiling ").__comma(_st(aClass)._name()));
+return self._install_forClass_category_(_st(each)._source(),aClass,_st(each)._category());
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),"Recompiling ".__comma(_st(aClass)._name()));
 $1=_st(aClass)._isMetaclass();
 if(! smalltalk.assert($1)){
-_st(self)._recompile_(_st(aClass)._class());
+self._recompile_(_st(aClass)._class());
 };
 return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},smalltalk.Compiler)})},
 messageSends: ["do:displayingProgress:", "install:forClass:category:", "source", "category", ",", "name", "values", "methodDictionary", "ifFalse:", "recompile:", "class", "isMetaclass"]}),
@@ -437,7 +437,7 @@ function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"
 return smalltalk.withContext(function($ctx1) { 
 _st(_st(_st($Smalltalk())._current())._classes())._do_displayingProgress_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._recompile_(each);
+return self._recompile_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),"Compiling all classes...");
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler)})},
 messageSends: ["do:displayingProgress:", "recompile:", "classes", "current"]}),
@@ -503,7 +503,7 @@ selector: "recompile:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._new())._recompile_(aClass);
+_st(self._new())._recompile_(aClass);
 return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},smalltalk.Compiler.klass)})},
 messageSends: ["recompile:", "new"]}),
 smalltalk.Compiler.klass);
@@ -517,7 +517,7 @@ function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"
 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 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"]}),
@@ -525,23 +525,6 @@ smalltalk.Compiler.klass);
 
 
 smalltalk.addClass('DoIt', smalltalk.Object, [], 'Compiler-Core');
-smalltalk.addMethod(
-smalltalk.method({
-selector: "xxxDoIt",
-fn: function (){
-var self=this;
-function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=_st((function(){
-return smalltalk.withContext(function($ctx2) {
-return _st(_st($Compiler())._new())._recompileAll();
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._value();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"xxxDoIt",{},smalltalk.DoIt)})},
-messageSends: ["value", "recompileAll", "new"]}),
-smalltalk.DoIt);
-
 
 
 smalltalk.addClass('NodeVisitor', smalltalk.Object, [], 'Compiler-Core');
@@ -567,7 +550,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st(aCollection)._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(each);
+return self._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection},smalltalk.NodeVisitor)})},
@@ -581,7 +564,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -594,7 +577,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -607,7 +590,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitSequenceNode_(aNode);
+$1=self._visitSequenceNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitSequenceNode:"]}),
@@ -620,7 +603,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -633,7 +616,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitVariableNode_(aNode);
+$1=self._visitVariableNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitVariableNode:"]}),
@@ -646,7 +629,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -659,7 +642,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -672,7 +655,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -685,7 +668,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -698,7 +681,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitAll_(_st(aNode)._nodes());
+$1=self._visitAll_(_st(aNode)._nodes());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitAll:", "nodes"]}),
@@ -711,7 +694,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -724,7 +707,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -737,7 +720,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -750,7 +733,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),
@@ -763,7 +746,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 messageSends: ["visitNode:"]}),

+ 47 - 69
js/Compiler-Core.js

@@ -36,7 +36,7 @@ category: 'compiling',
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._subclassResponsibility();
+self._subclassResponsibility();
 return self}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode},smalltalk.AbstractCodeGenerator)})},
 args: ["aNode"],
 source: "compileNode: aNode\x0a\x09self subclassResponsibility",
@@ -174,9 +174,9 @@ var self=this;
 var ir,stream;
 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();
+_st(self._semanticAnalyzer())._visit_(aNode);
+ir=_st(self._translator())._visit_(aNode);
+$2=self._irTranslator();
 _st($2)._visit_(ir);
 $3=_st($2)._contents();
 $1=$3;
@@ -217,7 +217,7 @@ var self=this;
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($SemanticAnalyzer())._on_(_st(self)._currentClass());
+$1=_st($SemanticAnalyzer())._on_(self._currentClass());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{},smalltalk.CodeGenerator)})},
 args: [],
@@ -237,8 +237,8 @@ function $IRASTTranslator(){return smalltalk.IRASTTranslator||(typeof IRASTTrans
 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());
+_st($2)._source_(self._source());
+_st($2)._theClass_(self._currentClass());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
@@ -302,7 +302,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._compileNode_(_st(self)._parse_(aString));
+$1=self._compileNode_(self._parse_(aString));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Compiler)})},
 args: ["aString"],
@@ -320,9 +320,9 @@ fn: function (aString,aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._currentClass_(aClass);
-_st(self)._source_(aString);
-$1=_st(self)._compile_(aString);
+self._currentClass_(aClass);
+self._source_(aString);
+$1=self._compile_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:forClass:",{aString:aString,aClass:aClass},smalltalk.Compiler)})},
 args: ["aString", "aClass"],
@@ -341,9 +341,9 @@ var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 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()));
+self._currentClass_($DoIt());
+self._source_(_st("doIt ^[".__comma(aString)).__comma("] value"));
+$1=self._compileNode_(self._parse_(self._source()));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compileExpression:",{aString:aString},smalltalk.Compiler)})},
 args: ["aString"],
@@ -361,9 +361,9 @@ fn: function (aString,anObject){
 var self=this;
 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()));
+self._currentClass_(_st(anObject)._class());
+self._source_(_st("xxxDoIt ^[".__comma(aString)).__comma("] value"));
+$1=self._compileNode_(self._parse_(self._source()));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compileExpression:on:",{aString:aString,anObject:anObject},smalltalk.Compiler)})},
 args: ["aString", "anObject"],
@@ -382,12 +382,12 @@ var self=this;
 var generator,result;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-generator=_st(_st(self)._codeGeneratorClass())._new();
+generator=_st(self._codeGeneratorClass())._new();
 $1=generator;
-_st($1)._source_(_st(self)._source());
-$2=_st($1)._currentClass_(_st(self)._currentClass());
+_st($1)._source_(self._source());
+$2=_st($1)._currentClass_(self._currentClass());
 result=_st(generator)._compileNode_(aNode);
-_st(self)._unknownVariables_([]);
+self._unknownVariables_([]);
 $3=result;
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,generator:generator,result:result},smalltalk.Compiler)})},
@@ -457,7 +457,7 @@ var self=this;
 function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._evaluateExpression_on_(aString,_st($DoIt())._new());
+$1=self._evaluateExpression_on_(aString,_st($DoIt())._new());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString},smalltalk.Compiler)})},
 args: ["aString"],
@@ -476,7 +476,7 @@ var self=this;
 var result,method;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-method=_st(self)._eval_(_st(self)._compileExpression_on_(aString,anObject));
+method=self._eval_(self._compileExpression_on_(aString,anObject));
 _st(method)._category_("xxxDoIt");
 _st(_st(anObject)._class())._addCompiledMethod_(method);
 result=_st(anObject)._xxxDoIt();
@@ -500,7 +500,7 @@ var self=this;
 function $ClassBuilder(){return smalltalk.ClassBuilder||(typeof ClassBuilder=="undefined"?nil:ClassBuilder)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st($ClassBuilder())._new())._installMethod_forClass_category_(_st(self)._eval_(_st(self)._compile_forClass_(aString,aBehavior)),aBehavior,anotherString);
+$1=_st(_st($ClassBuilder())._new())._installMethod_forClass_category_(self._eval_(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)})},
 args: ["aString", "aBehavior", "anotherString"],
@@ -537,7 +537,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._parse_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
+$1=self._parse_(_st("doIt ^[".__comma(aString)).__comma("] value"));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString},smalltalk.Compiler)})},
 args: ["aString"],
@@ -557,11 +557,11 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 _st(_st(_st(aClass)._methodDictionary())._values())._do_displayingProgress_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._install_forClass_category_(_st(each)._source(),aClass,_st(each)._category());
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),_st("Recompiling ").__comma(_st(aClass)._name()));
+return self._install_forClass_category_(_st(each)._source(),aClass,_st(each)._category());
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),"Recompiling ".__comma(_st(aClass)._name()));
 $1=_st(aClass)._isMetaclass();
 if(! smalltalk.assert($1)){
-_st(self)._recompile_(_st(aClass)._class());
+self._recompile_(_st(aClass)._class());
 };
 return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},smalltalk.Compiler)})},
 args: ["aClass"],
@@ -581,7 +581,7 @@ function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"
 return smalltalk.withContext(function($ctx1) { 
 _st(_st(_st($Smalltalk())._current())._classes())._do_displayingProgress_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._recompile_(each);
+return self._recompile_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),"Compiling all classes...");
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler)})},
 args: [],
@@ -672,7 +672,7 @@ category: 'compiling',
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._new())._recompile_(aClass);
+_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",
@@ -691,7 +691,7 @@ function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"
 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 self._recompile_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},smalltalk.Compiler.klass)})},
 args: [],
@@ -704,28 +704,6 @@ smalltalk.Compiler.klass);
 
 smalltalk.addClass('DoIt', smalltalk.Object, [], 'Compiler-Core');
 smalltalk.DoIt.comment="`DoIt` is the class used to compile and evaluate expressions. See `Compiler >> evaluateExpression:`.";
-smalltalk.addMethod(
-smalltalk.method({
-selector: "xxxDoIt",
-category: 'xxxDoIt',
-fn: function (){
-var self=this;
-function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=_st((function(){
-return smalltalk.withContext(function($ctx2) {
-return _st(_st($Compiler())._new())._recompileAll();
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._value();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"xxxDoIt",{},smalltalk.DoIt)})},
-args: [],
-source: "xxxDoIt ^[Compiler new recompileAll] value",
-messageSends: ["value", "recompileAll", "new"],
-referencedClasses: ["Compiler"]
-}),
-smalltalk.DoIt);
-
 
 
 smalltalk.addClass('NodeVisitor', smalltalk.Object, [], 'Compiler-Core');
@@ -758,7 +736,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st(aCollection)._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(each);
+return self._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection},smalltalk.NodeVisitor)})},
@@ -777,7 +755,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -795,7 +773,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -813,7 +791,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitSequenceNode_(aNode);
+$1=self._visitSequenceNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -831,7 +809,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -849,7 +827,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitVariableNode_(aNode);
+$1=self._visitVariableNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -867,7 +845,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -885,7 +863,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -903,7 +881,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -921,7 +899,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -939,7 +917,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitAll_(_st(aNode)._nodes());
+$1=self._visitAll_(_st(aNode)._nodes());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -957,7 +935,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -975,7 +953,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -993,7 +971,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -1011,7 +989,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],
@@ -1029,7 +1007,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitNode_(aNode);
+$1=self._visitNode_(aNode);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode},smalltalk.NodeVisitor)})},
 args: ["aNode"],

+ 4 - 4
js/Compiler-Exceptions.deploy.js

@@ -19,7 +19,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
+$1=" Invalid assignment to variable: ".__comma(self._variableName());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.InvalidAssignmentError)})},
 messageSends: [",", "variableName"]}),
@@ -59,7 +59,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
+$1=_st("Variable shadowing error: ".__comma(self._variableName())).__comma(" is already defined");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ShadowingVariableError)})},
 messageSends: [",", "variableName"]}),
@@ -99,7 +99,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
+$1=_st("Unknown Variable error: ".__comma(self._variableName())).__comma(" is not defined");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.UnknownVariableError)})},
 messageSends: [",", "variableName"]}),
@@ -150,7 +150,7 @@ fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.ErrorHandler.fn.prototype._handleError_.apply(_st(self), [anError]);
-_st(self)._basicSignal_(anError);
+self._basicSignal_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 messageSends: ["handleError:", "basicSignal:"]}),
 smalltalk.RethrowErrorHandler);

+ 4 - 4
js/Compiler-Exceptions.js

@@ -25,7 +25,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
+$1=" Invalid assignment to variable: ".__comma(self._variableName());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.InvalidAssignmentError)})},
 args: [],
@@ -81,7 +81,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
+$1=_st("Variable shadowing error: ".__comma(self._variableName())).__comma(" is already defined");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.ShadowingVariableError)})},
 args: [],
@@ -137,7 +137,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
+$1=_st("Unknown Variable error: ".__comma(self._variableName())).__comma(" is not defined");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.UnknownVariableError)})},
 args: [],
@@ -209,7 +209,7 @@ fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.ErrorHandler.fn.prototype._handleError_.apply(_st(self), [anError]);
-_st(self)._basicSignal_(anError);
+self._basicSignal_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.RethrowErrorHandler)})},
 args: ["anError"],
 source: "handleError: anError\x0a\x09super handleError: anError.\x0a\x09self basicSignal: anError",

+ 230 - 155
js/Compiler-IR.deploy.js

@@ -13,19 +13,19 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2,$3,$4,$5,$6,$7;
 $1=_st(aNode)._isImmutable();
 if(smalltalk.assert($1)){
-$2=_st(self)._visit_(aNode);
+$2=self._visit_(aNode);
 return $2;
 };
 $3=_st($IRVariable())._new();
-_st($3)._variable_(_st(_st($AliasVar())._new())._name_(_st("$").__comma(_st(self)._nextAlias())));
+_st($3)._variable_(_st(_st($AliasVar())._new())._name_("$".__comma(self._nextAlias())));
 $4=_st($3)._yourself();
 variable=$4;
 $5=_st($IRAssignment())._new();
 _st($5)._add_(variable);
-_st($5)._add_(_st(self)._visit_(aNode));
+_st($5)._add_(self._visit_(aNode));
 $6=_st($5)._yourself();
-_st(_st(self)._sequence())._add_($6);
-_st(_st(_st(self)._method())._internalVariables())._add_(variable);
+_st(self._sequence())._add_($6);
+_st(_st(self._method())._internalVariables())._add_(variable);
 $7=variable;
 return $7;
 }, function($ctx1) {$ctx1.fill(self,"alias:",{aNode:aNode,variable:variable},smalltalk.IRASTTranslator)})},
@@ -56,9 +56,9 @@ return smalltalk.withContext(function($ctx2) {
 $2=result;
 $4=_st(i).__lt_eq(threshold);
 if(smalltalk.assert($4)){
-$3=_st(self)._alias_(each);
+$3=self._alias_(each);
 } else {
-$3=_st(self)._visit_(each);
+$3=self._visit_(each);
 };
 return _st($2)._add_($3);
 }, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})}));
@@ -194,13 +194,13 @@ var left,right,assignment;
 function $IRAssignment(){return smalltalk.IRAssignment||(typeof IRAssignment=="undefined"?nil:IRAssignment)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-right=_st(self)._visit_(_st(aNode)._right());
-left=_st(self)._visit_(_st(aNode)._left());
+right=self._visit_(_st(aNode)._right());
+left=self._visit_(_st(aNode)._left());
 $1=_st($IRAssignment())._new();
 _st($1)._add_(left);
 _st($1)._add_(right);
 $2=_st($1)._yourself();
-_st(_st(self)._sequence())._add_($2);
+_st(self._sequence())._add_($2);
 $3=left;
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode,left:left,right:right,assignment:assignment},smalltalk.IRASTTranslator)})},
@@ -232,7 +232,7 @@ return _st(closure)._add_($4);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(_st(aNode)._nodes())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(closure)._add_(_st(self)._visit_(each));
+return _st(closure)._add_(self._visit_(each));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $5=closure;
 return $5;
@@ -249,24 +249,24 @@ function $IRBlockSequence(){return smalltalk.IRBlockSequence||(typeof IRBlockSeq
 function $IRBlockReturn(){return smalltalk.IRBlockReturn||(typeof IRBlockReturn=="undefined"?nil:IRBlockReturn)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$4,$1;
-$1=_st(self)._withSequence_do_(_st($IRBlockSequence())._new(),(function(){
+$1=self._withSequence_do_(_st($IRBlockSequence())._new(),(function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(aNode)._nodes())._ifNotEmpty_((function(){
 return smalltalk.withContext(function($ctx3) {
 _st(_st(_st(aNode)._nodes())._allButLast())._do_((function(each){
 return smalltalk.withContext(function($ctx4) {
-return _st(_st(self)._sequence())._add_(_st(self)._visit_(each));
-}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx1)})}));
+return _st(self._sequence())._add_(self._visit_(each));
+}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx3)})}));
 $2=_st(_st(_st(aNode)._nodes())._last())._isReturnNode();
 if(smalltalk.assert($2)){
-return _st(_st(self)._sequence())._add_(_st(self)._visit_(_st(_st(aNode)._nodes())._last()));
+return _st(self._sequence())._add_(self._visit_(_st(_st(aNode)._nodes())._last()));
 } else {
 $3=_st($IRBlockReturn())._new();
-_st($3)._add_(_st(self)._visit_(_st(_st(aNode)._nodes())._last()));
+_st($3)._add_(self._visit_(_st(_st(aNode)._nodes())._last()));
 $4=_st($3)._yourself();
-return _st(_st(self)._sequence())._add_($4);
+return _st(self._sequence())._add_($4);
 };
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
@@ -284,7 +284,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=_st(_st(aNode)._receiver())._isImmutable();
 if(! smalltalk.assert($1)){
-alias=_st(self)._alias_(_st(aNode)._receiver());
+alias=self._alias_(_st(aNode)._receiver());
 alias;
 _st(_st(aNode)._nodes())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
@@ -293,9 +293,9 @@ return _st(each)._receiver_(_st(_st($VariableNode())._new())._binding_(_st(alias
 };
 _st(_st(_st(aNode)._nodes())._allButLast())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._sequence())._add_(_st(self)._visit_(each));
+return _st(self._sequence())._add_(self._visit_(each));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-$2=_st(self)._alias_(_st(_st(aNode)._nodes())._last());
+$2=self._alias_(_st(_st(aNode)._nodes())._last());
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode,alias:alias},smalltalk.IRASTTranslator)})},
 messageSends: ["ifFalse:", "alias:", "receiver", "do:", "receiver:", "binding:", "variable", "new", "nodes", "isImmutable", "add:", "visit:", "sequence", "allButLast", "last"]}),
@@ -311,7 +311,7 @@ function $IRDynamicArray(){return smalltalk.IRDynamicArray||(typeof IRDynamicArr
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 array=_st($IRDynamicArray())._new();
-_st(_st(self)._aliasTemporally_(_st(aNode)._nodes()))._do_((function(each){
+_st(self._aliasTemporally_(_st(aNode)._nodes()))._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(array)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -331,7 +331,7 @@ function $IRDynamicDictionary(){return smalltalk.IRDynamicDictionary||(typeof IR
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 dictionary=_st($IRDynamicDictionary())._new();
-_st(_st(self)._aliasTemporally_(_st(aNode)._nodes()))._do_((function(each){
+_st(self._aliasTemporally_(_st(aNode)._nodes()))._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(dictionary)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -370,8 +370,8 @@ 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(_st(self)._source())._crlfSanitized());
-_st($1)._theClass_(_st(self)._theClass());
+_st($1)._source_(_st(self._source())._crlfSanitized());
+_st($1)._theClass_(self._theClass());
 _st($1)._arguments_(_st(aNode)._arguments());
 _st($1)._selector_(_st(aNode)._selector());
 _st($1)._messageSends_(_st(aNode)._messageSends());
@@ -379,27 +379,27 @@ _st($1)._superSends_(_st(aNode)._superSends());
 _st($1)._classReferences_(_st(aNode)._classReferences());
 _st($1)._scope_(_st(aNode)._scope());
 $2=_st($1)._yourself();
-_st(self)._method_($2);
+self._method_($2);
 _st(_st(_st(aNode)._scope())._temps())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 $3=_st($IRTempDeclaration())._new();
 _st($3)._name_(_st(each)._name());
 _st($3)._scope_(_st(aNode)._scope());
 $4=_st($3)._yourself();
-return _st(_st(self)._method())._add_($4);
+return _st(self._method())._add_($4);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(_st(aNode)._nodes())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._method())._add_(_st(self)._visit_(each));
+return _st(self._method())._add_(self._visit_(each));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $5=_st(_st(aNode)._scope())._hasLocalReturn();
 if(! smalltalk.assert($5)){
 $6=_st($IRVariable())._new();
 _st($6)._variable_(_st(_st(_st(aNode)._scope())._pseudoVars())._at_("self"));
 $7=_st($6)._yourself();
-_st(_st(_st(self)._method())._add_(_st($IRReturn())._new()))._add_($7);
+_st(_st(self._method())._add_(_st($IRReturn())._new()))._add_($7);
 };
-$8=_st(self)._method();
+$8=self._method();
 return $8;
 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
 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"]}),
@@ -424,7 +424,7 @@ return_=_st($IRReturn())._new();
 _st(return_)._scope_(_st(aNode)._scope());
 _st(_st(aNode)._nodes())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(return_)._add_(_st(self)._alias_(each));
+return _st(return_)._add_(self._alias_(each));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $2=return_;
 return $2;
@@ -447,9 +447,9 @@ _st($1)._selector_(_st(aNode)._selector());
 $2=_st($1)._index_(_st(aNode)._index());
 $3=_st(aNode)._superSend();
 if(smalltalk.assert($3)){
-_st(send)._classSend_(_st(_st(self)._theClass())._superclass());
+_st(send)._classSend_(_st(self._theClass())._superclass());
 };
-all=_st(self)._aliasTemporally_(_st([_st(aNode)._receiver()]).__comma(_st(aNode)._arguments()));
+all=self._aliasTemporally_(_st([_st(aNode)._receiver()]).__comma(_st(aNode)._arguments()));
 receiver=_st(all)._first();
 arguments=_st(all)._allButFirst();
 _st(send)._add_(receiver);
@@ -471,18 +471,18 @@ var self=this;
 function $IRSequence(){return smalltalk.IRSequence||(typeof IRSequence=="undefined"?nil:IRSequence)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$1=_st(self)._withSequence_do_(_st($IRSequence())._new(),(function(){
+$1=self._withSequence_do_(_st($IRSequence())._new(),(function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(aNode)._nodes())._do_((function(each){
 var instruction;
 return smalltalk.withContext(function($ctx3) {
-instruction=_st(self)._visit_(each);
+instruction=self._visit_(each);
 instruction;
 $2=_st(instruction)._isVariable();
 if(! smalltalk.assert($2)){
-return _st(_st(self)._sequence())._add_(instruction);
+return _st(self._sequence())._add_(instruction);
 };
-}, function($ctx3) {$ctx3.fillBlock({each:each,instruction:instruction},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({each:each,instruction:instruction},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode},smalltalk.IRASTTranslator)})},
@@ -531,10 +531,10 @@ var self=this;
 var outerSequence;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-outerSequence=_st(self)._sequence();
-_st(self)._sequence_(aSequence);
+outerSequence=self._sequence();
+self._sequence_(aSequence);
 _st(aBlock)._value();
-_st(self)._sequence_(outerSequence);
+self._sequence_(outerSequence);
 $1=aSequence;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"withSequence:do:",{aSequence:aSequence,aBlock:aBlock,outerSequence:outerSequence},smalltalk.IRASTTranslator)})},
@@ -565,7 +565,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 _st(anObject)._parent_(self);
-$1=_st(_st(self)._instructions())._add_(anObject);
+$1=_st(self._instructions())._add_(anObject);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject},smalltalk.IRInstruction)})},
 messageSends: ["parent:", "add:", "instructions"]}),
@@ -708,12 +708,23 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._parent())._method();
+$1=_st(self._parent())._method();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.IRInstruction)})},
 messageSends: ["method", "parent"]}),
 smalltalk.IRInstruction);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "needsBoxingAsReceiver",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+return true;
+}, function($ctx1) {$ctx1.fill(self,"needsBoxingAsReceiver",{},smalltalk.IRInstruction)})},
+messageSends: []}),
+smalltalk.IRInstruction);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "parent",
@@ -744,7 +755,7 @@ selector: "remove",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._parent())._remove_(self);
+_st(self._parent())._remove_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"remove",{},smalltalk.IRInstruction)})},
 messageSends: ["remove:", "parent"]}),
 smalltalk.IRInstruction);
@@ -755,7 +766,7 @@ selector: "remove:",
 fn: function (anIRInstruction){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._instructions())._remove_(anIRInstruction);
+_st(self._instructions())._remove_(anIRInstruction);
 return self}, function($ctx1) {$ctx1.fill(self,"remove:",{anIRInstruction:anIRInstruction},smalltalk.IRInstruction)})},
 messageSends: ["remove:", "instructions"]}),
 smalltalk.IRInstruction);
@@ -767,7 +778,7 @@ fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(anotherIRInstruction)._parent_(self);
-_st(_st(self)._instructions())._at_put_(_st(_st(self)._instructions())._indexOf_(anIRInstruction),anotherIRInstruction);
+_st(self._instructions())._at_put_(_st(self._instructions())._indexOf_(anIRInstruction),anotherIRInstruction);
 return self}, function($ctx1) {$ctx1.fill(self,"replace:with:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRInstruction)})},
 messageSends: ["parent:", "at:put:", "indexOf:", "instructions"]}),
 smalltalk.IRInstruction);
@@ -778,7 +789,7 @@ selector: "replaceWith:",
 fn: function (anIRInstruction){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._parent())._replace_with_(self,anIRInstruction);
+_st(self._parent())._replace_with_(self,anIRInstruction);
 return self}, function($ctx1) {$ctx1.fill(self,"replaceWith:",{anIRInstruction:anIRInstruction},smalltalk.IRInstruction)})},
 messageSends: ["replace:with:", "parent"]}),
 smalltalk.IRInstruction);
@@ -791,7 +802,7 @@ fn: function (aBuilder){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._builder_(aBuilder);
 $3=_st($2)._yourself();
 $1=$3;
@@ -913,8 +924,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(_st(self)._arguments())._copy();
-_st($2)._addAll_(_st(_st(self)._tempDeclarations())._collect_((function(each){
+$2=_st(self._arguments())._copy();
+_st($2)._addAll_(_st(self._tempDeclarations())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._name();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})));
@@ -944,7 +955,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._instructions())._select_((function(each){
+$1=_st(self._instructions())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._isTempDeclaration();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -987,7 +998,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._instructions())._last();
+$1=_st(self._instructions())._last();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"sequence",{},smalltalk.IRClosure)})},
 messageSends: ["last", "instructions"]}),
@@ -1253,7 +1264,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isLocalReturn())._not();
+$1=_st(self._isLocalReturn())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isNonLocalReturn",{},smalltalk.IRReturn)})},
 messageSends: ["not", "isLocalReturn"]}),
@@ -1533,6 +1544,17 @@ return $1;
 messageSends: ["visitIRValue:"]}),
 smalltalk.IRValue);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "needsBoxingAsReceiver",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+return false;
+}, function($ctx1) {$ctx1.fill(self,"needsBoxingAsReceiver",{},smalltalk.IRValue)})},
+messageSends: []}),
+smalltalk.IRValue);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "value",
@@ -1584,6 +1606,19 @@ return true;
 messageSends: []}),
 smalltalk.IRVariable);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "needsBoxingAsReceiver",
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st(_st(self._variable())._isPseudoVar())._not();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"needsBoxingAsReceiver",{},smalltalk.IRVariable)})},
+messageSends: ["not", "isPseudoVar", "variable"]}),
+smalltalk.IRVariable);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "variable",
@@ -1671,7 +1706,7 @@ fn: function (anIRAssignment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRAssignment);
+$1=self._visitIRInstruction_(anIRAssignment);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRAssignment:",{anIRAssignment:anIRAssignment},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1684,7 +1719,7 @@ fn: function (anIRBlockReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRReturn_(anIRBlockReturn);
+$1=self._visitIRReturn_(anIRBlockReturn);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRBlockReturn:",{anIRBlockReturn:anIRBlockReturn},smalltalk.IRVisitor)})},
 messageSends: ["visitIRReturn:"]}),
@@ -1697,7 +1732,7 @@ fn: function (anIRBlockSequence){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRSequence_(anIRBlockSequence);
+$1=self._visitIRSequence_(anIRBlockSequence);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRBlockSequence:",{anIRBlockSequence:anIRBlockSequence},smalltalk.IRVisitor)})},
 messageSends: ["visitIRSequence:"]}),
@@ -1710,7 +1745,7 @@ fn: function (anIRClosure){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRClosure);
+$1=self._visitIRInstruction_(anIRClosure);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRClosure:",{anIRClosure:anIRClosure},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1723,7 +1758,7 @@ fn: function (anIRDynamicArray){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRDynamicArray);
+$1=self._visitIRInstruction_(anIRDynamicArray);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRDynamicArray:",{anIRDynamicArray:anIRDynamicArray},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1736,7 +1771,7 @@ fn: function (anIRDynamicDictionary){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRDynamicDictionary);
+$1=self._visitIRInstruction_(anIRDynamicDictionary);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRDynamicDictionary:",{anIRDynamicDictionary:anIRDynamicDictionary},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1749,7 +1784,7 @@ fn: function (anIRInlinedClosure){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRClosure_(anIRInlinedClosure);
+$1=self._visitIRClosure_(anIRInlinedClosure);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure},smalltalk.IRVisitor)})},
 messageSends: ["visitIRClosure:"]}),
@@ -1762,7 +1797,7 @@ fn: function (anIRInlinedSequence){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRSequence_(anIRInlinedSequence);
+$1=self._visitIRSequence_(anIRInlinedSequence);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence},smalltalk.IRVisitor)})},
 messageSends: ["visitIRSequence:"]}),
@@ -1777,7 +1812,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 _st(_st(anIRInstruction)._instructions())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(each);
+return self._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $1=anIRInstruction;
 return $1;
@@ -1792,7 +1827,7 @@ fn: function (anIRMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRMethod);
+$1=self._visitIRInstruction_(anIRMethod);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRMethod:",{anIRMethod:anIRMethod},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1805,7 +1840,7 @@ fn: function (anIRNonLocalReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRNonLocalReturn);
+$1=self._visitIRInstruction_(anIRNonLocalReturn);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1818,7 +1853,7 @@ fn: function (anIRNonLocalReturnHandling){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRNonLocalReturnHandling);
+$1=self._visitIRInstruction_(anIRNonLocalReturnHandling);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturnHandling:",{anIRNonLocalReturnHandling:anIRNonLocalReturnHandling},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1831,7 +1866,7 @@ fn: function (anIRReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRReturn);
+$1=self._visitIRInstruction_(anIRReturn);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRReturn:",{anIRReturn:anIRReturn},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1844,7 +1879,7 @@ fn: function (anIRSend){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRSend);
+$1=self._visitIRInstruction_(anIRSend);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRSend:",{anIRSend:anIRSend},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1857,7 +1892,7 @@ fn: function (anIRSequence){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRSequence);
+$1=self._visitIRInstruction_(anIRSequence);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRSequence:",{anIRSequence:anIRSequence},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1870,7 +1905,7 @@ fn: function (anIRTempDeclaration){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRTempDeclaration);
+$1=self._visitIRInstruction_(anIRTempDeclaration);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRTempDeclaration:",{anIRTempDeclaration:anIRTempDeclaration},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1883,7 +1918,7 @@ fn: function (anIRValue){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRValue);
+$1=self._visitIRInstruction_(anIRValue);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRValue:",{anIRValue:anIRValue},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1896,7 +1931,7 @@ fn: function (anIRVariable){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRVariable);
+$1=self._visitIRInstruction_(anIRVariable);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRVariable:",{anIRVariable:anIRVariable},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1909,7 +1944,7 @@ fn: function (anIRVerbatim){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._visitIRInstruction_(anIRVerbatim);
+$1=self._visitIRInstruction_(anIRVerbatim);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRVerbatim:",{anIRVerbatim:anIRVerbatim},smalltalk.IRVisitor)})},
 messageSends: ["visitIRInstruction:"]}),
@@ -1925,7 +1960,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._stream())._contents();
+$1=_st(self._stream())._contents();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"contents",{},smalltalk.IRJSTranslator)})},
 messageSends: ["contents", "stream"]}),
@@ -1974,9 +2009,9 @@ selector: "visitIRAssignment:",
 fn: function (anIRAssignment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._visit_(_st(_st(anIRAssignment)._instructions())._first());
-_st(_st(self)._stream())._nextPutAssignment();
-_st(self)._visit_(_st(_st(anIRAssignment)._instructions())._last());
+self._visit_(_st(_st(anIRAssignment)._instructions())._first());
+_st(self._stream())._nextPutAssignment();
+self._visit_(_st(_st(anIRAssignment)._instructions())._last());
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRAssignment:",{anIRAssignment:anIRAssignment},smalltalk.IRJSTranslator)})},
 messageSends: ["visit:", "first", "instructions", "nextPutAssignment", "stream", "last"]}),
 smalltalk.IRJSTranslator);
@@ -1987,16 +2022,16 @@ selector: "visitIRClosure:",
 fn: function (anIRClosure){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutClosureWith_arguments_((function(){
+_st(self._stream())._nextPutClosureWith_arguments_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(_st(self)._stream())._nextPutVars_(_st(_st(anIRClosure)._tempDeclarations())._collect_((function(each){
+_st(self._stream())._nextPutVars_(_st(_st(anIRClosure)._tempDeclarations())._collect_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(_st(each)._name())._asVariableName();
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})})));
-return _st(_st(self)._stream())._nextPutBlockContextFor_during_(anIRClosure,(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})})));
+return _st(self._stream())._nextPutBlockContextFor_during_(anIRClosure,(function(){
 return smalltalk.withContext(function($ctx3) {
 return smalltalk.IRVisitor.fn.prototype._visitIRClosure_.apply(_st(self), [anIRClosure]);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),_st(anIRClosure)._arguments());
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRClosure:",{anIRClosure:anIRClosure},smalltalk.IRJSTranslator)})},
 messageSends: ["nextPutClosureWith:arguments:", "nextPutVars:", "collect:", "asVariableName", "name", "tempDeclarations", "stream", "nextPutBlockContextFor:during:", "visitIRClosure:", "arguments"]}),
@@ -2008,13 +2043,13 @@ selector: "visitIRDynamicArray:",
 fn: function (anIRDynamicArray){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutAll_("[");
+_st(self._stream())._nextPutAll_("[");
 _st(_st(anIRDynamicArray)._instructions())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(each);
+return self._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._stream())._nextPutAll_(",");
+return _st(self._stream())._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(self["@stream"])._nextPutAll_("]");
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRDynamicArray:",{anIRDynamicArray:anIRDynamicArray},smalltalk.IRJSTranslator)})},
@@ -2027,15 +2062,15 @@ selector: "visitIRDynamicDictionary:",
 fn: function (anIRDynamicDictionary){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutAll_("smalltalk.HashedCollection._fromPairs_([");
+_st(self._stream())._nextPutAll_("smalltalk.HashedCollection._fromPairs_([");
 _st(_st(anIRDynamicDictionary)._instructions())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(each);
+return self._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._stream())._nextPutAll_(",");
+return _st(self._stream())._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(_st(self)._stream())._nextPutAll_("])");
+_st(self._stream())._nextPutAll_("])");
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRDynamicDictionary:",{anIRDynamicDictionary:anIRDynamicDictionary},smalltalk.IRJSTranslator)})},
 messageSends: ["nextPutAll:", "stream", "do:separatedBy:", "visit:", "instructions"]}),
 smalltalk.IRJSTranslator);
@@ -2047,38 +2082,38 @@ fn: function (anIRMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(_st(self)._stream())._nextPutMethodDeclaration_with_(anIRMethod,(function(){
+_st(self._stream())._nextPutMethodDeclaration_with_(anIRMethod,(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._stream())._nextPutFunctionWith_arguments_((function(){
+return _st(self._stream())._nextPutFunctionWith_arguments_((function(){
 return smalltalk.withContext(function($ctx3) {
-_st(_st(self)._stream())._nextPutVars_(_st(_st(anIRMethod)._tempDeclarations())._collect_((function(each){
+_st(self._stream())._nextPutVars_(_st(_st(anIRMethod)._tempDeclarations())._collect_((function(each){
 return smalltalk.withContext(function($ctx4) {
 return _st(_st(each)._name())._asVariableName();
-}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx1)})})));
+}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx3)})})));
 _st(_st(anIRMethod)._classReferences())._do_((function(each){
 return smalltalk.withContext(function($ctx4) {
-return _st(_st(self)._stream())._nextPutClassRefFunction_(each);
-}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx1)})}));
-return _st(_st(self)._stream())._nextPutContextFor_during_(anIRMethod,(function(){
+return _st(self._stream())._nextPutClassRefFunction_(each);
+}, function($ctx4) {$ctx4.fillBlock({each:each},$ctx3)})}));
+return _st(self._stream())._nextPutContextFor_during_(anIRMethod,(function(){
 return smalltalk.withContext(function($ctx4) {
 $1=_st(_st(anIRMethod)._internalVariables())._notEmpty();
 if(smalltalk.assert($1)){
-_st(_st(self)._stream())._nextPutVars_(_st(_st(_st(anIRMethod)._internalVariables())._asArray())._collect_((function(each){
+_st(self._stream())._nextPutVars_(_st(_st(_st(anIRMethod)._internalVariables())._asArray())._collect_((function(each){
 return smalltalk.withContext(function($ctx5) {
 return _st(_st(each)._variable())._alias();
-}, function($ctx5) {$ctx5.fillBlock({each:each},$ctx1)})})));
+}, function($ctx5) {$ctx5.fillBlock({each:each},$ctx4)})})));
 };
 $2=_st(_st(anIRMethod)._scope())._hasNonLocalReturn();
 if(smalltalk.assert($2)){
-return _st(_st(self)._stream())._nextPutNonLocalReturnHandlingWith_((function(){
+return _st(self._stream())._nextPutNonLocalReturnHandlingWith_((function(){
 return smalltalk.withContext(function($ctx5) {
 return smalltalk.IRVisitor.fn.prototype._visitIRMethod_.apply(_st(self), [anIRMethod]);
-}, function($ctx5) {$ctx5.fillBlock({},$ctx1)})}));
+}, function($ctx5) {$ctx5.fillBlock({},$ctx4)})}));
 } else {
 return smalltalk.IRVisitor.fn.prototype._visitIRMethod_.apply(_st(self), [anIRMethod]);
 };
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}),_st(anIRMethod)._arguments());
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}),_st(anIRMethod)._arguments());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRMethod:",{anIRMethod:anIRMethod},smalltalk.IRJSTranslator)})},
 messageSends: ["nextPutMethodDeclaration:with:", "nextPutFunctionWith:arguments:", "nextPutVars:", "collect:", "asVariableName", "name", "tempDeclarations", "stream", "do:", "nextPutClassRefFunction:", "classReferences", "nextPutContextFor:during:", "ifTrue:", "alias", "variable", "asArray", "internalVariables", "notEmpty", "ifTrue:ifFalse:", "nextPutNonLocalReturnHandlingWith:", "visitIRMethod:", "hasNonLocalReturn", "scope", "arguments"]}),
@@ -2090,7 +2125,7 @@ selector: "visitIRNonLocalReturn:",
 fn: function (anIRNonLocalReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutNonLocalReturnWith_((function(){
+_st(self._stream())._nextPutNonLocalReturnWith_((function(){
 return smalltalk.withContext(function($ctx2) {
 return smalltalk.IRVisitor.fn.prototype._visitIRNonLocalReturn_.apply(_st(self), [anIRNonLocalReturn]);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -2104,7 +2139,7 @@ selector: "visitIRReturn:",
 fn: function (anIRReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutReturnWith_((function(){
+_st(self._stream())._nextPutReturnWith_((function(){
 return smalltalk.withContext(function($ctx2) {
 return smalltalk.IRVisitor.fn.prototype._visitIRReturn_.apply(_st(self), [anIRReturn]);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -2118,39 +2153,15 @@ selector: "visitIRSend:",
 fn: function (anIRSend){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1,$2,$3;
+var $1;
 $1=_st(anIRSend)._classSend();
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(_st(self)._stream())._nextPutAll_("_st(");
-_st(self)._visit_(_st(_st(anIRSend)._instructions())._first());
-_st(_st(self)._stream())._nextPutAll_(_st(_st(").").__comma(_st(_st(anIRSend)._selector())._asSelector())).__comma("("));
-_st(_st(_st(anIRSend)._instructions())._allButFirst())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(each);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._stream())._nextPutAll_(",");
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(_st(self)._stream())._nextPutAll_(")");
+self._visitSend_(anIRSend);
 } else {
-$2=_st(self)._stream();
-_st($2)._nextPutAll_(_st(_st(_st(anIRSend)._classSend())._asJavascript()).__comma(".fn.prototype."));
-_st($2)._nextPutAll_(_st(_st(_st(anIRSend)._selector())._asSelector()).__comma(".apply("));
-$3=_st($2)._nextPutAll_("_st(");
-$3;
-_st(self)._visit_(_st(_st(anIRSend)._instructions())._first());
-_st(_st(self)._stream())._nextPutAll_("), [");
-_st(_st(_st(anIRSend)._instructions())._allButFirst())._do_separatedBy_((function(each){
-return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(each);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
-return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._stream())._nextPutAll_(",");
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(_st(self)._stream())._nextPutAll_("])");
+self._visitSuperSend_(anIRSend);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRSend:",{anIRSend:anIRSend},smalltalk.IRJSTranslator)})},
-messageSends: ["ifNil:ifNotNil:", "nextPutAll:", "stream", "visit:", "first", "instructions", ",", "asSelector", "selector", "do:separatedBy:", "allButFirst", "asJavascript", "classSend"]}),
+messageSends: ["ifNil:ifNotNil:", "visitSend:", "visitSuperSend:", "classSend"]}),
 smalltalk.IRJSTranslator);
 
 smalltalk.addMethod(
@@ -2159,12 +2170,12 @@ selector: "visitIRSequence:",
 fn: function (anIRSequence){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutSequenceWith_((function(){
+_st(self._stream())._nextPutSequenceWith_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(anIRSequence)._instructions())._do_((function(each){
 return smalltalk.withContext(function($ctx3) {
-return _st(_st(self)._stream())._nextPutStatementWith_(_st(self)._visit_(each));
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
+return _st(self._stream())._nextPutStatementWith_(self._visit_(each));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRSequence:",{anIRSequence:anIRSequence},smalltalk.IRJSTranslator)})},
 messageSends: ["nextPutSequenceWith:", "do:", "nextPutStatementWith:", "visit:", "stream", "instructions"]}),
@@ -2186,7 +2197,7 @@ selector: "visitIRValue:",
 fn: function (anIRValue){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutAll_(_st(_st(anIRValue)._value())._asJavascript());
+_st(self._stream())._nextPutAll_(_st(_st(anIRValue)._value())._asJavascript());
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRValue:",{anIRValue:anIRValue},smalltalk.IRJSTranslator)})},
 messageSends: ["nextPutAll:", "asJavascript", "value", "stream"]}),
 smalltalk.IRJSTranslator);
@@ -2200,9 +2211,9 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st(_st(_st(anIRVariable)._variable())._name()).__eq("thisContext");
 if(smalltalk.assert($1)){
-_st(_st(self)._stream())._nextPutAll_("smalltalk.getThisContext()");
+_st(self._stream())._nextPutAll_("smalltalk.getThisContext()");
 } else {
-_st(_st(self)._stream())._nextPutAll_(_st(_st(anIRVariable)._variable())._alias());
+_st(self._stream())._nextPutAll_(_st(_st(anIRVariable)._variable())._alias());
 };
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRVariable:",{anIRVariable:anIRVariable},smalltalk.IRJSTranslator)})},
 messageSends: ["ifTrue:ifFalse:", "nextPutAll:", "stream", "alias", "variable", "=", "name"]}),
@@ -2214,14 +2225,78 @@ selector: "visitIRVerbatim:",
 fn: function (anIRVerbatim){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutStatementWith_((function(){
+_st(self._stream())._nextPutStatementWith_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._stream())._nextPutAll_(_st(anIRVerbatim)._source());
+return _st(self._stream())._nextPutAll_(_st(anIRVerbatim)._source());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRVerbatim:",{anIRVerbatim:anIRVerbatim},smalltalk.IRJSTranslator)})},
 messageSends: ["nextPutStatementWith:", "nextPutAll:", "source", "stream"]}),
 smalltalk.IRJSTranslator);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "visitReceiver:",
+fn: function (anIRInstruction){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
+$1=_st(anIRInstruction)._needsBoxingAsReceiver();
+if(! smalltalk.assert($1)){
+$2=self._visit_(anIRInstruction);
+return $2;
+};
+_st(self._stream())._nextPutAll_("_st(");
+self._visit_(anIRInstruction);
+_st(self._stream())._nextPutAll_(")");
+return self}, function($ctx1) {$ctx1.fill(self,"visitReceiver:",{anIRInstruction:anIRInstruction},smalltalk.IRJSTranslator)})},
+messageSends: ["ifFalse:", "visit:", "needsBoxingAsReceiver", "nextPutAll:", "stream"]}),
+smalltalk.IRJSTranslator);
+
+smalltalk.addMethod(
+smalltalk.method({
+selector: "visitSend:",
+fn: function (anIRSend){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+self._visitReceiver_(_st(_st(anIRSend)._instructions())._first());
+_st(self._stream())._nextPutAll_(_st(".".__comma(_st(_st(anIRSend)._selector())._asSelector())).__comma("("));
+_st(_st(_st(anIRSend)._instructions())._allButFirst())._do_separatedBy_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return self._visit_(each);
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self._stream())._nextPutAll_(",");
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+_st(self._stream())._nextPutAll_(")");
+return self}, function($ctx1) {$ctx1.fill(self,"visitSend:",{anIRSend:anIRSend},smalltalk.IRJSTranslator)})},
+messageSends: ["visitReceiver:", "first", "instructions", "nextPutAll:", ",", "asSelector", "selector", "stream", "do:separatedBy:", "visit:", "allButFirst"]}),
+smalltalk.IRJSTranslator);
+
+smalltalk.addMethod(
+smalltalk.method({
+selector: "visitSuperSend:",
+fn: function (anIRSend){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $1,$2;
+$1=self._stream();
+_st($1)._nextPutAll_(_st(_st(_st(anIRSend)._classSend())._asJavascript()).__comma(".fn.prototype."));
+_st($1)._nextPutAll_(_st(_st(_st(anIRSend)._selector())._asSelector()).__comma(".apply("));
+$2=_st($1)._nextPutAll_("_st(");
+self._visit_(_st(_st(anIRSend)._instructions())._first());
+_st(self._stream())._nextPutAll_("), [");
+_st(_st(_st(anIRSend)._instructions())._allButFirst())._do_separatedBy_((function(each){
+return smalltalk.withContext(function($ctx2) {
+return self._visit_(each);
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
+return smalltalk.withContext(function($ctx2) {
+return _st(self._stream())._nextPutAll_(",");
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+_st(self._stream())._nextPutAll_("])");
+return self}, function($ctx1) {$ctx1.fill(self,"visitSuperSend:",{anIRSend:anIRSend},smalltalk.IRJSTranslator)})},
+messageSends: ["nextPutAll:", ",", "asJavascript", "classSend", "stream", "asSelector", "selector", "visit:", "first", "instructions", "do:separatedBy:", "allButFirst"]}),
+smalltalk.IRJSTranslator);
+
 
 
 smalltalk.addClass('JSStream', smalltalk.Object, ['stream'], 'Compiler-IR');
@@ -2245,7 +2320,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
-self["@stream"]=_st("")._writeStream();
+self["@stream"]=""._writeStream();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.JSStream)})},
 messageSends: ["initialize", "writeStream"]}),
 smalltalk.JSStream);
@@ -2302,11 +2377,11 @@ var self=this;
 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(") {"));
+_st($1)._nextPutAll_(_st("return smalltalk.withContext(function(".__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
 $2=_st($1)._lf();
 _st(aBlock)._value();
 $3=self;
-_st($3)._nextPutAll_(_st(_st("}, function(").__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
+_st($3)._nextPutAll_(_st("}, function(".__comma(_st(_st(anIRClosure)._scope())._alias())).__comma(") {"));
 $4=_st($3)._nextPutAll_(_st(_st(_st(anIRClosure)._scope())._alias()).__comma(".fillBlock({"));
 _st(_st(anIRClosure)._locals())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx2) {
@@ -2317,7 +2392,7 @@ $6=_st($5)._nextPutAll_(_st(each)._asVariableName());
 return $6;
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._nextPutAll_(",");
+return self._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $7=self;
 _st($7)._nextPutAll_("},");
@@ -2380,12 +2455,12 @@ var self=this;
 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(") { "));
+_st($1)._nextPutAll_(_st("return smalltalk.withContext(function(".__comma(_st(_st(aMethod)._scope())._alias())).__comma(") { "));
 $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()));
-$4=_st($3)._nextPutAll_(_st(_st(".fill(self,").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(",{"));
+_st($3)._nextPutAll_(_st(_st("}, function(".__comma(_st(_st(aMethod)._scope())._alias())).__comma(") {")).__comma(_st(_st(aMethod)._scope())._alias()));
+$4=_st($3)._nextPutAll_(_st(".fill(self,".__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(",{"));
 _st(_st(aMethod)._locals())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx2) {
 $5=self;
@@ -2395,7 +2470,7 @@ $6=_st($5)._nextPutAll_(_st(each)._asVariableName());
 return $6;
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._nextPutAll_(",");
+return self._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $7=self;
 _st($7)._nextPutAll_("},");
@@ -2483,16 +2558,16 @@ var $1,$2,$3,$4,$5,$6;
 $1=self["@stream"];
 _st($1)._nextPutAll_("smalltalk.method({");
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("selector: ").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("selector: ".__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("source: ").__comma(_st(_st(aMethod)._source())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("source: ".__comma(_st(_st(aMethod)._source())._asJavascript())).__comma(","));
 $2=_st($1)._lf();
 _st(aBlock)._value();
 $3=self["@stream"];
-_st($3)._nextPutAll_(_st(_st(",").__comma(_st($String())._lf())).__comma("messageSends: "));
+_st($3)._nextPutAll_(_st(",".__comma(_st($String())._lf())).__comma("messageSends: "));
 _st($3)._nextPutAll_(_st(_st(_st(_st(aMethod)._messageSends())._asArray())._asJavascript()).__comma(","));
 _st($3)._lf();
-_st($3)._nextPutAll_(_st(_st("args: ").__comma(_st(_st(_st(_st(aMethod)._arguments())._collect_((function(each){
+_st($3)._nextPutAll_(_st("args: ".__comma(_st(_st(_st(_st(aMethod)._arguments())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._value();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asArray())._asJavascript())).__comma(","));
@@ -2564,7 +2639,7 @@ selector: "nextPutReturnWith:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._nextPutReturn();
+self._nextPutReturn();
 _st(aBlock)._value();
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutReturnWith:",{aBlock:aBlock},smalltalk.JSStream)})},
 messageSends: ["nextPutReturn", "value"]}),
@@ -2589,11 +2664,11 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4;
 $1=self["@stream"];
-_st($1)._nextPutAll_(_st(_st("case ").__comma(_st(anInteger)._asString())).__comma(":"));
+_st($1)._nextPutAll_(_st("case ".__comma(_st(anInteger)._asString())).__comma(":"));
 $2=_st($1)._lf();
-_st(self)._nextPutStatementWith_(aBlock);
+self._nextPutStatementWith_(aBlock);
 $3=self["@stream"];
-_st($3)._nextPutAll_(_st(_st("smalltalk.thisContext.pc=").__comma(_st(_st(anInteger).__plus((1)))._asString())).__comma(";"));
+_st($3)._nextPutAll_(_st("smalltalk.thisContext.pc=".__comma(_st(_st(anInteger).__plus((1)))._asString())).__comma(";"));
 $4=_st($3)._lf();
 return self}, function($ctx1) {$ctx1.fill(self,"nextPutStatement:with:",{anInteger:anInteger,aBlock:aBlock},smalltalk.JSStream)})},
 messageSends: ["nextPutAll:", ",", "asString", "lf", "nextPutStatementWith:", "+"]}),
@@ -2668,7 +2743,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=_st(_st(_st($Smalltalk())._current())._reservedWords())._includes_(self);
 if(smalltalk.assert($2)){
-$1=_st(self).__comma("_");
+$1=self.__comma("_");
 } else {
 $1=self;
 };

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 260 - 155
js/Compiler-IR.js


+ 85 - 85
js/Compiler-Inlining.deploy.js

@@ -247,8 +247,8 @@ $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());
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return self._shouldInlineSend_(_st(_st(anIRAssignment)._instructions())._last());
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineAssignment:",{anIRAssignment:anIRAssignment},smalltalk.IRInliner)})},
@@ -266,8 +266,8 @@ $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());
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return self._shouldInlineSend_(_st(_st(anIRReturn)._instructions())._first());
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineReturn:",{anIRReturn:anIRReturn},smalltalk.IRInliner)})},
@@ -329,9 +329,9 @@ fn: function (anIRAssignment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._shouldInlineAssignment_(anIRAssignment);
+$2=self._shouldInlineAssignment_(anIRAssignment);
 if(smalltalk.assert($2)){
-$1=_st(_st(self)._assignmentInliner())._inlineAssignment_(anIRAssignment);
+$1=_st(self._assignmentInliner())._inlineAssignment_(anIRAssignment);
 } else {
 $1=smalltalk.IRVisitor.fn.prototype._visitIRAssignment_.apply(_st(self), [anIRAssignment]);
 };
@@ -347,7 +347,7 @@ fn: function (anIRNonLocalReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._transformNonLocalReturn_(anIRNonLocalReturn);
+$1=self._transformNonLocalReturn_(anIRNonLocalReturn);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn},smalltalk.IRInliner)})},
 messageSends: ["transformNonLocalReturn:"]}),
@@ -360,9 +360,9 @@ fn: function (anIRReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._shouldInlineReturn_(anIRReturn);
+$2=self._shouldInlineReturn_(anIRReturn);
 if(smalltalk.assert($2)){
-$1=_st(_st(self)._returnInliner())._inlineReturn_(anIRReturn);
+$1=_st(self._returnInliner())._inlineReturn_(anIRReturn);
 } else {
 $1=smalltalk.IRVisitor.fn.prototype._visitIRReturn_.apply(_st(self), [anIRReturn]);
 };
@@ -378,9 +378,9 @@ fn: function (anIRSend){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._shouldInlineSend_(anIRSend);
+$2=self._shouldInlineSend_(anIRSend);
 if(smalltalk.assert($2)){
-$1=_st(_st(self)._sendInliner())._inlineSend_(anIRSend);
+$1=_st(self._sendInliner())._inlineSend_(anIRSend);
 } else {
 $1=smalltalk.IRVisitor.fn.prototype._visitIRSend_.apply(_st(self), [anIRSend]);
 };
@@ -398,7 +398,7 @@ selector: "visitIRInlinedAssignment:",
 fn: function (anIRInlinedAssignment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
+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);
@@ -409,13 +409,13 @@ 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){
+_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 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"]}),
@@ -427,14 +427,14 @@ selector: "visitIRInlinedIfFalse:",
 fn: function (anIRInlinedIfFalse){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIf_with_((function(){
+_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_(")");
+_st(self._stream())._nextPutAll_("! smalltalk.assert(");
+self._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._first());
+return _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 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"]}),
@@ -446,14 +446,14 @@ selector: "visitIRInlinedIfNil:",
 fn: function (anIRInlinedIfNil){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIf_with_((function(){
+_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");
+_st(self._stream())._nextPutAll_("($receiver = ");
+self._visit_(_st(_st(anIRInlinedIfNil)._instructions())._first());
+return _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 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"]}),
@@ -465,17 +465,17 @@ selector: "visitIRInlinedIfNilIfNotNil:",
 fn: function (anIRInlinedIfNilIfNotNil){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
+_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");
+_st(self._stream())._nextPutAll_("($receiver = ");
+self._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._first());
+return _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 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 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"]}),
@@ -487,14 +487,14 @@ selector: "visitIRInlinedIfTrue:",
 fn: function (anIRInlinedIfTrue){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIf_with_((function(){
+_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_(")");
+_st(self._stream())._nextPutAll_("smalltalk.assert(");
+self._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._first());
+return _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 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"]}),
@@ -506,17 +506,17 @@ selector: "visitIRInlinedIfTrueIfFalse:",
 fn: function (anIRInlinedIfTrueIfFalse){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
+_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_(")");
+_st(self._stream())._nextPutAll_("smalltalk.assert(");
+self._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._first());
+return _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 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 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"]}),
@@ -528,11 +528,11 @@ selector: "visitIRInlinedNonLocalReturn:",
 fn: function (anIRInlinedReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutStatementWith_((function(){
+_st(self._stream())._nextPutStatementWith_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
+return self._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(_st(self)._stream())._nextPutNonLocalReturnWith_((function(){
+_st(self._stream())._nextPutNonLocalReturnWith_((function(){
 return smalltalk.withContext(function($ctx2) {
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedNonLocalReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
@@ -545,7 +545,7 @@ selector: "visitIRInlinedReturn:",
 fn: function (anIRInlinedReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
+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);
@@ -558,10 +558,10 @@ 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 _st(self._stream())._nextPutStatementWith_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._visit_(each);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return self._visit_(each);
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence},smalltalk.IRInliningJSTranslator)})},
 messageSends: ["do:", "nextPutStatementWith:", "visit:", "stream", "instructions"]}),
@@ -578,7 +578,7 @@ var self=this;
 function $IRInlinedIfFalse(){return smalltalk.IRInlinedIfFalse||(typeof IRInlinedIfFalse=="undefined"?nil:IRInlinedIfFalse)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_(_st($IRInlinedIfFalse())._new(),anIRInstruction);
+$1=self._inlinedSend_with_(_st($IRInlinedIfFalse())._new(),anIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 messageSends: ["inlinedSend:with:", "new"]}),
@@ -591,7 +591,7 @@ fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._perform_withArguments_("ifTrue:ifFalse:",[anotherIRInstruction,anIRInstruction]);
+$1=self._perform_withArguments_("ifTrue:ifFalse:",[anotherIRInstruction,anIRInstruction]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 messageSends: ["perform:withArguments:"]}),
@@ -610,11 +610,11 @@ var $2,$3,$4,$5,$1;
 $2=_st($IRClosure())._new();
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 $3=_st($IRBlockSequence())._new();
-_st($3)._add_(_st(_st(_st(self)._send())._instructions())._first());
+_st($3)._add_(_st(_st(self._send())._instructions())._first());
 $4=_st($3)._yourself();
 _st($2)._add_($4);
 $5=_st($2)._yourself();
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,$5);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,$5);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNil:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 messageSends: ["inlinedSend:with:with:", "new", "scope:", "copy", "scope", "add:", "first", "instructions", "send", "yourself"]}),
@@ -628,7 +628,7 @@ var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,anotherIRInstruction);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,anotherIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 messageSends: ["inlinedSend:with:with:", "new"]}),
@@ -647,11 +647,11 @@ var $2,$3,$4,$5,$1;
 $2=_st($IRClosure())._new();
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 $3=_st($IRBlockSequence())._new();
-_st($3)._add_(_st(_st(_st(self)._send())._instructions())._first());
+_st($3)._add_(_st(_st(self._send())._instructions())._first());
 $4=_st($3)._yourself();
 _st($2)._add_($4);
 $5=_st($2)._yourself();
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),$5,anIRInstruction);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),$5,anIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNotNil:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 messageSends: ["inlinedSend:with:with:", "new", "scope:", "copy", "scope", "add:", "first", "instructions", "send", "yourself"]}),
@@ -665,7 +665,7 @@ var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anotherIRInstruction,anIRInstruction);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anotherIRInstruction,anIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 messageSends: ["inlinedSend:with:with:", "new"]}),
@@ -679,7 +679,7 @@ var self=this;
 function $IRInlinedIfTrue(){return smalltalk.IRInlinedIfTrue||(typeof IRInlinedIfTrue=="undefined"?nil:IRInlinedIfTrue)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_(_st($IRInlinedIfTrue())._new(),anIRInstruction);
+$1=self._inlinedSend_with_(_st($IRInlinedIfTrue())._new(),anIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 messageSends: ["inlinedSend:with:", "new"]}),
@@ -693,7 +693,7 @@ var self=this;
 function $IRInlinedIfTrueIfFalse(){return smalltalk.IRInlinedIfTrueIfFalse||(typeof IRInlinedIfTrueIfFalse=="undefined"?nil:IRInlinedIfTrueIfFalse)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfTrueIfFalse())._new(),anIRInstruction,anotherIRInstruction);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfTrueIfFalse())._new(),anIRInstruction,anotherIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 messageSends: ["inlinedSend:with:with:", "new"]}),
@@ -711,13 +711,13 @@ function $IRVariable(){return smalltalk.IRVariable||(typeof IRVariable=="undefin
 function $IRAssignment(){return smalltalk.IRAssignment||(typeof IRAssignment=="undefined"?nil:IRAssignment)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8,$9,$10;
-inlinedClosure=_st(self)._inlinedClosure();
+inlinedClosure=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);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-sequence=_st(self)._inlinedSequence();
+sequence=self._inlinedSequence();
 _st(_st(anIRClosure)._arguments())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 $1=_st($IRTempDeclaration())._new();
@@ -745,11 +745,11 @@ return smalltalk.withContext(function($ctx2) {
 _st(_st(statements)._allButLast())._do_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(sequence)._add_(each);
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
 $9=_st(_st(_st(statements)._last())._isReturn())._and_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(_st(statements)._last())._isBlockReturn();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 if(smalltalk.assert($9)){
 return _st(sequence)._add_(_st(_st(_st(statements)._last())._instructions())._first());
 } else {
@@ -769,8 +769,8 @@ fn: function (anIRSend){
 var self=this;
 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());
+self._send_(anIRSend);
+$1=self._perform_withArguments_(_st(self._send())._selector(),_st(_st(self._send())._instructions())._allButFirst());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlineSend:",{anIRSend:anIRSend},smalltalk.IRSendInliner)})},
 messageSends: ["send:", "perform:withArguments:", "selector", "send", "allButFirst", "instructions"]}),
@@ -800,17 +800,17 @@ 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");
+self._inliningError_("Message argument should be a block");
 };
 $2=_st(_st(_st(anIRInstruction)._arguments())._size()).__eq((0));
 if(! smalltalk.assert($2)){
-_st(self)._inliningError_("Inlined block should have zero argument");
+self._inliningError_("Inlined block should have zero argument");
 };
-inlinedClosure=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anIRInstruction));
+inlinedClosure=_st(self._translator())._visit_(self._inlineClosure_(anIRInstruction));
 $3=inlinedSend;
-_st($3)._add_(_st(_st(_st(self)._send())._instructions())._first());
+_st($3)._add_(_st(_st(self._send())._instructions())._first());
 $4=_st($3)._add_(inlinedClosure);
-_st(_st(self)._send())._replaceWith_(inlinedSend);
+_st(self._send())._replaceWith_(inlinedSend);
 $5=inlinedSend;
 return $5;
 }, function($ctx1) {$ctx1.fill(self,"inlinedSend:with:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,inlinedClosure:inlinedClosure},smalltalk.IRSendInliner)})},
@@ -827,19 +827,19 @@ 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");
+self._inliningError_("Message argument should be a block");
 };
 $2=_st(anotherIRInstruction)._isClosure();
 if(! smalltalk.assert($2)){
-_st(self)._inliningError_("Message argument should be a block");
+self._inliningError_("Message argument should be a block");
 };
-inlinedClosure1=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anIRInstruction));
-inlinedClosure2=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anotherIRInstruction));
+inlinedClosure1=_st(self._translator())._visit_(self._inlineClosure_(anIRInstruction));
+inlinedClosure2=_st(self._translator())._visit_(self._inlineClosure_(anotherIRInstruction));
 $3=inlinedSend;
-_st($3)._add_(_st(_st(_st(self)._send())._instructions())._first());
+_st($3)._add_(_st(_st(self._send())._instructions())._first());
 _st($3)._add_(inlinedClosure1);
 $4=_st($3)._add_(inlinedClosure2);
-_st(_st(self)._send())._replaceWith_(inlinedSend);
+_st(self._send())._replaceWith_(inlinedSend);
 $5=inlinedSend;
 return $5;
 }, function($ctx1) {$ctx1.fill(self,"inlinedSend:with:with:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction,inlinedClosure1:inlinedClosure1,inlinedClosure2:inlinedClosure2},smalltalk.IRSendInliner)})},
@@ -943,7 +943,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 var $early={};
 try {
-$1=_st(_st(self)._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
+$1=_st(self._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
 if(! smalltalk.assert($1)){
 return false;
 };
@@ -996,14 +996,14 @@ var inlinedAssignment;
 function $IRInlinedAssignment(){return smalltalk.IRInlinedAssignment||(typeof IRInlinedAssignment=="undefined"?nil:IRInlinedAssignment)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._assignment_(anIRAssignment);
+self._assignment_(anIRAssignment);
 inlinedAssignment=_st($IRInlinedAssignment())._new();
 _st(_st(anIRAssignment)._instructions())._do_((function(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());
+self._inlineSend_(_st(_st(inlinedAssignment)._instructions())._last());
 $1=inlinedAssignment;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlineAssignment:",{anIRAssignment:anIRAssignment,inlinedAssignment:inlinedAssignment},smalltalk.IRAssignmentInliner)})},
@@ -1026,7 +1026,7 @@ 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());
+_st($2)._add_(_st(_st(self._assignment())._instructions())._first());
 _st($2)._add_(_st(_st(statements)._last())._copy());
 $3=_st($2)._yourself();
 return _st(_st(statements)._last())._replaceWith_($3);
@@ -1076,13 +1076,13 @@ var self=this;
 var return_;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-return_=_st(self)._inlinedReturn();
+return_=self._inlinedReturn();
 _st(_st(anIRReturn)._instructions())._do_((function(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());
+self._inlineSend_(_st(_st(return_)._instructions())._last());
 $1=return_;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlineReturn:",{anIRReturn:anIRReturn,return_:return_},smalltalk.IRReturnInliner)})},
@@ -1114,10 +1114,10 @@ var self=this;
 var ir,stream;
 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);
-$2=_st(self)._irTranslator();
+_st(self._semanticAnalyzer())._visit_(aNode);
+ir=_st(self._translator())._visit_(aNode);
+_st(self._inliner())._visit_(ir);
+$2=self._irTranslator();
 _st($2)._visit_(ir);
 $3=_st($2)._contents();
 $1=$3;

+ 85 - 85
js/Compiler-Inlining.js

@@ -343,8 +343,8 @@ $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());
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return self._shouldInlineSend_(_st(_st(anIRAssignment)._instructions())._last());
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineAssignment:",{anIRAssignment:anIRAssignment},smalltalk.IRInliner)})},
@@ -367,8 +367,8 @@ $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());
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return self._shouldInlineSend_(_st(_st(anIRReturn)._instructions())._first());
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineReturn:",{anIRReturn:anIRReturn},smalltalk.IRInliner)})},
@@ -445,9 +445,9 @@ fn: function (anIRAssignment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._shouldInlineAssignment_(anIRAssignment);
+$2=self._shouldInlineAssignment_(anIRAssignment);
 if(smalltalk.assert($2)){
-$1=_st(_st(self)._assignmentInliner())._inlineAssignment_(anIRAssignment);
+$1=_st(self._assignmentInliner())._inlineAssignment_(anIRAssignment);
 } else {
 $1=smalltalk.IRVisitor.fn.prototype._visitIRAssignment_.apply(_st(self), [anIRAssignment]);
 };
@@ -468,7 +468,7 @@ fn: function (anIRNonLocalReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._transformNonLocalReturn_(anIRNonLocalReturn);
+$1=self._transformNonLocalReturn_(anIRNonLocalReturn);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn},smalltalk.IRInliner)})},
 args: ["anIRNonLocalReturn"],
@@ -486,9 +486,9 @@ fn: function (anIRReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._shouldInlineReturn_(anIRReturn);
+$2=self._shouldInlineReturn_(anIRReturn);
 if(smalltalk.assert($2)){
-$1=_st(_st(self)._returnInliner())._inlineReturn_(anIRReturn);
+$1=_st(self._returnInliner())._inlineReturn_(anIRReturn);
 } else {
 $1=smalltalk.IRVisitor.fn.prototype._visitIRReturn_.apply(_st(self), [anIRReturn]);
 };
@@ -509,9 +509,9 @@ fn: function (anIRSend){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._shouldInlineSend_(anIRSend);
+$2=self._shouldInlineSend_(anIRSend);
 if(smalltalk.assert($2)){
-$1=_st(_st(self)._sendInliner())._inlineSend_(anIRSend);
+$1=_st(self._sendInliner())._inlineSend_(anIRSend);
 } else {
 $1=smalltalk.IRVisitor.fn.prototype._visitIRSend_.apply(_st(self), [anIRSend]);
 };
@@ -535,7 +535,7 @@ category: 'visiting',
 fn: function (anIRInlinedAssignment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
+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",
@@ -551,13 +551,13 @@ 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){
+_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 self._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedClosure"],
@@ -574,14 +574,14 @@ category: 'visiting',
 fn: function (anIRInlinedIfFalse){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIf_with_((function(){
+_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_(")");
+_st(self._stream())._nextPutAll_("! smalltalk.assert(");
+self._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._first());
+return _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 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"],
@@ -598,14 +598,14 @@ category: 'visiting',
 fn: function (anIRInlinedIfNil){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIf_with_((function(){
+_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");
+_st(self._stream())._nextPutAll_("($receiver = ");
+self._visit_(_st(_st(anIRInlinedIfNil)._instructions())._first());
+return _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 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"],
@@ -622,17 +622,17 @@ category: 'visiting',
 fn: function (anIRInlinedIfNilIfNotNil){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
+_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");
+_st(self._stream())._nextPutAll_("($receiver = ");
+self._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._first());
+return _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 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 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"],
@@ -649,14 +649,14 @@ category: 'visiting',
 fn: function (anIRInlinedIfTrue){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIf_with_((function(){
+_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_(")");
+_st(self._stream())._nextPutAll_("smalltalk.assert(");
+self._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._first());
+return _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 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"],
@@ -673,17 +673,17 @@ category: 'visiting',
 fn: function (anIRInlinedIfTrueIfFalse){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
+_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_(")");
+_st(self._stream())._nextPutAll_("smalltalk.assert(");
+self._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._first());
+return _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 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 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"],
@@ -700,11 +700,11 @@ category: 'visiting',
 fn: function (anIRInlinedReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stream())._nextPutStatementWith_((function(){
+_st(self._stream())._nextPutStatementWith_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
+return self._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(_st(self)._stream())._nextPutNonLocalReturnWith_((function(){
+_st(self._stream())._nextPutNonLocalReturnWith_((function(){
 return smalltalk.withContext(function($ctx2) {
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedNonLocalReturn:",{anIRInlinedReturn:anIRInlinedReturn},smalltalk.IRInliningJSTranslator)})},
@@ -722,7 +722,7 @@ category: 'visiting',
 fn: function (anIRInlinedReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
+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",
@@ -740,10 +740,10 @@ 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 _st(self._stream())._nextPutStatementWith_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._visit_(each);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return self._visit_(each);
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence},smalltalk.IRInliningJSTranslator)})},
 args: ["anIRInlinedSequence"],
@@ -766,7 +766,7 @@ var self=this;
 function $IRInlinedIfFalse(){return smalltalk.IRInlinedIfFalse||(typeof IRInlinedIfFalse=="undefined"?nil:IRInlinedIfFalse)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_(_st($IRInlinedIfFalse())._new(),anIRInstruction);
+$1=self._inlinedSend_with_(_st($IRInlinedIfFalse())._new(),anIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 args: ["anIRInstruction"],
@@ -784,7 +784,7 @@ fn: function (anIRInstruction,anotherIRInstruction){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._perform_withArguments_("ifTrue:ifFalse:",[anotherIRInstruction,anIRInstruction]);
+$1=self._perform_withArguments_("ifTrue:ifFalse:",[anotherIRInstruction,anIRInstruction]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 args: ["anIRInstruction", "anotherIRInstruction"],
@@ -808,11 +808,11 @@ var $2,$3,$4,$5,$1;
 $2=_st($IRClosure())._new();
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 $3=_st($IRBlockSequence())._new();
-_st($3)._add_(_st(_st(_st(self)._send())._instructions())._first());
+_st($3)._add_(_st(_st(self._send())._instructions())._first());
 $4=_st($3)._yourself();
 _st($2)._add_($4);
 $5=_st($2)._yourself();
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,$5);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,$5);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNil:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 args: ["anIRInstruction"],
@@ -831,7 +831,7 @@ var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,anotherIRInstruction);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anIRInstruction,anotherIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 args: ["anIRInstruction", "anotherIRInstruction"],
@@ -855,11 +855,11 @@ var $2,$3,$4,$5,$1;
 $2=_st($IRClosure())._new();
 _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 $3=_st($IRBlockSequence())._new();
-_st($3)._add_(_st(_st(_st(self)._send())._instructions())._first());
+_st($3)._add_(_st(_st(self._send())._instructions())._first());
 $4=_st($3)._yourself();
 _st($2)._add_($4);
 $5=_st($2)._yourself();
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),$5,anIRInstruction);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),$5,anIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNotNil:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 args: ["anIRInstruction"],
@@ -878,7 +878,7 @@ var self=this;
 function $IRInlinedIfNilIfNotNil(){return smalltalk.IRInlinedIfNilIfNotNil||(typeof IRInlinedIfNilIfNotNil=="undefined"?nil:IRInlinedIfNilIfNotNil)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anotherIRInstruction,anIRInstruction);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfNilIfNotNil())._new(),anotherIRInstruction,anIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 args: ["anIRInstruction", "anotherIRInstruction"],
@@ -897,7 +897,7 @@ var self=this;
 function $IRInlinedIfTrue(){return smalltalk.IRInlinedIfTrue||(typeof IRInlinedIfTrue=="undefined"?nil:IRInlinedIfTrue)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_(_st($IRInlinedIfTrue())._new(),anIRInstruction);
+$1=self._inlinedSend_with_(_st($IRInlinedIfTrue())._new(),anIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:",{anIRInstruction:anIRInstruction},smalltalk.IRSendInliner)})},
 args: ["anIRInstruction"],
@@ -916,7 +916,7 @@ var self=this;
 function $IRInlinedIfTrueIfFalse(){return smalltalk.IRInlinedIfTrueIfFalse||(typeof IRInlinedIfTrueIfFalse=="undefined"?nil:IRInlinedIfTrueIfFalse)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._inlinedSend_with_with_(_st($IRInlinedIfTrueIfFalse())._new(),anIRInstruction,anotherIRInstruction);
+$1=self._inlinedSend_with_with_(_st($IRInlinedIfTrueIfFalse())._new(),anIRInstruction,anotherIRInstruction);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction},smalltalk.IRSendInliner)})},
 args: ["anIRInstruction", "anotherIRInstruction"],
@@ -939,13 +939,13 @@ function $IRVariable(){return smalltalk.IRVariable||(typeof IRVariable=="undefin
 function $IRAssignment(){return smalltalk.IRAssignment||(typeof IRAssignment=="undefined"?nil:IRAssignment)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7,$8,$9,$10;
-inlinedClosure=_st(self)._inlinedClosure();
+inlinedClosure=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);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-sequence=_st(self)._inlinedSequence();
+sequence=self._inlinedSequence();
 _st(_st(anIRClosure)._arguments())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 $1=_st($IRTempDeclaration())._new();
@@ -973,11 +973,11 @@ return smalltalk.withContext(function($ctx2) {
 _st(_st(statements)._allButLast())._do_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(sequence)._add_(each);
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
 $9=_st(_st(_st(statements)._last())._isReturn())._and_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(_st(statements)._last())._isBlockReturn();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 if(smalltalk.assert($9)){
 return _st(sequence)._add_(_st(_st(_st(statements)._last())._instructions())._first());
 } else {
@@ -1002,8 +1002,8 @@ fn: function (anIRSend){
 var self=this;
 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());
+self._send_(anIRSend);
+$1=self._perform_withArguments_(_st(self._send())._selector(),_st(_st(self._send())._instructions())._allButFirst());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlineSend:",{anIRSend:anIRSend},smalltalk.IRSendInliner)})},
 args: ["anIRSend"],
@@ -1043,17 +1043,17 @@ 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");
+self._inliningError_("Message argument should be a block");
 };
 $2=_st(_st(_st(anIRInstruction)._arguments())._size()).__eq((0));
 if(! smalltalk.assert($2)){
-_st(self)._inliningError_("Inlined block should have zero argument");
+self._inliningError_("Inlined block should have zero argument");
 };
-inlinedClosure=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anIRInstruction));
+inlinedClosure=_st(self._translator())._visit_(self._inlineClosure_(anIRInstruction));
 $3=inlinedSend;
-_st($3)._add_(_st(_st(_st(self)._send())._instructions())._first());
+_st($3)._add_(_st(_st(self._send())._instructions())._first());
 $4=_st($3)._add_(inlinedClosure);
-_st(_st(self)._send())._replaceWith_(inlinedSend);
+_st(self._send())._replaceWith_(inlinedSend);
 $5=inlinedSend;
 return $5;
 }, function($ctx1) {$ctx1.fill(self,"inlinedSend:with:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,inlinedClosure:inlinedClosure},smalltalk.IRSendInliner)})},
@@ -1075,19 +1075,19 @@ 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");
+self._inliningError_("Message argument should be a block");
 };
 $2=_st(anotherIRInstruction)._isClosure();
 if(! smalltalk.assert($2)){
-_st(self)._inliningError_("Message argument should be a block");
+self._inliningError_("Message argument should be a block");
 };
-inlinedClosure1=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anIRInstruction));
-inlinedClosure2=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anotherIRInstruction));
+inlinedClosure1=_st(self._translator())._visit_(self._inlineClosure_(anIRInstruction));
+inlinedClosure2=_st(self._translator())._visit_(self._inlineClosure_(anotherIRInstruction));
 $3=inlinedSend;
-_st($3)._add_(_st(_st(_st(self)._send())._instructions())._first());
+_st($3)._add_(_st(_st(self._send())._instructions())._first());
 _st($3)._add_(inlinedClosure1);
 $4=_st($3)._add_(inlinedClosure2);
-_st(_st(self)._send())._replaceWith_(inlinedSend);
+_st(self._send())._replaceWith_(inlinedSend);
 $5=inlinedSend;
 return $5;
 }, function($ctx1) {$ctx1.fill(self,"inlinedSend:with:with:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction,inlinedClosure1:inlinedClosure1,inlinedClosure2:inlinedClosure2},smalltalk.IRSendInliner)})},
@@ -1231,7 +1231,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 var $early={};
 try {
-$1=_st(_st(self)._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
+$1=_st(self._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
 if(! smalltalk.assert($1)){
 return false;
 };
@@ -1300,14 +1300,14 @@ var inlinedAssignment;
 function $IRInlinedAssignment(){return smalltalk.IRInlinedAssignment||(typeof IRInlinedAssignment=="undefined"?nil:IRInlinedAssignment)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._assignment_(anIRAssignment);
+self._assignment_(anIRAssignment);
 inlinedAssignment=_st($IRInlinedAssignment())._new();
 _st(_st(anIRAssignment)._instructions())._do_((function(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());
+self._inlineSend_(_st(_st(inlinedAssignment)._instructions())._last());
 $1=inlinedAssignment;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlineAssignment:",{anIRAssignment:anIRAssignment,inlinedAssignment:inlinedAssignment},smalltalk.IRAssignmentInliner)})},
@@ -1335,7 +1335,7 @@ 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());
+_st($2)._add_(_st(_st(self._assignment())._instructions())._first());
 _st($2)._add_(_st(_st(statements)._last())._copy());
 $3=_st($2)._yourself();
 return _st(_st(statements)._last())._replaceWith_($3);
@@ -1396,13 +1396,13 @@ var self=this;
 var return_;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-return_=_st(self)._inlinedReturn();
+return_=self._inlinedReturn();
 _st(_st(anIRReturn)._instructions())._do_((function(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());
+self._inlineSend_(_st(_st(return_)._instructions())._last());
 $1=return_;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inlineReturn:",{anIRReturn:anIRReturn,return_:return_},smalltalk.IRReturnInliner)})},
@@ -1445,10 +1445,10 @@ var self=this;
 var ir,stream;
 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);
-$2=_st(self)._irTranslator();
+_st(self._semanticAnalyzer())._visit_(aNode);
+ir=_st(self._translator())._visit_(aNode);
+_st(self._inliner())._visit_(ir);
+$2=self._irTranslator();
 _st($2)._visit_(ir);
 $3=_st($2)._contents();
 $1=$3;

+ 102 - 102
js/Compiler-Interpreter.deploy.js

@@ -20,9 +20,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._isBlockContext();
+$2=self._isBlockContext();
 if(smalltalk.assert($2)){
-$1=_st(_st(self)._outerContext())._methodContext();
+$1=_st(self._outerContext())._methodContext();
 } else {
 $1=self;
 };
@@ -39,9 +39,9 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 self["@methodContext"]=aMethodContext;
-_st(self)._pc_(_st(aMethodContext)._pc());
-_st(self)._receiver_(_st(aMethodContext)._receiver());
-_st(self)._method_(_st(aMethodContext)._method());
+self._pc_(_st(aMethodContext)._pc());
+self._receiver_(_st(aMethodContext)._receiver());
+self._method_(_st(aMethodContext)._method());
 $1=_st(aMethodContext)._outerContext();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
@@ -52,11 +52,11 @@ $2=_st(outer)._methodContext();
 if(($receiver = $2) == nil || $receiver == undefined){
 $2;
 } else {
-_st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethodContext)._outerContext()));
+self._outerContext_(_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 _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)})},
@@ -96,7 +96,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._locals())._at_ifAbsent_(aString,(function(){
+$1=_st(self._locals())._at_ifAbsent_(aString,(function(){
 return smalltalk.withContext(function($ctx2) {
 return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -111,7 +111,7 @@ selector: "localAt:put:",
 fn: function (aString,anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._locals())._at_put_(aString,anObject);
+_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);
@@ -125,7 +125,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=self["@locals"];
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._initializeLocals();
+self._initializeLocals();
 } else {
 $1;
 };
@@ -220,7 +220,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._localAt_("self");
+$1=self._localAt_("self");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})},
 messageSends: ["localAt:"]}),
@@ -232,7 +232,7 @@ selector: "receiver:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._localAt_put_("self",anObject);
+self._localAt_put_("self",anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.AIContext)})},
 messageSends: ["localAt:put:"]}),
 smalltalk.AIContext);
@@ -244,11 +244,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._method();
+$2=self._method();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 } else {
-$1=_st(_st(self)._method())._selector();
+$1=_st(self._method())._selector();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.AIContext)})},
@@ -263,7 +263,7 @@ fn: function (aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -281,7 +281,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._interpreter())._atEnd();
+$1=_st(self._interpreter())._atEnd();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTDebugger)})},
 messageSends: ["atEnd", "interpreter"]}),
@@ -297,8 +297,8 @@ function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 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);
+ast=_st(_st($Smalltalk())._current())._parse_(_st(self._method())._source());
+_st(_st($SemanticAnalyzer())._on_(_st(_st(self._context())._receiver())._class()))._visit_(ast);
 $1=ast;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"buildAST",{ast:ast},smalltalk.ASTDebugger)})},
@@ -352,13 +352,13 @@ var ast,next;
 function $ASTPCNodeVisitor(){return smalltalk.ASTPCNodeVisitor||(typeof ASTPCNodeVisitor=="undefined"?nil:ASTPCNodeVisitor)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._buildAST();
+ast=self._buildAST();
 $1=_st($ASTPCNodeVisitor())._new();
-_st($1)._context_(_st(self)._context());
+_st($1)._context_(self._context());
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
 next=$2;
-_st(_st(self)._interpreter())._interpret_(next);
+_st(self._interpreter())._interpret_(next);
 return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{ast:ast,next:next},smalltalk.ASTDebugger)})},
 messageSends: ["buildAST", "context:", "context", "new", "visit:", "currentNode", "interpret:", "interpreter"]}),
 smalltalk.ASTDebugger);
@@ -369,8 +369,8 @@ selector: "initializeWithContext:",
 fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._context_(aContext);
-_st(self)._initializeInterpreter();
+self._context_(aContext);
+self._initializeInterpreter();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aContext:aContext},smalltalk.ASTDebugger)})},
 messageSends: ["context:", "initializeInterpreter"]}),
 smalltalk.ASTDebugger);
@@ -384,7 +384,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@interpreter"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@interpreter"]=_st(_st(self)._defaultInterpreterClass())._new();
+self["@interpreter"]=_st(self._defaultInterpreterClass())._new();
 $1=self["@interpreter"];
 } else {
 $1=$2;
@@ -412,7 +412,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._context())._method();
+$1=_st(self._context())._method();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})},
 messageSends: ["method", "context"]}),
@@ -425,7 +425,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._interpreter())._nextNode();
+$1=_st(self._interpreter())._nextNode();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTDebugger)})},
 messageSends: ["nextNode", "interpreter"]}),
@@ -437,7 +437,7 @@ selector: "proceed",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldBeImplemented();
+self._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"proceed",{},smalltalk.ASTDebugger)})},
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
@@ -448,7 +448,7 @@ selector: "restart",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldBeImplemented();
+self._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"restart",{},smalltalk.ASTDebugger)})},
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
@@ -461,17 +461,17 @@ 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 _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 _st(_st(self._interpreter())._nextNode())._stopOnStepping();
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})})))._or_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(_st(_st(self)._interpreter())._atEnd())._not();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return _st(_st(self._interpreter())._atEnd())._not();
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(_st(self)._interpreter())._step();
-return _st(self)._step();
+_st(self._interpreter())._step();
+return self._step();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})},
 messageSends: ["whileFalse:", "step", "interpreter", "or:", "not", "atEnd", "and:", "stopOnStepping", "nextNode", "notNil"]}),
@@ -483,7 +483,7 @@ selector: "stepInto",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldBeImplemented();
+self._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{},smalltalk.ASTDebugger)})},
 messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
@@ -494,7 +494,7 @@ selector: "stepOver",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._step();
+self._step();
 return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{},smalltalk.ASTDebugger)})},
 messageSends: ["step"]}),
 smalltalk.ASTDebugger);
@@ -507,7 +507,7 @@ fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeWithContext_(aContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -527,9 +527,9 @@ 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);
+$1=_st(_st(self._context())._receiver())._instVarAt_put_(_st(aNode)._value(),anObject);
 } else {
-$1=_st(_st(self)._context())._localAt_put_(_st(aNode)._value(),anObject);
+$1=_st(self._context())._localAt_put_(_st(aNode)._value(),anObject);
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assign:to:",{aNode:aNode,anObject:anObject},smalltalk.ASTInterpreter)})},
@@ -605,13 +605,13 @@ var $1,$2,$3;
 source=_st($String())._streamContents_((function(str){
 return smalltalk.withContext(function($ctx2) {
 _st(str)._nextPutAll_("(function(");
-_st(_st(_st(_st(self)._context())._locals())._keys())._do_separatedBy_((function(each){
+_st(_st(_st(self._context())._locals())._keys())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(str)._nextPutAll_(each);
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(str)._nextPutAll_(",");
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 $1=str;
 _st($1)._nextPutAll_("){ return (function() {");
 _st($1)._nextPutAll_(aString);
@@ -619,7 +619,7 @@ $2=_st($1)._nextPutAll_("})() })");
 return $2;
 }, function($ctx2) {$ctx2.fillBlock({str:str},$ctx1)})}));
 function_=_st(_st($Compiler())._new())._eval_(source);
-$3=_st(function_)._valueWithPossibleArguments_(_st(_st(_st(self)._context())._locals())._values());
+$3=_st(function_)._valueWithPossibleArguments_(_st(_st(self._context())._locals())._values());
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString,source:source,function_:function_},smalltalk.ASTInterpreter)})},
 messageSends: ["streamContents:", "nextPutAll:", "do:separatedBy:", "keys", "locals", "context", "eval:", "new", "valueWithPossibleArguments:", "values"]}),
@@ -644,7 +644,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@shouldReturn"]=false;
-_st(self)._interpret_continue_(aNode,(function(value){
+self._interpret_continue_(aNode,(function(value){
 return smalltalk.withContext(function($ctx2) {
 self["@result"]=value;
 return self["@result"];
@@ -669,12 +669,12 @@ $3=_st(aNode)._isNode();
 if(smalltalk.assert($3)){
 self["@currentNode"]=aNode;
 self["@currentNode"];
-_st(self)._interpretNode_continue_(aNode,(function(value){
+self._interpretNode_continue_(aNode,(function(value){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._continue_value_(aBlock,value);
+return self._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 } else {
-_st(self)._continue_value_(aBlock,aNode);
+self._continue_value_(aBlock,aNode);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["ifTrue:", "ifTrue:ifFalse:", "interpretNode:continue:", "continue:value:", "isNode"]}),
@@ -687,7 +687,7 @@ 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());
+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);
@@ -701,11 +701,11 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st(nodes)._isEmpty();
 if(smalltalk.assert($1)){
-_st(self)._continue_value_(aBlock,aCollection);
+self._continue_value_(aBlock,aCollection);
 } else {
-_st(self)._interpret_continue_(_st(nodes)._first(),(function(value){
+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 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)})},
@@ -718,9 +718,9 @@ selector: "interpretAssignmentNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){
+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 self._continue_value_(aBlock,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"]}),
@@ -733,15 +733,15 @@ fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._continue_value_(aBlock,(function(){
+self._continue_value_(aBlock,(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._withBlockContext_((function(){
+return self._withBlockContext_((function(){
 return smalltalk.withContext(function($ctx3) {
 $1=self;
 _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 $2=_st($1)._result();
 return $2;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["continue:value:", "withBlockContext:", "interpret:", "first", "nodes", "result"]}),
@@ -753,7 +753,7 @@ selector: "interpretBlockSequenceNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpretSequenceNode_continue_(aNode,aBlock);
+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);
@@ -764,19 +764,19 @@ selector: "interpretCascadeNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
+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(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
+return 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 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)})}));
+return self._continue_value_(aBlock,val);
+}, function($ctx4) {$ctx4.fillBlock({val:val},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretCascadeNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpret:continue:", "receiver", "do:", "receiver:", "nodes", "interpretAll:continue:", "allButLast", "last", "continue:value:"]}),
@@ -789,7 +789,7 @@ 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()));
+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);
@@ -800,9 +800,9 @@ selector: "interpretDynamicArrayNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+self._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._continue_value_(aBlock,array);
+return 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:"]}),
@@ -815,7 +815,7 @@ 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){
+self._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 var hashedCollection;
 return smalltalk.withContext(function($ctx2) {
 hashedCollection=_st($HashedCollection())._new();
@@ -823,8 +823,8 @@ hashedCollection;
 _st(array)._do_((function(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($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
+return self._continue_value_(aBlock,hashedCollection);
 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicDictionaryNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpretAll:continue:", "nodes", "new", "do:", "add:", "continue:value:"]}),
@@ -837,7 +837,7 @@ fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@shouldReturn"]=true;
-_st(self)._continue_value_(aBlock,_st(self)._eval_(_st(aNode)._source()));
+self._continue_value_(aBlock,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"]}),
 smalltalk.ASTInterpreter);
@@ -848,9 +848,9 @@ selector: "interpretMethodNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+self._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._continue_value_(aBlock,_st(array)._first());
+return 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"]}),
@@ -873,11 +873,11 @@ 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){
+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);
+return self._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretReturnNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpret:continue:", "first", "nodes", "continue:value:"]}),
@@ -889,16 +889,16 @@ selector: "interpretSendNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
+self._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._interpretAll_continue_(_st(aNode)._arguments(),(function(args){
+return self._interpretAll_continue_(_st(aNode)._arguments(),(function(args){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._messageFromSendNode_arguments_do_(aNode,args,(function(message){
+return 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(self)._sendMessage_to_superSend_(message,receiver,_st(aNode)._superSend()));
-}, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
-}, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
+_st(self._context())._pc_(_st(_st(self._context())._pc()).__plus((1)));
+return self._continue_value_(aBlock,self._sendMessage_to_superSend_(message,receiver,_st(aNode)._superSend()));
+}, function($ctx4) {$ctx4.fillBlock({message:message},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({args:args},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretSendNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["interpret:continue:", "receiver", "interpretAll:continue:", "arguments", "messageFromSendNode:arguments:do:", "pc:", "+", "pc", "context", "continue:value:", "sendMessage:to:superSend:", "superSend"]}),
@@ -910,9 +910,9 @@ selector: "interpretSequenceNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+self._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._continue_value_(aBlock,_st(array)._last());
+return 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"]}),
@@ -924,7 +924,7 @@ selector: "interpretValueNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._continue_value_(aBlock,_st(aNode)._value());
+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);
@@ -940,9 +940,9 @@ $1=self;
 $2=aBlock;
 $4=_st(_st(aNode)._binding())._isInstanceVar();
 if(smalltalk.assert($4)){
-$3=_st(_st(_st(self)._context())._receiver())._instVarAt_(_st(aNode)._value());
+$3=_st(_st(self._context())._receiver())._instVarAt_(_st(aNode)._value());
 } else {
-$3=_st(_st(self)._context())._localAt_(_st(aNode)._value());
+$3=_st(self._context())._localAt_(_st(aNode)._value());
 };
 _st($1)._continue_value_($2,$3);
 return self}, function($ctx1) {$ctx1.fill(self,"interpretVariableNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
@@ -961,7 +961,7 @@ $1=_st($Message())._new();
 _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._arguments_(aCollection);
 $2=_st($1)._yourself();
-_st(self)._continue_value_(aBlock,$2);
+self._continue_value_(aBlock,$2);
 return self}, function($ctx1) {$ctx1.fill(self,"messageFromSendNode:arguments:do:",{aSendNode:aSendNode,aCollection:aCollection,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 messageSends: ["continue:value:", "selector:", "selector", "new", "arguments:", "yourself"]}),
 smalltalk.ASTInterpreter);
@@ -996,14 +996,14 @@ return $2;
 };
 $3=_st(_st(anObject)._class())._superclass();
 if(($receiver = $3) == nil || $receiver == undefined){
-$4=_st(self)._messageNotUnderstood_receiver_(aMessage,anObject);
+$4=self._messageNotUnderstood_receiver_(aMessage,anObject);
 return $4;
 } else {
 $3;
 };
 method=_st(_st(_st(_st(anObject)._class())._superclass())._methodDictionary())._at_ifAbsent_(_st(aMessage)._selector(),(function(){
 return smalltalk.withContext(function($ctx2) {
-$5=_st(self)._messageNotUnderstood_receiver_(aMessage,anObject);
+$5=self._messageNotUnderstood_receiver_(aMessage,anObject);
 throw $early=[$5];
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $6=_st(_st(method)._fn())._applyTo_arguments_(anObject,_st(aMessage)._arguments());
@@ -1042,11 +1042,11 @@ function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
 $1=_st($AIContext())._new();
-_st($1)._outerContext_(_st(self)._context());
+_st($1)._outerContext_(self._context());
 $2=_st($1)._yourself();
-_st(self)._context_($2);
+self._context_($2);
 blockResult=_st(aBlock)._value();
-_st(self)._context_(_st(_st(self)._context())._outerContext());
+self._context_(_st(self._context())._outerContext());
 $3=blockResult;
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"withBlockContext:",{aBlock:aBlock,blockResult:blockResult},smalltalk.ASTInterpreter)})},
@@ -1063,9 +1063,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._shouldReturn())._or_((function(){
+$1=_st(self._shouldReturn())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode());
+return _st(self._nextNode()).__eq_eq(self._currentNode());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})},
@@ -1179,7 +1179,7 @@ $1=(0);
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.ASTPCNodeGetter)})},
+}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.ASTPCNodeVisitor)})},
 messageSends: ["ifNil:"]}),
 smalltalk.ASTPCNodeVisitor);
 
@@ -1190,7 +1190,7 @@ fn: function (anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@pc"]=anInteger;
-return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.ASTPCNodeGetter)})},
+return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.ASTPCNodeVisitor)})},
 messageSends: []}),
 smalltalk.ASTPCNodeVisitor);
 
@@ -1208,7 +1208,7 @@ $1=true;
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"useInlinings",{},smalltalk.ASTPCNodeGetter)})},
+}, function($ctx1) {$ctx1.fill(self,"useInlinings",{},smalltalk.ASTPCNodeVisitor)})},
 messageSends: ["ifNil:"]}),
 smalltalk.ASTPCNodeVisitor);
 
@@ -1219,7 +1219,7 @@ fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@useInlinings"]=aBoolean;
-return self}, function($ctx1) {$ctx1.fill(self,"useInlinings:",{aBoolean:aBoolean},smalltalk.ASTPCNodeGetter)})},
+return self}, function($ctx1) {$ctx1.fill(self,"useInlinings:",{aBoolean:aBoolean},smalltalk.ASTPCNodeVisitor)})},
 messageSends: []}),
 smalltalk.ASTPCNodeVisitor);
 
@@ -1242,11 +1242,11 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 smalltalk.NodeVisitor.fn.prototype._visitSendNode_.apply(_st(self), [aNode]);
-$1=_st(_st(self)._pc()).__eq(_st(_st(self)._context())._pc());
+$1=_st(self._pc()).__eq(_st(self._context())._pc());
 if(! smalltalk.assert($1)){
 $2=_st(aNode)._shouldBeInlined();
 if(! smalltalk.assert($2)){
-_st(self)._pc_(_st(_st(self)._pc()).__plus((1)));
+self._pc_(_st(self._pc()).__plus((1)));
 self["@currentNode"]=aNode;
 self["@currentNode"];
 };

+ 102 - 102
js/Compiler-Interpreter.js

@@ -27,9 +27,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._isBlockContext();
+$2=self._isBlockContext();
 if(smalltalk.assert($2)){
-$1=_st(_st(self)._outerContext())._methodContext();
+$1=_st(self._outerContext())._methodContext();
 } else {
 $1=self;
 };
@@ -51,9 +51,9 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 self["@methodContext"]=aMethodContext;
-_st(self)._pc_(_st(aMethodContext)._pc());
-_st(self)._receiver_(_st(aMethodContext)._receiver());
-_st(self)._method_(_st(aMethodContext)._method());
+self._pc_(_st(aMethodContext)._pc());
+self._receiver_(_st(aMethodContext)._receiver());
+self._method_(_st(aMethodContext)._method());
 $1=_st(aMethodContext)._outerContext();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
@@ -64,11 +64,11 @@ $2=_st(outer)._methodContext();
 if(($receiver = $2) == nil || $receiver == undefined){
 $2;
 } else {
-_st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethodContext)._outerContext()));
+self._outerContext_(_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 _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)})},
@@ -123,7 +123,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._locals())._at_ifAbsent_(aString,(function(){
+$1=_st(self._locals())._at_ifAbsent_(aString,(function(){
 return smalltalk.withContext(function($ctx2) {
 return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -143,7 +143,7 @@ category: 'accessing',
 fn: function (aString,anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._locals())._at_put_(aString,anObject);
+_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",
@@ -162,7 +162,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=self["@locals"];
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._initializeLocals();
+self._initializeLocals();
 } else {
 $1;
 };
@@ -292,7 +292,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._localAt_("self");
+$1=self._localAt_("self");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})},
 args: [],
@@ -309,7 +309,7 @@ category: 'accessing',
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._localAt_put_("self",anObject);
+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",
@@ -326,11 +326,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._method();
+$2=self._method();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 } else {
-$1=_st(_st(self)._method())._selector();
+$1=_st(self._method())._selector();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.AIContext)})},
@@ -350,7 +350,7 @@ fn: function (aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -374,7 +374,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._interpreter())._atEnd();
+$1=_st(self._interpreter())._atEnd();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTDebugger)})},
 args: [],
@@ -395,8 +395,8 @@ function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"
 function $SemanticAnalyzer(){return smalltalk.SemanticAnalyzer||(typeof SemanticAnalyzer=="undefined"?nil:SemanticAnalyzer)}
 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);
+ast=_st(_st($Smalltalk())._current())._parse_(_st(self._method())._source());
+_st(_st($SemanticAnalyzer())._on_(_st(_st(self._context())._receiver())._class()))._visit_(ast);
 $1=ast;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"buildAST",{ast:ast},smalltalk.ASTDebugger)})},
@@ -470,13 +470,13 @@ var ast,next;
 function $ASTPCNodeVisitor(){return smalltalk.ASTPCNodeVisitor||(typeof ASTPCNodeVisitor=="undefined"?nil:ASTPCNodeVisitor)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._buildAST();
+ast=self._buildAST();
 $1=_st($ASTPCNodeVisitor())._new();
-_st($1)._context_(_st(self)._context());
+_st($1)._context_(self._context());
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
 next=$2;
-_st(_st(self)._interpreter())._interpret_(next);
+_st(self._interpreter())._interpret_(next);
 return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{ast:ast,next:next},smalltalk.ASTDebugger)})},
 args: [],
 source: "initializeInterpreter\x0a\x09| ast next |\x0a\x09ast := self buildAST.\x0a\x09next := ASTPCNodeVisitor new\x0a\x09\x09context: self context;\x0a\x09\x09visit: ast;\x0a\x09\x09currentNode.\x0a\x09self interpreter interpret: next",
@@ -492,8 +492,8 @@ category: 'initialization',
 fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._context_(aContext);
-_st(self)._initializeInterpreter();
+self._context_(aContext);
+self._initializeInterpreter();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aContext:aContext},smalltalk.ASTDebugger)})},
 args: ["aContext"],
 source: "initializeWithContext: aContext\x0a\x09\x22TODO: do we need to handle block contexts?\x22\x0a\x09\x0a\x09self context: aContext.\x0a\x09self initializeInterpreter",
@@ -512,7 +512,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@interpreter"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@interpreter"]=_st(_st(self)._defaultInterpreterClass())._new();
+self["@interpreter"]=_st(self._defaultInterpreterClass())._new();
 $1=self["@interpreter"];
 } else {
 $1=$2;
@@ -550,7 +550,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._context())._method();
+$1=_st(self._context())._method();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})},
 args: [],
@@ -568,7 +568,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._interpreter())._nextNode();
+$1=_st(self._interpreter())._nextNode();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTDebugger)})},
 args: [],
@@ -585,7 +585,7 @@ category: 'stepping',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldBeImplemented();
+self._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"proceed",{},smalltalk.ASTDebugger)})},
 args: [],
 source: "proceed\x0a\x09self shouldBeImplemented",
@@ -601,7 +601,7 @@ category: 'stepping',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldBeImplemented();
+self._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"restart",{},smalltalk.ASTDebugger)})},
 args: [],
 source: "restart\x0a\x09self shouldBeImplemented",
@@ -619,17 +619,17 @@ 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 _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 _st(_st(self._interpreter())._nextNode())._stopOnStepping();
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})})))._or_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(_st(_st(self)._interpreter())._atEnd())._not();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return _st(_st(self._interpreter())._atEnd())._not();
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(_st(self)._interpreter())._step();
-return _st(self)._step();
+_st(self._interpreter())._step();
+return self._step();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})},
 args: [],
@@ -646,7 +646,7 @@ category: 'stepping',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldBeImplemented();
+self._shouldBeImplemented();
 return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{},smalltalk.ASTDebugger)})},
 args: [],
 source: "stepInto\x0a\x09self shouldBeImplemented",
@@ -662,7 +662,7 @@ category: 'stepping',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._step();
+self._step();
 return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{},smalltalk.ASTDebugger)})},
 args: [],
 source: "stepOver\x0a\x09self step",
@@ -680,7 +680,7 @@ fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeWithContext_(aContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -706,9 +706,9 @@ 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);
+$1=_st(_st(self._context())._receiver())._instVarAt_put_(_st(aNode)._value(),anObject);
 } else {
-$1=_st(_st(self)._context())._localAt_put_(_st(aNode)._value(),anObject);
+$1=_st(self._context())._localAt_put_(_st(aNode)._value(),anObject);
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assign:to:",{aNode:aNode,anObject:anObject},smalltalk.ASTInterpreter)})},
@@ -809,13 +809,13 @@ var $1,$2,$3;
 source=_st($String())._streamContents_((function(str){
 return smalltalk.withContext(function($ctx2) {
 _st(str)._nextPutAll_("(function(");
-_st(_st(_st(_st(self)._context())._locals())._keys())._do_separatedBy_((function(each){
+_st(_st(_st(self._context())._locals())._keys())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(str)._nextPutAll_(each);
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(str)._nextPutAll_(",");
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 $1=str;
 _st($1)._nextPutAll_("){ return (function() {");
 _st($1)._nextPutAll_(aString);
@@ -823,7 +823,7 @@ $2=_st($1)._nextPutAll_("})() })");
 return $2;
 }, function($ctx2) {$ctx2.fillBlock({str:str},$ctx1)})}));
 function_=_st(_st($Compiler())._new())._eval_(source);
-$3=_st(function_)._valueWithPossibleArguments_(_st(_st(_st(self)._context())._locals())._values());
+$3=_st(function_)._valueWithPossibleArguments_(_st(_st(self._context())._locals())._values());
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString,source:source,function_:function_},smalltalk.ASTInterpreter)})},
 args: ["aString"],
@@ -858,7 +858,7 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@shouldReturn"]=false;
-_st(self)._interpret_continue_(aNode,(function(value){
+self._interpret_continue_(aNode,(function(value){
 return smalltalk.withContext(function($ctx2) {
 self["@result"]=value;
 return self["@result"];
@@ -888,12 +888,12 @@ $3=_st(aNode)._isNode();
 if(smalltalk.assert($3)){
 self["@currentNode"]=aNode;
 self["@currentNode"];
-_st(self)._interpretNode_continue_(aNode,(function(value){
+self._interpretNode_continue_(aNode,(function(value){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._continue_value_(aBlock,value);
+return self._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 } else {
-_st(self)._continue_value_(aBlock,aNode);
+self._continue_value_(aBlock,aNode);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -911,7 +911,7 @@ 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());
+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",
@@ -930,11 +930,11 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st(nodes)._isEmpty();
 if(smalltalk.assert($1)){
-_st(self)._continue_value_(aBlock,aCollection);
+self._continue_value_(aBlock,aCollection);
 } else {
-_st(self)._interpret_continue_(_st(nodes)._first(),(function(value){
+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 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)})},
@@ -952,9 +952,9 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){
+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 self._continue_value_(aBlock,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"],
@@ -972,15 +972,15 @@ fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._continue_value_(aBlock,(function(){
+self._continue_value_(aBlock,(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._withBlockContext_((function(){
+return self._withBlockContext_((function(){
 return smalltalk.withContext(function($ctx3) {
 $1=self;
 _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 $2=_st($1)._result();
 return $2;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -997,7 +997,7 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpretSequenceNode_continue_(aNode,aBlock);
+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",
@@ -1013,19 +1013,19 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
+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(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
+return 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 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)})}));
+return self._continue_value_(aBlock,val);
+}, function($ctx4) {$ctx4.fillBlock({val:val},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretCascadeNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -1043,7 +1043,7 @@ 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()));
+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)",
@@ -1059,9 +1059,9 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+self._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._continue_value_(aBlock,array);
+return 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"],
@@ -1079,7 +1079,7 @@ 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){
+self._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 var hashedCollection;
 return smalltalk.withContext(function($ctx2) {
 hashedCollection=_st($HashedCollection())._new();
@@ -1087,8 +1087,8 @@ hashedCollection;
 _st(array)._do_((function(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($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
+return self._continue_value_(aBlock,hashedCollection);
 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicDictionaryNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -1106,7 +1106,7 @@ fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@shouldReturn"]=true;
-_st(self)._continue_value_(aBlock,_st(self)._eval_(_st(aNode)._source()));
+self._continue_value_(aBlock,self._eval_(_st(aNode)._source()));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
 source: "interpretJSStatementNode: aNode continue: aBlock\x0a\x09shouldReturn := true.\x0a\x09self continue: aBlock value: (self eval: aNode source)",
@@ -1122,9 +1122,9 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+self._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._continue_value_(aBlock,_st(array)._first());
+return 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"],
@@ -1157,11 +1157,11 @@ 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){
+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);
+return self._continue_value_(aBlock,value);
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretReturnNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -1178,16 +1178,16 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
+self._interpret_continue_(_st(aNode)._receiver(),(function(receiver){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._interpretAll_continue_(_st(aNode)._arguments(),(function(args){
+return self._interpretAll_continue_(_st(aNode)._arguments(),(function(args){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._messageFromSendNode_arguments_do_(aNode,args,(function(message){
+return 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(self)._sendMessage_to_superSend_(message,receiver,_st(aNode)._superSend()));
-}, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
-}, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
+_st(self._context())._pc_(_st(_st(self._context())._pc()).__plus((1)));
+return self._continue_value_(aBlock,self._sendMessage_to_superSend_(message,receiver,_st(aNode)._superSend()));
+}, function($ctx4) {$ctx4.fillBlock({message:message},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({args:args},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"interpretSendNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aNode", "aBlock"],
@@ -1204,9 +1204,9 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
+self._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._continue_value_(aBlock,_st(array)._last());
+return 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"],
@@ -1223,7 +1223,7 @@ category: 'interpreting',
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._continue_value_(aBlock,_st(aNode)._value());
+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",
@@ -1244,9 +1244,9 @@ $1=self;
 $2=aBlock;
 $4=_st(_st(aNode)._binding())._isInstanceVar();
 if(smalltalk.assert($4)){
-$3=_st(_st(_st(self)._context())._receiver())._instVarAt_(_st(aNode)._value());
+$3=_st(_st(self._context())._receiver())._instVarAt_(_st(aNode)._value());
 } else {
-$3=_st(_st(self)._context())._localAt_(_st(aNode)._value());
+$3=_st(self._context())._localAt_(_st(aNode)._value());
 };
 _st($1)._continue_value_($2,$3);
 return self}, function($ctx1) {$ctx1.fill(self,"interpretVariableNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})},
@@ -1270,7 +1270,7 @@ $1=_st($Message())._new();
 _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._arguments_(aCollection);
 $2=_st($1)._yourself();
-_st(self)._continue_value_(aBlock,$2);
+self._continue_value_(aBlock,$2);
 return self}, function($ctx1) {$ctx1.fill(self,"messageFromSendNode:arguments:do:",{aSendNode:aSendNode,aCollection:aCollection,aBlock:aBlock},smalltalk.ASTInterpreter)})},
 args: ["aSendNode", "aCollection", "aBlock"],
 source: "messageFromSendNode: aSendNode arguments: aCollection do: aBlock\x0a\x09self\x0a\x09\x09continue: aBlock\x0a\x09\x09value: (Message new\x0a\x09\x09\x09selector: aSendNode selector;\x0a\x09\x09\x09arguments: aCollection;\x0a\x09\x09\x09yourself)",
@@ -1315,14 +1315,14 @@ return $2;
 };
 $3=_st(_st(anObject)._class())._superclass();
 if(($receiver = $3) == nil || $receiver == undefined){
-$4=_st(self)._messageNotUnderstood_receiver_(aMessage,anObject);
+$4=self._messageNotUnderstood_receiver_(aMessage,anObject);
 return $4;
 } else {
 $3;
 };
 method=_st(_st(_st(_st(anObject)._class())._superclass())._methodDictionary())._at_ifAbsent_(_st(aMessage)._selector(),(function(){
 return smalltalk.withContext(function($ctx2) {
-$5=_st(self)._messageNotUnderstood_receiver_(aMessage,anObject);
+$5=self._messageNotUnderstood_receiver_(aMessage,anObject);
 throw $early=[$5];
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $6=_st(_st(method)._fn())._applyTo_arguments_(anObject,_st(aMessage)._arguments());
@@ -1371,11 +1371,11 @@ function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
 $1=_st($AIContext())._new();
-_st($1)._outerContext_(_st(self)._context());
+_st($1)._outerContext_(self._context());
 $2=_st($1)._yourself();
-_st(self)._context_($2);
+self._context_($2);
 blockResult=_st(aBlock)._value();
-_st(self)._context_(_st(_st(self)._context())._outerContext());
+self._context_(_st(self._context())._outerContext());
 $3=blockResult;
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"withBlockContext:",{aBlock:aBlock,blockResult:blockResult},smalltalk.ASTInterpreter)})},
@@ -1398,9 +1398,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._shouldReturn())._or_((function(){
+$1=_st(self._shouldReturn())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode());
+return _st(self._nextNode()).__eq_eq(self._currentNode());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})},
@@ -1555,7 +1555,7 @@ $1=(0);
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.ASTPCNodeGetter)})},
+}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.ASTPCNodeVisitor)})},
 args: [],
 source: "pc\x0a\x09^ pc ifNil: [ 0 ]",
 messageSends: ["ifNil:"],
@@ -1571,7 +1571,7 @@ fn: function (anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@pc"]=anInteger;
-return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.ASTPCNodeGetter)})},
+return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.ASTPCNodeVisitor)})},
 args: ["anInteger"],
 source: "pc: anInteger\x0a\x09pc := anInteger",
 messageSends: [],
@@ -1594,7 +1594,7 @@ $1=true;
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"useInlinings",{},smalltalk.ASTPCNodeGetter)})},
+}, function($ctx1) {$ctx1.fill(self,"useInlinings",{},smalltalk.ASTPCNodeVisitor)})},
 args: [],
 source: "useInlinings\x0a\x09^ useInlinings ifNil: [ true ]",
 messageSends: ["ifNil:"],
@@ -1610,7 +1610,7 @@ fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@useInlinings"]=aBoolean;
-return self}, function($ctx1) {$ctx1.fill(self,"useInlinings:",{aBoolean:aBoolean},smalltalk.ASTPCNodeGetter)})},
+return self}, function($ctx1) {$ctx1.fill(self,"useInlinings:",{aBoolean:aBoolean},smalltalk.ASTPCNodeVisitor)})},
 args: ["aBoolean"],
 source: "useInlinings: aBoolean\x0a\x09useInlinings := aBoolean",
 messageSends: [],
@@ -1643,11 +1643,11 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 smalltalk.NodeVisitor.fn.prototype._visitSendNode_.apply(_st(self), [aNode]);
-$1=_st(_st(self)._pc()).__eq(_st(_st(self)._context())._pc());
+$1=_st(self._pc()).__eq(_st(self._context())._pc());
 if(! smalltalk.assert($1)){
 $2=_st(aNode)._shouldBeInlined();
 if(! smalltalk.assert($2)){
-_st(self)._pc_(_st(_st(self)._pc()).__plus((1)));
+self._pc_(_st(self._pc()).__plus((1)));
 self["@currentNode"]=aNode;
 self["@currentNode"];
 };

+ 72 - 73
js/Compiler-Semantic.deploy.js

@@ -7,8 +7,8 @@ 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));
-_st(_st(_st(self)._args())._at_(aString))._scope_(self);
+_st(self._args())._at_put_(aString,_st($ArgVar())._on_(aString));
+_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:"]}),
 smalltalk.LexicalScope);
@@ -20,8 +20,8 @@ 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));
-_st(_st(_st(self)._temps())._at_(aString))._scope_(self);
+_st(self._temps())._at_put_(aString,_st($TempVar())._on_(aString));
+_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:"]}),
 smalltalk.LexicalScope);
@@ -33,7 +33,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st("$ctx").__comma(_st(_st(self)._scopeLevel())._asString());
+$1="$ctx".__comma(_st(self._scopeLevel())._asString());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.LexicalScope)})},
 messageSends: [",", "asString", "scopeLevel"]}),
@@ -46,7 +46,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._args())._keys()).__comma(_st(_st(self)._temps())._keys());
+$1=_st(_st(self._args())._keys()).__comma(_st(self._temps())._keys());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.LexicalScope)})},
 messageSends: [",", "keys", "temps", "args"]}),
@@ -79,15 +79,15 @@ fn: function (aStringOrNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._pseudoVars())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
+$1=_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 _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 _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($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"bindingFor:",{aStringOrNode:aStringOrNode},smalltalk.LexicalScope)})},
@@ -101,9 +101,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isInlined())._and_((function(){
+$1=_st(self._isInlined())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._outerScope())._canInlineNonLocalReturns();
+return _st(self._outerScope())._canInlineNonLocalReturns();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.LexicalScope)})},
@@ -141,7 +141,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isMethodScope())._not();
+$1=_st(self._isMethodScope())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockScope",{},smalltalk.LexicalScope)})},
 messageSends: ["not", "isMethodScope"]}),
@@ -154,9 +154,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._instruction())._notNil())._and_((function(){
+$1=_st(_st(self._instruction())._notNil())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._instruction())._isInlined();
+return _st(self._instruction())._isInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.LexicalScope)})},
@@ -182,14 +182,14 @@ var self=this;
 var lookup;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-lookup=_st(self)._bindingFor_(aNode);
+lookup=self._bindingFor_(aNode);
 $1=lookup;
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._outerScope();
+$2=self._outerScope();
 if(($receiver = $2) == nil || $receiver == undefined){
 lookup=$2;
 } else {
-lookup=_st(_st(self)._outerScope())._lookupVariable_(aNode);
+lookup=_st(self._outerScope())._lookupVariable_(aNode);
 };
 lookup;
 } else {
@@ -208,11 +208,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._outerScope();
+$2=self._outerScope();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 } else {
-$1=_st(_st(self)._outerScope())._methodScope();
+$1=_st(self._outerScope())._methodScope();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodScope",{},smalltalk.LexicalScope)})},
@@ -274,7 +274,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodScope())._pseudoVars();
+$1=_st(self._methodScope())._pseudoVars();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pseudoVars",{},smalltalk.LexicalScope)})},
 messageSends: ["pseudoVars", "methodScope"]}),
@@ -286,21 +286,20 @@ selector: "scopeLevel",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1,$2,$3,$4,$5;
-$1=_st(self)._outerScope();
+var $1,$2,$3,$4;
+$1=self._outerScope();
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=(1);
-return $2;
+return (1);
 } else {
 $1;
 };
-$3=_st(self)._isInlined();
-if(smalltalk.assert($3)){
-$4=_st(_st(self)._outerScope())._scopeLevel();
-return $4;
+$2=self._isInlined();
+if(smalltalk.assert($2)){
+$3=_st(self._outerScope())._scopeLevel();
+return $3;
 };
-$5=_st(_st(_st(self)._outerScope())._scopeLevel()).__plus((1));
-return $5;
+$4=_st(_st(self._outerScope())._scopeLevel()).__plus((1));
+return $4;
 }, function($ctx1) {$ctx1.fill(self,"scopeLevel",{},smalltalk.LexicalScope)})},
 messageSends: ["ifNil:", "outerScope", "ifTrue:", "scopeLevel", "isInlined", "+"]}),
 smalltalk.LexicalScope);
@@ -335,8 +334,8 @@ 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));
-_st(_st(_st(self)._iVars())._at_(aString))._scope_(self);
+_st(self._iVars())._at_put_(aString,_st($InstanceVar())._on_(aString));
+_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:"]}),
 smalltalk.MethodLexicalScope);
@@ -347,7 +346,7 @@ selector: "addNonLocalReturn:",
 fn: function (aScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._nonLocalReturns())._add_(aScope);
+_st(self._nonLocalReturns())._add_(aScope);
 return self}, function($ctx1) {$ctx1.fill(self,"addNonLocalReturn:",{aScope:aScope},smalltalk.MethodLexicalScope)})},
 messageSends: ["add:", "nonLocalReturns"]}),
 smalltalk.MethodLexicalScope);
@@ -359,7 +358,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(smalltalk.LexicalScope.fn.prototype._allVariableNames.apply(_st(self), [])).__comma(_st(_st(self)._iVars())._keys());
+$1=_st(smalltalk.LexicalScope.fn.prototype._allVariableNames.apply(_st(self), [])).__comma(_st(self._iVars())._keys());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.MethodLexicalScope)})},
 messageSends: [",", "keys", "iVars", "allVariableNames"]}),
@@ -374,7 +373,7 @@ 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(){
+$1=_st(self._iVars())._at_ifAbsent_(_st(aNode)._value(),(function(){
 return smalltalk.withContext(function($ctx2) {
 return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -404,7 +403,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._localReturn();
+$1=self._localReturn();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{},smalltalk.MethodLexicalScope)})},
 messageSends: ["localReturn"]}),
@@ -417,7 +416,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._nonLocalReturns())._notEmpty();
+$1=_st(self._nonLocalReturns())._notEmpty();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{},smalltalk.MethodLexicalScope)})},
 messageSends: ["notEmpty", "nonLocalReturns"]}),
@@ -533,7 +532,7 @@ self["@pseudoVars"];
 _st(_st(_st($Smalltalk())._current())._pseudoVariableNames())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 $2=_st($PseudoVar())._on_(each);
-_st($2)._scope_(_st(self)._methodScope());
+_st($2)._scope_(self._methodScope());
 $3=_st($2)._yourself();
 return _st(self["@pseudoVars"])._at_put_(each,$3);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -552,7 +551,7 @@ selector: "removeNonLocalReturn:",
 fn: function (aScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._nonLocalReturns())._remove_ifAbsent_(aScope,(function(){
+_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)})},
@@ -589,7 +588,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._name())._asVariableName();
+$1=_st(self._name())._asVariableName();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ScopeVar)})},
 messageSends: ["asVariableName", "name"]}),
@@ -717,13 +716,13 @@ var self=this;
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-$1=_st(_st(self)._isArgVar())._or_((function(){
+$1=_st(self._isArgVar())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._isPseudoVar();
+return self._isPseudoVar();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 $2=_st($InvalidAssignmentError())._new();
-_st($2)._variableName_(_st(self)._name());
+_st($2)._variableName_(self._name());
 $3=_st($2)._signal();
 $3;
 };
@@ -739,7 +738,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._name_(aString);
 $3=_st($2)._yourself();
 $1=$3;
@@ -798,7 +797,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("$").__comma(_st(self)._name())).__comma("()");
+$1=_st("$".__comma(self._name())).__comma("()");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ClassRefVar)})},
 messageSends: [",", "name"]}),
@@ -825,7 +824,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("self[\x22@").__comma(_st(self)._name())).__comma("\x22]");
+$1=_st("self[\x22@".__comma(self._name())).__comma("\x22]");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.InstanceVar)})},
 messageSends: [",", "name"]}),
@@ -852,7 +851,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._name();
+$1=self._name();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.PseudoVar)})},
 messageSends: ["name"]}),
@@ -945,9 +944,9 @@ function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof
 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(){
+$1=_st(_st(["jQuery", "window", "document", "process", "global"]._includes_(identifier))._not())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._isVariableGloballyUndefined_(identifier);
+return self._isVariableGloballyUndefined_(identifier);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 $2=_st($UnknownVariableError())._new();
@@ -1000,7 +999,7 @@ var self=this;
 function $LexicalScope(){return smalltalk.LexicalScope||(typeof LexicalScope=="undefined"?nil:LexicalScope)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newScopeOfClass_($LexicalScope());
+$1=self._newScopeOfClass_($LexicalScope());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newBlockScope",{},smalltalk.SemanticAnalyzer)})},
 messageSends: ["newScopeOfClass:"]}),
@@ -1014,7 +1013,7 @@ var self=this;
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newScopeOfClass_($MethodLexicalScope());
+$1=self._newScopeOfClass_($MethodLexicalScope());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newMethodScope",{},smalltalk.SemanticAnalyzer)})},
 messageSends: ["newScopeOfClass:"]}),
@@ -1121,7 +1120,7 @@ $1=_st(self["@currentScope"])._lookupVariable_(aString);
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._errorShadowingVariable_(aString);
+self._errorShadowingVariable_(aString);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"validateVariableScope:",{aString:aString},smalltalk.SemanticAnalyzer)})},
 messageSends: ["ifNotNil:", "errorShadowingVariable:", "lookupVariable:"]}),
@@ -1145,16 +1144,16 @@ selector: "visitBlockNode:",
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._pushScope_(_st(self)._newBlockScope());
+self._pushScope_(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);
+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]);
-_st(self)._popScope();
+self._popScope();
 return self}, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 messageSends: ["pushScope:", "newBlockScope", "scope:", "node:", "do:", "validateVariableScope:", "addArg:", "parameters", "visitBlockNode:", "popScope"]}),
 smalltalk.SemanticAnalyzer);
@@ -1190,7 +1189,7 @@ var self=this;
 function $ClassRefVar(){return smalltalk.ClassRefVar||(typeof ClassRefVar=="undefined"?nil:ClassRefVar)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(_st(self)._classReferences())._add_(_st(aNode)._value());
+_st(self._classReferences())._add_(_st(aNode)._value());
 $1=_st($ClassRefVar())._new();
 _st($1)._name_(_st(aNode)._value());
 $2=_st($1)._yourself();
@@ -1206,24 +1205,24 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._pushScope_(_st(self)._newMethodScope());
+self._pushScope_(self._newMethodScope());
 _st(aNode)._scope_(self["@currentScope"]);
 _st(self["@currentScope"])._node_(aNode);
-_st(_st(_st(self)._theClass())._allInstanceVariableNames())._do_((function(each){
+_st(_st(self._theClass())._allInstanceVariableNames())._do_((function(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);
+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]);
 $1=aNode;
-_st($1)._classReferences_(_st(self)._classReferences());
-_st($1)._messageSends_(_st(_st(self)._messageSends())._keys());
-$2=_st($1)._superSends_(_st(_st(self)._superSends())._keys());
-_st(self)._popScope();
+_st($1)._classReferences_(self._classReferences());
+_st($1)._messageSends_(_st(self._messageSends())._keys());
+$2=_st($1)._superSends_(_st(self._superSends())._keys());
+self._popScope();
 return self}, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 messageSends: ["pushScope:", "newMethodScope", "scope:", "node:", "do:", "addIVar:", "allInstanceVariableNames", "theClass", "validateVariableScope:", "addArg:", "arguments", "visitMethodNode:", "classReferences:", "classReferences", "messageSends:", "keys", "messageSends", "superSends:", "superSends", "popScope"]}),
 smalltalk.SemanticAnalyzer);
@@ -1260,11 +1259,11 @@ $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(){
+_st(self._superSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
 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);
+_st(_st(self._superSends())._at_(_st(aNode)._selector()))._add_(aNode);
 } else {
 $2=_st(_st($IRSendInliner())._inlinedSelectors())._includes_(_st(aNode)._selector());
 if(smalltalk.assert($2)){
@@ -1272,12 +1271,12 @@ _st(aNode)._shouldBeInlined_(true);
 _st(_st(aNode)._receiver())._shouldBeAliased_(true);
 };
 };
-_st(_st(self)._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
+_st(self._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
 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());
+_st(_st(self._messageSends())._at_(_st(aNode)._selector()))._add_(aNode);
+_st(aNode)._index_(_st(_st(self._messageSends())._at_(_st(aNode)._selector()))._size());
 smalltalk.NodeVisitor.fn.prototype._visitSendNode_.apply(_st(self), [aNode]);
 return self}, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 messageSends: ["ifTrue:ifFalse:", "superSend:", "value:", "receiver", "at:ifAbsentPut:", "selector", "new", "superSends", "add:", "at:", "ifTrue:", "shouldBeInlined:", "shouldBeAliased:", "includes:", "inlinedSelectors", "=", "value", "messageSends", "index:", "size", "visitSendNode:"]}),
@@ -1291,7 +1290,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(_st(aNode)._temps())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._validateVariableScope_(each);
+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]);
@@ -1310,7 +1309,7 @@ var $1,$3,$4,$5,$2;
 $1=aNode;
 $3=_st(self["@currentScope"])._lookupVariable_(aNode);
 if(($receiver = $3) == nil || $receiver == undefined){
-_st(self)._errorUnknownVariable_(aNode);
+self._errorUnknownVariable_(aNode);
 $4=_st($UnknownVar())._new();
 _st($4)._name_(_st(aNode)._value());
 $5=_st($4)._yourself();
@@ -1331,7 +1330,7 @@ fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._theClass_(aClass);
 $3=_st($2)._yourself();
 $1=$3;

+ 72 - 73
js/Compiler-Semantic.js

@@ -9,8 +9,8 @@ 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));
-_st(_st(_st(self)._args())._at_(aString))._scope_(self);
+_st(self._args())._at_put_(aString,_st($ArgVar())._on_(aString));
+_st(_st(self._args())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addArg:",{aString:aString},smalltalk.LexicalScope)})},
 args: ["aString"],
 source: "addArg: aString\x0a\x09self args at: aString put: (ArgVar on: aString).\x0a\x09(self args at: aString) scope: self",
@@ -27,8 +27,8 @@ 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));
-_st(_st(_st(self)._temps())._at_(aString))._scope_(self);
+_st(self._temps())._at_put_(aString,_st($TempVar())._on_(aString));
+_st(_st(self._temps())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addTemp:",{aString:aString},smalltalk.LexicalScope)})},
 args: ["aString"],
 source: "addTemp: aString\x0a\x09self temps at: aString put: (TempVar on: aString).\x0a\x09(self temps at: aString) scope: self",
@@ -45,7 +45,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st("$ctx").__comma(_st(_st(self)._scopeLevel())._asString());
+$1="$ctx".__comma(_st(self._scopeLevel())._asString());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.LexicalScope)})},
 args: [],
@@ -63,7 +63,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._args())._keys()).__comma(_st(_st(self)._temps())._keys());
+$1=_st(_st(self._args())._keys()).__comma(_st(self._temps())._keys());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.LexicalScope)})},
 args: [],
@@ -106,15 +106,15 @@ fn: function (aStringOrNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._pseudoVars())._at_ifAbsent_(_st(aStringOrNode)._value(),(function(){
+$1=_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 _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 _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($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"bindingFor:",{aStringOrNode:aStringOrNode},smalltalk.LexicalScope)})},
@@ -133,9 +133,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isInlined())._and_((function(){
+$1=_st(self._isInlined())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._outerScope())._canInlineNonLocalReturns();
+return _st(self._outerScope())._canInlineNonLocalReturns();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{},smalltalk.LexicalScope)})},
@@ -188,7 +188,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isMethodScope())._not();
+$1=_st(self._isMethodScope())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockScope",{},smalltalk.LexicalScope)})},
 args: [],
@@ -206,9 +206,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._instruction())._notNil())._and_((function(){
+$1=_st(_st(self._instruction())._notNil())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._instruction())._isInlined();
+return _st(self._instruction())._isInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isInlined",{},smalltalk.LexicalScope)})},
@@ -244,14 +244,14 @@ var self=this;
 var lookup;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-lookup=_st(self)._bindingFor_(aNode);
+lookup=self._bindingFor_(aNode);
 $1=lookup;
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._outerScope();
+$2=self._outerScope();
 if(($receiver = $2) == nil || $receiver == undefined){
 lookup=$2;
 } else {
-lookup=_st(_st(self)._outerScope())._lookupVariable_(aNode);
+lookup=_st(self._outerScope())._lookupVariable_(aNode);
 };
 lookup;
 } else {
@@ -275,11 +275,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._outerScope();
+$2=self._outerScope();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 } else {
-$1=_st(_st(self)._outerScope())._methodScope();
+$1=_st(self._outerScope())._methodScope();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodScope",{},smalltalk.LexicalScope)})},
@@ -366,7 +366,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodScope())._pseudoVars();
+$1=_st(self._methodScope())._pseudoVars();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pseudoVars",{},smalltalk.LexicalScope)})},
 args: [],
@@ -383,21 +383,20 @@ category: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1,$2,$3,$4,$5;
-$1=_st(self)._outerScope();
+var $1,$2,$3,$4;
+$1=self._outerScope();
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=(1);
-return $2;
+return (1);
 } else {
 $1;
 };
-$3=_st(self)._isInlined();
-if(smalltalk.assert($3)){
-$4=_st(_st(self)._outerScope())._scopeLevel();
-return $4;
+$2=self._isInlined();
+if(smalltalk.assert($2)){
+$3=_st(self._outerScope())._scopeLevel();
+return $3;
 };
-$5=_st(_st(_st(self)._outerScope())._scopeLevel()).__plus((1));
-return $5;
+$4=_st(_st(self._outerScope())._scopeLevel()).__plus((1));
+return $4;
 }, function($ctx1) {$ctx1.fill(self,"scopeLevel",{},smalltalk.LexicalScope)})},
 args: [],
 source: "scopeLevel\x0a\x09self outerScope ifNil: [ ^ 1 ].\x0a\x09self isInlined ifTrue: [ ^ self outerScope scopeLevel ].\x0a\x09\x0a\x09^ self outerScope scopeLevel + 1",
@@ -443,8 +442,8 @@ 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));
-_st(_st(_st(self)._iVars())._at_(aString))._scope_(self);
+_st(self._iVars())._at_put_(aString,_st($InstanceVar())._on_(aString));
+_st(_st(self._iVars())._at_(aString))._scope_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"addIVar:",{aString:aString},smalltalk.MethodLexicalScope)})},
 args: ["aString"],
 source: "addIVar: aString\x0a\x09self iVars at: aString put: (InstanceVar on: aString).\x0a\x09(self iVars at: aString) scope: self",
@@ -460,7 +459,7 @@ category: 'adding',
 fn: function (aScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._nonLocalReturns())._add_(aScope);
+_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",
@@ -477,7 +476,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(smalltalk.LexicalScope.fn.prototype._allVariableNames.apply(_st(self), [])).__comma(_st(_st(self)._iVars())._keys());
+$1=_st(smalltalk.LexicalScope.fn.prototype._allVariableNames.apply(_st(self), [])).__comma(_st(self._iVars())._keys());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{},smalltalk.MethodLexicalScope)})},
 args: [],
@@ -497,7 +496,7 @@ 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(){
+$1=_st(self._iVars())._at_ifAbsent_(_st(aNode)._value(),(function(){
 return smalltalk.withContext(function($ctx2) {
 return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -537,7 +536,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._localReturn();
+$1=self._localReturn();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{},smalltalk.MethodLexicalScope)})},
 args: [],
@@ -555,7 +554,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._nonLocalReturns())._notEmpty();
+$1=_st(self._nonLocalReturns())._notEmpty();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{},smalltalk.MethodLexicalScope)})},
 args: [],
@@ -706,7 +705,7 @@ self["@pseudoVars"];
 _st(_st(_st($Smalltalk())._current())._pseudoVariableNames())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 $2=_st($PseudoVar())._on_(each);
-_st($2)._scope_(_st(self)._methodScope());
+_st($2)._scope_(self._methodScope());
 $3=_st($2)._yourself();
 return _st(self["@pseudoVars"])._at_put_(each,$3);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -730,7 +729,7 @@ category: 'adding',
 fn: function (aScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._nonLocalReturns())._remove_ifAbsent_(aScope,(function(){
+_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)})},
@@ -778,7 +777,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._name())._asVariableName();
+$1=_st(self._name())._asVariableName();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ScopeVar)})},
 args: [],
@@ -961,13 +960,13 @@ var self=this;
 function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typeof InvalidAssignmentError=="undefined"?nil:InvalidAssignmentError)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-$1=_st(_st(self)._isArgVar())._or_((function(){
+$1=_st(self._isArgVar())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._isPseudoVar();
+return self._isPseudoVar();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 $2=_st($InvalidAssignmentError())._new();
-_st($2)._variableName_(_st(self)._name());
+_st($2)._variableName_(self._name());
 $3=_st($2)._signal();
 $3;
 };
@@ -988,7 +987,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._name_(aString);
 $3=_st($2)._yourself();
 $1=$3;
@@ -1070,7 +1069,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("$").__comma(_st(self)._name())).__comma("()");
+$1=_st("$".__comma(self._name())).__comma("()");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.ClassRefVar)})},
 args: [],
@@ -1108,7 +1107,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("self[\x22@").__comma(_st(self)._name())).__comma("\x22]");
+$1=_st("self[\x22@".__comma(self._name())).__comma("\x22]");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.InstanceVar)})},
 args: [],
@@ -1146,7 +1145,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._name();
+$1=self._name();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"alias",{},smalltalk.PseudoVar)})},
 args: [],
@@ -1272,9 +1271,9 @@ function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof
 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(){
+$1=_st(_st(["jQuery", "window", "document", "process", "global"]._includes_(identifier))._not())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._isVariableGloballyUndefined_(identifier);
+return self._isVariableGloballyUndefined_(identifier);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
 $2=_st($UnknownVariableError())._new();
@@ -1342,7 +1341,7 @@ var self=this;
 function $LexicalScope(){return smalltalk.LexicalScope||(typeof LexicalScope=="undefined"?nil:LexicalScope)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newScopeOfClass_($LexicalScope());
+$1=self._newScopeOfClass_($LexicalScope());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newBlockScope",{},smalltalk.SemanticAnalyzer)})},
 args: [],
@@ -1361,7 +1360,7 @@ var self=this;
 function $MethodLexicalScope(){return smalltalk.MethodLexicalScope||(typeof MethodLexicalScope=="undefined"?nil:MethodLexicalScope)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newScopeOfClass_($MethodLexicalScope());
+$1=self._newScopeOfClass_($MethodLexicalScope());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newMethodScope",{},smalltalk.SemanticAnalyzer)})},
 args: [],
@@ -1503,7 +1502,7 @@ $1=_st(self["@currentScope"])._lookupVariable_(aString);
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._errorShadowingVariable_(aString);
+self._errorShadowingVariable_(aString);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"validateVariableScope:",{aString:aString},smalltalk.SemanticAnalyzer)})},
 args: ["aString"],
@@ -1537,16 +1536,16 @@ category: 'visiting',
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._pushScope_(_st(self)._newBlockScope());
+self._pushScope_(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);
+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]);
-_st(self)._popScope();
+self._popScope();
 return self}, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 args: ["aNode"],
 source: "visitBlockNode: aNode\x0a\x09self pushScope: self newBlockScope.\x0a\x09aNode scope: currentScope.\x0a\x09currentScope node: aNode.\x0a\x09\x0a\x09aNode parameters do: [ :each |\x0a\x09\x09self validateVariableScope: each.\x0a\x09\x09currentScope addArg: each ].\x0a\x0a\x09super visitBlockNode: aNode.\x0a\x09self popScope",
@@ -1592,7 +1591,7 @@ var self=this;
 function $ClassRefVar(){return smalltalk.ClassRefVar||(typeof ClassRefVar=="undefined"?nil:ClassRefVar)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(_st(self)._classReferences())._add_(_st(aNode)._value());
+_st(self._classReferences())._add_(_st(aNode)._value());
 $1=_st($ClassRefVar())._new();
 _st($1)._name_(_st(aNode)._value());
 $2=_st($1)._yourself();
@@ -1613,24 +1612,24 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._pushScope_(_st(self)._newMethodScope());
+self._pushScope_(self._newMethodScope());
 _st(aNode)._scope_(self["@currentScope"]);
 _st(self["@currentScope"])._node_(aNode);
-_st(_st(_st(self)._theClass())._allInstanceVariableNames())._do_((function(each){
+_st(_st(self._theClass())._allInstanceVariableNames())._do_((function(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);
+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]);
 $1=aNode;
-_st($1)._classReferences_(_st(self)._classReferences());
-_st($1)._messageSends_(_st(_st(self)._messageSends())._keys());
-$2=_st($1)._superSends_(_st(_st(self)._superSends())._keys());
-_st(self)._popScope();
+_st($1)._classReferences_(self._classReferences());
+_st($1)._messageSends_(_st(self._messageSends())._keys());
+$2=_st($1)._superSends_(_st(self._superSends())._keys());
+self._popScope();
 return self}, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 args: ["aNode"],
 source: "visitMethodNode: aNode\x0a\x09self pushScope: self newMethodScope.\x0a\x09aNode scope: currentScope.\x0a\x09currentScope node: aNode.\x0a\x0a\x09self theClass allInstanceVariableNames do: [:each |\x0a\x09\x09currentScope addIVar: each ].\x0a\x09aNode arguments do: [ :each |\x0a\x09\x09self validateVariableScope: each.\x0a\x09\x09currentScope addArg: each ].\x0a\x0a\x09super visitMethodNode: aNode.\x0a\x0a\x09aNode\x0a\x09\x09classReferences: self classReferences;\x0a\x09\x09messageSends: self messageSends keys;\x0a\x09\x09superSends: self superSends keys.\x0a\x09self popScope",
@@ -1677,11 +1676,11 @@ $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(){
+_st(self._superSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
 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);
+_st(_st(self._superSends())._at_(_st(aNode)._selector()))._add_(aNode);
 } else {
 $2=_st(_st($IRSendInliner())._inlinedSelectors())._includes_(_st(aNode)._selector());
 if(smalltalk.assert($2)){
@@ -1689,12 +1688,12 @@ _st(aNode)._shouldBeInlined_(true);
 _st(_st(aNode)._receiver())._shouldBeAliased_(true);
 };
 };
-_st(_st(self)._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
+_st(self._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){
 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());
+_st(_st(self._messageSends())._at_(_st(aNode)._selector()))._add_(aNode);
+_st(aNode)._index_(_st(_st(self._messageSends())._at_(_st(aNode)._selector()))._size());
 smalltalk.NodeVisitor.fn.prototype._visitSendNode_.apply(_st(self), [aNode]);
 return self}, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})},
 args: ["aNode"],
@@ -1713,7 +1712,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(_st(aNode)._temps())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._validateVariableScope_(each);
+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]);
@@ -1737,7 +1736,7 @@ var $1,$3,$4,$5,$2;
 $1=aNode;
 $3=_st(self["@currentScope"])._lookupVariable_(aNode);
 if(($receiver = $3) == nil || $receiver == undefined){
-_st(self)._errorUnknownVariable_(aNode);
+self._errorUnknownVariable_(aNode);
 $4=_st($UnknownVar())._new();
 _st($4)._name_(_st(aNode)._value());
 $5=_st($4)._yourself();
@@ -1763,7 +1762,7 @@ fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._theClass_(aClass);
 $3=_st($2)._yourself();
 $1=$3;

+ 173 - 173
js/Compiler-Tests.deploy.js

@@ -36,7 +36,7 @@ fn: function (aString,aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._analyze_forClass_(_st(self)._parse_(aString),aClass);
+$1=self._analyze_forClass_(self._parse_(aString),aClass);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass},smalltalk.ASTVisitorTest)})},
 messageSends: ["analyze:forClass:", "parse:"]}),
@@ -52,7 +52,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._astPCNodeVisitorForPC_((0));
+$1=self._astPCNodeVisitorForPC_((0));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"astPCNodeVisitor",{},smalltalk.ASTPCNodeVisitorTest)})},
 messageSends: ["astPCNodeVisitorForPC:"]}),
@@ -89,11 +89,11 @@ var ast,visitor;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._parse_forClass_("foo <consolee.log(1)>",$Object());
-$1=_st(self)._astPCNodeVisitor();
+ast=self._parse_forClass_("foo <consolee.log(1)>",$Object());
+$1=self._astPCNodeVisitor();
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_(_st($2)._isJSStatementNode());
+self._assert_(_st($2)._isJSStatementNode());
 return self}, function($ctx1) {$ctx1.fill(self,"testJSStatementNode",{ast:ast,visitor:visitor},smalltalk.ASTPCNodeVisitorTest)})},
 messageSends: ["parse:forClass:", "assert:", "isJSStatementNode", "visit:", "astPCNodeVisitor", "currentNode"]}),
 smalltalk.ASTPCNodeVisitorTest);
@@ -107,11 +107,11 @@ var ast;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._parse_forClass_("foo self asString yourself. ^ self asBoolean",$Object());
-$1=_st(self)._astPCNodeVisitorForPC_((2));
+ast=self._parse_forClass_("foo self asString yourself. ^ self asBoolean",$Object());
+$1=self._astPCNodeVisitorForPC_((2));
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_equals_(_st($2)._selector(),"yourself");
+self._assert_equals_(_st($2)._selector(),"yourself");
 return self}, function($ctx1) {$ctx1.fill(self,"testMessageSend",{ast:ast},smalltalk.ASTPCNodeVisitorTest)})},
 messageSends: ["parse:forClass:", "assert:equals:", "selector", "visit:", "astPCNodeVisitorForPC:", "currentNode"]}),
 smalltalk.ASTPCNodeVisitorTest);
@@ -125,16 +125,16 @@ var ast;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4;
-ast=_st(self)._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$Object());
-$1=_st(self)._astPCNodeVisitorForPC_((2));
+ast=self._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$Object());
+$1=self._astPCNodeVisitorForPC_((2));
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_equals_(_st($2)._selector(),"yourself");
-ast=_st(self)._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$Object());
-$3=_st(self)._astPCNodeVisitorForPC_((3));
+self._assert_equals_(_st($2)._selector(),"yourself");
+ast=self._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$Object());
+$3=self._astPCNodeVisitorForPC_((3));
 _st($3)._visit_(ast);
 $4=_st($3)._currentNode();
-_st(self)._assert_equals_(_st($4)._selector(),"asBoolean");
+self._assert_equals_(_st($4)._selector(),"asBoolean");
 return self}, function($ctx1) {$ctx1.fill(self,"testMessageSendWithInlining",{ast:ast},smalltalk.ASTPCNodeVisitorTest)})},
 messageSends: ["parse:forClass:", "assert:equals:", "selector", "visit:", "astPCNodeVisitorForPC:", "currentNode"]}),
 smalltalk.ASTPCNodeVisitorTest);
@@ -148,11 +148,11 @@ var ast;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._parse_forClass_("foo ^ self",$Object());
-$1=_st(self)._astPCNodeVisitor();
+ast=self._parse_forClass_("foo ^ self",$Object());
+$1=self._astPCNodeVisitor();
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_(_st($2)._isNil());
+self._assert_(_st($2)._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testNoMessageSend",{ast:ast},smalltalk.ASTPCNodeVisitorTest)})},
 messageSends: ["parse:forClass:", "assert:", "isNil", "visit:", "astPCNodeVisitor", "currentNode"]}),
 smalltalk.ASTPCNodeVisitorTest);
@@ -166,11 +166,11 @@ var ast,visitor;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._parse_forClass_("foo <console.log(1)>",$Object());
-$1=_st(self)._astPCNodeVisitor();
+ast=self._parse_forClass_("foo <console.log(1)>",$Object());
+$1=self._astPCNodeVisitor();
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_(_st($2)._isJSStatementNode());
+self._assert_(_st($2)._isJSStatementNode());
 return self}, function($ctx1) {$ctx1.fill(self,"testPC",{ast:ast,visitor:visitor},smalltalk.ASTPCNodeVisitorTest)})},
 messageSends: ["parse:forClass:", "assert:", "isJSStatementNode", "visit:", "astPCNodeVisitor", "currentNode"]}),
 smalltalk.ASTPCNodeVisitorTest);
@@ -186,7 +186,7 @@ var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._interpret_withArguments_(aString,_st($Dictionary())._new());
+$1=self._interpret_withArguments_(aString,_st($Dictionary())._new());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
 messageSends: ["interpret:withArguments:", "new"]}),
@@ -207,9 +207,9 @@ _st(aDictionary)._keysAndValuesDo_((function(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();
+$2=self._interpreter();
 _st($2)._context_(ctx);
-_st($2)._interpret_(_st(_st(_st(self)._parse_forClass_(aString,_st(anObject)._class()))._nodes())._first());
+_st($2)._interpret_(_st(_st(self._parse_forClass_(aString,_st(anObject)._class()))._nodes())._first());
 $3=_st($2)._result();
 $1=$3;
 return $1;
@@ -225,7 +225,7 @@ var self=this;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._interpret_receiver_withArguments_(aString,_st($Object())._new(),aDictionary);
+$1=self._interpret_receiver_withArguments_(aString,_st($Object())._new(),aDictionary);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary},smalltalk.AbstractASTInterpreterTest)})},
 messageSends: ["interpret:receiver:withArguments:", "new"]}),
@@ -238,7 +238,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._subclassResponsibility();
+$1=self._subclassResponsibility();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.AbstractASTInterpreterTest)})},
 messageSends: ["subclassResponsibility"]}),
@@ -267,7 +267,7 @@ selector: "testBinarySend",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_equals_(_st(self)._interpret_("foo 2+3+4"),(9));
+self._assert_equals_(self._interpret_("foo 2+3+4"),(9));
 return self}, function($ctx1) {$ctx1.fill(self,"testBinarySend",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
@@ -278,9 +278,9 @@ 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));
-_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));
+self._assert_equals_(self._interpret_("foo ^ true ifTrue: [ 1 ] ifFalse: [ 2 ]"),(1));
+self._assert_equals_(self._interpret_("foo true ifTrue: [ ^ 1 ] ifFalse: [ 2 ]"),(1));
+self._assert_equals_(self._interpret_("foo ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
@@ -292,7 +292,7 @@ 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)));
+self._assert_equals_(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);
@@ -303,7 +303,7 @@ 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)]);
+self._assert_equals_(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);
@@ -314,7 +314,7 @@ 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))]));
+self._assert_equals_(self._interpret_("foo ^ #{1->1. 2->3}"),smalltalk.HashedCollection._fromPairs_([(1).__minus_gt((1)),(2).__minus_gt((3))]));
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionary",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:", "->"]}),
 smalltalk.ASTInterpreterTest);
@@ -325,8 +325,8 @@ selector: "testInlinedJSStatement",
 fn: function (){
 var self=this;
 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));
+self._assert_equals_(self._interpret_("foo <return 2+3>"),(5));
+self._assert_equals_(self._interpret_withArguments_("foo: anInteger <return 2 + anInteger>",smalltalk.HashedCollection._fromPairs_(["anInteger".__minus_gt((3))])),(5));
 return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:", "interpret:withArguments:", "->"]}),
 smalltalk.ASTInterpreterTest);
@@ -337,7 +337,7 @@ 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));
+self._assert_equals_(self._interpret_receiver_withArguments_("foo ^ x",(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);
@@ -349,7 +349,7 @@ 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));
+self._assert_equals_(self._interpret_receiver_withArguments_("foo: anInteger x := anInteger. ^ x",_st($Point())._new(),smalltalk.HashedCollection._fromPairs_(["anInteger".__minus_gt((2))])),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAssignment",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "new", "->"]}),
 smalltalk.ASTInterpreterTest);
@@ -360,7 +360,7 @@ 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));
+self._assert_equals_(self._interpret_("foo true ifTrue: [ ^ 1 ]. ^2"),(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testNonlocalReturn",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
@@ -371,7 +371,7 @@ 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)));
+self._assert_equals_(self._interpret_receiver_withArguments_("foo ^ self",(2).__at((3)),smalltalk.HashedCollection._fromPairs_([])),(2).__at((3)));
 return self}, function($ctx1) {$ctx1.fill(self,"testReceiver",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 smalltalk.ASTInterpreterTest);
@@ -383,7 +383,7 @@ fn: function (){
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ super isBoolean",true,_st($Dictionary())._new()),false);
+self._assert_equals_(self._interpret_receiver_withArguments_("foo ^ super isBoolean",true,_st($Dictionary())._new()),false);
 return self}, function($ctx1) {$ctx1.fill(self,"testSuper",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "new"]}),
 smalltalk.ASTInterpreterTest);
@@ -394,7 +394,7 @@ 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));
+self._assert_equals_(self._interpret_("foo | a | a := 2. ^ a"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testTempAssignment",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
@@ -405,9 +405,9 @@ selector: "testThisContext",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(_st(_st(self)._interpret_("foo ^ thisContext"))._outerContext())._isNil());
-_st(self)._assert_(_st(_st(_st(self)._interpret_("foo ^ [ thisContext ] value"))._outerContext())._notNil());
-_st(self)._assert_(_st(self)._interpret_("foo ^ [ thisContext ] value outerContext == thisContext"));
+self._assert_(_st(_st(self._interpret_("foo ^ thisContext"))._outerContext())._isNil());
+self._assert_(_st(_st(self._interpret_("foo ^ [ thisContext ] value"))._outerContext())._notNil());
+self._assert_(self._interpret_("foo ^ [ thisContext ] value outerContext == thisContext"));
 return self}, function($ctx1) {$ctx1.fill(self,"testThisContext",{},smalltalk.ASTInterpreterTest)})},
 messageSends: ["assert:", "isNil", "outerContext", "interpret:", "notNil"]}),
 smalltalk.ASTInterpreterTest);
@@ -441,16 +441,16 @@ selector: "testAtEnd",
 fn: function (){
 var self=this;
 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());
-_st(_st(self)._interpreter())._step();
-_st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
-_st(_st(self)._interpreter())._step();
-_st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
-_st(_st(self)._interpreter())._step();
-_st(self)._assert_(_st(_st(self)._interpreter())._atEnd());
+self._interpret_("foo 1 + 2");
+self._deny_(_st(self._interpreter())._atEnd());
+_st(self._interpreter())._step();
+self._deny_(_st(self._interpreter())._atEnd());
+_st(self._interpreter())._step();
+self._deny_(_st(self._interpreter())._atEnd());
+_st(self._interpreter())._step();
+self._deny_(_st(self._interpreter())._atEnd());
+_st(self._interpreter())._step();
+self._assert_(_st(self._interpreter())._atEnd());
 return self}, function($ctx1) {$ctx1.fill(self,"testAtEnd",{},smalltalk.ASTSteppingInterpreterTest)})},
 messageSends: ["interpret:", "deny:", "atEnd", "interpreter", "step", "assert:"]}),
 smalltalk.ASTSteppingInterpreterTest);
@@ -461,15 +461,15 @@ selector: "testMessageSend",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpret_("foo 1 + 2");
-_st(_st(self)._interpreter())._step();
-_st(_st(self)._interpreter())._step();
-_st(_st(self)._interpreter())._step();
-_st(self)._assert_equals_(_st(_st(_st(self)._interpreter())._currentNode())._value(),(1));
-_st(_st(self)._interpreter())._step();
-_st(self)._assert_equals_(_st(_st(_st(self)._interpreter())._currentNode())._value(),(2));
-_st(_st(self)._interpreter())._step();
-_st(self)._assert_equals_(_st(_st(self)._interpreter())._result(),(3));
+self._interpret_("foo 1 + 2");
+_st(self._interpreter())._step();
+_st(self._interpreter())._step();
+_st(self._interpreter())._step();
+self._assert_equals_(_st(_st(self._interpreter())._currentNode())._value(),(1));
+_st(self._interpreter())._step();
+self._assert_equals_(_st(_st(self._interpreter())._currentNode())._value(),(2));
+_st(self._interpreter())._step();
+self._assert_equals_(_st(self._interpreter())._result(),(3));
 return self}, function($ctx1) {$ctx1.fill(self,"testMessageSend",{},smalltalk.ASTSteppingInterpreterTest)})},
 messageSends: ["interpret:", "step", "interpreter", "assert:equals:", "value", "currentNode", "result"]}),
 smalltalk.ASTSteppingInterpreterTest);
@@ -480,11 +480,11 @@ selector: "testSimpleStepping",
 fn: function (){
 var self=this;
 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();
-_st(self)._assert_equals_(_st(_st(self)._interpreter())._result(),(1));
+self._interpret_("foo 1");
+_st(self._interpreter())._step();
+self._assert_(_st(_st(self._interpreter())._result())._isNil());
+_st(self._interpreter())._step();
+self._assert_equals_(_st(self._interpreter())._result(),(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testSimpleStepping",{},smalltalk.ASTSteppingInterpreterTest)})},
 messageSends: ["interpret:", "step", "interpreter", "assert:", "isNil", "result", "assert:equals:"]}),
 smalltalk.ASTSteppingInterpreterTest);
@@ -515,7 +515,7 @@ function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?ni
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 $2=_st($Compiler())._new();
-_st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
+_st($2)._codeGeneratorClass_(self._codeGeneratorClass());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
@@ -529,7 +529,7 @@ selector: "setUp",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-self["@receiver"]=_st(_st(self)._targetClass())._new();
+self["@receiver"]=_st(self._targetClass())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["new", "targetClass"]}),
 smalltalk.CodeGeneratorTest);
@@ -541,10 +541,10 @@ 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");
+method=_st(self._compiler())._install_forClass_category_(aString,self._targetClass(),"tests");
 result=_st(self["@receiver"])._perform_(_st(method)._selector());
-_st(_st(self)._targetClass())._removeCompiledMethod_(method);
-_st(self)._assert_equals_(anObject,result);
+_st(self._targetClass())._removeCompiledMethod_(method);
+self._assert_equals_(anObject,result);
 return self}, function($ctx1) {$ctx1.fill(self,"should:return:",{aString:aString,anObject:anObject,method:method,result:result},smalltalk.CodeGeneratorTest)})},
 messageSends: ["install:forClass:category:", "targetClass", "compiler", "perform:", "selector", "removeCompiledMethod:", "assert:equals:"]}),
 smalltalk.CodeGeneratorTest);
@@ -579,9 +579,9 @@ selector: "testAssignment",
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo | a | a := true ifTrue: [ 1 ]. ^ a",(1));
+self._should_return_("foo | a | a := false ifTrue: [ 1 ]. ^ a",nil);
+self._should_return_("foo | a | ^ a := true ifTrue: [ 1 ]",(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -592,8 +592,8 @@ selector: "testBackslashSelectors",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._should_return_("\x5c arg ^ 4",(4));
-_st(self)._should_return_("\x5c\x5c arg ^ 42",(42));
+self._should_return_("\x5c arg ^ 4",(4));
+self._should_return_("\x5c\x5c arg ^ 42",(42));
 return self}, function($ctx1) {$ctx1.fill(self,"testBackslashSelectors",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -604,9 +604,9 @@ 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)]);
-_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)]);
+self._should_return_("foo ^ #(1 2 3) collect: [ :each | true ifTrue: [ each + 1 ] ]",[(2), (3), (4)]);
+self._should_return_("foo ^ #(1 2 3) collect: [ :each | false ifFalse: [ each + 1 ] ]",[(2), (3), (4)]);
+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)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -617,7 +617,7 @@ 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)]);
+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);
@@ -628,7 +628,7 @@ 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)]);
+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);
@@ -639,7 +639,7 @@ 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))]));
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 'foo'->1.\x0a\x09^ #{ x. (true ifTrue: [ x := 'bar'->2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_(["foo".__minus_gt((1)),"bar".__minus_gt((2))]));
 return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionaryElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:", "->"]}),
 smalltalk.CodeGeneratorTest);
@@ -651,10 +651,10 @@ 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))]);
-_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))]));
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",["foo".__minus_gt($Array()),"bar".__minus_gt((2))]);
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",["foo".__minus_gt((1)),"bar".__minus_gt((2))]);
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",["foo".__minus_gt((1)),"bar".__minus_gt((2))]);
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ #{ 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_(["foo".__minus_gt((1)),"bar".__minus_gt((2))]));
 return self}, function($ctx1) {$ctx1.fill(self,"testInnerTemporalDependentElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:", "->"]}),
 smalltalk.CodeGeneratorTest);
@@ -665,15 +665,15 @@ selector: "testLiterals",
 fn: function (){
 var self=this;
 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)]);
-_st(self)._should_return_("foo ^ true",true);
-_st(self)._should_return_("foo ^ false",false);
-_st(self)._should_return_("foo ^ #{1->2. 3->4}",smalltalk.HashedCollection._fromPairs_([_st((1)).__minus_gt((2)),_st((3)).__minus_gt((4))]));
-_st(self)._should_return_("foo ^ #hello","hello");
-_st(self)._should_return_("foo ^ -123.456",(-123.456));
+self._should_return_("foo ^ 1",(1));
+self._should_return_("foo ^ 'hello'","hello");
+self._should_return_("foo ^ #(1 2 3 4)",[(1), (2), (3), (4)]);
+self._should_return_("foo ^ {1. [:x | x ] value: 2. 3. [4] value}",[(1), (2), (3), (4)]);
+self._should_return_("foo ^ true",true);
+self._should_return_("foo ^ false",false);
+self._should_return_("foo ^ #{1->2. 3->4}",smalltalk.HashedCollection._fromPairs_([(1).__minus_gt((2)),(3).__minus_gt((4))]));
+self._should_return_("foo ^ #hello","hello");
+self._should_return_("foo ^ -123.456",(-123.456));
 return self}, function($ctx1) {$ctx1.fill(self,"testLiterals",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:", "->"]}),
 smalltalk.CodeGeneratorTest);
@@ -684,11 +684,11 @@ selector: "testLocalReturn",
 fn: function (){
 var self=this;
 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"]);
-_st(self)._should_return_("foo | a b | a := 1. b := 2. ^ a + b",(3));
+self._should_return_("foo ^ 1",(1));
+self._should_return_("foo ^ 1 + 1",(2));
+self._should_return_("foo ",self["@receiver"]);
+self._should_return_("foo self asString",self["@receiver"]);
+self._should_return_("foo | a b | a := 1. b := 2. ^ a + b",(3));
 return self}, function($ctx1) {$ctx1.fill(self,"testLocalReturn",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -699,11 +699,11 @@ selector: "testMessageSends",
 fn: function (){
 var self=this;
 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)]);
-_st(self)._should_return_("foo ^ 1 to: 5 by: 2",[(1), (3), (5)]);
+self._should_return_("foo ^ 1 asString","1");
+self._should_return_("foo ^ 1 + 1",(2));
+self._should_return_("foo ^ 1 + 2 * 3",(9));
+self._should_return_("foo ^ 1 to: 3",[(1), (2), (3)]);
+self._should_return_("foo ^ 1 to: 5 by: 2",[(1), (3), (5)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testMessageSends",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -714,7 +714,7 @@ 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)]);
+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);
@@ -725,10 +725,10 @@ selector: "testNestedIfTrue",
 fn: function (){
 var self=this;
 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"]);
+self._should_return_("foo ^ true ifTrue: [ false ifFalse: [ 1 ] ]",(1));
+self._should_return_("foo ^ true ifTrue: [ false ifTrue: [ 1 ] ]",nil);
+self._should_return_("foo true ifTrue: [ false ifFalse: [ ^ 1 ] ]",(1));
+self._should_return_("foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]",self["@receiver"]);
 return self}, function($ctx1) {$ctx1.fill(self,"testNestedIfTrue",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -739,10 +739,10 @@ selector: "testNonLocalReturn",
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo [ ^ 1 ] value",(1));
+self._should_return_("foo [ ^ 1 + 1 ] value",(2));
+self._should_return_("foo | a b | a := 1. b := 2. [ ^ a + b ] value. self halt",(3));
+self._should_return_("foo [ :x | ^ x + x ] value: 4. ^ 2",(8));
 return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -753,8 +753,8 @@ selector: "testPascalCaseGlobal",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._should_return_("foo ^Object",_st(smalltalk)._at_("Object"));
-_st(self)._should_return_("foo ^NonExistent",nil);
+self._should_return_("foo ^Object",_st(smalltalk)._at_("Object"));
+self._should_return_("foo ^NonExistent",nil);
 return self}, function($ctx1) {$ctx1.fill(self,"testPascalCaseGlobal",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:", "at:"]}),
 smalltalk.CodeGeneratorTest);
@@ -766,8 +766,8 @@ 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)]);
-_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: x with: (true ifTrue: [ x := 2 ])\x0a",[$Array(),(2)]);
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: x with: (true ifTrue: [ x := 2 ])\x0a",[(1), (2)]);
+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:"]}),
 smalltalk.CodeGeneratorTest);
@@ -778,10 +778,10 @@ selector: "testifFalse",
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo true ifFalse: [ ^ 1 ]",self["@receiver"]);
+self._should_return_("foo false ifFalse: [ ^ 2 ]",(2));
+self._should_return_("foo ^ true ifFalse: [ 1 ]",nil);
+self._should_return_("foo ^ false ifFalse: [ 2 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifFalse",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -792,10 +792,10 @@ selector: "testifFalseIfTrue",
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo true ifFalse: [ ^ 1 ] ifTrue: [ ^ 2 ]",(2));
+self._should_return_("foo false ifFalse: [ ^ 2 ] ifTrue: [ ^1 ]",(2));
+self._should_return_("foo ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]",(2));
+self._should_return_("foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifFalseIfTrue",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -806,10 +806,10 @@ selector: "testifNil",
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo ^ 1 ifNil: [ 2 ]",(1));
+self._should_return_("foo ^ nil ifNil: [ 2 ]",(2));
+self._should_return_("foo 1 ifNil: [ ^ 2 ]",self["@receiver"]);
+self._should_return_("foo nil ifNil: [ ^ 2 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifNil",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -820,10 +820,10 @@ selector: "testifNilIfNotNil",
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo ^ 1 ifNil: [ 2 ] ifNotNil: [ 3 ]",(3));
+self._should_return_("foo ^ nil ifNil: [ 2 ] ifNotNil: [ 3 ]",(2));
+self._should_return_("foo 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(3));
+self._should_return_("foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifNilIfNotNil",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -834,10 +834,10 @@ selector: "testifNotNil",
 fn: function (){
 var self=this;
 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"]);
+self._should_return_("foo ^ 1 ifNotNil: [ 2 ]",(2));
+self._should_return_("foo ^ nil ifNotNil: [ 2 ]",nil);
+self._should_return_("foo 1 ifNotNil: [ ^ 2 ]",(2));
+self._should_return_("foo nil ifNotNil: [ ^ 2 ]",self["@receiver"]);
 return self}, function($ctx1) {$ctx1.fill(self,"testifNotNil",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -848,12 +848,12 @@ selector: "testifNotNilWithArgument",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._should_return_("foo ^ 1 ifNotNil: [ :val | val + 2 ]",(3));
-_st(self)._should_return_("foo ^ nil ifNotNil: [ :val | val + 2 ]",nil);
-_st(self)._should_return_("foo ^ 1 ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]",(3));
-_st(self)._should_return_("foo ^ nil ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]",(5));
-_st(self)._should_return_("foo ^ 1 ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]",(3));
-_st(self)._should_return_("foo ^ nil ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]",(5));
+self._should_return_("foo ^ 1 ifNotNil: [ :val | val + 2 ]",(3));
+self._should_return_("foo ^ nil ifNotNil: [ :val | val + 2 ]",nil);
+self._should_return_("foo ^ 1 ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]",(3));
+self._should_return_("foo ^ nil ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]",(5));
+self._should_return_("foo ^ 1 ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]",(3));
+self._should_return_("foo ^ nil ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]",(5));
 return self}, function($ctx1) {$ctx1.fill(self,"testifNotNilWithArgument",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -864,10 +864,10 @@ selector: "testifTrue",
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo false ifTrue: [ ^ 1 ]",self["@receiver"]);
+self._should_return_("foo true ifTrue: [ ^ 2 ]",(2));
+self._should_return_("foo ^ false ifTrue: [ 1 ]",nil);
+self._should_return_("foo ^ true ifTrue: [ 2 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifTrue",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -878,10 +878,10 @@ selector: "testifTrueIfFalse",
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo false ifTrue: [ ^ 1 ] ifFalse: [ ^2 ]",(2));
+self._should_return_("foo true ifTrue: [ ^ 1 ] ifFalse: [ ^ 2 ]",(1));
+self._should_return_("foo ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]",(1));
+self._should_return_("foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifTrueIfFalse",{},smalltalk.CodeGeneratorTest)})},
 messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
@@ -921,7 +921,7 @@ _st($1)._value_("Object");
 $2=_st($1)._yourself();
 node=$2;
 _st(_st($SemanticAnalyzer())._new())._visit_(node);
-_st(self)._assert_(_st(_st(node)._binding())._isClassRefVar());
+self._assert_(_st(_st(node)._binding())._isClassRefVar());
 return self}, function($ctx1) {$ctx1.fill(self,"testClassRefVar",{node:node},smalltalk.ScopeVarTest)})},
 messageSends: ["value:", "new", "yourself", "visit:", "assert:", "isClassRefVar", "binding"]}),
 smalltalk.ScopeVarTest);
@@ -942,7 +942,7 @@ $2=_st($1)._yourself();
 node=$2;
 scope=_st($MethodLexicalScope())._new();
 _st(scope)._addIVar_("bzzz");
-_st(self)._assert_(_st(_st(scope)._bindingFor_(node))._isInstanceVar());
+self._assert_(_st(_st(scope)._bindingFor_(node))._isInstanceVar());
 return self}, function($ctx1) {$ctx1.fill(self,"testInstanceVar",{node:node,scope:scope},smalltalk.ScopeVarTest)})},
 messageSends: ["value:", "new", "yourself", "addIVar:", "assert:", "isInstanceVar", "bindingFor:"]}),
 smalltalk.ScopeVarTest);
@@ -965,7 +965,7 @@ _st($1)._value_(each);
 $2=_st($1)._yourself();
 node=$2;
 node;
-return _st(self)._assert_(_st(_st(_st($MethodLexicalScope())._new())._bindingFor_(node))._isPseudoVar());
+return self._assert_(_st(_st(_st($MethodLexicalScope())._new())._bindingFor_(node))._isPseudoVar());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"testPseudoVar",{node:node,pseudoVars:pseudoVars},smalltalk.ScopeVarTest)})},
 messageSends: ["do:", "value:", "new", "yourself", "assert:", "isPseudoVar", "bindingFor:"]}),
@@ -987,7 +987,7 @@ $2=_st($1)._yourself();
 node=$2;
 scope=_st($MethodLexicalScope())._new();
 _st(scope)._addTemp_("bzzz");
-_st(self)._assert_(_st(_st(scope)._bindingFor_(node))._isTempVar());
+self._assert_(_st(_st(scope)._bindingFor_(node))._isTempVar());
 return self}, function($ctx1) {$ctx1.fill(self,"testTempVar",{node:node,scope:scope},smalltalk.ScopeVarTest)})},
 messageSends: ["value:", "new", "yourself", "addTemp:", "assert:", "isTempVar", "bindingFor:"]}),
 smalltalk.ScopeVarTest);
@@ -1006,7 +1006,7 @@ $1=_st($VariableNode())._new();
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 node=$2;
-_st(self)._assert_(_st(_st(_st($MethodLexicalScope())._new())._bindingFor_(node))._isNil());
+self._assert_(_st(_st(_st($MethodLexicalScope())._new())._bindingFor_(node))._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVar",{node:node},smalltalk.ScopeVarTest)})},
 messageSends: ["value:", "new", "yourself", "assert:", "isNil", "bindingFor:"]}),
 smalltalk.ScopeVarTest);
@@ -1037,7 +1037,7 @@ function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typ
 return smalltalk.withContext(function($ctx1) { 
 src="foo self := 1";
 ast=_st(smalltalk)._parse_(src);
-_st(self)._should_raise_((function(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$InvalidAssignmentError());
@@ -1055,7 +1055,7 @@ 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());
+self._deny_(_st(_st(ast)._scope())._hasNonLocalReturn());
 return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "visit:", "deny:", "hasNonLocalReturn", "scope"]}),
 smalltalk.SemanticAnalyzerTest);
@@ -1070,7 +1070,7 @@ 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());
+self._assert_(_st(_st(ast)._scope())._hasNonLocalReturn());
 return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "visit:", "assert:", "hasNonLocalReturn", "scope"]}),
 smalltalk.SemanticAnalyzerTest);
@@ -1085,7 +1085,7 @@ 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()));
+self._deny_(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()).__eq_eq(_st(ast)._scope()));
 return self}, function($ctx1) {$ctx1.fill(self,"testScope",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "visit:", "deny:", "==", "scope", "last", "nodes", "first"]}),
 smalltalk.SemanticAnalyzerTest);
@@ -1100,7 +1100,7 @@ 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()));
+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()));
 return self}, function($ctx1) {$ctx1.fill(self,"testScope2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "visit:", "deny:", "==", "scope", "first", "nodes", "last"]}),
 smalltalk.SemanticAnalyzerTest);
@@ -1115,8 +1115,8 @@ 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));
-_st(self)._assert_equals_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._scope())._scopeLevel(),(3));
+self._assert_equals_(_st(_st(ast)._scope())._scopeLevel(),(1));
+self._assert_equals_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._scope())._scopeLevel(),(3));
 return self}, function($ctx1) {$ctx1.fill(self,"testScopeLevel",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "visit:", "assert:equals:", "scopeLevel", "scope", "first", "nodes", "last"]}),
 smalltalk.SemanticAnalyzerTest);
@@ -1131,7 +1131,7 @@ function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof
 return smalltalk.withContext(function($ctx1) { 
 src="foo | a | b + a";
 ast=_st(smalltalk)._parse_(src);
-_st(self)._should_raise_((function(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
@@ -1149,7 +1149,7 @@ function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof
 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(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
@@ -1181,7 +1181,7 @@ function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typ
 return smalltalk.withContext(function($ctx1) { 
 src="foo | a | a + 1. [ | a | a := 2 ]";
 ast=_st(smalltalk)._parse_(src);
-_st(self)._should_raise_((function(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
@@ -1227,7 +1227,7 @@ function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typ
 return smalltalk.withContext(function($ctx1) { 
 src="foo | a | a + 1. [ [ [ | a | a := 2 ] ] ]";
 ast=_st(smalltalk)._parse_(src);
-_st(self)._should_raise_((function(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
@@ -1245,10 +1245,10 @@ 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());
-_st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._scope()).__eq_eq(_st(ast)._scope()));
-_st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._left())._binding())._isTempVar());
-_st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._left())._binding())._scope()).__eq_eq(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()));
+self._assert_(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._isTempVar());
+self._assert_(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._scope()).__eq_eq(_st(ast)._scope()));
+self._assert_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._left())._binding())._isTempVar());
+self._assert_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._left())._binding())._scope()).__eq_eq(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()));
 return self}, function($ctx1) {$ctx1.fill(self,"testVariablesLookup",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 messageSends: ["parse:", "visit:", "assert:", "isTempVar", "binding", "receiver", "first", "nodes", "==", "scope", "left", "last"]}),
 smalltalk.SemanticAnalyzerTest);

+ 173 - 173
js/Compiler-Tests.js

@@ -47,7 +47,7 @@ fn: function (aString,aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._analyze_forClass_(_st(self)._parse_(aString),aClass);
+$1=self._analyze_forClass_(self._parse_(aString),aClass);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass},smalltalk.ASTVisitorTest)})},
 args: ["aString", "aClass"],
@@ -68,7 +68,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._astPCNodeVisitorForPC_((0));
+$1=self._astPCNodeVisitorForPC_((0));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"astPCNodeVisitor",{},smalltalk.ASTPCNodeVisitorTest)})},
 args: [],
@@ -115,11 +115,11 @@ var ast,visitor;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._parse_forClass_("foo <consolee.log(1)>",$Object());
-$1=_st(self)._astPCNodeVisitor();
+ast=self._parse_forClass_("foo <consolee.log(1)>",$Object());
+$1=self._astPCNodeVisitor();
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_(_st($2)._isJSStatementNode());
+self._assert_(_st($2)._isJSStatementNode());
 return self}, function($ctx1) {$ctx1.fill(self,"testJSStatementNode",{ast:ast,visitor:visitor},smalltalk.ASTPCNodeVisitorTest)})},
 args: [],
 source: "testJSStatementNode\x0a\x09| ast visitor |\x0a\x09\x0a\x09ast := self parse: 'foo <consolee.log(1)>' forClass: Object.\x0a\x09self assert: (self astPCNodeVisitor\x0a\x09\x09visit: ast;\x0a\x09\x09currentNode) isJSStatementNode",
@@ -138,11 +138,11 @@ var ast;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._parse_forClass_("foo self asString yourself. ^ self asBoolean",$Object());
-$1=_st(self)._astPCNodeVisitorForPC_((2));
+ast=self._parse_forClass_("foo self asString yourself. ^ self asBoolean",$Object());
+$1=self._astPCNodeVisitorForPC_((2));
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_equals_(_st($2)._selector(),"yourself");
+self._assert_equals_(_st($2)._selector(),"yourself");
 return self}, function($ctx1) {$ctx1.fill(self,"testMessageSend",{ast:ast},smalltalk.ASTPCNodeVisitorTest)})},
 args: [],
 source: "testMessageSend\x0a\x09| ast |\x0a\x09\x0a\x09ast := self parse: 'foo self asString yourself. ^ self asBoolean' forClass: Object.\x0a\x09self assert: ((self astPCNodeVisitorForPC: 2)\x0a\x09\x09visit: ast;\x0a\x09\x09currentNode) selector equals: 'yourself'",
@@ -161,16 +161,16 @@ var ast;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4;
-ast=_st(self)._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$Object());
-$1=_st(self)._astPCNodeVisitorForPC_((2));
+ast=self._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$Object());
+$1=self._astPCNodeVisitorForPC_((2));
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_equals_(_st($2)._selector(),"yourself");
-ast=_st(self)._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$Object());
-$3=_st(self)._astPCNodeVisitorForPC_((3));
+self._assert_equals_(_st($2)._selector(),"yourself");
+ast=self._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$Object());
+$3=self._astPCNodeVisitorForPC_((3));
 _st($3)._visit_(ast);
 $4=_st($3)._currentNode();
-_st(self)._assert_equals_(_st($4)._selector(),"asBoolean");
+self._assert_equals_(_st($4)._selector(),"asBoolean");
 return self}, function($ctx1) {$ctx1.fill(self,"testMessageSendWithInlining",{ast:ast},smalltalk.ASTPCNodeVisitorTest)})},
 args: [],
 source: "testMessageSendWithInlining\x0a\x09| ast |\x0a\x09\x0a\x09ast := self parse: 'foo true ifTrue: [ self asString yourself ]. ^ self asBoolean' forClass: Object.\x0a\x09self assert: ((self astPCNodeVisitorForPC: 2)\x0a\x09\x09visit: ast;\x0a\x09\x09currentNode) selector equals: 'yourself'.\x0a\x09\x09\x0a\x09ast := self parse: 'foo true ifTrue: [ self asString yourself ]. ^ self asBoolean' forClass: Object.\x0a\x09self assert: ((self astPCNodeVisitorForPC: 3)\x0a\x09\x09visit: ast;\x0a\x09\x09currentNode) selector equals: 'asBoolean'",
@@ -189,11 +189,11 @@ var ast;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._parse_forClass_("foo ^ self",$Object());
-$1=_st(self)._astPCNodeVisitor();
+ast=self._parse_forClass_("foo ^ self",$Object());
+$1=self._astPCNodeVisitor();
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_(_st($2)._isNil());
+self._assert_(_st($2)._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testNoMessageSend",{ast:ast},smalltalk.ASTPCNodeVisitorTest)})},
 args: [],
 source: "testNoMessageSend\x0a\x09| ast |\x0a\x09\x0a\x09ast := self parse: 'foo ^ self' forClass: Object.\x0a\x09self assert: (self astPCNodeVisitor\x0a\x09\x09visit: ast;\x0a\x09\x09currentNode) isNil",
@@ -212,11 +212,11 @@ var ast,visitor;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-ast=_st(self)._parse_forClass_("foo <console.log(1)>",$Object());
-$1=_st(self)._astPCNodeVisitor();
+ast=self._parse_forClass_("foo <console.log(1)>",$Object());
+$1=self._astPCNodeVisitor();
 _st($1)._visit_(ast);
 $2=_st($1)._currentNode();
-_st(self)._assert_(_st($2)._isJSStatementNode());
+self._assert_(_st($2)._isJSStatementNode());
 return self}, function($ctx1) {$ctx1.fill(self,"testPC",{ast:ast,visitor:visitor},smalltalk.ASTPCNodeVisitorTest)})},
 args: [],
 source: "testPC\x0a\x09| ast visitor |\x0a\x09\x0a\x09ast := self parse: 'foo <console.log(1)>' forClass: Object.\x0a\x09self assert: (self astPCNodeVisitor\x0a\x09\x09visit: ast;\x0a\x09\x09currentNode) isJSStatementNode",
@@ -237,7 +237,7 @@ var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._interpret_withArguments_(aString,_st($Dictionary())._new());
+$1=self._interpret_withArguments_(aString,_st($Dictionary())._new());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString},smalltalk.AbstractASTInterpreterTest)})},
 args: ["aString"],
@@ -263,9 +263,9 @@ _st(aDictionary)._keysAndValuesDo_((function(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();
+$2=self._interpreter();
 _st($2)._context_(ctx);
-_st($2)._interpret_(_st(_st(_st(self)._parse_forClass_(aString,_st(anObject)._class()))._nodes())._first());
+_st($2)._interpret_(_st(_st(self._parse_forClass_(aString,_st(anObject)._class()))._nodes())._first());
 $3=_st($2)._result();
 $1=$3;
 return $1;
@@ -286,7 +286,7 @@ var self=this;
 function $Object(){return smalltalk.Object||(typeof Object=="undefined"?nil:Object)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._interpret_receiver_withArguments_(aString,_st($Object())._new(),aDictionary);
+$1=self._interpret_receiver_withArguments_(aString,_st($Object())._new(),aDictionary);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary},smalltalk.AbstractASTInterpreterTest)})},
 args: ["aString", "aDictionary"],
@@ -304,7 +304,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._subclassResponsibility();
+$1=self._subclassResponsibility();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.AbstractASTInterpreterTest)})},
 args: [],
@@ -343,7 +343,7 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_equals_(_st(self)._interpret_("foo 2+3+4"),(9));
+self._assert_equals_(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",
@@ -359,9 +359,9 @@ 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));
-_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));
+self._assert_equals_(self._interpret_("foo ^ true ifTrue: [ 1 ] ifFalse: [ 2 ]"),(1));
+self._assert_equals_(self._interpret_("foo true ifTrue: [ ^ 1 ] ifFalse: [ 2 ]"),(1));
+self._assert_equals_(self._interpret_("foo ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]"),(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 source: "testBlockLiteral\x0a\x09self assert: (self interpret: 'foo ^ true ifTrue: [ 1 ] ifFalse: [ 2 ]') equals: 1.\x0a\x09self assert: (self interpret: 'foo true ifTrue: [ ^ 1 ] ifFalse: [ 2 ]') equals: 1.\x0a\x09self assert: (self interpret: 'foo ^ false ifTrue: [ 1 ] ifFalse: [ 2 ]') equals: 2",
@@ -378,7 +378,7 @@ 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)));
+self._assert_equals_(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)",
@@ -394,7 +394,7 @@ 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)]);
+self._assert_equals_(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)",
@@ -410,7 +410,7 @@ 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))]));
+self._assert_equals_(self._interpret_("foo ^ #{1->1. 2->3}"),smalltalk.HashedCollection._fromPairs_([(1).__minus_gt((1)),(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}",
@@ -426,8 +426,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._assert_equals_(self._interpret_("foo <return 2+3>"),(5));
+self._assert_equals_(self._interpret_withArguments_("foo: anInteger <return 2 + anInteger>",smalltalk.HashedCollection._fromPairs_(["anInteger".__minus_gt((3))])),(5));
 return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 source: "testInlinedJSStatement\x0a\x09self assert: (self interpret: 'foo <return 2+3>') equals: 5.\x0a\x09\x0a\x09self\x0a\x09\x09assert: (self\x0a\x09\x09\x09interpret: 'foo: anInteger <return 2 + anInteger>'\x0a\x09\x09\x09withArguments: #{ 'anInteger' -> 3})\x0a\x09\x09equals: 5",
@@ -443,7 +443,7 @@ 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));
+self._assert_equals_(self._interpret_receiver_withArguments_("foo ^ x",(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",
@@ -460,7 +460,7 @@ 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));
+self._assert_equals_(self._interpret_receiver_withArguments_("foo: anInteger x := anInteger. ^ x",_st($Point())._new(),smalltalk.HashedCollection._fromPairs_(["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",
@@ -476,7 +476,7 @@ 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));
+self._assert_equals_(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",
@@ -492,7 +492,7 @@ 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)));
+self._assert_equals_(self._interpret_receiver_withArguments_("foo ^ self",(2).__at((3)),smalltalk.HashedCollection._fromPairs_([])),(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",
@@ -509,7 +509,7 @@ fn: function (){
 var self=this;
 function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefined"?nil:Dictionary)}
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ super isBoolean",true,_st($Dictionary())._new()),false);
+self._assert_equals_(self._interpret_receiver_withArguments_("foo ^ super isBoolean",true,_st($Dictionary())._new()),false);
 return self}, function($ctx1) {$ctx1.fill(self,"testSuper",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 source: "testSuper\x0a\x09self \x0a\x09\x09assert: (self \x0a\x09\x09\x09interpret: 'foo ^ super isBoolean' \x0a\x09\x09\x09receiver: true \x0a\x09\x09\x09withArguments: Dictionary new) \x0a\x09\x09equals: false",
@@ -525,7 +525,7 @@ 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));
+self._assert_equals_(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",
@@ -541,9 +541,9 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(_st(_st(self)._interpret_("foo ^ thisContext"))._outerContext())._isNil());
-_st(self)._assert_(_st(_st(_st(self)._interpret_("foo ^ [ thisContext ] value"))._outerContext())._notNil());
-_st(self)._assert_(_st(self)._interpret_("foo ^ [ thisContext ] value outerContext == thisContext"));
+self._assert_(_st(_st(self._interpret_("foo ^ thisContext"))._outerContext())._isNil());
+self._assert_(_st(_st(self._interpret_("foo ^ [ thisContext ] value"))._outerContext())._notNil());
+self._assert_(self._interpret_("foo ^ [ thisContext ] value outerContext == thisContext"));
 return self}, function($ctx1) {$ctx1.fill(self,"testThisContext",{},smalltalk.ASTInterpreterTest)})},
 args: [],
 source: "testThisContext\x0a\x09self assert: (self interpret: 'foo ^ thisContext') outerContext isNil.\x0a\x09self assert: (self interpret: 'foo ^ [ thisContext ] value') outerContext notNil.\x0a\x09self assert: (self interpret: 'foo ^ [ thisContext ] value outerContext == thisContext')",
@@ -587,16 +587,16 @@ category: 'tests',
 fn: function (){
 var self=this;
 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());
-_st(_st(self)._interpreter())._step();
-_st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
-_st(_st(self)._interpreter())._step();
-_st(self)._deny_(_st(_st(self)._interpreter())._atEnd());
-_st(_st(self)._interpreter())._step();
-_st(self)._assert_(_st(_st(self)._interpreter())._atEnd());
+self._interpret_("foo 1 + 2");
+self._deny_(_st(self._interpreter())._atEnd());
+_st(self._interpreter())._step();
+self._deny_(_st(self._interpreter())._atEnd());
+_st(self._interpreter())._step();
+self._deny_(_st(self._interpreter())._atEnd());
+_st(self._interpreter())._step();
+self._deny_(_st(self._interpreter())._atEnd());
+_st(self._interpreter())._step();
+self._assert_(_st(self._interpreter())._atEnd());
 return self}, function($ctx1) {$ctx1.fill(self,"testAtEnd",{},smalltalk.ASTSteppingInterpreterTest)})},
 args: [],
 source: "testAtEnd\x0a\x09self interpret: 'foo 1 + 2'.\x0a\x09self deny: self interpreter atEnd.\x0a\x0a\x09self interpreter step.\x0a\x09self deny: self interpreter atEnd.\x0a\x09\x0a\x09self interpreter step.\x0a\x09self deny: self interpreter atEnd.\x0a\x09\x0a\x09self interpreter step.\x0a\x09self deny: self interpreter atEnd.\x0a\x09\x0a\x09self interpreter step.\x0a\x09self assert: self interpreter atEnd",
@@ -612,15 +612,15 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._interpret_("foo 1 + 2");
-_st(_st(self)._interpreter())._step();
-_st(_st(self)._interpreter())._step();
-_st(_st(self)._interpreter())._step();
-_st(self)._assert_equals_(_st(_st(_st(self)._interpreter())._currentNode())._value(),(1));
-_st(_st(self)._interpreter())._step();
-_st(self)._assert_equals_(_st(_st(_st(self)._interpreter())._currentNode())._value(),(2));
-_st(_st(self)._interpreter())._step();
-_st(self)._assert_equals_(_st(_st(self)._interpreter())._result(),(3));
+self._interpret_("foo 1 + 2");
+_st(self._interpreter())._step();
+_st(self._interpreter())._step();
+_st(self._interpreter())._step();
+self._assert_equals_(_st(_st(self._interpreter())._currentNode())._value(),(1));
+_st(self._interpreter())._step();
+self._assert_equals_(_st(_st(self._interpreter())._currentNode())._value(),(2));
+_st(self._interpreter())._step();
+self._assert_equals_(_st(self._interpreter())._result(),(3));
 return self}, function($ctx1) {$ctx1.fill(self,"testMessageSend",{},smalltalk.ASTSteppingInterpreterTest)})},
 args: [],
 source: "testMessageSend\x0a\x09self interpret: 'foo 1 + 2'.\x0a\x09\x0a\x09\x22SequenceNode\x22\x0a\x09self interpreter step.\x0a\x09\x0a\x09\x22SendNode\x22\x0a\x09self interpreter step.\x0a\x09\x0a\x09\x22ValueNode\x22\x0a\x09self interpreter step.\x0a\x09self assert: self interpreter currentNode value equals: 1.\x0a\x09\x0a\x09\x22ValueNode\x22\x0a\x09self interpreter step.\x0a\x09self assert: self interpreter currentNode value equals: 2.\x0a\x09\x0a\x09\x22Result\x22\x0a\x09self interpreter step.\x0a\x09self assert: self interpreter result equals: 3",
@@ -636,11 +636,11 @@ category: 'tests',
 fn: function (){
 var self=this;
 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();
-_st(self)._assert_equals_(_st(_st(self)._interpreter())._result(),(1));
+self._interpret_("foo 1");
+_st(self._interpreter())._step();
+self._assert_(_st(_st(self._interpreter())._result())._isNil());
+_st(self._interpreter())._step();
+self._assert_equals_(_st(self._interpreter())._result(),(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testSimpleStepping",{},smalltalk.ASTSteppingInterpreterTest)})},
 args: [],
 source: "testSimpleStepping\x0a\x09self interpret: 'foo 1'.\x0a\x09\x0a\x09\x22SequenceNode\x22\x0a\x09self interpreter step.\x0a\x09\x0a\x09self assert: self interpreter result isNil.\x0a\x09\x0a\x09\x22ValueNode\x22\x0a\x09self interpreter step.\x0a\x09\x0a\x09self assert: self interpreter result equals: 1",
@@ -681,7 +681,7 @@ function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?ni
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 $2=_st($Compiler())._new();
-_st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
+_st($2)._codeGeneratorClass_(self._codeGeneratorClass());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
@@ -700,7 +700,7 @@ category: 'initialization',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-self["@receiver"]=_st(_st(self)._targetClass())._new();
+self["@receiver"]=_st(self._targetClass())._new();
 return self}, function($ctx1) {$ctx1.fill(self,"setUp",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "setUp\x0a\x09receiver := self targetClass new",
@@ -717,10 +717,10 @@ 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");
+method=_st(self._compiler())._install_forClass_category_(aString,self._targetClass(),"tests");
 result=_st(self["@receiver"])._perform_(_st(method)._selector());
-_st(_st(self)._targetClass())._removeCompiledMethod_(method);
-_st(self)._assert_equals_(anObject,result);
+_st(self._targetClass())._removeCompiledMethod_(method);
+self._assert_equals_(anObject,result);
 return self}, function($ctx1) {$ctx1.fill(self,"should:return:",{aString:aString,anObject:anObject,method:method,result:result},smalltalk.CodeGeneratorTest)})},
 args: ["aString", "anObject"],
 source: "should: aString return: anObject\x0a\x09| method result |\x0a\x0a\x09method := self compiler install: aString forClass: self targetClass category: 'tests'.\x0a\x09result := receiver perform: method selector.\x0a\x09self targetClass removeCompiledMethod: method.\x0a\x09self assert: anObject equals: result",
@@ -770,9 +770,9 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo | a | a := true ifTrue: [ 1 ]. ^ a",(1));
+self._should_return_("foo | a | a := false ifTrue: [ 1 ]. ^ a",nil);
+self._should_return_("foo | a | ^ a := true ifTrue: [ 1 ]",(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testAssignment\x0a\x09self should: 'foo | a | a := true ifTrue: [ 1 ]. ^ a' return: 1.\x0a\x09self should: 'foo | a | a := false ifTrue: [ 1 ]. ^ a' return: nil.\x0a\x0a\x09self should: 'foo | a | ^ a := true ifTrue: [ 1 ]' return: 1",
@@ -788,8 +788,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._should_return_("\x5c arg ^ 4",(4));
-_st(self)._should_return_("\x5c\x5c arg ^ 42",(42));
+self._should_return_("\x5c arg ^ 4",(4));
+self._should_return_("\x5c\x5c arg ^ 42",(42));
 return self}, function($ctx1) {$ctx1.fill(self,"testBackslashSelectors",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testBackslashSelectors\x0a\x09\x0a\x09self should: '\x5c arg ^ 4' return: 4.\x0a\x09self should: '\x5c\x5c arg ^ 42' return: 42",
@@ -805,9 +805,9 @@ 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)]);
-_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)]);
+self._should_return_("foo ^ #(1 2 3) collect: [ :each | true ifTrue: [ each + 1 ] ]",[(2), (3), (4)]);
+self._should_return_("foo ^ #(1 2 3) collect: [ :each | false ifFalse: [ each + 1 ] ]",[(2), (3), (4)]);
+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)})},
 args: [],
 source: "testBlockReturn\x0a\x09self should: 'foo ^ #(1 2 3) collect: [ :each | true ifTrue: [ each + 1 ] ]' return: #(2 3 4).\x0a\x09self should: 'foo ^ #(1 2 3) collect: [ :each | false ifFalse: [ each + 1 ] ]' return: #(2 3 4).\x0a\x09self should: 'foo ^ #(1 2 3) collect: [ :each | each odd ifTrue: [ each + 1 ] ifFalse: [ each - 1 ] ]' return: #(2 1 4).",
@@ -823,7 +823,7 @@ 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)]);
+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)",
@@ -839,7 +839,7 @@ 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)]);
+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).",
@@ -855,7 +855,7 @@ 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))]));
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 'foo'->1.\x0a\x09^ #{ x. (true ifTrue: [ x := 'bar'->2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_(["foo".__minus_gt((1)),"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}.",
@@ -872,10 +872,10 @@ 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))]);
-_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))]));
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",["foo".__minus_gt($Array()),"bar".__minus_gt((2))]);
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",["foo".__minus_gt((1)),"bar".__minus_gt((2))]);
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",["foo".__minus_gt((1)),"bar".__minus_gt((2))]);
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ #{ 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_(["foo".__minus_gt((1)),"bar".__minus_gt((2))]));
 return self}, function($ctx1) {$ctx1.fill(self,"testInnerTemporalDependentElementsOrdered",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testInnerTemporalDependentElementsOrdered\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: ''foo''->x with: ''bar''->(true ifTrue: [ x := 2 ])\x0a' return: {'foo'->Array. 'bar'->2}.\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: ''foo''->x with: ''bar''->(true ifTrue: [ x := 2 ])\x0a' return: {'foo'->1. 'bar'->2}.\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { ''foo''->x. ''bar''->(true ifTrue: [ x := 2 ]) }\x0a' return: {'foo'->1. 'bar'->2}.\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ #{ ''foo''->x. ''bar''->(true ifTrue: [ x := 2 ]) }\x0a' return: #{'foo'->1. 'bar'->2}.",
@@ -891,15 +891,15 @@ category: 'tests',
 fn: function (){
 var self=this;
 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)]);
-_st(self)._should_return_("foo ^ true",true);
-_st(self)._should_return_("foo ^ false",false);
-_st(self)._should_return_("foo ^ #{1->2. 3->4}",smalltalk.HashedCollection._fromPairs_([_st((1)).__minus_gt((2)),_st((3)).__minus_gt((4))]));
-_st(self)._should_return_("foo ^ #hello","hello");
-_st(self)._should_return_("foo ^ -123.456",(-123.456));
+self._should_return_("foo ^ 1",(1));
+self._should_return_("foo ^ 'hello'","hello");
+self._should_return_("foo ^ #(1 2 3 4)",[(1), (2), (3), (4)]);
+self._should_return_("foo ^ {1. [:x | x ] value: 2. 3. [4] value}",[(1), (2), (3), (4)]);
+self._should_return_("foo ^ true",true);
+self._should_return_("foo ^ false",false);
+self._should_return_("foo ^ #{1->2. 3->4}",smalltalk.HashedCollection._fromPairs_([(1).__minus_gt((2)),(3).__minus_gt((4))]));
+self._should_return_("foo ^ #hello","hello");
+self._should_return_("foo ^ -123.456",(-123.456));
 return self}, function($ctx1) {$ctx1.fill(self,"testLiterals",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testLiterals\x0a\x09self should: 'foo ^ 1' return: 1.\x0a\x09self should: 'foo ^ ''hello''' return: 'hello'.\x0a\x09self should: 'foo ^ #(1 2 3 4)' return: #(1 2 3 4).\x0a\x09self should: 'foo ^ {1. [:x | x ] value: 2. 3. [4] value}' return: #(1 2 3 4).\x0a\x09self should: 'foo ^ true' return: true.\x0a\x09self should: 'foo ^ false' return: false.\x0a\x09self should: 'foo ^ #{1->2. 3->4}' return: #{1->2. 3->4}.\x0a\x09self should: 'foo ^ #hello' return: #hello.\x0a\x09self should: 'foo ^ -123.456' return: -123.456",
@@ -915,11 +915,11 @@ category: 'tests',
 fn: function (){
 var self=this;
 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"]);
-_st(self)._should_return_("foo | a b | a := 1. b := 2. ^ a + b",(3));
+self._should_return_("foo ^ 1",(1));
+self._should_return_("foo ^ 1 + 1",(2));
+self._should_return_("foo ",self["@receiver"]);
+self._should_return_("foo self asString",self["@receiver"]);
+self._should_return_("foo | a b | a := 1. b := 2. ^ a + b",(3));
 return self}, function($ctx1) {$ctx1.fill(self,"testLocalReturn",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testLocalReturn\x0a\x09self should: 'foo ^ 1' return: 1.\x0a\x09self should: 'foo ^ 1 + 1' return: 2.\x0a\x09self should: 'foo ' return: receiver.\x0a\x09self should: 'foo self asString' return: receiver.\x0a\x09self should: 'foo | a b | a := 1. b := 2. ^ a + b' return: 3",
@@ -935,11 +935,11 @@ category: 'tests',
 fn: function (){
 var self=this;
 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)]);
-_st(self)._should_return_("foo ^ 1 to: 5 by: 2",[(1), (3), (5)]);
+self._should_return_("foo ^ 1 asString","1");
+self._should_return_("foo ^ 1 + 1",(2));
+self._should_return_("foo ^ 1 + 2 * 3",(9));
+self._should_return_("foo ^ 1 to: 3",[(1), (2), (3)]);
+self._should_return_("foo ^ 1 to: 5 by: 2",[(1), (3), (5)]);
 return self}, function($ctx1) {$ctx1.fill(self,"testMessageSends",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testMessageSends\x0a\x09self should: 'foo ^ 1 asString' return: '1'.\x0a\x0a\x09self should: 'foo ^ 1 + 1' return: 2.\x0a\x09self should: 'foo ^ 1 + 2 * 3' return: 9.\x0a\x0a\x09self should: 'foo ^ 1 to: 3' return: #(1 2 3).\x0a\x09self should: 'foo ^ 1 to: 5 by: 2' return: #(1 3 5)",
@@ -955,7 +955,7 @@ 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)]);
+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)",
@@ -971,10 +971,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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"]);
+self._should_return_("foo ^ true ifTrue: [ false ifFalse: [ 1 ] ]",(1));
+self._should_return_("foo ^ true ifTrue: [ false ifTrue: [ 1 ] ]",nil);
+self._should_return_("foo true ifTrue: [ false ifFalse: [ ^ 1 ] ]",(1));
+self._should_return_("foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]",self["@receiver"]);
 return self}, function($ctx1) {$ctx1.fill(self,"testNestedIfTrue",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testNestedIfTrue\x0a\x09self should: 'foo ^ true ifTrue: [ false ifFalse: [ 1 ] ]' return: 1.\x0a\x09self should: 'foo ^ true ifTrue: [ false ifTrue: [ 1 ] ]' return: nil.\x0a\x0a\x09self should: 'foo true ifTrue: [ false ifFalse: [ ^ 1 ] ]' return: 1.\x0a\x09self should: 'foo true ifTrue: [ false ifTrue: [ ^ 1 ] ]' return: receiver.",
@@ -990,10 +990,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo [ ^ 1 ] value",(1));
+self._should_return_("foo [ ^ 1 + 1 ] value",(2));
+self._should_return_("foo | a b | a := 1. b := 2. [ ^ a + b ] value. self halt",(3));
+self._should_return_("foo [ :x | ^ x + x ] value: 4. ^ 2",(8));
 return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testNonLocalReturn\x0a\x09self should: 'foo [ ^ 1 ] value' return: 1.\x0a\x09self should: 'foo [ ^ 1 + 1 ] value' return: 2.\x0a\x09self should: 'foo | a b | a := 1. b := 2. [ ^ a + b ] value. self halt' return: 3.\x0a\x09self should: 'foo [ :x | ^ x + x ] value: 4. ^ 2' return: 8",
@@ -1009,8 +1009,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._should_return_("foo ^Object",_st(smalltalk)._at_("Object"));
-_st(self)._should_return_("foo ^NonExistent",nil);
+self._should_return_("foo ^Object",_st(smalltalk)._at_("Object"));
+self._should_return_("foo ^NonExistent",nil);
 return self}, function($ctx1) {$ctx1.fill(self,"testPascalCaseGlobal",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testPascalCaseGlobal\x0a\x09self should: 'foo ^Object' return: (smalltalk at: 'Object').\x0a\x09self should: 'foo ^NonExistent' return: nil",
@@ -1027,8 +1027,8 @@ 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)]);
-_st(self)._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: x with: (true ifTrue: [ x := 2 ])\x0a",[$Array(),(2)]);
+self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: x with: (true ifTrue: [ x := 2 ])\x0a",[(1), (2)]);
+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: [],
 source: "testSendReceiverAndArgumentsOrdered\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: x with: (true ifTrue: [ x := 2 ])\x0a' return: #(1 2).\x0a\x0a\x09self should: 'foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: x with: (true ifTrue: [ x := 2 ])\x0a' return: {Array. 2}.",
@@ -1044,10 +1044,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo true ifFalse: [ ^ 1 ]",self["@receiver"]);
+self._should_return_("foo false ifFalse: [ ^ 2 ]",(2));
+self._should_return_("foo ^ true ifFalse: [ 1 ]",nil);
+self._should_return_("foo ^ false ifFalse: [ 2 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifFalse",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testifFalse\x0a\x09self should: 'foo true ifFalse: [ ^ 1 ]' return: receiver.\x0a\x09self should: 'foo false ifFalse: [ ^ 2 ]' return: 2.\x0a\x09\x0a\x09self should: 'foo ^ true ifFalse: [ 1 ]' return: nil.\x0a\x09self should: 'foo ^ false ifFalse: [ 2 ]' return: 2.",
@@ -1063,10 +1063,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo true ifFalse: [ ^ 1 ] ifTrue: [ ^ 2 ]",(2));
+self._should_return_("foo false ifFalse: [ ^ 2 ] ifTrue: [ ^1 ]",(2));
+self._should_return_("foo ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]",(2));
+self._should_return_("foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifFalseIfTrue",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testifFalseIfTrue\x0a\x09self should: 'foo true ifFalse: [ ^ 1 ] ifTrue: [ ^ 2 ]' return: 2.\x0a\x09self should: 'foo false ifFalse: [ ^ 2 ] ifTrue: [ ^1 ]' return: 2.\x0a\x09\x0a\x09self should: 'foo ^ true ifFalse: [ 1 ] ifTrue: [ 2 ]' return: 2.\x0a\x09self should: 'foo ^ false ifFalse: [ 2 ] ifTrue: [ 1 ]' return: 2.",
@@ -1082,10 +1082,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo ^ 1 ifNil: [ 2 ]",(1));
+self._should_return_("foo ^ nil ifNil: [ 2 ]",(2));
+self._should_return_("foo 1 ifNil: [ ^ 2 ]",self["@receiver"]);
+self._should_return_("foo nil ifNil: [ ^ 2 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifNil",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testifNil\x0a\x09self should: 'foo ^ 1 ifNil: [ 2 ]' return: 1.\x0a\x09self should: 'foo ^ nil ifNil: [ 2 ]' return: 2.\x0a\x0a\x09self should: 'foo 1 ifNil: [ ^ 2 ]' return: receiver.\x0a\x09self should: 'foo nil ifNil: [ ^ 2 ]' return: 2.",
@@ -1101,10 +1101,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo ^ 1 ifNil: [ 2 ] ifNotNil: [ 3 ]",(3));
+self._should_return_("foo ^ nil ifNil: [ 2 ] ifNotNil: [ 3 ]",(2));
+self._should_return_("foo 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(3));
+self._should_return_("foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifNilIfNotNil",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testifNilIfNotNil\x0a\x09self should: 'foo ^ 1 ifNil: [ 2 ] ifNotNil: [ 3 ]' return: 3.\x0a\x09self should: 'foo ^ nil ifNil: [ 2 ] ifNotNil: [ 3 ]' return: 2.\x0a\x0a\x09self should: 'foo 1 ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]' return: 3.\x0a\x09self should: 'foo nil ifNil: [ ^ 2 ] ifNotNil: [ ^3 ]' return: 2.",
@@ -1120,10 +1120,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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"]);
+self._should_return_("foo ^ 1 ifNotNil: [ 2 ]",(2));
+self._should_return_("foo ^ nil ifNotNil: [ 2 ]",nil);
+self._should_return_("foo 1 ifNotNil: [ ^ 2 ]",(2));
+self._should_return_("foo nil ifNotNil: [ ^ 2 ]",self["@receiver"]);
 return self}, function($ctx1) {$ctx1.fill(self,"testifNotNil",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testifNotNil\x0a\x09self should: 'foo ^ 1 ifNotNil: [ 2 ]' return: 2.\x0a\x09self should: 'foo ^ nil ifNotNil: [ 2 ]' return: nil.\x0a\x0a\x09self should: 'foo 1 ifNotNil: [ ^ 2 ]' return: 2.\x0a\x09self should: 'foo nil ifNotNil: [ ^ 2 ]' return: receiver.",
@@ -1139,12 +1139,12 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._should_return_("foo ^ 1 ifNotNil: [ :val | val + 2 ]",(3));
-_st(self)._should_return_("foo ^ nil ifNotNil: [ :val | val + 2 ]",nil);
-_st(self)._should_return_("foo ^ 1 ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]",(3));
-_st(self)._should_return_("foo ^ nil ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]",(5));
-_st(self)._should_return_("foo ^ 1 ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]",(3));
-_st(self)._should_return_("foo ^ nil ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]",(5));
+self._should_return_("foo ^ 1 ifNotNil: [ :val | val + 2 ]",(3));
+self._should_return_("foo ^ nil ifNotNil: [ :val | val + 2 ]",nil);
+self._should_return_("foo ^ 1 ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]",(3));
+self._should_return_("foo ^ nil ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]",(5));
+self._should_return_("foo ^ 1 ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]",(3));
+self._should_return_("foo ^ nil ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]",(5));
 return self}, function($ctx1) {$ctx1.fill(self,"testifNotNilWithArgument",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testifNotNilWithArgument\x0a\x09self should: 'foo ^ 1 ifNotNil: [ :val | val + 2 ]' return: 3.\x0a\x09self should: 'foo ^ nil ifNotNil: [ :val | val + 2 ]' return: nil.\x0a\x09\x0a\x09self should: 'foo ^ 1 ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]' return: 3.\x0a\x09self should: 'foo ^ nil ifNil: [ 5 ] ifNotNil: [ :val | val + 2 ]' return: 5.\x0a\x09\x0a\x09self should: 'foo ^ 1 ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]' return: 3.\x0a\x09self should: 'foo ^ nil ifNotNil: [ :val | val + 2 ] ifNil: [ 5 ]' return: 5",
@@ -1160,10 +1160,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo false ifTrue: [ ^ 1 ]",self["@receiver"]);
+self._should_return_("foo true ifTrue: [ ^ 2 ]",(2));
+self._should_return_("foo ^ false ifTrue: [ 1 ]",nil);
+self._should_return_("foo ^ true ifTrue: [ 2 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifTrue",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testifTrue\x0a\x09self should: 'foo false ifTrue: [ ^ 1 ]' return: receiver.\x0a\x09self should: 'foo true ifTrue: [ ^ 2 ]' return: 2.\x0a\x09\x0a\x09self should: 'foo ^ false ifTrue: [ 1 ]' return: nil.\x0a\x09self should: 'foo ^ true ifTrue: [ 2 ]' return: 2.",
@@ -1179,10 +1179,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._should_return_("foo false ifTrue: [ ^ 1 ] ifFalse: [ ^2 ]",(2));
+self._should_return_("foo true ifTrue: [ ^ 1 ] ifFalse: [ ^ 2 ]",(1));
+self._should_return_("foo ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]",(1));
+self._should_return_("foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]",(2));
 return self}, function($ctx1) {$ctx1.fill(self,"testifTrueIfFalse",{},smalltalk.CodeGeneratorTest)})},
 args: [],
 source: "testifTrueIfFalse\x0a\x09self should: 'foo false ifTrue: [ ^ 1 ] ifFalse: [ ^2 ]' return: 2.\x0a\x09self should: 'foo true ifTrue: [ ^ 1 ] ifFalse: [ ^ 2 ]' return: 1.\x0a\x09\x0a\x09self should: 'foo ^ false ifTrue: [ 2 ] ifFalse: [ 1 ]' return: 1.\x0a\x09self should: 'foo ^ true ifTrue: [ 2 ] ifFalse: [ 1 ]' return: 2.",
@@ -1232,7 +1232,7 @@ _st($1)._value_("Object");
 $2=_st($1)._yourself();
 node=$2;
 _st(_st($SemanticAnalyzer())._new())._visit_(node);
-_st(self)._assert_(_st(_st(node)._binding())._isClassRefVar());
+self._assert_(_st(_st(node)._binding())._isClassRefVar());
 return self}, function($ctx1) {$ctx1.fill(self,"testClassRefVar",{node:node},smalltalk.ScopeVarTest)})},
 args: [],
 source: "testClassRefVar\x0a\x09| node |\x0a\x09node := ClassReferenceNode new\x0a\x09\x09value: 'Object';\x0a\x09\x09yourself.\x0a\x09SemanticAnalyzer new visit: node.\x0a\x09self assert: node binding isClassRefVar",
@@ -1258,7 +1258,7 @@ $2=_st($1)._yourself();
 node=$2;
 scope=_st($MethodLexicalScope())._new();
 _st(scope)._addIVar_("bzzz");
-_st(self)._assert_(_st(_st(scope)._bindingFor_(node))._isInstanceVar());
+self._assert_(_st(_st(scope)._bindingFor_(node))._isInstanceVar());
 return self}, function($ctx1) {$ctx1.fill(self,"testInstanceVar",{node:node,scope:scope},smalltalk.ScopeVarTest)})},
 args: [],
 source: "testInstanceVar\x0a\x09| node scope |\x0a\x09node := VariableNode new\x0a\x09\x09value: 'bzzz';\x0a\x09\x09yourself.\x0a\x09scope := MethodLexicalScope new.\x0a\x09scope addIVar: 'bzzz'.\x0a\x09self assert: (scope bindingFor: node) isInstanceVar",
@@ -1286,7 +1286,7 @@ _st($1)._value_(each);
 $2=_st($1)._yourself();
 node=$2;
 node;
-return _st(self)._assert_(_st(_st(_st($MethodLexicalScope())._new())._bindingFor_(node))._isPseudoVar());
+return self._assert_(_st(_st(_st($MethodLexicalScope())._new())._bindingFor_(node))._isPseudoVar());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"testPseudoVar",{node:node,pseudoVars:pseudoVars},smalltalk.ScopeVarTest)})},
 args: [],
@@ -1313,7 +1313,7 @@ $2=_st($1)._yourself();
 node=$2;
 scope=_st($MethodLexicalScope())._new();
 _st(scope)._addTemp_("bzzz");
-_st(self)._assert_(_st(_st(scope)._bindingFor_(node))._isTempVar());
+self._assert_(_st(_st(scope)._bindingFor_(node))._isTempVar());
 return self}, function($ctx1) {$ctx1.fill(self,"testTempVar",{node:node,scope:scope},smalltalk.ScopeVarTest)})},
 args: [],
 source: "testTempVar\x0a\x09| node scope |\x0a\x09node := VariableNode new\x0a\x09\x09value: 'bzzz';\x0a\x09\x09yourself.\x0a\x09scope := MethodLexicalScope new.\x0a\x09scope addTemp: 'bzzz'.\x0a\x09self assert: (scope bindingFor: node) isTempVar",
@@ -1337,7 +1337,7 @@ $1=_st($VariableNode())._new();
 _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 node=$2;
-_st(self)._assert_(_st(_st(_st($MethodLexicalScope())._new())._bindingFor_(node))._isNil());
+self._assert_(_st(_st(_st($MethodLexicalScope())._new())._bindingFor_(node))._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVar",{node:node},smalltalk.ScopeVarTest)})},
 args: [],
 source: "testUnknownVar\x0a\x09| node |\x0a\x09node := VariableNode new\x0a\x09\x09value: 'bzzz';\x0a\x09\x09yourself.\x0a\x09self assert: (MethodLexicalScope new bindingFor: node) isNil",
@@ -1378,7 +1378,7 @@ function $InvalidAssignmentError(){return smalltalk.InvalidAssignmentError||(typ
 return smalltalk.withContext(function($ctx1) { 
 src="foo self := 1";
 ast=_st(smalltalk)._parse_(src);
-_st(self)._should_raise_((function(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$InvalidAssignmentError());
@@ -1401,7 +1401,7 @@ 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());
+self._deny_(_st(_st(ast)._scope())._hasNonLocalReturn());
 return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 source: "testNonLocalReturn\x0a\x09| src ast |\x0a\x0a\x09src := 'foo | a | a + 1. ^ a'.\x0a\x09ast := smalltalk parse: src.\x0a\x09analyzer visit: ast.\x0a\x0a\x09self deny: ast scope hasNonLocalReturn",
@@ -1421,7 +1421,7 @@ 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());
+self._assert_(_st(_st(ast)._scope())._hasNonLocalReturn());
 return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 source: "testNonLocalReturn2\x0a\x09| src ast |\x0a\x0a\x09src := 'foo | a | a + 1. [ [ ^ a] ]'.\x0a\x09ast := smalltalk parse: src.\x0a\x09analyzer visit: ast.\x0a\x0a\x09self assert: ast scope hasNonLocalReturn",
@@ -1441,7 +1441,7 @@ 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()));
+self._deny_(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()).__eq_eq(_st(ast)._scope()));
 return self}, function($ctx1) {$ctx1.fill(self,"testScope",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 source: "testScope\x0a\x09| src ast |\x0a\x0a\x09src := 'foo | a | a + 1. [ | b | b := a ]'.\x0a\x09ast := smalltalk parse: src.\x0a\x09analyzer visit: ast.\x0a\x0a\x09self deny: ast nodes first nodes last scope == ast scope.",
@@ -1461,7 +1461,7 @@ 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()));
+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()));
 return self}, function($ctx1) {$ctx1.fill(self,"testScope2",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 source: "testScope2\x0a\x09| src ast |\x0a\x0a\x09src := 'foo | a | a + 1. [ [ | b | b := a ] ]'.\x0a\x09ast := smalltalk parse: src.\x0a\x09analyzer visit: ast.\x0a\x0a\x09self deny: ast nodes first nodes last nodes first nodes first scope == ast scope.",
@@ -1481,8 +1481,8 @@ 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));
-_st(self)._assert_equals_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._scope())._scopeLevel(),(3));
+self._assert_equals_(_st(_st(ast)._scope())._scopeLevel(),(1));
+self._assert_equals_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._scope())._scopeLevel(),(3));
 return self}, function($ctx1) {$ctx1.fill(self,"testScopeLevel",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 source: "testScopeLevel\x0a\x09| src ast |\x0a\x0a\x09src := 'foo | a | a + 1. [ [ | b | b := a ] ]'.\x0a\x09ast := smalltalk parse: src.\x0a\x09analyzer visit: ast.\x0a\x0a\x09self assert: ast scope scopeLevel equals: 1.\x0a\x09self assert: ast nodes first nodes last nodes first nodes first scope scopeLevel equals: 3",
@@ -1502,7 +1502,7 @@ function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof
 return smalltalk.withContext(function($ctx1) { 
 src="foo | a | b + a";
 ast=_st(smalltalk)._parse_(src);
-_st(self)._should_raise_((function(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
@@ -1525,7 +1525,7 @@ function $UnknownVariableError(){return smalltalk.UnknownVariableError||(typeof
 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(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$UnknownVariableError());
@@ -1567,7 +1567,7 @@ function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typ
 return smalltalk.withContext(function($ctx1) { 
 src="foo | a | a + 1. [ | a | a := 2 ]";
 ast=_st(smalltalk)._parse_(src);
-_st(self)._should_raise_((function(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
@@ -1628,7 +1628,7 @@ function $ShadowingVariableError(){return smalltalk.ShadowingVariableError||(typ
 return smalltalk.withContext(function($ctx1) { 
 src="foo | a | a + 1. [ [ [ | a | a := 2 ] ] ]";
 ast=_st(smalltalk)._parse_(src);
-_st(self)._should_raise_((function(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ShadowingVariableError());
@@ -1651,10 +1651,10 @@ 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());
-_st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._scope()).__eq_eq(_st(ast)._scope()));
-_st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._left())._binding())._isTempVar());
-_st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._left())._binding())._scope()).__eq_eq(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()));
+self._assert_(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._isTempVar());
+self._assert_(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._first())._receiver())._binding())._scope()).__eq_eq(_st(ast)._scope()));
+self._assert_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._left())._binding())._isTempVar());
+self._assert_(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._nodes())._first())._nodes())._first())._left())._binding())._scope()).__eq_eq(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes())._last())._scope()));
 return self}, function($ctx1) {$ctx1.fill(self,"testVariablesLookup",{src:src,ast:ast},smalltalk.SemanticAnalyzerTest)})},
 args: [],
 source: "testVariablesLookup\x0a\x09| src ast |\x0a\x0a\x09src := 'foo | a | a + 1. [ | b | b := a ]'.\x0a\x09ast := smalltalk parse: src.\x0a\x09analyzer visit: ast.\x0a\x0a\x09\x22Binding for `a` in the message send\x22\x0a\x09self assert: ast nodes first nodes first receiver binding isTempVar.\x0a\x09self assert: ast nodes first nodes first receiver binding scope == ast scope.\x0a\x0a\x09\x22Binding for `b`\x22\x0a\x09self assert: ast nodes first nodes last nodes first nodes first left binding isTempVar.\x0a\x09self assert: ast nodes first nodes last nodes first nodes first left binding scope == ast nodes first nodes last scope.",

+ 3 - 3
js/Examples.deploy.js

@@ -57,13 +57,13 @@ $3=_st(html)._button();
 _st($3)._with_("++");
 $4=_st($3)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._increase();
+return 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 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"]}),
@@ -76,7 +76,7 @@ selector: "tryExample",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._new())._appendToJQuery_(_st("body")._asJQuery());
+_st(self._new())._appendToJQuery_("body"._asJQuery());
 return self}, function($ctx1) {$ctx1.fill(self,"tryExample",{},smalltalk.Counter.klass)})},
 messageSends: ["appendToJQuery:", "asJQuery", "new"]}),
 smalltalk.Counter.klass);

+ 3 - 3
js/Examples.js

@@ -74,13 +74,13 @@ $3=_st(html)._button();
 _st($3)._with_("++");
 $4=_st($3)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._increase();
+return 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 self._decrease();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.Counter)})},
 args: ["html"],
@@ -98,7 +98,7 @@ category: 'example',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._new())._appendToJQuery_(_st("body")._asJQuery());
+_st(self._new())._appendToJQuery_("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",

+ 2 - 2
js/Helios-Announcements.deploy.js

@@ -73,7 +73,7 @@ fn: function (aCodeModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._code_(aCodeModel);
 $3=_st($2)._yourself();
 $1=$3;
@@ -338,7 +338,7 @@ fn: function (anItem){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._item_(anItem);
 $3=_st($2)._yourself();
 $1=$3;

+ 2 - 2
js/Helios-Announcements.js

@@ -101,7 +101,7 @@ fn: function (aCodeModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._code_(aCodeModel);
 $3=_st($2)._yourself();
 $1=$3;
@@ -455,7 +455,7 @@ fn: function (anItem){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._item_(anItem);
 $3=_st($2)._yourself();
 $1=$3;

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


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 148 - 150
js/Helios-Browser.js


+ 11 - 11
js/Helios-Commands-Browser.deploy.js

@@ -60,7 +60,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnClasses();
+_st(self._model())._focusOnClasses();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToClassesCommand)})},
 messageSends: ["focusOnClasses", "model"]}),
 smalltalk.HLGoToClassesCommand);
@@ -96,7 +96,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnMethods();
+_st(self._model())._focusOnMethods();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToMethodsCommand)})},
 messageSends: ["focusOnMethods", "model"]}),
 smalltalk.HLGoToMethodsCommand);
@@ -132,7 +132,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnPackages();
+_st(self._model())._focusOnPackages();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToPackagesCommand)})},
 messageSends: ["focusOnPackages", "model"]}),
 smalltalk.HLGoToPackagesCommand);
@@ -168,7 +168,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnProtocols();
+_st(self._model())._focusOnProtocols();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToProtocolsCommand)})},
 messageSends: ["focusOnProtocols", "model"]}),
 smalltalk.HLGoToProtocolsCommand);
@@ -204,7 +204,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnSourceCode();
+_st(self._model())._focusOnSourceCode();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToSourceCodeCommand)})},
 messageSends: ["focusOnSourceCode", "model"]}),
 smalltalk.HLGoToSourceCodeCommand);
@@ -240,7 +240,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._editComment();
+_st(self._model())._editComment();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLEditCommentCommand)})},
 messageSends: ["editComment", "model"]}),
 smalltalk.HLEditCommentCommand);
@@ -252,9 +252,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._showComment())._and_((function(){
+$1=_st(_st(self._model())._showComment())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(_st(self)._model())._selectedClass())._notNil();
+return _st(_st(self._model())._selectedClass())._notNil();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLEditCommentCommand)})},
@@ -317,7 +317,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._showComment_(_st(_st(_st(self)._model())._showComment())._not());
+_st(self._model())._showComment_(_st(_st(self._model())._showComment())._not());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleClassCommentCommand)})},
 messageSends: ["showComment:", "not", "showComment", "model"]}),
 smalltalk.HLToggleClassCommentCommand);
@@ -353,7 +353,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._showInstance_(false);
+_st(self._model())._showInstance_(false);
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleClassSideCommand)})},
 messageSends: ["showInstance:", "model"]}),
 smalltalk.HLToggleClassSideCommand);
@@ -389,7 +389,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._showInstance_(true);
+_st(self._model())._showInstance_(true);
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleInstanceSideCommand)})},
 messageSends: ["showInstance:", "model"]}),
 smalltalk.HLToggleInstanceSideCommand);

+ 11 - 11
js/Helios-Commands-Browser.js

@@ -81,7 +81,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnClasses();
+_st(self._model())._focusOnClasses();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToClassesCommand)})},
 args: [],
 source: "execute\x0a\x09self model focusOnClasses",
@@ -132,7 +132,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnMethods();
+_st(self._model())._focusOnMethods();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToMethodsCommand)})},
 args: [],
 source: "execute\x0a\x09self model focusOnMethods",
@@ -183,7 +183,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnPackages();
+_st(self._model())._focusOnPackages();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToPackagesCommand)})},
 args: [],
 source: "execute\x0a\x09self model focusOnPackages",
@@ -234,7 +234,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnProtocols();
+_st(self._model())._focusOnProtocols();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToProtocolsCommand)})},
 args: [],
 source: "execute\x0a\x09self model focusOnProtocols",
@@ -285,7 +285,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._focusOnSourceCode();
+_st(self._model())._focusOnSourceCode();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLGoToSourceCodeCommand)})},
 args: [],
 source: "execute\x0a\x09self model focusOnSourceCode",
@@ -336,7 +336,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._editComment();
+_st(self._model())._editComment();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLEditCommentCommand)})},
 args: [],
 source: "execute\x0a\x09self model editComment",
@@ -353,9 +353,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._showComment())._and_((function(){
+$1=_st(_st(self._model())._showComment())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(_st(self)._model())._selectedClass())._notNil();
+return _st(_st(self._model())._selectedClass())._notNil();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLEditCommentCommand)})},
@@ -443,7 +443,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._showComment_(_st(_st(_st(self)._model())._showComment())._not());
+_st(self._model())._showComment_(_st(_st(self._model())._showComment())._not());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleClassCommentCommand)})},
 args: [],
 source: "execute\x0a\x09self model showComment: self model showComment not",
@@ -494,7 +494,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._showInstance_(false);
+_st(self._model())._showInstance_(false);
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleClassSideCommand)})},
 args: [],
 source: "execute\x0a\x09self model showInstance: false",
@@ -545,7 +545,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._showInstance_(true);
+_st(self._model())._showInstance_(true);
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLToggleInstanceSideCommand)})},
 args: [],
 source: "execute\x0a\x09self model showInstance: true",

+ 29 - 29
js/Helios-Commands-Core.deploy.js

@@ -8,7 +8,7 @@ var self=this;
 function $HLBindingAction(){return smalltalk.HLBindingAction||(typeof HLBindingAction=="undefined"?nil:HLBindingAction)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st($HLBindingAction())._on_labelled_(_st(self)._keyCode(),_st(self)._label());
+$2=_st($HLBindingAction())._on_labelled_(self._keyCode(),self._label());
 _st($2)._command_(self);
 $3=_st($2)._yourself();
 $1=$3;
@@ -24,11 +24,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._isBindingGroup();
+$2=self._isBindingGroup();
 if(smalltalk.assert($2)){
-$1=_st(self)._asGroupBinding();
+$1=self._asGroupBinding();
 } else {
-$1=_st(self)._asActionBinding();
+$1=self._asActionBinding();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asBinding",{},smalltalk.HLCommand)})},
@@ -43,7 +43,7 @@ var self=this;
 function $HLBindingGroup(){return smalltalk.HLBindingGroup||(typeof HLBindingGroup=="undefined"?nil:HLBindingGroup)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($HLBindingGroup())._on_labelled_(_st(self)._keyCode(),_st(self)._label());
+$1=_st($HLBindingGroup())._on_labelled_(self._keyCode(),self._label());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asGroupBinding",{},smalltalk.HLCommand)})},
 messageSends: ["on:labelled:", "keyCode", "label"]}),
@@ -55,7 +55,7 @@ selector: "commandError:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._error_(aString);
+self._error_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"commandError:",{aString:aString},smalltalk.HLCommand)})},
 messageSends: ["error:"]}),
 smalltalk.HLCommand);
@@ -78,7 +78,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._documentation();
+$1=_st(self._class())._documentation();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"documentation",{},smalltalk.HLCommand)})},
 messageSends: ["documentation", "class"]}),
@@ -141,7 +141,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._label();
+$1=self._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputLabel",{},smalltalk.HLCommand)})},
 messageSends: ["label"]}),
@@ -154,7 +154,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isBindingGroup())._not();
+$1=_st(self._isBindingGroup())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAction",{},smalltalk.HLCommand)})},
 messageSends: ["not", "isBindingGroup"]}),
@@ -178,7 +178,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(_st(self)._class())._methodDictionary())._includesKey_("execute"))._not();
+$1=_st(_st(_st(self._class())._methodDictionary())._includesKey_("execute"))._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBindingGroup",{},smalltalk.HLCommand)})},
 messageSends: ["not", "includesKey:", "methodDictionary", "class"]}),
@@ -202,7 +202,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._key();
+$1=_st(self._class())._key();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLCommand)})},
 messageSends: ["key", "class"]}),
@@ -215,7 +215,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._key())._asUppercase())._charCodeAt_((1));
+$1=_st(_st(self._key())._asUppercase())._charCodeAt_((1));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"keyCode",{},smalltalk.HLCommand)})},
 messageSends: ["charCodeAt:", "asUppercase", "key"]}),
@@ -228,7 +228,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._label();
+$1=_st(self._class())._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLCommand)})},
 messageSends: ["label", "class"]}),
@@ -241,7 +241,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._menuLabel();
+$1=_st(self._class())._menuLabel();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"menuLabel",{},smalltalk.HLCommand)})},
 messageSends: ["menuLabel", "class"]}),
@@ -254,7 +254,7 @@ fn: function (aBinding){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(aBinding)._add_(_st(self)._asBinding());
+$1=_st(aBinding)._add_(self._asBinding());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand)})},
 messageSends: ["add:", "asBinding"]}),
@@ -271,11 +271,11 @@ function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof Ordere
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 classes=_st($OrderedCollection())._new();
-$1=_st(self)._isConcrete();
+$1=self._isConcrete();
 if(smalltalk.assert($1)){
 _st(classes)._add_(self);
 };
-_st(_st(self)._subclasses())._do_((function(each){
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(classes)._addAll_(_st(each)._concreteClasses());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -303,7 +303,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._key())._notNil();
+$1=_st(self._key())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isConcrete",{},smalltalk.HLCommand.klass)})},
 messageSends: ["notNil", "key"]}),
@@ -349,7 +349,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._label();
+$1=self._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"menuLabel",{},smalltalk.HLCommand.klass)})},
 messageSends: ["label"]}),
@@ -363,15 +363,15 @@ var self=this;
 var newBinding;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._isConcrete();
+$1=self._isConcrete();
 if(smalltalk.assert($1)){
-newBinding=_st(self)._registerOn_(aBinding);
+newBinding=self._registerOn_(aBinding);
 newBinding;
 } else {
 newBinding=aBinding;
 newBinding;
 };
-_st(_st(self)._subclasses())._do_((function(each){
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._registerConcreteClassesOn_(newBinding);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -386,7 +386,7 @@ fn: function (aBinding){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._registerOn_(aBinding);
+$1=_st(self._new())._registerOn_(aBinding);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand.klass)})},
 messageSends: ["registerOn:", "new"]}),
@@ -463,7 +463,7 @@ fn: function (aModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._new();
+$1=self._new();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"for:",{aModel:aModel},smalltalk.HLModelCommand.klass)})},
 messageSends: ["new"]}),
@@ -477,18 +477,18 @@ var self=this;
 var newBinding;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isConcrete())._and_((function(){
+$1=_st(self._isConcrete())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._isValidFor_(aModel);
+return self._isValidFor_(aModel);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
-newBinding=_st(self)._registerOn_for_(aBinding,aModel);
+newBinding=self._registerOn_for_(aBinding,aModel);
 newBinding;
 } else {
 newBinding=aBinding;
 newBinding;
 };
-_st(_st(self)._subclasses())._do_((function(each){
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._registerConcreteClassesOn_for_(newBinding,aModel);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -503,7 +503,7 @@ fn: function (aBinding,aModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._for_(aModel))._registerOn_(aBinding);
+$1=_st(self._for_(aModel))._registerOn_(aBinding);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"registerOn:for:",{aBinding:aBinding,aModel:aModel},smalltalk.HLModelCommand.klass)})},
 messageSends: ["registerOn:", "for:"]}),

+ 29 - 29
js/Helios-Commands-Core.js

@@ -9,7 +9,7 @@ var self=this;
 function $HLBindingAction(){return smalltalk.HLBindingAction||(typeof HLBindingAction=="undefined"?nil:HLBindingAction)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st($HLBindingAction())._on_labelled_(_st(self)._keyCode(),_st(self)._label());
+$2=_st($HLBindingAction())._on_labelled_(self._keyCode(),self._label());
 _st($2)._command_(self);
 $3=_st($2)._yourself();
 $1=$3;
@@ -30,11 +30,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._isBindingGroup();
+$2=self._isBindingGroup();
 if(smalltalk.assert($2)){
-$1=_st(self)._asGroupBinding();
+$1=self._asGroupBinding();
 } else {
-$1=_st(self)._asActionBinding();
+$1=self._asActionBinding();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asBinding",{},smalltalk.HLCommand)})},
@@ -54,7 +54,7 @@ var self=this;
 function $HLBindingGroup(){return smalltalk.HLBindingGroup||(typeof HLBindingGroup=="undefined"?nil:HLBindingGroup)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($HLBindingGroup())._on_labelled_(_st(self)._keyCode(),_st(self)._label());
+$1=_st($HLBindingGroup())._on_labelled_(self._keyCode(),self._label());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asGroupBinding",{},smalltalk.HLCommand)})},
 args: [],
@@ -71,7 +71,7 @@ category: 'error handling',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._error_(aString);
+self._error_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"commandError:",{aString:aString},smalltalk.HLCommand)})},
 args: ["aString"],
 source: "commandError: aString\x0a\x09self error: aString",
@@ -104,7 +104,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._documentation();
+$1=_st(self._class())._documentation();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"documentation",{},smalltalk.HLCommand)})},
 args: [],
@@ -192,7 +192,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._label();
+$1=self._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputLabel",{},smalltalk.HLCommand)})},
 args: [],
@@ -210,7 +210,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isBindingGroup())._not();
+$1=_st(self._isBindingGroup())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAction",{},smalltalk.HLCommand)})},
 args: [],
@@ -244,7 +244,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(_st(self)._class())._methodDictionary())._includesKey_("execute"))._not();
+$1=_st(_st(_st(self._class())._methodDictionary())._includesKey_("execute"))._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBindingGroup",{},smalltalk.HLCommand)})},
 args: [],
@@ -278,7 +278,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._key();
+$1=_st(self._class())._key();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"key",{},smalltalk.HLCommand)})},
 args: [],
@@ -296,7 +296,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._key())._asUppercase())._charCodeAt_((1));
+$1=_st(_st(self._key())._asUppercase())._charCodeAt_((1));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"keyCode",{},smalltalk.HLCommand)})},
 args: [],
@@ -314,7 +314,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._label();
+$1=_st(self._class())._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLCommand)})},
 args: [],
@@ -332,7 +332,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._menuLabel();
+$1=_st(self._class())._menuLabel();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"menuLabel",{},smalltalk.HLCommand)})},
 args: [],
@@ -350,7 +350,7 @@ fn: function (aBinding){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(aBinding)._add_(_st(self)._asBinding());
+$1=_st(aBinding)._add_(self._asBinding());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand)})},
 args: ["aBinding"],
@@ -372,11 +372,11 @@ function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof Ordere
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 classes=_st($OrderedCollection())._new();
-$1=_st(self)._isConcrete();
+$1=self._isConcrete();
 if(smalltalk.assert($1)){
 _st(classes)._add_(self);
 };
-_st(_st(self)._subclasses())._do_((function(each){
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(classes)._addAll_(_st(each)._concreteClasses());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -414,7 +414,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._key())._notNil();
+$1=_st(self._key())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isConcrete",{},smalltalk.HLCommand.klass)})},
 args: [],
@@ -480,7 +480,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._label();
+$1=self._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"menuLabel",{},smalltalk.HLCommand.klass)})},
 args: [],
@@ -499,15 +499,15 @@ var self=this;
 var newBinding;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._isConcrete();
+$1=self._isConcrete();
 if(smalltalk.assert($1)){
-newBinding=_st(self)._registerOn_(aBinding);
+newBinding=self._registerOn_(aBinding);
 newBinding;
 } else {
 newBinding=aBinding;
 newBinding;
 };
-_st(_st(self)._subclasses())._do_((function(each){
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._registerConcreteClassesOn_(newBinding);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -527,7 +527,7 @@ fn: function (aBinding){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._registerOn_(aBinding);
+$1=_st(self._new())._registerOn_(aBinding);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"registerOn:",{aBinding:aBinding},smalltalk.HLCommand.klass)})},
 args: ["aBinding"],
@@ -634,7 +634,7 @@ fn: function (aModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._new();
+$1=self._new();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"for:",{aModel:aModel},smalltalk.HLModelCommand.klass)})},
 args: ["aModel"],
@@ -653,18 +653,18 @@ var self=this;
 var newBinding;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._isConcrete())._and_((function(){
+$1=_st(self._isConcrete())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._isValidFor_(aModel);
+return self._isValidFor_(aModel);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
-newBinding=_st(self)._registerOn_for_(aBinding,aModel);
+newBinding=self._registerOn_for_(aBinding,aModel);
 newBinding;
 } else {
 newBinding=aBinding;
 newBinding;
 };
-_st(_st(self)._subclasses())._do_((function(each){
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._registerConcreteClassesOn_for_(newBinding,aModel);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -684,7 +684,7 @@ fn: function (aBinding,aModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._for_(aModel))._registerOn_(aBinding);
+$1=_st(self._for_(aModel))._registerOn_(aBinding);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"registerOn:for:",{aBinding:aBinding,aModel:aModel},smalltalk.HLModelCommand.klass)})},
 args: ["aBinding", "aModel"],

+ 31 - 31
js/Helios-Commands-Tools.deploy.js

@@ -19,7 +19,7 @@ fn: function (aToolModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._model_(aToolModel);
 $3=_st($2)._yourself();
 $1=$3;
@@ -60,7 +60,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._commitPackage();
+_st(self._model())._commitPackage();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLCommitPackageCommand)})},
 messageSends: ["commitPackage", "model"]}),
 smalltalk.HLCommitPackageCommand);
@@ -144,7 +144,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._name();
+$1=_st(_st(self._model())._selectedClass())._name();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInput",{},smalltalk.HLCopyClassCommand)})},
 messageSends: ["name", "selectedClass", "model"]}),
@@ -167,7 +167,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._copyClassTo_(_st(self)._input());
+_st(self._model())._copyClassTo_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLCopyClassCommand)})},
 messageSends: ["copyClassTo:", "input", "model"]}),
 smalltalk.HLCopyClassCommand);
@@ -179,7 +179,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._notNil();
+$1=_st(_st(self._model())._selectedClass())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLCopyClassCommand)})},
 messageSends: ["notNil", "selectedClass", "model"]}),
@@ -274,7 +274,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._openClassNamed_(_st(self)._input());
+_st(self._model())._openClassNamed_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLFindClassCommand)})},
 messageSends: ["openClassNamed:", "input", "model"]}),
 smalltalk.HLFindClassCommand);
@@ -286,7 +286,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._availableClassNames();
+$1=_st(self._model())._availableClassNames();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLFindClassCommand)})},
 messageSends: ["availableClassNames", "model"]}),
@@ -359,9 +359,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(_st(self)._model())._selectedMethod();
+$2=_st(self._model())._selectedMethod();
 if(($receiver = $2) == nil || $receiver == undefined){
-$3=_st(_st(self)._model())._selectedClass();
+$3=_st(self._model())._selectedClass();
 if(($receiver = $3) == nil || $receiver == undefined){
 $1="";
 } else {
@@ -400,7 +400,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=_st($HLReferences())._new();
 _st($1)._openAsTab();
-$2=_st($1)._search_(_st(self)._input());
+$2=_st($1)._search_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLFindReferencesCommand)})},
 messageSends: ["openAsTab", "new", "search:", "input"]}),
 smalltalk.HLFindReferencesCommand);
@@ -412,7 +412,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._availableClassNames()).__comma(_st(_st(self)._model())._allSelectors());
+$1=_st(_st(self._model())._availableClassNames()).__comma(_st(self._model())._allSelectors());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLFindReferencesCommand)})},
 messageSends: [",", "allSelectors", "model", "availableClassNames"]}),
@@ -497,7 +497,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._notNil();
+$1=_st(_st(self._model())._selectedClass())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLMoveClassToCommand)})},
 messageSends: ["notNil", "selectedClass", "model"]}),
@@ -556,7 +556,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._moveClassToPackage_(_st(self)._input());
+_st(self._model())._moveClassToPackage_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveClassToPackageCommand)})},
 messageSends: ["moveClassToPackage:", "input", "model"]}),
 smalltalk.HLMoveClassToPackageCommand);
@@ -568,7 +568,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._availablePackageNames();
+$1=_st(self._model())._availablePackageNames();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLMoveClassToPackageCommand)})},
 messageSends: ["availablePackageNames", "model"]}),
@@ -650,7 +650,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedMethod())._notNil();
+$1=_st(_st(self._model())._selectedMethod())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLMoveMethodToCommand)})},
 messageSends: ["notNil", "selectedMethod", "model"]}),
@@ -698,7 +698,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._moveMethodToClass_(_st(self)._input());
+_st(self._model())._moveMethodToClass_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToClassCommand)})},
 messageSends: ["moveMethodToClass:", "input", "model"]}),
 smalltalk.HLMoveMethodToClassCommand);
@@ -710,7 +710,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._availableClassNames();
+$1=_st(self._model())._availableClassNames();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLMoveMethodToClassCommand)})},
 messageSends: ["availableClassNames", "model"]}),
@@ -791,7 +791,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._moveMethodToProtocol_(_st(self)._input());
+_st(self._model())._moveMethodToProtocol_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToProtocolCommand)})},
 messageSends: ["moveMethodToProtocol:", "input", "model"]}),
 smalltalk.HLMoveMethodToProtocolCommand);
@@ -803,7 +803,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._availableProtocols();
+$1=_st(self._model())._availableProtocols();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLMoveMethodToProtocolCommand)})},
 messageSends: ["availableProtocols", "model"]}),
@@ -909,7 +909,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._removeClass();
+_st(self._model())._removeClass();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRemoveClassCommand)})},
 messageSends: ["removeClass", "model"]}),
 smalltalk.HLRemoveClassCommand);
@@ -921,7 +921,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._notNil();
+$1=_st(_st(self._model())._selectedClass())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRemoveClassCommand)})},
 messageSends: ["notNil", "selectedClass", "model"]}),
@@ -980,7 +980,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._removeMethod();
+_st(self._model())._removeMethod();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRemoveMethodCommand)})},
 messageSends: ["removeMethod", "model"]}),
 smalltalk.HLRemoveMethodCommand);
@@ -992,7 +992,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedMethod())._notNil();
+$1=_st(_st(self._model())._selectedMethod())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRemoveMethodCommand)})},
 messageSends: ["notNil", "selectedMethod", "model"]}),
@@ -1051,7 +1051,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._removeProtocol();
+_st(self._model())._removeProtocol();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRemoveProtocolCommand)})},
 messageSends: ["removeProtocol", "model"]}),
 smalltalk.HLRemoveProtocolCommand);
@@ -1063,7 +1063,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedProtocol())._notNil();
+$1=_st(_st(self._model())._selectedProtocol())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRemoveProtocolCommand)})},
 messageSends: ["notNil", "selectedProtocol", "model"]}),
@@ -1148,7 +1148,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._name();
+$1=_st(_st(self._model())._selectedClass())._name();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInput",{},smalltalk.HLRenameClassCommand)})},
 messageSends: ["name", "selectedClass", "model"]}),
@@ -1171,7 +1171,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._renameClassTo_(_st(self)._input());
+_st(self._model())._renameClassTo_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRenameClassCommand)})},
 messageSends: ["renameClassTo:", "input", "model"]}),
 smalltalk.HLRenameClassCommand);
@@ -1183,7 +1183,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._notNil();
+$1=_st(_st(self._model())._selectedClass())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRenameClassCommand)})},
 messageSends: ["notNil", "selectedClass", "model"]}),
@@ -1254,7 +1254,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._selectedProtocol();
+$1=_st(self._model())._selectedProtocol();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInput",{},smalltalk.HLRenameProtocolCommand)})},
 messageSends: ["selectedProtocol", "model"]}),
@@ -1277,7 +1277,7 @@ selector: "execute",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._renameProtocolTo_(_st(self)._input());
+_st(self._model())._renameProtocolTo_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRenameProtocolCommand)})},
 messageSends: ["renameProtocolTo:", "input", "model"]}),
 smalltalk.HLRenameProtocolCommand);
@@ -1289,7 +1289,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedProtocol())._notNil();
+$1=_st(_st(self._model())._selectedProtocol())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRenameProtocolCommand)})},
 messageSends: ["notNil", "selectedProtocol", "model"]}),

+ 31 - 31
js/Helios-Commands-Tools.js

@@ -25,7 +25,7 @@ fn: function (aToolModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._model_(aToolModel);
 $3=_st($2)._yourself();
 $1=$3;
@@ -81,7 +81,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._commitPackage();
+_st(self._model())._commitPackage();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLCommitPackageCommand)})},
 args: [],
 source: "execute\x0a\x09self model commitPackage",
@@ -200,7 +200,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._name();
+$1=_st(_st(self._model())._selectedClass())._name();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInput",{},smalltalk.HLCopyClassCommand)})},
 args: [],
@@ -233,7 +233,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._copyClassTo_(_st(self)._input());
+_st(self._model())._copyClassTo_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLCopyClassCommand)})},
 args: [],
 source: "execute\x0a\x09self model copyClassTo: self input",
@@ -250,7 +250,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._notNil();
+$1=_st(_st(self._model())._selectedClass())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLCopyClassCommand)})},
 args: [],
@@ -385,7 +385,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._openClassNamed_(_st(self)._input());
+_st(self._model())._openClassNamed_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLFindClassCommand)})},
 args: [],
 source: "execute\x0a\x09self model openClassNamed: self input",
@@ -402,7 +402,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._availableClassNames();
+$1=_st(self._model())._availableClassNames();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLFindClassCommand)})},
 args: [],
@@ -505,9 +505,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(_st(self)._model())._selectedMethod();
+$2=_st(self._model())._selectedMethod();
 if(($receiver = $2) == nil || $receiver == undefined){
-$3=_st(_st(self)._model())._selectedClass();
+$3=_st(self._model())._selectedClass();
 if(($receiver = $3) == nil || $receiver == undefined){
 $1="";
 } else {
@@ -556,7 +556,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=_st($HLReferences())._new();
 _st($1)._openAsTab();
-$2=_st($1)._search_(_st(self)._input());
+$2=_st($1)._search_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLFindReferencesCommand)})},
 args: [],
 source: "execute\x0a\x09HLReferences new \x0a\x09\x09openAsTab;\x0a\x09\x09search: self input",
@@ -573,7 +573,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._availableClassNames()).__comma(_st(_st(self)._model())._allSelectors());
+$1=_st(_st(self._model())._availableClassNames()).__comma(_st(self._model())._allSelectors());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLFindReferencesCommand)})},
 args: [],
@@ -693,7 +693,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._notNil();
+$1=_st(_st(self._model())._selectedClass())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLMoveClassToCommand)})},
 args: [],
@@ -777,7 +777,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._moveClassToPackage_(_st(self)._input());
+_st(self._model())._moveClassToPackage_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveClassToPackageCommand)})},
 args: [],
 source: "execute\x0a\x09self model moveClassToPackage: self input",
@@ -794,7 +794,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._availablePackageNames();
+$1=_st(self._model())._availablePackageNames();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLMoveClassToPackageCommand)})},
 args: [],
@@ -911,7 +911,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedMethod())._notNil();
+$1=_st(_st(self._model())._selectedMethod())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLMoveMethodToCommand)})},
 args: [],
@@ -979,7 +979,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._moveMethodToClass_(_st(self)._input());
+_st(self._model())._moveMethodToClass_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToClassCommand)})},
 args: [],
 source: "execute\x0a\x09self model moveMethodToClass: self input",
@@ -996,7 +996,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._availableClassNames();
+$1=_st(self._model())._availableClassNames();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLMoveMethodToClassCommand)})},
 args: [],
@@ -1112,7 +1112,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._moveMethodToProtocol_(_st(self)._input());
+_st(self._model())._moveMethodToProtocol_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLMoveMethodToProtocolCommand)})},
 args: [],
 source: "execute\x0a\x09self model moveMethodToProtocol: self input",
@@ -1129,7 +1129,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._availableProtocols();
+$1=_st(self._model())._availableProtocols();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inputCompletion",{},smalltalk.HLMoveMethodToProtocolCommand)})},
 args: [],
@@ -1280,7 +1280,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._removeClass();
+_st(self._model())._removeClass();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRemoveClassCommand)})},
 args: [],
 source: "execute\x0a\x09self model removeClass",
@@ -1297,7 +1297,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._notNil();
+$1=_st(_st(self._model())._selectedClass())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRemoveClassCommand)})},
 args: [],
@@ -1381,7 +1381,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._removeMethod();
+_st(self._model())._removeMethod();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRemoveMethodCommand)})},
 args: [],
 source: "execute\x0a\x09self model removeMethod",
@@ -1398,7 +1398,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedMethod())._notNil();
+$1=_st(_st(self._model())._selectedMethod())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRemoveMethodCommand)})},
 args: [],
@@ -1482,7 +1482,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._removeProtocol();
+_st(self._model())._removeProtocol();
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRemoveProtocolCommand)})},
 args: [],
 source: "execute\x0a\x09self model removeProtocol",
@@ -1499,7 +1499,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedProtocol())._notNil();
+$1=_st(_st(self._model())._selectedProtocol())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRemoveProtocolCommand)})},
 args: [],
@@ -1619,7 +1619,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._name();
+$1=_st(_st(self._model())._selectedClass())._name();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInput",{},smalltalk.HLRenameClassCommand)})},
 args: [],
@@ -1652,7 +1652,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._renameClassTo_(_st(self)._input());
+_st(self._model())._renameClassTo_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRenameClassCommand)})},
 args: [],
 source: "execute\x0a\x09self model renameClassTo: self input",
@@ -1669,7 +1669,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedClass())._notNil();
+$1=_st(_st(self._model())._selectedClass())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRenameClassCommand)})},
 args: [],
@@ -1770,7 +1770,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._selectedProtocol();
+$1=_st(self._model())._selectedProtocol();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultInput",{},smalltalk.HLRenameProtocolCommand)})},
 args: [],
@@ -1803,7 +1803,7 @@ category: 'executing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._renameProtocolTo_(_st(self)._input());
+_st(self._model())._renameProtocolTo_(self._input());
 return self}, function($ctx1) {$ctx1.fill(self,"execute",{},smalltalk.HLRenameProtocolCommand)})},
 args: [],
 source: "execute\x0a\x09self model renameProtocolTo: self input",
@@ -1820,7 +1820,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._selectedProtocol())._notNil();
+$1=_st(_st(self._model())._selectedProtocol())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLRenameProtocolCommand)})},
 args: [],

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


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


+ 33 - 33
js/Helios-Debugger.deploy.js

@@ -34,14 +34,14 @@ function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefin
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
 variables=_st($Dictionary())._new();
-inspectedContext=_st(self)._context();
+inspectedContext=self._context();
 _st(variables)._addAll_(_st(inspectedContext)._locals());
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(inspectedContext)._notNil())._and_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(inspectedContext)._isBlockContext();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 return smalltalk.withContext(function($ctx2) {
 inspectedContext=_st(inspectedContext)._outerContext();
@@ -68,7 +68,7 @@ fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromContext_(aContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -90,7 +90,7 @@ var $2,$3,$4,$1;
 $2=self["@codeWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLDebuggerCodeWidget())._new();
-_st($3)._browserModel_(_st(self)._model());
+_st($3)._browserModel_(self._model());
 $4=_st($3)._yourself();
 self["@codeWidget"]=$4;
 $1=self["@codeWidget"];
@@ -108,7 +108,7 @@ selector: "focus",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stackListWidget())._focus();
+_st(self._stackListWidget())._focus();
 return self}, function($ctx1) {$ctx1.fill(self,"focus",{},smalltalk.HLDebugger)})},
 messageSends: ["focus", "stackListWidget"]}),
 smalltalk.HLDebugger);
@@ -121,7 +121,7 @@ var self=this;
 function $HLDebuggerModel(){return smalltalk.HLDebuggerModel||(typeof HLDebuggerModel=="undefined"?nil:HLDebuggerModel)}
 return smalltalk.withContext(function($ctx1) { 
 self["@model"]=_st($HLDebuggerModel())._on_(aMethodContext);
-_st(self)._observeModel();
+self._observeModel();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext},smalltalk.HLDebugger)})},
 messageSends: ["on:", "observeModel"]}),
 smalltalk.HLDebugger);
@@ -173,7 +173,7 @@ fn: function (){
 var self=this;
 function $HLDebuggerContextSelected(){return smalltalk.HLDebuggerContextSelected||(typeof HLDebuggerContextSelected=="undefined"?nil:HLDebuggerContextSelected)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._model())._announcer())._on_send_to_($HLDebuggerContextSelected(),"onContextSelected:",self);
+_st(_st(self._model())._announcer())._on_send_to_($HLDebuggerContextSelected(),"onContextSelected:",self);
 return self}, function($ctx1) {$ctx1.fill(self,"observeModel",{},smalltalk.HLDebugger)})},
 messageSends: ["on:send:to:", "announcer", "model"]}),
 smalltalk.HLDebugger);
@@ -185,7 +185,7 @@ fn: function (anAnnouncement){
 var self=this;
 function $HLContextInspectorDecorator(){return smalltalk.HLContextInspectorDecorator||(typeof HLContextInspectorDecorator=="undefined"?nil:HLContextInspectorDecorator)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._inspectorWidget())._inspect_(_st($HLContextInspectorDecorator())._on_(_st(anAnnouncement)._context()));
+_st(self._inspectorWidget())._inspect_(_st($HLContextInspectorDecorator())._on_(_st(anAnnouncement)._context()));
 return self}, function($ctx1) {$ctx1.fill(self,"onContextSelected:",{anAnnouncement:anAnnouncement},smalltalk.HLDebugger)})},
 messageSends: ["inspect:", "on:", "context", "inspectorWidget"]}),
 smalltalk.HLDebugger);
@@ -197,7 +197,7 @@ fn: function (aBindingGroup){
 var self=this;
 function $HLToolCommand(){return smalltalk.HLToolCommand||(typeof HLToolCommand=="undefined"?nil:HLToolCommand)}
 return smalltalk.withContext(function($ctx1) { 
-_st($HLToolCommand())._registerConcreteClassesOn_for_(aBindingGroup,_st(self)._model());
+_st($HLToolCommand())._registerConcreteClassesOn_for_(aBindingGroup,self._model());
 return self}, function($ctx1) {$ctx1.fill(self,"registerBindingsOn:",{aBindingGroup:aBindingGroup},smalltalk.HLDebugger)})},
 messageSends: ["registerConcreteClassesOn:for:", "model"]}),
 smalltalk.HLDebugger);
@@ -211,7 +211,7 @@ function $HLVerticalSplitter(){return smalltalk.HLVerticalSplitter||(typeof HLVe
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 function $HLContainer(){return smalltalk.HLContainer||(typeof HLContainer=="undefined"?nil:HLContainer)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st(self)._stackListWidget(),_st($HLVerticalSplitter())._with_with_(_st(self)._codeWidget(),_st(self)._inspectorWidget()))));
+_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(self._stackListWidget(),_st($HLVerticalSplitter())._with_with_(self._codeWidget(),self._inspectorWidget()))));
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLDebugger)})},
 messageSends: ["with:", "with:with:", "stackListWidget", "codeWidget", "inspectorWidget"]}),
 smalltalk.HLDebugger);
@@ -226,8 +226,8 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$4,$1;
 $2=self["@stackListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$3=_st($HLStackListWidget())._on_(_st(self)._model());
-_st($3)._next_(_st(self)._codeWidget());
+$3=_st($HLStackListWidget())._on_(self._model());
+_st($3)._next_(self._codeWidget());
 $4=_st($3)._yourself();
 self["@stackListWidget"]=$4;
 $1=self["@stackListWidget"];
@@ -246,7 +246,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLFocusableWidget.fn.prototype._unregister.apply(_st(self), []);
-_st(_st(self)._inspectorWidget())._unregister();
+_st(self._inspectorWidget())._unregister();
 return self}, function($ctx1) {$ctx1.fill(self,"unregister",{},smalltalk.HLDebugger)})},
 messageSends: ["unregister", "inspectorWidget"]}),
 smalltalk.HLDebugger);
@@ -259,7 +259,7 @@ fn: function (aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -298,7 +298,7 @@ selector: "addStopAt:",
 fn: function (anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self["@editor"])._setGutterMarker_gutter_value_(anInteger,"stops",_st(_st(_st("<div class=\x22stop\x22></stop>")._asJQuery())._toArray())._first());
+_st(self["@editor"])._setGutterMarker_gutter_value_(anInteger,"stops",_st(_st("<div class=\x22stop\x22></stop>"._asJQuery())._toArray())._first());
 return self}, function($ctx1) {$ctx1.fill(self,"addStopAt:",{anInteger:anInteger},smalltalk.HLDebuggerCodeWidget)})},
 messageSends: ["setGutterMarker:gutter:value:", "first", "toArray", "asJQuery"]}),
 smalltalk.HLDebuggerCodeWidget);
@@ -311,7 +311,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 _st(self["@editor"])._clearGutter_("stops");
-$1=_st(self)._highlightedNode();
+$1=self._highlightedNode();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
@@ -329,7 +329,7 @@ selector: "contents:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._clearHighlight();
+self._clearHighlight();
 smalltalk.HLBrowserCodeWidget.fn.prototype._contents_.apply(_st(self), [aString]);
 return self}, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString},smalltalk.HLDebuggerCodeWidget)})},
 messageSends: ["clearHighlight", "contents:"]}),
@@ -358,8 +358,8 @@ fn: function (){
 var self=this;
 var anchor,head,selection;
 return smalltalk.withContext(function($ctx1) { 
-head=smalltalk.HashedCollection._fromPairs_([_st("line").__minus_gt(_st(_st(_st(_st(self)._highlightedNode())._position())._x()).__minus((1))),_st("ch").__minus_gt(_st(_st(_st(_st(self)._highlightedNode())._position())._y()).__minus((1)))]);
-anchor=smalltalk.HashedCollection._fromPairs_([_st("line").__minus_gt(_st(_st(_st(_st(self)._highlightedNode())._extent())._x()).__minus((1))),_st("ch").__minus_gt(_st(_st(_st(_st(self)._highlightedNode())._extent())._y()).__minus((1)))]);
+head=smalltalk.HashedCollection._fromPairs_(["line".__minus_gt(_st(_st(_st(self._highlightedNode())._position())._x()).__minus((1))),"ch".__minus_gt(_st(_st(_st(self._highlightedNode())._position())._y()).__minus((1)))]);
+anchor=smalltalk.HashedCollection._fromPairs_(["line".__minus_gt(_st(_st(_st(self._highlightedNode())._extent())._x()).__minus((1))),"ch".__minus_gt(_st(_st(_st(self._highlightedNode())._extent())._y()).__minus((1)))]);
 _st(self["@editor"])._setSelection_to_(head,anchor);
 return self}, function($ctx1) {$ctx1.fill(self,"highlight",{anchor:anchor,head:head,selection:selection},smalltalk.HLDebuggerCodeWidget)})},
 messageSends: ["->", "-", "x", "position", "highlightedNode", "y", "extent", "setSelection:to:"]}),
@@ -433,7 +433,7 @@ var self=this;
 function $HLDebuggerContextSelected(){return smalltalk.HLDebuggerContextSelected||(typeof HLDebuggerContextSelected=="undefined"?nil:HLDebuggerContextSelected)}
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLBrowserCodeWidget.fn.prototype._observeBrowserModel.apply(_st(self), []);
-_st(_st(_st(self)._browserModel())._announcer())._on_send_to_($HLDebuggerContextSelected(),"onContextSelected",self);
+_st(_st(self._browserModel())._announcer())._on_send_to_($HLDebuggerContextSelected(),"onContextSelected",self);
 return self}, function($ctx1) {$ctx1.fill(self,"observeBrowserModel",{},smalltalk.HLDebuggerCodeWidget)})},
 messageSends: ["observeBrowserModel", "on:send:to:", "announcer", "browserModel"]}),
 smalltalk.HLDebuggerCodeWidget);
@@ -444,7 +444,7 @@ selector: "onContextSelected",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._highlightNode_(_st(_st(self)._browserModel())._nextNode());
+self._highlightNode_(_st(self._browserModel())._nextNode());
 return self}, function($ctx1) {$ctx1.fill(self,"onContextSelected",{},smalltalk.HLDebuggerCodeWidget)})},
 messageSends: ["highlightNode:", "nextNode", "browserModel"]}),
 smalltalk.HLDebuggerCodeWidget);
@@ -474,7 +474,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=self["@currentContext"];
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._currentContext_(_st(self)._rootContext());
+self._currentContext_(self._rootContext());
 } else {
 $1;
 };
@@ -493,9 +493,9 @@ function $ASTDebugger(){return smalltalk.ASTDebugger||(typeof ASTDebugger=="unde
 function $HLDebuggerContextSelected(){return smalltalk.HLDebuggerContextSelected||(typeof HLDebuggerContextSelected=="undefined"?nil:HLDebuggerContextSelected)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._withChangesDo_((function(){
+self._withChangesDo_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._selectedMethod_(_st(aContext)._method());
+self._selectedMethod_(_st(aContext)._method());
 self["@currentContext"]=aContext;
 self["@currentContext"];
 self["@interpreter"]=_st($ASTDebugger())._context_(aContext);
@@ -503,7 +503,7 @@ self["@interpreter"];
 $1=_st($HLDebuggerContextSelected())._new();
 _st($1)._context_(aContext);
 $2=_st($1)._yourself();
-return _st(_st(self)._announcer())._announce_($2);
+return _st(self._announcer())._announce_($2);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"currentContext:",{aContext:aContext},smalltalk.HLDebuggerModel)})},
 messageSends: ["withChangesDo:", "selectedMethod:", "method", "context:", "announce:", "new", "yourself", "announcer"]}),
@@ -518,7 +518,7 @@ var context;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 return smalltalk.withContext(function($ctx1) { 
 self["@contexts"]=_st($OrderedCollection())._new();
-context=_st(self)._rootContext();
+context=self._rootContext();
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(context)._notNil();
@@ -540,7 +540,7 @@ var self=this;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 return smalltalk.withContext(function($ctx1) { 
 self["@rootContext"]=_st($AIContext())._fromMethodContext_(aMethodContext);
-_st(self)._initializeContexts();
+self._initializeContexts();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromContext:",{aMethodContext:aMethodContext},smalltalk.HLDebuggerModel)})},
 messageSends: ["fromMethodContext:", "initializeContexts"]}),
 smalltalk.HLDebuggerModel);
@@ -565,7 +565,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._interpreter())._nextNode();
+$1=_st(self._interpreter())._nextNode();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.HLDebuggerModel)})},
 messageSends: ["nextNode", "interpreter"]}),
@@ -592,7 +592,7 @@ fn: function (aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromContext_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -612,7 +612,7 @@ function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $ErrorHandler(){return smalltalk.ErrorHandler||(typeof ErrorHandler=="undefined"?nil:ErrorHandler)}
 function $HLDebugger(){return smalltalk.HLDebugger||(typeof HLDebugger=="undefined"?nil:HLDebugger)}
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._onErrorHandled();
+self._onErrorHandled();
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st($HLDebugger())._on_(_st(anError)._context()))._openAsTab();
@@ -647,7 +647,7 @@ fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._handleError_(anError);
+$1=_st(self._new())._handleError_(anError);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.HLErrorHandler.klass)})},
 messageSends: ["handleError:", "new"]}),
@@ -664,7 +664,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@items"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@items"]=_st(_st(self)._model())._contexts();
+self["@items"]=_st(self._model())._contexts();
 $1=self["@items"];
 } else {
 $1=$2;
@@ -691,7 +691,7 @@ selector: "selectItem:",
 fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._currentContext_(aContext);
+_st(self._model())._currentContext_(aContext);
 return self}, function($ctx1) {$ctx1.fill(self,"selectItem:",{aContext:aContext},smalltalk.HLStackListWidget)})},
 messageSends: ["currentContext:", "model"]}),
 smalltalk.HLStackListWidget);

+ 33 - 33
js/Helios-Debugger.js

@@ -45,14 +45,14 @@ function $Dictionary(){return smalltalk.Dictionary||(typeof Dictionary=="undefin
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
 variables=_st($Dictionary())._new();
-inspectedContext=_st(self)._context();
+inspectedContext=self._context();
 _st(variables)._addAll_(_st(inspectedContext)._locals());
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(inspectedContext)._notNil())._and_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(inspectedContext)._isBlockContext();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 return smalltalk.withContext(function($ctx2) {
 inspectedContext=_st(inspectedContext)._outerContext();
@@ -84,7 +84,7 @@ fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromContext_(aContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -112,7 +112,7 @@ var $2,$3,$4,$1;
 $2=self["@codeWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLDebuggerCodeWidget())._new();
-_st($3)._browserModel_(_st(self)._model());
+_st($3)._browserModel_(self._model());
 $4=_st($3)._yourself();
 self["@codeWidget"]=$4;
 $1=self["@codeWidget"];
@@ -135,7 +135,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._stackListWidget())._focus();
+_st(self._stackListWidget())._focus();
 return self}, function($ctx1) {$ctx1.fill(self,"focus",{},smalltalk.HLDebugger)})},
 args: [],
 source: "focus\x0a\x09self stackListWidget focus",
@@ -153,7 +153,7 @@ var self=this;
 function $HLDebuggerModel(){return smalltalk.HLDebuggerModel||(typeof HLDebuggerModel=="undefined"?nil:HLDebuggerModel)}
 return smalltalk.withContext(function($ctx1) { 
 self["@model"]=_st($HLDebuggerModel())._on_(aMethodContext);
-_st(self)._observeModel();
+self._observeModel();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext},smalltalk.HLDebugger)})},
 args: ["aMethodContext"],
 source: "initializeFromMethodContext: aMethodContext\x0a\x09model := HLDebuggerModel on: aMethodContext.\x0a\x09self observeModel",
@@ -220,7 +220,7 @@ fn: function (){
 var self=this;
 function $HLDebuggerContextSelected(){return smalltalk.HLDebuggerContextSelected||(typeof HLDebuggerContextSelected=="undefined"?nil:HLDebuggerContextSelected)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._model())._announcer())._on_send_to_($HLDebuggerContextSelected(),"onContextSelected:",self);
+_st(_st(self._model())._announcer())._on_send_to_($HLDebuggerContextSelected(),"onContextSelected:",self);
 return self}, function($ctx1) {$ctx1.fill(self,"observeModel",{},smalltalk.HLDebugger)})},
 args: [],
 source: "observeModel\x0a\x09self model announcer \x0a\x09\x09on: HLDebuggerContextSelected\x0a\x09\x09send: #onContextSelected:\x0a\x09\x09to: self",
@@ -237,7 +237,7 @@ fn: function (anAnnouncement){
 var self=this;
 function $HLContextInspectorDecorator(){return smalltalk.HLContextInspectorDecorator||(typeof HLContextInspectorDecorator=="undefined"?nil:HLContextInspectorDecorator)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._inspectorWidget())._inspect_(_st($HLContextInspectorDecorator())._on_(_st(anAnnouncement)._context()));
+_st(self._inspectorWidget())._inspect_(_st($HLContextInspectorDecorator())._on_(_st(anAnnouncement)._context()));
 return self}, function($ctx1) {$ctx1.fill(self,"onContextSelected:",{anAnnouncement:anAnnouncement},smalltalk.HLDebugger)})},
 args: ["anAnnouncement"],
 source: "onContextSelected: anAnnouncement\x0a\x09self inspectorWidget inspect: (HLContextInspectorDecorator on: anAnnouncement context)",
@@ -254,7 +254,7 @@ fn: function (aBindingGroup){
 var self=this;
 function $HLToolCommand(){return smalltalk.HLToolCommand||(typeof HLToolCommand=="undefined"?nil:HLToolCommand)}
 return smalltalk.withContext(function($ctx1) { 
-_st($HLToolCommand())._registerConcreteClassesOn_for_(aBindingGroup,_st(self)._model());
+_st($HLToolCommand())._registerConcreteClassesOn_for_(aBindingGroup,self._model());
 return self}, function($ctx1) {$ctx1.fill(self,"registerBindingsOn:",{aBindingGroup:aBindingGroup},smalltalk.HLDebugger)})},
 args: ["aBindingGroup"],
 source: "registerBindingsOn: aBindingGroup\x0a\x09HLToolCommand \x0a\x09\x09registerConcreteClassesOn: aBindingGroup \x0a\x09\x09for: self model",
@@ -273,7 +273,7 @@ function $HLVerticalSplitter(){return smalltalk.HLVerticalSplitter||(typeof HLVe
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 function $HLContainer(){return smalltalk.HLContainer||(typeof HLContainer=="undefined"?nil:HLContainer)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st(self)._stackListWidget(),_st($HLVerticalSplitter())._with_with_(_st(self)._codeWidget(),_st(self)._inspectorWidget()))));
+_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(self._stackListWidget(),_st($HLVerticalSplitter())._with_with_(self._codeWidget(),self._inspectorWidget()))));
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLDebugger)})},
 args: ["html"],
 source: "renderContentOn: html\x0a\x09html with: (HLContainer with: (HLHorizontalSplitter\x0a\x09\x09with: self stackListWidget\x0a\x09\x09with: (HLVerticalSplitter\x0a\x09\x09\x09with: self codeWidget\x0a\x09\x09\x09with: self inspectorWidget)))",
@@ -293,8 +293,8 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$4,$1;
 $2=self["@stackListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$3=_st($HLStackListWidget())._on_(_st(self)._model());
-_st($3)._next_(_st(self)._codeWidget());
+$3=_st($HLStackListWidget())._on_(self._model());
+_st($3)._next_(self._codeWidget());
 $4=_st($3)._yourself();
 self["@stackListWidget"]=$4;
 $1=self["@stackListWidget"];
@@ -318,7 +318,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLFocusableWidget.fn.prototype._unregister.apply(_st(self), []);
-_st(_st(self)._inspectorWidget())._unregister();
+_st(self._inspectorWidget())._unregister();
 return self}, function($ctx1) {$ctx1.fill(self,"unregister",{},smalltalk.HLDebugger)})},
 args: [],
 source: "unregister\x0a\x09super unregister.\x0a\x09self inspectorWidget unregister",
@@ -336,7 +336,7 @@ fn: function (aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -390,7 +390,7 @@ category: 'actions',
 fn: function (anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self["@editor"])._setGutterMarker_gutter_value_(anInteger,"stops",_st(_st(_st("<div class=\x22stop\x22></stop>")._asJQuery())._toArray())._first());
+_st(self["@editor"])._setGutterMarker_gutter_value_(anInteger,"stops",_st(_st("<div class=\x22stop\x22></stop>"._asJQuery())._toArray())._first());
 return self}, function($ctx1) {$ctx1.fill(self,"addStopAt:",{anInteger:anInteger},smalltalk.HLDebuggerCodeWidget)})},
 args: ["anInteger"],
 source: "addStopAt: anInteger\x0a\x09editor\x0a\x09\x09setGutterMarker: anInteger\x0a\x09\x09gutter: 'stops'\x0a\x09\x09value: '<div class=\x22stop\x22></stop>' asJQuery toArray first",
@@ -408,7 +408,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 _st(self["@editor"])._clearGutter_("stops");
-$1=_st(self)._highlightedNode();
+$1=self._highlightedNode();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
@@ -431,7 +431,7 @@ category: 'accessing',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._clearHighlight();
+self._clearHighlight();
 smalltalk.HLBrowserCodeWidget.fn.prototype._contents_.apply(_st(self), [aString]);
 return self}, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString},smalltalk.HLDebuggerCodeWidget)})},
 args: ["aString"],
@@ -470,8 +470,8 @@ fn: function (){
 var self=this;
 var anchor,head,selection;
 return smalltalk.withContext(function($ctx1) { 
-head=smalltalk.HashedCollection._fromPairs_([_st("line").__minus_gt(_st(_st(_st(_st(self)._highlightedNode())._position())._x()).__minus((1))),_st("ch").__minus_gt(_st(_st(_st(_st(self)._highlightedNode())._position())._y()).__minus((1)))]);
-anchor=smalltalk.HashedCollection._fromPairs_([_st("line").__minus_gt(_st(_st(_st(_st(self)._highlightedNode())._extent())._x()).__minus((1))),_st("ch").__minus_gt(_st(_st(_st(_st(self)._highlightedNode())._extent())._y()).__minus((1)))]);
+head=smalltalk.HashedCollection._fromPairs_(["line".__minus_gt(_st(_st(_st(self._highlightedNode())._position())._x()).__minus((1))),"ch".__minus_gt(_st(_st(_st(self._highlightedNode())._position())._y()).__minus((1)))]);
+anchor=smalltalk.HashedCollection._fromPairs_(["line".__minus_gt(_st(_st(_st(self._highlightedNode())._extent())._x()).__minus((1))),"ch".__minus_gt(_st(_st(_st(self._highlightedNode())._extent())._y()).__minus((1)))]);
 _st(self["@editor"])._setSelection_to_(head,anchor);
 return self}, function($ctx1) {$ctx1.fill(self,"highlight",{anchor:anchor,head:head,selection:selection},smalltalk.HLDebuggerCodeWidget)})},
 args: [],
@@ -570,7 +570,7 @@ var self=this;
 function $HLDebuggerContextSelected(){return smalltalk.HLDebuggerContextSelected||(typeof HLDebuggerContextSelected=="undefined"?nil:HLDebuggerContextSelected)}
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLBrowserCodeWidget.fn.prototype._observeBrowserModel.apply(_st(self), []);
-_st(_st(_st(self)._browserModel())._announcer())._on_send_to_($HLDebuggerContextSelected(),"onContextSelected",self);
+_st(_st(self._browserModel())._announcer())._on_send_to_($HLDebuggerContextSelected(),"onContextSelected",self);
 return self}, function($ctx1) {$ctx1.fill(self,"observeBrowserModel",{},smalltalk.HLDebuggerCodeWidget)})},
 args: [],
 source: "observeBrowserModel\x0a\x09super observeBrowserModel.\x0a\x09\x0a\x09self browserModel announcer \x0a\x09\x09on: HLDebuggerContextSelected\x0a\x09\x09send: #onContextSelected\x0a\x09\x09to: self",
@@ -586,7 +586,7 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._highlightNode_(_st(_st(self)._browserModel())._nextNode());
+self._highlightNode_(_st(self._browserModel())._nextNode());
 return self}, function($ctx1) {$ctx1.fill(self,"onContextSelected",{},smalltalk.HLDebuggerCodeWidget)})},
 args: [],
 source: "onContextSelected\x0a\x09self highlightNode: self browserModel nextNode",
@@ -627,7 +627,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=self["@currentContext"];
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._currentContext_(_st(self)._rootContext());
+self._currentContext_(self._rootContext());
 } else {
 $1;
 };
@@ -651,9 +651,9 @@ function $ASTDebugger(){return smalltalk.ASTDebugger||(typeof ASTDebugger=="unde
 function $HLDebuggerContextSelected(){return smalltalk.HLDebuggerContextSelected||(typeof HLDebuggerContextSelected=="undefined"?nil:HLDebuggerContextSelected)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._withChangesDo_((function(){
+self._withChangesDo_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._selectedMethod_(_st(aContext)._method());
+self._selectedMethod_(_st(aContext)._method());
 self["@currentContext"]=aContext;
 self["@currentContext"];
 self["@interpreter"]=_st($ASTDebugger())._context_(aContext);
@@ -661,7 +661,7 @@ self["@interpreter"];
 $1=_st($HLDebuggerContextSelected())._new();
 _st($1)._context_(aContext);
 $2=_st($1)._yourself();
-return _st(_st(self)._announcer())._announce_($2);
+return _st(self._announcer())._announce_($2);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"currentContext:",{aContext:aContext},smalltalk.HLDebuggerModel)})},
 args: ["aContext"],
@@ -681,7 +681,7 @@ var context;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 return smalltalk.withContext(function($ctx1) { 
 self["@contexts"]=_st($OrderedCollection())._new();
-context=_st(self)._rootContext();
+context=self._rootContext();
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(context)._notNil();
@@ -708,7 +708,7 @@ var self=this;
 function $AIContext(){return smalltalk.AIContext||(typeof AIContext=="undefined"?nil:AIContext)}
 return smalltalk.withContext(function($ctx1) { 
 self["@rootContext"]=_st($AIContext())._fromMethodContext_(aMethodContext);
-_st(self)._initializeContexts();
+self._initializeContexts();
 return self}, function($ctx1) {$ctx1.fill(self,"initializeFromContext:",{aMethodContext:aMethodContext},smalltalk.HLDebuggerModel)})},
 args: ["aMethodContext"],
 source: "initializeFromContext: aMethodContext\x0a\x09rootContext := AIContext fromMethodContext: aMethodContext.\x0a\x09self initializeContexts",
@@ -743,7 +743,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._interpreter())._nextNode();
+$1=_st(self._interpreter())._nextNode();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.HLDebuggerModel)})},
 args: [],
@@ -780,7 +780,7 @@ fn: function (aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromContext_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
@@ -805,7 +805,7 @@ function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 function $ErrorHandler(){return smalltalk.ErrorHandler||(typeof ErrorHandler=="undefined"?nil:ErrorHandler)}
 function $HLDebugger(){return smalltalk.HLDebugger||(typeof HLDebugger=="undefined"?nil:HLDebugger)}
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._onErrorHandled();
+self._onErrorHandled();
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st($HLDebugger())._on_(_st(anError)._context()))._openAsTab();
@@ -850,7 +850,7 @@ fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._handleError_(anError);
+$1=_st(self._new())._handleError_(anError);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.HLErrorHandler.klass)})},
 args: ["anError"],
@@ -872,7 +872,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@items"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@items"]=_st(_st(self)._model())._contexts();
+self["@items"]=_st(self._model())._contexts();
 $1=self["@items"];
 } else {
 $1=$2;
@@ -909,7 +909,7 @@ category: 'actions',
 fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._currentContext_(aContext);
+_st(self._model())._currentContext_(aContext);
 return self}, function($ctx1) {$ctx1.fill(self,"selectItem:",{aContext:aContext},smalltalk.HLStackListWidget)})},
 args: ["aContext"],
 source: "selectItem: aContext\x0a   \x09self model currentContext: aContext",

+ 49 - 49
js/Helios-Inspector.deploy.js

@@ -30,7 +30,7 @@ selector: "renderContentOn:",
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(html)._div())._with_(_st(self)._selectionDisplayString());
+_st(_st(html)._div())._with_(self._selectionDisplayString());
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspectorDisplayWidget)})},
 messageSends: ["with:", "selectionDisplayString", "div"]}),
 smalltalk.HLInspectorDisplayWidget);
@@ -88,7 +88,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@code"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@code"]=_st($HLCodeModel())._on_(_st(self)._environment());
+self["@code"]=_st($HLCodeModel())._on_(self._environment());
 $1=self["@code"];
 } else {
 $1=$2;
@@ -172,7 +172,7 @@ fn: function (anInstVarName){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._variables())._at_(anInstVarName);
+$1=_st(self._variables())._at_(anInstVarName);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"instVarObjectAt:",{anInstVarName:anInstVarName},smalltalk.HLInspectorModel)})},
 messageSends: ["at:", "variables"]}),
@@ -187,7 +187,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@label"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$1=_st(_st(self)._inspectee())._printString();
+$1=_st(self._inspectee())._printString();
 } else {
 $1=$2;
 };
@@ -240,7 +240,7 @@ selector: "selectedInstVar:",
 fn: function (anInstVarName){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selection_(anInstVarName);
+self._selection_(anInstVarName);
 return self}, function($ctx1) {$ctx1.fill(self,"selectedInstVar:",{anInstVarName:anInstVarName},smalltalk.HLInspectorModel)})},
 messageSends: ["selection:"]}),
 smalltalk.HLInspectorModel);
@@ -252,7 +252,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._instVarObjectAt_(_st(self)._selection());
+$1=self._instVarObjectAt_(self._selection());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selectedInstVarObject",{},smalltalk.HLInspectorModel)})},
 messageSends: ["instVarObjectAt:", "selection"]}),
@@ -284,7 +284,7 @@ var self=this;
 function $HLInstanceVariableSelected(){return smalltalk.HLInstanceVariableSelected||(typeof HLInstanceVariableSelected=="undefined"?nil:HLInstanceVariableSelected)}
 return smalltalk.withContext(function($ctx1) { 
 self["@selection"]=anObject;
-_st(_st(self)._announcer())._announce_(_st($HLInstanceVariableSelected())._on_(self["@selection"]));
+_st(self._announcer())._announce_(_st($HLInstanceVariableSelected())._on_(self["@selection"]));
 return self}, function($ctx1) {$ctx1.fill(self,"selection:",{anObject:anObject},smalltalk.HLInspectorModel)})},
 messageSends: ["announce:", "on:", "announcer"]}),
 smalltalk.HLInspectorModel);
@@ -295,7 +295,7 @@ selector: "subscribe:",
 fn: function (aWidget){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(aWidget)._subscribeTo_(_st(self)._announcer());
+_st(aWidget)._subscribeTo_(self._announcer());
 return self}, function($ctx1) {$ctx1.fill(self,"subscribe:",{aWidget:aWidget},smalltalk.HLInspectorModel)})},
 messageSends: ["subscribeTo:", "announcer"]}),
 smalltalk.HLInspectorModel);
@@ -338,7 +338,7 @@ fn: function (anEnvironment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._environment_(anEnvironment);
 $3=_st($2)._yourself();
 $1=$3;
@@ -376,7 +376,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._variables();
+$1=self._variables();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultItems",{},smalltalk.HLInspectorVariablesWidget)})},
 messageSends: ["variables"]}),
@@ -389,7 +389,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._label();
+$1=_st(self._model())._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLInspectorVariablesWidget)})},
 messageSends: ["label", "model"]}),
@@ -426,9 +426,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._variables()).__eq(_st(self)._items());
+$1=_st(self._variables()).__eq(self._items());
 if(! smalltalk.assert($1)){
-_st(self)._resetItems();
+self._resetItems();
 smalltalk.HLNavigationListWidget.fn.prototype._refresh.apply(_st(self), []);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"refresh",{},smalltalk.HLInspectorVariablesWidget)})},
@@ -448,7 +448,7 @@ _st($1)._class_("btn");
 _st($1)._with_("Dive");
 $2=_st($1)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._announcer())._announce_(_st($HLDiveRequested())._new());
+return _st(self._announcer())._announce_(_st($HLDiveRequested())._new());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 self["@diveButton"]=$2;
 return self}, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html},smalltalk.HLInspectorVariablesWidget)})},
@@ -461,7 +461,7 @@ selector: "renderContentOn:",
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._renderHeadOn_(html);
+self._renderHeadOn_(html);
 smalltalk.HLNavigationListWidget.fn.prototype._renderContentOn_.apply(_st(self), [html]);
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspectorVariablesWidget)})},
 messageSends: ["renderHeadOn:", "renderContentOn:"]}),
@@ -476,7 +476,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=_st(html)._div();
 _st($1)._class_("list-label");
-$2=_st($1)._with_(_st(self)._label());
+$2=_st($1)._with_(self._label());
 return self}, function($ctx1) {$ctx1.fill(self,"renderHeadOn:",{html:html},smalltalk.HLInspectorVariablesWidget)})},
 messageSends: ["class:", "div", "with:", "label"]}),
 smalltalk.HLInspectorVariablesWidget);
@@ -499,7 +499,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLNavigationListWidget.fn.prototype._selectItem_.apply(_st(self), [anObject]);
-_st(_st(self)._model())._selectedInstVar_(anObject);
+_st(self._model())._selectedInstVar_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"selectItem:",{anObject:anObject},smalltalk.HLInspectorVariablesWidget)})},
 messageSends: ["selectItem:", "selectedInstVar:", "model"]}),
 smalltalk.HLInspectorVariablesWidget);
@@ -524,7 +524,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._variables())._keys();
+$1=_st(_st(self._model())._variables())._keys();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variables",{},smalltalk.HLInspectorVariablesWidget)})},
 messageSends: ["keys", "variables", "model"]}),
@@ -568,7 +568,7 @@ var $2,$3,$4,$1;
 $2=self["@displayWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLInspectorDisplayWidget())._new();
-_st($3)._model_(_st(self)._model());
+_st($3)._model_(self._model());
 $4=_st($3)._yourself();
 self["@displayWidget"]=$4;
 $1=self["@displayWidget"];
@@ -587,7 +587,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLWidget.fn.prototype._initialize.apply(_st(self), []);
-_st(self)._register();
+self._register();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["initialize", "register"]}),
 smalltalk.HLInspectorWidget);
@@ -599,7 +599,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(_st(self)._model())._inspect_on_(anObject,self);
+_st(self._model())._inspect_on_(anObject,self);
 $1=self;
 _st($1)._refreshVariablesWidget();
 $2=_st($1)._refreshDisplayWidget();
@@ -614,7 +614,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._inspectee();
+$1=_st(self._model())._inspectee();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inspectee",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["inspectee", "model"]}),
@@ -626,7 +626,7 @@ selector: "inspectee:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._inspectee_(anObject);
+_st(self._model())._inspectee_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"inspectee:",{anObject:anObject},smalltalk.HLInspectorWidget)})},
 messageSends: ["inspectee:", "model"]}),
 smalltalk.HLInspectorWidget);
@@ -638,7 +638,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._label();
+$1=_st(self._model())._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["label", "model"]}),
@@ -654,7 +654,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@model"];
 if(($receiver = $2) == nil || $receiver == undefined){
-_st(self)._model_(_st($HLInspectorModel())._new());
+self._model_(_st($HLInspectorModel())._new());
 $1=self["@model"];
 } else {
 $1=$2;
@@ -672,7 +672,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 self["@model"]=aModel;
-_st(_st(self)._codeWidget())._model_(_st(aModel)._code());
+_st(self._codeWidget())._model_(_st(aModel)._code());
 $1=self;
 _st($1)._observeCodeWidget();
 _st($1)._observeVariablesWidget();
@@ -688,9 +688,9 @@ fn: function (){
 var self=this;
 function $HLDoItExecuted(){return smalltalk.HLDoItExecuted||(typeof HLDoItExecuted=="undefined"?nil:HLDoItExecuted)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._codeWidget())._announcer())._on_do_($HLDoItExecuted(),(function(){
+_st(_st(self._codeWidget())._announcer())._on_do_($HLDoItExecuted(),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onDoneIt();
+return self._onDoneIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"observeCodeWidget",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["on:do:", "onDoneIt", "announcer", "codeWidget"]}),
@@ -703,7 +703,7 @@ fn: function (){
 var self=this;
 function $HLInstanceVariableSelected(){return smalltalk.HLInstanceVariableSelected||(typeof HLInstanceVariableSelected=="undefined"?nil:HLInstanceVariableSelected)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._model())._announcer())._on_send_to_($HLInstanceVariableSelected(),"onInstanceVariableSelected",self);
+_st(_st(self._model())._announcer())._on_send_to_($HLInstanceVariableSelected(),"onInstanceVariableSelected",self);
 return self}, function($ctx1) {$ctx1.fill(self,"observeModel",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["on:send:to:", "announcer", "model"]}),
 smalltalk.HLInspectorWidget);
@@ -715,9 +715,9 @@ fn: function (){
 var self=this;
 function $HLDiveRequested(){return smalltalk.HLDiveRequested||(typeof HLDiveRequested=="undefined"?nil:HLDiveRequested)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._variablesWidget())._announcer())._on_do_($HLDiveRequested(),(function(){
+_st(_st(self._variablesWidget())._announcer())._on_do_($HLDiveRequested(),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onDive();
+return self._onDive();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"observeVariablesWidget",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["on:do:", "onDive", "announcer", "variablesWidget"]}),
@@ -732,7 +732,7 @@ function $HLInspector(){return smalltalk.HLInspector||(typeof HLInspector=="unde
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 $1=_st($HLInspector())._new();
-_st($1)._inspect_(_st(_st(self)._model())._selectedInstVarObject());
+_st($1)._inspect_(_st(self._model())._selectedInstVarObject());
 $2=_st($1)._openAsTab();
 return self}, function($ctx1) {$ctx1.fill(self,"onDive",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["inspect:", "selectedInstVarObject", "model", "new", "openAsTab"]}),
@@ -744,7 +744,7 @@ selector: "onDoneIt",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._refresh();
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onDoneIt",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["refresh"]}),
 smalltalk.HLInspectorWidget);
@@ -765,8 +765,8 @@ selector: "onInstanceVariableSelected",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._codeWidget())._receiver_(_st(_st(self)._model())._selectedInstVarObject());
-_st(self)._refreshDisplayWidget();
+_st(self._codeWidget())._receiver_(_st(self._model())._selectedInstVarObject());
+self._refreshDisplayWidget();
 return self}, function($ctx1) {$ctx1.fill(self,"onInstanceVariableSelected",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["receiver:", "selectedInstVarObject", "model", "codeWidget", "refreshDisplayWidget"]}),
 smalltalk.HLInspectorWidget);
@@ -801,7 +801,7 @@ selector: "refreshDisplayWidget",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._displayWidget())._refresh();
+_st(self._displayWidget())._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"refreshDisplayWidget",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["refresh", "displayWidget"]}),
 smalltalk.HLInspectorWidget);
@@ -812,7 +812,7 @@ selector: "refreshVariablesWidget",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._variablesWidget())._refresh();
+_st(self._variablesWidget())._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"refreshVariablesWidget",{},smalltalk.HLInspectorWidget)})},
 messageSends: ["refresh", "variablesWidget"]}),
 smalltalk.HLInspectorWidget);
@@ -837,7 +837,7 @@ var self=this;
 function $HLVerticalSplitter(){return smalltalk.HLVerticalSplitter||(typeof HLVerticalSplitter=="undefined"?nil:HLVerticalSplitter)}
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st(self)._variablesWidget(),_st(self)._displayWidget()),_st(self)._codeWidget()));
+_st(html)._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(self._variablesWidget(),self._displayWidget()),self._codeWidget()));
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspectorWidget)})},
 messageSends: ["with:", "with:with:", "variablesWidget", "displayWidget", "codeWidget"]}),
 smalltalk.HLInspectorWidget);
@@ -848,7 +848,7 @@ selector: "setLabel:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._label_(aString);
+_st(self._model())._label_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"setLabel:",{aString:aString},smalltalk.HLInspectorWidget)})},
 messageSends: ["label:", "model"]}),
 smalltalk.HLInspectorWidget);
@@ -859,7 +859,7 @@ selector: "setVariables:",
 fn: function (aDictionary){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._variables_(aDictionary);
+_st(self._model())._variables_(aDictionary);
 return self}, function($ctx1) {$ctx1.fill(self,"setVariables:",{aDictionary:aDictionary},smalltalk.HLInspectorWidget)})},
 messageSends: ["variables:", "model"]}),
 smalltalk.HLInspectorWidget);
@@ -899,7 +899,7 @@ var $2,$3,$4,$1;
 $2=self["@variablesWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLInspectorVariablesWidget())._new();
-_st($3)._model_(_st(self)._model());
+_st($3)._model_(self._model());
 $4=_st($3)._yourself();
 self["@variablesWidget"]=$4;
 $1=self["@variablesWidget"];
@@ -923,8 +923,8 @@ function $HLVerticalSplitter(){return smalltalk.HLVerticalSplitter||(typeof HLVe
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 function $HLContainer(){return smalltalk.HLContainer||(typeof HLContainer=="undefined"?nil:HLContainer)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st(self)._variablesWidget(),_st(self)._displayWidget()),_st(self)._codeWidget())));
-_st(_st(self)._variablesWidget())._focus();
+_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(self._variablesWidget(),self._displayWidget()),self._codeWidget())));
+_st(self._variablesWidget())._focus();
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspector)})},
 messageSends: ["with:", "with:with:", "variablesWidget", "displayWidget", "codeWidget", "focus"]}),
 smalltalk.HLInspector);
@@ -949,7 +949,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLInspectorWidget.klass.fn.prototype._initialize.apply(_st(self), []);
-_st(self)._watchChanges();
+self._watchChanges();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLInspector.klass)})},
 messageSends: ["initialize", "watchChanges"]}),
 smalltalk.HLInspector.klass);
@@ -961,7 +961,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(self)._new();
+$1=self._new();
 _st($1)._inspect_(anObject);
 $2=_st($1)._openAsTab();
 return self}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},smalltalk.HLInspector.klass)})},
@@ -994,7 +994,7 @@ selector: "register:",
 fn: function (anInspector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._inspectors())._add_(anInspector);
+_st(self._inspectors())._add_(anInspector);
 return self}, function($ctx1) {$ctx1.fill(self,"register:",{anInspector:anInspector},smalltalk.HLInspector.klass)})},
 messageSends: ["add:", "inspectors"]}),
 smalltalk.HLInspector.klass);
@@ -1038,7 +1038,7 @@ selector: "unregister:",
 fn: function (anInspector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._inspectors())._remove_(anInspector);
+_st(self._inspectors())._remove_(anInspector);
 return self}, function($ctx1) {$ctx1.fill(self,"unregister:",{anInspector:anInspector},smalltalk.HLInspector.klass)})},
 messageSends: ["remove:", "inspectors"]}),
 smalltalk.HLInspector.klass);
@@ -1051,10 +1051,10 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._inspectors())._do_((function(each){
+return _st(self._inspectors())._do_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(each)._refresh();
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._valueWithInterval_((500));
 return self}, function($ctx1) {$ctx1.fill(self,"watchChanges",{},smalltalk.HLInspector.klass)})},
 messageSends: ["valueWithInterval:", "do:", "refresh", "inspectors"]}),

+ 49 - 49
js/Helios-Inspector.js

@@ -41,7 +41,7 @@ category: 'rendering',
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(html)._div())._with_(_st(self)._selectionDisplayString());
+_st(_st(html)._div())._with_(self._selectionDisplayString());
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspectorDisplayWidget)})},
 args: ["html"],
 source: "renderContentOn: html\x0a\x09\x0a    html div with: self selectionDisplayString\x0a    ",
@@ -114,7 +114,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@code"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@code"]=_st($HLCodeModel())._on_(_st(self)._environment());
+self["@code"]=_st($HLCodeModel())._on_(self._environment());
 $1=self["@code"];
 } else {
 $1=$2;
@@ -228,7 +228,7 @@ fn: function (anInstVarName){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._variables())._at_(anInstVarName);
+$1=_st(self._variables())._at_(anInstVarName);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"instVarObjectAt:",{anInstVarName:anInstVarName},smalltalk.HLInspectorModel)})},
 args: ["anInstVarName"],
@@ -248,7 +248,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@label"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$1=_st(_st(self)._inspectee())._printString();
+$1=_st(self._inspectee())._printString();
 } else {
 $1=$2;
 };
@@ -316,7 +316,7 @@ category: 'actions',
 fn: function (anInstVarName){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selection_(anInstVarName);
+self._selection_(anInstVarName);
 return self}, function($ctx1) {$ctx1.fill(self,"selectedInstVar:",{anInstVarName:anInstVarName},smalltalk.HLInspectorModel)})},
 args: ["anInstVarName"],
 source: "selectedInstVar: anInstVarName\x0a    self selection: anInstVarName",
@@ -333,7 +333,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._instVarObjectAt_(_st(self)._selection());
+$1=self._instVarObjectAt_(self._selection());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selectedInstVarObject",{},smalltalk.HLInspectorModel)})},
 args: [],
@@ -375,7 +375,7 @@ var self=this;
 function $HLInstanceVariableSelected(){return smalltalk.HLInstanceVariableSelected||(typeof HLInstanceVariableSelected=="undefined"?nil:HLInstanceVariableSelected)}
 return smalltalk.withContext(function($ctx1) { 
 self["@selection"]=anObject;
-_st(_st(self)._announcer())._announce_(_st($HLInstanceVariableSelected())._on_(self["@selection"]));
+_st(self._announcer())._announce_(_st($HLInstanceVariableSelected())._on_(self["@selection"]));
 return self}, function($ctx1) {$ctx1.fill(self,"selection:",{anObject:anObject},smalltalk.HLInspectorModel)})},
 args: ["anObject"],
 source: "selection: anObject\x0a\x09selection := anObject.\x0a\x0a\x09self announcer announce: (HLInstanceVariableSelected on: selection)\x0a    ",
@@ -391,7 +391,7 @@ category: 'actions',
 fn: function (aWidget){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(aWidget)._subscribeTo_(_st(self)._announcer());
+_st(aWidget)._subscribeTo_(self._announcer());
 return self}, function($ctx1) {$ctx1.fill(self,"subscribe:",{aWidget:aWidget},smalltalk.HLInspectorModel)})},
 args: ["aWidget"],
 source: "subscribe: aWidget\x0a\x09aWidget subscribeTo: self announcer",
@@ -449,7 +449,7 @@ fn: function (anEnvironment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._environment_(anEnvironment);
 $3=_st($2)._yourself();
 $1=$3;
@@ -497,7 +497,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._variables();
+$1=self._variables();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultItems",{},smalltalk.HLInspectorVariablesWidget)})},
 args: [],
@@ -515,7 +515,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._label();
+$1=_st(self._model())._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLInspectorVariablesWidget)})},
 args: [],
@@ -567,9 +567,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._variables()).__eq(_st(self)._items());
+$1=_st(self._variables()).__eq(self._items());
 if(! smalltalk.assert($1)){
-_st(self)._resetItems();
+self._resetItems();
 smalltalk.HLNavigationListWidget.fn.prototype._refresh.apply(_st(self), []);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"refresh",{},smalltalk.HLInspectorVariablesWidget)})},
@@ -594,7 +594,7 @@ _st($1)._class_("btn");
 _st($1)._with_("Dive");
 $2=_st($1)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._announcer())._announce_(_st($HLDiveRequested())._new());
+return _st(self._announcer())._announce_(_st($HLDiveRequested())._new());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 self["@diveButton"]=$2;
 return self}, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html},smalltalk.HLInspectorVariablesWidget)})},
@@ -612,7 +612,7 @@ category: 'rendering',
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._renderHeadOn_(html);
+self._renderHeadOn_(html);
 smalltalk.HLNavigationListWidget.fn.prototype._renderContentOn_.apply(_st(self), [html]);
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspectorVariablesWidget)})},
 args: ["html"],
@@ -632,7 +632,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=_st(html)._div();
 _st($1)._class_("list-label");
-$2=_st($1)._with_(_st(self)._label());
+$2=_st($1)._with_(self._label());
 return self}, function($ctx1) {$ctx1.fill(self,"renderHeadOn:",{html:html},smalltalk.HLInspectorVariablesWidget)})},
 args: ["html"],
 source: "renderHeadOn: html\x0a\x09html div \x0a\x09\x09class: 'list-label';\x0a\x09\x09with: self label",
@@ -665,7 +665,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLNavigationListWidget.fn.prototype._selectItem_.apply(_st(self), [anObject]);
-_st(_st(self)._model())._selectedInstVar_(anObject);
+_st(self._model())._selectedInstVar_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"selectItem:",{anObject:anObject},smalltalk.HLInspectorVariablesWidget)})},
 args: ["anObject"],
 source: "selectItem: anObject\x0a\x09super selectItem: anObject.\x0a    self model selectedInstVar: anObject",
@@ -700,7 +700,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._model())._variables())._keys();
+$1=_st(_st(self._model())._variables())._keys();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"variables",{},smalltalk.HLInspectorVariablesWidget)})},
 args: [],
@@ -754,7 +754,7 @@ var $2,$3,$4,$1;
 $2=self["@displayWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLInspectorDisplayWidget())._new();
-_st($3)._model_(_st(self)._model());
+_st($3)._model_(self._model());
 $4=_st($3)._yourself();
 self["@displayWidget"]=$4;
 $1=self["@displayWidget"];
@@ -778,7 +778,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLWidget.fn.prototype._initialize.apply(_st(self), []);
-_st(self)._register();
+self._register();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLInspectorWidget)})},
 args: [],
 source: "initialize\x0a\x09super initialize.\x0a\x09self register",
@@ -795,7 +795,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(_st(self)._model())._inspect_on_(anObject,self);
+_st(self._model())._inspect_on_(anObject,self);
 $1=self;
 _st($1)._refreshVariablesWidget();
 $2=_st($1)._refreshDisplayWidget();
@@ -815,7 +815,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._inspectee();
+$1=_st(self._model())._inspectee();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"inspectee",{},smalltalk.HLInspectorWidget)})},
 args: [],
@@ -832,7 +832,7 @@ category: 'accessing',
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._inspectee_(anObject);
+_st(self._model())._inspectee_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"inspectee:",{anObject:anObject},smalltalk.HLInspectorWidget)})},
 args: ["anObject"],
 source: "inspectee: anObject\x0a\x09self model inspectee: anObject",
@@ -849,7 +849,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._label();
+$1=_st(self._model())._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.HLInspectorWidget)})},
 args: [],
@@ -870,7 +870,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@model"];
 if(($receiver = $2) == nil || $receiver == undefined){
-_st(self)._model_(_st($HLInspectorModel())._new());
+self._model_(_st($HLInspectorModel())._new());
 $1=self["@model"];
 } else {
 $1=$2;
@@ -893,7 +893,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 self["@model"]=aModel;
-_st(_st(self)._codeWidget())._model_(_st(aModel)._code());
+_st(self._codeWidget())._model_(_st(aModel)._code());
 $1=self;
 _st($1)._observeCodeWidget();
 _st($1)._observeVariablesWidget();
@@ -914,9 +914,9 @@ fn: function (){
 var self=this;
 function $HLDoItExecuted(){return smalltalk.HLDoItExecuted||(typeof HLDoItExecuted=="undefined"?nil:HLDoItExecuted)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._codeWidget())._announcer())._on_do_($HLDoItExecuted(),(function(){
+_st(_st(self._codeWidget())._announcer())._on_do_($HLDoItExecuted(),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onDoneIt();
+return self._onDoneIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"observeCodeWidget",{},smalltalk.HLInspectorWidget)})},
 args: [],
@@ -934,7 +934,7 @@ fn: function (){
 var self=this;
 function $HLInstanceVariableSelected(){return smalltalk.HLInstanceVariableSelected||(typeof HLInstanceVariableSelected=="undefined"?nil:HLInstanceVariableSelected)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._model())._announcer())._on_send_to_($HLInstanceVariableSelected(),"onInstanceVariableSelected",self);
+_st(_st(self._model())._announcer())._on_send_to_($HLInstanceVariableSelected(),"onInstanceVariableSelected",self);
 return self}, function($ctx1) {$ctx1.fill(self,"observeModel",{},smalltalk.HLInspectorWidget)})},
 args: [],
 source: "observeModel\x0a\x09self model announcer\x0a        on: HLInstanceVariableSelected\x0a\x09\x09send: #onInstanceVariableSelected\x0a\x09\x09to: self",
@@ -951,9 +951,9 @@ fn: function (){
 var self=this;
 function $HLDiveRequested(){return smalltalk.HLDiveRequested||(typeof HLDiveRequested=="undefined"?nil:HLDiveRequested)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._variablesWidget())._announcer())._on_do_($HLDiveRequested(),(function(){
+_st(_st(self._variablesWidget())._announcer())._on_do_($HLDiveRequested(),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onDive();
+return self._onDive();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"observeVariablesWidget",{},smalltalk.HLInspectorWidget)})},
 args: [],
@@ -973,7 +973,7 @@ function $HLInspector(){return smalltalk.HLInspector||(typeof HLInspector=="unde
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 $1=_st($HLInspector())._new();
-_st($1)._inspect_(_st(_st(self)._model())._selectedInstVarObject());
+_st($1)._inspect_(_st(self._model())._selectedInstVarObject());
 $2=_st($1)._openAsTab();
 return self}, function($ctx1) {$ctx1.fill(self,"onDive",{},smalltalk.HLInspectorWidget)})},
 args: [],
@@ -990,7 +990,7 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._refresh();
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onDoneIt",{},smalltalk.HLInspectorWidget)})},
 args: [],
 source: "onDoneIt\x0a\x0a\x09self refresh",
@@ -1021,8 +1021,8 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._codeWidget())._receiver_(_st(_st(self)._model())._selectedInstVarObject());
-_st(self)._refreshDisplayWidget();
+_st(self._codeWidget())._receiver_(_st(self._model())._selectedInstVarObject());
+self._refreshDisplayWidget();
 return self}, function($ctx1) {$ctx1.fill(self,"onInstanceVariableSelected",{},smalltalk.HLInspectorWidget)})},
 args: [],
 source: "onInstanceVariableSelected\x0a\x09self codeWidget receiver: self model selectedInstVarObject.\x0a\x09self refreshDisplayWidget",
@@ -1072,7 +1072,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._displayWidget())._refresh();
+_st(self._displayWidget())._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"refreshDisplayWidget",{},smalltalk.HLInspectorWidget)})},
 args: [],
 source: "refreshDisplayWidget\x0a\x09self displayWidget refresh",
@@ -1088,7 +1088,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._variablesWidget())._refresh();
+_st(self._variablesWidget())._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"refreshVariablesWidget",{},smalltalk.HLInspectorWidget)})},
 args: [],
 source: "refreshVariablesWidget\x0a\x09self variablesWidget refresh",
@@ -1123,7 +1123,7 @@ var self=this;
 function $HLVerticalSplitter(){return smalltalk.HLVerticalSplitter||(typeof HLVerticalSplitter=="undefined"?nil:HLVerticalSplitter)}
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st(self)._variablesWidget(),_st(self)._displayWidget()),_st(self)._codeWidget()));
+_st(html)._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(self._variablesWidget(),self._displayWidget()),self._codeWidget()));
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspectorWidget)})},
 args: ["html"],
 source: "renderContentOn: html\x0a   \x09html with: (HLHorizontalSplitter\x0a    \x09with: (HLVerticalSplitter \x0a            with: self variablesWidget\x0a            with: self displayWidget)\x0a        with: self codeWidget)\x0a ",
@@ -1139,7 +1139,7 @@ category: 'actions',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._label_(aString);
+_st(self._model())._label_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"setLabel:",{aString:aString},smalltalk.HLInspectorWidget)})},
 args: ["aString"],
 source: "setLabel: aString\x0a\x09self model label: aString",
@@ -1155,7 +1155,7 @@ category: 'actions',
 fn: function (aDictionary){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._variables_(aDictionary);
+_st(self._model())._variables_(aDictionary);
 return self}, function($ctx1) {$ctx1.fill(self,"setVariables:",{aDictionary:aDictionary},smalltalk.HLInspectorWidget)})},
 args: ["aDictionary"],
 source: "setVariables: aDictionary\x0a\x09self model variables: aDictionary",
@@ -1210,7 +1210,7 @@ var $2,$3,$4,$1;
 $2=self["@variablesWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLInspectorVariablesWidget())._new();
-_st($3)._model_(_st(self)._model());
+_st($3)._model_(self._model());
 $4=_st($3)._yourself();
 self["@variablesWidget"]=$4;
 $1=self["@variablesWidget"];
@@ -1239,8 +1239,8 @@ function $HLVerticalSplitter(){return smalltalk.HLVerticalSplitter||(typeof HLVe
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 function $HLContainer(){return smalltalk.HLContainer||(typeof HLContainer=="undefined"?nil:HLContainer)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st(self)._variablesWidget(),_st(self)._displayWidget()),_st(self)._codeWidget())));
-_st(_st(self)._variablesWidget())._focus();
+_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(self._variablesWidget(),self._displayWidget()),self._codeWidget())));
+_st(self._variablesWidget())._focus();
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLInspector)})},
 args: ["html"],
 source: "renderContentOn: html\x0a   \x09html with: (HLContainer with: (HLHorizontalSplitter\x0a    \x09with: (HLVerticalSplitter \x0a            with: self variablesWidget\x0a            with: self displayWidget)\x0a        with: self codeWidget)).\x0a\x09\x0a\x09self variablesWidget focus",
@@ -1275,7 +1275,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLInspectorWidget.klass.fn.prototype._initialize.apply(_st(self), []);
-_st(self)._watchChanges();
+self._watchChanges();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLInspector.klass)})},
 args: [],
 source: "initialize\x0a\x09super initialize.\x0a\x09self watchChanges",
@@ -1292,7 +1292,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(self)._new();
+$1=self._new();
 _st($1)._inspect_(anObject);
 $2=_st($1)._openAsTab();
 return self}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},smalltalk.HLInspector.klass)})},
@@ -1335,7 +1335,7 @@ category: 'registration',
 fn: function (anInspector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._inspectors())._add_(anInspector);
+_st(self._inspectors())._add_(anInspector);
 return self}, function($ctx1) {$ctx1.fill(self,"register:",{anInspector:anInspector},smalltalk.HLInspector.klass)})},
 args: ["anInspector"],
 source: "register: anInspector\x0a\x09self inspectors add: anInspector",
@@ -1399,7 +1399,7 @@ category: 'registration',
 fn: function (anInspector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._inspectors())._remove_(anInspector);
+_st(self._inspectors())._remove_(anInspector);
 return self}, function($ctx1) {$ctx1.fill(self,"unregister:",{anInspector:anInspector},smalltalk.HLInspector.klass)})},
 args: ["anInspector"],
 source: "unregister: anInspector\x0a\x09self inspectors remove: anInspector",
@@ -1417,10 +1417,10 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._inspectors())._do_((function(each){
+return _st(self._inspectors())._do_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(each)._refresh();
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._valueWithInterval_((500));
 return self}, function($ctx1) {$ctx1.fill(self,"watchChanges",{},smalltalk.HLInspector.klass)})},
 args: [],

+ 90 - 94
js/Helios-KeyBindings.deploy.js

@@ -28,7 +28,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._label();
+$1=self._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"displayLabel",{},smalltalk.HLBinding)})},
 messageSends: ["label"]}),
@@ -41,7 +41,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._subclassResponsibility();
+$1=self._subclassResponsibility();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLBinding)})},
 messageSends: ["subclassResponsibility"]}),
@@ -129,15 +129,15 @@ $2=_st($1)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
 $3=_st(html)._span();
 _st($3)._class_("label");
-$4=_st($3)._with_(_st(_st(self)._shortcut())._asLowercase());
+$4=_st($3)._with_(_st(self._shortcut())._asLowercase());
 $4;
 $5=_st(html)._a();
 _st($5)._class_("action");
-_st($5)._with_(_st(self)._displayLabel());
+_st($5)._with_(self._displayLabel());
 $6=_st($5)._onClick_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(aBinder)._applyBinding_(self);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 return $6;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderActionFor:html:",{aBinder:aBinder,html:html},smalltalk.HLBinding)})},
@@ -162,7 +162,7 @@ var self=this;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($String())._fromCharCode_(_st(self)._key());
+$1=_st($String())._fromCharCode_(self._key());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shortcut",{},smalltalk.HLBinding)})},
 messageSends: ["fromCharCode:", "key"]}),
@@ -176,7 +176,7 @@ fn: function (anInteger,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._key_(anInteger);
 _st($2)._label_(aString);
 $3=_st($2)._yourself();
@@ -195,11 +195,11 @@ fn: function (aKeyBinder){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._command())._isInputRequired();
+$1=_st(self._command())._isInputRequired();
 if(smalltalk.assert($1)){
-_st(aKeyBinder)._selectBinding_(_st(self)._inputBinding());
+_st(aKeyBinder)._selectBinding_(self._inputBinding());
 } else {
-_st(_st(self)._command())._execute();
+_st(self._command())._execute();
 };
 return self}, function($ctx1) {$ctx1.fill(self,"applyOn:",{aKeyBinder:aKeyBinder},smalltalk.HLBindingAction)})},
 messageSends: ["ifTrue:ifFalse:", "selectBinding:", "inputBinding", "execute", "command", "isInputRequired"]}),
@@ -238,13 +238,13 @@ function $HLBindingInput(){return smalltalk.HLBindingInput||(typeof HLBindingInp
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$4,$5,$1;
 $2=_st($HLBindingInput())._new();
-_st($2)._label_(_st(_st(self)._command())._inputLabel());
-_st($2)._ghostText_(_st(_st(self)._command())._displayLabel());
-_st($2)._defaultValue_(_st(_st(self)._command())._defaultInput());
-_st($2)._inputCompletion_(_st(_st(self)._command())._inputCompletion());
+_st($2)._label_(_st(self._command())._inputLabel());
+_st($2)._ghostText_(_st(self._command())._displayLabel());
+_st($2)._defaultValue_(_st(self._command())._defaultInput());
+_st($2)._inputCompletion_(_st(self._command())._inputCompletion());
 _st($2)._callback_((function(val){
 return smalltalk.withContext(function($ctx2) {
-$3=_st(self)._command();
+$3=self._command();
 _st($3)._input_(val);
 $4=_st($3)._execute();
 return $4;
@@ -263,7 +263,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._command())._isActive();
+$1=_st(self._command())._isActive();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLBindingAction)})},
 messageSends: ["isActive", "command"]}),
@@ -276,7 +276,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._command())._isInputRequired())._not();
+$1=_st(_st(self._command())._isInputRequired())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isFinal",{},smalltalk.HLBindingAction)})},
 messageSends: ["not", "isInputRequired", "command"]}),
@@ -292,7 +292,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._bindings())._select_((function(each){
+$1=_st(self._bindings())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._isActive();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -308,7 +308,7 @@ fn: function (aBinding){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._bindings())._add_(aBinding);
+$1=_st(self._bindings())._add_(aBinding);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"add:",{aBinding:aBinding},smalltalk.HLBindingGroup)})},
 messageSends: ["add:", "bindings"]}),
@@ -325,7 +325,7 @@ var $1,$2;
 $1=_st($HLBindingAction())._on_labelled_(anInteger,aString);
 _st($1)._callback_(aBlock);
 $2=_st($1)._yourself();
-_st(self)._add_($2);
+self._add_($2);
 return self}, function($ctx1) {$ctx1.fill(self,"addActionKey:labelled:callback:",{anInteger:anInteger,aString:aString,aBlock:aBlock},smalltalk.HLBindingGroup)})},
 messageSends: ["add:", "callback:", "on:labelled:", "yourself"]}),
 smalltalk.HLBindingGroup);
@@ -337,7 +337,7 @@ fn: function (anInteger,aString){
 var self=this;
 function $HLBindingGroup(){return smalltalk.HLBindingGroup||(typeof HLBindingGroup=="undefined"?nil:HLBindingGroup)}
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._add_(_st($HLBindingGroup())._on_labelled_(anInteger,aString));
+self._add_(_st($HLBindingGroup())._on_labelled_(anInteger,aString));
 return self}, function($ctx1) {$ctx1.fill(self,"addGroupKey:labelled:",{anInteger:anInteger,aString:aString},smalltalk.HLBindingGroup)})},
 messageSends: ["add:", "on:labelled:"]}),
 smalltalk.HLBindingGroup);
@@ -349,7 +349,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._bindings())._detect_ifNone_((function(each){
+$1=_st(self._bindings())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._label()).__eq(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
@@ -369,7 +369,7 @@ var self=this;
 var binding;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-binding=_st(self)._at_(aString);
+binding=self._at_(aString);
 $1=binding;
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=self;
@@ -389,7 +389,7 @@ fn: function (anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._bindings())._detect_ifNone_((function(each){
+$1=_st(self._bindings())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._key()).__eq(anInteger);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
@@ -441,7 +441,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._activeBindings())._notEmpty();
+$1=_st(self._activeBindings())._notEmpty();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLBindingGroup)})},
 messageSends: ["notEmpty", "activeBindings"]}),
@@ -453,7 +453,7 @@ selector: "release",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._bindings())._do_((function(each){
+_st(self._bindings())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._release();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -468,7 +468,7 @@ fn: function (aBindingHelper,html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._isActive();
+$1=self._isActive();
 if(smalltalk.assert($1)){
 _st(aBindingHelper)._renderBindingGroup_on_(self,html);
 };
@@ -485,8 +485,8 @@ selector: "applyOn:",
 fn: function (aKeyBinder){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._isFinal_(true);
-_st(self)._evaluate_(_st(_st(_st(self)._input())._asJQuery())._val());
+self._isFinal_(true);
+self._evaluate_(_st(_st(self._input())._asJQuery())._val());
 return self}, function($ctx1) {$ctx1.fill(self,"applyOn:",{aKeyBinder:aKeyBinder},smalltalk.HLBindingInput)})},
 messageSends: ["isFinal:", "evaluate:", "val", "asJQuery", "input"]}),
 smalltalk.HLBindingInput);
@@ -544,9 +544,9 @@ selector: "clearStatus",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._status_("info");
-_st(self)._message_("");
-_st(self)._refresh();
+self._status_("info");
+self._message_("");
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"clearStatus",{},smalltalk.HLBindingInput)})},
 messageSends: ["status:", "message:", "refresh"]}),
 smalltalk.HLBindingInput);
@@ -586,8 +586,8 @@ selector: "errorStatus",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._status_("error");
-_st(self)._refresh();
+self._status_("error");
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"errorStatus",{},smalltalk.HLBindingInput)})},
 messageSends: ["status:", "refresh"]}),
 smalltalk.HLBindingInput);
@@ -601,16 +601,16 @@ function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 return smalltalk.withContext(function($ctx1) { 
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._callback())._value_(aString);
+return _st(self._callback())._value_(aString);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 return smalltalk.withContext(function($ctx2) {
-_st(_st(_st(self)._input())._asJQuery())._one_do_("keydown",(function(){
+_st(_st(self._input())._asJQuery())._one_do_("keydown",(function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._clearStatus();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
-_st(self)._message_(_st(ex)._messageText());
-_st(self)._errorStatus();
-return _st(self)._isFinal_(false);
+return self._clearStatus();
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
+self._message_(_st(ex)._messageText());
+self._errorStatus();
+return self._isFinal_(false);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"evaluate:",{aString:aString},smalltalk.HLBindingInput)})},
 messageSends: ["on:do:", "one:do:", "clearStatus", "asJQuery", "input", "message:", "messageText", "errorStatus", "isFinal:", "value:", "callback"]}),
@@ -767,8 +767,8 @@ return $2;
 } else {
 $1;
 };
-_st(self["@wrapper"])._class_(_st(self)._status());
-_st(self["@messageTag"])._contents_(_st(self)._message());
+_st(self["@wrapper"])._class_(self._status());
+_st(self["@messageTag"])._contents_(self._message());
 return self}, function($ctx1) {$ctx1.fill(self,"refresh",{},smalltalk.HLBindingInput)})},
 messageSends: ["ifNil:", "class:", "status", "contents:", "message"]}),
 smalltalk.HLBindingInput);
@@ -802,19 +802,19 @@ self["@wrapper"];
 $1;
 };
 $2=self["@wrapper"];
-_st($2)._class_(_st(self)._status());
+_st($2)._class_(self._status());
 $3=_st($2)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
 $4=_st(html)._input();
-_st($4)._placeholder_(_st(self)._ghostText());
-_st($4)._value_(_st(self)._defaultValue());
+_st($4)._placeholder_(self._ghostText());
+_st($4)._value_(self._defaultValue());
 $5=_st($4)._yourself();
 self["@input"]=$5;
 self["@input"];
-_st(_st(self["@input"])._asJQuery())._typeahead_(smalltalk.HashedCollection._fromPairs_([_st("source").__minus_gt(_st(self)._inputCompletion())]));
+_st(_st(self["@input"])._asJQuery())._typeahead_(smalltalk.HashedCollection._fromPairs_(["source".__minus_gt(self._inputCompletion())]));
 $6=_st(html)._span();
 _st($6)._class_("help-inline");
-_st($6)._with_(_st(self)._message());
+_st($6)._with_(self._message());
 $7=_st($6)._yourself();
 self["@messageTag"]=$7;
 return self["@messageTag"];
@@ -866,7 +866,7 @@ selector: "activate",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._helper())._show();
+_st(self._helper())._show();
 return self}, function($ctx1) {$ctx1.fill(self,"activate",{},smalltalk.HLKeyBinder)})},
 messageSends: ["show", "helper"]}),
 smalltalk.HLKeyBinder);
@@ -877,9 +877,7 @@ selector: "activationKey",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(32);
-return $1;
+return (32);
 }, function($ctx1) {$ctx1.fill(self,"activationKey",{},smalltalk.HLKeyBinder)})},
 messageSends: []}),
 smalltalk.HLKeyBinder);
@@ -907,11 +905,11 @@ if(! smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-_st(self)._selectBinding_(aBinding);
+self._selectBinding_(aBinding);
 _st(aBinding)._applyOn_(self);
 $3=_st(aBinding)._isFinal();
 if(smalltalk.assert($3)){
-_st(self)._deactivate();
+self._deactivate();
 };
 return self}, function($ctx1) {$ctx1.fill(self,"applyBinding:",{aBinding:aBinding},smalltalk.HLKeyBinder)})},
 messageSends: ["ifFalse:", "isActive", "selectBinding:", "applyOn:", "ifTrue:", "deactivate", "isFinal"]}),
@@ -926,7 +924,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@bindings"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@bindings"]=_st(self)._defaultBindings();
+self["@bindings"]=self._defaultBindings();
 $1=self["@bindings"];
 } else {
 $1=$2;
@@ -950,7 +948,7 @@ $1;
 _st(self["@selectedBinding"])._release();
 };
 self["@selectedBinding"]=nil;
-_st(_st(self)._helper())._hide();
+_st(self._helper())._hide();
 return self}, function($ctx1) {$ctx1.fill(self,"deactivate",{},smalltalk.HLKeyBinder)})},
 messageSends: ["ifNotNil:", "release", "hide", "helper"]}),
 smalltalk.HLKeyBinder);
@@ -984,9 +982,7 @@ selector: "escapeKey",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(27);
-return $1;
+return (27);
 }, function($ctx1) {$ctx1.fill(self,"escapeKey",{},smalltalk.HLKeyBinder)})},
 messageSends: []}),
 smalltalk.HLKeyBinder);
@@ -1009,19 +1005,19 @@ fn: function (event){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(_st(event)._which()).__eq(_st(self)._escapeKey()))._or_((function(){
+$1=_st(_st(_st(event)._which()).__eq(self._escapeKey()))._or_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(_st(event)._which()).__eq((71)))._and_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(event)._ctrlKey();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
-_st(self)._deactivate();
+self._deactivate();
 _st(event)._preventDefault();
 return false;
 };
-$2=_st(self)._handleBindingFor_(event);
+$2=self._handleBindingFor_(event);
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"handleActiveKeyDown:",{event:event},smalltalk.HLKeyBinder)})},
 messageSends: ["ifTrue:", "deactivate", "preventDefault", "or:", "and:", "ctrlKey", "=", "which", "escapeKey", "handleBindingFor:"]}),
@@ -1035,12 +1031,12 @@ var self=this;
 var binding;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-binding=_st(_st(self)._selectedBinding())._atKey_(_st(anEvent)._which());
+binding=_st(self._selectedBinding())._atKey_(_st(anEvent)._which());
 $1=binding;
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._applyBinding_(binding);
+self._applyBinding_(binding);
 _st(anEvent)._preventDefault();
 return false;
 };
@@ -1055,11 +1051,11 @@ fn: function (event){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(event)._which()).__eq(_st(self)._activationKey());
+$1=_st(_st(event)._which()).__eq(self._activationKey());
 if(smalltalk.assert($1)){
 $2=_st(event)._ctrlKey();
 if(smalltalk.assert($2)){
-_st(self)._activate();
+self._activate();
 _st(event)._preventDefault();
 return false;
 };
@@ -1075,11 +1071,11 @@ fn: function (event){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._isActive();
+$2=self._isActive();
 if(smalltalk.assert($2)){
-$1=_st(self)._handleActiveKeyDown_(event);
+$1=self._handleActiveKeyDown_(event);
 } else {
-$1=_st(self)._handleInactiveKeyDown_(event);
+$1=self._handleInactiveKeyDown_(event);
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"handleKeyDown:",{event:event},smalltalk.HLKeyBinder)})},
@@ -1123,7 +1119,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(".").__comma(_st(_st(self)._helper())._cssClass()))._asJQuery())._is_(":visible");
+$1=_st(_st(".".__comma(_st(self._helper())._cssClass()))._asJQuery())._is_(":visible");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLKeyBinder)})},
 messageSends: ["is:", "asJQuery", ",", "cssClass", "helper"]}),
@@ -1142,7 +1138,7 @@ $2=self;
 return $2;
 };
 self["@selectedBinding"]=aBinding;
-_st(_st(self)._helper())._refresh();
+_st(self._helper())._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"selectBinding:",{aBinding:aBinding},smalltalk.HLKeyBinder)})},
 messageSends: ["ifTrue:", "=", "refresh", "helper"]}),
 smalltalk.HLKeyBinder);
@@ -1156,7 +1152,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@selectedBinding"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$1=_st(self)._bindings();
+$1=self._bindings();
 } else {
 $1=$2;
 };
@@ -1173,7 +1169,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(_st(window)._jQuery_("body"))._keydown_((function(event){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._handleKeyDown_(event);
+return self._handleKeyDown_(event);
 }, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"setupEvents",{},smalltalk.HLKeyBinder)})},
 messageSends: ["keydown:", "handleKeyDown:", "jQuery:"]}),
@@ -1212,8 +1208,8 @@ selector: "hide",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(".").__comma(_st(self)._cssClass()))._asJQuery())._remove();
-_st(self)._showCog();
+_st(_st(".".__comma(self._cssClass()))._asJQuery())._remove();
+self._showCog();
 return self}, function($ctx1) {$ctx1.fill(self,"hide",{},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["remove", "asJQuery", ",", "cssClass", "showCog"]}),
 smalltalk.HLKeyBinderHelper);
@@ -1224,7 +1220,7 @@ selector: "hideCog",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st("#cog-helper")._asJQuery())._hide();
+_st("#cog-helper"._asJQuery())._hide();
 return self}, function($ctx1) {$ctx1.fill(self,"hideCog",{},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["hide", "asJQuery"]}),
 smalltalk.HLKeyBinderHelper);
@@ -1274,7 +1270,7 @@ return smalltalk.withContext(function($ctx2) {
 return _st(_st(a)._key()).__lt(_st(b)._key());
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(each)._renderActionFor_html_(_st(self)._keyBinder(),html);
+return _st(each)._renderActionFor_html_(self._keyBinder(),html);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderBindingGroup:on:",{aBindingGroup:aBindingGroup,html:html},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["do:", "renderActionFor:html:", "keyBinder", "sorted:", "<", "key", "activeBindings"]}),
@@ -1286,7 +1282,7 @@ selector: "renderBindingOn:",
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._selectedBinding())._renderOn_html_(self,html);
+_st(self._selectedBinding())._renderOn_html_(self,html);
 return self}, function($ctx1) {$ctx1.fill(self,"renderBindingOn:",{html:html},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["renderOn:html:", "selectedBinding"]}),
 smalltalk.HLKeyBinderHelper);
@@ -1306,7 +1302,7 @@ return _st(_st(html)._tag_("i"))._class_("icon-remove");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $2=_st($1)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._keyBinder())._deactivate();
+return _st(self._keyBinder())._deactivate();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderCloseOn:",{html:html},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["class:", "a", "with:", "tag:", "onClick:", "deactivate", "keyBinder"]}),
@@ -1329,15 +1325,15 @@ $3=_st(html)._a();
 _st($3)._with_((function(){
 return smalltalk.withContext(function($ctx4) {
 return _st(_st(html)._tag_("i"))._class_("icon-cog");
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
 $4=_st($3)._onClick_((function(){
 return smalltalk.withContext(function($ctx4) {
-return _st(_st(self)._keyBinder())._activate();
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
+return _st(self._keyBinder())._activate();
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
 return $4;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 return $2;
-}, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_(_st("body")._asJQuery());
+}, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_("body"._asJQuery());
 return self}, function($ctx1) {$ctx1.fill(self,"renderCog",{},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["appendToJQuery:", "asJQuery", "id:", "div", "with:", "class:", "tag:", "a", "onClick:", "activate", "keyBinder"]}),
 smalltalk.HLKeyBinderHelper);
@@ -1350,7 +1346,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$3,$4,$2;
 $1=_st(html)._div();
-_st($1)._class_(_st(self)._cssClass());
+_st($1)._class_(self._cssClass());
 $2=_st($1)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
 $3=self;
@@ -1373,7 +1369,7 @@ var $1,$3,$5,$4,$2;
 $1=_st(html)._span();
 _st($1)._class_("selected");
 $3=$1;
-$5=_st(_st(self)._selectedBinding())._label();
+$5=_st(self._selectedBinding())._label();
 if(($receiver = $5) == nil || $receiver == undefined){
 $4="Action";
 } else {
@@ -1396,9 +1392,9 @@ _st((function(html){
 return smalltalk.withContext(function($ctx2) {
 $1=_st(html)._div();
 _st($1)._id_("helper");
-$2=_st($1)._with_(_st(_st("Press ").__comma(_st(_st(self)._keyBinder())._activationKeyLabel())).__comma(" to start"));
+$2=_st($1)._with_(_st("Press ".__comma(_st(self._keyBinder())._activationKeyLabel())).__comma(" to start"));
 return $2;
-}, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_(_st("body")._asJQuery());
+}, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_("body"._asJQuery());
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(window)._jQuery_("#helper"))._fadeOut_((1000));
@@ -1414,7 +1410,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._keyBinder())._selectedBinding();
+$1=_st(self._keyBinder())._selectedBinding();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selectedBinding",{},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["selectedBinding", "keyBinder"]}),
@@ -1426,8 +1422,8 @@ selector: "show",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._hideCog();
-_st(self)._appendToJQuery_(_st("body")._asJQuery());
+self._hideCog();
+self._appendToJQuery_("body"._asJQuery());
 return self}, function($ctx1) {$ctx1.fill(self,"show",{},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["hideCog", "appendToJQuery:", "asJQuery"]}),
 smalltalk.HLKeyBinderHelper);
@@ -1438,7 +1434,7 @@ selector: "showCog",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st("#cog-helper")._asJQuery())._show();
+_st("#cog-helper"._asJQuery())._show();
 return self}, function($ctx1) {$ctx1.fill(self,"showCog",{},smalltalk.HLKeyBinderHelper)})},
 messageSends: ["show", "asJQuery"]}),
 smalltalk.HLKeyBinderHelper);
@@ -1451,7 +1447,7 @@ fn: function (aKeyBinder){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._keyBinder_(aKeyBinder);
 $3=_st($2)._yourself();
 $1=$3;

+ 90 - 94
js/Helios-KeyBindings.js

@@ -39,7 +39,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._label();
+$1=self._label();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"displayLabel",{},smalltalk.HLBinding)})},
 args: [],
@@ -57,7 +57,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._subclassResponsibility();
+$1=self._subclassResponsibility();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLBinding)})},
 args: [],
@@ -180,15 +180,15 @@ $2=_st($1)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
 $3=_st(html)._span();
 _st($3)._class_("label");
-$4=_st($3)._with_(_st(_st(self)._shortcut())._asLowercase());
+$4=_st($3)._with_(_st(self._shortcut())._asLowercase());
 $4;
 $5=_st(html)._a();
 _st($5)._class_("action");
-_st($5)._with_(_st(self)._displayLabel());
+_st($5)._with_(self._displayLabel());
 $6=_st($5)._onClick_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(aBinder)._applyBinding_(self);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 return $6;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderActionFor:html:",{aBinder:aBinder,html:html},smalltalk.HLBinding)})},
@@ -223,7 +223,7 @@ var self=this;
 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($String())._fromCharCode_(_st(self)._key());
+$1=_st($String())._fromCharCode_(self._key());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shortcut",{},smalltalk.HLBinding)})},
 args: [],
@@ -242,7 +242,7 @@ fn: function (anInteger,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._key_(anInteger);
 _st($2)._label_(aString);
 $3=_st($2)._yourself();
@@ -266,11 +266,11 @@ fn: function (aKeyBinder){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._command())._isInputRequired();
+$1=_st(self._command())._isInputRequired();
 if(smalltalk.assert($1)){
-_st(aKeyBinder)._selectBinding_(_st(self)._inputBinding());
+_st(aKeyBinder)._selectBinding_(self._inputBinding());
 } else {
-_st(_st(self)._command())._execute();
+_st(self._command())._execute();
 };
 return self}, function($ctx1) {$ctx1.fill(self,"applyOn:",{aKeyBinder:aKeyBinder},smalltalk.HLBindingAction)})},
 args: ["aKeyBinder"],
@@ -324,13 +324,13 @@ function $HLBindingInput(){return smalltalk.HLBindingInput||(typeof HLBindingInp
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$4,$5,$1;
 $2=_st($HLBindingInput())._new();
-_st($2)._label_(_st(_st(self)._command())._inputLabel());
-_st($2)._ghostText_(_st(_st(self)._command())._displayLabel());
-_st($2)._defaultValue_(_st(_st(self)._command())._defaultInput());
-_st($2)._inputCompletion_(_st(_st(self)._command())._inputCompletion());
+_st($2)._label_(_st(self._command())._inputLabel());
+_st($2)._ghostText_(_st(self._command())._displayLabel());
+_st($2)._defaultValue_(_st(self._command())._defaultInput());
+_st($2)._inputCompletion_(_st(self._command())._inputCompletion());
 _st($2)._callback_((function(val){
 return smalltalk.withContext(function($ctx2) {
-$3=_st(self)._command();
+$3=self._command();
 _st($3)._input_(val);
 $4=_st($3)._execute();
 return $4;
@@ -354,7 +354,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._command())._isActive();
+$1=_st(self._command())._isActive();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLBindingAction)})},
 args: [],
@@ -372,7 +372,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._command())._isInputRequired())._not();
+$1=_st(_st(self._command())._isInputRequired())._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isFinal",{},smalltalk.HLBindingAction)})},
 args: [],
@@ -393,7 +393,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._bindings())._select_((function(each){
+$1=_st(self._bindings())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._isActive();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -414,7 +414,7 @@ fn: function (aBinding){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._bindings())._add_(aBinding);
+$1=_st(self._bindings())._add_(aBinding);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"add:",{aBinding:aBinding},smalltalk.HLBindingGroup)})},
 args: ["aBinding"],
@@ -436,7 +436,7 @@ var $1,$2;
 $1=_st($HLBindingAction())._on_labelled_(anInteger,aString);
 _st($1)._callback_(aBlock);
 $2=_st($1)._yourself();
-_st(self)._add_($2);
+self._add_($2);
 return self}, function($ctx1) {$ctx1.fill(self,"addActionKey:labelled:callback:",{anInteger:anInteger,aString:aString,aBlock:aBlock},smalltalk.HLBindingGroup)})},
 args: ["anInteger", "aString", "aBlock"],
 source: "addActionKey: anInteger labelled: aString callback: aBlock\x0a\x09self add: ((HLBindingAction on: anInteger labelled: aString)\x0a    \x09callback: aBlock;\x0a        yourself)",
@@ -453,7 +453,7 @@ fn: function (anInteger,aString){
 var self=this;
 function $HLBindingGroup(){return smalltalk.HLBindingGroup||(typeof HLBindingGroup=="undefined"?nil:HLBindingGroup)}
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._add_(_st($HLBindingGroup())._on_labelled_(anInteger,aString));
+self._add_(_st($HLBindingGroup())._on_labelled_(anInteger,aString));
 return self}, function($ctx1) {$ctx1.fill(self,"addGroupKey:labelled:",{anInteger:anInteger,aString:aString},smalltalk.HLBindingGroup)})},
 args: ["anInteger", "aString"],
 source: "addGroupKey: anInteger labelled: aString\x0a\x09self add: (HLBindingGroup on: anInteger labelled: aString)",
@@ -470,7 +470,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._bindings())._detect_ifNone_((function(each){
+$1=_st(self._bindings())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._label()).__eq(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
@@ -495,7 +495,7 @@ var self=this;
 var binding;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-binding=_st(self)._at_(aString);
+binding=self._at_(aString);
 $1=binding;
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=self;
@@ -520,7 +520,7 @@ fn: function (anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._bindings())._detect_ifNone_((function(each){
+$1=_st(self._bindings())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._key()).__eq(anInteger);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
@@ -587,7 +587,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._activeBindings())._notEmpty();
+$1=_st(self._activeBindings())._notEmpty();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLBindingGroup)})},
 args: [],
@@ -604,7 +604,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._bindings())._do_((function(each){
+_st(self._bindings())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._release();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -624,7 +624,7 @@ fn: function (aBindingHelper,html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._isActive();
+$1=self._isActive();
 if(smalltalk.assert($1)){
 _st(aBindingHelper)._renderBindingGroup_on_(self,html);
 };
@@ -646,8 +646,8 @@ category: 'actions',
 fn: function (aKeyBinder){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._isFinal_(true);
-_st(self)._evaluate_(_st(_st(_st(self)._input())._asJQuery())._val());
+self._isFinal_(true);
+self._evaluate_(_st(_st(self._input())._asJQuery())._val());
 return self}, function($ctx1) {$ctx1.fill(self,"applyOn:",{aKeyBinder:aKeyBinder},smalltalk.HLBindingInput)})},
 args: ["aKeyBinder"],
 source: "applyOn: aKeyBinder\x0a\x09self isFinal: true.\x0a\x09self evaluate: self input asJQuery val",
@@ -725,9 +725,9 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._status_("info");
-_st(self)._message_("");
-_st(self)._refresh();
+self._status_("info");
+self._message_("");
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"clearStatus",{},smalltalk.HLBindingInput)})},
 args: [],
 source: "clearStatus\x0a\x09self status: 'info'.\x0a\x09self message: ''.\x0a\x09self refresh",
@@ -782,8 +782,8 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._status_("error");
-_st(self)._refresh();
+self._status_("error");
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"errorStatus",{},smalltalk.HLBindingInput)})},
 args: [],
 source: "errorStatus\x0a\x09self status: 'error'.\x0a\x09self refresh",
@@ -802,16 +802,16 @@ function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)}
 return smalltalk.withContext(function($ctx1) { 
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._callback())._value_(aString);
+return _st(self._callback())._value_(aString);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 return smalltalk.withContext(function($ctx2) {
-_st(_st(_st(self)._input())._asJQuery())._one_do_("keydown",(function(){
+_st(_st(self._input())._asJQuery())._one_do_("keydown",(function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._clearStatus();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
-_st(self)._message_(_st(ex)._messageText());
-_st(self)._errorStatus();
-return _st(self)._isFinal_(false);
+return self._clearStatus();
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
+self._message_(_st(ex)._messageText());
+self._errorStatus();
+return self._isFinal_(false);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"evaluate:",{aString:aString},smalltalk.HLBindingInput)})},
 args: ["aString"],
@@ -1023,8 +1023,8 @@ return $2;
 } else {
 $1;
 };
-_st(self["@wrapper"])._class_(_st(self)._status());
-_st(self["@messageTag"])._contents_(_st(self)._message());
+_st(self["@wrapper"])._class_(self._status());
+_st(self["@messageTag"])._contents_(self._message());
 return self}, function($ctx1) {$ctx1.fill(self,"refresh",{},smalltalk.HLBindingInput)})},
 args: [],
 source: "refresh\x0a\x09wrapper ifNil: [ ^ self ].\x0a    \x0a\x09wrapper class: self status.\x0a\x09messageTag contents: self message",
@@ -1068,19 +1068,19 @@ self["@wrapper"];
 $1;
 };
 $2=self["@wrapper"];
-_st($2)._class_(_st(self)._status());
+_st($2)._class_(self._status());
 $3=_st($2)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
 $4=_st(html)._input();
-_st($4)._placeholder_(_st(self)._ghostText());
-_st($4)._value_(_st(self)._defaultValue());
+_st($4)._placeholder_(self._ghostText());
+_st($4)._value_(self._defaultValue());
 $5=_st($4)._yourself();
 self["@input"]=$5;
 self["@input"];
-_st(_st(self["@input"])._asJQuery())._typeahead_(smalltalk.HashedCollection._fromPairs_([_st("source").__minus_gt(_st(self)._inputCompletion())]));
+_st(_st(self["@input"])._asJQuery())._typeahead_(smalltalk.HashedCollection._fromPairs_(["source".__minus_gt(self._inputCompletion())]));
 $6=_st(html)._span();
 _st($6)._class_("help-inline");
-_st($6)._with_(_st(self)._message());
+_st($6)._with_(self._message());
 $7=_st($6)._yourself();
 self["@messageTag"]=$7;
 return self["@messageTag"];
@@ -1147,7 +1147,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._helper())._show();
+_st(self._helper())._show();
 return self}, function($ctx1) {$ctx1.fill(self,"activate",{},smalltalk.HLKeyBinder)})},
 args: [],
 source: "activate\x0a\x09self helper show",
@@ -1163,9 +1163,7 @@ category: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(32);
-return $1;
+return (32);
 }, function($ctx1) {$ctx1.fill(self,"activationKey",{},smalltalk.HLKeyBinder)})},
 args: [],
 source: "activationKey\x0a\x09\x22SPACE\x22\x0a\x09^ 32",
@@ -1203,11 +1201,11 @@ if(! smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-_st(self)._selectBinding_(aBinding);
+self._selectBinding_(aBinding);
 _st(aBinding)._applyOn_(self);
 $3=_st(aBinding)._isFinal();
 if(smalltalk.assert($3)){
-_st(self)._deactivate();
+self._deactivate();
 };
 return self}, function($ctx1) {$ctx1.fill(self,"applyBinding:",{aBinding:aBinding},smalltalk.HLKeyBinder)})},
 args: ["aBinding"],
@@ -1227,7 +1225,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@bindings"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@bindings"]=_st(self)._defaultBindings();
+self["@bindings"]=self._defaultBindings();
 $1=self["@bindings"];
 } else {
 $1=$2;
@@ -1256,7 +1254,7 @@ $1;
 _st(self["@selectedBinding"])._release();
 };
 self["@selectedBinding"]=nil;
-_st(_st(self)._helper())._hide();
+_st(self._helper())._hide();
 return self}, function($ctx1) {$ctx1.fill(self,"deactivate",{},smalltalk.HLKeyBinder)})},
 args: [],
 source: "deactivate\x0a\x09selectedBinding ifNotNil: [ selectedBinding release ].\x0a    selectedBinding := nil.\x0a\x09self helper hide",
@@ -1300,9 +1298,7 @@ category: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(27);
-return $1;
+return (27);
 }, function($ctx1) {$ctx1.fill(self,"escapeKey",{},smalltalk.HLKeyBinder)})},
 args: [],
 source: "escapeKey\x0a\x09\x22ESC\x22\x0a\x09^ 27",
@@ -1335,19 +1331,19 @@ fn: function (event){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(_st(event)._which()).__eq(_st(self)._escapeKey()))._or_((function(){
+$1=_st(_st(_st(event)._which()).__eq(self._escapeKey()))._or_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(_st(event)._which()).__eq((71)))._and_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(event)._ctrlKey();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 if(smalltalk.assert($1)){
-_st(self)._deactivate();
+self._deactivate();
 _st(event)._preventDefault();
 return false;
 };
-$2=_st(self)._handleBindingFor_(event);
+$2=self._handleBindingFor_(event);
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"handleActiveKeyDown:",{event:event},smalltalk.HLKeyBinder)})},
 args: ["event"],
@@ -1366,12 +1362,12 @@ var self=this;
 var binding;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-binding=_st(_st(self)._selectedBinding())._atKey_(_st(anEvent)._which());
+binding=_st(self._selectedBinding())._atKey_(_st(anEvent)._which());
 $1=binding;
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._applyBinding_(binding);
+self._applyBinding_(binding);
 _st(anEvent)._preventDefault();
 return false;
 };
@@ -1391,11 +1387,11 @@ fn: function (event){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(event)._which()).__eq(_st(self)._activationKey());
+$1=_st(_st(event)._which()).__eq(self._activationKey());
 if(smalltalk.assert($1)){
 $2=_st(event)._ctrlKey();
 if(smalltalk.assert($2)){
-_st(self)._activate();
+self._activate();
 _st(event)._preventDefault();
 return false;
 };
@@ -1416,11 +1412,11 @@ fn: function (event){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._isActive();
+$2=self._isActive();
 if(smalltalk.assert($2)){
-$1=_st(self)._handleActiveKeyDown_(event);
+$1=self._handleActiveKeyDown_(event);
 } else {
-$1=_st(self)._handleInactiveKeyDown_(event);
+$1=self._handleInactiveKeyDown_(event);
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"handleKeyDown:",{event:event},smalltalk.HLKeyBinder)})},
@@ -1479,7 +1475,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(".").__comma(_st(_st(self)._helper())._cssClass()))._asJQuery())._is_(":visible");
+$1=_st(_st(".".__comma(_st(self._helper())._cssClass()))._asJQuery())._is_(":visible");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isActive",{},smalltalk.HLKeyBinder)})},
 args: [],
@@ -1503,7 +1499,7 @@ $2=self;
 return $2;
 };
 self["@selectedBinding"]=aBinding;
-_st(_st(self)._helper())._refresh();
+_st(self._helper())._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"selectBinding:",{aBinding:aBinding},smalltalk.HLKeyBinder)})},
 args: ["aBinding"],
 source: "selectBinding: aBinding\x0a\x09aBinding = selectedBinding ifTrue: [ ^ self ].\x0a\x09\x0a\x09selectedBinding := aBinding.\x0a\x09self helper refresh",
@@ -1522,7 +1518,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@selectedBinding"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$1=_st(self)._bindings();
+$1=self._bindings();
 } else {
 $1=$2;
 };
@@ -1544,7 +1540,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(_st(window)._jQuery_("body"))._keydown_((function(event){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._handleKeyDown_(event);
+return self._handleKeyDown_(event);
 }, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"setupEvents",{},smalltalk.HLKeyBinder)})},
 args: [],
@@ -1598,8 +1594,8 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(".").__comma(_st(self)._cssClass()))._asJQuery())._remove();
-_st(self)._showCog();
+_st(_st(".".__comma(self._cssClass()))._asJQuery())._remove();
+self._showCog();
 return self}, function($ctx1) {$ctx1.fill(self,"hide",{},smalltalk.HLKeyBinderHelper)})},
 args: [],
 source: "hide\x0a\x09('.', self cssClass) asJQuery remove.\x0a\x09self showCog",
@@ -1615,7 +1611,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st("#cog-helper")._asJQuery())._hide();
+_st("#cog-helper"._asJQuery())._hide();
 return self}, function($ctx1) {$ctx1.fill(self,"hideCog",{},smalltalk.HLKeyBinderHelper)})},
 args: [],
 source: "hideCog\x0a\x09'#cog-helper' asJQuery hide",
@@ -1685,7 +1681,7 @@ return smalltalk.withContext(function($ctx2) {
 return _st(_st(a)._key()).__lt(_st(b)._key());
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(each)._renderActionFor_html_(_st(self)._keyBinder(),html);
+return _st(each)._renderActionFor_html_(self._keyBinder(),html);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderBindingGroup:on:",{aBindingGroup:aBindingGroup,html:html},smalltalk.HLKeyBinderHelper)})},
 args: ["aBindingGroup", "html"],
@@ -1702,7 +1698,7 @@ category: 'rendering',
 fn: function (html){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._selectedBinding())._renderOn_html_(self,html);
+_st(self._selectedBinding())._renderOn_html_(self,html);
 return self}, function($ctx1) {$ctx1.fill(self,"renderBindingOn:",{html:html},smalltalk.HLKeyBinderHelper)})},
 args: ["html"],
 source: "renderBindingOn: html\x0a\x09self selectedBinding renderOn: self html: html",
@@ -1727,7 +1723,7 @@ return _st(_st(html)._tag_("i"))._class_("icon-remove");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $2=_st($1)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._keyBinder())._deactivate();
+return _st(self._keyBinder())._deactivate();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderCloseOn:",{html:html},smalltalk.HLKeyBinderHelper)})},
 args: ["html"],
@@ -1755,15 +1751,15 @@ $3=_st(html)._a();
 _st($3)._with_((function(){
 return smalltalk.withContext(function($ctx4) {
 return _st(_st(html)._tag_("i"))._class_("icon-cog");
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
 $4=_st($3)._onClick_((function(){
 return smalltalk.withContext(function($ctx4) {
-return _st(_st(self)._keyBinder())._activate();
-}, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
+return _st(self._keyBinder())._activate();
+}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
 return $4;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 return $2;
-}, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_(_st("body")._asJQuery());
+}, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_("body"._asJQuery());
 return self}, function($ctx1) {$ctx1.fill(self,"renderCog",{},smalltalk.HLKeyBinderHelper)})},
 args: [],
 source: "renderCog\x0a\x09[ :html |\x0a\x09\x09html \x0a\x09\x09\x09div id: 'cog-helper'; \x0a\x09\x09\x09with: [\x0a\x09\x09\x09\x09html a \x0a\x09\x09\x09\x09\x09with: [ (html tag: 'i') class: 'icon-cog' ];\x0a\x09\x09\x09\x09\x09onClick: [ self keyBinder activate ] ] ]\x0a\x09\x09appendToJQuery: 'body' asJQuery",
@@ -1781,7 +1777,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$3,$4,$2;
 $1=_st(html)._div();
-_st($1)._class_(_st(self)._cssClass());
+_st($1)._class_(self._cssClass());
 $2=_st($1)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
 $3=self;
@@ -1809,7 +1805,7 @@ var $1,$3,$5,$4,$2;
 $1=_st(html)._span();
 _st($1)._class_("selected");
 $3=$1;
-$5=_st(_st(self)._selectedBinding())._label();
+$5=_st(self._selectedBinding())._label();
 if(($receiver = $5) == nil || $receiver == undefined){
 $4="Action";
 } else {
@@ -1837,9 +1833,9 @@ _st((function(html){
 return smalltalk.withContext(function($ctx2) {
 $1=_st(html)._div();
 _st($1)._id_("helper");
-$2=_st($1)._with_(_st(_st("Press ").__comma(_st(_st(self)._keyBinder())._activationKeyLabel())).__comma(" to start"));
+$2=_st($1)._with_(_st("Press ".__comma(_st(self._keyBinder())._activationKeyLabel())).__comma(" to start"));
 return $2;
-}, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_(_st("body")._asJQuery());
+}, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}))._appendToJQuery_("body"._asJQuery());
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(window)._jQuery_("#helper"))._fadeOut_((1000));
@@ -1860,7 +1856,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._keyBinder())._selectedBinding();
+$1=_st(self._keyBinder())._selectedBinding();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selectedBinding",{},smalltalk.HLKeyBinderHelper)})},
 args: [],
@@ -1877,8 +1873,8 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._hideCog();
-_st(self)._appendToJQuery_(_st("body")._asJQuery());
+self._hideCog();
+self._appendToJQuery_("body"._asJQuery());
 return self}, function($ctx1) {$ctx1.fill(self,"show",{},smalltalk.HLKeyBinderHelper)})},
 args: [],
 source: "show\x0a\x09self hideCog.\x0a\x09self appendToJQuery: 'body' asJQuery",
@@ -1894,7 +1890,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st("#cog-helper")._asJQuery())._show();
+_st("#cog-helper"._asJQuery())._show();
 return self}, function($ctx1) {$ctx1.fill(self,"showCog",{},smalltalk.HLKeyBinderHelper)})},
 args: [],
 source: "showCog\x0a\x09'#cog-helper' asJQuery show",
@@ -1912,7 +1908,7 @@ fn: function (aKeyBinder){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._keyBinder_(aKeyBinder);
 $3=_st($2)._yourself();
 $1=$3;

+ 24 - 24
js/Helios-Layout.deploy.js

@@ -9,7 +9,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=_st(html)._div();
 _st($1)._class_("tool_container");
-$2=_st($1)._with_(_st(self)._splitter());
+$2=_st($1)._with_(self._splitter());
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.HLContainer)})},
 messageSends: ["class:", "div", "with:", "splitter"]}),
 smalltalk.HLContainer);
@@ -46,7 +46,7 @@ fn: function (aSplitter){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._splitter_(aSplitter);
 $3=_st($2)._yourself();
 $1=$3;
@@ -122,23 +122,23 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$3,$4,$5,$6,$2;
 $1=_st(html)._div();
-_st($1)._class_(_st(self)._panesCssClass());
+_st($1)._class_(self._panesCssClass());
 $2=_st($1)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
 $3=_st(html)._div();
 _st($3)._class_("pane");
-$4=_st($3)._with_(_st(self)._firstWidget());
+$4=_st($3)._with_(self._firstWidget());
 self["@firstPane"]=$4;
 self["@firstPane"];
-self["@splitter"]=_st(_st(html)._div())._class_(_st(self)._cssClass());
+self["@splitter"]=_st(_st(html)._div())._class_(self._cssClass());
 self["@splitter"];
 $5=_st(html)._div();
 _st($5)._class_("pane");
-$6=_st($5)._with_(_st(self)._secondWidget());
+$6=_st($5)._with_(self._secondWidget());
 self["@secondPane"]=$6;
 return self["@secondPane"];
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(self)._setupSplitter();
+self._setupSplitter();
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.HLSplitter)})},
 messageSends: ["class:", "panesCssClass", "div", "with:", "firstWidget", "cssClass", "secondWidget", "setupSplitter"]}),
 smalltalk.HLSplitter);
@@ -195,7 +195,7 @@ fn: function (aWidget,anotherWidget){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._firstWidget_(aWidget);
 _st($2)._secondWidget_(anotherWidget);
 $3=_st($2)._yourself();
@@ -239,7 +239,7 @@ selector: "resize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._resize_(_st(_st(self["@splitter"])._asJQuery())._css_("top"));
+self._resize_(_st(_st(self["@splitter"])._asJQuery())._css_("top"));
 return self}, function($ctx1) {$ctx1.fill(self,"resize",{},smalltalk.HLHorizontalSplitter)})},
 messageSends: ["resize:", "css:", "asJQuery"]}),
 smalltalk.HLHorizontalSplitter);
@@ -255,10 +255,10 @@ container=_st(_st(self["@firstPane"])._asJQuery())._parent();
 offset=_st(_st(_st(self["@firstPane"])._asJQuery())._offset())._top();
 size=_st(container)._height();
 percentage=_st(_st(_st(size).__minus(_st(anInteger).__minus(offset))).__slash(size)).__star((100));
-percentage=_st((80))._min_(_st(percentage)._max_((20)));
+percentage=(80)._min_(_st(percentage)._max_((20)));
 _st(_st(self["@firstPane"])._asJQuery())._css_put_("bottom",_st(_st(percentage)._asString()).__comma("%"));
-_st(_st(self["@splitter"])._asJQuery())._css_put_("top",_st(_st(_st((100)).__minus(percentage))._asString()).__comma("%"));
-_st(_st(self["@secondPane"])._asJQuery())._css_put_("top",_st(_st(_st((100)).__minus(percentage))._asString()).__comma("%"));
+_st(_st(self["@splitter"])._asJQuery())._css_put_("top",_st(_st((100).__minus(percentage))._asString()).__comma("%"));
+_st(_st(self["@secondPane"])._asJQuery())._css_put_("top",_st(_st((100).__minus(percentage))._asString()).__comma("%"));
 return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,size:size,offset:offset,percentage:percentage},smalltalk.HLHorizontalSplitter)})},
 messageSends: ["parent", "asJQuery", "top", "offset", "height", "*", "/", "-", "min:", "max:", "css:put:", ",", "asString"]}),
 smalltalk.HLHorizontalSplitter);
@@ -269,12 +269,12 @@ selector: "setupSplitter",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("y"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
+_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_(["axis".__minus_gt("y"),"containment".__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),"helper".__minus_gt("clone"),"start".__minus_gt((function(e,ui){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._startResizing_(_st(ui)._helper());
-}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
+return self._startResizing_(_st(ui)._helper());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),"drag".__minus_gt((function(e,ui){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._resize_(_st(_st(ui)._offset())._top());
+return self._resize_(_st(_st(ui)._offset())._top());
 }, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{},smalltalk.HLHorizontalSplitter)})},
 messageSends: ["draggable:", "->", "parent", "asJQuery", "startResizing:", "helper", "resize:", "top", "offset"]}),
@@ -326,7 +326,7 @@ selector: "resize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._resize_(_st(_st(self["@splitter"])._asJQuery())._css_("left"));
+self._resize_(_st(_st(self["@splitter"])._asJQuery())._css_("left"));
 return self}, function($ctx1) {$ctx1.fill(self,"resize",{},smalltalk.HLVerticalSplitter)})},
 messageSends: ["resize:", "css:", "asJQuery"]}),
 smalltalk.HLVerticalSplitter);
@@ -342,10 +342,10 @@ container=_st(_st(self["@firstPane"])._asJQuery())._parent();
 offset=_st(_st(_st(self["@firstPane"])._asJQuery())._offset())._left();
 size=_st(container)._width();
 percentage=_st(_st(_st(size).__minus(_st(anInteger).__minus(offset))).__slash(size)).__star((100));
-percentage=_st((80))._min_(_st(percentage)._max_((20)));
+percentage=(80)._min_(_st(percentage)._max_((20)));
 _st(_st(self["@firstPane"])._asJQuery())._css_put_("right",_st(_st(percentage)._asString()).__comma("%"));
-_st(_st(self["@splitter"])._asJQuery())._css_put_("left",_st(_st(_st((100)).__minus(percentage))._asString()).__comma("%"));
-_st(_st(self["@secondPane"])._asJQuery())._css_put_("left",_st(_st(_st((100)).__minus(percentage))._asString()).__comma("%"));
+_st(_st(self["@splitter"])._asJQuery())._css_put_("left",_st(_st((100).__minus(percentage))._asString()).__comma("%"));
+_st(_st(self["@secondPane"])._asJQuery())._css_put_("left",_st(_st((100).__minus(percentage))._asString()).__comma("%"));
 return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,size:size,offset:offset,percentage:percentage},smalltalk.HLVerticalSplitter)})},
 messageSends: ["parent", "asJQuery", "left", "offset", "width", "*", "/", "-", "min:", "max:", "css:put:", ",", "asString"]}),
 smalltalk.HLVerticalSplitter);
@@ -356,12 +356,12 @@ selector: "setupSplitter",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("x"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
+_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_(["axis".__minus_gt("x"),"containment".__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),"helper".__minus_gt("clone"),"start".__minus_gt((function(e,ui){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._startResizing_(_st(ui)._helper());
-}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
+return self._startResizing_(_st(ui)._helper());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),"drag".__minus_gt((function(e,ui){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._resize_(_st(_st(ui)._offset())._left());
+return self._resize_(_st(_st(ui)._offset())._left());
 }, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{},smalltalk.HLVerticalSplitter)})},
 messageSends: ["draggable:", "->", "parent", "asJQuery", "startResizing:", "helper", "resize:", "left", "offset"]}),

+ 24 - 24
js/Helios-Layout.js

@@ -10,7 +10,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=_st(html)._div();
 _st($1)._class_("tool_container");
-$2=_st($1)._with_(_st(self)._splitter());
+$2=_st($1)._with_(self._splitter());
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.HLContainer)})},
 args: ["html"],
 source: "renderOn: html\x0a\x09html div \x0a    \x09class: 'tool_container'; \x0a        with: self splitter",
@@ -62,7 +62,7 @@ fn: function (aSplitter){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._splitter_(aSplitter);
 $3=_st($2)._yourself();
 $1=$3;
@@ -168,23 +168,23 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$3,$4,$5,$6,$2;
 $1=_st(html)._div();
-_st($1)._class_(_st(self)._panesCssClass());
+_st($1)._class_(self._panesCssClass());
 $2=_st($1)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
 $3=_st(html)._div();
 _st($3)._class_("pane");
-$4=_st($3)._with_(_st(self)._firstWidget());
+$4=_st($3)._with_(self._firstWidget());
 self["@firstPane"]=$4;
 self["@firstPane"];
-self["@splitter"]=_st(_st(html)._div())._class_(_st(self)._cssClass());
+self["@splitter"]=_st(_st(html)._div())._class_(self._cssClass());
 self["@splitter"];
 $5=_st(html)._div();
 _st($5)._class_("pane");
-$6=_st($5)._with_(_st(self)._secondWidget());
+$6=_st($5)._with_(self._secondWidget());
 self["@secondPane"]=$6;
 return self["@secondPane"];
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(self)._setupSplitter();
+self._setupSplitter();
 return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html},smalltalk.HLSplitter)})},
 args: ["html"],
 source: "renderOn: html\x0a\x09html div class: self panesCssClass; with: [\x0a\x09\x09firstPane := html div class: 'pane'; with: self firstWidget.\x0a    \x09splitter := html div class: self cssClass.\x0a    \x09secondPane := html div class: 'pane'; with: self secondWidget ].\x0a        \x0a\x09self setupSplitter",
@@ -266,7 +266,7 @@ fn: function (aWidget,anotherWidget){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._firstWidget_(aWidget);
 _st($2)._secondWidget_(anotherWidget);
 $3=_st($2)._yourself();
@@ -325,7 +325,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._resize_(_st(_st(self["@splitter"])._asJQuery())._css_("top"));
+self._resize_(_st(_st(self["@splitter"])._asJQuery())._css_("top"));
 return self}, function($ctx1) {$ctx1.fill(self,"resize",{},smalltalk.HLHorizontalSplitter)})},
 args: [],
 source: "resize\x0a\x09self resize: (splitter asJQuery css: 'top')",
@@ -346,10 +346,10 @@ container=_st(_st(self["@firstPane"])._asJQuery())._parent();
 offset=_st(_st(_st(self["@firstPane"])._asJQuery())._offset())._top();
 size=_st(container)._height();
 percentage=_st(_st(_st(size).__minus(_st(anInteger).__minus(offset))).__slash(size)).__star((100));
-percentage=_st((80))._min_(_st(percentage)._max_((20)));
+percentage=(80)._min_(_st(percentage)._max_((20)));
 _st(_st(self["@firstPane"])._asJQuery())._css_put_("bottom",_st(_st(percentage)._asString()).__comma("%"));
-_st(_st(self["@splitter"])._asJQuery())._css_put_("top",_st(_st(_st((100)).__minus(percentage))._asString()).__comma("%"));
-_st(_st(self["@secondPane"])._asJQuery())._css_put_("top",_st(_st(_st((100)).__minus(percentage))._asString()).__comma("%"));
+_st(_st(self["@splitter"])._asJQuery())._css_put_("top",_st(_st((100).__minus(percentage))._asString()).__comma("%"));
+_st(_st(self["@secondPane"])._asJQuery())._css_put_("top",_st(_st((100).__minus(percentage))._asString()).__comma("%"));
 return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,size:size,offset:offset,percentage:percentage},smalltalk.HLHorizontalSplitter)})},
 args: ["anInteger"],
 source: "resize: anInteger\x0a\x09| container size offset percentage |\x0a    \x0a    container := firstPane asJQuery parent.\x0a\x09offset := firstPane asJQuery offset top.\x0a    size := container height.\x0a\x09\x0a\x09percentage := (size - (anInteger - offset)) / size * 100.\x0a\x09percentage := 80 min: (percentage max: 20).\x0a\x09\x0a    firstPane asJQuery css: 'bottom' put: percentage asString, '%'.\x0a\x09\x0a\x09splitter asJQuery css: 'top' put: (100 - percentage) asString, '%'.\x0a\x09secondPane asJQuery css: 'top' put: (100 - percentage) asString, '%'",
@@ -365,12 +365,12 @@ category: 'rendering',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("y"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
+_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_(["axis".__minus_gt("y"),"containment".__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),"helper".__minus_gt("clone"),"start".__minus_gt((function(e,ui){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._startResizing_(_st(ui)._helper());
-}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
+return self._startResizing_(_st(ui)._helper());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),"drag".__minus_gt((function(e,ui){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._resize_(_st(_st(ui)._offset())._top());
+return self._resize_(_st(_st(ui)._offset())._top());
 }, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{},smalltalk.HLHorizontalSplitter)})},
 args: [],
@@ -442,7 +442,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._resize_(_st(_st(self["@splitter"])._asJQuery())._css_("left"));
+self._resize_(_st(_st(self["@splitter"])._asJQuery())._css_("left"));
 return self}, function($ctx1) {$ctx1.fill(self,"resize",{},smalltalk.HLVerticalSplitter)})},
 args: [],
 source: "resize\x0a\x09self resize: (splitter asJQuery css: 'left')",
@@ -463,10 +463,10 @@ container=_st(_st(self["@firstPane"])._asJQuery())._parent();
 offset=_st(_st(_st(self["@firstPane"])._asJQuery())._offset())._left();
 size=_st(container)._width();
 percentage=_st(_st(_st(size).__minus(_st(anInteger).__minus(offset))).__slash(size)).__star((100));
-percentage=_st((80))._min_(_st(percentage)._max_((20)));
+percentage=(80)._min_(_st(percentage)._max_((20)));
 _st(_st(self["@firstPane"])._asJQuery())._css_put_("right",_st(_st(percentage)._asString()).__comma("%"));
-_st(_st(self["@splitter"])._asJQuery())._css_put_("left",_st(_st(_st((100)).__minus(percentage))._asString()).__comma("%"));
-_st(_st(self["@secondPane"])._asJQuery())._css_put_("left",_st(_st(_st((100)).__minus(percentage))._asString()).__comma("%"));
+_st(_st(self["@splitter"])._asJQuery())._css_put_("left",_st(_st((100).__minus(percentage))._asString()).__comma("%"));
+_st(_st(self["@secondPane"])._asJQuery())._css_put_("left",_st(_st((100).__minus(percentage))._asString()).__comma("%"));
 return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,size:size,offset:offset,percentage:percentage},smalltalk.HLVerticalSplitter)})},
 args: ["anInteger"],
 source: "resize: anInteger\x0a\x09| container size offset percentage |\x0a    \x0a    container := firstPane asJQuery parent.\x0a\x09offset := firstPane asJQuery offset left.\x0a    size := container width.\x0a\x09\x0a\x09percentage := (size - (anInteger - offset)) / size * 100.\x0a\x09percentage := 80 min: (percentage max: 20).\x0a\x09\x0a    firstPane asJQuery css: 'right' put: percentage asString, '%'.\x0a\x09\x0a\x09splitter asJQuery css: 'left' put: (100 - percentage) asString, '%'.\x0a\x09secondPane asJQuery css: 'left' put: (100 - percentage) asString, '%'",
@@ -482,12 +482,12 @@ category: 'rendering',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("x"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
+_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_(["axis".__minus_gt("x"),"containment".__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),"helper".__minus_gt("clone"),"start".__minus_gt((function(e,ui){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._startResizing_(_st(ui)._helper());
-}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
+return self._startResizing_(_st(ui)._helper());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),"drag".__minus_gt((function(e,ui){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._resize_(_st(_st(ui)._offset())._left());
+return self._resize_(_st(_st(ui)._offset())._left());
 }, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{},smalltalk.HLVerticalSplitter)})},
 args: [],

+ 55 - 57
js/Helios-References.deploy.js

@@ -21,7 +21,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodClass())._methodAt_(_st(self)._selector());
+$1=_st(self._methodClass())._methodAt_(self._selector());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.HLMethodReference)})},
 messageSends: ["methodAt:", "selector", "methodClass"]}),
@@ -82,7 +82,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._method())._source();
+$1=_st(self._method())._source();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"source",{},smalltalk.HLMethodReference)})},
 messageSends: ["source", "method"]}),
@@ -96,7 +96,7 @@ fn: function (aCompiledMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromMethod_(aCompiledMethod);
 $3=_st($2)._yourself();
 $1=$3;
@@ -117,9 +117,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@classReferencesListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@classReferencesListWidget"]=_st($HLClassReferencesListWidget())._on_(_st(self)._model());
+self["@classReferencesListWidget"]=_st($HLClassReferencesListWidget())._on_(self._model());
 self["@classReferencesListWidget"];
-$1=_st(self["@classReferencesListWidget"])._next_(_st(self)._regexpListWidget());
+$1=_st(self["@classReferencesListWidget"])._next_(self._regexpListWidget());
 } else {
 $1=$2;
 };
@@ -138,9 +138,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@implementorsListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@implementorsListWidget"]=_st($HLImplementorsListWidget())._on_(_st(self)._model());
+self["@implementorsListWidget"]=_st($HLImplementorsListWidget())._on_(self._model());
 self["@implementorsListWidget"];
-$1=_st(self["@implementorsListWidget"])._next_(_st(self)._classReferencesListWidget());
+$1=_st(self["@implementorsListWidget"])._next_(self._classReferencesListWidget());
 } else {
 $1=$2;
 };
@@ -160,7 +160,7 @@ var $2,$3,$4,$1;
 $2=self["@model"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLReferencesModel())._new();
-_st($3)._environment_(_st(_st(self)._manager())._environment());
+_st($3)._environment_(_st(self._manager())._environment());
 $4=_st($3)._yourself();
 self["@model"]=$4;
 $1=self["@model"];
@@ -193,9 +193,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@regexpListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@regexpListWidget"]=_st($HLRegexpListWidget())._on_(_st(self)._model());
+self["@regexpListWidget"]=_st($HLRegexpListWidget())._on_(self._model());
 self["@regexpListWidget"];
-$1=_st(self["@regexpListWidget"])._next_(_st(self)._sourceCodeWidget());
+$1=_st(self["@regexpListWidget"])._next_(self._sourceCodeWidget());
 } else {
 $1=$2;
 };
@@ -211,7 +211,7 @@ fn: function (aBindingGroup){
 var self=this;
 function $HLToolCommand(){return smalltalk.HLToolCommand||(typeof HLToolCommand=="undefined"?nil:HLToolCommand)}
 return smalltalk.withContext(function($ctx1) { 
-_st($HLToolCommand())._registerConcreteClassesOn_for_(aBindingGroup,_st(self)._model());
+_st($HLToolCommand())._registerConcreteClassesOn_for_(aBindingGroup,self._model());
 return self}, function($ctx1) {$ctx1.fill(self,"registerBindingsOn:",{aBindingGroup:aBindingGroup},smalltalk.HLReferences)})},
 messageSends: ["registerConcreteClassesOn:for:", "model"]}),
 smalltalk.HLReferences);
@@ -225,8 +225,8 @@ function $HLVerticalSplitter(){return smalltalk.HLVerticalSplitter||(typeof HLVe
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 function $HLContainer(){return smalltalk.HLContainer||(typeof HLContainer=="undefined"?nil:HLContainer)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st(self)._sendersListWidget(),_st(self)._implementorsListWidget()),_st($HLVerticalSplitter())._with_with_(_st(self)._classReferencesListWidget(),_st(self)._regexpListWidget())),_st(self)._sourceCodeWidget())));
-_st(_st(self)._sendersListWidget())._focus();
+_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(self._sendersListWidget(),self._implementorsListWidget()),_st($HLVerticalSplitter())._with_with_(self._classReferencesListWidget(),self._regexpListWidget())),self._sourceCodeWidget())));
+_st(self._sendersListWidget())._focus();
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLReferences)})},
 messageSends: ["with:", "with:with:", "sendersListWidget", "implementorsListWidget", "classReferencesListWidget", "regexpListWidget", "sourceCodeWidget", "focus"]}),
 smalltalk.HLReferences);
@@ -237,7 +237,7 @@ selector: "search:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._search_(aString);
+_st(self._model())._search_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"search:",{aString:aString},smalltalk.HLReferences)})},
 messageSends: ["search:", "model"]}),
 smalltalk.HLReferences);
@@ -252,9 +252,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@sendersListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@sendersListWidget"]=_st($HLSendersListWidget())._on_(_st(self)._model());
+self["@sendersListWidget"]=_st($HLSendersListWidget())._on_(self._model());
 self["@sendersListWidget"];
-$1=_st(self["@sendersListWidget"])._next_(_st(self)._implementorsListWidget());
+$1=_st(self["@sendersListWidget"])._next_(self._implementorsListWidget());
 } else {
 $1=$2;
 };
@@ -274,7 +274,7 @@ var $2,$3,$4,$1;
 $2=self["@sourceCodeWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLBrowserCodeWidget())._new();
-_st($3)._browserModel_(_st(self)._model());
+_st($3)._browserModel_(self._model());
 $4=_st($3)._yourself();
 self["@sourceCodeWidget"]=$4;
 $1=self["@sourceCodeWidget"];
@@ -326,9 +326,7 @@ selector: "tabPriority",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(100);
-return $1;
+return (100);
 }, function($ctx1) {$ctx1.fill(self,"tabPriority",{},smalltalk.HLReferences.klass)})},
 messageSends: []}),
 smalltalk.HLReferences.klass);
@@ -341,7 +339,7 @@ selector: "activateListItem:",
 fn: function (anItem){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._withChangesDo_((function(){
+_st(self._model())._withChangesDo_((function(){
 return smalltalk.withContext(function($ctx2) {
 return smalltalk.HLToolListWidget.fn.prototype._activateListItem_.apply(_st(self), [anItem]);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -380,14 +378,14 @@ function $HLSearchReferences(){return smalltalk.HLSearchReferences||(typeof HLSe
 function $HLMethodSelected(){return smalltalk.HLMethodSelected||(typeof HLMethodSelected=="undefined"?nil:HLMethodSelected)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(self)._model())._announcer();
+$1=_st(self._model())._announcer();
 _st($1)._on_do_($HLSearchReferences(),(function(ann){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onSearchReferences_(_st(ann)._searchString());
+return self._onSearchReferences_(_st(ann)._searchString());
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 $2=_st($1)._on_do_($HLMethodSelected(),(function(ann){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onMethodSelected_(_st(ann)._item());
+return self._onMethodSelected_(_st(ann)._item());
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"observeModel",{},smalltalk.HLReferencesListWidget)})},
 messageSends: ["on:do:", "onSearchReferences:", "searchString", "announcer", "model", "onMethodSelected:", "item"]}),
@@ -409,7 +407,7 @@ return $2;
 } else {
 $1;
 };
-_st(_st(self)._items())._detect_ifNone_((function(each){
+_st(self._items())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each).__eq(_st(aMethod)._selector());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
@@ -432,7 +430,7 @@ selector: "onSearchReferences:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._subclassResponsibility();
+self._subclassResponsibility();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLReferencesListWidget)})},
 messageSends: ["subclassResponsibility"]}),
 smalltalk.HLReferencesListWidget);
@@ -454,7 +452,7 @@ selector: "selectItem:",
 fn: function (aMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._selectedMethod_(aMethod);
+_st(self._model())._selectedMethod_(aMethod);
 return self}, function($ctx1) {$ctx1.fill(self,"selectItem:",{aMethod:aMethod},smalltalk.HLReferencesListWidget)})},
 messageSends: ["selectedMethod:", "model"]}),
 smalltalk.HLReferencesListWidget);
@@ -467,7 +465,7 @@ fn: function (aModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._model_(aModel);
 $3=_st($2)._yourself();
 $1=$3;
@@ -495,9 +493,9 @@ selector: "onSearchReferences:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selectItem_(nil);
-_st(self)._items_(_st(_st(self)._model())._classReferencesOf_(aString));
-_st(self)._refresh();
+self._selectItem_(nil);
+self._items_(_st(self._model())._classReferencesOf_(aString));
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLClassReferencesListWidget)})},
 messageSends: ["selectItem:", "items:", "classReferencesOf:", "model", "refresh"]}),
 smalltalk.HLClassReferencesListWidget);
@@ -522,9 +520,9 @@ selector: "onSearchReferences:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selectItem_(nil);
-_st(self)._items_(_st(_st(self)._model())._implementorsOf_(aString));
-_st(self)._refresh();
+self._selectItem_(nil);
+self._items_(_st(self._model())._implementorsOf_(aString));
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLImplementorsListWidget)})},
 messageSends: ["selectItem:", "items:", "implementorsOf:", "model", "refresh"]}),
 smalltalk.HLImplementorsListWidget);
@@ -549,9 +547,9 @@ selector: "onSearchReferences:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selectItem_(nil);
-_st(self)._items_(_st(_st(self)._model())._regexpReferencesOf_(aString));
-_st(self)._refresh();
+self._selectItem_(nil);
+self._items_(_st(self._model())._regexpReferencesOf_(aString));
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLRegexpListWidget)})},
 messageSends: ["selectItem:", "items:", "regexpReferencesOf:", "model", "refresh"]}),
 smalltalk.HLRegexpListWidget);
@@ -576,9 +574,9 @@ selector: "onSearchReferences:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selectItem_(nil);
-_st(self)._items_(_st(_st(self)._model())._sendersOf_(aString));
-_st(self)._refresh();
+self._selectItem_(nil);
+self._items_(_st(self._model())._sendersOf_(aString));
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLSendersListWidget)})},
 messageSends: ["selectItem:", "items:", "sendersOf:", "model", "refresh"]}),
 smalltalk.HLSendersListWidget);
@@ -593,7 +591,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._methodsCache();
+$1=self._methodsCache();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allMethods",{},smalltalk.HLReferencesModel)})},
 messageSends: ["methodsCache"]}),
@@ -606,7 +604,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._allMethods())._collect_((function(each){
+$1=_st(_st(self._allMethods())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._selector();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
@@ -625,7 +623,7 @@ function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof Ordere
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 references=_st($OrderedCollection())._new();
-_st(_st(self)._classesAndMetaclasses())._do_((function(each){
+_st(self._classesAndMetaclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(_st(each)._methodDictionary())._values())._do_((function(method){
 return smalltalk.withContext(function($ctx3) {
@@ -633,7 +631,7 @@ $1=_st(_st(method)._referencedClasses())._includes_(aString);
 if(smalltalk.assert($1)){
 return _st(references)._add_(method);
 };
-}, function($ctx3) {$ctx3.fillBlock({method:method},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({method:method},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $2=references;
 return $2;
@@ -648,7 +646,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._classesAndMetaclassesCache();
+$1=self._classesAndMetaclassesCache();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"classesAndMetaclasses",{},smalltalk.HLReferencesModel)})},
 messageSends: ["classesAndMetaclassesCache"]}),
@@ -663,7 +661,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=self["@classesAndMetaclassesCache"];
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._updateClassesAndMetaclassesCache();
+self._updateClassesAndMetaclassesCache();
 } else {
 $1;
 };
@@ -680,12 +678,12 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._allMethods())._select_((function(each){
+$1=_st(_st(self._allMethods())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._selector()).__eq(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._methodReferenceOn_(each);
+return self._methodReferenceOn_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"implementorsOf:",{aString:aString},smalltalk.HLReferencesModel)})},
@@ -726,7 +724,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=self["@methodsCache"];
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._updateMethodsCache();
+self._updateMethodsCache();
 } else {
 $1;
 };
@@ -743,12 +741,12 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._allMethods())._select_((function(each){
+$1=_st(_st(self._allMethods())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._source())._match_(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._methodReferenceOn_(each);
+return self._methodReferenceOn_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"regexpReferencesOf:",{aString:aString},smalltalk.HLReferencesModel)})},
@@ -763,11 +761,11 @@ var self=this;
 function $HLSearchReferences(){return smalltalk.HLSearchReferences||(typeof HLSearchReferences=="undefined"?nil:HLSearchReferences)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._updateCaches();
+self._updateCaches();
 $1=_st($HLSearchReferences())._new();
 _st($1)._searchString_(aString);
 $2=_st($1)._yourself();
-_st(_st(self)._announcer())._announce_($2);
+_st(self._announcer())._announce_($2);
 return self}, function($ctx1) {$ctx1.fill(self,"search:",{aString:aString},smalltalk.HLReferencesModel)})},
 messageSends: ["updateCaches", "announce:", "searchString:", "new", "yourself", "announcer"]}),
 smalltalk.HLReferencesModel);
@@ -779,12 +777,12 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._allMethods())._select_((function(each){
+$1=_st(_st(self._allMethods())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._messageSends())._includes_(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._methodReferenceOn_(each);
+return self._methodReferenceOn_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"sendersOf:",{aString:aString},smalltalk.HLReferencesModel)})},
@@ -813,7 +811,7 @@ var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-self["@classesAndMetaclassesCache"]=_st(_st(_st(self)._environment())._classes())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){
+self["@classesAndMetaclassesCache"]=_st(_st(self._environment())._classes())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){
 return smalltalk.withContext(function($ctx2) {
 $1=acc;
 _st($1)._add_(each);
@@ -832,7 +830,7 @@ fn: function (){
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 return smalltalk.withContext(function($ctx1) { 
-self["@methodsCache"]=_st(_st(self)._classesAndMetaclasses())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){
+self["@methodsCache"]=_st(self._classesAndMetaclasses())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){
 return smalltalk.withContext(function($ctx2) {
 return _st(acc).__comma(_st(each)._methods());
 }, function($ctx2) {$ctx2.fillBlock({acc:acc,each:each},$ctx1)})}));

+ 55 - 57
js/Helios-References.js

@@ -27,7 +27,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodClass())._methodAt_(_st(self)._selector());
+$1=_st(self._methodClass())._methodAt_(self._selector());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.HLMethodReference)})},
 args: [],
@@ -113,7 +113,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._method())._source();
+$1=_st(self._method())._source();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"source",{},smalltalk.HLMethodReference)})},
 args: [],
@@ -132,7 +132,7 @@ fn: function (aCompiledMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._initializeFromMethod_(aCompiledMethod);
 $3=_st($2)._yourself();
 $1=$3;
@@ -158,9 +158,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@classReferencesListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@classReferencesListWidget"]=_st($HLClassReferencesListWidget())._on_(_st(self)._model());
+self["@classReferencesListWidget"]=_st($HLClassReferencesListWidget())._on_(self._model());
 self["@classReferencesListWidget"];
-$1=_st(self["@classReferencesListWidget"])._next_(_st(self)._regexpListWidget());
+$1=_st(self["@classReferencesListWidget"])._next_(self._regexpListWidget());
 } else {
 $1=$2;
 };
@@ -184,9 +184,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@implementorsListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@implementorsListWidget"]=_st($HLImplementorsListWidget())._on_(_st(self)._model());
+self["@implementorsListWidget"]=_st($HLImplementorsListWidget())._on_(self._model());
 self["@implementorsListWidget"];
-$1=_st(self["@implementorsListWidget"])._next_(_st(self)._classReferencesListWidget());
+$1=_st(self["@implementorsListWidget"])._next_(self._classReferencesListWidget());
 } else {
 $1=$2;
 };
@@ -211,7 +211,7 @@ var $2,$3,$4,$1;
 $2=self["@model"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLReferencesModel())._new();
-_st($3)._environment_(_st(_st(self)._manager())._environment());
+_st($3)._environment_(_st(self._manager())._environment());
 $4=_st($3)._yourself();
 self["@model"]=$4;
 $1=self["@model"];
@@ -254,9 +254,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@regexpListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@regexpListWidget"]=_st($HLRegexpListWidget())._on_(_st(self)._model());
+self["@regexpListWidget"]=_st($HLRegexpListWidget())._on_(self._model());
 self["@regexpListWidget"];
-$1=_st(self["@regexpListWidget"])._next_(_st(self)._sourceCodeWidget());
+$1=_st(self["@regexpListWidget"])._next_(self._sourceCodeWidget());
 } else {
 $1=$2;
 };
@@ -277,7 +277,7 @@ fn: function (aBindingGroup){
 var self=this;
 function $HLToolCommand(){return smalltalk.HLToolCommand||(typeof HLToolCommand=="undefined"?nil:HLToolCommand)}
 return smalltalk.withContext(function($ctx1) { 
-_st($HLToolCommand())._registerConcreteClassesOn_for_(aBindingGroup,_st(self)._model());
+_st($HLToolCommand())._registerConcreteClassesOn_for_(aBindingGroup,self._model());
 return self}, function($ctx1) {$ctx1.fill(self,"registerBindingsOn:",{aBindingGroup:aBindingGroup},smalltalk.HLReferences)})},
 args: ["aBindingGroup"],
 source: "registerBindingsOn: aBindingGroup\x0a\x09HLToolCommand \x0a\x09\x09registerConcreteClassesOn: aBindingGroup \x0a\x09\x09for: self model",
@@ -296,8 +296,8 @@ function $HLVerticalSplitter(){return smalltalk.HLVerticalSplitter||(typeof HLVe
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 function $HLContainer(){return smalltalk.HLContainer||(typeof HLContainer=="undefined"?nil:HLContainer)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st(self)._sendersListWidget(),_st(self)._implementorsListWidget()),_st($HLVerticalSplitter())._with_with_(_st(self)._classReferencesListWidget(),_st(self)._regexpListWidget())),_st(self)._sourceCodeWidget())));
-_st(_st(self)._sendersListWidget())._focus();
+_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(_st($HLVerticalSplitter())._with_with_(self._sendersListWidget(),self._implementorsListWidget()),_st($HLVerticalSplitter())._with_with_(self._classReferencesListWidget(),self._regexpListWidget())),self._sourceCodeWidget())));
+_st(self._sendersListWidget())._focus();
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLReferences)})},
 args: ["html"],
 source: "renderContentOn: html\x0a\x09html with: (HLContainer with: (HLHorizontalSplitter \x0a    \x09with: (HLVerticalSplitter\x0a        \x09with: (HLVerticalSplitter\x0a            \x09with: self sendersListWidget\x0a                with: self implementorsListWidget)\x0a            with: (HLVerticalSplitter\x0a            \x09with: self classReferencesListWidget\x0a                with: self regexpListWidget)) \x0a        with: self sourceCodeWidget)).\x0a\x09\x0a\x09self sendersListWidget focus",
@@ -313,7 +313,7 @@ category: 'actions',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._search_(aString);
+_st(self._model())._search_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"search:",{aString:aString},smalltalk.HLReferences)})},
 args: ["aString"],
 source: "search: aString\x0a\x09self model search: aString",
@@ -333,9 +333,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@sendersListWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@sendersListWidget"]=_st($HLSendersListWidget())._on_(_st(self)._model());
+self["@sendersListWidget"]=_st($HLSendersListWidget())._on_(self._model());
 self["@sendersListWidget"];
-$1=_st(self["@sendersListWidget"])._next_(_st(self)._implementorsListWidget());
+$1=_st(self["@sendersListWidget"])._next_(self._implementorsListWidget());
 } else {
 $1=$2;
 };
@@ -360,7 +360,7 @@ var $2,$3,$4,$1;
 $2=self["@sourceCodeWidget"];
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($HLBrowserCodeWidget())._new();
-_st($3)._browserModel_(_st(self)._model());
+_st($3)._browserModel_(self._model());
 $4=_st($3)._yourself();
 self["@sourceCodeWidget"]=$4;
 $1=self["@sourceCodeWidget"];
@@ -432,9 +432,7 @@ category: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(100);
-return $1;
+return (100);
 }, function($ctx1) {$ctx1.fill(self,"tabPriority",{},smalltalk.HLReferences.klass)})},
 args: [],
 source: "tabPriority\x0a\x09^ 100",
@@ -452,7 +450,7 @@ category: 'actions',
 fn: function (anItem){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._withChangesDo_((function(){
+_st(self._model())._withChangesDo_((function(){
 return smalltalk.withContext(function($ctx2) {
 return smalltalk.HLToolListWidget.fn.prototype._activateListItem_.apply(_st(self), [anItem]);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
@@ -506,14 +504,14 @@ function $HLSearchReferences(){return smalltalk.HLSearchReferences||(typeof HLSe
 function $HLMethodSelected(){return smalltalk.HLMethodSelected||(typeof HLMethodSelected=="undefined"?nil:HLMethodSelected)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(self)._model())._announcer();
+$1=_st(self._model())._announcer();
 _st($1)._on_do_($HLSearchReferences(),(function(ann){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onSearchReferences_(_st(ann)._searchString());
+return self._onSearchReferences_(_st(ann)._searchString());
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 $2=_st($1)._on_do_($HLMethodSelected(),(function(ann){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onMethodSelected_(_st(ann)._item());
+return self._onMethodSelected_(_st(ann)._item());
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"observeModel",{},smalltalk.HLReferencesListWidget)})},
 args: [],
@@ -540,7 +538,7 @@ return $2;
 } else {
 $1;
 };
-_st(_st(self)._items())._detect_ifNone_((function(each){
+_st(self._items())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each).__eq(_st(aMethod)._selector());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
@@ -568,7 +566,7 @@ category: 'reactions',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._subclassResponsibility();
+self._subclassResponsibility();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLReferencesListWidget)})},
 args: ["aString"],
 source: "onSearchReferences: aString\x0a\x09self subclassResponsibility",
@@ -600,7 +598,7 @@ category: 'actions',
 fn: function (aMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._selectedMethod_(aMethod);
+_st(self._model())._selectedMethod_(aMethod);
 return self}, function($ctx1) {$ctx1.fill(self,"selectItem:",{aMethod:aMethod},smalltalk.HLReferencesListWidget)})},
 args: ["aMethod"],
 source: "selectItem: aMethod\x0a\x09self model selectedMethod: aMethod",
@@ -618,7 +616,7 @@ fn: function (aModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._model_(aModel);
 $3=_st($2)._yourself();
 $1=$3;
@@ -656,9 +654,9 @@ category: 'reactions',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selectItem_(nil);
-_st(self)._items_(_st(_st(self)._model())._classReferencesOf_(aString));
-_st(self)._refresh();
+self._selectItem_(nil);
+self._items_(_st(self._model())._classReferencesOf_(aString));
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLClassReferencesListWidget)})},
 args: ["aString"],
 source: "onSearchReferences: aString\x0a\x09self selectItem: nil.\x0a\x09self items: (self model classReferencesOf: aString).\x0a\x09self refresh",
@@ -693,9 +691,9 @@ category: 'reactions',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selectItem_(nil);
-_st(self)._items_(_st(_st(self)._model())._implementorsOf_(aString));
-_st(self)._refresh();
+self._selectItem_(nil);
+self._items_(_st(self._model())._implementorsOf_(aString));
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLImplementorsListWidget)})},
 args: ["aString"],
 source: "onSearchReferences: aString\x0a\x09self selectItem: nil.\x0a\x09self items: (self model implementorsOf: aString).\x0a\x09self refresh",
@@ -730,9 +728,9 @@ category: 'reactions',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selectItem_(nil);
-_st(self)._items_(_st(_st(self)._model())._regexpReferencesOf_(aString));
-_st(self)._refresh();
+self._selectItem_(nil);
+self._items_(_st(self._model())._regexpReferencesOf_(aString));
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLRegexpListWidget)})},
 args: ["aString"],
 source: "onSearchReferences: aString\x0a\x09self selectItem: nil.\x0a\x09self items: (self model regexpReferencesOf: aString).\x0a\x09self refresh",
@@ -767,9 +765,9 @@ category: 'reactions',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._selectItem_(nil);
-_st(self)._items_(_st(_st(self)._model())._sendersOf_(aString));
-_st(self)._refresh();
+self._selectItem_(nil);
+self._items_(_st(self._model())._sendersOf_(aString));
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onSearchReferences:",{aString:aString},smalltalk.HLSendersListWidget)})},
 args: ["aString"],
 source: "onSearchReferences: aString\x0a\x09self selectItem: nil.\x0a\x09self items: (self model sendersOf: aString).\x0a\x09self refresh",
@@ -789,7 +787,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._methodsCache();
+$1=self._methodsCache();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"allMethods",{},smalltalk.HLReferencesModel)})},
 args: [],
@@ -807,7 +805,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._allMethods())._collect_((function(each){
+$1=_st(_st(self._allMethods())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._selector();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
@@ -831,7 +829,7 @@ function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof Ordere
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 references=_st($OrderedCollection())._new();
-_st(_st(self)._classesAndMetaclasses())._do_((function(each){
+_st(self._classesAndMetaclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(_st(each)._methodDictionary())._values())._do_((function(method){
 return smalltalk.withContext(function($ctx3) {
@@ -839,7 +837,7 @@ $1=_st(_st(method)._referencedClasses())._includes_(aString);
 if(smalltalk.assert($1)){
 return _st(references)._add_(method);
 };
-}, function($ctx3) {$ctx3.fillBlock({method:method},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({method:method},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $2=references;
 return $2;
@@ -859,7 +857,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._classesAndMetaclassesCache();
+$1=self._classesAndMetaclassesCache();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"classesAndMetaclasses",{},smalltalk.HLReferencesModel)})},
 args: [],
@@ -879,7 +877,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=self["@classesAndMetaclassesCache"];
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._updateClassesAndMetaclassesCache();
+self._updateClassesAndMetaclassesCache();
 } else {
 $1;
 };
@@ -901,12 +899,12 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._allMethods())._select_((function(each){
+$1=_st(_st(self._allMethods())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._selector()).__eq(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._methodReferenceOn_(each);
+return self._methodReferenceOn_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"implementorsOf:",{aString:aString},smalltalk.HLReferencesModel)})},
@@ -962,7 +960,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2;
 $1=self["@methodsCache"];
 if(($receiver = $1) == nil || $receiver == undefined){
-_st(self)._updateMethodsCache();
+self._updateMethodsCache();
 } else {
 $1;
 };
@@ -984,12 +982,12 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._allMethods())._select_((function(each){
+$1=_st(_st(self._allMethods())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._source())._match_(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._methodReferenceOn_(each);
+return self._methodReferenceOn_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"regexpReferencesOf:",{aString:aString},smalltalk.HLReferencesModel)})},
@@ -1009,11 +1007,11 @@ var self=this;
 function $HLSearchReferences(){return smalltalk.HLSearchReferences||(typeof HLSearchReferences=="undefined"?nil:HLSearchReferences)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._updateCaches();
+self._updateCaches();
 $1=_st($HLSearchReferences())._new();
 _st($1)._searchString_(aString);
 $2=_st($1)._yourself();
-_st(_st(self)._announcer())._announce_($2);
+_st(self._announcer())._announce_($2);
 return self}, function($ctx1) {$ctx1.fill(self,"search:",{aString:aString},smalltalk.HLReferencesModel)})},
 args: ["aString"],
 source: "search: aString\x0a\x09self updateCaches.\x0a\x09\x0a\x09self announcer announce: (HLSearchReferences new\x0a\x09\x09searchString: aString;\x0a\x09\x09yourself)",
@@ -1030,12 +1028,12 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._allMethods())._select_((function(each){
+$1=_st(_st(self._allMethods())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._messageSends())._includes_(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._methodReferenceOn_(each);
+return self._methodReferenceOn_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"sendersOf:",{aString:aString},smalltalk.HLReferencesModel)})},
@@ -1074,7 +1072,7 @@ var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-self["@classesAndMetaclassesCache"]=_st(_st(_st(self)._environment())._classes())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){
+self["@classesAndMetaclassesCache"]=_st(_st(self._environment())._classes())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){
 return smalltalk.withContext(function($ctx2) {
 $1=acc;
 _st($1)._add_(each);
@@ -1098,7 +1096,7 @@ fn: function (){
 var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 return smalltalk.withContext(function($ctx1) { 
-self["@methodsCache"]=_st(_st(self)._classesAndMetaclasses())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){
+self["@methodsCache"]=_st(self._classesAndMetaclasses())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){
 return smalltalk.withContext(function($ctx2) {
 return _st(acc).__comma(_st(each)._methods());
 }, function($ctx2) {$ctx2.fillBlock({acc:acc,each:each},$ctx1)})}));

+ 5 - 5
js/Helios-Transcript.deploy.js

@@ -18,7 +18,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLWidget.fn.prototype._initialize.apply(_st(self), []);
-_st(self)._register();
+self._register();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLTranscript)})},
 messageSends: ["initialize", "register"]}),
 smalltalk.HLTranscript);
@@ -94,7 +94,7 @@ selector: "clear",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._transcripts())._do_((function(each){
+_st(self._transcripts())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._clear();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -120,7 +120,7 @@ selector: "register:",
 fn: function (aTranscript){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._transcripts())._add_(aTranscript);
+_st(self._transcripts())._add_(aTranscript);
 return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript},smalltalk.HLTranscriptHandler.klass)})},
 messageSends: ["add:", "transcripts"]}),
 smalltalk.HLTranscriptHandler.klass);
@@ -131,7 +131,7 @@ selector: "show:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._transcripts())._do_((function(each){
+_st(self._transcripts())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._show_(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -165,7 +165,7 @@ selector: "unregister:",
 fn: function (aTranscript){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._transcripts())._remove_(aTranscript);
+_st(self._transcripts())._remove_(aTranscript);
 return self}, function($ctx1) {$ctx1.fill(self,"unregister:",{aTranscript:aTranscript},smalltalk.HLTranscriptHandler.klass)})},
 messageSends: ["remove:", "transcripts"]}),
 smalltalk.HLTranscriptHandler.klass);

+ 5 - 5
js/Helios-Transcript.js

@@ -25,7 +25,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLWidget.fn.prototype._initialize.apply(_st(self), []);
-_st(self)._register();
+self._register();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.HLTranscript)})},
 args: [],
 source: "initialize\x0a\x09super initialize.\x0a\x09self register",
@@ -127,7 +127,7 @@ category: 'registration',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._transcripts())._do_((function(each){
+_st(self._transcripts())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._clear();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -163,7 +163,7 @@ category: 'registration',
 fn: function (aTranscript){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._transcripts())._add_(aTranscript);
+_st(self._transcripts())._add_(aTranscript);
 return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript},smalltalk.HLTranscriptHandler.klass)})},
 args: ["aTranscript"],
 source: "register: aTranscript\x0a\x09self transcripts add: aTranscript",
@@ -179,7 +179,7 @@ category: 'registration',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._transcripts())._do_((function(each){
+_st(self._transcripts())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._show_(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -223,7 +223,7 @@ category: 'registration',
 fn: function (aTranscript){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._transcripts())._remove_(aTranscript);
+_st(self._transcripts())._remove_(aTranscript);
 return self}, function($ctx1) {$ctx1.fill(self,"unregister:",{aTranscript:aTranscript},smalltalk.HLTranscriptHandler.klass)})},
 args: ["aTranscript"],
 source: "unregister: aTranscript\x0a\x09self transcripts remove: aTranscript",

+ 95 - 97
js/Helios-Workspace.deploy.js

@@ -41,7 +41,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._environment())._eval_on_(aString,_st(self)._receiver());
+$1=_st(self._environment())._eval_on_(aString,self._receiver());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"doIt:",{aString:aString},smalltalk.HLCodeModel)})},
 messageSends: ["eval:on:", "receiver", "environment"]}),
@@ -83,7 +83,7 @@ selector: "inspect:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._environment())._inspect_(anObject);
+_st(self._environment())._inspect_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},smalltalk.HLCodeModel)})},
 messageSends: ["inspect:", "environment"]}),
 smalltalk.HLCodeModel);
@@ -97,7 +97,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@receiver"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@receiver"]=_st(self)._defaultReceiver();
+self["@receiver"]=self._defaultReceiver();
 $1=self["@receiver"];
 } else {
 $1=$2;
@@ -126,7 +126,7 @@ fn: function (anEnvironment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._environment_(anEnvironment);
 $3=_st($2)._yourself();
 $1=$3;
@@ -144,7 +144,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._announcer();
+$1=_st(self._model())._announcer();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"announcer",{},smalltalk.HLCodeWidget)})},
 messageSends: ["announcer", "model"]}),
@@ -167,7 +167,7 @@ selector: "clear",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._contents_("");
+self._contents_("");
 return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.HLCodeWidget)})},
 messageSends: ["contents:"]}),
 smalltalk.HLCodeWidget);
@@ -178,10 +178,10 @@ selector: "configureEditor",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._editor())._at_put_("amberCodeWidget",self);
-_st(_st(self)._editor())._on_do_("change",(function(){
+_st(self._editor())._at_put_("amberCodeWidget",self);
+_st(self._editor())._on_do_("change",(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onChange();
+return self._onChange();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"configureEditor",{},smalltalk.HLCodeWidget)})},
 messageSends: ["at:put:", "editor", "on:do:", "onChange"]}),
@@ -212,7 +212,7 @@ $1=self["@state"];
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._updateState();
+self._updateState();
 };
 return self}, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString},smalltalk.HLCodeWidget)})},
 messageSends: ["setValue:", "ifNotNil:", "updateState"]}),
@@ -240,9 +240,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=_st(self["@editor"])._somethingSelected();
 if(smalltalk.assert($2)){
-$1=_st(self)._selection();
+$1=self._selection();
 } else {
-$1=_st(self)._currentLine();
+$1=self._currentLine();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentLineOrSelection",{},smalltalk.HLCodeWidget)})},
@@ -259,9 +259,9 @@ function $HLDoItRequested(){return smalltalk.HLDoItRequested||(typeof HLDoItRequ
 function $HLDoItExecuted(){return smalltalk.HLDoItExecuted||(typeof HLDoItExecuted=="undefined"?nil:HLDoItExecuted)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(_st(_st(self)._model())._announcer())._announce_(_st($HLDoItRequested())._on_(self["@model"]));
-result=_st(self["@model"])._doIt_(_st(self)._currentLineOrSelection());
-_st(_st(_st(self)._model())._announcer())._announce_(_st($HLDoItExecuted())._on_(self["@model"]));
+_st(_st(self._model())._announcer())._announce_(_st($HLDoItRequested())._on_(self["@model"]));
+result=_st(self["@model"])._doIt_(self._currentLineOrSelection());
+_st(_st(self._model())._announcer())._announce_(_st($HLDoItExecuted())._on_(self["@model"]));
 $1=result;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"doIt",{result:result},smalltalk.HLCodeWidget)})},
@@ -288,7 +288,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=smalltalk.HashedCollection._fromPairs_([_st("theme").__minus_gt("amber"),_st("lineNumbers").__minus_gt(true),_st("enterMode").__minus_gt("flat"),_st("indentWithTabs").__minus_gt(true),_st("indentUnit").__minus_gt((4)),_st("matchBrackets").__minus_gt(true),_st("electricChars").__minus_gt(false),_st("keyMap").__minus_gt("Amber"),_st("extraKeys").__minus_gt(smalltalk.HashedCollection._fromPairs_([_st("Shift-Space").__minus_gt("autocomplete")]))]);
+$1=smalltalk.HashedCollection._fromPairs_(["theme".__minus_gt("amber"),"lineNumbers".__minus_gt(true),"enterMode".__minus_gt("flat"),"indentWithTabs".__minus_gt(true),"indentUnit".__minus_gt((4)),"matchBrackets".__minus_gt(true),"electricChars".__minus_gt(false),"keyMap".__minus_gt("Amber"),"extraKeys".__minus_gt(smalltalk.HashedCollection._fromPairs_(["Shift-Space".__minus_gt("autocomplete")]))]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"editorOptions",{},smalltalk.HLCodeWidget)})},
 messageSends: ["->"]}),
@@ -337,8 +337,8 @@ var self=this;
 var newInspector;
 function $HLInspectItRequested(){return smalltalk.HLInspectItRequested||(typeof HLInspectItRequested=="undefined"?nil:HLInspectItRequested)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._model())._announcer())._announce_(_st($HLInspectItRequested())._on_(self["@model"]));
-_st(_st(self)._model())._inspect_(_st(self)._doIt());
+_st(_st(self._model())._announcer())._announce_(_st($HLInspectItRequested())._on_(self["@model"]));
+_st(self._model())._inspect_(self._doIt());
 return self}, function($ctx1) {$ctx1.fill(self,"inspectIt",{newInspector:newInspector},smalltalk.HLCodeWidget)})},
 messageSends: ["announce:", "on:", "announcer", "model", "inspect:", "doIt"]}),
 smalltalk.HLCodeWidget);
@@ -400,7 +400,7 @@ selector: "onChange",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._updateState();
+self._updateState();
 return self}, function($ctx1) {$ctx1.fill(self,"onChange",{},smalltalk.HLCodeWidget)})},
 messageSends: ["updateState"]}),
 smalltalk.HLCodeWidget);
@@ -411,7 +411,7 @@ selector: "onDoIt",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._doIt();
+self._doIt();
 return self}, function($ctx1) {$ctx1.fill(self,"onDoIt",{},smalltalk.HLCodeWidget)})},
 messageSends: ["doIt"]}),
 smalltalk.HLCodeWidget);
@@ -422,7 +422,7 @@ selector: "onInspectIt",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._inspectIt();
+self._inspectIt();
 return self}, function($ctx1) {$ctx1.fill(self,"onInspectIt",{},smalltalk.HLCodeWidget)})},
 messageSends: ["inspectIt"]}),
 smalltalk.HLCodeWidget);
@@ -433,7 +433,7 @@ selector: "onPrintIt",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._printIt();
+self._printIt();
 return self}, function($ctx1) {$ctx1.fill(self,"onPrintIt",{},smalltalk.HLCodeWidget)})},
 messageSends: ["printIt"]}),
 smalltalk.HLCodeWidget);
@@ -463,7 +463,7 @@ _st(start)._at_put_("ch",_st(_st(self["@editor"])._getCursor_(false))._ch());
 _st(_st(self["@editor"])._getSelection())._ifEmpty_((function(){
 return smalltalk.withContext(function($ctx2) {
 _st(start)._at_put_("ch",_st(_st(self["@editor"])._getLine_(currentLine))._size());
-return _st(self["@editor"])._setSelection_end_(smalltalk.HashedCollection._fromPairs_([_st("line").__minus_gt(currentLine),_st("ch").__minus_gt((0))]),start);
+return _st(self["@editor"])._setSelection_end_(smalltalk.HashedCollection._fromPairs_(["line".__minus_gt(currentLine),"ch".__minus_gt((0))]),start);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 stop=_st($HashedCollection())._new();
 _st(stop)._at_put_("line",currentLine);
@@ -483,10 +483,10 @@ var self=this;
 var result;
 function $HLPrintItRequested(){return smalltalk.HLPrintItRequested||(typeof HLPrintItRequested=="undefined"?nil:HLPrintItRequested)}
 return smalltalk.withContext(function($ctx1) { 
-result=_st(self)._doIt();
-_st(_st(_st(self)._model())._announcer())._announce_(_st($HLPrintItRequested())._on_(self["@model"]));
-_st(self)._print_(_st(result)._printString());
-_st(self)._focus();
+result=self._doIt();
+_st(_st(self._model())._announcer())._announce_(_st($HLPrintItRequested())._on_(self["@model"]));
+self._print_(_st(result)._printString());
+self._focus();
 return self}, function($ctx1) {$ctx1.fill(self,"printIt",{result:result},smalltalk.HLCodeWidget)})},
 messageSends: ["doIt", "announce:", "on:", "announcer", "model", "print:", "printString", "focus"]}),
 smalltalk.HLCodeWidget);
@@ -498,7 +498,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._receiver();
+$1=_st(self._model())._receiver();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.HLCodeWidget)})},
 messageSends: ["receiver", "model"]}),
@@ -510,7 +510,7 @@ selector: "receiver:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._receiver_(anObject);
+_st(self._model())._receiver_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.HLCodeWidget)})},
 messageSends: ["receiver:", "model"]}),
 smalltalk.HLCodeWidget);
@@ -527,21 +527,21 @@ _st($1)._class_("button");
 _st($1)._with_("DoIt");
 $2=_st($1)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._doIt();
+return self._doIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=_st(html)._button();
 _st($3)._class_("button");
 _st($3)._with_("PrintIt");
 $4=_st($3)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._printIt();
+return self._printIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $5=_st(html)._button();
 _st($5)._class_("button");
 _st($5)._with_("InspectIt");
 $6=_st($5)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._inspectIt();
+return self._inspectIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html},smalltalk.HLCodeWidget)})},
 messageSends: ["class:", "button", "with:", "onClick:", "doIt", "printIt", "inspectIt"]}),
@@ -566,7 +566,7 @@ $3=_st(html)._div();
 _st($3)._class_("buttons_bar");
 $4=_st($3)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._renderButtonsOn_(html);
+return self._renderButtonsOn_(html);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $5=self;
 _st($5)._setEditorOn_(_st(self["@code"])._element());
@@ -665,7 +665,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._hasModification();
+$1=self._hasModification();
 if(smalltalk.assert($1)){
 _st(_st(self["@state"])._asJQuery())._addClass_("modified");
 } else {
@@ -725,7 +725,7 @@ completions=_st($HLCodeWidget())._variableHintFor_token_(anEditor,token);
 } else {
 completions=_st($HLCodeWidget())._messageHintFor_token_(anEditor,token);
 };
-$2=smalltalk.HashedCollection._fromPairs_([_st("list").__minus_gt(completions),_st("from").__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._end())),_st("to").__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._start()))]);
+$2=smalltalk.HashedCollection._fromPairs_(["list".__minus_gt(completions),"from".__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._end())),"to".__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._start()))]);
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"hintFor:options:",{anEditor:anEditor,options:options,cursor:cursor,token:token,completions:completions},smalltalk.HLCodeWidget.klass)})},
 messageSends: ["getCursor", "getTokenAt:", "at:put:", "state", "value:value:", "getMode", "at:", "basicAt:", "ifTrue:ifFalse:", "variableHintFor:token:", "messageHintFor:token:", "=", "type", "->", "line", "end", "start"]}),
@@ -757,9 +757,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=_st(_st(_st($HLManager())._current())._keyBinder())._systemIsMac();
 if(smalltalk.assert($2)){
-$1=_st(self)._macKeyMap();
+$1=self._macKeyMap();
 } else {
-$1=_st(self)._pcKeyMap();
+$1=self._pcKeyMap();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"keyMap",{},smalltalk.HLCodeWidget.klass)})},
@@ -773,7 +773,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=smalltalk.HashedCollection._fromPairs_([_st("Alt-Backspace").__minus_gt("delWordBefore"),_st("Alt-Delete").__minus_gt("delWordAfter"),_st("Alt-Left").__minus_gt("goWordBoundaryLeft"),_st("Alt-Right").__minus_gt("goWordBoundaryRight"),_st("Cmd-A").__minus_gt("selectAll"),_st("Cmd-Alt-F").__minus_gt("replace"),_st("Cmd-D").__minus_gt("doIt"),_st("Cmd-Down").__minus_gt("goDocEnd"),_st("Cmd-End").__minus_gt("goDocEnd"),_st("Cmd-F").__minus_gt("find"),_st("Cmd-G").__minus_gt("findNext"),_st("Cmd-I").__minus_gt("inspectIt"),_st("Cmd-Left").__minus_gt("goLineStart"),_st("Cmd-P").__minus_gt("printIt"),_st("Cmd-Right").__minus_gt("goLineEnd"),_st("Cmd-S").__minus_gt("saveIt"),_st("Cmd-Up").__minus_gt("goDocStart"),_st("Cmd-Y").__minus_gt("redo"),_st("Cmd-Z").__minus_gt("undo"),_st("Cmd-[").__minus_gt("indentLess"),_st("Cmd-]").__minus_gt("indentMore"),_st("Ctrl-Alt-Backspace").__minus_gt("delWordAfter"),_st("Shift-Cmd-Alt-F").__minus_gt("replaceAll"),_st("Shift-Cmd-G").__minus_gt("findPrev"),_st("Shift-Cmd-Z").__minus_gt("redo"),_st("fallthrough").__minus_gt(["basic","emacsy"])]);
+$1=smalltalk.HashedCollection._fromPairs_(["Alt-Backspace".__minus_gt("delWordBefore"),"Alt-Delete".__minus_gt("delWordAfter"),"Alt-Left".__minus_gt("goWordBoundaryLeft"),"Alt-Right".__minus_gt("goWordBoundaryRight"),"Cmd-A".__minus_gt("selectAll"),"Cmd-Alt-F".__minus_gt("replace"),"Cmd-D".__minus_gt("doIt"),"Cmd-Down".__minus_gt("goDocEnd"),"Cmd-End".__minus_gt("goDocEnd"),"Cmd-F".__minus_gt("find"),"Cmd-G".__minus_gt("findNext"),"Cmd-I".__minus_gt("inspectIt"),"Cmd-Left".__minus_gt("goLineStart"),"Cmd-P".__minus_gt("printIt"),"Cmd-Right".__minus_gt("goLineEnd"),"Cmd-S".__minus_gt("saveIt"),"Cmd-Up".__minus_gt("goDocStart"),"Cmd-Y".__minus_gt("redo"),"Cmd-Z".__minus_gt("undo"),"Cmd-[".__minus_gt("indentLess"),"Cmd-]".__minus_gt("indentMore"),"Ctrl-Alt-Backspace".__minus_gt("delWordAfter"),"Shift-Cmd-Alt-F".__minus_gt("replaceAll"),"Shift-Cmd-G".__minus_gt("findPrev"),"Shift-Cmd-Z".__minus_gt("redo"),"fallthrough".__minus_gt(["basic","emacsy"])]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"macKeyMap",{},smalltalk.HLCodeWidget.klass)})},
 messageSends: ["->"]}),
@@ -799,7 +799,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=[_st("Alt-Left").__minus_gt("goLineStart"),_st("Alt-Right").__minus_gt("goLineEnd"),_st("Alt-Up").__minus_gt("goDocStart"),_st("Ctrl-A").__minus_gt("selectAll"),_st("Ctrl-Backspace").__minus_gt("delWordBefore"),_st("Ctrl-D").__minus_gt("doIt"),_st("Ctrl-Delete").__minus_gt("delWordAfter"),_st("Ctrl-Down").__minus_gt("goDocEnd"),_st("Ctrl-End").__minus_gt("goDocEnd"),_st("Ctrl-F").__minus_gt("find"),_st("Ctrl-G").__minus_gt("findNext"),_st("Ctrl-I").__minus_gt("inspectIt"),_st("Ctrl-Home").__minus_gt("goDocStart"),_st("Ctrl-Left").__minus_gt("goWordBoundaryLeft"),_st("Ctrl-P").__minus_gt("printIt"),_st("Ctrl-Right").__minus_gt("goWordBoundaryRight"),_st("Ctrl-S").__minus_gt("saveIt"),_st("Ctrl-Y").__minus_gt("redo"),_st("Ctrl-Z").__minus_gt("undo"),_st("Ctrl-[").__minus_gt("indentLess"),_st("Ctrl-]").__minus_gt("indentMore"),_st("Shift-Ctrl-F").__minus_gt("replace"),_st("Shift-Ctrl-G").__minus_gt("findPrev"),_st("Shift-Ctrl-R").__minus_gt("replaceAll"),_st("Shift-Ctrl-Z").__minus_gt("redo"),_st("fallthrough").__minus_gt(["basic"])];
+$1=["Alt-Left".__minus_gt("goLineStart"),"Alt-Right".__minus_gt("goLineEnd"),"Alt-Up".__minus_gt("goDocStart"),"Ctrl-A".__minus_gt("selectAll"),"Ctrl-Backspace".__minus_gt("delWordBefore"),"Ctrl-D".__minus_gt("doIt"),"Ctrl-Delete".__minus_gt("delWordAfter"),"Ctrl-Down".__minus_gt("goDocEnd"),"Ctrl-End".__minus_gt("goDocEnd"),"Ctrl-F".__minus_gt("find"),"Ctrl-G".__minus_gt("findNext"),"Ctrl-I".__minus_gt("inspectIt"),"Ctrl-Home".__minus_gt("goDocStart"),"Ctrl-Left".__minus_gt("goWordBoundaryLeft"),"Ctrl-P".__minus_gt("printIt"),"Ctrl-Right".__minus_gt("goWordBoundaryRight"),"Ctrl-S".__minus_gt("saveIt"),"Ctrl-Y".__minus_gt("redo"),"Ctrl-Z".__minus_gt("undo"),"Ctrl-[".__minus_gt("indentLess"),"Ctrl-]".__minus_gt("indentMore"),"Shift-Ctrl-F".__minus_gt("replace"),"Shift-Ctrl-G".__minus_gt("findPrev"),"Shift-Ctrl-R".__minus_gt("replaceAll"),"Shift-Ctrl-Z".__minus_gt("redo"),"fallthrough".__minus_gt(["basic"])];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pcKeyMap",{},smalltalk.HLCodeWidget.klass)})},
 messageSends: ["->"]}),
@@ -883,7 +883,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLCodeWidget.fn.prototype._configureEditor.apply(_st(self), []);
-_st(self)._contents_(_st(self)._methodContents());
+self._contents_(self._methodContents());
 return self}, function($ctx1) {$ctx1.fill(self,"configureEditor",{},smalltalk.HLNavigationCodeWidget)})},
 messageSends: ["configureEditor", "contents:", "methodContents"]}),
 smalltalk.HLNavigationCodeWidget);
@@ -894,7 +894,7 @@ selector: "contents:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._methodContents_(aString);
+self._methodContents_(aString);
 smalltalk.HLCodeWidget.fn.prototype._contents_.apply(_st(self), [aString]);
 return self}, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString},smalltalk.HLNavigationCodeWidget)})},
 messageSends: ["methodContents:", "contents:"]}),
@@ -907,7 +907,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._methodContents()).__eq(_st(self)._contents()))._not();
+$1=_st(_st(self._methodContents()).__eq(self._contents()))._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasModification",{},smalltalk.HLNavigationCodeWidget)})},
 messageSends: ["not", "=", "contents", "methodContents"]}),
@@ -984,7 +984,7 @@ fn: function (aBrowserModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._browserModel_(aBrowserModel);
 $3=_st($2)._yourself();
 $1=$3;
@@ -1004,7 +1004,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=self["@browserModel"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"browserModel",{},smalltalk.HLSourceCodeWidget)})},
+}, function($ctx1) {$ctx1.fill(self,"browserModel",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: []}),
 smalltalk.HLBrowserCodeWidget);
 
@@ -1019,7 +1019,7 @@ self["@browserModel"]=aBrowserModel;
 $1=self;
 _st($1)._observeSystem();
 $2=_st($1)._observeBrowserModel();
-return self}, function($ctx1) {$ctx1.fill(self,"browserModel:",{aBrowserModel:aBrowserModel},smalltalk.HLSourceCodeWidget)})},
+return self}, function($ctx1) {$ctx1.fill(self,"browserModel:",{aBrowserModel:aBrowserModel},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["observeSystem", "observeBrowserModel"]}),
 smalltalk.HLBrowserCodeWidget);
 
@@ -1042,7 +1042,7 @@ function $HLProtocolSelected(){return smalltalk.HLProtocolSelected||(typeof HLPr
 function $HLSourceCodeFocusRequested(){return smalltalk.HLSourceCodeFocusRequested||(typeof HLSourceCodeFocusRequested=="undefined"?nil:HLSourceCodeFocusRequested)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(self)._browserModel())._announcer();
+$1=_st(self._browserModel())._announcer();
 _st($1)._on_send_to_($HLSaveSourceCode(),"onSaveIt",self);
 _st($1)._on_send_to_($HLShowInstanceToggled(),"onShowInstanceToggled",self);
 _st($1)._on_send_to_($HLSourceCodeSaved(),"onSourceCodeSaved",self);
@@ -1066,7 +1066,7 @@ fn: function (){
 var self=this;
 function $MethodModified(){return smalltalk.MethodModified||(typeof MethodModified=="undefined"?nil:MethodModified)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._browserModel())._systemAnnouncer())._on_send_to_($MethodModified(),"onMethodModified:",self);
+_st(_st(self._browserModel())._systemAnnouncer())._on_send_to_($MethodModified(),"onMethodModified:",self);
 return self}, function($ctx1) {$ctx1.fill(self,"observeSystem",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["on:send:to:", "systemAnnouncer", "browserModel"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1081,11 +1081,11 @@ function $HLChangeForbidden(){return smalltalk.HLChangeForbidden||(typeof HLChan
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 block=_st(anAnnouncement)._actionBlock();
-$1=_st(self)._hasModification();
+$1=self._hasModification();
 if(smalltalk.assert($1)){
-_st(self)._confirm_ifTrue_("Changes have not been saved. Do you want to discard these changes?",(function(){
+self._confirm_ifTrue_("Changes have not been saved. Do you want to discard these changes?",(function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._methodContents_(_st(self)._contents());
+self._methodContents_(self._contents());
 return _st(block)._value();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st($HLChangeForbidden())._signal();
@@ -1105,12 +1105,12 @@ var $1,$2;
 class_=_st(anAnnouncement)._item();
 $1=class_;
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._contents_("");
+$2=self._contents_("");
 return $2;
 } else {
 $1;
 };
-_st(self)._contents_(_st(class_)._definition());
+self._contents_(_st(class_)._definition());
 return self}, function($ctx1) {$ctx1.fill(self,"onClassSelected:",{anAnnouncement:anAnnouncement,class_:class_},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["item", "ifNil:", "contents:", "definition"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1121,7 +1121,7 @@ selector: "onCompileError:",
 fn: function (anAnnouncement){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._alert_(_st(_st(anAnnouncement)._error())._messageText());
+self._alert_(_st(_st(anAnnouncement)._error())._messageText());
 return self}, function($ctx1) {$ctx1.fill(self,"onCompileError:",{anAnnouncement:anAnnouncement},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["alert:", "messageText", "error"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1132,7 +1132,7 @@ selector: "onInstVarAdded",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._browserModel())._save_(_st(self)._contents());
+_st(self._browserModel())._save_(self._contents());
 return self}, function($ctx1) {$ctx1.fill(self,"onInstVarAdded",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["save:", "contents", "browserModel"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1146,24 +1146,24 @@ var method;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6;
 method=_st(anAnnouncement)._method();
-$1=_st(_st(_st(self)._browserModel())._selectedClass()).__eq(_st(method)._methodClass());
+$1=_st(_st(self._browserModel())._selectedClass()).__eq(_st(method)._methodClass());
 if(! smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-$3=_st(_st(self)._browserModel())._selectedMethod();
+$3=_st(self._browserModel())._selectedMethod();
 if(($receiver = $3) == nil || $receiver == undefined){
 $4=self;
 return $4;
 } else {
 $3;
 };
-$5=_st(_st(_st(_st(self)._browserModel())._selectedMethod())._selector()).__eq(_st(method)._selector());
+$5=_st(_st(_st(self._browserModel())._selectedMethod())._selector()).__eq(_st(method)._selector());
 if(! smalltalk.assert($5)){
 $6=self;
 return $6;
 };
-_st(self)._refresh();
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onMethodModified:",{anAnnouncement:anAnnouncement,method:method},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["method", "ifFalse:", "=", "methodClass", "selectedClass", "browserModel", "ifNil:", "selectedMethod", "selector", "refresh"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1179,12 +1179,12 @@ var $1,$2;
 method=_st(anAnnouncement)._item();
 $1=method;
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._contents_("");
+$2=self._contents_("");
 return $2;
 } else {
 $1;
 };
-_st(self)._contents_(_st(method)._source());
+self._contents_(_st(method)._source());
 return self}, function($ctx1) {$ctx1.fill(self,"onMethodSelected:",{anAnnouncement:anAnnouncement,method:method},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["item", "ifNil:", "contents:", "source"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1199,9 +1199,9 @@ function $String(){return smalltalk.String||(typeof String=="undefined"?nil:Stri
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
 lineIndex=(1);
-_st(self)._contents_(_st($String())._streamContents_((function(stream){
+self._contents_(_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._contents())._linesDo_((function(each){
+return _st(self._contents())._linesDo_((function(each){
 return smalltalk.withContext(function($ctx3) {
 $1=_st(lineIndex).__eq(_st(anAnnouncement)._line());
 if(smalltalk.assert($1)){
@@ -1218,9 +1218,9 @@ _st(stream)._nextPutAll_(each);
 _st(stream)._nextPutAll_(_st($String())._cr());
 lineIndex=_st(lineIndex).__plus((1));
 return lineIndex;
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})})));
-return self}, function($ctx1) {$ctx1.fill(self,"onParseError:",{anAnnouncement:anAnnouncement,lineIndex:lineIndex,newContents:newContents},smalltalk.HLSourceCodeWidget)})},
+return self}, function($ctx1) {$ctx1.fill(self,"onParseError:",{anAnnouncement:anAnnouncement,lineIndex:lineIndex,newContents:newContents},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["contents:", "streamContents:", "linesDo:", "ifTrue:ifFalse:", "nextPutAll:", "copyFrom:to:", "column", "message", "+", "size", "=", "line", "cr", "contents"]}),
 smalltalk.HLBrowserCodeWidget);
 
@@ -1231,14 +1231,14 @@ fn: function (anAnnouncement){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(self)._browserModel())._selectedClass();
+$1=_st(self._browserModel())._selectedClass();
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._contents_("");
+$2=self._contents_("");
 return $2;
 } else {
 $1;
 };
-_st(self)._contents_(_st(_st(_st(self)._browserModel())._selectedClass())._definition());
+self._contents_(_st(_st(self._browserModel())._selectedClass())._definition());
 return self}, function($ctx1) {$ctx1.fill(self,"onProtocolSelected:",{anAnnouncement:anAnnouncement},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["ifNil:", "contents:", "selectedClass", "browserModel", "definition"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1249,8 +1249,8 @@ selector: "onSaveIt",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._browserModel())._save_(_st(self)._contents());
-return self}, function($ctx1) {$ctx1.fill(self,"onSaveIt",{},smalltalk.HLSourceCodeWidget)})},
+_st(self._browserModel())._save_(self._contents());
+return self}, function($ctx1) {$ctx1.fill(self,"onSaveIt",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["save:", "contents", "browserModel"]}),
 smalltalk.HLBrowserCodeWidget);
 
@@ -1261,14 +1261,14 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(self)._browserModel())._selectedClass();
+$1=_st(self._browserModel())._selectedClass();
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._contents_("");
+$2=self._contents_("");
 return $2;
 } else {
 $1;
 };
-_st(self)._contents_(_st(_st(_st(self)._browserModel())._selectedClass())._definition());
+self._contents_(_st(_st(self._browserModel())._selectedClass())._definition());
 return self}, function($ctx1) {$ctx1.fill(self,"onShowInstanceToggled",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["ifNil:", "contents:", "selectedClass", "browserModel", "definition"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1279,8 +1279,8 @@ selector: "onSourceCodeFocusRequested",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._focus();
-return self}, function($ctx1) {$ctx1.fill(self,"onSourceCodeFocusRequested",{},smalltalk.HLSourceCodeWidget)})},
+self._focus();
+return self}, function($ctx1) {$ctx1.fill(self,"onSourceCodeFocusRequested",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["focus"]}),
 smalltalk.HLBrowserCodeWidget);
 
@@ -1290,8 +1290,8 @@ selector: "onSourceCodeSaved",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._methodContents_(_st(self)._contents());
-_st(self)._updateState();
+self._methodContents_(self._contents());
+self._updateState();
 return self}, function($ctx1) {$ctx1.fill(self,"onSourceCodeSaved",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["methodContents:", "contents", "updateState"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1306,7 +1306,7 @@ function $String(){return smalltalk.String||(typeof String=="undefined"?nil:Stri
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 error=_st(anAnnouncement)._error();
-_st(self)._confirm_ifTrue_(_st($String())._streamContents_((function(stream){
+self._confirm_ifTrue_(_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
 $1=stream;
 _st($1)._nextPutAll_(_st(error)._messageText());
@@ -1315,7 +1315,7 @@ $2=_st($1)._nextPutAll_("Would you like to define an instance variable?");
 return $2;
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})})),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._browserModel())._addInstVarNamed_(_st(error)._variableName());
+return _st(self._browserModel())._addInstVarNamed_(_st(error)._variableName());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"onUnknownVariableError:",{anAnnouncement:anAnnouncement,error:error},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["error", "confirm:ifTrue:", "streamContents:", "nextPutAll:", "messageText", "cr", "addInstVarNamed:", "variableName", "browserModel"]}),
@@ -1328,17 +1328,17 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4;
-$1=_st(self)._hasModification();
+$1=self._hasModification();
 if(smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-$3=_st(self)._hasFocus();
+$3=self._hasFocus();
 if(smalltalk.assert($3)){
 $4=self;
 return $4;
 };
-_st(self)._contents_(_st(_st(_st(self)._browserModel())._selectedMethod())._source());
+self._contents_(_st(_st(self._browserModel())._selectedMethod())._source());
 return self}, function($ctx1) {$ctx1.fill(self,"refresh",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["ifTrue:", "hasModification", "hasFocus", "contents:", "source", "selectedMethod", "browserModel"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1355,7 +1355,7 @@ _st($1)._class_("button");
 _st($1)._with_("SaveIt");
 $2=_st($1)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._saveIt();
+return self._saveIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 smalltalk.HLNavigationCodeWidget.fn.prototype._renderButtonsOn_.apply(_st(self), [html]);
 return self}, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html},smalltalk.HLBrowserCodeWidget)})},
@@ -1368,8 +1368,8 @@ selector: "saveIt",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._browserModel())._saveSourceCode();
-return self}, function($ctx1) {$ctx1.fill(self,"saveIt",{},smalltalk.HLSourceCodeWidget)})},
+_st(self._browserModel())._saveSourceCode();
+return self}, function($ctx1) {$ctx1.fill(self,"saveIt",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["saveSourceCode", "browserModel"]}),
 smalltalk.HLBrowserCodeWidget);
 
@@ -1380,8 +1380,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLNavigationCodeWidget.fn.prototype._unregsiter.apply(_st(self), []);
-_st(_st(_st(self)._browserModel())._announcer())._unsubscribe_(self);
-_st(_st(_st(self)._browserModel())._systemAnnouncer())._unsubscribe_(self);
+_st(_st(self._browserModel())._announcer())._unsubscribe_(self);
+_st(_st(self._browserModel())._systemAnnouncer())._unsubscribe_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"unregister",{},smalltalk.HLBrowserCodeWidget)})},
 messageSends: ["unregsiter", "unsubscribe:", "announcer", "browserModel", "systemAnnouncer"]}),
 smalltalk.HLBrowserCodeWidget);
@@ -1394,7 +1394,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 return false;
-}, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{},smalltalk.HLSourceCodeWidget.klass)})},
+}, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{},smalltalk.HLBrowserCodeWidget.klass)})},
 messageSends: []}),
 smalltalk.HLBrowserCodeWidget.klass);
 
@@ -1405,12 +1405,12 @@ fn: function (aBrowserModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._browserModel_(aBrowserModel);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:",{aBrowserModel:aBrowserModel},smalltalk.HLSourceCodeWidget.klass)})},
+}, function($ctx1) {$ctx1.fill(self,"on:",{aBrowserModel:aBrowserModel},smalltalk.HLBrowserCodeWidget.klass)})},
 messageSends: ["browserModel:", "new", "yourself"]}),
 smalltalk.HLBrowserCodeWidget.klass);
 
@@ -1454,7 +1454,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._codeWidget())._focus();
+$1=_st(self._codeWidget())._focus();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"focus",{},smalltalk.HLWorkspace)})},
 messageSends: ["focus", "codeWidget"]}),
@@ -1468,9 +1468,9 @@ var self=this;
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 function $HLContainer(){return smalltalk.HLContainer||(typeof HLContainer=="undefined"?nil:HLContainer)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st(self)._codeWidget(),(function(canvas){
+_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(self._codeWidget(),(function(canvas){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._renderTranscriptOn_(canvas);
+return self._renderTranscriptOn_(canvas);
 }, function($ctx2) {$ctx2.fillBlock({canvas:canvas},$ctx1)})}))));
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLWorkspace)})},
 messageSends: ["with:", "with:with:", "codeWidget", "renderTranscriptOn:"]}),
@@ -1491,7 +1491,7 @@ $3=_st(html)._div();
 _st($3)._class_("list-label");
 $4=_st($3)._with_("Transcript");
 $4;
-return _st(_st(self)._transcript())._renderOn_(html);
+return _st(self._transcript())._renderOn_(html);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderTranscriptOn:",{html:html},smalltalk.HLWorkspace)})},
 messageSends: ["class:", "div", "with:", "renderOn:", "transcript"]}),
@@ -1524,7 +1524,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLWidget.fn.prototype._unregister.apply(_st(self), []);
-_st(_st(self)._transcript())._unregister();
+_st(self._transcript())._unregister();
 return self}, function($ctx1) {$ctx1.fill(self,"unregister",{},smalltalk.HLWorkspace)})},
 messageSends: ["unregister", "transcript"]}),
 smalltalk.HLWorkspace);
@@ -1569,9 +1569,7 @@ selector: "tabPriority",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(10);
-return $1;
+return (10);
 }, function($ctx1) {$ctx1.fill(self,"tabPriority",{},smalltalk.HLWorkspace.klass)})},
 messageSends: []}),
 smalltalk.HLWorkspace.klass);

+ 95 - 97
js/Helios-Workspace.js

@@ -52,7 +52,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._environment())._eval_on_(aString,_st(self)._receiver());
+$1=_st(self._environment())._eval_on_(aString,self._receiver());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"doIt:",{aString:aString},smalltalk.HLCodeModel)})},
 args: ["aString"],
@@ -109,7 +109,7 @@ category: 'actions',
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._environment())._inspect_(anObject);
+_st(self._environment())._inspect_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},smalltalk.HLCodeModel)})},
 args: ["anObject"],
 source: "inspect: anObject\x0a\x09self environment inspect: anObject",
@@ -128,7 +128,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@receiver"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@receiver"]=_st(self)._defaultReceiver();
+self["@receiver"]=self._defaultReceiver();
 $1=self["@receiver"];
 } else {
 $1=$2;
@@ -167,7 +167,7 @@ fn: function (anEnvironment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._environment_(anEnvironment);
 $3=_st($2)._yourself();
 $1=$3;
@@ -190,7 +190,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._announcer();
+$1=_st(self._model())._announcer();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"announcer",{},smalltalk.HLCodeWidget)})},
 args: [],
@@ -223,7 +223,7 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._contents_("");
+self._contents_("");
 return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.HLCodeWidget)})},
 args: [],
 source: "clear\x0a\x09self contents: ''",
@@ -239,10 +239,10 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._editor())._at_put_("amberCodeWidget",self);
-_st(_st(self)._editor())._on_do_("change",(function(){
+_st(self._editor())._at_put_("amberCodeWidget",self);
+_st(self._editor())._on_do_("change",(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._onChange();
+return self._onChange();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"configureEditor",{},smalltalk.HLCodeWidget)})},
 args: [],
@@ -283,7 +283,7 @@ $1=self["@state"];
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._updateState();
+self._updateState();
 };
 return self}, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString},smalltalk.HLCodeWidget)})},
 args: ["aString"],
@@ -321,9 +321,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=_st(self["@editor"])._somethingSelected();
 if(smalltalk.assert($2)){
-$1=_st(self)._selection();
+$1=self._selection();
 } else {
-$1=_st(self)._currentLine();
+$1=self._currentLine();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"currentLineOrSelection",{},smalltalk.HLCodeWidget)})},
@@ -345,9 +345,9 @@ function $HLDoItRequested(){return smalltalk.HLDoItRequested||(typeof HLDoItRequ
 function $HLDoItExecuted(){return smalltalk.HLDoItExecuted||(typeof HLDoItExecuted=="undefined"?nil:HLDoItExecuted)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(_st(_st(self)._model())._announcer())._announce_(_st($HLDoItRequested())._on_(self["@model"]));
-result=_st(self["@model"])._doIt_(_st(self)._currentLineOrSelection());
-_st(_st(_st(self)._model())._announcer())._announce_(_st($HLDoItExecuted())._on_(self["@model"]));
+_st(_st(self._model())._announcer())._announce_(_st($HLDoItRequested())._on_(self["@model"]));
+result=_st(self["@model"])._doIt_(self._currentLineOrSelection());
+_st(_st(self._model())._announcer())._announce_(_st($HLDoItExecuted())._on_(self["@model"]));
 $1=result;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"doIt",{result:result},smalltalk.HLCodeWidget)})},
@@ -384,7 +384,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=smalltalk.HashedCollection._fromPairs_([_st("theme").__minus_gt("amber"),_st("lineNumbers").__minus_gt(true),_st("enterMode").__minus_gt("flat"),_st("indentWithTabs").__minus_gt(true),_st("indentUnit").__minus_gt((4)),_st("matchBrackets").__minus_gt(true),_st("electricChars").__minus_gt(false),_st("keyMap").__minus_gt("Amber"),_st("extraKeys").__minus_gt(smalltalk.HashedCollection._fromPairs_([_st("Shift-Space").__minus_gt("autocomplete")]))]);
+$1=smalltalk.HashedCollection._fromPairs_(["theme".__minus_gt("amber"),"lineNumbers".__minus_gt(true),"enterMode".__minus_gt("flat"),"indentWithTabs".__minus_gt(true),"indentUnit".__minus_gt((4)),"matchBrackets".__minus_gt(true),"electricChars".__minus_gt(false),"keyMap".__minus_gt("Amber"),"extraKeys".__minus_gt(smalltalk.HashedCollection._fromPairs_(["Shift-Space".__minus_gt("autocomplete")]))]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"editorOptions",{},smalltalk.HLCodeWidget)})},
 args: [],
@@ -453,8 +453,8 @@ var self=this;
 var newInspector;
 function $HLInspectItRequested(){return smalltalk.HLInspectItRequested||(typeof HLInspectItRequested=="undefined"?nil:HLInspectItRequested)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._model())._announcer())._announce_(_st($HLInspectItRequested())._on_(self["@model"]));
-_st(_st(self)._model())._inspect_(_st(self)._doIt());
+_st(_st(self._model())._announcer())._announce_(_st($HLInspectItRequested())._on_(self["@model"]));
+_st(self._model())._inspect_(self._doIt());
 return self}, function($ctx1) {$ctx1.fill(self,"inspectIt",{newInspector:newInspector},smalltalk.HLCodeWidget)})},
 args: [],
 source: "inspectIt\x0a\x09| newInspector |\x0a       \x0a\x09self model announcer announce: (HLInspectItRequested on: model).\x0a\x09self model inspect: self doIt",
@@ -536,7 +536,7 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._updateState();
+self._updateState();
 return self}, function($ctx1) {$ctx1.fill(self,"onChange",{},smalltalk.HLCodeWidget)})},
 args: [],
 source: "onChange\x0a\x09self updateState",
@@ -552,7 +552,7 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._doIt();
+self._doIt();
 return self}, function($ctx1) {$ctx1.fill(self,"onDoIt",{},smalltalk.HLCodeWidget)})},
 args: [],
 source: "onDoIt\x0a\x09\x0a    self doIt",
@@ -568,7 +568,7 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._inspectIt();
+self._inspectIt();
 return self}, function($ctx1) {$ctx1.fill(self,"onInspectIt",{},smalltalk.HLCodeWidget)})},
 args: [],
 source: "onInspectIt\x0a\x0a\x09self inspectIt",
@@ -584,7 +584,7 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._printIt();
+self._printIt();
 return self}, function($ctx1) {$ctx1.fill(self,"onPrintIt",{},smalltalk.HLCodeWidget)})},
 args: [],
 source: "onPrintIt\x0a\x0a\x09self printIt",
@@ -624,7 +624,7 @@ _st(start)._at_put_("ch",_st(_st(self["@editor"])._getCursor_(false))._ch());
 _st(_st(self["@editor"])._getSelection())._ifEmpty_((function(){
 return smalltalk.withContext(function($ctx2) {
 _st(start)._at_put_("ch",_st(_st(self["@editor"])._getLine_(currentLine))._size());
-return _st(self["@editor"])._setSelection_end_(smalltalk.HashedCollection._fromPairs_([_st("line").__minus_gt(currentLine),_st("ch").__minus_gt((0))]),start);
+return _st(self["@editor"])._setSelection_end_(smalltalk.HashedCollection._fromPairs_(["line".__minus_gt(currentLine),"ch".__minus_gt((0))]),start);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 stop=_st($HashedCollection())._new();
 _st(stop)._at_put_("line",currentLine);
@@ -649,10 +649,10 @@ var self=this;
 var result;
 function $HLPrintItRequested(){return smalltalk.HLPrintItRequested||(typeof HLPrintItRequested=="undefined"?nil:HLPrintItRequested)}
 return smalltalk.withContext(function($ctx1) { 
-result=_st(self)._doIt();
-_st(_st(_st(self)._model())._announcer())._announce_(_st($HLPrintItRequested())._on_(self["@model"]));
-_st(self)._print_(_st(result)._printString());
-_st(self)._focus();
+result=self._doIt();
+_st(_st(self._model())._announcer())._announce_(_st($HLPrintItRequested())._on_(self["@model"]));
+self._print_(_st(result)._printString());
+self._focus();
 return self}, function($ctx1) {$ctx1.fill(self,"printIt",{result:result},smalltalk.HLCodeWidget)})},
 args: [],
 source: "printIt\x0a\x09| result |\x0a\x0a\x09result:=  self doIt.       \x0a\x09self model announcer announce: (HLPrintItRequested on: model).\x0a    self print: result printString.\x0a\x09\x0a\x09self focus.",
@@ -669,7 +669,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._model())._receiver();
+$1=_st(self._model())._receiver();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.HLCodeWidget)})},
 args: [],
@@ -686,7 +686,7 @@ category: 'accessing',
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._model())._receiver_(anObject);
+_st(self._model())._receiver_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.HLCodeWidget)})},
 args: ["anObject"],
 source: "receiver: anObject\x0a\x09self model receiver: anObject",
@@ -708,21 +708,21 @@ _st($1)._class_("button");
 _st($1)._with_("DoIt");
 $2=_st($1)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._doIt();
+return self._doIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=_st(html)._button();
 _st($3)._class_("button");
 _st($3)._with_("PrintIt");
 $4=_st($3)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._printIt();
+return self._printIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $5=_st(html)._button();
 _st($5)._class_("button");
 _st($5)._with_("InspectIt");
 $6=_st($5)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._inspectIt();
+return self._inspectIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html},smalltalk.HLCodeWidget)})},
 args: ["html"],
@@ -752,7 +752,7 @@ $3=_st(html)._div();
 _st($3)._class_("buttons_bar");
 $4=_st($3)._with_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._renderButtonsOn_(html);
+return self._renderButtonsOn_(html);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $5=self;
 _st($5)._setEditorOn_(_st(self["@code"])._element());
@@ -891,7 +891,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._hasModification();
+$1=self._hasModification();
 if(smalltalk.assert($1)){
 _st(_st(self["@state"])._asJQuery())._addClass_("modified");
 } else {
@@ -961,7 +961,7 @@ completions=_st($HLCodeWidget())._variableHintFor_token_(anEditor,token);
 } else {
 completions=_st($HLCodeWidget())._messageHintFor_token_(anEditor,token);
 };
-$2=smalltalk.HashedCollection._fromPairs_([_st("list").__minus_gt(completions),_st("from").__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._end())),_st("to").__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._start()))]);
+$2=smalltalk.HashedCollection._fromPairs_(["list".__minus_gt(completions),"from".__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._end())),"to".__minus_gt(_st(_st($CodeMirror())._basicAt_("Pos"))._value_value_(_st(cursor)._line(),_st(token)._start()))]);
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"hintFor:options:",{anEditor:anEditor,options:options,cursor:cursor,token:token,completions:completions},smalltalk.HLCodeWidget.klass)})},
 args: ["anEditor", "options"],
@@ -1003,9 +1003,9 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=_st(_st(_st($HLManager())._current())._keyBinder())._systemIsMac();
 if(smalltalk.assert($2)){
-$1=_st(self)._macKeyMap();
+$1=self._macKeyMap();
 } else {
-$1=_st(self)._pcKeyMap();
+$1=self._pcKeyMap();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"keyMap",{},smalltalk.HLCodeWidget.klass)})},
@@ -1024,7 +1024,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=smalltalk.HashedCollection._fromPairs_([_st("Alt-Backspace").__minus_gt("delWordBefore"),_st("Alt-Delete").__minus_gt("delWordAfter"),_st("Alt-Left").__minus_gt("goWordBoundaryLeft"),_st("Alt-Right").__minus_gt("goWordBoundaryRight"),_st("Cmd-A").__minus_gt("selectAll"),_st("Cmd-Alt-F").__minus_gt("replace"),_st("Cmd-D").__minus_gt("doIt"),_st("Cmd-Down").__minus_gt("goDocEnd"),_st("Cmd-End").__minus_gt("goDocEnd"),_st("Cmd-F").__minus_gt("find"),_st("Cmd-G").__minus_gt("findNext"),_st("Cmd-I").__minus_gt("inspectIt"),_st("Cmd-Left").__minus_gt("goLineStart"),_st("Cmd-P").__minus_gt("printIt"),_st("Cmd-Right").__minus_gt("goLineEnd"),_st("Cmd-S").__minus_gt("saveIt"),_st("Cmd-Up").__minus_gt("goDocStart"),_st("Cmd-Y").__minus_gt("redo"),_st("Cmd-Z").__minus_gt("undo"),_st("Cmd-[").__minus_gt("indentLess"),_st("Cmd-]").__minus_gt("indentMore"),_st("Ctrl-Alt-Backspace").__minus_gt("delWordAfter"),_st("Shift-Cmd-Alt-F").__minus_gt("replaceAll"),_st("Shift-Cmd-G").__minus_gt("findPrev"),_st("Shift-Cmd-Z").__minus_gt("redo"),_st("fallthrough").__minus_gt(["basic","emacsy"])]);
+$1=smalltalk.HashedCollection._fromPairs_(["Alt-Backspace".__minus_gt("delWordBefore"),"Alt-Delete".__minus_gt("delWordAfter"),"Alt-Left".__minus_gt("goWordBoundaryLeft"),"Alt-Right".__minus_gt("goWordBoundaryRight"),"Cmd-A".__minus_gt("selectAll"),"Cmd-Alt-F".__minus_gt("replace"),"Cmd-D".__minus_gt("doIt"),"Cmd-Down".__minus_gt("goDocEnd"),"Cmd-End".__minus_gt("goDocEnd"),"Cmd-F".__minus_gt("find"),"Cmd-G".__minus_gt("findNext"),"Cmd-I".__minus_gt("inspectIt"),"Cmd-Left".__minus_gt("goLineStart"),"Cmd-P".__minus_gt("printIt"),"Cmd-Right".__minus_gt("goLineEnd"),"Cmd-S".__minus_gt("saveIt"),"Cmd-Up".__minus_gt("goDocStart"),"Cmd-Y".__minus_gt("redo"),"Cmd-Z".__minus_gt("undo"),"Cmd-[".__minus_gt("indentLess"),"Cmd-]".__minus_gt("indentMore"),"Ctrl-Alt-Backspace".__minus_gt("delWordAfter"),"Shift-Cmd-Alt-F".__minus_gt("replaceAll"),"Shift-Cmd-G".__minus_gt("findPrev"),"Shift-Cmd-Z".__minus_gt("redo"),"fallthrough".__minus_gt(["basic","emacsy"])]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"macKeyMap",{},smalltalk.HLCodeWidget.klass)})},
 args: [],
@@ -1060,7 +1060,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=[_st("Alt-Left").__minus_gt("goLineStart"),_st("Alt-Right").__minus_gt("goLineEnd"),_st("Alt-Up").__minus_gt("goDocStart"),_st("Ctrl-A").__minus_gt("selectAll"),_st("Ctrl-Backspace").__minus_gt("delWordBefore"),_st("Ctrl-D").__minus_gt("doIt"),_st("Ctrl-Delete").__minus_gt("delWordAfter"),_st("Ctrl-Down").__minus_gt("goDocEnd"),_st("Ctrl-End").__minus_gt("goDocEnd"),_st("Ctrl-F").__minus_gt("find"),_st("Ctrl-G").__minus_gt("findNext"),_st("Ctrl-I").__minus_gt("inspectIt"),_st("Ctrl-Home").__minus_gt("goDocStart"),_st("Ctrl-Left").__minus_gt("goWordBoundaryLeft"),_st("Ctrl-P").__minus_gt("printIt"),_st("Ctrl-Right").__minus_gt("goWordBoundaryRight"),_st("Ctrl-S").__minus_gt("saveIt"),_st("Ctrl-Y").__minus_gt("redo"),_st("Ctrl-Z").__minus_gt("undo"),_st("Ctrl-[").__minus_gt("indentLess"),_st("Ctrl-]").__minus_gt("indentMore"),_st("Shift-Ctrl-F").__minus_gt("replace"),_st("Shift-Ctrl-G").__minus_gt("findPrev"),_st("Shift-Ctrl-R").__minus_gt("replaceAll"),_st("Shift-Ctrl-Z").__minus_gt("redo"),_st("fallthrough").__minus_gt(["basic"])];
+$1=["Alt-Left".__minus_gt("goLineStart"),"Alt-Right".__minus_gt("goLineEnd"),"Alt-Up".__minus_gt("goDocStart"),"Ctrl-A".__minus_gt("selectAll"),"Ctrl-Backspace".__minus_gt("delWordBefore"),"Ctrl-D".__minus_gt("doIt"),"Ctrl-Delete".__minus_gt("delWordAfter"),"Ctrl-Down".__minus_gt("goDocEnd"),"Ctrl-End".__minus_gt("goDocEnd"),"Ctrl-F".__minus_gt("find"),"Ctrl-G".__minus_gt("findNext"),"Ctrl-I".__minus_gt("inspectIt"),"Ctrl-Home".__minus_gt("goDocStart"),"Ctrl-Left".__minus_gt("goWordBoundaryLeft"),"Ctrl-P".__minus_gt("printIt"),"Ctrl-Right".__minus_gt("goWordBoundaryRight"),"Ctrl-S".__minus_gt("saveIt"),"Ctrl-Y".__minus_gt("redo"),"Ctrl-Z".__minus_gt("undo"),"Ctrl-[".__minus_gt("indentLess"),"Ctrl-]".__minus_gt("indentMore"),"Shift-Ctrl-F".__minus_gt("replace"),"Shift-Ctrl-G".__minus_gt("findPrev"),"Shift-Ctrl-R".__minus_gt("replaceAll"),"Shift-Ctrl-Z".__minus_gt("redo"),"fallthrough".__minus_gt(["basic"])];
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"pcKeyMap",{},smalltalk.HLCodeWidget.klass)})},
 args: [],
@@ -1169,7 +1169,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLCodeWidget.fn.prototype._configureEditor.apply(_st(self), []);
-_st(self)._contents_(_st(self)._methodContents());
+self._contents_(self._methodContents());
 return self}, function($ctx1) {$ctx1.fill(self,"configureEditor",{},smalltalk.HLNavigationCodeWidget)})},
 args: [],
 source: "configureEditor\x0a\x09super configureEditor.\x0a\x09self contents: self methodContents",
@@ -1185,7 +1185,7 @@ category: 'accessing',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._methodContents_(aString);
+self._methodContents_(aString);
 smalltalk.HLCodeWidget.fn.prototype._contents_.apply(_st(self), [aString]);
 return self}, function($ctx1) {$ctx1.fill(self,"contents:",{aString:aString},smalltalk.HLNavigationCodeWidget)})},
 args: ["aString"],
@@ -1203,7 +1203,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._methodContents()).__eq(_st(self)._contents()))._not();
+$1=_st(_st(self._methodContents()).__eq(self._contents()))._not();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"hasModification",{},smalltalk.HLNavigationCodeWidget)})},
 args: [],
@@ -1310,7 +1310,7 @@ fn: function (aBrowserModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._browserModel_(aBrowserModel);
 $3=_st($2)._yourself();
 $1=$3;
@@ -1335,7 +1335,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=self["@browserModel"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"browserModel",{},smalltalk.HLSourceCodeWidget)})},
+}, function($ctx1) {$ctx1.fill(self,"browserModel",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "browserModel\x0a\x09^ browserModel",
 messageSends: [],
@@ -1355,7 +1355,7 @@ self["@browserModel"]=aBrowserModel;
 $1=self;
 _st($1)._observeSystem();
 $2=_st($1)._observeBrowserModel();
-return self}, function($ctx1) {$ctx1.fill(self,"browserModel:",{aBrowserModel:aBrowserModel},smalltalk.HLSourceCodeWidget)})},
+return self}, function($ctx1) {$ctx1.fill(self,"browserModel:",{aBrowserModel:aBrowserModel},smalltalk.HLBrowserCodeWidget)})},
 args: ["aBrowserModel"],
 source: "browserModel: aBrowserModel\x0a\x09browserModel := aBrowserModel.\x0a\x09self \x0a\x09\x09observeSystem;\x0a\x09\x09observeBrowserModel",
 messageSends: ["observeSystem", "observeBrowserModel"],
@@ -1383,7 +1383,7 @@ function $HLProtocolSelected(){return smalltalk.HLProtocolSelected||(typeof HLPr
 function $HLSourceCodeFocusRequested(){return smalltalk.HLSourceCodeFocusRequested||(typeof HLSourceCodeFocusRequested=="undefined"?nil:HLSourceCodeFocusRequested)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(self)._browserModel())._announcer();
+$1=_st(self._browserModel())._announcer();
 _st($1)._on_send_to_($HLSaveSourceCode(),"onSaveIt",self);
 _st($1)._on_send_to_($HLShowInstanceToggled(),"onShowInstanceToggled",self);
 _st($1)._on_send_to_($HLSourceCodeSaved(),"onSourceCodeSaved",self);
@@ -1412,7 +1412,7 @@ fn: function (){
 var self=this;
 function $MethodModified(){return smalltalk.MethodModified||(typeof MethodModified=="undefined"?nil:MethodModified)}
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(_st(self)._browserModel())._systemAnnouncer())._on_send_to_($MethodModified(),"onMethodModified:",self);
+_st(_st(self._browserModel())._systemAnnouncer())._on_send_to_($MethodModified(),"onMethodModified:",self);
 return self}, function($ctx1) {$ctx1.fill(self,"observeSystem",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "observeSystem\x0a\x09self browserModel systemAnnouncer\x0a    \x09on: MethodModified\x0a        send: #onMethodModified:\x0a\x09\x09to: self",
@@ -1432,11 +1432,11 @@ function $HLChangeForbidden(){return smalltalk.HLChangeForbidden||(typeof HLChan
 return smalltalk.withContext(function($ctx1) { 
 var $1;
 block=_st(anAnnouncement)._actionBlock();
-$1=_st(self)._hasModification();
+$1=self._hasModification();
 if(smalltalk.assert($1)){
-_st(self)._confirm_ifTrue_("Changes have not been saved. Do you want to discard these changes?",(function(){
+self._confirm_ifTrue_("Changes have not been saved. Do you want to discard these changes?",(function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._methodContents_(_st(self)._contents());
+self._methodContents_(self._contents());
 return _st(block)._value();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st($HLChangeForbidden())._signal();
@@ -1461,12 +1461,12 @@ var $1,$2;
 class_=_st(anAnnouncement)._item();
 $1=class_;
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._contents_("");
+$2=self._contents_("");
 return $2;
 } else {
 $1;
 };
-_st(self)._contents_(_st(class_)._definition());
+self._contents_(_st(class_)._definition());
 return self}, function($ctx1) {$ctx1.fill(self,"onClassSelected:",{anAnnouncement:anAnnouncement,class_:class_},smalltalk.HLBrowserCodeWidget)})},
 args: ["anAnnouncement"],
 source: "onClassSelected: anAnnouncement\x0a\x09| class |\x0a\x09\x0a\x09class:= anAnnouncement item.\x0a\x09\x0a\x09class ifNil: [ ^ self contents: '' ].\x0a    self contents: class definition",
@@ -1482,7 +1482,7 @@ category: 'reactions',
 fn: function (anAnnouncement){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._alert_(_st(_st(anAnnouncement)._error())._messageText());
+self._alert_(_st(_st(anAnnouncement)._error())._messageText());
 return self}, function($ctx1) {$ctx1.fill(self,"onCompileError:",{anAnnouncement:anAnnouncement},smalltalk.HLBrowserCodeWidget)})},
 args: ["anAnnouncement"],
 source: "onCompileError: anAnnouncement\x0a\x09self alert: anAnnouncement error messageText",
@@ -1498,7 +1498,7 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._browserModel())._save_(_st(self)._contents());
+_st(self._browserModel())._save_(self._contents());
 return self}, function($ctx1) {$ctx1.fill(self,"onInstVarAdded",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "onInstVarAdded\x0a\x09self browserModel save: self contents",
@@ -1517,24 +1517,24 @@ var method;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6;
 method=_st(anAnnouncement)._method();
-$1=_st(_st(_st(self)._browserModel())._selectedClass()).__eq(_st(method)._methodClass());
+$1=_st(_st(self._browserModel())._selectedClass()).__eq(_st(method)._methodClass());
 if(! smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-$3=_st(_st(self)._browserModel())._selectedMethod();
+$3=_st(self._browserModel())._selectedMethod();
 if(($receiver = $3) == nil || $receiver == undefined){
 $4=self;
 return $4;
 } else {
 $3;
 };
-$5=_st(_st(_st(_st(self)._browserModel())._selectedMethod())._selector()).__eq(_st(method)._selector());
+$5=_st(_st(_st(self._browserModel())._selectedMethod())._selector()).__eq(_st(method)._selector());
 if(! smalltalk.assert($5)){
 $6=self;
 return $6;
 };
-_st(self)._refresh();
+self._refresh();
 return self}, function($ctx1) {$ctx1.fill(self,"onMethodModified:",{anAnnouncement:anAnnouncement,method:method},smalltalk.HLBrowserCodeWidget)})},
 args: ["anAnnouncement"],
 source: "onMethodModified: anAnnouncement\x0a\x09| method |\x0a\x09\x0a\x09method := anAnnouncement method.\x0a\x09\x0a\x09self browserModel selectedClass = method methodClass ifFalse: [ ^ self ].\x0a\x09self browserModel selectedMethod ifNil: [ ^ self ].\x0a    self browserModel selectedMethod selector = method selector ifFalse: [ ^ self ].\x0a\x0a\x09self refresh",
@@ -1555,12 +1555,12 @@ var $1,$2;
 method=_st(anAnnouncement)._item();
 $1=method;
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._contents_("");
+$2=self._contents_("");
 return $2;
 } else {
 $1;
 };
-_st(self)._contents_(_st(method)._source());
+self._contents_(_st(method)._source());
 return self}, function($ctx1) {$ctx1.fill(self,"onMethodSelected:",{anAnnouncement:anAnnouncement,method:method},smalltalk.HLBrowserCodeWidget)})},
 args: ["anAnnouncement"],
 source: "onMethodSelected: anAnnouncement\x0a\x09| method |\x0a\x09\x0a\x09method := anAnnouncement item.\x0a\x09\x0a\x09method ifNil: [ ^ self contents: '' ].\x0a    self contents: method source",
@@ -1580,9 +1580,9 @@ function $String(){return smalltalk.String||(typeof String=="undefined"?nil:Stri
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
 lineIndex=(1);
-_st(self)._contents_(_st($String())._streamContents_((function(stream){
+self._contents_(_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._contents())._linesDo_((function(each){
+return _st(self._contents())._linesDo_((function(each){
 return smalltalk.withContext(function($ctx3) {
 $1=_st(lineIndex).__eq(_st(anAnnouncement)._line());
 if(smalltalk.assert($1)){
@@ -1599,9 +1599,9 @@ _st(stream)._nextPutAll_(each);
 _st(stream)._nextPutAll_(_st($String())._cr());
 lineIndex=_st(lineIndex).__plus((1));
 return lineIndex;
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})})));
-return self}, function($ctx1) {$ctx1.fill(self,"onParseError:",{anAnnouncement:anAnnouncement,lineIndex:lineIndex,newContents:newContents},smalltalk.HLSourceCodeWidget)})},
+return self}, function($ctx1) {$ctx1.fill(self,"onParseError:",{anAnnouncement:anAnnouncement,lineIndex:lineIndex,newContents:newContents},smalltalk.HLBrowserCodeWidget)})},
 args: ["anAnnouncement"],
 source: "onParseError: anAnnouncement\x0a\x09| lineIndex newContents |\x0a\x09\x0a\x09lineIndex := 1.\x0a\x09\x0a\x09self contents: (String streamContents: [ :stream |\x0a\x09\x09self contents linesDo: [ :each |\x0a\x09\x09\x09lineIndex = anAnnouncement line \x0a\x09\x09\x09\x09ifTrue: [ \x0a\x09\x09\x09\x09\x09stream \x0a\x09\x09\x09\x09\x09\x09nextPutAll: (each copyFrom: 1 to: anAnnouncement column);\x0a\x09\x09\x09\x09\x09\x09nextPutAll: '<- ';\x0a\x09\x09\x09\x09\x09\x09nextPutAll: anAnnouncement message;\x0a\x09\x09\x09\x09\x09\x09nextPutAll: ' ';\x0a\x09\x09\x09\x09\x09\x09nextPutAll: (each copyFrom: anAnnouncement column + 1 to: each size) ]\x0a\x09\x09\x09\x09ifFalse: [ stream nextPutAll: each ].\x0a\x09\x09\x09stream nextPutAll: String cr.\x0a\x09\x09\x09lineIndex := lineIndex + 1 ] ])",
 messageSends: ["contents:", "streamContents:", "linesDo:", "ifTrue:ifFalse:", "nextPutAll:", "copyFrom:to:", "column", "message", "+", "size", "=", "line", "cr", "contents"],
@@ -1617,14 +1617,14 @@ fn: function (anAnnouncement){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(self)._browserModel())._selectedClass();
+$1=_st(self._browserModel())._selectedClass();
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._contents_("");
+$2=self._contents_("");
 return $2;
 } else {
 $1;
 };
-_st(self)._contents_(_st(_st(_st(self)._browserModel())._selectedClass())._definition());
+self._contents_(_st(_st(self._browserModel())._selectedClass())._definition());
 return self}, function($ctx1) {$ctx1.fill(self,"onProtocolSelected:",{anAnnouncement:anAnnouncement},smalltalk.HLBrowserCodeWidget)})},
 args: ["anAnnouncement"],
 source: "onProtocolSelected: anAnnouncement\x0a\x09self browserModel selectedClass ifNil: [ ^ self contents: '' ].\x0a    self contents: self browserModel selectedClass definition",
@@ -1640,8 +1640,8 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._browserModel())._save_(_st(self)._contents());
-return self}, function($ctx1) {$ctx1.fill(self,"onSaveIt",{},smalltalk.HLSourceCodeWidget)})},
+_st(self._browserModel())._save_(self._contents());
+return self}, function($ctx1) {$ctx1.fill(self,"onSaveIt",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "onSaveIt\x0a\x09self browserModel save: self contents",
 messageSends: ["save:", "contents", "browserModel"],
@@ -1657,14 +1657,14 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(_st(self)._browserModel())._selectedClass();
+$1=_st(self._browserModel())._selectedClass();
 if(($receiver = $1) == nil || $receiver == undefined){
-$2=_st(self)._contents_("");
+$2=self._contents_("");
 return $2;
 } else {
 $1;
 };
-_st(self)._contents_(_st(_st(_st(self)._browserModel())._selectedClass())._definition());
+self._contents_(_st(_st(self._browserModel())._selectedClass())._definition());
 return self}, function($ctx1) {$ctx1.fill(self,"onShowInstanceToggled",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "onShowInstanceToggled\x0a\x09self browserModel selectedClass ifNil: [ ^ self contents: '' ].\x0a    \x0a    self contents: self browserModel selectedClass definition",
@@ -1680,8 +1680,8 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._focus();
-return self}, function($ctx1) {$ctx1.fill(self,"onSourceCodeFocusRequested",{},smalltalk.HLSourceCodeWidget)})},
+self._focus();
+return self}, function($ctx1) {$ctx1.fill(self,"onSourceCodeFocusRequested",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "onSourceCodeFocusRequested\x0a\x09self focus",
 messageSends: ["focus"],
@@ -1696,8 +1696,8 @@ category: 'reactions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._methodContents_(_st(self)._contents());
-_st(self)._updateState();
+self._methodContents_(self._contents());
+self._updateState();
 return self}, function($ctx1) {$ctx1.fill(self,"onSourceCodeSaved",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "onSourceCodeSaved\x0a\x09self methodContents: self contents.\x0a\x09self updateState",
@@ -1717,7 +1717,7 @@ function $String(){return smalltalk.String||(typeof String=="undefined"?nil:Stri
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 error=_st(anAnnouncement)._error();
-_st(self)._confirm_ifTrue_(_st($String())._streamContents_((function(stream){
+self._confirm_ifTrue_(_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
 $1=stream;
 _st($1)._nextPutAll_(_st(error)._messageText());
@@ -1726,7 +1726,7 @@ $2=_st($1)._nextPutAll_("Would you like to define an instance variable?");
 return $2;
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})})),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._browserModel())._addInstVarNamed_(_st(error)._variableName());
+return _st(self._browserModel())._addInstVarNamed_(_st(error)._variableName());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"onUnknownVariableError:",{anAnnouncement:anAnnouncement,error:error},smalltalk.HLBrowserCodeWidget)})},
 args: ["anAnnouncement"],
@@ -1744,17 +1744,17 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4;
-$1=_st(self)._hasModification();
+$1=self._hasModification();
 if(smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-$3=_st(self)._hasFocus();
+$3=self._hasFocus();
 if(smalltalk.assert($3)){
 $4=self;
 return $4;
 };
-_st(self)._contents_(_st(_st(_st(self)._browserModel())._selectedMethod())._source());
+self._contents_(_st(_st(self._browserModel())._selectedMethod())._source());
 return self}, function($ctx1) {$ctx1.fill(self,"refresh",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "refresh\x0a\x09self hasModification ifTrue: [ ^ self ].\x0a    self hasFocus ifTrue: [ ^ self ].\x0a\x0a\x09self contents: self browserModel selectedMethod source",
@@ -1776,7 +1776,7 @@ _st($1)._class_("button");
 _st($1)._with_("SaveIt");
 $2=_st($1)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._saveIt();
+return self._saveIt();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 smalltalk.HLNavigationCodeWidget.fn.prototype._renderButtonsOn_.apply(_st(self), [html]);
 return self}, function($ctx1) {$ctx1.fill(self,"renderButtonsOn:",{html:html},smalltalk.HLBrowserCodeWidget)})},
@@ -1794,8 +1794,8 @@ category: 'actions',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._browserModel())._saveSourceCode();
-return self}, function($ctx1) {$ctx1.fill(self,"saveIt",{},smalltalk.HLSourceCodeWidget)})},
+_st(self._browserModel())._saveSourceCode();
+return self}, function($ctx1) {$ctx1.fill(self,"saveIt",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "saveIt\x0a\x09self browserModel saveSourceCode",
 messageSends: ["saveSourceCode", "browserModel"],
@@ -1811,8 +1811,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLNavigationCodeWidget.fn.prototype._unregsiter.apply(_st(self), []);
-_st(_st(_st(self)._browserModel())._announcer())._unsubscribe_(self);
-_st(_st(_st(self)._browserModel())._systemAnnouncer())._unsubscribe_(self);
+_st(_st(self._browserModel())._announcer())._unsubscribe_(self);
+_st(_st(self._browserModel())._systemAnnouncer())._unsubscribe_(self);
 return self}, function($ctx1) {$ctx1.fill(self,"unregister",{},smalltalk.HLBrowserCodeWidget)})},
 args: [],
 source: "unregister\x0a\x09super unregsiter.\x0a\x09\x0a\x09self browserModel announcer unsubscribe: self.\x0a\x09self browserModel systemAnnouncer unsubscribe: self",
@@ -1830,7 +1830,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 return false;
-}, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{},smalltalk.HLSourceCodeWidget.klass)})},
+}, function($ctx1) {$ctx1.fill(self,"canBeOpenAsTab",{},smalltalk.HLBrowserCodeWidget.klass)})},
 args: [],
 source: "canBeOpenAsTab\x0a\x09^ false",
 messageSends: [],
@@ -1846,12 +1846,12 @@ fn: function (aBrowserModel){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._browserModel_(aBrowserModel);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:",{aBrowserModel:aBrowserModel},smalltalk.HLSourceCodeWidget.klass)})},
+}, function($ctx1) {$ctx1.fill(self,"on:",{aBrowserModel:aBrowserModel},smalltalk.HLBrowserCodeWidget.klass)})},
 args: ["aBrowserModel"],
 source: "on: aBrowserModel\x0a\x09^ self new\x0a\x09\x09browserModel: aBrowserModel;\x0a\x09\x09yourself",
 messageSends: ["browserModel:", "new", "yourself"],
@@ -1910,7 +1910,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._codeWidget())._focus();
+$1=_st(self._codeWidget())._focus();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"focus",{},smalltalk.HLWorkspace)})},
 args: [],
@@ -1929,9 +1929,9 @@ var self=this;
 function $HLHorizontalSplitter(){return smalltalk.HLHorizontalSplitter||(typeof HLHorizontalSplitter=="undefined"?nil:HLHorizontalSplitter)}
 function $HLContainer(){return smalltalk.HLContainer||(typeof HLContainer=="undefined"?nil:HLContainer)}
 return smalltalk.withContext(function($ctx1) { 
-_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(_st(self)._codeWidget(),(function(canvas){
+_st(html)._with_(_st($HLContainer())._with_(_st($HLHorizontalSplitter())._with_with_(self._codeWidget(),(function(canvas){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._renderTranscriptOn_(canvas);
+return self._renderTranscriptOn_(canvas);
 }, function($ctx2) {$ctx2.fillBlock({canvas:canvas},$ctx1)})}))));
 return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.HLWorkspace)})},
 args: ["html"],
@@ -1957,7 +1957,7 @@ $3=_st(html)._div();
 _st($3)._class_("list-label");
 $4=_st($3)._with_("Transcript");
 $4;
-return _st(_st(self)._transcript())._renderOn_(html);
+return _st(self._transcript())._renderOn_(html);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"renderTranscriptOn:",{html:html},smalltalk.HLWorkspace)})},
 args: ["html"],
@@ -2000,7 +2000,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.HLWidget.fn.prototype._unregister.apply(_st(self), []);
-_st(_st(self)._transcript())._unregister();
+_st(self._transcript())._unregister();
 return self}, function($ctx1) {$ctx1.fill(self,"unregister",{},smalltalk.HLWorkspace)})},
 args: [],
 source: "unregister\x0a\x09super unregister.\x0a\x09self transcript unregister",
@@ -2065,9 +2065,7 @@ category: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(10);
-return $1;
+return (10);
 }, function($ctx1) {$ctx1.fill(self,"tabPriority",{},smalltalk.HLWorkspace.klass)})},
 args: [],
 source: "tabPriority\x0a\x09^ 10",

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


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


+ 72 - 72
js/Importer-Exporter.deploy.js

@@ -10,7 +10,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2,$3;
 var $early={};
 try {
-result=_st("")._writeStream();
+result=""._writeStream();
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 char=_st(self["@stream"])._next();
@@ -56,7 +56,7 @@ fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._stream_(aStream);
+$1=_st(self._new())._stream_(aStream);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},smalltalk.ChunkParser.klass)})},
 messageSends: ["stream:", "new"]}),
@@ -100,8 +100,8 @@ $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()));
-}, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx1)})}));
+return _st(stream)._nextPutAll_(self._exportPackage_(_st(pkg)._name()));
+}, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"exportAll",{},smalltalk.Exporter)})},
@@ -118,10 +118,10 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st($String())._streamContents_((function(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);
+self._exportDefinitionOf_on_(aClass,stream);
+self._exportMethodsOf_on_(aClass,stream);
+self._exportMetaDefinitionOf_on_(aClass,stream);
+return self._exportMethodsOf_on_(_st(aClass)._class(),stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"exportClass:",{aClass:aClass},smalltalk.Exporter)})},
@@ -137,12 +137,12 @@ 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())));
+_st($1)._nextPutAll_(_st("'".__comma(self._classNameFor_(aClass))).__comma("', "));
+_st($1)._nextPutAll_("smalltalk.".__comma(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 _st(aStream)._nextPutAll_(_st("'".__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(aStream)._nextPutAll_(", ");
@@ -156,7 +156,7 @@ if(smalltalk.assert($5)){
 $6=aStream;
 _st($6)._lf();
 _st($6)._nextPutAll_("smalltalk.");
-_st($6)._nextPutAll_(_st(self)._classNameFor_(aClass));
+_st($6)._nextPutAll_(self._classNameFor_(aClass));
 _st($6)._nextPutAll_(".comment=");
 _st($6)._nextPutAll_(_st(_st(aClass)._comment())._asJavascript());
 $7=_st($6)._nextPutAll_(";");
@@ -178,17 +178,17 @@ var $1,$2,$3;
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 if(! smalltalk.assert($1)){
 $2=aStream;
-_st($2)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._class())));
+_st($2)._nextPutAll_("smalltalk.".__comma(self._classNameFor_(_st(aClass)._class())));
 $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 _st(aStream)._nextPutAll_(_st("'".__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(aStream)._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(aStream)._nextPutAll_(_st("];").__comma(_st($String())._lf()));
+_st(aStream)._nextPutAll_("];".__comma(_st($String())._lf()));
 };
 return self}, function($ctx1) {$ctx1.fill(self,"exportMetaDefinitionOf:on:",{aClass:aClass,aStream:aStream},smalltalk.Exporter)})},
 messageSends: ["ifFalse:", "nextPutAll:", ",", "classNameFor:", "class", "do:separatedBy:", "instanceVariableNames", "lf", "isEmpty"]}),
@@ -206,24 +206,24 @@ _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
 _st($1)._nextPutAll_("smalltalk.method({");
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("selector: ").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("selector: ".__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("category: '").__comma(_st(aMethod)._category())).__comma("',"));
+_st($1)._nextPutAll_(_st("category: '".__comma(_st(aMethod)._category())).__comma("',"));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("fn: ").__comma(_st(_st(aMethod)._fn())._compiledSource())).__comma(","));
+_st($1)._nextPutAll_(_st("fn: ".__comma(_st(_st(aMethod)._fn())._compiledSource())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("args: ").__comma(_st(_st(aMethod)._arguments())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("args: ".__comma(_st(_st(aMethod)._arguments())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("source: ").__comma(_st(_st(aMethod)._source())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("source: ".__comma(_st(_st(aMethod)._source())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("messageSends: ").__comma(_st(_st(aMethod)._messageSends())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("messageSends: ".__comma(_st(_st(aMethod)._messageSends())._asJavascript())).__comma(","));
 _st($1)._lf();
-$2=_st($1)._nextPutAll_(_st("referencedClasses: ").__comma(_st(_st(aMethod)._referencedClasses())._asJavascript()));
+$2=_st($1)._nextPutAll_("referencedClasses: ".__comma(_st(_st(aMethod)._referencedClasses())._asJavascript()));
 $3=aStream;
 _st($3)._lf();
 _st($3)._nextPutAll_("}),");
 _st($3)._lf();
-_st($3)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(aClass)));
+_st($3)._nextPutAll_("smalltalk.".__comma(self._classNameFor_(aClass)));
 _st($3)._nextPutAll_(");");
 _st($3)._lf();
 $4=_st($3)._lf();
@@ -245,7 +245,7 @@ return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
 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);
+return self._exportMethod_of_on_(each,aClass,aStream);
 };
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(aStream)._lf();
@@ -267,12 +267,12 @@ $1=_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
 package_=_st(_st($Smalltalk())._current())._packageAt_(packageName);
 package_;
-_st(self)._exportPackageDefinitionOf_on_(package_,stream);
+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));
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
-return _st(self)._exportPackageExtensionsOf_on_(package_,stream);
+return _st(stream)._nextPutAll_(self._exportClass_(each));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
+return self._exportPackageExtensionsOf_on_(package_,stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"exportPackage:",{packageName:packageName,package_:package_},smalltalk.Exporter)})},
@@ -288,7 +288,7 @@ 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("');"));
+_st($1)._nextPutAll_(_st("'".__comma(_st(package_)._name())).__comma("');"));
 $2=_st($1)._lf();
 return self}, function($ctx1) {$ctx1.fill(self,"exportPackageDefinitionOf:on:",{package_:package_,aStream:aStream},smalltalk.Exporter)})},
 messageSends: ["nextPutAll:", ",", "name", "lf"]}),
@@ -312,14 +312,14 @@ return smalltalk.withContext(function($ctx3) {
 return _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
 return smalltalk.withContext(function($ctx4) {
 return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
-}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(method){
+}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx3)})})))._do_((function(method){
 return smalltalk.withContext(function($ctx4) {
-$1=_st(_st(method)._category())._match_(_st("^\x5c*").__comma(name));
+$1=_st(_st(method)._category())._match_("^\x5c*".__comma(name));
 if(smalltalk.assert($1)){
-return _st(self)._exportMethod_of_on_(method,aClass,aStream);
+return self._exportMethod_of_on_(method,aClass,aStream);
 };
-}, function($ctx4) {$ctx4.fillBlock({method:method},$ctx1)})}));
-}, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx1)})}));
+}, function($ctx4) {$ctx4.fillBlock({method:method},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"exportPackageExtensionsOf:on:",{package_:package_,aStream:aStream,name:name},smalltalk.Exporter)})},
 messageSends: ["name", "do:", "ifTrue:", "exportMethod:of:on:", "match:", ",", "category", "sorted:", "<=", "selector", "values", "methodDictionary", "class", "sortedClasses:", "classes", "current"]}),
@@ -372,8 +372,8 @@ var self=this;
 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)));
+_st($1)._nextPutAll_(self._classNameFor_(_st(aClass)._superclass()));
+_st($1)._nextPutAll_(" subclass: #".__comma(self._classNameFor_(aClass)));
 _st($1)._lf();
 _st($1)._tab();
 $2=_st($1)._nextPutAll_("instanceVariableNames: '");
@@ -388,14 +388,14 @@ $3=aStream;
 _st($3)._nextPutAll_("'");
 _st($3)._lf();
 _st($3)._tab();
-_st($3)._nextPutAll_(_st(_st("package: '").__comma(_st(aClass)._category())).__comma("'!"));
+_st($3)._nextPutAll_(_st("package: '".__comma(_st(aClass)._category())).__comma("'!"));
 $4=_st($3)._lf();
 $5=_st(_st(aClass)._comment())._notEmpty();
 if(smalltalk.assert($5)){
 $6=aStream;
-_st($6)._nextPutAll_(_st(_st("!").__comma(_st(self)._classNameFor_(aClass))).__comma(" commentStamp!"));
+_st($6)._nextPutAll_(_st("!".__comma(self._classNameFor_(aClass))).__comma(" commentStamp!"));
 _st($6)._lf();
-_st($6)._nextPutAll_(_st(_st(self)._chunkEscape_(_st(aClass)._comment())).__comma("!"));
+_st($6)._nextPutAll_(_st(self._chunkEscape_(_st(aClass)._comment())).__comma("!"));
 $7=_st($6)._lf();
 $7;
 };
@@ -414,7 +414,7 @@ var $1,$2,$3,$4,$5;
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 if(! smalltalk.assert($1)){
 $2=aStream;
-_st($2)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._class()));
+_st($2)._nextPutAll_(self._classNameFor_(_st(aClass)._class()));
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3;
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
@@ -444,7 +444,7 @@ var $1,$2;
 $1=aStream;
 _st($1)._lf();
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(self)._chunkEscape_(_st(aMethod)._source()));
+_st($1)._nextPutAll_(self._chunkEscape_(_st(aMethod)._source()));
 _st($1)._lf();
 $2=_st($1)._nextPutAll_("!");
 return self}, function($ctx1) {$ctx1.fill(self,"exportMethod:of:on:",{aMethod:aMethod,aClass:aClass,aStream:aStream},smalltalk.ChunkExporter)})},
@@ -459,14 +459,14 @@ var self=this;
 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($1)._nextPutAll_("!".__comma(self._classNameFor_(aClass)));
+$2=_st($1)._nextPutAll_(_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());
 }, 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 self._exportMethod_of_on_(each,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $3=aStream;
 _st($3)._nextPutAll_(" !");
@@ -501,7 +501,7 @@ var methods;
 return smalltalk.withContext(function($ctx2) {
 methods=_st(map)._at_(category);
 methods;
-return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
+return self._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"exportMethodsOf:on:",{aClass:aClass,aStream:aStream,map:map},smalltalk.ChunkExporter)})},
 messageSends: ["new", "protocolsDo:", "ifFalse:", "at:put:", "match:", "do:", "at:", "exportMethods:category:of:on:", "sorted:", "<=", "keys"]}),
@@ -515,7 +515,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 $1=aStream;
-_st($1)._nextPutAll_(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("'!"));
+_st($1)._nextPutAll_(_st("Smalltalk current createPackage: '".__comma(_st(package_)._name())).__comma("'!"));
 $2=_st($1)._lf();
 return self}, function($ctx1) {$ctx1.fill(self,"exportPackageDefinitionOf:on:",{package_:package_,aStream:aStream},smalltalk.ChunkExporter)})},
 messageSends: ["nextPutAll:", ",", "name", "lf"]}),
@@ -541,22 +541,22 @@ map=_st($Dictionary())._new();
 map;
 _st(aClass)._protocolsDo_((function(category,methods){
 return smalltalk.withContext(function($ctx4) {
-$1=_st(category)._match_(_st("^\x5c*").__comma(name));
+$1=_st(category)._match_("^\x5c*".__comma(name));
 if(smalltalk.assert($1)){
 return _st(map)._at_put_(category,methods);
 };
-}, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
+}, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx3)})}));
 return _st(_st(_st(map)._keys())._sorted_((function(a,b){
 return smalltalk.withContext(function($ctx4) {
 return _st(a).__lt_eq(b);
-}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
+}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx3)})})))._do_((function(category){
 var methods;
 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)})}));
-}, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx1)})}));
+return self._exportMethods_category_of_on_(methods,category,aClass,aStream);
+}, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"exportPackageExtensionsOf:on:",{package_:package_,aStream:aStream,name:name,map:map},smalltalk.ChunkExporter)})},
 messageSends: ["name", "do:", "new", "protocolsDo:", "ifTrue:", "at:put:", "match:", ",", "at:", "exportMethods:category:of:on:", "sorted:", "<=", "keys", "class", "sortedClasses:", "classes", "current"]}),
@@ -574,12 +574,12 @@ 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())));
+_st($1)._nextPutAll_(_st("'".__comma(self._classNameFor_(aClass))).__comma("', "));
+_st($1)._nextPutAll_("smalltalk.".__comma(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 _st(aStream)._nextPutAll_(_st("'".__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(aStream)._nextPutAll_(", ");
@@ -605,14 +605,14 @@ _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
 _st($1)._nextPutAll_("smalltalk.method({");
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("selector: ").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("selector: ".__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("fn: ").__comma(_st(_st(aMethod)._fn())._compiledSource())).__comma(","));
+_st($1)._nextPutAll_(_st("fn: ".__comma(_st(_st(aMethod)._fn())._compiledSource())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st("messageSends: ").__comma(_st(_st(aMethod)._messageSends())._asJavascript()));
+_st($1)._nextPutAll_("messageSends: ".__comma(_st(_st(aMethod)._messageSends())._asJavascript()));
 _st($1)._nextPutAll_("}),");
 _st($1)._lf();
-_st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(aClass)));
+_st($1)._nextPutAll_("smalltalk.".__comma(self._classNameFor_(aClass)));
 _st($1)._nextPutAll_(");");
 _st($1)._lf();
 $2=_st($1)._lf();
@@ -670,9 +670,9 @@ selector: "ajaxPutAt:data:",
 fn: function (aURL,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(jQuery)._ajax_options_(aURL,smalltalk.HashedCollection._fromPairs_([_st("type").__minus_gt("PUT"),_st("data").__minus_gt(aString),_st("contentType").__minus_gt("text/plain;charset=UTF-8"),_st("error").__minus_gt((function(xhr){
+_st(jQuery)._ajax_options_(aURL,smalltalk.HashedCollection._fromPairs_(["type".__minus_gt("PUT"),"data".__minus_gt(aString),"contentType".__minus_gt("text/plain;charset=UTF-8"),"error".__minus_gt((function(xhr){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._error_(_st(_st(_st(_st("Commiting ").__comma(aURL)).__comma(" failed with reason: \x22")).__comma(_st(xhr)._responseText())).__comma("\x22"));
+return self._error_(_st(_st(_st("Commiting ".__comma(aURL)).__comma(" failed with reason: \x22")).__comma(_st(xhr)._responseText())).__comma("\x22"));
 }, function($ctx2) {$ctx2.fillBlock({xhr:xhr},$ctx1)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"ajaxPutAt:data:",{aURL:aURL,aString:aString},smalltalk.PackageHandler)})},
 messageSends: ["ajax:options:", "->", "error:", ",", "responseText"]}),
@@ -692,8 +692,8 @@ var fileContents;
 return smalltalk.withContext(function($ctx2) {
 fileContents=_st(_st(_st(commitStrategy)._key())._new())._exportPackage_(_st(aPackage)._name());
 fileContents;
-return _st(self)._ajaxPutAt_data_(_st(commitStrategy)._value(),fileContents);
-}, function($ctx2) {$ctx2.fillBlock({commitStrategy:commitStrategy,fileContents:fileContents},$ctx1)})}),_st("Committing package ").__comma(_st(aPackage)._name()));
+return self._ajaxPutAt_data_(_st(commitStrategy)._value(),fileContents);
+}, function($ctx2) {$ctx2.fillBlock({commitStrategy:commitStrategy,fileContents:fileContents},$ctx1)})}),"Committing package ".__comma(_st(aPackage)._name()));
 return self}, function($ctx1) {$ctx1.fill(self,"commit:",{aPackage:aPackage},smalltalk.PackageHandler)})},
 messageSends: ["do:displayingProgress:", "exportPackage:", "name", "new", "key", "ajaxPutAt:data:", "value", ",", "->", "commitPathJs", "commitPathSt"]}),
 smalltalk.PackageHandler);
@@ -706,16 +706,16 @@ var self=this;
 var url;
 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){
+url=_st(_st(_st("/".__comma(aString)).__comma("/js/")).__comma(packageName)).__comma(".js");
+_st(jQuery)._ajax_options_(url,smalltalk.HashedCollection._fromPairs_(["type".__minus_gt("GET"),"dataType".__minus_gt("script"),"complete".__minus_gt((function(jqXHR,textStatus){
 return smalltalk.withContext(function($ctx2) {
 $1=_st(_st(jqXHR)._readyState()).__eq((4));
 if(smalltalk.assert($1)){
-return _st(self)._setupPackageNamed_prefix_(packageName,aString);
+return self._setupPackageNamed_prefix_(packageName,aString);
 };
-}, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),_st("error").__minus_gt((function(){
+}, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),"error".__minus_gt((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(window)._alert_(_st("Could not load package at: ").__comma(url));
+return _st(window)._alert_("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.PackageHandler)})},
 messageSends: [",", "ajax:options:", "->", "ifTrue:", "setupPackageNamed:prefix:", "=", "readyState", "alert:"]}),
@@ -729,7 +729,7 @@ 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 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.PackageHandler)})},
 messageSends: ["do:", "loadPackage:prefix:"]}),
@@ -745,8 +745,8 @@ 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"));
-$2=_st($1)._commitPathSt_(_st(_st("/").__comma(aString)).__comma("/st"));
+_st($1)._commitPathJs_(_st("/".__comma(aString)).__comma("/js"));
+$2=_st($1)._commitPathSt_(_st("/".__comma(aString)).__comma("/st"));
 return self}, function($ctx1) {$ctx1.fill(self,"setupPackageNamed:prefix:",{packageName:packageName,aString:aString},smalltalk.PackageHandler)})},
 messageSends: ["setupClasses", "named:", "commitPathJs:", ",", "commitPathSt:"]}),
 smalltalk.PackageHandler);
@@ -759,7 +759,7 @@ fn: function (aCollection,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._loadPackages_prefix_(aCollection,aString);
+$1=_st(self._new())._loadPackages_prefix_(aCollection,aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageHandler.klass)})},
 messageSends: ["loadPackages:prefix:", "new"]}),

+ 72 - 72
js/Importer-Exporter.js

@@ -12,7 +12,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1,$2,$3;
 var $early={};
 try {
-result=_st("")._writeStream();
+result=""._writeStream();
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
 char=_st(self["@stream"])._next();
@@ -68,7 +68,7 @@ fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._stream_(aStream);
+$1=_st(self._new())._stream_(aStream);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},smalltalk.ChunkParser.klass)})},
 args: ["aStream"],
@@ -123,8 +123,8 @@ $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()));
-}, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx1)})}));
+return _st(stream)._nextPutAll_(self._exportPackage_(_st(pkg)._name()));
+}, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"exportAll",{},smalltalk.Exporter)})},
@@ -146,10 +146,10 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st($String())._streamContents_((function(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);
+self._exportDefinitionOf_on_(aClass,stream);
+self._exportMethodsOf_on_(aClass,stream);
+self._exportMetaDefinitionOf_on_(aClass,stream);
+return self._exportMethodsOf_on_(_st(aClass)._class(),stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"exportClass:",{aClass:aClass},smalltalk.Exporter)})},
@@ -170,12 +170,12 @@ 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())));
+_st($1)._nextPutAll_(_st("'".__comma(self._classNameFor_(aClass))).__comma("', "));
+_st($1)._nextPutAll_("smalltalk.".__comma(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 _st(aStream)._nextPutAll_(_st("'".__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(aStream)._nextPutAll_(", ");
@@ -189,7 +189,7 @@ if(smalltalk.assert($5)){
 $6=aStream;
 _st($6)._lf();
 _st($6)._nextPutAll_("smalltalk.");
-_st($6)._nextPutAll_(_st(self)._classNameFor_(aClass));
+_st($6)._nextPutAll_(self._classNameFor_(aClass));
 _st($6)._nextPutAll_(".comment=");
 _st($6)._nextPutAll_(_st(_st(aClass)._comment())._asJavascript());
 $7=_st($6)._nextPutAll_(";");
@@ -216,17 +216,17 @@ var $1,$2,$3;
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 if(! smalltalk.assert($1)){
 $2=aStream;
-_st($2)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(_st(aClass)._class())));
+_st($2)._nextPutAll_("smalltalk.".__comma(self._classNameFor_(_st(aClass)._class())));
 $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 _st(aStream)._nextPutAll_(_st("'".__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(aStream)._nextPutAll_(",");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-_st(aStream)._nextPutAll_(_st("];").__comma(_st($String())._lf()));
+_st(aStream)._nextPutAll_("];".__comma(_st($String())._lf()));
 };
 return self}, function($ctx1) {$ctx1.fill(self,"exportMetaDefinitionOf:on:",{aClass:aClass,aStream:aStream},smalltalk.Exporter)})},
 args: ["aClass", "aStream"],
@@ -249,24 +249,24 @@ _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
 _st($1)._nextPutAll_("smalltalk.method({");
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("selector: ").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("selector: ".__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("category: '").__comma(_st(aMethod)._category())).__comma("',"));
+_st($1)._nextPutAll_(_st("category: '".__comma(_st(aMethod)._category())).__comma("',"));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("fn: ").__comma(_st(_st(aMethod)._fn())._compiledSource())).__comma(","));
+_st($1)._nextPutAll_(_st("fn: ".__comma(_st(_st(aMethod)._fn())._compiledSource())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("args: ").__comma(_st(_st(aMethod)._arguments())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("args: ".__comma(_st(_st(aMethod)._arguments())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("source: ").__comma(_st(_st(aMethod)._source())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("source: ".__comma(_st(_st(aMethod)._source())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("messageSends: ").__comma(_st(_st(aMethod)._messageSends())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("messageSends: ".__comma(_st(_st(aMethod)._messageSends())._asJavascript())).__comma(","));
 _st($1)._lf();
-$2=_st($1)._nextPutAll_(_st("referencedClasses: ").__comma(_st(_st(aMethod)._referencedClasses())._asJavascript()));
+$2=_st($1)._nextPutAll_("referencedClasses: ".__comma(_st(_st(aMethod)._referencedClasses())._asJavascript()));
 $3=aStream;
 _st($3)._lf();
 _st($3)._nextPutAll_("}),");
 _st($3)._lf();
-_st($3)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(aClass)));
+_st($3)._nextPutAll_("smalltalk.".__comma(self._classNameFor_(aClass)));
 _st($3)._nextPutAll_(");");
 _st($3)._lf();
 $4=_st($3)._lf();
@@ -293,7 +293,7 @@ return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
 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);
+return self._exportMethod_of_on_(each,aClass,aStream);
 };
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(aStream)._lf();
@@ -320,12 +320,12 @@ $1=_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
 package_=_st(_st($Smalltalk())._current())._packageAt_(packageName);
 package_;
-_st(self)._exportPackageDefinitionOf_on_(package_,stream);
+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));
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
-return _st(self)._exportPackageExtensionsOf_on_(package_,stream);
+return _st(stream)._nextPutAll_(self._exportClass_(each));
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}));
+return self._exportPackageExtensionsOf_on_(package_,stream);
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"exportPackage:",{packageName:packageName,package_:package_},smalltalk.Exporter)})},
@@ -346,7 +346,7 @@ 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("');"));
+_st($1)._nextPutAll_(_st("'".__comma(_st(package_)._name())).__comma("');"));
 $2=_st($1)._lf();
 return self}, function($ctx1) {$ctx1.fill(self,"exportPackageDefinitionOf:on:",{package_:package_,aStream:aStream},smalltalk.Exporter)})},
 args: ["package", "aStream"],
@@ -375,14 +375,14 @@ return smalltalk.withContext(function($ctx3) {
 return _st(_st(_st(_st(aClass)._methodDictionary())._values())._sorted_((function(a,b){
 return smalltalk.withContext(function($ctx4) {
 return _st(_st(a)._selector()).__lt_eq(_st(b)._selector());
-}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(method){
+}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx3)})})))._do_((function(method){
 return smalltalk.withContext(function($ctx4) {
-$1=_st(_st(method)._category())._match_(_st("^\x5c*").__comma(name));
+$1=_st(_st(method)._category())._match_("^\x5c*".__comma(name));
 if(smalltalk.assert($1)){
-return _st(self)._exportMethod_of_on_(method,aClass,aStream);
+return self._exportMethod_of_on_(method,aClass,aStream);
 };
-}, function($ctx4) {$ctx4.fillBlock({method:method},$ctx1)})}));
-}, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx1)})}));
+}, function($ctx4) {$ctx4.fillBlock({method:method},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"exportPackageExtensionsOf:on:",{package_:package_,aStream:aStream,name:name},smalltalk.Exporter)})},
 args: ["package", "aStream"],
@@ -451,8 +451,8 @@ var self=this;
 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)));
+_st($1)._nextPutAll_(self._classNameFor_(_st(aClass)._superclass()));
+_st($1)._nextPutAll_(" subclass: #".__comma(self._classNameFor_(aClass)));
 _st($1)._lf();
 _st($1)._tab();
 $2=_st($1)._nextPutAll_("instanceVariableNames: '");
@@ -467,14 +467,14 @@ $3=aStream;
 _st($3)._nextPutAll_("'");
 _st($3)._lf();
 _st($3)._tab();
-_st($3)._nextPutAll_(_st(_st("package: '").__comma(_st(aClass)._category())).__comma("'!"));
+_st($3)._nextPutAll_(_st("package: '".__comma(_st(aClass)._category())).__comma("'!"));
 $4=_st($3)._lf();
 $5=_st(_st(aClass)._comment())._notEmpty();
 if(smalltalk.assert($5)){
 $6=aStream;
-_st($6)._nextPutAll_(_st(_st("!").__comma(_st(self)._classNameFor_(aClass))).__comma(" commentStamp!"));
+_st($6)._nextPutAll_(_st("!".__comma(self._classNameFor_(aClass))).__comma(" commentStamp!"));
 _st($6)._lf();
-_st($6)._nextPutAll_(_st(_st(self)._chunkEscape_(_st(aClass)._comment())).__comma("!"));
+_st($6)._nextPutAll_(_st(self._chunkEscape_(_st(aClass)._comment())).__comma("!"));
 $7=_st($6)._lf();
 $7;
 };
@@ -498,7 +498,7 @@ var $1,$2,$3,$4,$5;
 $1=_st(_st(_st(aClass)._class())._instanceVariableNames())._isEmpty();
 if(! smalltalk.assert($1)){
 $2=aStream;
-_st($2)._nextPutAll_(_st(self)._classNameFor_(_st(aClass)._class()));
+_st($2)._nextPutAll_(self._classNameFor_(_st(aClass)._class()));
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3;
 _st(_st(_st(aClass)._class())._instanceVariableNames())._do_separatedBy_((function(each){
@@ -533,7 +533,7 @@ var $1,$2;
 $1=aStream;
 _st($1)._lf();
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(self)._chunkEscape_(_st(aMethod)._source()));
+_st($1)._nextPutAll_(self._chunkEscape_(_st(aMethod)._source()));
 _st($1)._lf();
 $2=_st($1)._nextPutAll_("!");
 return self}, function($ctx1) {$ctx1.fill(self,"exportMethod:of:on:",{aMethod:aMethod,aClass:aClass,aStream:aStream},smalltalk.ChunkExporter)})},
@@ -553,14 +553,14 @@ var self=this;
 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($1)._nextPutAll_("!".__comma(self._classNameFor_(aClass)));
+$2=_st($1)._nextPutAll_(_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());
 }, 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 self._exportMethod_of_on_(each,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $3=aStream;
 _st($3)._nextPutAll_(" !");
@@ -600,7 +600,7 @@ var methods;
 return smalltalk.withContext(function($ctx2) {
 methods=_st(map)._at_(category);
 methods;
-return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
+return self._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"exportMethodsOf:on:",{aClass:aClass,aStream:aStream,map:map},smalltalk.ChunkExporter)})},
 args: ["aClass", "aStream"],
@@ -619,7 +619,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 $1=aStream;
-_st($1)._nextPutAll_(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("'!"));
+_st($1)._nextPutAll_(_st("Smalltalk current createPackage: '".__comma(_st(package_)._name())).__comma("'!"));
 $2=_st($1)._lf();
 return self}, function($ctx1) {$ctx1.fill(self,"exportPackageDefinitionOf:on:",{package_:package_,aStream:aStream},smalltalk.ChunkExporter)})},
 args: ["package", "aStream"],
@@ -650,22 +650,22 @@ map=_st($Dictionary())._new();
 map;
 _st(aClass)._protocolsDo_((function(category,methods){
 return smalltalk.withContext(function($ctx4) {
-$1=_st(category)._match_(_st("^\x5c*").__comma(name));
+$1=_st(category)._match_("^\x5c*".__comma(name));
 if(smalltalk.assert($1)){
 return _st(map)._at_put_(category,methods);
 };
-}, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx1)})}));
+}, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx3)})}));
 return _st(_st(_st(map)._keys())._sorted_((function(a,b){
 return smalltalk.withContext(function($ctx4) {
 return _st(a).__lt_eq(b);
-}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(category){
+}, function($ctx4) {$ctx4.fillBlock({a:a,b:b},$ctx3)})})))._do_((function(category){
 var methods;
 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)})}));
-}, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx1)})}));
+return self._exportMethods_category_of_on_(methods,category,aClass,aStream);
+}, function($ctx4) {$ctx4.fillBlock({category:category,methods:methods},$ctx3)})}));
+}, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"exportPackageExtensionsOf:on:",{package_:package_,aStream:aStream,name:name,map:map},smalltalk.ChunkExporter)})},
 args: ["package", "aStream"],
@@ -689,12 +689,12 @@ 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())));
+_st($1)._nextPutAll_(_st("'".__comma(self._classNameFor_(aClass))).__comma("', "));
+_st($1)._nextPutAll_("smalltalk.".__comma(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 _st(aStream)._nextPutAll_(_st("'".__comma(each)).__comma("'"));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(aStream)._nextPutAll_(", ");
@@ -725,14 +725,14 @@ _st($1)._nextPutAll_("smalltalk.addMethod(");
 _st($1)._lf();
 _st($1)._nextPutAll_("smalltalk.method({");
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("selector: ").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
+_st($1)._nextPutAll_(_st("selector: ".__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st(_st("fn: ").__comma(_st(_st(aMethod)._fn())._compiledSource())).__comma(","));
+_st($1)._nextPutAll_(_st("fn: ".__comma(_st(_st(aMethod)._fn())._compiledSource())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st("messageSends: ").__comma(_st(_st(aMethod)._messageSends())._asJavascript()));
+_st($1)._nextPutAll_("messageSends: ".__comma(_st(_st(aMethod)._messageSends())._asJavascript()));
 _st($1)._nextPutAll_("}),");
 _st($1)._lf();
-_st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(aClass)));
+_st($1)._nextPutAll_("smalltalk.".__comma(self._classNameFor_(aClass)));
 _st($1)._nextPutAll_(");");
 _st($1)._lf();
 $2=_st($1)._lf();
@@ -802,9 +802,9 @@ category: 'private',
 fn: function (aURL,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(jQuery)._ajax_options_(aURL,smalltalk.HashedCollection._fromPairs_([_st("type").__minus_gt("PUT"),_st("data").__minus_gt(aString),_st("contentType").__minus_gt("text/plain;charset=UTF-8"),_st("error").__minus_gt((function(xhr){
+_st(jQuery)._ajax_options_(aURL,smalltalk.HashedCollection._fromPairs_(["type".__minus_gt("PUT"),"data".__minus_gt(aString),"contentType".__minus_gt("text/plain;charset=UTF-8"),"error".__minus_gt((function(xhr){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._error_(_st(_st(_st(_st("Commiting ").__comma(aURL)).__comma(" failed with reason: \x22")).__comma(_st(xhr)._responseText())).__comma("\x22"));
+return self._error_(_st(_st(_st("Commiting ".__comma(aURL)).__comma(" failed with reason: \x22")).__comma(_st(xhr)._responseText())).__comma("\x22"));
 }, function($ctx2) {$ctx2.fillBlock({xhr:xhr},$ctx1)})}))]));
 return self}, function($ctx1) {$ctx1.fill(self,"ajaxPutAt:data:",{aURL:aURL,aString:aString},smalltalk.PackageHandler)})},
 args: ["aURL", "aString"],
@@ -829,8 +829,8 @@ var fileContents;
 return smalltalk.withContext(function($ctx2) {
 fileContents=_st(_st(_st(commitStrategy)._key())._new())._exportPackage_(_st(aPackage)._name());
 fileContents;
-return _st(self)._ajaxPutAt_data_(_st(commitStrategy)._value(),fileContents);
-}, function($ctx2) {$ctx2.fillBlock({commitStrategy:commitStrategy,fileContents:fileContents},$ctx1)})}),_st("Committing package ").__comma(_st(aPackage)._name()));
+return self._ajaxPutAt_data_(_st(commitStrategy)._value(),fileContents);
+}, function($ctx2) {$ctx2.fillBlock({commitStrategy:commitStrategy,fileContents:fileContents},$ctx1)})}),"Committing package ".__comma(_st(aPackage)._name()));
 return self}, function($ctx1) {$ctx1.fill(self,"commit:",{aPackage:aPackage},smalltalk.PackageHandler)})},
 args: ["aPackage"],
 source: "commit: aPackage\x0a\x09{ \x0a\x09\x09Exporter -> (aPackage commitPathJs, '/', aPackage name, '.js').\x0a\x09\x09StrippedExporter -> (aPackage commitPathJs, '/', aPackage name, '.deploy.js').\x0a\x09\x09ChunkExporter -> (aPackage commitPathSt, '/', aPackage name, '.st')\x0a\x09} \x0a\x09\x09do: [ :commitStrategy|| fileContents |\x0a\x09\x09\x09fileContents := (commitStrategy key new exportPackage: aPackage name).\x0a\x09\x09\x09self ajaxPutAt: commitStrategy value data: fileContents ]\x0a\x09\x09displayingProgress: 'Committing package ', aPackage name",
@@ -848,16 +848,16 @@ var self=this;
 var url;
 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){
+url=_st(_st(_st("/".__comma(aString)).__comma("/js/")).__comma(packageName)).__comma(".js");
+_st(jQuery)._ajax_options_(url,smalltalk.HashedCollection._fromPairs_(["type".__minus_gt("GET"),"dataType".__minus_gt("script"),"complete".__minus_gt((function(jqXHR,textStatus){
 return smalltalk.withContext(function($ctx2) {
 $1=_st(_st(jqXHR)._readyState()).__eq((4));
 if(smalltalk.assert($1)){
-return _st(self)._setupPackageNamed_prefix_(packageName,aString);
+return self._setupPackageNamed_prefix_(packageName,aString);
 };
-}, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),_st("error").__minus_gt((function(){
+}, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),"error".__minus_gt((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(window)._alert_(_st("Could not load package at: ").__comma(url));
+return _st(window)._alert_("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.PackageHandler)})},
 args: ["packageName", "aString"],
@@ -876,7 +876,7 @@ 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 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.PackageHandler)})},
 args: ["aCollection", "aString"],
@@ -897,8 +897,8 @@ 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"));
-$2=_st($1)._commitPathSt_(_st(_st("/").__comma(aString)).__comma("/st"));
+_st($1)._commitPathJs_(_st("/".__comma(aString)).__comma("/js"));
+$2=_st($1)._commitPathSt_(_st("/".__comma(aString)).__comma("/st"));
 return self}, function($ctx1) {$ctx1.fill(self,"setupPackageNamed:prefix:",{packageName:packageName,aString:aString},smalltalk.PackageHandler)})},
 args: ["packageName", "aString"],
 source: "setupPackageNamed: packageName prefix: aString\x0a\x0a\x09(Package named: packageName)\x0a\x09\x09setupClasses;\x0a\x09\x09commitPathJs: '/', aString, '/js';\x0a\x09\x09commitPathSt: '/', aString, '/st'",
@@ -916,7 +916,7 @@ fn: function (aCollection,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._loadPackages_prefix_(aCollection,aString);
+$1=_st(self._new())._loadPackages_prefix_(aCollection,aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString},smalltalk.PackageHandler.klass)})},
 args: ["aCollection", "aString"],

+ 9 - 9
js/Kernel-Announcements.deploy.js

@@ -31,8 +31,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._deprecatedAPI();
-$1=_st(self)._valuable();
+self._deprecatedAPI();
+$1=self._valuable();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"block",{},smalltalk.AnnouncementSubscription)})},
 messageSends: ["deprecatedAPI", "valuable"]}),
@@ -44,8 +44,8 @@ selector: "block:",
 fn: function (aValuable){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._deprecatedAPI();
-_st(self)._valuable_(aValuable);
+self._deprecatedAPI();
+self._valuable_(aValuable);
 return self}, function($ctx1) {$ctx1.fill(self,"block:",{aValuable:aValuable},smalltalk.AnnouncementSubscription)})},
 messageSends: ["deprecatedAPI", "valuable:"]}),
 smalltalk.AnnouncementSubscription);
@@ -57,9 +57,9 @@ fn: function (anAnnouncement){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._handlesAnnouncement_(anAnnouncement);
+$1=self._handlesAnnouncement_(anAnnouncement);
 if(smalltalk.assert($1)){
-_st(_st(self)._valuable())._value_(anAnnouncement);
+_st(self._valuable())._value_(anAnnouncement);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"deliver:",{anAnnouncement:anAnnouncement},smalltalk.AnnouncementSubscription)})},
 messageSends: ["ifTrue:", "value:", "valuable", "handlesAnnouncement:"]}),
@@ -73,7 +73,7 @@ var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(_st($Smalltalk())._current())._at_(_st(_st(self)._announcementClass())._name());
+$2=_st(_st($Smalltalk())._current())._at_(_st(self._announcementClass())._name());
 if(($receiver = $2) == nil || $receiver == undefined){
 return false;
 } else {
@@ -93,7 +93,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._valuable())._receiver();
+$1=_st(self._valuable())._receiver();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AnnouncementSubscription)})},
 messageSends: ["receiver", "valuable"]}),
@@ -236,7 +236,7 @@ selector: "new",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldNotImplement();
+self._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.SystemAnnouncer.klass)})},
 messageSends: ["shouldNotImplement"]}),
 smalltalk.SystemAnnouncer.klass);

+ 9 - 9
js/Kernel-Announcements.js

@@ -43,8 +43,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._deprecatedAPI();
-$1=_st(self)._valuable();
+self._deprecatedAPI();
+$1=self._valuable();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"block",{},smalltalk.AnnouncementSubscription)})},
 args: [],
@@ -61,8 +61,8 @@ category: 'accessing',
 fn: function (aValuable){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._deprecatedAPI();
-_st(self)._valuable_(aValuable);
+self._deprecatedAPI();
+self._valuable_(aValuable);
 return self}, function($ctx1) {$ctx1.fill(self,"block:",{aValuable:aValuable},smalltalk.AnnouncementSubscription)})},
 args: ["aValuable"],
 source: "block: aValuable\x0a\x09\x22Use #valuable instead\x22\x0a\x09\x0a\x09self deprecatedAPI.\x0a\x09self valuable: aValuable",
@@ -79,9 +79,9 @@ fn: function (anAnnouncement){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._handlesAnnouncement_(anAnnouncement);
+$1=self._handlesAnnouncement_(anAnnouncement);
 if(smalltalk.assert($1)){
-_st(_st(self)._valuable())._value_(anAnnouncement);
+_st(self._valuable())._value_(anAnnouncement);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"deliver:",{anAnnouncement:anAnnouncement},smalltalk.AnnouncementSubscription)})},
 args: ["anAnnouncement"],
@@ -100,7 +100,7 @@ var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(_st($Smalltalk())._current())._at_(_st(_st(self)._announcementClass())._name());
+$2=_st(_st($Smalltalk())._current())._at_(_st(self._announcementClass())._name());
 if(($receiver = $2) == nil || $receiver == undefined){
 return false;
 } else {
@@ -125,7 +125,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._valuable())._receiver();
+$1=_st(self._valuable())._receiver();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AnnouncementSubscription)})},
 args: [],
@@ -315,7 +315,7 @@ category: 'instance creation',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldNotImplement();
+self._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.SystemAnnouncer.klass)})},
 args: [],
 source: "new\x0a\x09self shouldNotImplement",

+ 102 - 102
js/Kernel-Classes.deploy.js

@@ -7,7 +7,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._methodAt_(aString);
+$1=self._methodAt_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,">>",{aString:aString},smalltalk.Behavior)})},
 messageSends: ["methodAt:"]}),
@@ -24,15 +24,15 @@ function $MethodModified(){return smalltalk.MethodModified||(typeof MethodModifi
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6;
-oldMethod=_st(_st(self)._methodDictionary())._at_ifAbsent_(_st(aMethod)._selector(),(function(){
+oldMethod=_st(self._methodDictionary())._at_ifAbsent_(_st(aMethod)._selector(),(function(){
 return smalltalk.withContext(function($ctx2) {
 return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-$1=_st(_st(self)._protocols())._includes_(_st(aMethod)._protocol());
+$1=_st(self._protocols())._includes_(_st(aMethod)._protocol());
 if(! smalltalk.assert($1)){
-_st(_st(self)._organization())._addElement_(_st(aMethod)._protocol());
+_st(self._organization())._addElement_(_st(aMethod)._protocol());
 };
-_st(self)._basicAddCompiledMethod_(aMethod);
+self._basicAddCompiledMethod_(aMethod);
 $2=oldMethod;
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($MethodAdded())._new();
@@ -59,12 +59,12 @@ var self=this;
 var result;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-result=_st(_st(self)._instanceVariableNames())._copy();
-$1=_st(self)._superclass();
+result=_st(self._instanceVariableNames())._copy();
+$1=self._superclass();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(result)._addAll_(_st(_st(self)._superclass())._allInstanceVariableNames());
+_st(result)._addAll_(_st(self._superclass())._allInstanceVariableNames());
 };
 $2=result;
 return $2;
@@ -79,7 +79,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$1=_st(_st(self)._allSuperclasses())._inject_into_(_st(self)._selectors(),(function(soFar,aBehavior){
+$1=_st(self._allSuperclasses())._inject_into_(self._selectors(),(function(soFar,aBehavior){
 return smalltalk.withContext(function($ctx2) {
 $2=soFar;
 _st($2)._addAll_(_st(aBehavior)._selectors());
@@ -99,8 +99,8 @@ var self=this;
 var result;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-result=_st(self)._subclasses();
-_st(_st(self)._subclasses())._do_((function(each){
+result=self._subclasses();
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(result)._addAll_(_st(each)._allSubclasses());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -116,7 +116,7 @@ selector: "allSubclassesDo:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._subclasses())._do_((function(each){
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 _st(aBlock)._value_(each);
 return _st(each)._allSubclassesDo_(aBlock);
@@ -133,15 +133,15 @@ var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$4,$5,$3;
-$1=_st(self)._superclass();
+$1=self._superclass();
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=[];
 return $2;
 } else {
 $1;
 };
-$4=_st($OrderedCollection())._with_(_st(self)._superclass());
-_st($4)._addAll_(_st(_st(self)._superclass())._allSuperclasses());
+$4=_st($OrderedCollection())._with_(self._superclass());
+_st($4)._addAll_(_st(self._superclass())._allSuperclasses());
 $5=_st($4)._yourself();
 $3=$5;
 return $3;
@@ -192,12 +192,12 @@ fn: function (aSelector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(_st(self)._methodDictionary())._keys())._includes_(_st(aSelector)._asString()))._or_((function(){
+$1=_st(_st(_st(self._methodDictionary())._keys())._includes_(_st(aSelector)._asString()))._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(_st(self)._superclass())._notNil())._and_((function(){
+return _st(_st(self._superclass())._notNil())._and_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(_st(self)._superclass())._canUnderstand_(aSelector);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return _st(self._superclass())._canUnderstand_(aSelector);
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"canUnderstand:",{aSelector:aSelector},smalltalk.Behavior)})},
@@ -211,7 +211,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._basicAt_("comment");
+$2=self._basicAt_("comment");
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 } else {
@@ -231,7 +231,7 @@ function $ClassCommentChanged(){return smalltalk.ClassCommentChanged||(typeof Cl
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._basicAt_put_("comment",aString);
+self._basicAt_put_("comment",aString);
 $1=_st($ClassCommentChanged())._new();
 _st($1)._theClass_(self);
 $2=_st($1)._yourself();
@@ -264,7 +264,7 @@ fn: function (aStamp,prior){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._commentStamp();
+$1=self._commentStamp();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"commentStamp:prior:",{aStamp:aStamp,prior:prior},smalltalk.Behavior)})},
 messageSends: ["commentStamp"]}),
@@ -277,7 +277,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._compile_category_(aString,"");
+$1=self._compile_category_(aString,"");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Behavior)})},
 messageSends: ["compile:category:"]}),
@@ -315,9 +315,9 @@ fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self).__eq_eq(aClass))._or_((function(){
+$1=_st(self.__eq_eq(aClass))._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._inheritsFrom_(aClass);
+return self._inheritsFrom_(aClass);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"includesBehavior:",{aClass:aClass},smalltalk.Behavior)})},
@@ -331,7 +331,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodDictionary())._includesKey_(aString);
+$1=_st(self._methodDictionary())._includesKey_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aString:aString},smalltalk.Behavior)})},
 messageSends: ["includesKey:", "methodDictionary"]}),
@@ -344,15 +344,15 @@ fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(self)._superclass();
+$1=self._superclass();
 if(($receiver = $1) == nil || $receiver == undefined){
 return false;
 } else {
 $1;
 };
-$2=_st(_st(aClass).__eq_eq(_st(self)._superclass()))._or_((function(){
+$2=_st(_st(aClass).__eq_eq(self._superclass()))._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._superclass())._inheritsFrom_(aClass);
+return _st(self._superclass())._inheritsFrom_(aClass);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"inheritsFrom:",{aClass:aClass},smalltalk.Behavior)})},
@@ -419,7 +419,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodDictionary())._at_(aString);
+$1=_st(self._methodDictionary())._at_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodAt:",{aString:aString},smalltalk.Behavior)})},
 messageSends: ["at:", "methodDictionary"]}),
@@ -450,7 +450,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodDictionary())._values();
+$1=_st(self._methodDictionary())._values();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methods",{},smalltalk.Behavior)})},
 messageSends: ["values", "methodDictionary"]}),
@@ -480,7 +480,7 @@ fn: function (aString,aStamp){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._methodsFor_(aString);
+$1=self._methodsFor_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodsFor:stamp:",{aString:aString,aStamp:aStamp},smalltalk.Behavior)})},
 messageSends: ["methodsFor:"]}),
@@ -493,7 +493,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._methodDictionary())._values())._select_((function(each){
+$1=_st(_st(self._methodDictionary())._values())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._protocol()).__eq(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -520,7 +520,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._basicNew())._initialize();
+$1=_st(self._basicNew())._initialize();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Behavior)})},
 messageSends: ["initialize", "basicNew"]}),
@@ -533,7 +533,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("organization");
+$1=self._basicAt_("organization");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"organization",{},smalltalk.Behavior)})},
 messageSends: ["basicAt:"]}),
@@ -546,7 +546,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._organization())._elements())._sorted();
+$1=_st(_st(self._organization())._elements())._sorted();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocols",{},smalltalk.Behavior)})},
 messageSends: ["sorted", "elements", "organization"]}),
@@ -562,14 +562,14 @@ function $HashedCollection(){return smalltalk.HashedCollection||(typeof HashedCo
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 methodsByCategory=_st($HashedCollection())._new();
-_st(_st(_st(self)._methodDictionary())._values())._do_((function(m){
+_st(_st(self._methodDictionary())._values())._do_((function(m){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(methodsByCategory)._at_ifAbsentPut_(_st(m)._category(),(function(){
 return smalltalk.withContext(function($ctx3) {
 return _st($Array())._new();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._add_(m);
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})})))._add_(m);
 }, function($ctx2) {$ctx2.fillBlock({m:m},$ctx1)})}));
-_st(_st(self)._protocols())._do_((function(category){
+_st(self._protocols())._do_((function(category){
 return smalltalk.withContext(function($ctx2) {
 return _st(aBlock)._value_value_(category,_st(methodsByCategory)._at_(category));
 }, function($ctx2) {$ctx2.fillBlock({category:category},$ctx1)})}));
@@ -597,13 +597,13 @@ function $MethodRemoved(){return smalltalk.MethodRemoved||(typeof MethodRemoved=
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._basicRemoveCompiledMethod_(aMethod);
-_st(_st(self)._methods())._detect_ifNone_((function(each){
+self._basicRemoveCompiledMethod_(aMethod);
+_st(self._methods())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._protocol()).__eq(_st(aMethod)._protocol());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._organization())._removeElement_(_st(aMethod)._protocol());
+return _st(self._organization())._removeElement_(_st(aMethod)._protocol());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $1=_st($MethodRemoved())._new();
 _st($1)._method_(aMethod);
@@ -620,7 +620,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodDictionary())._keys();
+$1=_st(self._methodDictionary())._keys();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selectors",{},smalltalk.Behavior)})},
 messageSends: ["keys", "methodDictionary"]}),
@@ -655,7 +655,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._class();
+$1=self._class();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theMetaClass",{},smalltalk.Behavior)})},
 messageSends: ["class"]}),
@@ -683,7 +683,7 @@ function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 $2=_st($Array())._with_(self);
-_st($2)._addAll_(_st(self)._allSubclasses());
+_st($2)._addAll_(self._allSubclasses());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
@@ -701,7 +701,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st("smalltalk.").__comma(_st(self)._name());
+$1="smalltalk.".__comma(self._name());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asJavascript",{},smalltalk.Class)})},
 messageSends: [",", "name"]}),
@@ -714,11 +714,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._package();
+$2=self._package();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="Unclassified";
 } else {
-$1=_st(_st(self)._package())._name();
+$1=_st(self._package())._name();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"category",{},smalltalk.Class)})},
@@ -736,23 +736,23 @@ var $2,$3,$4,$5,$1;
 $1=_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
 $2=stream;
-_st($2)._nextPutAll_(_st(_st(self)._superclass())._asString());
+_st($2)._nextPutAll_(_st(self._superclass())._asString());
 _st($2)._nextPutAll_(" subclass: #");
-_st($2)._nextPutAll_(_st(self)._name());
+_st($2)._nextPutAll_(self._name());
 _st($2)._nextPutAll_(_st(_st($String())._lf()).__comma(_st($String())._tab()));
 $3=_st($2)._nextPutAll_("instanceVariableNames: '");
 $3;
-_st(_st(self)._instanceVariableNames())._do_separatedBy_((function(each){
+_st(self._instanceVariableNames())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(stream)._nextPutAll_(each);
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(stream)._nextPutAll_(" ");
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 $4=stream;
-_st($4)._nextPutAll_(_st(_st("'").__comma(_st($String())._lf())).__comma(_st($String())._tab()));
+_st($4)._nextPutAll_(_st("'".__comma(_st($String())._lf())).__comma(_st($String())._tab()));
 _st($4)._nextPutAll_("package: '");
-_st($4)._nextPutAll_(_st(self)._category());
+_st($4)._nextPutAll_(self._category());
 $5=_st($4)._nextPutAll_("'");
 return $5;
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
@@ -779,7 +779,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("pkg");
+$1=self._basicAt_("pkg");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"package",{},smalltalk.Class)})},
 messageSends: ["basicAt:"]}),
@@ -795,13 +795,13 @@ function $ClassMoved(){return smalltalk.ClassMoved||(typeof ClassMoved=="undefin
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4;
-$1=_st(_st(self)._package()).__eq(aPackage);
+$1=_st(self._package()).__eq(aPackage);
 if(smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-oldPackage=_st(self)._package();
-_st(self)._basicAt_put_("pkg",aPackage);
+oldPackage=self._package();
+self._basicAt_put_("pkg",aPackage);
 _st(_st(oldPackage)._organization())._removeElement_(self);
 _st(_st(aPackage)._organization())._addElement_(self);
 $3=_st($ClassMoved())._new();
@@ -819,7 +819,7 @@ selector: "printOn:",
 fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(aStream)._nextPutAll_(_st(self)._name());
+_st(aStream)._nextPutAll_(self._name());
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Class)})},
 messageSends: ["nextPutAll:", "name"]}),
 smalltalk.Class);
@@ -843,7 +843,7 @@ fn: function (aString,anotherString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._subclass_instanceVariableNames_package_(aString,anotherString,nil);
+$1=self._subclass_instanceVariableNames_package_(aString,anotherString,nil);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:",{aString:aString,anotherString:anotherString},smalltalk.Class)})},
 messageSends: ["subclass:instanceVariableNames:package:"]}),
@@ -856,8 +856,8 @@ fn: function (aString,aString2,aString3){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._deprecatedAPI();
-$1=_st(self)._subclass_instanceVariableNames_package_(aString,aString2,aString3);
+self._deprecatedAPI();
+$1=self._subclass_instanceVariableNames_package_(aString,aString2,aString3);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:category:",{aString:aString,aString2:aString2,aString3:aString3},smalltalk.Class)})},
 messageSends: ["deprecatedAPI", "subclass:instanceVariableNames:package:"]}),
@@ -870,7 +870,7 @@ fn: function (aString,aString2,classVars,pools,aString3){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._subclass_instanceVariableNames_package_(aString,aString2,aString3);
+$1=self._subclass_instanceVariableNames_package_(aString,aString2,aString3);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:",{aString:aString,aString2:aString2,classVars:classVars,pools:pools,aString3:aString3},smalltalk.Class)})},
 messageSends: ["subclass:instanceVariableNames:package:"]}),
@@ -900,7 +900,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("smalltalk.").__comma(_st(_st(self)._instanceClass())._name())).__comma(".klass");
+$1=_st("smalltalk.".__comma(_st(self._instanceClass())._name())).__comma(".klass");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asJavascript",{},smalltalk.Metaclass)})},
 messageSends: [",", "name", "instanceClass"]}),
@@ -917,16 +917,16 @@ var $2,$3,$1;
 $1=_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
 $2=stream;
-_st($2)._nextPutAll_(_st(self)._asString());
+_st($2)._nextPutAll_(self._asString());
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3;
-_st(_st(self)._instanceVariableNames())._do_separatedBy_((function(each){
+_st(self._instanceVariableNames())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(stream)._nextPutAll_(each);
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(stream)._nextPutAll_(" ");
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 return _st(stream)._nextPutAll_("'");
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
@@ -976,7 +976,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 $1=aStream;
-_st($1)._nextPutAll_(_st(_st(self)._instanceClass())._name());
+_st($1)._nextPutAll_(_st(self._instanceClass())._name());
 $2=_st($1)._nextPutAll_(" class");
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Metaclass)})},
 messageSends: ["nextPutAll:", "name", "instanceClass"]}),
@@ -1002,7 +1002,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._instanceClass();
+$1=self._instanceClass();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theNonMetaClass",{},smalltalk.Metaclass)})},
 messageSends: ["instanceClass"]}),
@@ -1025,14 +1025,14 @@ $1=theClass;
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(theClass)._package_(_st(self)._createPackageNamed_(packageName));
+_st(theClass)._package_(self._createPackageNamed_(packageName));
 $2=_st(_st(theClass)._superclass()).__eq_eq(aClass);
 if(! smalltalk.assert($2)){
-$3=_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(className,aClass,aCollection,packageName);
+$3=self._migrateClassNamed_superclass_instanceVariableNames_package_(className,aClass,aCollection,packageName);
 return $3;
 };
 };
-$4=_st(self)._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,className,aCollection,packageName);
+$4=self._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,className,aCollection,packageName);
 return $4;
 }, function($ctx1) {$ctx1.fill(self,"addSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,className:className,aCollection:aCollection,packageName:packageName,theClass:theClass},smalltalk.ClassBuilder)})},
 messageSends: ["at:", "current", "ifNotNil:", "package:", "createPackageNamed:", "ifFalse:", "migrateClassNamed:superclass:instanceVariableNames:package:", "==", "superclass", "basicAddSubclassOf:named:instanceVariableNames:package:"]}),
@@ -1058,7 +1058,7 @@ selector: "basicClass:instanceVariableNames:",
 fn: function (aClass,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._basicClass_instanceVariables_(aClass,_st(self)._instanceVariableNamesFor_(aString));
+self._basicClass_instanceVariables_(aClass,self._instanceVariableNamesFor_(aString));
 return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariableNames:",{aClass:aClass,aString:aString},smalltalk.ClassBuilder)})},
 messageSends: ["basicClass:instanceVariables:", "instanceVariableNamesFor:"]}),
 smalltalk.ClassBuilder);
@@ -1072,7 +1072,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st(aClass)._isMetaclass();
 if(! smalltalk.assert($1)){
-_st(self)._error_(_st(_st(aClass)._name()).__comma(" is not a metaclass"));
+self._error_(_st(_st(aClass)._name()).__comma(" is not a metaclass"));
 };
 _st(aClass)._basicAt_put_("iVarNames",aCollection);
 return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariables:",{aClass:aClass,aCollection:aCollection},smalltalk.ClassBuilder)})},
@@ -1129,8 +1129,8 @@ function $ClassDefinitionChanged(){return smalltalk.ClassDefinitionChanged||(typ
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._basicClass_instanceVariableNames_(aClass,ivarNames);
-_st(self)._setupClass_(aClass);
+self._basicClass_instanceVariableNames_(aClass,ivarNames);
+self._setupClass_(aClass);
 $1=_st($ClassDefinitionChanged())._new();
 _st($1)._theClass_(aClass);
 $2=_st($1)._yourself();
@@ -1149,8 +1149,8 @@ function $ClassAdded(){return smalltalk.ClassAdded||(typeof ClassAdded=="undefin
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(_st(aClass)._superclass(),className,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
-_st(self)._copyClass_to_(aClass,newClass);
+newClass=self._addSubclassOf_named_instanceVariableNames_package_(_st(aClass)._superclass(),className,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
+self._copyClass_to_(aClass,newClass);
 $1=_st($ClassAdded())._new();
 _st($1)._theClass_(newClass);
 $2=_st($1)._yourself();
@@ -1173,12 +1173,12 @@ _st(_st(_st(aClass)._methodDictionary())._values())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st($Compiler())._new())._install_forClass_category_(_st(each)._source(),anotherClass,_st(each)._category());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-_st(self)._basicClass_instanceVariables_(_st(anotherClass)._class(),_st(_st(aClass)._class())._instanceVariableNames());
+self._basicClass_instanceVariables_(_st(anotherClass)._class(),_st(_st(aClass)._class())._instanceVariableNames());
 _st(_st(_st(_st(aClass)._class())._methodDictionary())._values())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st($Compiler())._new())._install_forClass_category_(_st(each)._source(),_st(anotherClass)._class(),_st(each)._category());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-_st(self)._setupClass_(anotherClass);
+self._setupClass_(anotherClass);
 return self}, function($ctx1) {$ctx1.fill(self,"copyClass:to:",{aClass:aClass,anotherClass:anotherClass},smalltalk.ClassBuilder)})},
 messageSends: ["comment:", "comment", "do:", "install:forClass:category:", "source", "category", "new", "values", "methodDictionary", "basicClass:instanceVariables:", "class", "instanceVariableNames", "setupClass:"]}),
 smalltalk.ClassBuilder);
@@ -1210,7 +1210,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 _st(aCompiledMethod)._category_(aString);
 _st(aBehavior)._addCompiledMethod_(aCompiledMethod);
-_st(self)._setupClass_(aBehavior);
+self._setupClass_(aBehavior);
 $1=aCompiledMethod;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"installMethod:forClass:category:",{aCompiledMethod:aCompiledMethod,aBehavior:aBehavior,aString:aString},smalltalk.ClassBuilder)})},
@@ -1240,7 +1240,7 @@ fn: function (aClass,anotherClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(_st(aClass)._name(),anotherClass,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
+$1=self._migrateClassNamed_superclass_instanceVariableNames_package_(_st(aClass)._name(),anotherClass,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"migrateClass:superclass:",{aClass:aClass,anotherClass:anotherClass},smalltalk.ClassBuilder)})},
 messageSends: ["migrateClassNamed:superclass:instanceVariableNames:package:", "name", "instanceVariableNames", "package"]}),
@@ -1258,13 +1258,13 @@ function $ClassMigrated(){return smalltalk.ClassMigrated||(typeof ClassMigrated=
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7;
-tmp=_st("new*").__comma(className);
+tmp="new*".__comma(className);
 oldClass=_st(_st($Smalltalk())._current())._at_(className);
-newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(aClass,tmp,aCollection,packageName);
-_st(self)._basicSwapClassNames_with_(oldClass,newClass);
+newClass=self._addSubclassOf_named_instanceVariableNames_package_(aClass,tmp,aCollection,packageName);
+self._basicSwapClassNames_with_(oldClass,newClass);
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._copyClass_to_(oldClass,newClass);
+return self._copyClass_to_(oldClass,newClass);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(exception){
 return smalltalk.withContext(function($ctx2) {
 $1=self;
@@ -1278,9 +1278,9 @@ _st($3)._rawRenameClass_to_(oldClass,tmp);
 $4=_st($3)._rawRenameClass_to_(newClass,className);
 _st(_st(oldClass)._subclasses())._do_displayingProgress_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._migrateClass_superclass_(each,newClass);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),_st(_st("Recompiling ").__comma(_st(newClass)._name())).__comma("..."));
-_st(self)._basicRemoveClass_(oldClass);
+return self._migrateClass_superclass_(each,newClass);
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),_st("Recompiling ".__comma(_st(newClass)._name())).__comma("..."));
+self._basicRemoveClass_(oldClass);
 $5=_st($ClassMigrated())._new();
 _st($5)._theClass_(newClass);
 _st($5)._oldClass_(oldClass);
@@ -1314,7 +1314,7 @@ function $ClassRenamed(){return smalltalk.ClassRenamed||(typeof ClassRenamed=="u
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._basicRenameClass_to_(aClass,className);
+self._basicRenameClass_to_(aClass,className);
 $1=_st($ClassRenamed())._new();
 _st($1)._theClass_(aClass);
 $2=_st($1)._yourself();
@@ -1341,7 +1341,7 @@ fn: function (aClass,className){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._superclass_subclass_instanceVariableNames_package_(aClass,className,"",nil);
+$1=self._superclass_subclass_instanceVariableNames_package_(aClass,className,"",nil);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"superclass:subclass:",{aClass:aClass,className:className},smalltalk.ClassBuilder)})},
 messageSends: ["superclass:subclass:instanceVariableNames:package:"]}),
@@ -1360,7 +1360,7 @@ var $1,$2,$3,$4,$6,$5,$7,$8,$9;
 $1=self;
 $2=aClass;
 $3=className;
-$4=_st(self)._instanceVariableNamesFor_(ivarNames);
+$4=self._instanceVariableNamesFor_(ivarNames);
 $6=packageName;
 if(($receiver = $6) == nil || $receiver == undefined){
 $5="unclassified";
@@ -1368,7 +1368,7 @@ $5="unclassified";
 $5=$6;
 };
 newClass=_st($1)._addSubclassOf_named_instanceVariableNames_package_($2,$3,$4,$5);
-_st(self)._setupClass_(newClass);
+self._setupClass_(newClass);
 $7=_st($ClassAdded())._new();
 _st($7)._theClass_(newClass);
 $8=_st($7)._yourself();
@@ -1432,7 +1432,7 @@ chunk;
 return _st(chunk)._isEmpty();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._compileMethod_(chunk);
+return self._compileMethod_(chunk);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st($ClassBuilder())._new())._setupClass_(self["@class"]);
 return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},smalltalk.ClassCategoryReader)})},
@@ -1475,7 +1475,7 @@ var $1;
 chunk=_st(aChunkParser)._nextChunk();
 $1=_st(chunk)._isEmpty();
 if(! smalltalk.assert($1)){
-_st(self)._setComment_(chunk);
+self._setComment_(chunk);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},smalltalk.ClassCommentReader)})},
 messageSends: ["nextChunk", "ifFalse:", "setComment:", "isEmpty"]}),
@@ -1508,7 +1508,7 @@ children=[];
 others=[];
 _st(aCollection)._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-$1=_st(_st(each)._superclass()).__eq(_st(self)._theClass());
+$1=_st(_st(each)._superclass()).__eq(self._theClass());
 if(smalltalk.assert($1)){
 return _st(children)._add_(each);
 } else {
@@ -1517,7 +1517,7 @@ return _st(others)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 self["@nodes"]=_st(children)._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st($ClassSorterNode())._on_classes_level_(each,others,_st(_st(self)._level()).__plus((1)));
+return _st($ClassSorterNode())._on_classes_level_(each,others,_st(self._level()).__plus((1)));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"getNodesFrom:",{aCollection:aCollection,children:children,others:others},smalltalk.ClassSorterNode)})},
 messageSends: ["do:", "ifTrue:ifFalse:", "add:", "=", "theClass", "superclass", "collect:", "on:classes:level:", "+", "level"]}),
@@ -1590,8 +1590,8 @@ selector: "traverseClassesWith:",
 fn: function (aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(aCollection)._add_(_st(self)._theClass());
-_st(_st(_st(self)._nodes())._sorted_((function(a,b){
+_st(aCollection)._add_(self._theClass());
+_st(_st(self._nodes())._sorted_((function(a,b){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(_st(a)._theClass())._name()).__lt_eq(_st(_st(b)._theClass())._name());
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(aNode){
@@ -1610,7 +1610,7 @@ fn: function (aClass,aCollection,anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._theClass_(aClass);
 _st($2)._level_(anInteger);
 _st($2)._getNodesFrom_(aCollection);

+ 102 - 102
js/Kernel-Classes.js

@@ -9,7 +9,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._methodAt_(aString);
+$1=self._methodAt_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,">>",{aString:aString},smalltalk.Behavior)})},
 args: ["aString"],
@@ -31,15 +31,15 @@ function $MethodModified(){return smalltalk.MethodModified||(typeof MethodModifi
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6;
-oldMethod=_st(_st(self)._methodDictionary())._at_ifAbsent_(_st(aMethod)._selector(),(function(){
+oldMethod=_st(self._methodDictionary())._at_ifAbsent_(_st(aMethod)._selector(),(function(){
 return smalltalk.withContext(function($ctx2) {
 return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-$1=_st(_st(self)._protocols())._includes_(_st(aMethod)._protocol());
+$1=_st(self._protocols())._includes_(_st(aMethod)._protocol());
 if(! smalltalk.assert($1)){
-_st(_st(self)._organization())._addElement_(_st(aMethod)._protocol());
+_st(self._organization())._addElement_(_st(aMethod)._protocol());
 };
-_st(self)._basicAddCompiledMethod_(aMethod);
+self._basicAddCompiledMethod_(aMethod);
 $2=oldMethod;
 if(($receiver = $2) == nil || $receiver == undefined){
 $3=_st($MethodAdded())._new();
@@ -71,12 +71,12 @@ var self=this;
 var result;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-result=_st(_st(self)._instanceVariableNames())._copy();
-$1=_st(self)._superclass();
+result=_st(self._instanceVariableNames())._copy();
+$1=self._superclass();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(result)._addAll_(_st(_st(self)._superclass())._allInstanceVariableNames());
+_st(result)._addAll_(_st(self._superclass())._allInstanceVariableNames());
 };
 $2=result;
 return $2;
@@ -96,7 +96,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$1=_st(_st(self)._allSuperclasses())._inject_into_(_st(self)._selectors(),(function(soFar,aBehavior){
+$1=_st(self._allSuperclasses())._inject_into_(self._selectors(),(function(soFar,aBehavior){
 return smalltalk.withContext(function($ctx2) {
 $2=soFar;
 _st($2)._addAll_(_st(aBehavior)._selectors());
@@ -121,8 +121,8 @@ var self=this;
 var result;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-result=_st(self)._subclasses();
-_st(_st(self)._subclasses())._do_((function(each){
+result=self._subclasses();
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(result)._addAll_(_st(each)._allSubclasses());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -143,7 +143,7 @@ category: 'enumerating',
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._subclasses())._do_((function(each){
+_st(self._subclasses())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 _st(aBlock)._value_(each);
 return _st(each)._allSubclassesDo_(aBlock);
@@ -165,15 +165,15 @@ var self=this;
 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$4,$5,$3;
-$1=_st(self)._superclass();
+$1=self._superclass();
 if(($receiver = $1) == nil || $receiver == undefined){
 $2=[];
 return $2;
 } else {
 $1;
 };
-$4=_st($OrderedCollection())._with_(_st(self)._superclass());
-_st($4)._addAll_(_st(_st(self)._superclass())._allSuperclasses());
+$4=_st($OrderedCollection())._with_(self._superclass());
+_st($4)._addAll_(_st(self._superclass())._allSuperclasses());
 $5=_st($4)._yourself();
 $3=$5;
 return $3;
@@ -244,12 +244,12 @@ fn: function (aSelector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(_st(self)._methodDictionary())._keys())._includes_(_st(aSelector)._asString()))._or_((function(){
+$1=_st(_st(_st(self._methodDictionary())._keys())._includes_(_st(aSelector)._asString()))._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(_st(self)._superclass())._notNil())._and_((function(){
+return _st(_st(self._superclass())._notNil())._and_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(_st(self)._superclass())._canUnderstand_(aSelector);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return _st(self._superclass())._canUnderstand_(aSelector);
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"canUnderstand:",{aSelector:aSelector},smalltalk.Behavior)})},
@@ -268,7 +268,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._basicAt_("comment");
+$2=self._basicAt_("comment");
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 } else {
@@ -293,7 +293,7 @@ function $ClassCommentChanged(){return smalltalk.ClassCommentChanged||(typeof Cl
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._basicAt_put_("comment",aString);
+self._basicAt_put_("comment",aString);
 $1=_st($ClassCommentChanged())._new();
 _st($1)._theClass_(self);
 $2=_st($1)._yourself();
@@ -336,7 +336,7 @@ fn: function (aStamp,prior){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._commentStamp();
+$1=self._commentStamp();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"commentStamp:prior:",{aStamp:aStamp,prior:prior},smalltalk.Behavior)})},
 args: ["aStamp", "prior"],
@@ -354,7 +354,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._compile_category_(aString,"");
+$1=self._compile_category_(aString,"");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString},smalltalk.Behavior)})},
 args: ["aString"],
@@ -407,9 +407,9 @@ fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self).__eq_eq(aClass))._or_((function(){
+$1=_st(self.__eq_eq(aClass))._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._inheritsFrom_(aClass);
+return self._inheritsFrom_(aClass);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"includesBehavior:",{aClass:aClass},smalltalk.Behavior)})},
@@ -428,7 +428,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodDictionary())._includesKey_(aString);
+$1=_st(self._methodDictionary())._includesKey_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aString:aString},smalltalk.Behavior)})},
 args: ["aString"],
@@ -446,15 +446,15 @@ fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-$1=_st(self)._superclass();
+$1=self._superclass();
 if(($receiver = $1) == nil || $receiver == undefined){
 return false;
 } else {
 $1;
 };
-$2=_st(_st(aClass).__eq_eq(_st(self)._superclass()))._or_((function(){
+$2=_st(_st(aClass).__eq_eq(self._superclass()))._or_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._superclass())._inheritsFrom_(aClass);
+return _st(self._superclass())._inheritsFrom_(aClass);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"inheritsFrom:",{aClass:aClass},smalltalk.Behavior)})},
@@ -541,7 +541,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodDictionary())._at_(aString);
+$1=_st(self._methodDictionary())._at_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodAt:",{aString:aString},smalltalk.Behavior)})},
 args: ["aString"],
@@ -582,7 +582,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodDictionary())._values();
+$1=_st(self._methodDictionary())._values();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methods",{},smalltalk.Behavior)})},
 args: [],
@@ -622,7 +622,7 @@ fn: function (aString,aStamp){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._methodsFor_(aString);
+$1=self._methodsFor_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodsFor:stamp:",{aString:aString,aStamp:aStamp},smalltalk.Behavior)})},
 args: ["aString", "aStamp"],
@@ -640,7 +640,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._methodDictionary())._values())._select_((function(each){
+$1=_st(_st(self._methodDictionary())._values())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._protocol()).__eq(aString);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -677,7 +677,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._basicNew())._initialize();
+$1=_st(self._basicNew())._initialize();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Behavior)})},
 args: [],
@@ -695,7 +695,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("organization");
+$1=self._basicAt_("organization");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"organization",{},smalltalk.Behavior)})},
 args: [],
@@ -713,7 +713,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._organization())._elements())._sorted();
+$1=_st(_st(self._organization())._elements())._sorted();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocols",{},smalltalk.Behavior)})},
 args: [],
@@ -734,14 +734,14 @@ function $HashedCollection(){return smalltalk.HashedCollection||(typeof HashedCo
 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 methodsByCategory=_st($HashedCollection())._new();
-_st(_st(_st(self)._methodDictionary())._values())._do_((function(m){
+_st(_st(self._methodDictionary())._values())._do_((function(m){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(methodsByCategory)._at_ifAbsentPut_(_st(m)._category(),(function(){
 return smalltalk.withContext(function($ctx3) {
 return _st($Array())._new();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._add_(m);
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})})))._add_(m);
 }, function($ctx2) {$ctx2.fillBlock({m:m},$ctx1)})}));
-_st(_st(self)._protocols())._do_((function(category){
+_st(self._protocols())._do_((function(category){
 return smalltalk.withContext(function($ctx2) {
 return _st(aBlock)._value_value_(category,_st(methodsByCategory)._at_(category));
 }, function($ctx2) {$ctx2.fillBlock({category:category},$ctx1)})}));
@@ -779,13 +779,13 @@ function $MethodRemoved(){return smalltalk.MethodRemoved||(typeof MethodRemoved=
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._basicRemoveCompiledMethod_(aMethod);
-_st(_st(self)._methods())._detect_ifNone_((function(each){
+self._basicRemoveCompiledMethod_(aMethod);
+_st(self._methods())._detect_ifNone_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._protocol()).__eq(_st(aMethod)._protocol());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._organization())._removeElement_(_st(aMethod)._protocol());
+return _st(self._organization())._removeElement_(_st(aMethod)._protocol());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $1=_st($MethodRemoved())._new();
 _st($1)._method_(aMethod);
@@ -807,7 +807,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._methodDictionary())._keys();
+$1=_st(self._methodDictionary())._keys();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selectors",{},smalltalk.Behavior)})},
 args: [],
@@ -857,7 +857,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._class();
+$1=self._class();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theMetaClass",{},smalltalk.Behavior)})},
 args: [],
@@ -895,7 +895,7 @@ function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
 $2=_st($Array())._with_(self);
-_st($2)._addAll_(_st(self)._allSubclasses());
+_st($2)._addAll_(self._allSubclasses());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
@@ -919,7 +919,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st("smalltalk.").__comma(_st(self)._name());
+$1="smalltalk.".__comma(self._name());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asJavascript",{},smalltalk.Class)})},
 args: [],
@@ -937,11 +937,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._package();
+$2=self._package();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="Unclassified";
 } else {
-$1=_st(_st(self)._package())._name();
+$1=_st(self._package())._name();
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"category",{},smalltalk.Class)})},
@@ -964,23 +964,23 @@ var $2,$3,$4,$5,$1;
 $1=_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
 $2=stream;
-_st($2)._nextPutAll_(_st(_st(self)._superclass())._asString());
+_st($2)._nextPutAll_(_st(self._superclass())._asString());
 _st($2)._nextPutAll_(" subclass: #");
-_st($2)._nextPutAll_(_st(self)._name());
+_st($2)._nextPutAll_(self._name());
 _st($2)._nextPutAll_(_st(_st($String())._lf()).__comma(_st($String())._tab()));
 $3=_st($2)._nextPutAll_("instanceVariableNames: '");
 $3;
-_st(_st(self)._instanceVariableNames())._do_separatedBy_((function(each){
+_st(self._instanceVariableNames())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(stream)._nextPutAll_(each);
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(stream)._nextPutAll_(" ");
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 $4=stream;
-_st($4)._nextPutAll_(_st(_st("'").__comma(_st($String())._lf())).__comma(_st($String())._tab()));
+_st($4)._nextPutAll_(_st("'".__comma(_st($String())._lf())).__comma(_st($String())._tab()));
 _st($4)._nextPutAll_("package: '");
-_st($4)._nextPutAll_(_st(self)._category());
+_st($4)._nextPutAll_(self._category());
 $5=_st($4)._nextPutAll_("'");
 return $5;
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
@@ -1017,7 +1017,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("pkg");
+$1=self._basicAt_("pkg");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"package",{},smalltalk.Class)})},
 args: [],
@@ -1038,13 +1038,13 @@ function $ClassMoved(){return smalltalk.ClassMoved||(typeof ClassMoved=="undefin
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4;
-$1=_st(_st(self)._package()).__eq(aPackage);
+$1=_st(self._package()).__eq(aPackage);
 if(smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-oldPackage=_st(self)._package();
-_st(self)._basicAt_put_("pkg",aPackage);
+oldPackage=self._package();
+self._basicAt_put_("pkg",aPackage);
 _st(_st(oldPackage)._organization())._removeElement_(self);
 _st(_st(aPackage)._organization())._addElement_(self);
 $3=_st($ClassMoved())._new();
@@ -1067,7 +1067,7 @@ category: 'printing',
 fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(aStream)._nextPutAll_(_st(self)._name());
+_st(aStream)._nextPutAll_(self._name());
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Class)})},
 args: ["aStream"],
 source: "printOn: aStream\x0a\x09aStream nextPutAll: self name",
@@ -1101,7 +1101,7 @@ fn: function (aString,anotherString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._subclass_instanceVariableNames_package_(aString,anotherString,nil);
+$1=self._subclass_instanceVariableNames_package_(aString,anotherString,nil);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:",{aString:aString,anotherString:anotherString},smalltalk.Class)})},
 args: ["aString", "anotherString"],
@@ -1119,8 +1119,8 @@ fn: function (aString,aString2,aString3){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._deprecatedAPI();
-$1=_st(self)._subclass_instanceVariableNames_package_(aString,aString2,aString3);
+self._deprecatedAPI();
+$1=self._subclass_instanceVariableNames_package_(aString,aString2,aString3);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:category:",{aString:aString,aString2:aString2,aString3:aString3},smalltalk.Class)})},
 args: ["aString", "aString2", "aString3"],
@@ -1138,7 +1138,7 @@ fn: function (aString,aString2,classVars,pools,aString3){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._subclass_instanceVariableNames_package_(aString,aString2,aString3);
+$1=self._subclass_instanceVariableNames_package_(aString,aString2,aString3);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:",{aString:aString,aString2:aString2,classVars:classVars,pools:pools,aString3:aString3},smalltalk.Class)})},
 args: ["aString", "aString2", "classVars", "pools", "aString3"],
@@ -1179,7 +1179,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st("smalltalk.").__comma(_st(_st(self)._instanceClass())._name())).__comma(".klass");
+$1=_st("smalltalk.".__comma(_st(self._instanceClass())._name())).__comma(".klass");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asJavascript",{},smalltalk.Metaclass)})},
 args: [],
@@ -1201,16 +1201,16 @@ var $2,$3,$1;
 $1=_st($String())._streamContents_((function(stream){
 return smalltalk.withContext(function($ctx2) {
 $2=stream;
-_st($2)._nextPutAll_(_st(self)._asString());
+_st($2)._nextPutAll_(self._asString());
 $3=_st($2)._nextPutAll_(" instanceVariableNames: '");
 $3;
-_st(_st(self)._instanceVariableNames())._do_separatedBy_((function(each){
+_st(self._instanceVariableNames())._do_separatedBy_((function(each){
 return smalltalk.withContext(function($ctx3) {
 return _st(stream)._nextPutAll_(each);
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(stream)._nextPutAll_(" ");
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 return _st(stream)._nextPutAll_("'");
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
@@ -1280,7 +1280,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
 $1=aStream;
-_st($1)._nextPutAll_(_st(_st(self)._instanceClass())._name());
+_st($1)._nextPutAll_(_st(self._instanceClass())._name());
 $2=_st($1)._nextPutAll_(" class");
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Metaclass)})},
 args: ["aStream"],
@@ -1316,7 +1316,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._instanceClass();
+$1=self._instanceClass();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"theNonMetaClass",{},smalltalk.Metaclass)})},
 args: [],
@@ -1345,14 +1345,14 @@ $1=theClass;
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(theClass)._package_(_st(self)._createPackageNamed_(packageName));
+_st(theClass)._package_(self._createPackageNamed_(packageName));
 $2=_st(_st(theClass)._superclass()).__eq_eq(aClass);
 if(! smalltalk.assert($2)){
-$3=_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(className,aClass,aCollection,packageName);
+$3=self._migrateClassNamed_superclass_instanceVariableNames_package_(className,aClass,aCollection,packageName);
 return $3;
 };
 };
-$4=_st(self)._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,className,aCollection,packageName);
+$4=self._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,className,aCollection,packageName);
 return $4;
 }, function($ctx1) {$ctx1.fill(self,"addSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,className:className,aCollection:aCollection,packageName:packageName,theClass:theClass},smalltalk.ClassBuilder)})},
 args: ["aClass", "className", "aCollection", "packageName"],
@@ -1388,7 +1388,7 @@ category: 'private',
 fn: function (aClass,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._basicClass_instanceVariables_(aClass,_st(self)._instanceVariableNamesFor_(aString));
+self._basicClass_instanceVariables_(aClass,self._instanceVariableNamesFor_(aString));
 return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariableNames:",{aClass:aClass,aString:aString},smalltalk.ClassBuilder)})},
 args: ["aClass", "aString"],
 source: "basicClass: aClass instanceVariableNames: aString\x0a\x09self basicClass: aClass instanceVariables: (self instanceVariableNamesFor: aString)",
@@ -1407,7 +1407,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=_st(aClass)._isMetaclass();
 if(! smalltalk.assert($1)){
-_st(self)._error_(_st(_st(aClass)._name()).__comma(" is not a metaclass"));
+self._error_(_st(_st(aClass)._name()).__comma(" is not a metaclass"));
 };
 _st(aClass)._basicAt_put_("iVarNames",aCollection);
 return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariables:",{aClass:aClass,aCollection:aCollection},smalltalk.ClassBuilder)})},
@@ -1484,8 +1484,8 @@ function $ClassDefinitionChanged(){return smalltalk.ClassDefinitionChanged||(typ
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._basicClass_instanceVariableNames_(aClass,ivarNames);
-_st(self)._setupClass_(aClass);
+self._basicClass_instanceVariableNames_(aClass,ivarNames);
+self._setupClass_(aClass);
 $1=_st($ClassDefinitionChanged())._new();
 _st($1)._theClass_(aClass);
 $2=_st($1)._yourself();
@@ -1509,8 +1509,8 @@ function $ClassAdded(){return smalltalk.ClassAdded||(typeof ClassAdded=="undefin
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(_st(aClass)._superclass(),className,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
-_st(self)._copyClass_to_(aClass,newClass);
+newClass=self._addSubclassOf_named_instanceVariableNames_package_(_st(aClass)._superclass(),className,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
+self._copyClass_to_(aClass,newClass);
 $1=_st($ClassAdded())._new();
 _st($1)._theClass_(newClass);
 $2=_st($1)._yourself();
@@ -1538,12 +1538,12 @@ _st(_st(_st(aClass)._methodDictionary())._values())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st($Compiler())._new())._install_forClass_category_(_st(each)._source(),anotherClass,_st(each)._category());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-_st(self)._basicClass_instanceVariables_(_st(anotherClass)._class(),_st(_st(aClass)._class())._instanceVariableNames());
+self._basicClass_instanceVariables_(_st(anotherClass)._class(),_st(_st(aClass)._class())._instanceVariableNames());
 _st(_st(_st(_st(aClass)._class())._methodDictionary())._values())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st($Compiler())._new())._install_forClass_category_(_st(each)._source(),_st(anotherClass)._class(),_st(each)._category());
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-_st(self)._setupClass_(anotherClass);
+self._setupClass_(anotherClass);
 return self}, function($ctx1) {$ctx1.fill(self,"copyClass:to:",{aClass:aClass,anotherClass:anotherClass},smalltalk.ClassBuilder)})},
 args: ["aClass", "anotherClass"],
 source: "copyClass: aClass to: anotherClass\x0a\x0a\x09anotherClass comment: aClass comment.\x0a\x0a\x09aClass methodDictionary values do: [ :each |\x0a\x09\x09Compiler new install: each source forClass: anotherClass category: each category ].\x0a\x0a\x09self basicClass: anotherClass class instanceVariables: aClass class instanceVariableNames.\x0a\x0a\x09aClass class methodDictionary values do: [ :each |\x0a\x09\x09Compiler new install: each source forClass: anotherClass class category: each category ].\x0a\x0a\x09self setupClass: anotherClass",
@@ -1585,7 +1585,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 _st(aCompiledMethod)._category_(aString);
 _st(aBehavior)._addCompiledMethod_(aCompiledMethod);
-_st(self)._setupClass_(aBehavior);
+self._setupClass_(aBehavior);
 $1=aCompiledMethod;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"installMethod:forClass:category:",{aCompiledMethod:aCompiledMethod,aBehavior:aBehavior,aString:aString},smalltalk.ClassBuilder)})},
@@ -1625,7 +1625,7 @@ fn: function (aClass,anotherClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(_st(aClass)._name(),anotherClass,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
+$1=self._migrateClassNamed_superclass_instanceVariableNames_package_(_st(aClass)._name(),anotherClass,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"migrateClass:superclass:",{aClass:aClass,anotherClass:anotherClass},smalltalk.ClassBuilder)})},
 args: ["aClass", "anotherClass"],
@@ -1648,13 +1648,13 @@ function $ClassMigrated(){return smalltalk.ClassMigrated||(typeof ClassMigrated=
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3,$4,$5,$6,$7;
-tmp=_st("new*").__comma(className);
+tmp="new*".__comma(className);
 oldClass=_st(_st($Smalltalk())._current())._at_(className);
-newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(aClass,tmp,aCollection,packageName);
-_st(self)._basicSwapClassNames_with_(oldClass,newClass);
+newClass=self._addSubclassOf_named_instanceVariableNames_package_(aClass,tmp,aCollection,packageName);
+self._basicSwapClassNames_with_(oldClass,newClass);
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._copyClass_to_(oldClass,newClass);
+return self._copyClass_to_(oldClass,newClass);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(exception){
 return smalltalk.withContext(function($ctx2) {
 $1=self;
@@ -1668,9 +1668,9 @@ _st($3)._rawRenameClass_to_(oldClass,tmp);
 $4=_st($3)._rawRenameClass_to_(newClass,className);
 _st(_st(oldClass)._subclasses())._do_displayingProgress_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._migrateClass_superclass_(each,newClass);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),_st(_st("Recompiling ").__comma(_st(newClass)._name())).__comma("..."));
-_st(self)._basicRemoveClass_(oldClass);
+return self._migrateClass_superclass_(each,newClass);
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),_st("Recompiling ".__comma(_st(newClass)._name())).__comma("..."));
+self._basicRemoveClass_(oldClass);
 $5=_st($ClassMigrated())._new();
 _st($5)._theClass_(newClass);
 _st($5)._oldClass_(oldClass);
@@ -1714,7 +1714,7 @@ function $ClassRenamed(){return smalltalk.ClassRenamed||(typeof ClassRenamed=="u
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-_st(self)._basicRenameClass_to_(aClass,className);
+self._basicRenameClass_to_(aClass,className);
 $1=_st($ClassRenamed())._new();
 _st($1)._theClass_(aClass);
 $2=_st($1)._yourself();
@@ -1751,7 +1751,7 @@ fn: function (aClass,className){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._superclass_subclass_instanceVariableNames_package_(aClass,className,"",nil);
+$1=self._superclass_subclass_instanceVariableNames_package_(aClass,className,"",nil);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"superclass:subclass:",{aClass:aClass,className:className},smalltalk.ClassBuilder)})},
 args: ["aClass", "className"],
@@ -1775,7 +1775,7 @@ var $1,$2,$3,$4,$6,$5,$7,$8,$9;
 $1=self;
 $2=aClass;
 $3=className;
-$4=_st(self)._instanceVariableNamesFor_(ivarNames);
+$4=self._instanceVariableNamesFor_(ivarNames);
 $6=packageName;
 if(($receiver = $6) == nil || $receiver == undefined){
 $5="unclassified";
@@ -1783,7 +1783,7 @@ $5="unclassified";
 $5=$6;
 };
 newClass=_st($1)._addSubclassOf_named_instanceVariableNames_package_($2,$3,$4,$5);
-_st(self)._setupClass_(newClass);
+self._setupClass_(newClass);
 $7=_st($ClassAdded())._new();
 _st($7)._theClass_(newClass);
 $8=_st($7)._yourself();
@@ -1868,7 +1868,7 @@ chunk;
 return _st(chunk)._isEmpty();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._compileMethod_(chunk);
+return self._compileMethod_(chunk);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st($ClassBuilder())._new())._setupClass_(self["@class"]);
 return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},smalltalk.ClassCategoryReader)})},
@@ -1927,7 +1927,7 @@ var $1;
 chunk=_st(aChunkParser)._nextChunk();
 $1=_st(chunk)._isEmpty();
 if(! smalltalk.assert($1)){
-_st(self)._setComment_(chunk);
+self._setComment_(chunk);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},smalltalk.ClassCommentReader)})},
 args: ["aChunkParser"],
@@ -1971,7 +1971,7 @@ children=[];
 others=[];
 _st(aCollection)._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
-$1=_st(_st(each)._superclass()).__eq(_st(self)._theClass());
+$1=_st(_st(each)._superclass()).__eq(self._theClass());
 if(smalltalk.assert($1)){
 return _st(children)._add_(each);
 } else {
@@ -1980,7 +1980,7 @@ return _st(others)._add_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 self["@nodes"]=_st(children)._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st($ClassSorterNode())._on_classes_level_(each,others,_st(_st(self)._level()).__plus((1)));
+return _st($ClassSorterNode())._on_classes_level_(each,others,_st(self._level()).__plus((1)));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"getNodesFrom:",{aCollection:aCollection,children:children,others:others},smalltalk.ClassSorterNode)})},
 args: ["aCollection"],
@@ -2083,8 +2083,8 @@ category: 'visiting',
 fn: function (aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(aCollection)._add_(_st(self)._theClass());
-_st(_st(_st(self)._nodes())._sorted_((function(a,b){
+_st(aCollection)._add_(self._theClass());
+_st(_st(self._nodes())._sorted_((function(a,b){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(_st(a)._theClass())._name()).__lt_eq(_st(_st(b)._theClass())._name());
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(aNode){
@@ -2108,7 +2108,7 @@ fn: function (aClass,aCollection,anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._theClass_(aClass);
 _st($2)._level_(anInteger);
 _st($2)._getNodesFrom_(aCollection);

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


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


+ 17 - 17
js/Kernel-Exceptions.deploy.js

@@ -17,7 +17,7 @@ selector: "initialize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._messageText_(_st("Errorclass: ").__comma(_st(_st(self)._class())._name()));
+self._messageText_("Errorclass: ".__comma(_st(self._class())._name()));
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Error)})},
 messageSends: ["messageText:", ",", "name", "class"]}),
 smalltalk.Error);
@@ -96,8 +96,8 @@ selector: "signal:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._messageText_(aString);
-_st(self)._signal();
+self._messageText_(aString);
+self._signal();
 return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error)})},
 messageSends: ["messageText:", "signal"]}),
 smalltalk.Error);
@@ -121,7 +121,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._signal();
+$1=_st(self._new())._signal();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error.klass)})},
 messageSends: ["signal", "new"]}),
@@ -134,7 +134,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._signal_(aString);
+$1=_st(self._new())._signal_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error.klass)})},
 messageSends: ["signal:", "new"]}),
@@ -196,7 +196,7 @@ fn: function (anException){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._exception_(anException);
 $3=_st($2)._yourself();
 $1=$3;
@@ -212,7 +212,7 @@ fn: function (anException,aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._exception_(anException);
 _st($2)._context_(aMethodContext);
 $3=_st($2)._yourself();
@@ -255,7 +255,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(_st(self)._receiver())._asString()).__comma(" does not understand #")).__comma(_st(_st(self)._message())._selector());
+$1=_st(_st(_st(self._receiver())._asString()).__comma(" does not understand #")).__comma(_st(self._message())._selector());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.MessageNotUnderstood)})},
 messageSends: [",", "selector", "message", "asString", "receiver"]}),
@@ -326,9 +326,9 @@ $1=_st(anError)._context();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._logErrorContext_(_st(anError)._context());
+self._logErrorContext_(_st(anError)._context());
 };
-_st(self)._logError_(anError);
+self._logError_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.ErrorHandler)})},
 messageSends: ["ifNotNil:", "logErrorContext:", "context", "logError:"]}),
 smalltalk.ErrorHandler);
@@ -355,9 +355,9 @@ $1=_st(aContext)._home();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._logContext_(_st(aContext)._home());
+self._logContext_(_st(aContext)._home());
 };
-_st(self)._log_(_st(aContext)._asString());
+self._log_(_st(aContext)._asString());
 return self}, function($ctx1) {$ctx1.fill(self,"logContext:",{aContext:aContext},smalltalk.ErrorHandler)})},
 messageSends: ["ifNotNil:", "logContext:", "home", "log:", "asString"]}),
 smalltalk.ErrorHandler);
@@ -368,7 +368,7 @@ selector: "logError:",
 fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._log_(_st(anError)._messageText());
+self._log_(_st(anError)._messageText());
 return self}, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError},smalltalk.ErrorHandler)})},
 messageSends: ["log:", "messageText"]}),
 smalltalk.ErrorHandler);
@@ -388,7 +388,7 @@ $2=_st(aContext)._home();
 if(($receiver = $2) == nil || $receiver == undefined){
 $2;
 } else {
-_st(self)._logContext_(_st(aContext)._home());
+self._logContext_(_st(aContext)._home());
 };
 };
 return self}, function($ctx1) {$ctx1.fill(self,"logErrorContext:",{aContext:aContext},smalltalk.ErrorHandler)})},
@@ -406,7 +406,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@current"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@current"]=_st(self)._new();
+self["@current"]=self._new();
 $1=self["@current"];
 } else {
 $1=$2;
@@ -422,7 +422,7 @@ selector: "initialize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._register();
+self._register();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ErrorHandler.klass)})},
 messageSends: ["register"]}),
 smalltalk.ErrorHandler.klass);
@@ -434,7 +434,7 @@ 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());
+_st($ErrorHandler())._setCurrent_(self._new());
 return self}, function($ctx1) {$ctx1.fill(self,"register",{},smalltalk.ErrorHandler.klass)})},
 messageSends: ["setCurrent:", "new"]}),
 smalltalk.ErrorHandler.klass);

+ 17 - 17
js/Kernel-Exceptions.js

@@ -24,7 +24,7 @@ category: 'initialization',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._messageText_(_st("Errorclass: ").__comma(_st(_st(self)._class())._name()));
+self._messageText_("Errorclass: ".__comma(_st(self._class())._name()));
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.Error)})},
 args: [],
 source: "initialize\x0a\x09self messageText: 'Errorclass: ', (self class name).",
@@ -138,8 +138,8 @@ category: 'signaling',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._messageText_(aString);
-_st(self)._signal();
+self._messageText_(aString);
+self._signal();
 return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error)})},
 args: ["aString"],
 source: "signal: aString\x0a\x09self messageText: aString.\x0a\x09self signal",
@@ -173,7 +173,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._signal();
+$1=_st(self._new())._signal();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"signal",{},smalltalk.Error.klass)})},
 args: [],
@@ -191,7 +191,7 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._new())._signal_(aString);
+$1=_st(self._new())._signal_(aString);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},smalltalk.Error.klass)})},
 args: ["aString"],
@@ -279,7 +279,7 @@ fn: function (anException){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._exception_(anException);
 $3=_st($2)._yourself();
 $1=$3;
@@ -300,7 +300,7 @@ fn: function (anException,aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._exception_(anException);
 _st($2)._context_(aMethodContext);
 $3=_st($2)._yourself();
@@ -359,7 +359,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(_st(self)._receiver())._asString()).__comma(" does not understand #")).__comma(_st(_st(self)._message())._selector());
+$1=_st(_st(_st(self._receiver())._asString()).__comma(" does not understand #")).__comma(_st(self._message())._selector());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageText",{},smalltalk.MessageNotUnderstood)})},
 args: [],
@@ -457,9 +457,9 @@ $1=_st(anError)._context();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._logErrorContext_(_st(anError)._context());
+self._logErrorContext_(_st(anError)._context());
 };
-_st(self)._logError_(anError);
+self._logError_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},smalltalk.ErrorHandler)})},
 args: ["anError"],
 source: "handleError: anError\x0a\x09anError context ifNotNil: [self logErrorContext: anError context].\x0a\x09self logError: anError",
@@ -496,9 +496,9 @@ $1=_st(aContext)._home();
 if(($receiver = $1) == nil || $receiver == undefined){
 $1;
 } else {
-_st(self)._logContext_(_st(aContext)._home());
+self._logContext_(_st(aContext)._home());
 };
-_st(self)._log_(_st(aContext)._asString());
+self._log_(_st(aContext)._asString());
 return self}, function($ctx1) {$ctx1.fill(self,"logContext:",{aContext:aContext},smalltalk.ErrorHandler)})},
 args: ["aContext"],
 source: "logContext: aContext\x0a\x09aContext home ifNotNil: [\x0a\x09\x09self logContext: aContext home].\x0a\x09self log: aContext asString",
@@ -514,7 +514,7 @@ category: 'private',
 fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._log_(_st(anError)._messageText());
+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",
@@ -539,7 +539,7 @@ $2=_st(aContext)._home();
 if(($receiver = $2) == nil || $receiver == undefined){
 $2;
 } else {
-_st(self)._logContext_(_st(aContext)._home());
+self._logContext_(_st(aContext)._home());
 };
 };
 return self}, function($ctx1) {$ctx1.fill(self,"logErrorContext:",{aContext:aContext},smalltalk.ErrorHandler)})},
@@ -562,7 +562,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@current"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@current"]=_st(self)._new();
+self["@current"]=self._new();
 $1=self["@current"];
 } else {
 $1=$2;
@@ -583,7 +583,7 @@ category: 'initialization',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._register();
+self._register();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ErrorHandler.klass)})},
 args: [],
 source: "initialize\x0a\x09self register",
@@ -600,7 +600,7 @@ 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());
+_st($ErrorHandler())._setCurrent_(self._new());
 return self}, function($ctx1) {$ctx1.fill(self,"register",{},smalltalk.ErrorHandler.klass)})},
 args: [],
 source: "register\x0a\x09ErrorHandler setCurrent: self new",

+ 62 - 64
js/Kernel-Methods.deploy.js

@@ -91,7 +91,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newWithValues_([anObject]);
+$1=self._newWithValues_([anObject]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newValue:",{anObject:anObject},smalltalk.BlockClosure)})},
 messageSends: ["newWithValues:"]}),
@@ -104,7 +104,7 @@ fn: function (anObject,anObject2){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newWithValues_([anObject,anObject2]);
+$1=self._newWithValues_([anObject,anObject2]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newValue:value:",{anObject:anObject,anObject2:anObject2},smalltalk.BlockClosure)})},
 messageSends: ["newWithValues:"]}),
@@ -117,7 +117,7 @@ fn: function (anObject,anObject2,anObject3){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newWithValues_([anObject,anObject2,anObject3]);
+$1=self._newWithValues_([anObject,anObject2,anObject3]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newValue:value:value:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3},smalltalk.BlockClosure)})},
 messageSends: ["newWithValues:"]}),
@@ -158,7 +158,7 @@ var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$1=_st(self)._try_catch_(self,(function(error){
+$1=self._try_catch_(self,(function(error){
 var smalltalkError;
 return smalltalk.withContext(function($ctx2) {
 smalltalkError=_st(_st($Smalltalk())._current())._asSmalltalkException_(error);
@@ -289,7 +289,7 @@ selector: "whileFalse",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._whileFalse_((function(){
+self._whileFalse_((function(){
 return smalltalk.withContext(function($ctx2) {
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse",{},smalltalk.BlockClosure)})},
@@ -313,7 +313,7 @@ selector: "whileTrue",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._whileTrue_((function(){
+self._whileTrue_((function(){
 return smalltalk.withContext(function($ctx2) {
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue",{},smalltalk.BlockClosure)})},
@@ -352,9 +352,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._basicAt_("category");
+$2=self._basicAt_("category");
 if(($receiver = $2) == nil || $receiver == undefined){
-$1=_st(self)._defaultCategory();
+$1=self._defaultCategory();
 } else {
 $1=$2;
 };
@@ -373,24 +373,24 @@ function $MethodMoved(){return smalltalk.MethodMoved||(typeof MethodMoved=="unde
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-oldProtocol=_st(self)._protocol();
-_st(self)._basicAt_put_("category",aString);
+oldProtocol=self._protocol();
+self._basicAt_put_("category",aString);
 $1=_st($MethodMoved())._new();
 _st($1)._method_(self);
 _st($1)._oldProtocol_(oldProtocol);
 $2=_st($1)._yourself();
 _st(_st($SystemAnnouncer())._current())._announce_($2);
-$3=_st(self)._methodClass();
+$3=self._methodClass();
 if(($receiver = $3) == nil || $receiver == undefined){
 $3;
 } else {
-_st(_st(_st(self)._methodClass())._organization())._addElement_(aString);
-_st(_st(_st(_st(self)._methodClass())._methods())._select_((function(each){
+_st(_st(self._methodClass())._organization())._addElement_(aString);
+_st(_st(_st(self._methodClass())._methods())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._protocol()).__eq(oldProtocol);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._ifEmpty_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(_st(self)._methodClass())._organization())._removeElement_(oldProtocol);
+return _st(_st(self._methodClass())._organization())._removeElement_(oldProtocol);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 };
 return self}, function($ctx1) {$ctx1.fill(self,"category:",{aString:aString,oldProtocol:oldProtocol},smalltalk.CompiledMethod)})},
@@ -415,7 +415,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("fn");
+$1=self._basicAt_("fn");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"fn",{},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:"]}),
@@ -427,7 +427,7 @@ selector: "fn:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._basicAt_put_("fn",aBlock);
+self._basicAt_put_("fn",aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"fn:",{aBlock:aBlock},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
@@ -453,8 +453,8 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 var $early={};
 try {
-selector=_st(self)._selector();
-_st(_st(self)._methodClass())._allSubclassesDo_((function(each){
+selector=self._selector();
+_st(self._methodClass())._allSubclassesDo_((function(each){
 return smalltalk.withContext(function($ctx2) {
 $1=_st(each)._includesSelector_(selector);
 if(smalltalk.assert($1)){
@@ -476,14 +476,14 @@ var self=this;
 var superclass;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-superclass=_st(_st(self)._methodClass())._superclass();
+superclass=_st(self._methodClass())._superclass();
 $1=superclass;
 if(($receiver = $1) == nil || $receiver == undefined){
 return false;
 } else {
 $1;
 };
-$2=_st(_st(_st(_st(self)._methodClass())._superclass())._lookupSelector_(_st(self)._selector()))._notNil();
+$2=_st(_st(_st(self._methodClass())._superclass())._lookupSelector_(self._selector()))._notNil();
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"isOverride",{superclass:superclass},smalltalk.CompiledMethod)})},
 messageSends: ["superclass", "methodClass", "ifNil:", "notNil", "lookupSelector:", "selector"]}),
@@ -496,7 +496,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("messageSends");
+$1=self._basicAt_("messageSends");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:"]}),
@@ -509,7 +509,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("methodClass");
+$1=self._basicAt_("methodClass");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodClass",{},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:"]}),
@@ -522,7 +522,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._category();
+$1=self._category();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.CompiledMethod)})},
 messageSends: ["category"]}),
@@ -534,7 +534,7 @@ selector: "protocol:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._category_(aString);
+self._category_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"protocol:",{aString:aString},smalltalk.CompiledMethod)})},
 messageSends: ["category:"]}),
 smalltalk.CompiledMethod);
@@ -546,7 +546,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("referencedClasses");
+$1=self._basicAt_("referencedClasses");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"referencedClasses",{},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:"]}),
@@ -559,7 +559,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("selector");
+$1=self._basicAt_("selector");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:"]}),
@@ -571,7 +571,7 @@ selector: "selector:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._basicAt_put_("selector",aString);
+self._basicAt_put_("selector",aString);
 return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
@@ -583,7 +583,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._basicAt_("source");
+$2=self._basicAt_("source");
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 } else {
@@ -600,7 +600,7 @@ selector: "source:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._basicAt_put_("source",aString);
+self._basicAt_put_("source",aString);
 return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString},smalltalk.CompiledMethod)})},
 messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
@@ -627,7 +627,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._defaultMaxPoolSize();
+$1=_st(self._class())._defaultMaxPoolSize();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool)})},
 messageSends: ["defaultMaxPoolSize", "class"]}),
@@ -640,9 +640,9 @@ fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self["@poolSize"]).__lt(_st(self)._maxPoolSize());
+$1=_st(self["@poolSize"]).__lt(self._maxPoolSize());
 if(smalltalk.assert($1)){
-_st(self)._addWorker();
+self._addWorker();
 };
 _st(self["@queue"])._nextPut_(aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"fork:",{aBlock:aBlock},smalltalk.ForkPool)})},
@@ -659,7 +659,7 @@ 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();
+self["@worker"]=self._makeWorker();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ForkPool)})},
 messageSends: ["initialize", "new", "makeWorker"]}),
 smalltalk.ForkPool);
@@ -682,17 +682,17 @@ self["@poolSize"];
 block=_st(self["@queue"])._nextIfAbsent_((function(){
 return smalltalk.withContext(function($ctx3) {
 return sentinel;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 block;
 $2=_st(block).__eq_eq(sentinel);
 if(! smalltalk.assert($2)){
 return _st((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(block)._value();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._ensure_((function(){
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}))._ensure_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._addWorker();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return self._addWorker();
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 };
 }, function($ctx2) {$ctx2.fillBlock({block:block},$ctx1)})});
 return $1;
@@ -709,7 +709,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@maxPoolSize"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$1=_st(self)._defaultMaxPoolSize();
+$1=self._defaultMaxPoolSize();
 } else {
 $1=$2;
 };
@@ -740,7 +740,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@default"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@default"]=_st(self)._new();
+self["@default"]=self._new();
 $1=self["@default"];
 } else {
 $1=$2;
@@ -756,9 +756,7 @@ selector: "defaultMaxPoolSize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(100);
-return $1;
+return (100);
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool.klass)})},
 messageSends: []}),
 smalltalk.ForkPool.klass);
@@ -810,7 +808,7 @@ var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 _st($1)._nextPutAll_("(");
-_st($1)._nextPutAll_(_st(self)._selector());
+_st($1)._nextPutAll_(self._selector());
 $2=_st($1)._nextPutAll_(")");
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Message)})},
 messageSends: ["printOn:", "nextPutAll:", "selector"]}),
@@ -847,7 +845,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(anObject)._perform_withArguments_(_st(self)._selector(),_st(self)._arguments());
+$1=_st(anObject)._perform_withArguments_(self._selector(),self._arguments());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"sendTo:",{anObject:anObject},smalltalk.Message)})},
 messageSends: ["perform:withArguments:", "selector", "arguments"]}),
@@ -861,7 +859,7 @@ fn: function (aString,anArray){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._selector_(aString);
 _st($2)._arguments_(anArray);
 $3=_st($2)._yourself();
@@ -920,9 +918,9 @@ var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 _st($1)._nextPutAll_("(");
-_st($1)._nextPutAll_(_st(self)._receiver());
+_st($1)._nextPutAll_(self._receiver());
 _st($1)._nextPutAll_(" >> ");
-_st($1)._nextPutAll_(_st(self)._selector());
+_st($1)._nextPutAll_(self._selector());
 $2=_st($1)._nextPutAll_(")");
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.MessageSend)})},
 messageSends: ["printOn:", "nextPutAll:", "receiver", "selector"]}),
@@ -983,7 +981,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self["@message"])._sendTo_(_st(self)._receiver());
+$1=_st(self["@message"])._sendTo_(self._receiver());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.MessageSend)})},
 messageSends: ["sendTo:", "receiver"]}),
@@ -998,7 +996,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$1;
 $2=self["@message"];
 _st($2)._arguments_([anObject]);
-$3=_st($2)._sendTo_(_st(self)._receiver());
+$3=_st($2)._sendTo_(self._receiver());
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},smalltalk.MessageSend)})},
@@ -1014,7 +1012,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$1;
 $2=self["@message"];
 _st($2)._arguments_([firstArgument,secondArgument]);
-$3=_st($2)._sendTo_(_st(self)._receiver());
+$3=_st($2)._sendTo_(self._receiver());
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value:value:",{firstArgument:firstArgument,secondArgument:secondArgument},smalltalk.MessageSend)})},
@@ -1030,7 +1028,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$1;
 $2=self["@message"];
 _st($2)._arguments_([firstArgument,secondArgument,thirdArgument]);
-$3=_st($2)._sendTo_(_st(self)._receiver());
+$3=_st($2)._sendTo_(self._receiver());
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value:value:value:",{firstArgument:firstArgument,secondArgument:secondArgument,thirdArgument:thirdArgument},smalltalk.MessageSend)})},
@@ -1044,8 +1042,8 @@ fn: function (aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._arguments_(aCollection);
-$1=_st(self)._value();
+self._arguments_(aCollection);
+$1=self._value();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection},smalltalk.MessageSend)})},
 messageSends: ["arguments:", "value"]}),
@@ -1061,11 +1059,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._isBlockContext();
+$2=self._isBlockContext();
 if(smalltalk.assert($2)){
-$1=_st(_st("a block (in ").__comma(_st(_st(self)._methodContext())._asString())).__comma(")");
+$1=_st("a block (in ".__comma(_st(self._methodContext())._asString())).__comma(")");
 } else {
-$1=_st(_st(_st(_st(_st(self)._receiver())._class())._name()).__comma(" >> ")).__comma(_st(self)._selector());
+$1=_st(_st(_st(_st(self._receiver())._class())._name()).__comma(" >> ")).__comma(self._selector());
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asString",{},smalltalk.MethodContext)})},
@@ -1090,7 +1088,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._selector())._isNil();
+$1=_st(self._selector())._isNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockContext",{},smalltalk.MethodContext)})},
 messageSends: ["isNil", "selector"]}),
@@ -1114,11 +1112,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._methodContext();
+$2=self._methodContext();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 } else {
-$1=_st(_st(_st(_st(self)._methodContext())._receiver())._class())._lookupSelector_(_st(_st(self)._methodContext())._selector());
+$1=_st(_st(_st(self._methodContext())._receiver())._class())._lookupSelector_(_st(self._methodContext())._selector());
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodContext)})},
@@ -1132,12 +1130,12 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$4,$3;
-$1=_st(self)._isBlockContext();
+$1=self._isBlockContext();
 if(! smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-$4=_st(self)._home();
+$4=self._home();
 if(($receiver = $4) == nil || $receiver == undefined){
 $3=$4;
 } else {
@@ -1182,7 +1180,7 @@ var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 _st($1)._nextPutAll_("(");
-_st($1)._nextPutAll_(_st(self)._asString());
+_st($1)._nextPutAll_(self._asString());
 $2=_st($1)._nextPutAll_(")");
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.MethodContext)})},
 messageSends: ["printOn:", "nextPutAll:", "asString"]}),
@@ -1223,8 +1221,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._deprecatedAPI();
-$1=_st(self)._locals();
+self._deprecatedAPI();
+$1=self._locals();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"temps",{},smalltalk.MethodContext)})},
 messageSends: ["deprecatedAPI", "locals"]}),

+ 62 - 64
js/Kernel-Methods.js

@@ -128,7 +128,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newWithValues_([anObject]);
+$1=self._newWithValues_([anObject]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newValue:",{anObject:anObject},smalltalk.BlockClosure)})},
 args: ["anObject"],
@@ -146,7 +146,7 @@ fn: function (anObject,anObject2){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newWithValues_([anObject,anObject2]);
+$1=self._newWithValues_([anObject,anObject2]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newValue:value:",{anObject:anObject,anObject2:anObject2},smalltalk.BlockClosure)})},
 args: ["anObject", "anObject2"],
@@ -164,7 +164,7 @@ fn: function (anObject,anObject2,anObject3){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._newWithValues_([anObject,anObject2,anObject3]);
+$1=self._newWithValues_([anObject,anObject2,anObject3]);
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"newValue:value:value:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3},smalltalk.BlockClosure)})},
 args: ["anObject", "anObject2", "anObject3"],
@@ -220,7 +220,7 @@ var self=this;
 function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$1=_st(self)._try_catch_(self,(function(error){
+$1=self._try_catch_(self,(function(error){
 var smalltalkError;
 return smalltalk.withContext(function($ctx2) {
 smalltalkError=_st(_st($Smalltalk())._current())._asSmalltalkException_(error);
@@ -401,7 +401,7 @@ category: 'controlling',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._whileFalse_((function(){
+self._whileFalse_((function(){
 return smalltalk.withContext(function($ctx2) {
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"whileFalse",{},smalltalk.BlockClosure)})},
@@ -435,7 +435,7 @@ category: 'controlling',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._whileTrue_((function(){
+self._whileTrue_((function(){
 return smalltalk.withContext(function($ctx2) {
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"whileTrue",{},smalltalk.BlockClosure)})},
@@ -490,9 +490,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._basicAt_("category");
+$2=self._basicAt_("category");
 if(($receiver = $2) == nil || $receiver == undefined){
-$1=_st(self)._defaultCategory();
+$1=self._defaultCategory();
 } else {
 $1=$2;
 };
@@ -516,24 +516,24 @@ function $MethodMoved(){return smalltalk.MethodMoved||(typeof MethodMoved=="unde
 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-oldProtocol=_st(self)._protocol();
-_st(self)._basicAt_put_("category",aString);
+oldProtocol=self._protocol();
+self._basicAt_put_("category",aString);
 $1=_st($MethodMoved())._new();
 _st($1)._method_(self);
 _st($1)._oldProtocol_(oldProtocol);
 $2=_st($1)._yourself();
 _st(_st($SystemAnnouncer())._current())._announce_($2);
-$3=_st(self)._methodClass();
+$3=self._methodClass();
 if(($receiver = $3) == nil || $receiver == undefined){
 $3;
 } else {
-_st(_st(_st(self)._methodClass())._organization())._addElement_(aString);
-_st(_st(_st(_st(self)._methodClass())._methods())._select_((function(each){
+_st(_st(self._methodClass())._organization())._addElement_(aString);
+_st(_st(_st(self._methodClass())._methods())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(_st(each)._protocol()).__eq(oldProtocol);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._ifEmpty_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(_st(self)._methodClass())._organization())._removeElement_(oldProtocol);
+return _st(_st(self._methodClass())._organization())._removeElement_(oldProtocol);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 };
 return self}, function($ctx1) {$ctx1.fill(self,"category:",{aString:aString,oldProtocol:oldProtocol},smalltalk.CompiledMethod)})},
@@ -568,7 +568,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("fn");
+$1=self._basicAt_("fn");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"fn",{},smalltalk.CompiledMethod)})},
 args: [],
@@ -585,7 +585,7 @@ category: 'accessing',
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._basicAt_put_("fn",aBlock);
+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",
@@ -621,8 +621,8 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 var $early={};
 try {
-selector=_st(self)._selector();
-_st(_st(self)._methodClass())._allSubclassesDo_((function(each){
+selector=self._selector();
+_st(self._methodClass())._allSubclassesDo_((function(each){
 return smalltalk.withContext(function($ctx2) {
 $1=_st(each)._includesSelector_(selector);
 if(smalltalk.assert($1)){
@@ -649,14 +649,14 @@ var self=this;
 var superclass;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-superclass=_st(_st(self)._methodClass())._superclass();
+superclass=_st(self._methodClass())._superclass();
 $1=superclass;
 if(($receiver = $1) == nil || $receiver == undefined){
 return false;
 } else {
 $1;
 };
-$2=_st(_st(_st(_st(self)._methodClass())._superclass())._lookupSelector_(_st(self)._selector()))._notNil();
+$2=_st(_st(_st(self._methodClass())._superclass())._lookupSelector_(self._selector()))._notNil();
 return $2;
 }, function($ctx1) {$ctx1.fill(self,"isOverride",{superclass:superclass},smalltalk.CompiledMethod)})},
 args: [],
@@ -674,7 +674,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("messageSends");
+$1=self._basicAt_("messageSends");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.CompiledMethod)})},
 args: [],
@@ -692,7 +692,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("methodClass");
+$1=self._basicAt_("methodClass");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"methodClass",{},smalltalk.CompiledMethod)})},
 args: [],
@@ -710,7 +710,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._category();
+$1=self._category();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"protocol",{},smalltalk.CompiledMethod)})},
 args: [],
@@ -727,7 +727,7 @@ category: 'accessing',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._category_(aString);
+self._category_(aString);
 return self}, function($ctx1) {$ctx1.fill(self,"protocol:",{aString:aString},smalltalk.CompiledMethod)})},
 args: ["aString"],
 source: "protocol: aString\x0a\x09self category: aString",
@@ -744,7 +744,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("referencedClasses");
+$1=self._basicAt_("referencedClasses");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"referencedClasses",{},smalltalk.CompiledMethod)})},
 args: [],
@@ -762,7 +762,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._basicAt_("selector");
+$1=self._basicAt_("selector");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.CompiledMethod)})},
 args: [],
@@ -779,7 +779,7 @@ category: 'accessing',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._basicAt_put_("selector",aString);
+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",
@@ -796,7 +796,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._basicAt_("source");
+$2=self._basicAt_("source");
 if(($receiver = $2) == nil || $receiver == undefined){
 $1="";
 } else {
@@ -818,7 +818,7 @@ category: 'accessing',
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._basicAt_put_("source",aString);
+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",
@@ -856,7 +856,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._class())._defaultMaxPoolSize();
+$1=_st(self._class())._defaultMaxPoolSize();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool)})},
 args: [],
@@ -874,9 +874,9 @@ fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self["@poolSize"]).__lt(_st(self)._maxPoolSize());
+$1=_st(self["@poolSize"]).__lt(self._maxPoolSize());
 if(smalltalk.assert($1)){
-_st(self)._addWorker();
+self._addWorker();
 };
 _st(self["@queue"])._nextPut_(aBlock);
 return self}, function($ctx1) {$ctx1.fill(self,"fork:",{aBlock:aBlock},smalltalk.ForkPool)})},
@@ -898,7 +898,7 @@ 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();
+self["@worker"]=self._makeWorker();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ForkPool)})},
 args: [],
 source: "initialize\x0a\x09super initialize.\x0a\x09\x0a\x09poolSize := 0.\x0a\x09queue := Queue new.\x0a\x09worker := self makeWorker",
@@ -926,17 +926,17 @@ self["@poolSize"];
 block=_st(self["@queue"])._nextIfAbsent_((function(){
 return smalltalk.withContext(function($ctx3) {
 return sentinel;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 block;
 $2=_st(block).__eq_eq(sentinel);
 if(! smalltalk.assert($2)){
 return _st((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(block)._value();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._ensure_((function(){
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}))._ensure_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._addWorker();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+return self._addWorker();
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 };
 }, function($ctx2) {$ctx2.fillBlock({block:block},$ctx1)})});
 return $1;
@@ -958,7 +958,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@maxPoolSize"];
 if(($receiver = $2) == nil || $receiver == undefined){
-$1=_st(self)._defaultMaxPoolSize();
+$1=self._defaultMaxPoolSize();
 } else {
 $1=$2;
 };
@@ -999,7 +999,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$1;
 $2=self["@default"];
 if(($receiver = $2) == nil || $receiver == undefined){
-self["@default"]=_st(self)._new();
+self["@default"]=self._new();
 $1=self["@default"];
 } else {
 $1=$2;
@@ -1020,9 +1020,7 @@ category: 'accessing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-var $1;
-$1=(100);
-return $1;
+return (100);
 }, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{},smalltalk.ForkPool.klass)})},
 args: [],
 source: "defaultMaxPoolSize\x0a\x09^100",
@@ -1095,7 +1093,7 @@ var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 _st($1)._nextPutAll_("(");
-_st($1)._nextPutAll_(_st(self)._selector());
+_st($1)._nextPutAll_(self._selector());
 $2=_st($1)._nextPutAll_(")");
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Message)})},
 args: ["aStream"],
@@ -1147,7 +1145,7 @@ fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(anObject)._perform_withArguments_(_st(self)._selector(),_st(self)._arguments());
+$1=_st(anObject)._perform_withArguments_(self._selector(),self._arguments());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"sendTo:",{anObject:anObject},smalltalk.Message)})},
 args: ["anObject"],
@@ -1166,7 +1164,7 @@ fn: function (aString,anArray){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._selector_(aString);
 _st($2)._arguments_(anArray);
 $3=_st($2)._yourself();
@@ -1246,9 +1244,9 @@ var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 _st($1)._nextPutAll_("(");
-_st($1)._nextPutAll_(_st(self)._receiver());
+_st($1)._nextPutAll_(self._receiver());
 _st($1)._nextPutAll_(" >> ");
-_st($1)._nextPutAll_(_st(self)._selector());
+_st($1)._nextPutAll_(self._selector());
 $2=_st($1)._nextPutAll_(")");
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.MessageSend)})},
 args: ["aStream"],
@@ -1334,7 +1332,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self["@message"])._sendTo_(_st(self)._receiver());
+$1=_st(self["@message"])._sendTo_(self._receiver());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.MessageSend)})},
 args: [],
@@ -1354,7 +1352,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$1;
 $2=self["@message"];
 _st($2)._arguments_([anObject]);
-$3=_st($2)._sendTo_(_st(self)._receiver());
+$3=_st($2)._sendTo_(self._receiver());
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},smalltalk.MessageSend)})},
@@ -1375,7 +1373,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$1;
 $2=self["@message"];
 _st($2)._arguments_([firstArgument,secondArgument]);
-$3=_st($2)._sendTo_(_st(self)._receiver());
+$3=_st($2)._sendTo_(self._receiver());
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value:value:",{firstArgument:firstArgument,secondArgument:secondArgument},smalltalk.MessageSend)})},
@@ -1396,7 +1394,7 @@ return smalltalk.withContext(function($ctx1) {
 var $2,$3,$1;
 $2=self["@message"];
 _st($2)._arguments_([firstArgument,secondArgument,thirdArgument]);
-$3=_st($2)._sendTo_(_st(self)._receiver());
+$3=_st($2)._sendTo_(self._receiver());
 $1=$3;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value:value:value:",{firstArgument:firstArgument,secondArgument:secondArgument,thirdArgument:thirdArgument},smalltalk.MessageSend)})},
@@ -1415,8 +1413,8 @@ fn: function (aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._arguments_(aCollection);
-$1=_st(self)._value();
+self._arguments_(aCollection);
+$1=self._value();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection},smalltalk.MessageSend)})},
 args: ["aCollection"],
@@ -1438,11 +1436,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._isBlockContext();
+$2=self._isBlockContext();
 if(smalltalk.assert($2)){
-$1=_st(_st("a block (in ").__comma(_st(_st(self)._methodContext())._asString())).__comma(")");
+$1=_st("a block (in ".__comma(_st(self._methodContext())._asString())).__comma(")");
 } else {
-$1=_st(_st(_st(_st(_st(self)._receiver())._class())._name()).__comma(" >> ")).__comma(_st(self)._selector());
+$1=_st(_st(_st(_st(self._receiver())._class())._name()).__comma(" >> ")).__comma(self._selector());
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asString",{},smalltalk.MethodContext)})},
@@ -1477,7 +1475,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._selector())._isNil();
+$1=_st(self._selector())._isNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isBlockContext",{},smalltalk.MethodContext)})},
 args: [],
@@ -1511,11 +1509,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(self)._methodContext();
+$2=self._methodContext();
 if(($receiver = $2) == nil || $receiver == undefined){
 $1=$2;
 } else {
-$1=_st(_st(_st(_st(self)._methodContext())._receiver())._class())._lookupSelector_(_st(_st(self)._methodContext())._selector());
+$1=_st(_st(_st(self._methodContext())._receiver())._class())._lookupSelector_(_st(self._methodContext())._selector());
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.MethodContext)})},
@@ -1534,12 +1532,12 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$4,$3;
-$1=_st(self)._isBlockContext();
+$1=self._isBlockContext();
 if(! smalltalk.assert($1)){
 $2=self;
 return $2;
 };
-$4=_st(self)._home();
+$4=self._home();
 if(($receiver = $4) == nil || $receiver == undefined){
 $3=$4;
 } else {
@@ -1599,7 +1597,7 @@ var $1,$2;
 smalltalk.Object.fn.prototype._printOn_.apply(_st(self), [aStream]);
 $1=aStream;
 _st($1)._nextPutAll_("(");
-_st($1)._nextPutAll_(_st(self)._asString());
+_st($1)._nextPutAll_(self._asString());
 $2=_st($1)._nextPutAll_(")");
 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.MethodContext)})},
 args: ["aStream"],
@@ -1655,8 +1653,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-_st(self)._deprecatedAPI();
-$1=_st(self)._locals();
+self._deprecatedAPI();
+$1=self._locals();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"temps",{},smalltalk.MethodContext)})},
 args: [],

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


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


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


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


+ 7 - 7
js/Kernel-Transcript.deploy.js

@@ -49,7 +49,7 @@ 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());
+_st($Transcript())._register_(self._new());
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ConsoleTranscript.klass)})},
 messageSends: ["register:", "new"]}),
 smalltalk.ConsoleTranscript.klass);
@@ -64,7 +64,7 @@ selector: "clear",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._current())._clear();
+_st(self._current())._clear();
 return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.Transcript.klass)})},
 messageSends: ["clear", "current"]}),
 smalltalk.Transcript.klass);
@@ -76,7 +76,7 @@ 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());
+_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);
@@ -100,7 +100,7 @@ selector: "inspect:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._show_(anObject);
+self._show_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},smalltalk.Transcript.klass)})},
 messageSends: ["show:"]}),
 smalltalk.Transcript.klass);
@@ -111,7 +111,7 @@ selector: "new",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldNotImplement();
+self._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Transcript.klass)})},
 messageSends: ["shouldNotImplement"]}),
 smalltalk.Transcript.klass);
@@ -122,7 +122,7 @@ selector: "open",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._current())._open();
+_st(self._current())._open();
 return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.Transcript.klass)})},
 messageSends: ["open", "current"]}),
 smalltalk.Transcript.klass);
@@ -144,7 +144,7 @@ selector: "show:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._current())._show_(anObject);
+_st(self._current())._show_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},smalltalk.Transcript.klass)})},
 messageSends: ["show:", "current"]}),
 smalltalk.Transcript.klass);

+ 7 - 7
js/Kernel-Transcript.js

@@ -71,7 +71,7 @@ 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());
+_st($Transcript())._register_(self._new());
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ConsoleTranscript.klass)})},
 args: [],
 source: "initialize\x0a\x09Transcript register: self new",
@@ -92,7 +92,7 @@ category: 'printing',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._current())._clear();
+_st(self._current())._clear();
 return self}, function($ctx1) {$ctx1.fill(self,"clear",{},smalltalk.Transcript.klass)})},
 args: [],
 source: "clear\x0a\x09self current clear",
@@ -109,7 +109,7 @@ 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());
+_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",
@@ -143,7 +143,7 @@ category: 'printing',
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._show_(anObject);
+self._show_(anObject);
 return self}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},smalltalk.Transcript.klass)})},
 args: ["anObject"],
 source: "inspect: anObject\x0a\x09self show: anObject",
@@ -159,7 +159,7 @@ category: 'instance creation',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldNotImplement();
+self._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Transcript.klass)})},
 args: [],
 source: "new\x0a\x09self shouldNotImplement",
@@ -175,7 +175,7 @@ category: 'instance creation',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._current())._open();
+_st(self._current())._open();
 return self}, function($ctx1) {$ctx1.fill(self,"open",{},smalltalk.Transcript.klass)})},
 args: [],
 source: "open\x0a\x09self current open",
@@ -207,7 +207,7 @@ category: 'printing',
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._current())._show_(anObject);
+_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",

+ 78 - 78
js/SUnit-Tests.deploy.js

@@ -20,7 +20,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@empty"])._add_((5));
-_st(self)._assert_(_st(self["@empty"])._includes_((5)));
+self._assert_(_st(self["@empty"])._includes_((5)));
 return self}, function($ctx1) {$ctx1.fill(self,"testAdd",{},smalltalk.ExampleSetTest)})},
 messageSends: ["add:", "assert:", "includes:"]}),
 smalltalk.ExampleSetTest);
@@ -31,8 +31,8 @@ selector: "testGrow",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self["@empty"])._addAll_(_st((1))._to_((100)));
-_st(self)._assert_equals_(_st(self["@empty"])._size(),(100));
+_st(self["@empty"])._addAll_((1)._to_((100)));
+self._assert_equals_(_st(self["@empty"])._size(),(100));
 return self}, function($ctx1) {$ctx1.fill(self,"testGrow",{},smalltalk.ExampleSetTest)})},
 messageSends: ["addAll:", "to:", "assert:equals:", "size"]}),
 smalltalk.ExampleSetTest);
@@ -44,11 +44,11 @@ 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(){
+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(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@empty"])._at_put_((5),"abc");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
@@ -62,8 +62,8 @@ selector: "testIncludes",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(self["@full"])._includes_((5)));
-_st(self)._assert_(_st(self["@full"])._includes_("abc"));
+self._assert_(_st(self["@full"])._includes_((5)));
+self._assert_(_st(self["@full"])._includes_("abc"));
 return self}, function($ctx1) {$ctx1.fill(self,"testIncludes",{},smalltalk.ExampleSetTest)})},
 messageSends: ["assert:", "includes:"]}),
 smalltalk.ExampleSetTest);
@@ -74,10 +74,10 @@ selector: "testOccurrences",
 fn: function (){
 var self=this;
 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));
+self._assert_equals_(_st(self["@empty"])._occurrencesOf_((0)),(0));
+self._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self["@full"])._add_((5));
-_st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
+self._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testOccurrences",{},smalltalk.ExampleSetTest)})},
 messageSends: ["assert:equals:", "occurrencesOf:", "add:"]}),
 smalltalk.ExampleSetTest);
@@ -89,8 +89,8 @@ fn: function (){
 var self=this;
 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)));
+self._assert_(_st(self["@full"])._includes_("abc"));
+self._deny_(_st(self["@full"])._includes_((5)));
 return self}, function($ctx1) {$ctx1.fill(self,"testRemove",{},smalltalk.ExampleSetTest)})},
 messageSends: ["remove:", "assert:", "includes:", "deny:"]}),
 smalltalk.ExampleSetTest);
@@ -105,12 +105,12 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((30));
-self["@flag"]=_st(_st(self)._async_((function(){
+self._timeout_((30));
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
 self["@flag"]="ok";
 self["@flag"];
-return _st(self)._error_("Intentional");
+return self._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeError",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "error:"]}),
@@ -123,10 +123,10 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((30));
-self["@flag"]=_st(_st(self)._async_((function(){
+self._timeout_((30));
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._error_("Intentional");
+return self._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeErrorFailingInTearDown",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "error:"]}),
@@ -139,12 +139,12 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((30));
-self["@flag"]=_st(_st(self)._async_((function(){
+self._timeout_((30));
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
 self["@flag"]="ok";
 self["@flag"];
-return _st(self)._assert_(false);
+return self._assert_(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeFailure",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "assert:"]}),
@@ -156,13 +156,13 @@ selector: "fakeMultipleTimeoutFailing",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._timeout_((100));
-_st(_st(self)._async_((function(){
+self._timeout_((100));
+_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._timeout_((20));
-return _st(_st(self)._async_((function(){
+self._timeout_((20));
+return _st(self._async_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2)})})))._valueWithTimeout_((30));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutFailing",{},smalltalk.SUnitAsyncTest)})},
@@ -175,13 +175,13 @@ selector: "fakeMultipleTimeoutPassing",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._timeout_((20));
-_st(_st(self)._async_((function(){
+self._timeout_((20));
+_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._timeout_((40));
-return _st(_st(self)._async_((function(){
+self._timeout_((40));
+return _st(self._async_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2)})})))._valueWithTimeout_((20));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutPassing",{},smalltalk.SUnitAsyncTest)})},
@@ -194,10 +194,10 @@ selector: "fakeTimeout",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._timeout_((10));
-_st(_st(self)._async_((function(){
+self._timeout_((10));
+_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "finished"]}),
@@ -236,7 +236,7 @@ selector: "tearDown",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_equals_("ok",self["@flag"]);
+self._assert_equals_("ok",self["@flag"]);
 return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["assert:equals:"]}),
 smalltalk.SUnitAsyncTest);
@@ -251,18 +251,18 @@ function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteR
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-suite=_st(["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"])._collect_((function(each){
+suite=["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"]._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._class())._selector_(each);
+return _st(self._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 runner=_st($TestSuiteRunner())._on_(suite);
-_st(self)._timeout_((200));
+self._timeout_((200));
 result=_st(runner)._result();
-assertBlock=_st(self)._async_((function(){
+assertBlock=self._async_((function(){
 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();
+self._assert_equals_(self._selectorSetOf_(_st(result)._errors()),["fakeError"]._asSet());
+self._assert_equals_(self._selectorSetOf_(_st(result)._failures()),["fakeErrorFailingInTearDown", "fakeFailure"]._asSet());
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
 return smalltalk.withContext(function($ctx2) {
@@ -284,20 +284,20 @@ 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(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._async_((function(){
+return self._async_((function(){
 return smalltalk.withContext(function($ctx3) {
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
-_st(self)._timeout_((0));
-_st(self)._shouldnt_raise_((function(){
+self._timeout_((0));
+self._shouldnt_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._async_((function(){
+return self._async_((function(){
 return smalltalk.withContext(function($ctx3) {
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
-_st(self)._finished();
+self._finished();
 return self}, function($ctx1) {$ctx1.fill(self,"testAsyncNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["should:raise:", "async:", "timeout:", "shouldnt:raise:", "finished"]}),
 smalltalk.SUnitAsyncTest);
@@ -309,14 +309,14 @@ 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(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
-_st(self)._timeout_((0));
-_st(self)._shouldnt_raise_((function(){
+self._timeout_((0));
+self._shouldnt_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._finished();
+return 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:"]}),
@@ -328,11 +328,11 @@ selector: "testIsAsyncReturnsCorrectValues",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._deny_(_st(self)._isAsync());
-_st(self)._timeout_((0));
-_st(self)._assert_(_st(self)._isAsync());
-_st(self)._finished();
-_st(self)._deny_(_st(self)._isAsync());
+self._deny_(self._isAsync());
+self._timeout_((0));
+self._assert_(self._isAsync());
+self._finished();
+self._deny_(self._isAsync());
 return self}, function($ctx1) {$ctx1.fill(self,"testIsAsyncReturnsCorrectValues",{},smalltalk.SUnitAsyncTest)})},
 messageSends: ["deny:", "isAsync", "timeout:", "assert:", "finished"]}),
 smalltalk.SUnitAsyncTest);
@@ -344,11 +344,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((10));
-self["@flag"]=_st(_st(self)._async_((function(){
+self._timeout_((10));
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._assert_(true);
-_st(self)._finished();
+self._assert_(true);
+self._finished();
 self["@flag"]="ok";
 return self["@flag"];
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
@@ -367,18 +367,18 @@ 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;
-suite=_st(["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"])._collect_((function(each){
+suite=["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"]._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._class())._selector_(each);
+return _st(self._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 runner=_st($TestSuiteRunner())._on_(suite);
-_st(self)._timeout_((200));
+self._timeout_((200));
 result=_st(runner)._result();
-assertBlock=_st(self)._async_((function(){
+assertBlock=self._async_((function(){
 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();
+self._assert_equals_(self._selectorSetOf_(_st(result)._errors()),_st($Set())._new());
+self._assert_equals_(self._selectorSetOf_(_st(result)._failures()),["fakeMultipleTimeoutFailing", "fakeTimeout"]._asSet());
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
 return smalltalk.withContext(function($ctx2) {
@@ -401,25 +401,25 @@ var self=this;
 var x;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((10));
+self._timeout_((10));
 x=(0);
-self["@flag"]=_st(_st(self)._async_((function(){
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._finished();
+self._finished();
 self["@flag"]="ok";
 self["@flag"];
 x=_st(x).__plus((1));
 x;
-return _st(self)._assert_equals_(x,(1));
+return self._assert_equals_(x,(1));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
-self["@flag"]=_st(_st(self)._async_((function(){
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._finished();
+self._finished();
 self["@flag"]="ok";
 self["@flag"];
 x=_st(x).__plus((1));
 x;
-return _st(self)._assert_equals_(x,(1));
+return self._assert_equals_(x,(1));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
 return self}, function($ctx1) {$ctx1.fill(self,"testTwoAsyncPassesWithFinishedOnlyOneIsRun",{x:x},smalltalk.SUnitAsyncTest)})},
 messageSends: ["timeout:", "valueWithTimeout:", "async:", "finished", "+", "assert:equals:"]}),

+ 78 - 78
js/SUnit-Tests.js

@@ -27,7 +27,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@empty"])._add_((5));
-_st(self)._assert_(_st(self["@empty"])._includes_((5)));
+self._assert_(_st(self["@empty"])._includes_((5)));
 return self}, function($ctx1) {$ctx1.fill(self,"testAdd",{},smalltalk.ExampleSetTest)})},
 args: [],
 source: "testAdd\x0a\x09empty add: 5.\x0a\x09self assert: (empty includes: 5)",
@@ -43,8 +43,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self["@empty"])._addAll_(_st((1))._to_((100)));
-_st(self)._assert_equals_(_st(self["@empty"])._size(),(100));
+_st(self["@empty"])._addAll_((1)._to_((100)));
+self._assert_equals_(_st(self["@empty"])._size(),(100));
 return self}, function($ctx1) {$ctx1.fill(self,"testGrow",{},smalltalk.ExampleSetTest)})},
 args: [],
 source: "testGrow\x0a\x09empty addAll: (1 to: 100).\x0a\x09self assert: empty size equals: 100",
@@ -61,11 +61,11 @@ 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(){
+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(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@empty"])._at_put_((5),"abc");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
@@ -84,8 +84,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(self["@full"])._includes_((5)));
-_st(self)._assert_(_st(self["@full"])._includes_("abc"));
+self._assert_(_st(self["@full"])._includes_((5)));
+self._assert_(_st(self["@full"])._includes_("abc"));
 return self}, function($ctx1) {$ctx1.fill(self,"testIncludes",{},smalltalk.ExampleSetTest)})},
 args: [],
 source: "testIncludes\x0a\x09self assert: (full includes: 5).\x0a\x09self assert: (full includes: #abc)",
@@ -101,10 +101,10 @@ category: 'tests',
 fn: function (){
 var self=this;
 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));
+self._assert_equals_(_st(self["@empty"])._occurrencesOf_((0)),(0));
+self._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self["@full"])._add_((5));
-_st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
+self._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 return self}, function($ctx1) {$ctx1.fill(self,"testOccurrences",{},smalltalk.ExampleSetTest)})},
 args: [],
 source: "testOccurrences\x0a\x09self assert: (empty occurrencesOf: 0) equals: 0.\x0a\x09self assert: (full occurrencesOf: 5) equals: 1.\x0a\x09full add: 5.\x0a\x09self assert: (full occurrencesOf: 5) equals: 1",
@@ -121,8 +121,8 @@ fn: function (){
 var self=this;
 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)));
+self._assert_(_st(self["@full"])._includes_("abc"));
+self._deny_(_st(self["@full"])._includes_((5)));
 return self}, function($ctx1) {$ctx1.fill(self,"testRemove",{},smalltalk.ExampleSetTest)})},
 args: [],
 source: "testRemove\x0a\x09full remove: 5.\x0a\x09self assert: (full includes: #abc).\x0a\x09self deny: (full includes: 5)",
@@ -142,12 +142,12 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((30));
-self["@flag"]=_st(_st(self)._async_((function(){
+self._timeout_((30));
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
 self["@flag"]="ok";
 self["@flag"];
-return _st(self)._error_("Intentional");
+return self._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeError",{},smalltalk.SUnitAsyncTest)})},
 args: [],
@@ -165,10 +165,10 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((30));
-self["@flag"]=_st(_st(self)._async_((function(){
+self._timeout_((30));
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._error_("Intentional");
+return self._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeErrorFailingInTearDown",{},smalltalk.SUnitAsyncTest)})},
 args: [],
@@ -186,12 +186,12 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((30));
-self["@flag"]=_st(_st(self)._async_((function(){
+self._timeout_((30));
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
 self["@flag"]="ok";
 self["@flag"];
-return _st(self)._assert_(false);
+return self._assert_(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeFailure",{},smalltalk.SUnitAsyncTest)})},
 args: [],
@@ -208,13 +208,13 @@ category: 'helpers',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._timeout_((100));
-_st(_st(self)._async_((function(){
+self._timeout_((100));
+_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._timeout_((20));
-return _st(_st(self)._async_((function(){
+self._timeout_((20));
+return _st(self._async_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2)})})))._valueWithTimeout_((30));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutFailing",{},smalltalk.SUnitAsyncTest)})},
@@ -232,13 +232,13 @@ category: 'helpers',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._timeout_((20));
-_st(_st(self)._async_((function(){
+self._timeout_((20));
+_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._timeout_((40));
-return _st(_st(self)._async_((function(){
+self._timeout_((40));
+return _st(self._async_((function(){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2)})})))._valueWithTimeout_((20));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutPassing",{},smalltalk.SUnitAsyncTest)})},
@@ -256,10 +256,10 @@ category: 'helpers',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._timeout_((10));
-_st(_st(self)._async_((function(){
+self._timeout_((10));
+_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((20));
 return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{},smalltalk.SUnitAsyncTest)})},
 args: [],
@@ -313,7 +313,7 @@ category: 'running',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_equals_("ok",self["@flag"]);
+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",
@@ -333,18 +333,18 @@ function $TestSuiteRunner(){return smalltalk.TestSuiteRunner||(typeof TestSuiteR
 function $ResultAnnouncement(){return smalltalk.ResultAnnouncement||(typeof ResultAnnouncement=="undefined"?nil:ResultAnnouncement)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-suite=_st(["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"])._collect_((function(each){
+suite=["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"]._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._class())._selector_(each);
+return _st(self._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 runner=_st($TestSuiteRunner())._on_(suite);
-_st(self)._timeout_((200));
+self._timeout_((200));
 result=_st(runner)._result();
-assertBlock=_st(self)._async_((function(){
+assertBlock=self._async_((function(){
 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();
+self._assert_equals_(self._selectorSetOf_(_st(result)._errors()),["fakeError"]._asSet());
+self._assert_equals_(self._selectorSetOf_(_st(result)._failures()),["fakeErrorFailingInTearDown", "fakeFailure"]._asSet());
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
 return smalltalk.withContext(function($ctx2) {
@@ -371,20 +371,20 @@ 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(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._async_((function(){
+return self._async_((function(){
 return smalltalk.withContext(function($ctx3) {
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
-_st(self)._timeout_((0));
-_st(self)._shouldnt_raise_((function(){
+self._timeout_((0));
+self._shouldnt_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._async_((function(){
+return self._async_((function(){
 return smalltalk.withContext(function($ctx3) {
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
-_st(self)._finished();
+self._finished();
 return self}, function($ctx1) {$ctx1.fill(self,"testAsyncNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 args: [],
 source: "testAsyncNeedsTimeout\x0a\x09self should: [ self async: [ ] ] raise: Error.\x0a\x09self timeout: 0.\x0a\x09self shouldnt: [ self async: [ ] ] raise: Error.\x0a\x09self finished",
@@ -401,14 +401,14 @@ 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(){
+self._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
-_st(self)._timeout_((0));
-_st(self)._shouldnt_raise_((function(){
+self._timeout_((0));
+self._shouldnt_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._finished();
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$Error());
 return self}, function($ctx1) {$ctx1.fill(self,"testFinishedNeedsTimeout",{},smalltalk.SUnitAsyncTest)})},
 args: [],
@@ -425,11 +425,11 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._deny_(_st(self)._isAsync());
-_st(self)._timeout_((0));
-_st(self)._assert_(_st(self)._isAsync());
-_st(self)._finished();
-_st(self)._deny_(_st(self)._isAsync());
+self._deny_(self._isAsync());
+self._timeout_((0));
+self._assert_(self._isAsync());
+self._finished();
+self._deny_(self._isAsync());
 return self}, function($ctx1) {$ctx1.fill(self,"testIsAsyncReturnsCorrectValues",{},smalltalk.SUnitAsyncTest)})},
 args: [],
 source: "testIsAsyncReturnsCorrectValues\x0a\x09self deny: self isAsync.\x0a\x09self timeout: 0.\x0a\x09self assert: self isAsync.\x0a\x09self finished.\x0a\x09self deny: self isAsync",
@@ -446,11 +446,11 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((10));
-self["@flag"]=_st(_st(self)._async_((function(){
+self._timeout_((10));
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._assert_(true);
-_st(self)._finished();
+self._assert_(true);
+self._finished();
 self["@flag"]="ok";
 return self["@flag"];
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
@@ -474,18 +474,18 @@ 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;
-suite=_st(["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"])._collect_((function(each){
+suite=["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"]._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(_st(self)._class())._selector_(each);
+return _st(self._class())._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 runner=_st($TestSuiteRunner())._on_(suite);
-_st(self)._timeout_((200));
+self._timeout_((200));
 result=_st(runner)._result();
-assertBlock=_st(self)._async_((function(){
+assertBlock=self._async_((function(){
 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();
+self._assert_equals_(self._selectorSetOf_(_st(result)._errors()),_st($Set())._new());
+self._assert_equals_(self._selectorSetOf_(_st(result)._failures()),["fakeMultipleTimeoutFailing", "fakeTimeout"]._asSet());
+return self._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st(runner)._announcer())._on_do_($ResultAnnouncement(),(function(ann){
 return smalltalk.withContext(function($ctx2) {
@@ -513,25 +513,25 @@ var self=this;
 var x;
 return smalltalk.withContext(function($ctx1) { 
 self["@flag"]="bad";
-_st(self)._timeout_((10));
+self._timeout_((10));
 x=(0);
-self["@flag"]=_st(_st(self)._async_((function(){
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._finished();
+self._finished();
 self["@flag"]="ok";
 self["@flag"];
 x=_st(x).__plus((1));
 x;
-return _st(self)._assert_equals_(x,(1));
+return self._assert_equals_(x,(1));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
-self["@flag"]=_st(_st(self)._async_((function(){
+self["@flag"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-_st(self)._finished();
+self._finished();
 self["@flag"]="ok";
 self["@flag"];
 x=_st(x).__plus((1));
 x;
-return _st(self)._assert_equals_(x,(1));
+return self._assert_equals_(x,(1));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
 return self}, function($ctx1) {$ctx1.fill(self,"testTwoAsyncPassesWithFinishedOnlyOneIsRun",{x:x},smalltalk.SUnitAsyncTest)})},
 args: [],

+ 45 - 45
js/SUnit.deploy.js

@@ -33,7 +33,7 @@ selector: "assert:",
 fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_description_(aBoolean,"Assertion failed");
+self._assert_description_(aBoolean,"Assertion failed");
 return self}, function($ctx1) {$ctx1.fill(self,"assert:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 messageSends: ["assert:description:"]}),
 smalltalk.TestCase);
@@ -47,7 +47,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=aBoolean;
 if(! smalltalk.assert($1)){
-_st(self)._signalFailure_(aString);
+self._signalFailure_(aString);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"assert:description:",{aBoolean:aBoolean,aString:aString},smalltalk.TestCase)})},
 messageSends: ["ifFalse:", "signalFailure:"]}),
@@ -60,7 +60,7 @@ fn: function (actual,expected){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._assert_description_(_st(actual).__eq(expected),_st(_st(_st("Expected: ").__comma(_st(expected)._printString())).__comma(" but was: ")).__comma(_st(actual)._printString()));
+$1=self._assert_description_(_st(actual).__eq(expected),_st(_st("Expected: ".__comma(_st(expected)._printString())).__comma(" but was: ")).__comma(_st(actual)._printString()));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected},smalltalk.TestCase)})},
 messageSends: ["assert:description:", "=", ",", "printString"]}),
@@ -74,11 +74,11 @@ var self=this;
 var c;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-_st(self)._errorIfNotAsync_("#async");
+self._errorIfNotAsync_("#async");
 c=self["@context"];
 $1=(function(){
 return smalltalk.withContext(function($ctx2) {
-$2=_st(self)._isAsync();
+$2=self._isAsync();
 if(smalltalk.assert($2)){
 return _st(c)._execute_(aBlock);
 };
@@ -105,7 +105,7 @@ selector: "deny:",
 fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(aBoolean)._not());
+self._assert_(_st(aBoolean)._not());
 return self}, function($ctx1) {$ctx1.fill(self,"deny:",{aBoolean:aBoolean},smalltalk.TestCase)})},
 messageSends: ["assert:", "not"]}),
 smalltalk.TestCase);
@@ -117,9 +117,9 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._isAsync();
+$1=self._isAsync();
 if(! smalltalk.assert($1)){
-_st(self)._error_(_st(aString).__comma(" used without prior #timeout:"));
+self._error_(_st(aString).__comma(" used without prior #timeout:"));
 };
 return self}, function($ctx1) {$ctx1.fill(self,"errorIfNotAsync:",{aString:aString},smalltalk.TestCase)})},
 messageSends: ["ifFalse:", "error:", ",", "isAsync"]}),
@@ -131,7 +131,7 @@ selector: "finished",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._errorIfNotAsync_("#finished");
+self._errorIfNotAsync_("#finished");
 self["@asyncTimeout"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"finished",{},smalltalk.TestCase)})},
 messageSends: ["errorIfNotAsync:"]}),
@@ -157,7 +157,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@asyncTimeout"]=nil;
-_st(self)._perform_(_st(self)._selector());
+self._perform_(self._selector());
 return self}, function($ctx1) {$ctx1.fill(self,"performTest",{},smalltalk.TestCase)})},
 messageSends: ["perform:", "selector"]}),
 smalltalk.TestCase);
@@ -214,7 +214,7 @@ selector: "should:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(aBlock)._value());
+self._assert_(_st(aBlock)._value());
 return self}, function($ctx1) {$ctx1.fill(self,"should:",{aBlock:aBlock},smalltalk.TestCase)})},
 messageSends: ["assert:", "value"]}),
 smalltalk.TestCase);
@@ -225,7 +225,7 @@ selector: "should:raise:",
 fn: function (aBlock,anExceptionClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st((function(){
+self._assert_(_st((function(){
 return smalltalk.withContext(function($ctx2) {
 _st(aBlock)._value();
 return false;
@@ -243,7 +243,7 @@ selector: "shouldnt:raise:",
 fn: function (aBlock,anExceptionClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st((function(){
+self._assert_(_st((function(){
 return smalltalk.withContext(function($ctx2) {
 _st(aBlock)._value();
 return true;
@@ -294,9 +294,9 @@ $1;
 _st(self["@asyncTimeout"])._clearTimeout();
 };
 self["@asyncTimeout"]=(0);
-self["@asyncTimeout"]=_st(_st(self)._async_((function(){
+self["@asyncTimeout"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._assert_description_(false,"SUnit grace time exhausted");
+return 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:"]}),
@@ -311,10 +311,10 @@ var self=this;
 var selectors;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-selectors=_st(self)._testSelectors();
-$1=_st(self)._shouldInheritSelectors();
+selectors=self._testSelectors();
+$1=self._shouldInheritSelectors();
 if(smalltalk.assert($1)){
-_st(selectors)._addAll_(_st(_st(self)._superclass())._allTestSelectors());
+_st(selectors)._addAll_(_st(self._superclass())._allTestSelectors());
 };
 $2=selectors;
 return $2;
@@ -329,9 +329,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._allTestSelectors())._collect_((function(each){
+$1=_st(self._allTestSelectors())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._selector_(each);
+return self._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"buildSuite",{},smalltalk.TestCase.klass)})},
@@ -356,7 +356,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._name()).__eq("TestCase");
+$1=_st(self._name()).__eq("TestCase");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{},smalltalk.TestCase.klass)})},
 messageSends: ["=", "name"]}),
@@ -383,7 +383,7 @@ fn: function (aSelector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._setTestSelector_(aSelector);
 $3=_st($2)._yourself();
 $1=$3;
@@ -399,7 +399,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self).__tild_eq(_st(self)._lookupHierarchyRoot());
+$1=self.__tild_eq(self._lookupHierarchyRoot());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},smalltalk.TestCase.klass)})},
 messageSends: ["~=", "lookupHierarchyRoot"]}),
@@ -412,7 +412,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._methodDictionary())._keys())._select_((function(each){
+$1=_st(_st(self._methodDictionary())._keys())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._match_("^test");
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -445,7 +445,7 @@ _st(self["@testCase"])._context_(nil);
 $1=_st(failed)._and_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(self["@testCase"])._isAsync();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 if(smalltalk.assert($1)){
 _st(self["@testCase"])._finished();
 };
@@ -464,7 +464,7 @@ selector: "start",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._execute_((function(){
+self._execute_((function(){
 return smalltalk.withContext(function($ctx2) {
 _st(self["@testCase"])._setUp();
 return _st(self["@testCase"])._performTest();
@@ -492,7 +492,7 @@ fn: function (aTestCase){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._testCase_(aTestCase);
 $3=_st($2)._yourself();
 $1=$3;
@@ -512,10 +512,10 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._withErrorReporting_((function(){
+return self._withErrorReporting_((function(){
 return smalltalk.withContext(function($ctx3) {
 return smalltalk.TestContext.fn.prototype._execute_.apply(_st(self), [aBlock]);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
 return smalltalk.withContext(function($ctx2) {
 $1=_st(self["@testCase"])._isAsync();
@@ -563,7 +563,7 @@ return smalltalk.withContext(function($ctx2) {
 return _st(aBlock)._on_do_($TestFailure(),(function(ex){
 return smalltalk.withContext(function($ctx3) {
 return _st(self["@result"])._addFailure_(self["@testCase"]);
-}, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@result"])._addError_(self["@testCase"]);
@@ -601,7 +601,7 @@ selector: "addError:",
 fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._errors())._add_(anError);
+_st(self._errors())._add_(anError);
 return self}, function($ctx1) {$ctx1.fill(self,"addError:",{anError:anError},smalltalk.TestResult)})},
 messageSends: ["add:", "errors"]}),
 smalltalk.TestResult);
@@ -612,7 +612,7 @@ selector: "addFailure:",
 fn: function (aFailure){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._failures())._add_(aFailure);
+_st(self._failures())._add_(aFailure);
 return self}, function($ctx1) {$ctx1.fill(self,"addFailure:",{aFailure:aFailure},smalltalk.TestResult)})},
 messageSends: ["add:", "failures"]}),
 smalltalk.TestResult);
@@ -679,9 +679,9 @@ fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(_st(self)._runs()).__eq_eq(_st(self)._total());
+$2=_st(self._runs()).__eq_eq(self._total());
 if(! smalltalk.assert($2)){
-$1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1)));
+$1=_st(aBlock)._value_(_st(self._runs()).__plus((1)));
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextRunDo:",{aBlock:aBlock},smalltalk.TestResult)})},
@@ -700,15 +700,15 @@ _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st((function(){
 return smalltalk.withContext(function($ctx3) {
-_st(self)._increaseRuns();
+self._increaseRuns();
 return _st(aTestCase)._runCase();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._on_do_($TestFailure(),(function(ex){
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}))._on_do_($TestFailure(),(function(ex){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._addFailure_(aTestCase);
-}, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
+return self._addFailure_(aTestCase);
+}, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._addError_(aTestCase);
+return 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"]}),
@@ -734,9 +734,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(_st(self)._errors())._isEmpty();
+$2=_st(self._errors())._isEmpty();
 if(smalltalk.assert($2)){
-$3=_st(_st(self)._failures())._isEmpty();
+$3=_st(self._failures())._isEmpty();
 if(smalltalk.assert($3)){
 $1="success";
 } else {
@@ -813,7 +813,7 @@ 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 self._resume();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger},smalltalk.TestSuiteRunner)})},
@@ -839,7 +839,7 @@ runs=_st(self["@result"])._runs();
 runs;
 $1=_st(runs).__lt(_st(self["@result"])._total());
 if(smalltalk.assert($1)){
-return _st(_st(self)._contextOf_(_st(runs).__plus((1))))._start();
+return _st(self._contextOf_(_st(runs).__plus((1))))._start();
 };
 }, function($ctx2) {$ctx2.fillBlock({runs:runs},$ctx1)})});
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.TestSuiteRunner)})},
@@ -879,7 +879,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@result"])._total_(_st(self["@suite"])._size());
-_st(self)._resume();
+self._resume();
 return self}, function($ctx1) {$ctx1.fill(self,"run",{},smalltalk.TestSuiteRunner)})},
 messageSends: ["total:", "size", "resume"]}),
 smalltalk.TestSuiteRunner);
@@ -902,7 +902,7 @@ selector: "new",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldNotImplement();
+self._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.TestSuiteRunner.klass)})},
 messageSends: ["shouldNotImplement"]}),
 smalltalk.TestSuiteRunner.klass);

+ 45 - 45
js/SUnit.js

@@ -46,7 +46,7 @@ category: 'testing',
 fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_description_(aBoolean,"Assertion failed");
+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'",
@@ -65,7 +65,7 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 $1=aBoolean;
 if(! smalltalk.assert($1)){
-_st(self)._signalFailure_(aString);
+self._signalFailure_(aString);
 };
 return self}, function($ctx1) {$ctx1.fill(self,"assert:description:",{aBoolean:aBoolean,aString:aString},smalltalk.TestCase)})},
 args: ["aBoolean", "aString"],
@@ -83,7 +83,7 @@ fn: function (actual,expected){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._assert_description_(_st(actual).__eq(expected),_st(_st(_st("Expected: ").__comma(_st(expected)._printString())).__comma(" but was: ")).__comma(_st(actual)._printString()));
+$1=self._assert_description_(_st(actual).__eq(expected),_st(_st("Expected: ".__comma(_st(expected)._printString())).__comma(" but was: ")).__comma(_st(actual)._printString()));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected},smalltalk.TestCase)})},
 args: ["actual", "expected"],
@@ -102,11 +102,11 @@ var self=this;
 var c;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-_st(self)._errorIfNotAsync_("#async");
+self._errorIfNotAsync_("#async");
 c=self["@context"];
 $1=(function(){
 return smalltalk.withContext(function($ctx2) {
-$2=_st(self)._isAsync();
+$2=self._isAsync();
 if(smalltalk.assert($2)){
 return _st(c)._execute_(aBlock);
 };
@@ -143,7 +143,7 @@ category: 'testing',
 fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(aBoolean)._not());
+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",
@@ -160,9 +160,9 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self)._isAsync();
+$1=self._isAsync();
 if(! smalltalk.assert($1)){
-_st(self)._error_(_st(aString).__comma(" used without prior #timeout:"));
+self._error_(_st(aString).__comma(" used without prior #timeout:"));
 };
 return self}, function($ctx1) {$ctx1.fill(self,"errorIfNotAsync:",{aString:aString},smalltalk.TestCase)})},
 args: ["aString"],
@@ -179,7 +179,7 @@ category: 'async',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._errorIfNotAsync_("#finished");
+self._errorIfNotAsync_("#finished");
 self["@asyncTimeout"]=nil;
 return self}, function($ctx1) {$ctx1.fill(self,"finished",{},smalltalk.TestCase)})},
 args: [],
@@ -215,7 +215,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 self["@asyncTimeout"]=nil;
-_st(self)._perform_(_st(self)._selector());
+self._perform_(self._selector());
 return self}, function($ctx1) {$ctx1.fill(self,"performTest",{},smalltalk.TestCase)})},
 args: [],
 source: "performTest\x0a\x09asyncTimeout := nil.\x0a\x09self perform: self selector",
@@ -297,7 +297,7 @@ category: 'testing',
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(aBlock)._value());
+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",
@@ -313,7 +313,7 @@ category: 'testing',
 fn: function (aBlock,anExceptionClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st((function(){
+self._assert_(_st((function(){
 return smalltalk.withContext(function($ctx2) {
 _st(aBlock)._value();
 return false;
@@ -336,7 +336,7 @@ category: 'testing',
 fn: function (aBlock,anExceptionClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st((function(){
+self._assert_(_st((function(){
 return smalltalk.withContext(function($ctx2) {
 _st(aBlock)._value();
 return true;
@@ -402,9 +402,9 @@ $1;
 _st(self["@asyncTimeout"])._clearTimeout();
 };
 self["@asyncTimeout"]=(0);
-self["@asyncTimeout"]=_st(_st(self)._async_((function(){
+self["@asyncTimeout"]=_st(self._async_((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._assert_description_(false,"SUnit grace time exhausted");
+return 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"],
@@ -424,10 +424,10 @@ var self=this;
 var selectors;
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2;
-selectors=_st(self)._testSelectors();
-$1=_st(self)._shouldInheritSelectors();
+selectors=self._testSelectors();
+$1=self._shouldInheritSelectors();
 if(smalltalk.assert($1)){
-_st(selectors)._addAll_(_st(_st(self)._superclass())._allTestSelectors());
+_st(selectors)._addAll_(_st(self._superclass())._allTestSelectors());
 };
 $2=selectors;
 return $2;
@@ -447,9 +447,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._allTestSelectors())._collect_((function(each){
+$1=_st(self._allTestSelectors())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._selector_(each);
+return self._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"buildSuite",{},smalltalk.TestCase.klass)})},
@@ -484,7 +484,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._name()).__eq("TestCase");
+$1=_st(self._name()).__eq("TestCase");
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{},smalltalk.TestCase.klass)})},
 args: [],
@@ -521,7 +521,7 @@ fn: function (aSelector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._setTestSelector_(aSelector);
 $3=_st($2)._yourself();
 $1=$3;
@@ -542,7 +542,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(self).__tild_eq(_st(self)._lookupHierarchyRoot());
+$1=self.__tild_eq(self._lookupHierarchyRoot());
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},smalltalk.TestCase.klass)})},
 args: [],
@@ -560,7 +560,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(_st(self)._methodDictionary())._keys())._select_((function(each){
+$1=_st(_st(self._methodDictionary())._keys())._select_((function(each){
 return smalltalk.withContext(function($ctx2) {
 return _st(each)._match_("^test");
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
@@ -599,7 +599,7 @@ _st(self["@testCase"])._context_(nil);
 $1=_st(failed)._and_((function(){
 return smalltalk.withContext(function($ctx3) {
 return _st(self["@testCase"])._isAsync();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 if(smalltalk.assert($1)){
 _st(self["@testCase"])._finished();
 };
@@ -623,7 +623,7 @@ category: 'running',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._execute_((function(){
+self._execute_((function(){
 return smalltalk.withContext(function($ctx2) {
 _st(self["@testCase"])._setUp();
 return _st(self["@testCase"])._performTest();
@@ -661,7 +661,7 @@ fn: function (aTestCase){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._new();
+$2=self._new();
 _st($2)._testCase_(aTestCase);
 $3=_st($2)._yourself();
 $1=$3;
@@ -687,10 +687,10 @@ return smalltalk.withContext(function($ctx1) {
 var $1;
 _st((function(){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._withErrorReporting_((function(){
+return self._withErrorReporting_((function(){
 return smalltalk.withContext(function($ctx3) {
 return smalltalk.TestContext.fn.prototype._execute_.apply(_st(self), [aBlock]);
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._ensure_((function(){
 return smalltalk.withContext(function($ctx2) {
 $1=_st(self["@testCase"])._isAsync();
@@ -753,7 +753,7 @@ return smalltalk.withContext(function($ctx2) {
 return _st(aBlock)._on_do_($TestFailure(),(function(ex){
 return smalltalk.withContext(function($ctx3) {
 return _st(self["@result"])._addFailure_(self["@testCase"]);
-}, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 return smalltalk.withContext(function($ctx2) {
 return _st(self["@result"])._addError_(self["@testCase"]);
@@ -803,7 +803,7 @@ category: 'accessing',
 fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._errors())._add_(anError);
+_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",
@@ -819,7 +819,7 @@ category: 'accessing',
 fn: function (aFailure){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(_st(self)._failures())._add_(aFailure);
+_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",
@@ -911,9 +911,9 @@ fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$1;
-$2=_st(_st(self)._runs()).__eq_eq(_st(self)._total());
+$2=_st(self._runs()).__eq_eq(self._total());
 if(! smalltalk.assert($2)){
-$1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1)));
+$1=_st(aBlock)._value_(_st(self._runs()).__plus((1)));
 };
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"nextRunDo:",{aBlock:aBlock},smalltalk.TestResult)})},
@@ -937,15 +937,15 @@ _st((function(){
 return smalltalk.withContext(function($ctx2) {
 return _st((function(){
 return smalltalk.withContext(function($ctx3) {
-_st(self)._increaseRuns();
+self._increaseRuns();
 return _st(aTestCase)._runCase();
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._on_do_($TestFailure(),(function(ex){
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}))._on_do_($TestFailure(),(function(ex){
 return smalltalk.withContext(function($ctx3) {
-return _st(self)._addFailure_(aTestCase);
-}, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx1)})}));
+return self._addFailure_(aTestCase);
+}, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_($Error(),(function(ex){
 return smalltalk.withContext(function($ctx2) {
-return _st(self)._addError_(aTestCase);
+return self._addError_(aTestCase);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"runCase:",{aTestCase:aTestCase},smalltalk.TestResult)})},
 args: ["aTestCase"],
@@ -981,9 +981,9 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(_st(self)._errors())._isEmpty();
+$2=_st(self._errors())._isEmpty();
 if(smalltalk.assert($2)){
-$3=_st(_st(self)._failures())._isEmpty();
+$3=_st(self._failures())._isEmpty();
 if(smalltalk.assert($3)){
 $1="success";
 } else {
@@ -1086,7 +1086,7 @@ 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 self._resume();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger},smalltalk.TestSuiteRunner)})},
@@ -1117,7 +1117,7 @@ runs=_st(self["@result"])._runs();
 runs;
 $1=_st(runs).__lt(_st(self["@result"])._total());
 if(smalltalk.assert($1)){
-return _st(_st(self)._contextOf_(_st(runs).__plus((1))))._start();
+return _st(self._contextOf_(_st(runs).__plus((1))))._start();
 };
 }, function($ctx2) {$ctx2.fillBlock({runs:runs},$ctx1)})});
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.TestSuiteRunner)})},
@@ -1172,7 +1172,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 _st(self["@result"])._total_(_st(self["@suite"])._size());
-_st(self)._resume();
+self._resume();
 return self}, function($ctx1) {$ctx1.fill(self,"run",{},smalltalk.TestSuiteRunner)})},
 args: [],
 source: "run\x0a\x09result total: suite size.\x0a\x09self resume",
@@ -1205,7 +1205,7 @@ category: 'instance creation',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._shouldNotImplement();
+self._shouldNotImplement();
 return self}, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.TestSuiteRunner.klass)})},
 args: [],
 source: "new\x0a\x09self shouldNotImplement",

+ 18 - 18
js/Spaces.deploy.js

@@ -6,7 +6,7 @@ selector: "connectTo:",
 fn: function (aFrame){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._release();
+self._release();
 self["@frame"]=aFrame;
 return self}, function($ctx1) {$ctx1.fill(self,"connectTo:",{aFrame:aFrame},smalltalk.ObjectSpace)})},
 messageSends: ["release"]}),
@@ -40,7 +40,7 @@ return $2;
 $1;
 };
 _st(_st(window)._jQuery_(self["@frame"]))._remove();
-_st(self)._release();
+self._release();
 return self}, function($ctx1) {$ctx1.fill(self,"destroy",{},smalltalk.ObjectSpace)})},
 messageSends: ["ifNil:", "remove", "jQuery:", "release"]}),
 smalltalk.ObjectSpace);
@@ -53,12 +53,12 @@ var self=this;
 function $ObjectSpaceConnectionError(){return smalltalk.ObjectSpaceConnectionError||(typeof ObjectSpaceConnectionError=="undefined"?nil:ObjectSpaceConnectionError)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-$1=_st(self)._isConnected();
+$1=self._isConnected();
 if(! smalltalk.assert($1)){
 $2=_st($ObjectSpaceConnectionError())._signal();
 return $2;
 };
-$3=_st(_st(self["@frame"])._contentWindow())._eval_(_st(_st("(").__comma(_st(aBlock)._compiledSource())).__comma(")()"));
+$3=_st(_st(self["@frame"])._contentWindow())._eval_(_st("(".__comma(_st(aBlock)._compiledSource())).__comma(")()"));
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock},smalltalk.ObjectSpace)})},
 messageSends: ["ifFalse:", "signal", "isConnected", "eval:", ",", "compiledSource", "contentWindow"]}),
@@ -84,7 +84,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
-_st(self)._create();
+self._create();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ObjectSpace)})},
 messageSends: ["initialize", "create"]}),
 smalltalk.ObjectSpace);
@@ -96,7 +96,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._frame())._notNil();
+$1=_st(self._frame())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isConnected",{},smalltalk.ObjectSpace)})},
 messageSends: ["notNil", "frame"]}),
@@ -132,7 +132,7 @@ fn: function (aFrame){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._basicNew();
+$2=self._basicNew();
 _st($2)._connectTo_(aFrame);
 $3=_st($2)._yourself();
 $1=$3;
@@ -188,12 +188,12 @@ var self=this;
 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(){
+self._deny_(_st(self["@space"])._isConnected());
+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($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ObjectSpaceConnectionError());
 return self}, function($ctx1) {$ctx1.fill(self,"testConnection",{},smalltalk.ObjectSpaceTest)})},
 messageSends: ["destroy", "deny:", "isConnected", "should:raise:", "do:"]}),
@@ -205,8 +205,8 @@ selector: "testCreate",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(_st(self["@space"])._frame())._notNil());
-_st(self)._assert_(_st(self["@space"])._isConnected());
+self._assert_(_st(_st(self["@space"])._frame())._notNil());
+self._assert_(_st(self["@space"])._isConnected());
 return self}, function($ctx1) {$ctx1.fill(self,"testCreate",{},smalltalk.ObjectSpaceTest)})},
 messageSends: ["assert:", "notNil", "frame", "isConnected"]}),
 smalltalk.ObjectSpaceTest);
@@ -224,11 +224,11 @@ return smalltalk.withContext(function($ctx2) {
 result=_st(self["@space"])._do_((function(){
 return smalltalk.withContext(function($ctx3) {
 return smalltalk;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 result;
-_st(self)._assert_equals_(_st(_st(result)._class())._name(),"Smalltalk");
-_st(self)._deny_(_st(_st(result)._class()).__eq($Smalltalk()));
-return _st(self)._deny_(_st(result).__eq_eq(smalltalk));
+self._assert_equals_(_st(_st(result)._class())._name(),"Smalltalk");
+self._deny_(_st(_st(result)._class()).__eq($Smalltalk()));
+return self._deny_(_st(result).__eq_eq(smalltalk));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"testEvaluation",{result:result},smalltalk.ObjectSpaceTest)})},
 messageSends: ["whenReadyDo:", "do:", "assert:equals:", "name", "class", "deny:", "=", "=="]}),
@@ -240,9 +240,9 @@ selector: "testRelease",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._deny_(_st(_st(self["@space"])._frame())._isNil());
+self._deny_(_st(_st(self["@space"])._frame())._isNil());
 _st(self["@space"])._release();
-_st(self)._assert_(_st(_st(self["@space"])._frame())._isNil());
+self._assert_(_st(_st(self["@space"])._frame())._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testRelease",{},smalltalk.ObjectSpaceTest)})},
 messageSends: ["deny:", "isNil", "frame", "release", "assert:"]}),
 smalltalk.ObjectSpaceTest);

+ 18 - 18
js/Spaces.js

@@ -8,7 +8,7 @@ category: 'initialization',
 fn: function (aFrame){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._release();
+self._release();
 self["@frame"]=aFrame;
 return self}, function($ctx1) {$ctx1.fill(self,"connectTo:",{aFrame:aFrame},smalltalk.ObjectSpace)})},
 args: ["aFrame"],
@@ -52,7 +52,7 @@ return $2;
 $1;
 };
 _st(_st(window)._jQuery_(self["@frame"]))._remove();
-_st(self)._release();
+self._release();
 return self}, function($ctx1) {$ctx1.fill(self,"destroy",{},smalltalk.ObjectSpace)})},
 args: [],
 source: "destroy\x0a\x09frame ifNil: [ ^ self ].\x0a\x09(window jQuery: frame) remove.\x0a\x0a\x09self release",
@@ -70,12 +70,12 @@ var self=this;
 function $ObjectSpaceConnectionError(){return smalltalk.ObjectSpaceConnectionError||(typeof ObjectSpaceConnectionError=="undefined"?nil:ObjectSpaceConnectionError)}
 return smalltalk.withContext(function($ctx1) { 
 var $1,$2,$3;
-$1=_st(self)._isConnected();
+$1=self._isConnected();
 if(! smalltalk.assert($1)){
 $2=_st($ObjectSpaceConnectionError())._signal();
 return $2;
 };
-$3=_st(_st(self["@frame"])._contentWindow())._eval_(_st(_st("(").__comma(_st(aBlock)._compiledSource())).__comma(")()"));
+$3=_st(_st(self["@frame"])._contentWindow())._eval_(_st("(".__comma(_st(aBlock)._compiledSource())).__comma(")()"));
 return $3;
 }, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock},smalltalk.ObjectSpace)})},
 args: ["aBlock"],
@@ -111,7 +111,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
-_st(self)._create();
+self._create();
 return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ObjectSpace)})},
 args: [],
 source: "initialize\x0a\x09super initialize.\x0a\x09self create",
@@ -128,7 +128,7 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st(_st(self)._frame())._notNil();
+$1=_st(self._frame())._notNil();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"isConnected",{},smalltalk.ObjectSpace)})},
 args: [],
@@ -179,7 +179,7 @@ fn: function (aFrame){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var $2,$3,$1;
-$2=_st(self)._basicNew();
+$2=self._basicNew();
 _st($2)._connectTo_(aFrame);
 $3=_st($2)._yourself();
 $1=$3;
@@ -255,12 +255,12 @@ var self=this;
 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(){
+self._deny_(_st(self["@space"])._isConnected());
+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($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),$ObjectSpaceConnectionError());
 return self}, function($ctx1) {$ctx1.fill(self,"testConnection",{},smalltalk.ObjectSpaceTest)})},
 args: [],
@@ -277,8 +277,8 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._assert_(_st(_st(self["@space"])._frame())._notNil());
-_st(self)._assert_(_st(self["@space"])._isConnected());
+self._assert_(_st(_st(self["@space"])._frame())._notNil());
+self._assert_(_st(self["@space"])._isConnected());
 return self}, function($ctx1) {$ctx1.fill(self,"testCreate",{},smalltalk.ObjectSpaceTest)})},
 args: [],
 source: "testCreate\x0a\x0a\x09self assert: space frame notNil.\x0a\x09self assert: space isConnected",
@@ -301,11 +301,11 @@ return smalltalk.withContext(function($ctx2) {
 result=_st(self["@space"])._do_((function(){
 return smalltalk.withContext(function($ctx3) {
 return smalltalk;
-}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 result;
-_st(self)._assert_equals_(_st(_st(result)._class())._name(),"Smalltalk");
-_st(self)._deny_(_st(_st(result)._class()).__eq($Smalltalk()));
-return _st(self)._deny_(_st(result).__eq_eq(smalltalk));
+self._assert_equals_(_st(_st(result)._class())._name(),"Smalltalk");
+self._deny_(_st(_st(result)._class()).__eq($Smalltalk()));
+return self._deny_(_st(result).__eq_eq(smalltalk));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return self}, function($ctx1) {$ctx1.fill(self,"testEvaluation",{result:result},smalltalk.ObjectSpaceTest)})},
 args: [],
@@ -322,9 +322,9 @@ category: 'tests',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
-_st(self)._deny_(_st(_st(self["@space"])._frame())._isNil());
+self._deny_(_st(_st(self["@space"])._frame())._isNil());
 _st(self["@space"])._release();
-_st(self)._assert_(_st(_st(self["@space"])._frame())._isNil());
+self._assert_(_st(_st(self["@space"])._frame())._isNil());
 return self}, function($ctx1) {$ctx1.fill(self,"testRelease",{},smalltalk.ObjectSpaceTest)})},
 args: [],
 source: "testRelease\x0a\x0a\x09self deny: space frame isNil.\x0a\x0a\x09space release.\x0a\x09\x0a\x09self assert: space frame isNil",

+ 3 - 3
st/Compiler-Core.st

@@ -203,9 +203,9 @@ recompile: aClass
 !
 
 recompileAll
-	Smalltalk current classes do: [:each |
-		Transcript show: each; cr.
-		[self recompile: each] valueWithTimeout: 100]
+	Smalltalk current classes 
+		do: [:each | self recompile: each ]
+		displayingProgress: 'Compiling all classes...'
 ! !
 
 !Compiler class methodsFor: 'compiling'!

+ 46 - 19
st/Compiler-IR.st

@@ -341,6 +341,10 @@ isTempDeclaration
 
 isVariable
 	^ false
+!
+
+needsBoxingAsReceiver
+	^ true
 ! !
 
 !IRInstruction methodsFor: 'visiting'!
@@ -712,6 +716,12 @@ value: aString
 	value := aString
 ! !
 
+!IRValue methodsFor: 'testing'!
+
+needsBoxingAsReceiver
+	^ false
+! !
+
 !IRValue methodsFor: 'visiting'!
 
 accept: aVisitor
@@ -738,6 +748,10 @@ variable: aScopeVariable
 
 isVariable
 	^ true
+!
+
+needsBoxingAsReceiver
+	^ self variable isPseudoVar not
 ! !
 
 !IRVariable methodsFor: 'visiting'!
@@ -946,25 +960,8 @@ visitIRReturn: anIRReturn
 
 visitIRSend: anIRSend
 	anIRSend classSend
-		ifNil: [
-			self stream nextPutAll: '_st('.
-			self visit: anIRSend instructions first.
-			self stream nextPutAll: ').', anIRSend selector asSelector, '('.
-			anIRSend instructions allButFirst
-				do: [ :each | self visit: each ]
-				separatedBy: [ self stream nextPutAll: ',' ].
-			self stream nextPutAll: ')' ]
-		ifNotNil: [
-			self stream
-				nextPutAll: anIRSend classSend asJavascript, '.fn.prototype.';
-				nextPutAll: anIRSend selector asSelector, '.apply(';
-				nextPutAll: '_st('.
-			self visit: anIRSend instructions first.
-			self stream nextPutAll: '), ['.
-			anIRSend instructions allButFirst
-				do: [ :each | self visit: each ]
-				separatedBy: [ self stream nextPutAll: ',' ].
-			self stream nextPutAll: '])' ]
+		ifNil: [ self visitSend: anIRSend ]
+		ifNotNil: [ self visitSuperSend: anIRSend ]
 !
 
 visitIRSequence: anIRSequence
@@ -992,6 +989,36 @@ visitIRVariable: anIRVariable
 visitIRVerbatim: anIRVerbatim
 	self stream nextPutStatementWith: [
 		self stream nextPutAll: anIRVerbatim source ]
+!
+
+visitReceiver: anIRInstruction
+	anIRInstruction needsBoxingAsReceiver ifFalse: [ ^ self visit: anIRInstruction ].
+	
+	self stream nextPutAll: '_st('.
+	self visit: anIRInstruction.
+	self stream nextPutAll: ')'
+!
+
+visitSend: anIRSend
+	self visitReceiver: anIRSend instructions first.
+	self stream nextPutAll: '.', anIRSend selector asSelector, '('.
+	anIRSend instructions allButFirst
+		do: [ :each | self visit: each ]
+		separatedBy: [ self stream nextPutAll: ',' ].
+	self stream nextPutAll: ')'
+!
+
+visitSuperSend: anIRSend
+	self stream
+		nextPutAll: anIRSend classSend asJavascript, '.fn.prototype.';
+		nextPutAll: anIRSend selector asSelector, '.apply(';
+		nextPutAll: '_st('.
+	self visit: anIRSend instructions first.
+	self stream nextPutAll: '), ['.
+	anIRSend instructions allButFirst
+		do: [ :each | self visit: each ]
+		separatedBy: [ self stream nextPutAll: ',' ].
+	self stream nextPutAll: '])'
 ! !
 
 Object subclass: #JSStream

+ 3 - 2
st/Kernel-Classes.st

@@ -556,8 +556,9 @@ migrateClassNamed: className superclass: aClass instanceVariableNames: aCollecti
 		rawRenameClass: oldClass to: tmp;
 		rawRenameClass: newClass to: className.
 
-	oldClass subclasses do: [ :each |
-		self migrateClass: each superclass: newClass ].
+	oldClass subclasses 
+		do: [ :each | self migrateClass: each superclass: newClass ]
+		displayingProgress: 'Recompiling ', newClass name, '...'.
 
 	self basicRemoveClass: oldClass.
 	

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