Ver código fonte

Fixes issue #353

Nicolas Petton 11 anos atrás
pai
commit
808f097524

+ 14 - 14
js/Benchfib.deploy.js

@@ -10,8 +10,8 @@ var self=this;
 var result;
 return smalltalk.withContext(function($ctx1) { 
result=_st((0))._tinyBenchmarks();
 _st(console)._log_(_st("0 tinyBenchmarks => ").__comma(result));
-return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result}, smalltalk.Benchfib.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"main",{result:result}, smalltalk.Benchfib.klass)})},
+messageSends: ["tinyBenchmarks", "log:", ","]}),
 smalltalk.Benchfib.klass);
 
 
@@ -29,8 +29,8 @@ $1=(1);
 $1=_st(_st(_st(_st(self).__minus((1)))._benchFib()).__plus(_st(_st(self).__minus((2)))._benchFib())).__plus((1));
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"benchFib",{}, smalltalk.Number)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"benchFib",{}, smalltalk.Number)})},
+messageSends: ["ifTrue:ifFalse:", "+", "benchFib", "-", "<"]}),
 smalltalk.Number);
 
 smalltalk.addMethod(
@@ -75,8 +75,8 @@ return _st((1))._to_do_($3,$4);
 _st((1))._to_do_($1,$2);
 $6=count;
 return $6;
-}, function($ctx1) {$ctx1.fill(self,"benchmark",{size:size,flags:flags,prime:prime,k:k,count:count}, smalltalk.Number)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"benchmark",{size:size,flags:flags,prime:prime,k:k,count:count}, smalltalk.Number)})},
+messageSends: ["to:do:", "new", "timesRepeat:", "add:", "ifTrue:", "+", "whileTrue:", "at:put:", "<=", "at:"]}),
 smalltalk.Number);
 
 smalltalk.addMethod(
@@ -89,8 +89,8 @@ return smalltalk.withContext(function($ctx1) { 
if (this < 2) {
 return 1;
 } else {
 return (this-1)._jsbenchFib() + (this-2)._jsbenchFib() + 1;};
-return self}, function($ctx1) {$ctx1.fill(self,"jsbenchFib",{}, smalltalk.Number)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"jsbenchFib",{}, smalltalk.Number)})},
+messageSends: []}),
 smalltalk.Number);
 
 smalltalk.addMethod(
@@ -121,8 +121,8 @@ for (var z=0;z<this;z++) {
   }
 }
 return count;
-return self}, function($ctx1) {$ctx1.fill(self,"jsbenchmark",{}, smalltalk.Number)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"jsbenchmark",{}, smalltalk.Number)})},
+messageSends: []}),
 smalltalk.Number);
 
 smalltalk.addMethod(
@@ -158,8 +158,8 @@ return n2;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"jstinyBenchmarks",{t1:t1,t2:t2,r:r,n1:n1,n2:n2}, smalltalk.Number)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"jstinyBenchmarks",{t1:t1,t2:t2,r:r,n1:n1,n2:n2}, smalltalk.Number)})},
+messageSends: ["whileTrue:", "*", "millisecondsToRun:", "jsbenchmark", "<", "+", "jsbenchFib", ",", "printString", "/"]}),
 smalltalk.Number);
 
 smalltalk.addMethod(
@@ -195,7 +195,7 @@ return n2;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $1=_st(_st(_st(_st(_st(_st(_st(n1).__star((500000))).__star((1000))).__slash(t1))._printString()).__comma(" bytecodes/sec; ")).__comma(_st(_st(_st(r).__star((1000))).__slash(t2))._printString())).__comma(" sends/sec");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"tinyBenchmarks",{t1:t1,t2:t2,r:r,n1:n1,n2:n2}, smalltalk.Number)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"tinyBenchmarks",{t1:t1,t2:t2,r:r,n1:n1,n2:n2}, smalltalk.Number)})},
+messageSends: ["whileTrue:", "*", "millisecondsToRun:", "benchmark", "<", "+", "benchFib", ",", "printString", "/"]}),
 smalltalk.Number);
 

Diferenças do arquivo suprimidas por serem muito extensas
+ 182 - 182
js/Canvas.deploy.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 182 - 182
js/Compiler-AST.deploy.js


+ 100 - 100
js/Compiler-Core.deploy.js

@@ -14,8 +14,8 @@ $1=(smalltalk.InliningCodeGenerator || InliningCodeGenerator);
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{}, smalltalk.Compiler)})},
+messageSends: ["ifNil:"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -25,8 +25,8 @@ selector: "codeGeneratorClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@codeGeneratorClass"]=aClass;
-return self}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass:",{aClass:aClass}, smalltalk.Compiler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass:",{aClass:aClass}, smalltalk.Compiler)})},
+messageSends: []}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -38,8 +38,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._compileNode_(_st(self)._parse_(aString));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString}, smalltalk.Compiler)})},
+messageSends: ["compileNode:", "parse:"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -53,8 +53,8 @@ _st(self)._currentClass_(aClass);
 _st(self)._source_(aString);
 $1=_st(self)._compile_(aString);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"compile:forClass:",{aString:aString,aClass:aClass}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"compile:forClass:",{aString:aString,aClass:aClass}, smalltalk.Compiler)})},
+messageSends: ["currentClass:", "source:", "compile:"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -68,8 +68,8 @@ _st(self)._currentClass_((smalltalk.DoIt || DoIt));
 _st(self)._source_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 $1=_st(self)._compileNode_(_st(self)._parse_(_st(self)._source()));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"compileExpression:",{aString:aString}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"compileExpression:",{aString:aString}, smalltalk.Compiler)})},
+messageSends: ["currentClass:", "source:", ",", "compileNode:", "parse:", "source"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -88,8 +88,8 @@ result=_st(generator)._compileNode_(aNode);
 _st(self)._unknownVariables_([]);
 $3=result;
 return $3;
-}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,generator:generator,result:result}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,generator:generator,result:result}, smalltalk.Compiler)})},
+messageSends: ["new", "codeGeneratorClass", "source:", "source", "currentClass:", "currentClass", "compileNode:", "unknownVariables:"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -101,8 +101,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@currentClass"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"currentClass",{}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"currentClass",{}, smalltalk.Compiler)})},
+messageSends: []}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -112,8 +112,8 @@ selector: "currentClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@currentClass"]=aClass;
-return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass}, smalltalk.Compiler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass}, smalltalk.Compiler)})},
+messageSends: []}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -123,8 +123,8 @@ selector: "eval:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return eval(aString);
-return self}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString}, smalltalk.Compiler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString}, smalltalk.Compiler)})},
+messageSends: []}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -140,8 +140,8 @@ result=_st(_st((smalltalk.DoIt || DoIt))._new())._doIt();
 _st((smalltalk.DoIt || DoIt))._removeCompiledMethod_(_st(_st((smalltalk.DoIt || DoIt))._methodDictionary())._at_("doIt"));
 $1=result;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString,result:result}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"evaluateExpression:",{aString:aString,result:result}, smalltalk.Compiler)})},
+messageSends: ["addCompiledMethod:", "eval:", "compileExpression:", "doIt", "new", "removeCompiledMethod:", "at:", "methodDictionary"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -153,8 +153,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._installMethod_forClass_category_(_st(self)._eval_(_st(self)._compile_forClass_(aString,aBehavior)),aBehavior,anotherString);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"install:forClass:category:",{aString:aString,aBehavior:aBehavior,anotherString:anotherString}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"install:forClass:category:",{aString:aString,aBehavior:aBehavior,anotherString:anotherString}, smalltalk.Compiler)})},
+messageSends: ["installMethod:forClass:category:", "eval:", "compile:forClass:", "new"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -166,8 +166,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._parse_(aString);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString}, smalltalk.Compiler)})},
+messageSends: ["parse:", "current"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -179,8 +179,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._parse_(_st(_st("doIt ^[").__comma(aString)).__comma("] value"));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"parseExpression:",{aString:aString}, smalltalk.Compiler)})},
+messageSends: ["parse:", ","]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -198,8 +198,8 @@ $1=_st(aClass)._isMetaclass();
 if(! smalltalk.assert($1)){
 _st(self)._recompile_(_st(aClass)._class());
 };
-return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass}, smalltalk.Compiler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass}, smalltalk.Compiler)})},
+messageSends: ["do:", "log:", ",", "selector", "name", "install:forClass:category:", "source", "category", "methodDictionary", "ifFalse:", "recompile:", "class", "isMetaclass"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -218,8 +218,8 @@ return _st((function(){
 return smalltalk.withContext(function($ctx3) {
return _st(self)._recompile_(each);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}))._valueWithTimeout_((100));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{}, smalltalk.Compiler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{}, smalltalk.Compiler)})},
+messageSends: ["do:", "show:", "cr", "valueWithTimeout:", "recompile:", "classes", "current"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -236,8 +236,8 @@ $1="";
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.Compiler)})},
+messageSends: ["ifNil:"]}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -247,8 +247,8 @@ selector: "source:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.Compiler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.Compiler)})},
+messageSends: []}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -260,8 +260,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@unknownVariables"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"unknownVariables",{}, smalltalk.Compiler)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"unknownVariables",{}, smalltalk.Compiler)})},
+messageSends: []}),
 smalltalk.Compiler);
 
 smalltalk.addMethod(
@@ -271,8 +271,8 @@ selector: "unknownVariables:",
 fn: function (aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@unknownVariables"]=aCollection;
-return self}, function($ctx1) {$ctx1.fill(self,"unknownVariables:",{aCollection:aCollection}, smalltalk.Compiler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"unknownVariables:",{aCollection:aCollection}, smalltalk.Compiler)})},
+messageSends: []}),
 smalltalk.Compiler);
 
 
@@ -283,8 +283,8 @@ selector: "recompile:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._new())._recompile_(aClass);
-return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass}, smalltalk.Compiler.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass}, smalltalk.Compiler.klass)})},
+messageSends: ["recompile:", "new"]}),
 smalltalk.Compiler.klass);
 
 smalltalk.addMethod(
@@ -296,8 +296,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._classes())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._recompile_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{}, smalltalk.Compiler.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"recompileAll",{}, smalltalk.Compiler.klass)})},
+messageSends: ["do:", "recompile:", "classes", "current"]}),
 smalltalk.Compiler.klass);
 
 
@@ -314,8 +314,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(aNode)._accept_(self);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visit:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visit:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["accept:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -329,8 +329,8 @@ $1=_st(aCollection)._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitAll:",{aCollection:aCollection}, smalltalk.NodeVisitor)})},
+messageSends: ["collect:", "visit:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -342,8 +342,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -355,8 +355,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -368,8 +368,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitSequenceNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitBlockSequenceNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitSequenceNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -381,8 +381,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -394,8 +394,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitVariableNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitVariableNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -407,8 +407,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitDynamicArrayNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -420,8 +420,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitDynamicDictionaryNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -433,8 +433,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitJSStatementNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -446,8 +446,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -459,8 +459,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitAll_(_st(aNode)._nodes());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitAll:", "nodes"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -472,8 +472,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -485,8 +485,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -498,8 +498,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -511,8 +511,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitValueNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 smalltalk.addMethod(
@@ -524,8 +524,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._visitNode_(aNode);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode}, smalltalk.NodeVisitor)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode}, smalltalk.NodeVisitor)})},
+messageSends: ["visitNode:"]}),
 smalltalk.NodeVisitor);
 
 
@@ -550,8 +550,8 @@ $1=_st(aClass)._name();
 };
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"classNameFor:",{aClass:aClass}, smalltalk.AbstractCodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"classNameFor:",{aClass:aClass}, smalltalk.AbstractCodeGenerator)})},
+messageSends: ["ifTrue:ifFalse:", ",", "name", "instanceClass", "isNil", "isMetaclass"]}),
 smalltalk.AbstractCodeGenerator);
 
 smalltalk.addMethod(
@@ -561,8 +561,8 @@ selector: "compileNode:",
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._subclassResponsibility();
-return self}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode}, smalltalk.AbstractCodeGenerator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode}, smalltalk.AbstractCodeGenerator)})},
+messageSends: ["subclassResponsibility"]}),
 smalltalk.AbstractCodeGenerator);
 
 smalltalk.addMethod(
@@ -574,8 +574,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@currentClass"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"currentClass",{}, smalltalk.AbstractCodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"currentClass",{}, smalltalk.AbstractCodeGenerator)})},
+messageSends: []}),
 smalltalk.AbstractCodeGenerator);
 
 smalltalk.addMethod(
@@ -585,8 +585,8 @@ selector: "currentClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@currentClass"]=aClass;
-return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass}, smalltalk.AbstractCodeGenerator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"currentClass:",{aClass:aClass}, smalltalk.AbstractCodeGenerator)})},
+messageSends: []}),
 smalltalk.AbstractCodeGenerator);
 
 smalltalk.addMethod(
@@ -596,8 +596,8 @@ selector: "pseudoVariables",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return ["self", "super", "true", "false", "nil", "thisContext"];
-}, function($ctx1) {$ctx1.fill(self,"pseudoVariables",{}, smalltalk.AbstractCodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"pseudoVariables",{}, smalltalk.AbstractCodeGenerator)})},
+messageSends: []}),
 smalltalk.AbstractCodeGenerator);
 
 smalltalk.addMethod(
@@ -614,8 +614,8 @@ $1=_st(aString).__comma("_");
 $1=aString;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"safeVariableNameFor:",{aString:aString}, smalltalk.AbstractCodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"safeVariableNameFor:",{aString:aString}, smalltalk.AbstractCodeGenerator)})},
+messageSends: ["ifTrue:ifFalse:", ",", "includes:", "reservedWords", "current"]}),
 smalltalk.AbstractCodeGenerator);
 
 smalltalk.addMethod(
@@ -632,8 +632,8 @@ $1="";
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.AbstractCodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.AbstractCodeGenerator)})},
+messageSends: ["ifNil:"]}),
 smalltalk.AbstractCodeGenerator);
 
 smalltalk.addMethod(
@@ -643,8 +643,8 @@ selector: "source:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@source"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.AbstractCodeGenerator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.AbstractCodeGenerator)})},
+messageSends: []}),
 smalltalk.AbstractCodeGenerator);
 
 
@@ -665,8 +665,8 @@ _st($2)._visit_(ir);
 $3=_st($2)._contents();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,ir:ir,stream:stream}, smalltalk.CodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,ir:ir,stream:stream}, smalltalk.CodeGenerator)})},
+messageSends: ["visit:", "semanticAnalyzer", "translator", "irTranslator", "contents"]}),
 smalltalk.CodeGenerator);
 
 smalltalk.addMethod(
@@ -678,8 +678,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.IRJSTranslator || IRJSTranslator))._new();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"irTranslator",{}, smalltalk.CodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"irTranslator",{}, smalltalk.CodeGenerator)})},
+messageSends: ["new"]}),
 smalltalk.CodeGenerator);
 
 smalltalk.addMethod(
@@ -691,8 +691,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.SemanticAnalyzer || SemanticAnalyzer))._on_(_st(self)._currentClass());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{}, smalltalk.CodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"semanticAnalyzer",{}, smalltalk.CodeGenerator)})},
+messageSends: ["on:", "currentClass"]}),
 smalltalk.CodeGenerator);
 
 smalltalk.addMethod(
@@ -708,8 +708,8 @@ _st($2)._theClass_(_st(self)._currentClass());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"translator",{}, smalltalk.CodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"translator",{}, smalltalk.CodeGenerator)})},
+messageSends: ["source:", "source", "new", "theClass:", "currentClass", "yourself"]}),
 smalltalk.CodeGenerator);
 
 

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

@@ -21,8 +21,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(" Invalid assignment to variable: ").__comma(_st(self)._variableName());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.InvalidAssignmentError)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.InvalidAssignmentError)})},
+messageSends: [",", "variableName"]}),
 smalltalk.InvalidAssignmentError);
 
 smalltalk.addMethod(
@@ -34,8 +34,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@variableName"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.InvalidAssignmentError)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.InvalidAssignmentError)})},
+messageSends: []}),
 smalltalk.InvalidAssignmentError);
 
 smalltalk.addMethod(
@@ -45,8 +45,8 @@ selector: "variableName:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.InvalidAssignmentError)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.InvalidAssignmentError)})},
+messageSends: []}),
 smalltalk.InvalidAssignmentError);
 
 
@@ -61,8 +61,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st("Variable shadowing error: ").__comma(_st(self)._variableName())).__comma(" is already defined");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.ShadowingVariableError)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.ShadowingVariableError)})},
+messageSends: [",", "variableName"]}),
 smalltalk.ShadowingVariableError);
 
 smalltalk.addMethod(
@@ -74,8 +74,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@variableName"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.ShadowingVariableError)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.ShadowingVariableError)})},
+messageSends: []}),
 smalltalk.ShadowingVariableError);
 
 smalltalk.addMethod(
@@ -85,8 +85,8 @@ selector: "variableName:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.ShadowingVariableError)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.ShadowingVariableError)})},
+messageSends: []}),
 smalltalk.ShadowingVariableError);
 
 
@@ -101,8 +101,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st("Unknown Variable error: ").__comma(_st(self)._variableName())).__comma(" is not defined");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.UnknownVariableError)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.UnknownVariableError)})},
+messageSends: [",", "variableName"]}),
 smalltalk.UnknownVariableError);
 
 smalltalk.addMethod(
@@ -114,8 +114,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@variableName"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.UnknownVariableError)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"variableName",{}, smalltalk.UnknownVariableError)})},
+messageSends: []}),
 smalltalk.UnknownVariableError);
 
 smalltalk.addMethod(
@@ -125,8 +125,8 @@ selector: "variableName:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@variableName"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.UnknownVariableError)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"variableName:",{aString:aString}, smalltalk.UnknownVariableError)})},
+messageSends: []}),
 smalltalk.UnknownVariableError);
 
 
@@ -139,8 +139,8 @@ selector: "basicSignal:",
 fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
throw anError;
-return self}, function($ctx1) {$ctx1.fill(self,"basicSignal:",{anError:anError}, smalltalk.RethrowErrorHandler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicSignal:",{anError:anError}, smalltalk.RethrowErrorHandler)})},
+messageSends: []}),
 smalltalk.RethrowErrorHandler);
 
 smalltalk.addMethod(
@@ -151,8 +151,8 @@ fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.ErrorHandler.fn.prototype._handleError_.apply(_st(self), [anError]);
 _st(self)._basicSignal_(anError);
-return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError}, smalltalk.RethrowErrorHandler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError}, smalltalk.RethrowErrorHandler)})},
+messageSends: ["handleError:", "basicSignal:"]}),
 smalltalk.RethrowErrorHandler);
 
 

Diferenças do arquivo suprimidas por serem muito extensas
+ 182 - 182
js/Compiler-IR.deploy.js


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

@@ -9,8 +9,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(aVisitor)._visitIRInlinedAssignment_(self);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedAssignment)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedAssignment)})},
+messageSends: ["visitIRInlinedAssignment:"]}),
 smalltalk.IRInlinedAssignment);
 
 smalltalk.addMethod(
@@ -20,8 +20,8 @@ selector: "isInlined",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedAssignment)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedAssignment)})},
+messageSends: []}),
 smalltalk.IRInlinedAssignment);
 
 
@@ -34,8 +34,8 @@ selector: "accept:",
 fn: function (aVisitor){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedClosure_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedClosure)})},
+messageSends: ["visitIRInlinedClosure:"]}),
 smalltalk.IRInlinedClosure);
 
 smalltalk.addMethod(
@@ -45,8 +45,8 @@ selector: "isInlined",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedClosure)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedClosure)})},
+messageSends: []}),
 smalltalk.IRInlinedClosure);
 
 
@@ -61,8 +61,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(aVisitor)._visitIRInlinedReturn_(self);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedReturn)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedReturn)})},
+messageSends: ["visitIRInlinedReturn:"]}),
 smalltalk.IRInlinedReturn);
 
 smalltalk.addMethod(
@@ -72,8 +72,8 @@ selector: "isInlined",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedReturn)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedReturn)})},
+messageSends: []}),
 smalltalk.IRInlinedReturn);
 
 
@@ -88,8 +88,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(aVisitor)._visitIRInlinedNonLocalReturn_(self);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedNonLocalReturn)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedNonLocalReturn)})},
+messageSends: ["visitIRInlinedNonLocalReturn:"]}),
 smalltalk.IRInlinedNonLocalReturn);
 
 smalltalk.addMethod(
@@ -99,8 +99,8 @@ selector: "isInlined",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedNonLocalReturn)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedNonLocalReturn)})},
+messageSends: []}),
 smalltalk.IRInlinedNonLocalReturn);
 
 
@@ -113,8 +113,8 @@ selector: "accept:",
 fn: function (aVisitor){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitInlinedSend_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedSend)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedSend)})},
+messageSends: ["visitInlinedSend:"]}),
 smalltalk.IRInlinedSend);
 
 smalltalk.addMethod(
@@ -124,8 +124,8 @@ selector: "isInlined",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedSend)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedSend)})},
+messageSends: []}),
 smalltalk.IRInlinedSend);
 
 
@@ -138,8 +138,8 @@ selector: "accept:",
 fn: function (aVisitor){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfFalse_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedIfFalse)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedIfFalse)})},
+messageSends: ["visitIRInlinedIfFalse:"]}),
 smalltalk.IRInlinedIfFalse);
 
 
@@ -152,8 +152,8 @@ selector: "accept:",
 fn: function (aVisitor){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfNilIfNotNil_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedIfNilIfNotNil)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedIfNilIfNotNil)})},
+messageSends: ["visitIRInlinedIfNilIfNotNil:"]}),
 smalltalk.IRInlinedIfNilIfNotNil);
 
 
@@ -166,8 +166,8 @@ selector: "accept:",
 fn: function (aVisitor){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfTrue_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedIfTrue)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedIfTrue)})},
+messageSends: ["visitIRInlinedIfTrue:"]}),
 smalltalk.IRInlinedIfTrue);
 
 
@@ -180,8 +180,8 @@ selector: "accept:",
 fn: function (aVisitor){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfTrueIfFalse_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedIfTrueIfFalse)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedIfTrueIfFalse)})},
+messageSends: ["visitIRInlinedIfTrueIfFalse:"]}),
 smalltalk.IRInlinedIfTrueIfFalse);
 
 
@@ -194,8 +194,8 @@ selector: "accept:",
 fn: function (aVisitor){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedSequence_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedSequence)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"accept:",{aVisitor:aVisitor}, smalltalk.IRInlinedSequence)})},
+messageSends: ["visitIRInlinedSequence:"]}),
 smalltalk.IRInlinedSequence);
 
 smalltalk.addMethod(
@@ -205,8 +205,8 @@ selector: "isInlined",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedSequence)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.IRInlinedSequence)})},
+messageSends: []}),
 smalltalk.IRInlinedSequence);
 
 
@@ -224,8 +224,8 @@ _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"assignmentInliner",{}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"assignmentInliner",{}, smalltalk.IRInliner)})},
+messageSends: ["translator:", "new", "yourself"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -240,8 +240,8 @@ _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"nonLocalReturnInliner",{}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"nonLocalReturnInliner",{}, smalltalk.IRInliner)})},
+messageSends: ["translator:", "new", "yourself"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -256,8 +256,8 @@ _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"returnInliner",{}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"returnInliner",{}, smalltalk.IRInliner)})},
+messageSends: ["translator:", "new", "yourself"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -272,8 +272,8 @@ _st($2)._translator_(self);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"sendInliner",{}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"sendInliner",{}, smalltalk.IRInliner)})},
+messageSends: ["translator:", "new", "yourself"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -289,8 +289,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(self)._shouldInlineSen
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"shouldInlineAssignment:",{anIRAssignment:anIRAssignment}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"shouldInlineAssignment:",{anIRAssignment:anIRAssignment}, smalltalk.IRInliner)})},
+messageSends: ["and:", "shouldInlineSend:", "last", "instructions", "isSend", "not", "isInlined"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -306,8 +306,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(self)._shouldInlineSen
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"shouldInlineReturn:",{anIRReturn:anIRReturn}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"shouldInlineReturn:",{anIRReturn:anIRReturn}, smalltalk.IRInliner)})},
+messageSends: ["and:", "shouldInlineSend:", "first", "instructions", "isSend", "not", "isInlined"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -321,8 +321,8 @@ $1=_st(_st(_st(anIRSend)._isInlined())._not())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st((smalltalk.IRSendInliner || IRSendInliner))._shouldInline_(anIRSend);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"shouldInlineSend:",{anIRSend:anIRSend}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"shouldInlineSend:",{anIRSend:anIRSend}, smalltalk.IRInliner)})},
+messageSends: ["and:", "shouldInline:", "not", "isInlined"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -350,8 +350,8 @@ return $4;
 };
 $5=smalltalk.IRVisitor.fn.prototype._visitIRNonLocalReturn_.apply(_st(self), [anIRNonLocalReturn]);
 return $5;
-}, function($ctx1) {$ctx1.fill(self,"transformNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn,localReturn:localReturn}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"transformNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn,localReturn:localReturn}, smalltalk.IRInliner)})},
+messageSends: ["ifTrue:", "removeNonLocalReturn:", "scope", "methodScope", "scope:", "new", "yourself", "do:", "add:", "instructions", "replaceWith:", "canInlineNonLocalReturns", "visitIRNonLocalReturn:"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -368,8 +368,8 @@ $1=_st(_st(self)._assignmentInliner())._inlineAssignment_(anIRAssignment);
 $1=smalltalk.IRVisitor.fn.prototype._visitIRAssignment_.apply(_st(self), [anIRAssignment]);
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitIRAssignment:",{anIRAssignment:anIRAssignment}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitIRAssignment:",{anIRAssignment:anIRAssignment}, smalltalk.IRInliner)})},
+messageSends: ["ifTrue:ifFalse:", "inlineAssignment:", "assignmentInliner", "visitIRAssignment:", "shouldInlineAssignment:"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -386,8 +386,8 @@ $1=_st(_st(self)._nonLocalReturnInliner())._inlineReturn_(anIRNonLocalReturn);
 $1=_st(self)._transformNonLocalReturn_(anIRNonLocalReturn);
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitIRNonLocalReturn:",{anIRNonLocalReturn:anIRNonLocalReturn}, smalltalk.IRInliner)})},
+messageSends: ["ifTrue:ifFalse:", "inlineReturn:", "nonLocalReturnInliner", "transformNonLocalReturn:", "shouldInlineReturn:"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -404,8 +404,8 @@ $1=_st(_st(self)._returnInliner())._inlineReturn_(anIRReturn);
 $1=smalltalk.IRVisitor.fn.prototype._visitIRReturn_.apply(_st(self), [anIRReturn]);
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitIRReturn:",{anIRReturn:anIRReturn}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitIRReturn:",{anIRReturn:anIRReturn}, smalltalk.IRInliner)})},
+messageSends: ["ifTrue:ifFalse:", "inlineReturn:", "returnInliner", "visitIRReturn:", "shouldInlineReturn:"]}),
 smalltalk.IRInliner);
 
 smalltalk.addMethod(
@@ -422,8 +422,8 @@ $1=_st(_st(self)._sendInliner())._inlineSend_(anIRSend);
 $1=smalltalk.IRVisitor.fn.prototype._visitIRSend_.apply(_st(self), [anIRSend]);
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"visitIRSend:",{anIRSend:anIRSend}, smalltalk.IRInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"visitIRSend:",{anIRSend:anIRSend}, smalltalk.IRInliner)})},
+messageSends: ["ifTrue:ifFalse:", "inlineSend:", "sendInliner", "visitIRSend:", "shouldInlineSend:"]}),
 smalltalk.IRInliner);
 
 
@@ -436,8 +436,8 @@ selector: "visitIRInlinedAssignment:",
 fn: function (anIRInlinedAssignment){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedAssignment:",{anIRInlinedAssignment:anIRInlinedAssignment}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedAssignment:",{anIRInlinedAssignment:anIRInlinedAssignment}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["visit:", "last", "instructions"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -449,8 +449,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(anIRInlinedClosure)._instructions())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedClosure:",{anIRInlinedClosure:anIRInlinedClosure}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["do:", "visit:", "instructions"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -466,8 +466,8 @@ return _st(_st(self)._stream())._nextPutAll_(")");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfFalse:",{anIRInlinedIfFalse:anIRInlinedIfFalse}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfFalse:",{anIRInlinedIfFalse:anIRInlinedIfFalse}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -483,8 +483,8 @@ return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNil:",{anIRInlinedIfNil:anIRInlinedIfNil}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNil:",{anIRInlinedIfNil:anIRInlinedIfNil}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -502,8 +502,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._third());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNilIfNotNil:",{anIRInlinedIfNilIfNotNil:anIRInlinedIfNilIfNotNil}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfNilIfNotNil:",{anIRInlinedIfNilIfNotNil:anIRInlinedIfNilIfNotNil}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["nextPutIfElse:with:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "second", "third"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -519,8 +519,8 @@ return _st(_st(self)._stream())._nextPutAll_(")");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrue:",{anIRInlinedIfTrue:anIRInlinedIfTrue}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrue:",{anIRInlinedIfTrue:anIRInlinedIfTrue}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["nextPutIf:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "last"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -538,8 +538,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._third());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrueIfFalse:",{anIRInlinedIfTrueIfFalse:anIRInlinedIfTrueIfFalse}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedIfTrueIfFalse:",{anIRInlinedIfTrueIfFalse:anIRInlinedIfTrueIfFalse}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["nextPutIfElse:with:with:", "nextPutAll:", "stream", "visit:", "first", "instructions", "second", "third"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -553,8 +553,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(self)._visit_(_st(_st(
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_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)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedNonLocalReturn:",{anIRInlinedReturn:anIRInlinedReturn}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["nextPutStatementWith:", "visit:", "last", "instructions", "stream", "nextPutNonLocalReturnWith:"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -564,8 +564,8 @@ selector: "visitIRInlinedReturn:",
 fn: function (anIRInlinedReturn){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedReturn:",{anIRInlinedReturn:anIRInlinedReturn}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedReturn:",{anIRInlinedReturn:anIRInlinedReturn}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["visit:", "last", "instructions"]}),
 smalltalk.IRInliningJSTranslator);
 
 smalltalk.addMethod(
@@ -579,8 +579,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._stream())._
 return smalltalk.withContext(function($ctx3) {
return _st(self)._visit_(each);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence}, smalltalk.IRInliningJSTranslator)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitIRInlinedSequence:",{anIRInlinedSequence:anIRInlinedSequence}, smalltalk.IRInliningJSTranslator)})},
+messageSends: ["do:", "nextPutStatementWith:", "visit:", "stream", "instructions"]}),
 smalltalk.IRInliningJSTranslator);
 
 
@@ -595,8 +595,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._inlinedSend_with_(_st((smalltalk.IRInlinedIfFalse || IRInlinedIfFalse))._new(),anIRInstruction);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"ifFalse:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"ifFalse:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner)})},
+messageSends: ["inlinedSend:with:", "new"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -608,8 +608,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._perform_withArguments_(smalltalk.symbolFor("ifTrue:ifFalse:"),[anotherIRInstruction,anIRInstruction]);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRSendInliner)})},
+messageSends: ["perform:withArguments:"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -628,8 +628,8 @@ _st($2)._add_($4);
 $5=_st($2)._yourself();
 $1=_st(self)._inlinedSend_with_with_(_st((smalltalk.IRInlinedIfNilIfNotNil || IRInlinedIfNilIfNotNil))._new(),anIRInstruction,$5);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"ifNil:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"ifNil:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner)})},
+messageSends: ["inlinedSend:with:with:", "new", "scope:", "copy", "scope", "add:", "first", "instructions", "send", "yourself"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -641,8 +641,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._inlinedSend_with_with_(_st((smalltalk.IRInlinedIfNilIfNotNil || IRInlinedIfNilIfNotNil))._new(),anIRInstruction,anotherIRInstruction);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRSendInliner)})},
+messageSends: ["inlinedSend:with:with:", "new"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -661,8 +661,8 @@ _st($2)._add_($4);
 $5=_st($2)._yourself();
 $1=_st(self)._inlinedSend_with_with_(_st((smalltalk.IRInlinedIfNilIfNotNil || IRInlinedIfNilIfNotNil))._new(),$5,anIRInstruction);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"ifNotNil:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"ifNotNil:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner)})},
+messageSends: ["inlinedSend:with:with:", "new", "scope:", "copy", "scope", "add:", "first", "instructions", "send", "yourself"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -674,8 +674,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._inlinedSend_with_with_(_st((smalltalk.IRInlinedIfNilIfNotNil || IRInlinedIfNilIfNotNil))._new(),anotherIRInstruction,anIRInstruction);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRSendInliner)})},
+messageSends: ["inlinedSend:with:with:", "new"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -687,8 +687,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._inlinedSend_with_(_st((smalltalk.IRInlinedIfTrue || IRInlinedIfTrue))._new(),anIRInstruction);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"ifTrue:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"ifTrue:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner)})},
+messageSends: ["inlinedSend:with:", "new"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -700,8 +700,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._inlinedSend_with_with_(_st((smalltalk.IRInlinedIfTrueIfFalse || IRInlinedIfTrueIfFalse))._new(),anIRInstruction,anotherIRInstruction);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction}, smalltalk.IRSendInliner)})},
+messageSends: ["inlinedSend:with:with:", "new"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -738,8 +738,8 @@ return _st(sequence)._add_(_st(statements)._last());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $3=inlinedClosure;
 return $3;
-}, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure,inlinedClosure:inlinedClosure,sequence:sequence,statements:statements}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure,inlinedClosure:inlinedClosure,sequence:sequence,statements:statements}, smalltalk.IRSendInliner)})},
+messageSends: ["inlinedClosure", "scope:", "scope", "do:", "ifFalse:", "add:", "isSequence", "instructions", "inlinedSequence", "last", "ifNotEmpty:", "allButLast", "ifTrue:ifFalse:", "first", "and:", "isBlockReturn", "isReturn"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -752,8 +752,8 @@ return smalltalk.withContext(function($ctx1) { 
var $1;
 _st(self)._send_(anIRSend);
 $1=_st(self)._perform_withArguments_(_st(_st(self)._send())._selector(),_st(_st(_st(self)._send())._instructions())._allButFirst());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inlineSend:",{anIRSend:anIRSend}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlineSend:",{anIRSend:anIRSend}, smalltalk.IRSendInliner)})},
+messageSends: ["send:", "perform:withArguments:", "selector", "send", "allButFirst", "instructions"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -765,8 +765,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.IRInlinedClosure || IRInlinedClosure))._new();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inlinedClosure",{}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlinedClosure",{}, smalltalk.IRSendInliner)})},
+messageSends: ["new"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -792,8 +792,8 @@ $4=_st($3)._add_(inlinedClosure);
 _st(_st(self)._send())._replaceWith_(inlinedSend);
 $5=inlinedSend;
 return $5;
-}, function($ctx1) {$ctx1.fill(self,"inlinedSend:with:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,inlinedClosure:inlinedClosure}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlinedSend:with:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,inlinedClosure:inlinedClosure}, smalltalk.IRSendInliner)})},
+messageSends: ["ifFalse:", "inliningError:", "isClosure", "=", "size", "arguments", "visit:", "inlineClosure:", "translator", "add:", "first", "instructions", "send", "replaceWith:"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -829,8 +829,8 @@ $6=_st($5)._add_(inlinedClosure2);
 _st(_st(self)._send())._replaceWith_(inlinedSend);
 $7=inlinedSend;
 return $7;
-}, function($ctx1) {$ctx1.fill(self,"inlinedSend:with:with:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction,inlinedClosure1:inlinedClosure1,inlinedClosure2:inlinedClosure2}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlinedSend:with:with:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction,inlinedClosure1:inlinedClosure1,inlinedClosure2:inlinedClosure2}, smalltalk.IRSendInliner)})},
+messageSends: ["ifFalse:", "inliningError:", "isClosure", "=", "size", "arguments", "visit:", "inlineClosure:", "translator", "add:", "first", "instructions", "send", "replaceWith:"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -842,8 +842,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.IRInlinedSequence || IRInlinedSequence))._new();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inlinedSequence",{}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlinedSequence",{}, smalltalk.IRSendInliner)})},
+messageSends: ["new"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -853,8 +853,8 @@ selector: "inliningError:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st((smalltalk.InliningError || InliningError))._signal_(aString);
-return self}, function($ctx1) {$ctx1.fill(self,"inliningError:",{aString:aString}, smalltalk.IRSendInliner)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"inliningError:",{aString:aString}, smalltalk.IRSendInliner)})},
+messageSends: ["signal:"]}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -866,8 +866,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@send"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"send",{}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"send",{}, smalltalk.IRSendInliner)})},
+messageSends: []}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -877,8 +877,8 @@ selector: "send:",
 fn: function (anIRSend){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@send"]=anIRSend;
-return self}, function($ctx1) {$ctx1.fill(self,"send:",{anIRSend:anIRSend}, smalltalk.IRSendInliner)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"send:",{anIRSend:anIRSend}, smalltalk.IRSendInliner)})},
+messageSends: []}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -890,8 +890,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@translator"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"translator",{}, smalltalk.IRSendInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"translator",{}, smalltalk.IRSendInliner)})},
+messageSends: []}),
 smalltalk.IRSendInliner);
 
 smalltalk.addMethod(
@@ -901,8 +901,8 @@ selector: "translator:",
 fn: function (anASTTranslator){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@translator"]=anASTTranslator;
-return self}, function($ctx1) {$ctx1.fill(self,"translator:",{anASTTranslator:anASTTranslator}, smalltalk.IRSendInliner)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"translator:",{anASTTranslator:anASTTranslator}, smalltalk.IRSendInliner)})},
+messageSends: []}),
 smalltalk.IRSendInliner);
 
 
@@ -913,8 +913,8 @@ selector: "inlinedSelectors",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return ["ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:", "ifNil:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil"];
-}, function($ctx1) {$ctx1.fill(self,"inlinedSelectors",{}, smalltalk.IRSendInliner.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlinedSelectors",{}, smalltalk.IRSendInliner.klass)})},
+messageSends: []}),
 smalltalk.IRSendInliner.klass);
 
 smalltalk.addMethod(
@@ -939,8 +939,8 @@ throw $early=[false];
 return true;
 }
 catch(e) {if(e===$early)return e[0]; throw e}
-}, function($ctx1) {$ctx1.fill(self,"shouldInline:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"shouldInline:",{anIRInstruction:anIRInstruction}, smalltalk.IRSendInliner.klass)})},
+messageSends: ["ifFalse:", "includes:", "selector", "inlinedSelectors", "do:", "isClosure", "allButFirst", "instructions"]}),
 smalltalk.IRSendInliner.klass);
 
 
@@ -954,8 +954,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@assignment"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"assignment",{}, smalltalk.IRAssignmentInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"assignment",{}, smalltalk.IRAssignmentInliner)})},
+messageSends: []}),
 smalltalk.IRAssignmentInliner);
 
 smalltalk.addMethod(
@@ -965,8 +965,8 @@ selector: "assignment:",
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@assignment"]=aNode;
-return self}, function($ctx1) {$ctx1.fill(self,"assignment:",{aNode:aNode}, smalltalk.IRAssignmentInliner)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"assignment:",{aNode:aNode}, smalltalk.IRAssignmentInliner)})},
+messageSends: []}),
 smalltalk.IRAssignmentInliner);
 
 smalltalk.addMethod(
@@ -986,8 +986,8 @@ _st(anIRAssignment)._replaceWith_(inlinedAssignment);
 _st(self)._inlineSend_(_st(_st(inlinedAssignment)._instructions())._last());
 $1=inlinedAssignment;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inlineAssignment:",{anIRAssignment:anIRAssignment,inlinedAssignment:inlinedAssignment}, smalltalk.IRAssignmentInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlineAssignment:",{anIRAssignment:anIRAssignment,inlinedAssignment:inlinedAssignment}, smalltalk.IRAssignmentInliner)})},
+messageSends: ["assignment:", "new", "do:", "add:", "instructions", "replaceWith:", "inlineSend:", "last"]}),
 smalltalk.IRAssignmentInliner);
 
 smalltalk.addMethod(
@@ -1012,8 +1012,8 @@ return _st(_st(statements)._last())._replaceWith_($3);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $4=inlinedClosure;
 return $4;
-}, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure,inlinedClosure:inlinedClosure,statements:statements}, smalltalk.IRAssignmentInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure,inlinedClosure:inlinedClosure,statements:statements}, smalltalk.IRAssignmentInliner)})},
+messageSends: ["inlineClosure:", "instructions", "last", "ifNotEmpty:", "ifTrue:", "replaceWith:", "add:", "first", "assignment", "new", "copy", "yourself", "canBeAssigned"]}),
 smalltalk.IRAssignmentInliner);
 
 
@@ -1028,8 +1028,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=smalltalk.IRSendInliner.fn.prototype._inlineCLosure_.apply(_st(self), [anIRClosure]);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure}, smalltalk.IRNonLocalReturnInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure}, smalltalk.IRNonLocalReturnInliner)})},
+messageSends: ["inlineCLosure:"]}),
 smalltalk.IRNonLocalReturnInliner);
 
 smalltalk.addMethod(
@@ -1041,8 +1041,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.IRInlinedNonLocalReturn || IRInlinedNonLocalReturn))._new();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{}, smalltalk.IRNonLocalReturnInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{}, smalltalk.IRNonLocalReturnInliner)})},
+messageSends: ["new"]}),
 smalltalk.IRNonLocalReturnInliner);
 
 
@@ -1069,8 +1069,8 @@ return _st(_st(statements)._last())._replaceWith_($3);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 $4=closure;
 return $4;
-}, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure,closure:closure,statements:statements}, smalltalk.IRReturnInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlineClosure:",{anIRClosure:anIRClosure,closure:closure,statements:statements}, smalltalk.IRReturnInliner)})},
+messageSends: ["inlineClosure:", "instructions", "last", "ifNotEmpty:", "ifFalse:", "replaceWith:", "add:", "copy", "new", "yourself", "isReturn"]}),
 smalltalk.IRReturnInliner);
 
 smalltalk.addMethod(
@@ -1089,8 +1089,8 @@ _st(anIRReturn)._replaceWith_(return_);
 _st(self)._inlineSend_(_st(_st(return_)._instructions())._last());
 $1=return_;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inlineReturn:",{anIRReturn:anIRReturn,return_:return_}, smalltalk.IRReturnInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlineReturn:",{anIRReturn:anIRReturn,return_:return_}, smalltalk.IRReturnInliner)})},
+messageSends: ["inlinedReturn", "do:", "add:", "instructions", "replaceWith:", "inlineSend:", "last"]}),
 smalltalk.IRReturnInliner);
 
 smalltalk.addMethod(
@@ -1102,8 +1102,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.IRInlinedReturn || IRInlinedReturn))._new();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{}, smalltalk.IRReturnInliner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inlinedReturn",{}, smalltalk.IRReturnInliner)})},
+messageSends: ["new"]}),
 smalltalk.IRReturnInliner);
 
 
@@ -1125,8 +1125,8 @@ _st($2)._visit_(ir);
 $3=_st($2)._contents();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,ir:ir,stream:stream}, smalltalk.InliningCodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,ir:ir,stream:stream}, smalltalk.InliningCodeGenerator)})},
+messageSends: ["visit:", "semanticAnalyzer", "translator", "inliner", "irTranslator", "contents"]}),
 smalltalk.InliningCodeGenerator);
 
 smalltalk.addMethod(
@@ -1138,8 +1138,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.IRInliner || IRInliner))._new();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inliner",{}, smalltalk.InliningCodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inliner",{}, smalltalk.InliningCodeGenerator)})},
+messageSends: ["new"]}),
 smalltalk.InliningCodeGenerator);
 
 smalltalk.addMethod(
@@ -1151,8 +1151,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.IRInliningJSTranslator || IRInliningJSTranslator))._new();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"irTranslator",{}, smalltalk.InliningCodeGenerator)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"irTranslator",{}, smalltalk.InliningCodeGenerator)})},
+messageSends: ["new"]}),
 smalltalk.InliningCodeGenerator);
 
 

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

@@ -19,8 +19,8 @@ _st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethod
 _st(_st(aMethodContext)._locals())._keysAndValuesDo_((function(key,value){
 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._locals())._at_put_(key,value);
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext}, smalltalk.AIContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext}, smalltalk.AIContext)})},
+messageSends: ["pc:", "pc", "receiver:", "receiver", "method:", "method", "ifNotNil:", "outerContext:", "fromMethodContext:", "outerContext", "class", "keysAndValuesDo:", "at:put:", "locals"]}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -34,8 +34,8 @@ $1=_st(_st(self)._locals())._at_ifAbsent_(aString,(function(){
 return smalltalk.withContext(function($ctx2) {
return nil;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString}, smalltalk.AIContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString}, smalltalk.AIContext)})},
+messageSends: ["at:ifAbsent:", "locals"]}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -45,8 +45,8 @@ selector: "localAt:put:",
 fn: function (aString,anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._locals())._at_put_(aString,anObject);
-return self}, function($ctx1) {$ctx1.fill(self,"localAt:put:",{aString:aString,anObject:anObject}, smalltalk.AIContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"localAt:put:",{aString:aString,anObject:anObject}, smalltalk.AIContext)})},
+messageSends: ["at:put:", "locals"]}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -64,8 +64,8 @@ $1=self["@locals"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"locals",{}, smalltalk.AIContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"locals",{}, smalltalk.AIContext)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -77,8 +77,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@method"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.AIContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.AIContext)})},
+messageSends: []}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -88,8 +88,8 @@ selector: "method:",
 fn: function (aCompiledMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@method"]=aCompiledMethod;
-return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod}, smalltalk.AIContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod}, smalltalk.AIContext)})},
+messageSends: []}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -101,8 +101,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@outerContext"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"outerContext",{}, smalltalk.AIContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"outerContext",{}, smalltalk.AIContext)})},
+messageSends: []}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -112,8 +112,8 @@ selector: "outerContext:",
 fn: function (anAIContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@outerContext"]=anAIContext;
-return self}, function($ctx1) {$ctx1.fill(self,"outerContext:",{anAIContext:anAIContext}, smalltalk.AIContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"outerContext:",{anAIContext:anAIContext}, smalltalk.AIContext)})},
+messageSends: []}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -131,8 +131,8 @@ $1=self["@pc"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"pc",{}, smalltalk.AIContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"pc",{}, smalltalk.AIContext)})},
+messageSends: ["ifNil:"]}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -142,8 +142,8 @@ selector: "pc:",
 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.AIContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger}, smalltalk.AIContext)})},
+messageSends: []}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -155,8 +155,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._localAt_("self");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"receiver",{}, smalltalk.AIContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"receiver",{}, smalltalk.AIContext)})},
+messageSends: ["localAt:"]}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -166,8 +166,8 @@ selector: "receiver:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._localAt_put_("self",anObject);
-return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject}, smalltalk.AIContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject}, smalltalk.AIContext)})},
+messageSends: ["localAt:put:"]}),
 smalltalk.AIContext);
 
 smalltalk.addMethod(
@@ -184,8 +184,8 @@ $1=$2;
 $1=_st(_st(self)._method())._selector();
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.AIContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.AIContext)})},
+messageSends: ["ifNotNil:", "selector", "method", "metod"]}),
 smalltalk.AIContext);
 
 
@@ -201,8 +201,8 @@ _st($2)._initializeFromMethodContext_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"fromMethodContext:",{aMethodContext:aMethodContext}, smalltalk.AIContext.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"fromMethodContext:",{aMethodContext:aMethodContext}, smalltalk.AIContext.klass)})},
+messageSends: ["initializeFromMethodContext:", "new", "yourself"]}),
 smalltalk.AIContext.klass);
 
 
@@ -219,8 +219,8 @@ ast=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._parse_(_st(_st(self
 _st(_st((smalltalk.SemanticAnalyzer || SemanticAnalyzer))._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast);
 $1=ast;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"buildAST",{ast:ast}, smalltalk.ASTDebugger)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"buildAST",{ast:ast}, smalltalk.ASTDebugger)})},
+messageSends: ["parse:", "source", "method", "current", "visit:", "on:", "class", "receiver", "context"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -232,8 +232,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@context"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.ASTDebugger)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.ASTDebugger)})},
+messageSends: []}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -243,8 +243,8 @@ selector: "context:",
 fn: function (aContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@context"]=_st((smalltalk.AIContext || AIContext))._new();
-return self}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext}, smalltalk.ASTDebugger)})},
+messageSends: ["new"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -256,8 +256,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=(smalltalk.ASTSteppingInterpreter || ASTSteppingInterpreter);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{}, smalltalk.ASTDebugger)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{}, smalltalk.ASTDebugger)})},
+messageSends: []}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -267,8 +267,8 @@ selector: "initializeInterpreter",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._interpreter())._interpret_(_st(_st(_st(self)._buildAST())._nodes())._first());
-return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{}, smalltalk.ASTDebugger)})},
+messageSends: ["interpret:", "first", "nodes", "buildAST", "interpreter"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -279,8 +279,8 @@ fn: function (aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._context_(_st((smalltalk.AIContext || AIContext))._fromMethodContext_(aMethodContext));
 _st(self)._initializeInterpreter();
-return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext}, smalltalk.ASTDebugger)})},
+messageSends: ["context:", "fromMethodContext:", "initializeInterpreter"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -298,8 +298,8 @@ $1=self["@interpreter"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.ASTDebugger)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.ASTDebugger)})},
+messageSends: ["ifNil:", "new", "defaultInterpreterClass"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -309,8 +309,8 @@ selector: "interpreter:",
 fn: function (anInterpreter){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@interpreter"]=anInterpreter;
-return self}, function($ctx1) {$ctx1.fill(self,"interpreter:",{anInterpreter:anInterpreter}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpreter:",{anInterpreter:anInterpreter}, smalltalk.ASTDebugger)})},
+messageSends: []}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -322,8 +322,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._context())._method();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.ASTDebugger)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.ASTDebugger)})},
+messageSends: ["method", "context"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -333,8 +333,8 @@ selector: "restart",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
-return self}, function($ctx1) {$ctx1.fill(self,"restart",{}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"restart",{}, smalltalk.ASTDebugger)})},
+messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -344,8 +344,8 @@ selector: "resume",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
-return self}, function($ctx1) {$ctx1.fill(self,"resume",{}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"resume",{}, smalltalk.ASTDebugger)})},
+messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -364,8 +364,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(_st(_st(self)._interpr
 return smalltalk.withContext(function($ctx2) {
_st(_st(self)._interpreter())._step();
 return _st(self)._step();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"step",{}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"step",{}, smalltalk.ASTDebugger)})},
+messageSends: ["whileFalse:", "step", "interpreter", "or:", "not", "atEnd", "and:", "stopOnStepping", "nextNode", "notNil"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -375,8 +375,8 @@ selector: "stepInto",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented();
-return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{}, smalltalk.ASTDebugger)})},
+messageSends: ["shouldBeImplemented"]}),
 smalltalk.ASTDebugger);
 
 smalltalk.addMethod(
@@ -386,8 +386,8 @@ selector: "stepOver",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._step();
-return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{}, smalltalk.ASTDebugger)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{}, smalltalk.ASTDebugger)})},
+messageSends: ["step"]}),
 smalltalk.ASTDebugger);
 
 
@@ -403,8 +403,8 @@ _st($2)._initializeWithContext_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext}, smalltalk.ASTDebugger.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext}, smalltalk.ASTDebugger.klass)})},
+messageSends: ["initializeWithContext:", "new", "yourself"]}),
 smalltalk.ASTDebugger.klass);
 
 
@@ -423,8 +423,8 @@ $1=_st(_st(_st(self)._context())._receiver())._instVarAt_put_(_st(aNode)._value(
 $1=_st(_st(self)._context())._localAt_put_(_st(aNode)._value(),anObject);
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"assign:to:",{aNode:aNode,anObject:anObject}, smalltalk.ASTInterpreter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"assign:to:",{aNode:aNode,anObject:anObject}, smalltalk.ASTInterpreter)})},
+messageSends: ["ifTrue:ifFalse:", "instVarAt:put:", "value", "receiver", "context", "localAt:put:", "isInstanceVar", "binding"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -442,8 +442,8 @@ $1=self["@context"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.ASTInterpreter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.ASTInterpreter)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -453,8 +453,8 @@ selector: "context:",
 fn: function (anAIContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@context"]=anAIContext;
-return self}, function($ctx1) {$ctx1.fill(self,"context:",{anAIContext:anAIContext}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"context:",{anAIContext:anAIContext}, smalltalk.ASTInterpreter)})},
+messageSends: []}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -465,8 +465,8 @@ fn: function (aBlock,anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@result"]=anObject;
 _st(aBlock)._value_(anObject);
-return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject}, smalltalk.ASTInterpreter)})},
+messageSends: ["value:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -478,8 +478,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@currentNode"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"currentNode",{}, smalltalk.ASTInterpreter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"currentNode",{}, smalltalk.ASTInterpreter)})},
+messageSends: []}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -506,8 +506,8 @@ return $2;
 function_=_st(_st((smalltalk.Compiler || Compiler))._new())._eval_(source);
 $3=_st(function_)._valueWithPossibleArguments_(_st(_st(_st(self)._context())._locals())._values());
 return $3;
-}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString,source:source,function_:function_}, smalltalk.ASTInterpreter)})}
-}),
+}, 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"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -518,8 +518,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@shouldReturn"]=false;
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ASTInterpreter)})},
+messageSends: ["initialize"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -533,8 +533,8 @@ _st(self)._interpret_continue_(aNode,(function(value){
 return smalltalk.withContext(function($ctx2) {
self["@result"]=value;
 return self["@result"];
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpret:continue:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -559,8 +559,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_
 } else {
 _st(self)._continue_value_(aBlock,aNode);
 };
-return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["ifTrue:", "ifTrue:ifFalse:", "interpretNode:continue:", "continue:value:", "isNode"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -570,8 +570,8 @@ selector: "interpretAll:continue:",
 fn: function (aCollection,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_result_(aCollection,aBlock,_st((smalltalk.OrderedCollection || OrderedCollection))._new());
-return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:",{aCollection:aCollection,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:",{aCollection:aCollection,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpretAll:continue:result:", "new"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -589,8 +589,8 @@ _st(self)._interpret_continue_(_st(nodes)._first(),(function(value){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._interpretAll_continue_result_(_st(nodes)._allButFirst(),aBlock,_st(aCollection).__comma([value]));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 };
-return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:result:",{nodes:nodes,aBlock:aBlock,aCollection:aCollection}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:result:",{nodes:nodes,aBlock:aBlock,aCollection:aCollection}, smalltalk.ASTInterpreter)})},
+messageSends: ["ifTrue:ifFalse:", "continue:value:", "interpret:continue:", "first", "interpretAll:continue:result:", "allButFirst", ",", "isEmpty"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -602,8 +602,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(self)._assign_to_(_st(aNode)._left(),value));
 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpret:continue:", "right", "continue:value:", "assign:to:", "left"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -619,8 +619,8 @@ _st($1)._interpret_(_st(_st(aNode)._nodes())._first());
 $2=_st($1)._result();
 return $2;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["continue:value:", "interpret:", "first", "nodes", "result"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -630,8 +630,8 @@ selector: "interpretBlockSequenceNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretSequenceNode_continue_(aNode,aBlock);
-return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockSequenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockSequenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpretSequenceNode:continue:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -650,8 +650,8 @@ return smalltalk.withContext(function($ctx4) {
return _st(self)._continue_value_
 }, function($ctx4) {$ctx4.fillBlock({val:val},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretCascadeNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+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:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -661,8 +661,8 @@ selector: "interpretClassReferenceNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(_st(aNode)._value()));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretClassReferenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretClassReferenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["continue:value:", "at:", "value", "current"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -674,8 +674,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,array);
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpretAll:continue:", "nodes", "continue:value:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -693,8 +693,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(hashedCollection)._add
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
 return _st(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)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicDictionaryNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpretAll:continue:", "nodes", "new", "do:", "add:", "continue:value:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -705,8 +705,8 @@ 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()));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["continue:value:", "eval:", "source"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -718,8 +718,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._first());
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "first"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -729,8 +729,8 @@ selector: "interpretNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aNode)._interpreter_continue_(self,aBlock);
-return self}, function($ctx1) {$ctx1.fill(self,"interpretNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpreter:continue:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -744,8 +744,8 @@ return smalltalk.withContext(function($ctx2) {
self["@shouldReturn"]=true;
 self["@shouldReturn"];
 return _st(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)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretReturnNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpret:continue:", "first", "nodes", "continue:value:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -762,8 +762,8 @@ return _st(self)._continue_value_(aBlock,_st(message)._sendTo_(receiver));
 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretSendNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+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:", "sendTo:"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -775,8 +775,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._last());
 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "last"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -786,8 +786,8 @@ selector: "interpretValueNode:continue:",
 fn: function (aNode,aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(aNode)._value());
-return self}, function($ctx1) {$ctx1.fill(self,"interpretValueNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretValueNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["continue:value:", "value"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -806,8 +806,8 @@ $3=_st(_st(_st(self)._context())._receiver())._instVarAt_(_st(aNode)._value());
 $3=_st(_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)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpretVariableNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})},
+messageSends: ["continue:value:", "ifTrue:ifFalse:", "instVarAt:", "value", "receiver", "context", "localAt:", "isInstanceVar", "binding"]}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -822,8 +822,8 @@ _st($1)._selector_(_st(aSendNode)._selector());
 _st($1)._arguments_(aCollection);
 $2=_st($1)._yourself();
 _st(self)._continue_value_(aBlock,$2);
-return self}, function($ctx1) {$ctx1.fill(self,"messageFromSendNode:arguments:do:",{aSendNode:aSendNode,aCollection:aCollection,aBlock:aBlock}, smalltalk.ASTInterpreter)})}
-}),
+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);
 
 smalltalk.addMethod(
@@ -835,8 +835,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@result"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"result",{}, smalltalk.ASTInterpreter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"result",{}, smalltalk.ASTInterpreter)})},
+messageSends: []}),
 smalltalk.ASTInterpreter);
 
 smalltalk.addMethod(
@@ -853,8 +853,8 @@ $1=false;
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"shouldReturn",{}, smalltalk.ASTInterpreter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"shouldReturn",{}, smalltalk.ASTInterpreter)})},
+messageSends: ["ifNil:"]}),
 smalltalk.ASTInterpreter);
 
 
@@ -871,8 +871,8 @@ $1=_st(_st(self)._shouldReturn())._or_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"atEnd",{}, smalltalk.ASTSteppingInterpreter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"atEnd",{}, smalltalk.ASTSteppingInterpreter)})},
+messageSends: ["or:", "==", "currentNode", "nextNode", "shouldReturn"]}),
 smalltalk.ASTSteppingInterpreter);
 
 smalltalk.addMethod(
@@ -884,8 +884,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.ASTInterpreter.fn.prototype._initialize.apply(_st(self), []);
 self["@continuation"]=(function(){
 return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ASTSteppingInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ASTSteppingInterpreter)})},
+messageSends: ["initialize"]}),
 smalltalk.ASTSteppingInterpreter);
 
 smalltalk.addMethod(
@@ -898,8 +898,8 @@ return smalltalk.withContext(function($ctx1) { 
self["@nextNode"]=aNode;
 self["@continuation"]=(function(){
 return smalltalk.withContext(function($ctx2) {
return smalltalk.ASTInterpreter.fn.prototype._interpret_continue_.apply(_st(self), [aNode,aBlock]);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
-return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTSteppingInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTSteppingInterpreter)})},
+messageSends: ["interpret:continue:"]}),
 smalltalk.ASTSteppingInterpreter);
 
 smalltalk.addMethod(
@@ -911,8 +911,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@nextNode"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"nextNode",{}, smalltalk.ASTSteppingInterpreter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"nextNode",{}, smalltalk.ASTSteppingInterpreter)})},
+messageSends: []}),
 smalltalk.ASTSteppingInterpreter);
 
 smalltalk.addMethod(
@@ -922,8 +922,8 @@ selector: "step",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self["@continuation"])._value();
-return self}, function($ctx1) {$ctx1.fill(self,"step",{}, smalltalk.ASTSteppingInterpreter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"step",{}, smalltalk.ASTSteppingInterpreter)})},
+messageSends: ["value"]}),
 smalltalk.ASTSteppingInterpreter);
 
 
@@ -937,8 +937,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.Node)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.Node)})},
+messageSends: ["interpretNode:continue:"]}),
 smalltalk.Node);
 
 smalltalk.addMethod(
@@ -948,8 +948,8 @@ selector: "isSteppingNode",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return false;
-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.Node)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.Node)})},
+messageSends: []}),
 smalltalk.Node);
 
 smalltalk.addMethod(
@@ -961,8 +961,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.AssignmentNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.AssignmentNode)})},
+messageSends: ["interpretAssignmentNode:continue:"]}),
 smalltalk.AssignmentNode);
 
 smalltalk.addMethod(
@@ -972,8 +972,8 @@ selector: "isSteppingNode",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.AssignmentNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.AssignmentNode)})},
+messageSends: []}),
 smalltalk.AssignmentNode);
 
 smalltalk.addMethod(
@@ -985,8 +985,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.BlockNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.BlockNode)})},
+messageSends: ["interpretBlockNode:continue:"]}),
 smalltalk.BlockNode);
 
 smalltalk.addMethod(
@@ -996,8 +996,8 @@ selector: "isSteppingNode",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.BlockNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.BlockNode)})},
+messageSends: []}),
 smalltalk.BlockNode);
 
 smalltalk.addMethod(
@@ -1009,8 +1009,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.CascadeNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.CascadeNode)})},
+messageSends: ["interpretCascadeNode:continue:"]}),
 smalltalk.CascadeNode);
 
 smalltalk.addMethod(
@@ -1022,8 +1022,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.DynamicArrayNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.DynamicArrayNode)})},
+messageSends: ["interpretDynamicArrayNode:continue:"]}),
 smalltalk.DynamicArrayNode);
 
 smalltalk.addMethod(
@@ -1033,8 +1033,8 @@ selector: "isSteppingNode",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.DynamicArrayNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.DynamicArrayNode)})},
+messageSends: []}),
 smalltalk.DynamicArrayNode);
 
 smalltalk.addMethod(
@@ -1046,8 +1046,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.DynamicDictionaryNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.DynamicDictionaryNode)})},
+messageSends: ["interpretDynamicDictionaryNode:continue:"]}),
 smalltalk.DynamicDictionaryNode);
 
 smalltalk.addMethod(
@@ -1057,8 +1057,8 @@ selector: "isSteppingNode",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.DynamicDictionaryNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.DynamicDictionaryNode)})},
+messageSends: []}),
 smalltalk.DynamicDictionaryNode);
 
 smalltalk.addMethod(
@@ -1070,8 +1070,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.JSStatementNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.JSStatementNode)})},
+messageSends: ["interpretJSStatementNode:continue:"]}),
 smalltalk.JSStatementNode);
 
 smalltalk.addMethod(
@@ -1081,8 +1081,8 @@ selector: "isSteppingNode",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.JSStatementNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.JSStatementNode)})},
+messageSends: []}),
 smalltalk.JSStatementNode);
 
 smalltalk.addMethod(
@@ -1094,8 +1094,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.MethodNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.MethodNode)})},
+messageSends: ["interpretMethodNode:continue:"]}),
 smalltalk.MethodNode);
 
 smalltalk.addMethod(
@@ -1107,8 +1107,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ReturnNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ReturnNode)})},
+messageSends: ["interpretReturnNode:continue:"]}),
 smalltalk.ReturnNode);
 
 smalltalk.addMethod(
@@ -1120,8 +1120,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.SendNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.SendNode)})},
+messageSends: ["interpretSendNode:continue:"]}),
 smalltalk.SendNode);
 
 smalltalk.addMethod(
@@ -1131,8 +1131,8 @@ selector: "isSteppingNode",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.SendNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.SendNode)})},
+messageSends: []}),
 smalltalk.SendNode);
 
 smalltalk.addMethod(
@@ -1144,8 +1144,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.SequenceNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.SequenceNode)})},
+messageSends: ["interpretSequenceNode:continue:"]}),
 smalltalk.SequenceNode);
 
 smalltalk.addMethod(
@@ -1157,8 +1157,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.BlockSequenceNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.BlockSequenceNode)})},
+messageSends: ["interpretBlockSequenceNode:continue:"]}),
 smalltalk.BlockSequenceNode);
 
 smalltalk.addMethod(
@@ -1170,8 +1170,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ValueNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ValueNode)})},
+messageSends: ["interpretValueNode:continue:"]}),
 smalltalk.ValueNode);
 
 smalltalk.addMethod(
@@ -1183,8 +1183,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.VariableNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.VariableNode)})},
+messageSends: ["interpretVariableNode:continue:"]}),
 smalltalk.VariableNode);
 
 smalltalk.addMethod(
@@ -1196,7 +1196,7 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ClassReferenceNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ClassReferenceNode)})},
+messageSends: ["interpretClassReferenceNode:continue:"]}),
 smalltalk.ClassReferenceNode);
 

+ 170 - 170
js/Compiler-Semantic.deploy.js

@@ -8,8 +8,8 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._args())._at_put_(aString,_st((smalltalk.ArgVar || ArgVar))._on_(aString));
 _st(_st(_st(self)._args())._at_(aString))._scope_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"addArg:",{aString:aString}, smalltalk.LexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"addArg:",{aString:aString}, smalltalk.LexicalScope)})},
+messageSends: ["at:put:", "on:", "args", "scope:", "at:"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -20,8 +20,8 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._temps())._at_put_(aString,_st((smalltalk.TempVar || TempVar))._on_(aString));
 _st(_st(_st(self)._temps())._at_(aString))._scope_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"addTemp:",{aString:aString}, smalltalk.LexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"addTemp:",{aString:aString}, smalltalk.LexicalScope)})},
+messageSends: ["at:put:", "on:", "temps", "scope:", "at:"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -33,8 +33,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st("$ctx").__comma(_st(_st(self)._scopeLevel())._asString());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.LexicalScope)})},
+messageSends: [",", "asString", "scopeLevel"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -46,8 +46,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(_st(self)._args())._keys()).__comma(_st(_st(self)._temps())._keys());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"allVariableNames",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"allVariableNames",{}, smalltalk.LexicalScope)})},
+messageSends: [",", "keys", "temps", "args"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -65,8 +65,8 @@ $1=self["@args"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"args",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"args",{}, smalltalk.LexicalScope)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -84,8 +84,8 @@ return smalltalk.withContext(function($ctx4) {
return nil;
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"bindingFor:",{aStringOrNode:aStringOrNode}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"bindingFor:",{aStringOrNode:aStringOrNode}, smalltalk.LexicalScope)})},
+messageSends: ["at:ifAbsent:", "value", "temps", "args", "pseudoVars"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -99,8 +99,8 @@ $1=_st(_st(self)._isInlined())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._outerScope())._canInlineNonLocalReturns();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{}, smalltalk.LexicalScope)})},
+messageSends: ["and:", "canInlineNonLocalReturns", "outerScope", "isInlined"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -112,8 +112,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@instruction"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"instruction",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"instruction",{}, smalltalk.LexicalScope)})},
+messageSends: []}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -123,8 +123,8 @@ selector: "instruction:",
 fn: function (anIRInstruction){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@instruction"]=anIRInstruction;
-return self}, function($ctx1) {$ctx1.fill(self,"instruction:",{anIRInstruction:anIRInstruction}, smalltalk.LexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"instruction:",{anIRInstruction:anIRInstruction}, smalltalk.LexicalScope)})},
+messageSends: []}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -136,8 +136,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._isMethodScope())._not();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"isBlockScope",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isBlockScope",{}, smalltalk.LexicalScope)})},
+messageSends: ["not", "isMethodScope"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -151,8 +151,8 @@ $1=_st(_st(_st(self)._instruction())._notNil())._and_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._instruction())._isInlined();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInlined",{}, smalltalk.LexicalScope)})},
+messageSends: ["and:", "isInlined", "instruction", "notNil"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -162,8 +162,8 @@ selector: "isMethodScope",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return false;
-}, function($ctx1) {$ctx1.fill(self,"isMethodScope",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isMethodScope",{}, smalltalk.LexicalScope)})},
+messageSends: []}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -189,8 +189,8 @@ $1;
 };
 $3=lookup;
 return $3;
-}, function($ctx1) {$ctx1.fill(self,"lookupVariable:",{aNode:aNode,lookup:lookup}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"lookupVariable:",{aNode:aNode,lookup:lookup}, smalltalk.LexicalScope)})},
+messageSends: ["bindingFor:", "ifNil:", "ifNotNil:", "lookupVariable:", "outerScope"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -207,8 +207,8 @@ $1=$2;
 $1=_st(_st(self)._outerScope())._methodScope();
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodScope",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methodScope",{}, smalltalk.LexicalScope)})},
+messageSends: ["ifNotNil:", "methodScope", "outerScope"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -220,8 +220,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@node"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"node",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"node",{}, smalltalk.LexicalScope)})},
+messageSends: []}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -231,8 +231,8 @@ selector: "node:",
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@node"]=aNode;
-return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode}, smalltalk.LexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode}, smalltalk.LexicalScope)})},
+messageSends: []}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -244,8 +244,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@outerScope"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"outerScope",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"outerScope",{}, smalltalk.LexicalScope)})},
+messageSends: []}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -255,8 +255,8 @@ selector: "outerScope:",
 fn: function (aLexicalScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@outerScope"]=aLexicalScope;
-return self}, function($ctx1) {$ctx1.fill(self,"outerScope:",{aLexicalScope:aLexicalScope}, smalltalk.LexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"outerScope:",{aLexicalScope:aLexicalScope}, smalltalk.LexicalScope)})},
+messageSends: []}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -268,8 +268,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._methodScope())._pseudoVars();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"pseudoVars",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"pseudoVars",{}, smalltalk.LexicalScope)})},
+messageSends: ["pseudoVars", "methodScope"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -292,8 +292,8 @@ return $3;
 };
 $4=_st(_st(_st(self)._outerScope())._scopeLevel()).__plus((1));
 return $4;
-}, function($ctx1) {$ctx1.fill(self,"scopeLevel",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"scopeLevel",{}, smalltalk.LexicalScope)})},
+messageSends: ["ifNil:", "outerScope", "ifTrue:", "scopeLevel", "isInlined", "+"]}),
 smalltalk.LexicalScope);
 
 smalltalk.addMethod(
@@ -311,8 +311,8 @@ $1=self["@temps"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"temps",{}, smalltalk.LexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"temps",{}, smalltalk.LexicalScope)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.LexicalScope);
 
 
@@ -326,8 +326,8 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._iVars())._at_put_(aString,_st((smalltalk.InstanceVar || InstanceVar))._on_(aString));
 _st(_st(_st(self)._iVars())._at_(aString))._scope_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"addIVar:",{aString:aString}, smalltalk.MethodLexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"addIVar:",{aString:aString}, smalltalk.MethodLexicalScope)})},
+messageSends: ["at:put:", "on:", "iVars", "scope:", "at:"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -337,8 +337,8 @@ selector: "addNonLocalReturn:",
 fn: function (aScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._nonLocalReturns())._add_(aScope);
-return self}, function($ctx1) {$ctx1.fill(self,"addNonLocalReturn:",{aScope:aScope}, smalltalk.MethodLexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"addNonLocalReturn:",{aScope:aScope}, smalltalk.MethodLexicalScope)})},
+messageSends: ["add:", "nonLocalReturns"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -350,8 +350,8 @@ 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());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"allVariableNames",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"allVariableNames",{}, smalltalk.MethodLexicalScope)})},
+messageSends: [",", "keys", "iVars", "allVariableNames"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -370,8 +370,8 @@ return smalltalk.withContext(function($ctx2) {
return nil;
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"bindingFor:",{aNode:aNode}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"bindingFor:",{aNode:aNode}, smalltalk.MethodLexicalScope)})},
+messageSends: ["ifNil:", "at:ifAbsent:", "value", "iVars", "bindingFor:"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -381,8 +381,8 @@ selector: "canInlineNonLocalReturns",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"canInlineNonLocalReturns",{}, smalltalk.MethodLexicalScope)})},
+messageSends: []}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -394,8 +394,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._localReturn();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"hasLocalReturn",{}, smalltalk.MethodLexicalScope)})},
+messageSends: ["localReturn"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -407,8 +407,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._nonLocalReturns())._notEmpty();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"hasNonLocalReturn",{}, smalltalk.MethodLexicalScope)})},
+messageSends: ["notEmpty", "nonLocalReturns"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -426,8 +426,8 @@ $1=self["@iVars"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"iVars",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"iVars",{}, smalltalk.MethodLexicalScope)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -437,8 +437,8 @@ selector: "isMethodScope",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isMethodScope",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isMethodScope",{}, smalltalk.MethodLexicalScope)})},
+messageSends: []}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -455,8 +455,8 @@ $1=false;
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"localReturn",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"localReturn",{}, smalltalk.MethodLexicalScope)})},
+messageSends: ["ifNil:"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -466,8 +466,8 @@ selector: "localReturn:",
 fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@localReturn"]=aBoolean;
-return self}, function($ctx1) {$ctx1.fill(self,"localReturn:",{aBoolean:aBoolean}, smalltalk.MethodLexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"localReturn:",{aBoolean:aBoolean}, smalltalk.MethodLexicalScope)})},
+messageSends: []}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -479,8 +479,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodScope",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methodScope",{}, smalltalk.MethodLexicalScope)})},
+messageSends: []}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -498,8 +498,8 @@ $1=self["@nonLocalReturns"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"nonLocalReturns",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"nonLocalReturns",{}, smalltalk.MethodLexicalScope)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -524,8 +524,8 @@ $1;
 };
 $4=self["@pseudoVars"];
 return $4;
-}, function($ctx1) {$ctx1.fill(self,"pseudoVars",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"pseudoVars",{}, smalltalk.MethodLexicalScope)})},
+messageSends: ["ifNil:", "new", "do:", "at:put:", "scope:", "methodScope", "on:", "yourself", "pseudoVariableNames", "current"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -536,8 +536,8 @@ fn: function (aScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._nonLocalReturns())._remove_ifAbsent_(aScope,(function(){
 return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"removeNonLocalReturn:",{aScope:aScope}, smalltalk.MethodLexicalScope)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"removeNonLocalReturn:",{aScope:aScope}, smalltalk.MethodLexicalScope)})},
+messageSends: ["remove:ifAbsent:", "nonLocalReturns"]}),
 smalltalk.MethodLexicalScope);
 
 smalltalk.addMethod(
@@ -555,8 +555,8 @@ $1=self["@unknownVariables"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"unknownVariables",{}, smalltalk.MethodLexicalScope)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"unknownVariables",{}, smalltalk.MethodLexicalScope)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.MethodLexicalScope);
 
 
@@ -571,8 +571,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._name())._asVariableName();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.ScopeVar)})},
+messageSends: ["asVariableName", "name"]}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -582,8 +582,8 @@ selector: "isArgVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return false;
-}, function($ctx1) {$ctx1.fill(self,"isArgVar",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isArgVar",{}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -593,8 +593,8 @@ selector: "isClassRefVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return false;
-}, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -604,8 +604,8 @@ selector: "isInstanceVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return false;
-}, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -615,8 +615,8 @@ selector: "isPseudoVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return false;
-}, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -626,8 +626,8 @@ selector: "isTempVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return false;
-}, function($ctx1) {$ctx1.fill(self,"isTempVar",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isTempVar",{}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -637,8 +637,8 @@ selector: "isUnknownVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return false;
-}, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -650,8 +650,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@name"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"name",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"name",{}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -661,8 +661,8 @@ selector: "name:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@name"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"name:",{aString:aString}, smalltalk.ScopeVar)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"name:",{aString:aString}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -674,8 +674,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@scope"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"scope",{}, smalltalk.ScopeVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"scope",{}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -685,8 +685,8 @@ selector: "scope:",
 fn: function (aScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@scope"]=aScope;
-return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aScope:aScope}, smalltalk.ScopeVar)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"scope:",{aScope:aScope}, smalltalk.ScopeVar)})},
+messageSends: []}),
 smalltalk.ScopeVar);
 
 smalltalk.addMethod(
@@ -705,8 +705,8 @@ _st($2)._variableName_(_st(self)._name());
 $3=_st($2)._signal();
 $3;
 };
-return self}, function($ctx1) {$ctx1.fill(self,"validateAssignment",{}, smalltalk.ScopeVar)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"validateAssignment",{}, smalltalk.ScopeVar)})},
+messageSends: ["ifTrue:", "variableName:", "name", "new", "signal", "or:", "isPseudoVar", "isArgVar"]}),
 smalltalk.ScopeVar);
 
 
@@ -722,8 +722,8 @@ _st($2)._name_(aString);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:",{aString:aString}, smalltalk.ScopeVar.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"on:",{aString:aString}, smalltalk.ScopeVar.klass)})},
+messageSends: ["name:", "new", "yourself"]}),
 smalltalk.ScopeVar.klass);
 
 
@@ -737,8 +737,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@node"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"node",{}, smalltalk.AliasVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"node",{}, smalltalk.AliasVar)})},
+messageSends: []}),
 smalltalk.AliasVar);
 
 smalltalk.addMethod(
@@ -748,8 +748,8 @@ selector: "node:",
 fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@node"]=aNode;
-return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode}, smalltalk.AliasVar)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"node:",{aNode:aNode}, smalltalk.AliasVar)})},
+messageSends: []}),
 smalltalk.AliasVar);
 
 
@@ -762,8 +762,8 @@ selector: "isArgVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isArgVar",{}, smalltalk.ArgVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isArgVar",{}, smalltalk.ArgVar)})},
+messageSends: []}),
 smalltalk.ArgVar);
 
 
@@ -778,8 +778,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(_st(_st("(smalltalk.").__comma(_st(self)._name())).__comma(" || ")).__comma(_st(self)._name())).__comma(")");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.ClassRefVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.ClassRefVar)})},
+messageSends: [",", "name"]}),
 smalltalk.ClassRefVar);
 
 smalltalk.addMethod(
@@ -789,8 +789,8 @@ selector: "isClassRefVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{}, smalltalk.ClassRefVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isClassRefVar",{}, smalltalk.ClassRefVar)})},
+messageSends: []}),
 smalltalk.ClassRefVar);
 
 
@@ -805,8 +805,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st("self[\x22@").__comma(_st(self)._name())).__comma("\x22]");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.InstanceVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.InstanceVar)})},
+messageSends: [",", "name"]}),
 smalltalk.InstanceVar);
 
 smalltalk.addMethod(
@@ -816,8 +816,8 @@ selector: "isInstanceVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{}, smalltalk.InstanceVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isInstanceVar",{}, smalltalk.InstanceVar)})},
+messageSends: []}),
 smalltalk.InstanceVar);
 
 
@@ -832,8 +832,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._name();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.PseudoVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"alias",{}, smalltalk.PseudoVar)})},
+messageSends: ["name"]}),
 smalltalk.PseudoVar);
 
 smalltalk.addMethod(
@@ -843,8 +843,8 @@ selector: "isPseudoVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{}, smalltalk.PseudoVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isPseudoVar",{}, smalltalk.PseudoVar)})},
+messageSends: []}),
 smalltalk.PseudoVar);
 
 
@@ -857,8 +857,8 @@ selector: "isTempVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isTempVar",{}, smalltalk.TempVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isTempVar",{}, smalltalk.TempVar)})},
+messageSends: []}),
 smalltalk.TempVar);
 
 
@@ -871,8 +871,8 @@ selector: "isUnknownVar",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{}, smalltalk.UnknownVar)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isUnknownVar",{}, smalltalk.UnknownVar)})},
+messageSends: []}),
 smalltalk.UnknownVar);
 
 
@@ -893,8 +893,8 @@ $1=self["@classReferences"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"classReferences",{}, smalltalk.SemanticAnalyzer)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"classReferences",{}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -907,8 +907,8 @@ return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 $1=_st((smalltalk.ShadowingVariableError || ShadowingVariableError))._new();
 _st($1)._variableName_(aString);
 $2=_st($1)._signal();
-return self}, function($ctx1) {$ctx1.fill(self,"errorShadowingVariable:",{aString:aString}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"errorShadowingVariable:",{aString:aString}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["variableName:", "new", "signal"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -931,8 +931,8 @@ $3;
 } else {
 _st(_st(_st(self["@currentScope"])._methodScope())._unknownVariables())._add_(_st(aNode)._value());
 };
-return self}, function($ctx1) {$ctx1.fill(self,"errorUnknownVariable:",{aNode:aNode,identifier:identifier}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"errorUnknownVariable:",{aNode:aNode,identifier:identifier}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["value", "ifTrue:ifFalse:", "variableName:", "new", "signal", "add:", "unknownVariables", "methodScope", "and:", "isVariableGloballyUndefined:", "not", "includes:"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -942,8 +942,8 @@ selector: "isVariableGloballyUndefined:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return eval('typeof ' + aString + ' == "undefined"');
-return self}, function($ctx1) {$ctx1.fill(self,"isVariableGloballyUndefined:",{aString:aString}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"isVariableGloballyUndefined:",{aString:aString}, smalltalk.SemanticAnalyzer)})},
+messageSends: []}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -961,8 +961,8 @@ $1=self["@messageSends"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"messageSends",{}, smalltalk.SemanticAnalyzer)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"messageSends",{}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -974,8 +974,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._newScopeOfClass_((smalltalk.LexicalScope || LexicalScope));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"newBlockScope",{}, smalltalk.SemanticAnalyzer)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"newBlockScope",{}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["newScopeOfClass:"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -987,8 +987,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._newScopeOfClass_((smalltalk.MethodLexicalScope || MethodLexicalScope));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"newMethodScope",{}, smalltalk.SemanticAnalyzer)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"newMethodScope",{}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["newScopeOfClass:"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1003,8 +1003,8 @@ _st($2)._outerScope_(self["@currentScope"]);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"newScopeOfClass:",{aLexicalScopeClass:aLexicalScopeClass}, smalltalk.SemanticAnalyzer)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"newScopeOfClass:",{aLexicalScopeClass:aLexicalScopeClass}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["outerScope:", "new", "yourself"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1021,8 +1021,8 @@ $1;
 self["@currentScope"]=_st(self["@currentScope"])._outerScope();
 self["@currentScope"];
 };
-return self}, function($ctx1) {$ctx1.fill(self,"popScope",{}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"popScope",{}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["ifNotNil:", "outerScope"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1033,8 +1033,8 @@ fn: function (aScope){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(aScope)._outerScope_(self["@currentScope"]);
 self["@currentScope"]=aScope;
-return self}, function($ctx1) {$ctx1.fill(self,"pushScope:",{aScope:aScope}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"pushScope:",{aScope:aScope}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["outerScope:"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1052,8 +1052,8 @@ $1=self["@superSends"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"superSends",{}, smalltalk.SemanticAnalyzer)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"superSends",{}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1065,8 +1065,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@theClass"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.SemanticAnalyzer)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.SemanticAnalyzer)})},
+messageSends: []}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1076,8 +1076,8 @@ selector: "theClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
-return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.SemanticAnalyzer)})},
+messageSends: []}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1093,8 +1093,8 @@ $1;
 } else {
 _st(self)._errorShadowingVariable_(aString);
 };
-return self}, function($ctx1) {$ctx1.fill(self,"validateVariableScope:",{aString:aString}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"validateVariableScope:",{aString:aString}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["ifNotNil:", "errorShadowingVariable:", "lookupVariable:"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1105,8 +1105,8 @@ fn: function (aNode){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.NodeVisitor.fn.prototype._visitAssignmentNode_.apply(_st(self), [aNode]);
 _st(_st(aNode)._left())._beAssigned();
-return self}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitAssignmentNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["visitAssignmentNode:", "beAssigned", "left"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1124,8 +1124,8 @@ 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();
-return self}, function($ctx1) {$ctx1.fill(self,"visitBlockNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})}
-}),
+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);
 
 smalltalk.addMethod(
@@ -1145,8 +1145,8 @@ _st(_st(aNode)._nodes())._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(each)._superSend_(true);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 };
-return self}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitCascadeNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["do:", "receiver:", "receiver", "nodes", "visitCascadeNode:", "ifTrue:", "superSend:", "superSend", "first"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1161,8 +1161,8 @@ $1=_st((smalltalk.ClassRefVar || ClassRefVar))._new();
 _st($1)._name_(_st(aNode)._value());
 $2=_st($1)._yourself();
 _st(aNode)._binding_($2);
-return self}, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitClassReferenceNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["add:", "value", "classReferences", "binding:", "name:", "new", "yourself"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1188,8 +1188,8 @@ _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();
-return self}, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})}
-}),
+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);
 
 smalltalk.addMethod(
@@ -1207,8 +1207,8 @@ _st(self["@currentScope"])._localReturn_(true);
 _st(_st(self["@currentScope"])._methodScope())._addNonLocalReturn_(self["@currentScope"]);
 };
 smalltalk.NodeVisitor.fn.prototype._visitReturnNode_.apply(_st(self), [aNode]);
-return self}, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["scope:", "ifTrue:ifFalse:", "localReturn:", "addNonLocalReturn:", "methodScope", "isMethodScope", "visitReturnNode:"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1239,8 +1239,8 @@ return smalltalk.withContext(function($ctx2) {
return _st((smalltalk.Set || Set)
 _st(_st(_st(self)._messageSends())._at_(_st(aNode)._selector()))._add_(aNode);
 _st(aNode)._index_(_st(_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)})}
-}),
+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:"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1254,8 +1254,8 @@ return smalltalk.withContext(function($ctx2) {
_st(self)._validateVariableScope_
 return _st(self["@currentScope"])._addTemp_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 smalltalk.NodeVisitor.fn.prototype._visitSequenceNode_.apply(_st(self), [aNode]);
-return self}, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["do:", "validateVariableScope:", "addTemp:", "temps", "visitSequenceNode:"]}),
 smalltalk.SemanticAnalyzer);
 
 smalltalk.addMethod(
@@ -1277,8 +1277,8 @@ $2=$5;
 $2=$3;
 };
 _st($1)._binding_($2);
-return self}, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode}, smalltalk.SemanticAnalyzer)})},
+messageSends: ["binding:", "ifNil:", "errorUnknownVariable:", "name:", "value", "new", "yourself", "lookupVariable:"]}),
 smalltalk.SemanticAnalyzer);
 
 
@@ -1294,8 +1294,8 @@ _st($2)._theClass_(aClass);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:",{aClass:aClass}, smalltalk.SemanticAnalyzer.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"on:",{aClass:aClass}, smalltalk.SemanticAnalyzer.klass)})},
+messageSends: ["theClass:", "new", "yourself"]}),
 smalltalk.SemanticAnalyzer.klass);
 
 

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

@@ -10,8 +10,8 @@ return smalltalk.withContext(function($ctx1) { 
var $1;
 _st(_st((smalltalk.SemanticAnalyzer || SemanticAnalyzer))._on_(aClass))._visit_(aNode);
 $1=aNode;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"analyze:forClass:",{aNode:aNode,aClass:aClass}, smalltalk.AbstractASTInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"analyze:forClass:",{aNode:aNode,aClass:aClass}, smalltalk.AbstractASTInterpreterTest)})},
+messageSends: ["visit:", "on:"]}),
 smalltalk.AbstractASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -23,8 +23,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._interpret_withArguments_(aString,_st((smalltalk.Dictionary || Dictionary))._new());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString}, smalltalk.AbstractASTInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpret:",{aString:aString}, smalltalk.AbstractASTInterpreterTest)})},
+messageSends: ["interpret:withArguments:", "new"]}),
 smalltalk.AbstractASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -46,8 +46,8 @@ _st($2)._interpret_(_st(_st(_st(self)._parse_forClass_(aString,_st(anObject)._cl
 $3=_st($2)._result();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpret:receiver:withArguments:",{aString:aString,anObject:anObject,aDictionary:aDictionary,ctx:ctx}, smalltalk.AbstractASTInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpret:receiver:withArguments:",{aString:aString,anObject:anObject,aDictionary:aDictionary,ctx:ctx}, smalltalk.AbstractASTInterpreterTest)})},
+messageSends: ["new", "receiver:", "keysAndValuesDo:", "localAt:put:", "context:", "interpreter", "interpret:", "first", "nodes", "parse:forClass:", "class", "result"]}),
 smalltalk.AbstractASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -59,8 +59,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._interpret_receiver_withArguments_(aString,_st((smalltalk.Object || Object))._new(),aDictionary);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary}, smalltalk.AbstractASTInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpret:withArguments:",{aString:aString,aDictionary:aDictionary}, smalltalk.AbstractASTInterpreterTest)})},
+messageSends: ["interpret:receiver:withArguments:", "new"]}),
 smalltalk.AbstractASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -72,8 +72,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._subclassResponsibility();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.AbstractASTInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.AbstractASTInterpreterTest)})},
+messageSends: ["subclassResponsibility"]}),
 smalltalk.AbstractASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -85,8 +85,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._parse_(aString);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString}, smalltalk.AbstractASTInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString}, smalltalk.AbstractASTInterpreterTest)})},
+messageSends: ["parse:", "current"]}),
 smalltalk.AbstractASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -98,8 +98,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._analyze_forClass_(_st(self)._parse_(aString),aClass);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass}, smalltalk.AbstractASTInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"parse:forClass:",{aString:aString,aClass:aClass}, smalltalk.AbstractASTInterpreterTest)})},
+messageSends: ["analyze:forClass:", "parse:"]}),
 smalltalk.AbstractASTInterpreterTest);
 
 
@@ -114,8 +114,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.ASTInterpreter || ASTInterpreter))._new();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.ASTInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["new"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -125,8 +125,8 @@ selector: "testBinarySend",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo 2+3+4"),(9));
-return self}, function($ctx1) {$ctx1.fill(self,"testBinarySend",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testBinarySend",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -138,8 +138,8 @@ 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));
-return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testBlockLiteral",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -149,8 +149,8 @@ selector: "testCascade",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ OrderedCollection new add: 2; add: 3; yourself"),_st((smalltalk.OrderedCollection || OrderedCollection))._with_with_((2),(3)));
-return self}, function($ctx1) {$ctx1.fill(self,"testCascade",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testCascade",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:", "with:with:"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -160,8 +160,8 @@ selector: "testDynamicArray",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ {1+1. 2+2}"),[(2), (4)]);
-return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArray",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArray",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -171,8 +171,8 @@ selector: "testDynamicDictionary",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo ^ #{1->1. 2->3}"),smalltalk.HashedCollection._fromPairs_([_st((1)).__minus_gt((1)),_st((2)).__minus_gt((3))]));
-return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionary",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionary",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:", "->"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -183,8 +183,8 @@ 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));
-return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testInlinedJSStatement",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:", "interpret:withArguments:", "->"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -194,8 +194,8 @@ selector: "testInstVarAccess",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ x",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),(2));
-return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAccess",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAccess",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -205,8 +205,8 @@ selector: "testInstVarAssignment",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo: anInteger x := anInteger. ^ x",_st((smalltalk.Point || Point))._new(),smalltalk.HashedCollection._fromPairs_([_st("anInteger").__minus_gt((2))])),(2));
-return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAssignment",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testInstVarAssignment",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "new", "->"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -216,8 +216,8 @@ selector: "testNonlocalReturn",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo true ifTrue: [ ^ 1 ]. ^2"),(1));
-return self}, function($ctx1) {$ctx1.fill(self,"testNonlocalReturn",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testNonlocalReturn",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -227,8 +227,8 @@ selector: "testReceiver",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_receiver_withArguments_("foo ^ self",_st((2)).__at((3)),smalltalk.HashedCollection._fromPairs_([])),_st((2)).__at((3)));
-return self}, function($ctx1) {$ctx1.fill(self,"testReceiver",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testReceiver",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:receiver:withArguments:", "@"]}),
 smalltalk.ASTInterpreterTest);
 
 smalltalk.addMethod(
@@ -238,8 +238,8 @@ selector: "testTempAssignment",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(self)._interpret_("foo | a | a := 2. ^ a"),(2));
-return self}, function($ctx1) {$ctx1.fill(self,"testTempAssignment",{}, smalltalk.ASTInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testTempAssignment",{}, smalltalk.ASTInterpreterTest)})},
+messageSends: ["assert:equals:", "interpret:"]}),
 smalltalk.ASTInterpreterTest);
 
 
@@ -260,8 +260,8 @@ $1=self["@interpreter"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.ASTSteppingInterpreterTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.ASTSteppingInterpreterTest)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.ASTSteppingInterpreterTest);
 
 smalltalk.addMethod(
@@ -280,8 +280,8 @@ _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());
-return self}, function($ctx1) {$ctx1.fill(self,"testAtEnd",{}, smalltalk.ASTSteppingInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testAtEnd",{}, smalltalk.ASTSteppingInterpreterTest)})},
+messageSends: ["interpret:", "deny:", "atEnd", "interpreter", "step", "assert:"]}),
 smalltalk.ASTSteppingInterpreterTest);
 
 smalltalk.addMethod(
@@ -299,8 +299,8 @@ _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testMessageSend",{}, smalltalk.ASTSteppingInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testMessageSend",{}, smalltalk.ASTSteppingInterpreterTest)})},
+messageSends: ["interpret:", "step", "interpreter", "assert:equals:", "value", "currentNode", "result"]}),
 smalltalk.ASTSteppingInterpreterTest);
 
 smalltalk.addMethod(
@@ -314,8 +314,8 @@ _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testSimpleStepping",{}, smalltalk.ASTSteppingInterpreterTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testSimpleStepping",{}, smalltalk.ASTSteppingInterpreterTest)})},
+messageSends: ["interpret:", "step", "interpreter", "assert:", "isNil", "result", "assert:equals:"]}),
 smalltalk.ASTSteppingInterpreterTest);
 
 
@@ -330,8 +330,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=(smalltalk.CodeGenerator || CodeGenerator);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{}, smalltalk.CodeGeneratorTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: []}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -346,8 +346,8 @@ _st($2)._codeGeneratorClass_(_st(self)._codeGeneratorClass());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"compiler",{}, smalltalk.CodeGeneratorTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"compiler",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["codeGeneratorClass:", "codeGeneratorClass", "new", "yourself"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -357,8 +357,8 @@ selector: "setUp",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=_st(_st(self)._targetClass())._new();
-return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["new", "targetClass"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -372,8 +372,8 @@ return smalltalk.withContext(function($ctx1) { 
method=_st(_st(self)._compiler()
 result=_st(self["@receiver"])._perform_(_st(method)._selector());
 _st(_st(self)._targetClass())._removeCompiledMethod_(method);
 _st(self)._assert_equals_(anObject,result);
-return self}, function($ctx1) {$ctx1.fill(self,"should:return:",{aString:aString,anObject:anObject,method:method,result:result}, smalltalk.CodeGeneratorTest)})}
-}),
+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);
 
 smalltalk.addMethod(
@@ -385,8 +385,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=(smalltalk.DoIt || DoIt);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"targetClass",{}, smalltalk.CodeGeneratorTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"targetClass",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: []}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -395,8 +395,8 @@ smalltalk.method({
 selector: "tearDown",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: []}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -408,8 +408,8 @@ 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));
-return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -421,8 +421,8 @@ 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)]);
-return self}, function($ctx1) {$ctx1.fill(self,"testBlockReturn",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testBlockReturn",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -432,8 +432,8 @@ selector: "testCascades",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^ Array new add: 3; add: 4; yourself",[(3), (4)]);
-return self}, function($ctx1) {$ctx1.fill(self,"testCascades",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testCascades",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -443,8 +443,8 @@ selector: "testDynamicArrayElementsOrdered",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a  | x |\x0a  x := 1.\x0a  ^ { x. true ifTrue: [ x := 2 ] }\x0a",[(1), (2)]);
-return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArrayElementsOrdered",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testDynamicArrayElementsOrdered",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -454,8 +454,8 @@ selector: "testDynamicDictionaryElementsOrdered",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a  | x |\x0a  x := 'foo'->1.\x0a  ^ #{ x. (true ifTrue: [ x := 'bar'->2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
-return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionaryElementsOrdered",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testDynamicDictionaryElementsOrdered",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:", "->"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -468,8 +468,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x
 _st(self)._should_return_("foo\x0a  | x |\x0a  x := 1.\x0a  ^ 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  | x |\x0a  x := 1.\x0a  ^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",[_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]);
 _st(self)._should_return_("foo\x0a  | x |\x0a  x := 1.\x0a  ^ #{ 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",smalltalk.HashedCollection._fromPairs_([_st("foo").__minus_gt((1)),_st("bar").__minus_gt((2))]));
-return self}, function($ctx1) {$ctx1.fill(self,"testInnerTemporalDependentElementsOrdered",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testInnerTemporalDependentElementsOrdered",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:", "->"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -487,8 +487,8 @@ _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",smalltalk.symbolFor("hello"));
 _st(self)._should_return_("foo ^ -123.456",(-123.456));
-return self}, function($ctx1) {$ctx1.fill(self,"testLiterals",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testLiterals",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:", "->"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -502,8 +502,8 @@ _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testLocalReturn",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testLocalReturn",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -517,8 +517,8 @@ _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)]);
-return self}, function($ctx1) {$ctx1.fill(self,"testMessageSends",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testMessageSends",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -531,8 +531,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^
 _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"]);
-return self}, function($ctx1) {$ctx1.fill(self,"testNestedIfTrue",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testNestedIfTrue",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -545,8 +545,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo [
 _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -557,8 +557,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo\x0a  | x |\x0a  x := 1.\x0a  ^ Array with: x with: (true ifTrue: [ x := 2 ])\x0a",[(1), (2)]);
 _st(self)._should_return_("foo\x0a  | x |\x0a  x := Array.\x0a  ^ x with: x with: (true ifTrue: [ x := 2 ])\x0a",[(smalltalk.Array || Array),(2)]);
-return self}, function($ctx1) {$ctx1.fill(self,"testSendReceiverAndArgumentsOrdered",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testSendReceiverAndArgumentsOrdered",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -571,8 +571,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo t
 _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testifFalse",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testifFalse",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -585,8 +585,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo t
 _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testifFalseIfTrue",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testifFalseIfTrue",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -599,8 +599,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^
 _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testifNil",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testifNil",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -613,8 +613,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^
 _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testifNilIfNotNil",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testifNilIfNotNil",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -627,8 +627,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo ^
 _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"]);
-return self}, function($ctx1) {$ctx1.fill(self,"testifNotNil",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testifNotNil",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -641,8 +641,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo f
 _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testifTrue",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testifTrue",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 smalltalk.addMethod(
@@ -655,8 +655,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._should_return_("foo f
 _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));
-return self}, function($ctx1) {$ctx1.fill(self,"testifTrueIfFalse",{}, smalltalk.CodeGeneratorTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testifTrueIfFalse",{}, smalltalk.CodeGeneratorTest)})},
+messageSends: ["should:return:"]}),
 smalltalk.CodeGeneratorTest);
 
 
@@ -671,8 +671,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=(smalltalk.InliningCodeGenerator || InliningCodeGenerator);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{}, smalltalk.InliningCodeGeneratorTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"codeGeneratorClass",{}, smalltalk.InliningCodeGeneratorTest)})},
+messageSends: []}),
 smalltalk.InliningCodeGeneratorTest);
 
 
@@ -692,8 +692,8 @@ $2=_st($1)._yourself();
 node=$2;
 _st(_st((smalltalk.SemanticAnalyzer || SemanticAnalyzer))._new())._visit_(node);
 _st(self)._assert_(_st(_st(node)._binding())._isClassRefVar());
-return self}, function($ctx1) {$ctx1.fill(self,"testClassRefVar",{node:node}, smalltalk.ScopeVarTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testClassRefVar",{node:node}, smalltalk.ScopeVarTest)})},
+messageSends: ["value:", "new", "yourself", "visit:", "assert:", "isClassRefVar", "binding"]}),
 smalltalk.ScopeVarTest);
 
 smalltalk.addMethod(
@@ -711,8 +711,8 @@ node=$2;
 scope=_st((smalltalk.MethodLexicalScope || MethodLexicalScope))._new();
 _st(scope)._addIVar_("bzzz");
 _st(self)._assert_(_st(_st(scope)._bindingFor_(node))._isInstanceVar());
-return self}, function($ctx1) {$ctx1.fill(self,"testInstanceVar",{node:node,scope:scope}, smalltalk.ScopeVarTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testInstanceVar",{node:node,scope:scope}, smalltalk.ScopeVarTest)})},
+messageSends: ["value:", "new", "yourself", "addIVar:", "assert:", "isInstanceVar", "bindingFor:"]}),
 smalltalk.ScopeVarTest);
 
 smalltalk.addMethod(
@@ -732,8 +732,8 @@ node=$2;
 node;
 return _st(self)._assert_(_st(_st(_st((smalltalk.MethodLexicalScope || 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)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testPseudoVar",{node:node,pseudoVars:pseudoVars}, smalltalk.ScopeVarTest)})},
+messageSends: ["do:", "value:", "new", "yourself", "assert:", "isPseudoVar", "bindingFor:"]}),
 smalltalk.ScopeVarTest);
 
 smalltalk.addMethod(
@@ -751,8 +751,8 @@ node=$2;
 scope=_st((smalltalk.MethodLexicalScope || MethodLexicalScope))._new();
 _st(scope)._addTemp_("bzzz");
 _st(self)._assert_(_st(_st(scope)._bindingFor_(node))._isTempVar());
-return self}, function($ctx1) {$ctx1.fill(self,"testTempVar",{node:node,scope:scope}, smalltalk.ScopeVarTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testTempVar",{node:node,scope:scope}, smalltalk.ScopeVarTest)})},
+messageSends: ["value:", "new", "yourself", "addTemp:", "assert:", "isTempVar", "bindingFor:"]}),
 smalltalk.ScopeVarTest);
 
 smalltalk.addMethod(
@@ -768,8 +768,8 @@ _st($1)._value_("bzzz");
 $2=_st($1)._yourself();
 node=$2;
 _st(self)._assert_(_st(_st(_st((smalltalk.MethodLexicalScope || MethodLexicalScope))._new())._bindingFor_(node))._isNil());
-return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVar",{node:node}, smalltalk.ScopeVarTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVar",{node:node}, smalltalk.ScopeVarTest)})},
+messageSends: ["value:", "new", "yourself", "assert:", "isNil", "bindingFor:"]}),
 smalltalk.ScopeVarTest);
 
 
@@ -782,8 +782,8 @@ selector: "setUp",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@analyzer"]=_st((smalltalk.SemanticAnalyzer || SemanticAnalyzer))._on_((smalltalk.Object || Object));
-return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["on:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -798,8 +798,8 @@ ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.InvalidAssignmentError || InvalidAssignmentError));
-return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testAssignment",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "should:raise:", "visit:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -813,8 +813,8 @@ 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());
-return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "visit:", "deny:", "hasNonLocalReturn", "scope"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -828,8 +828,8 @@ 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());
-return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn2",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testNonLocalReturn2",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "visit:", "assert:", "hasNonLocalReturn", "scope"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -843,8 +843,8 @@ return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | b | b
 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()));
-return self}, function($ctx1) {$ctx1.fill(self,"testScope",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testScope",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "visit:", "deny:", "==", "scope", "last", "nodes", "first"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -858,8 +858,8 @@ return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ | b |
 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()));
-return self}, function($ctx1) {$ctx1.fill(self,"testScope2",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testScope2",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "visit:", "deny:", "==", "scope", "first", "nodes", "last"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -874,8 +874,8 @@ 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));
-return self}, function($ctx1) {$ctx1.fill(self,"testScopeLevel",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+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);
 
 smalltalk.addMethod(
@@ -890,8 +890,8 @@ ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.UnknownVariableError || UnknownVariableError));
-return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariables",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariables",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "should:raise:", "visit:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -906,8 +906,8 @@ ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.UnknownVariableError || UnknownVariableError));
-return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariablesWithScope",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testUnknownVariablesWithScope",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "should:raise:", "visit:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -920,8 +920,8 @@ var src,ast;
 return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1";
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
-return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "visit:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -936,8 +936,8 @@ ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.ShadowingVariableError || ShadowingVariableError));
-return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing2",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing2",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "should:raise:", "visit:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -950,8 +950,8 @@ var src,ast;
 return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ | b | b := 2 ]";
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
-return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing3",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing3",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "visit:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -964,8 +964,8 @@ var src,ast;
 return smalltalk.withContext(function($ctx1) { 
src="foo | a | a + 1. [ [ [ | b | b := 2 ] ] ]";
 ast=_st(smalltalk)._parse_(src);
 _st(self["@analyzer"])._visit_(ast);
-return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing4",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing4",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "visit:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -980,8 +980,8 @@ ast=_st(smalltalk)._parse_(src);
 _st(self)._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self["@analyzer"])._visit_(ast);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.ShadowingVariableError || ShadowingVariableError));
-return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing5",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testVariableShadowing5",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})},
+messageSends: ["parse:", "should:raise:", "visit:"]}),
 smalltalk.SemanticAnalyzerTest);
 
 smalltalk.addMethod(
@@ -998,8 +998,8 @@ _st(self)._assert_(_st(_st(_st(_st(_st(_st(_st(ast)._nodes())._first())._nodes()
 _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()));
-return self}, function($ctx1) {$ctx1.fill(self,"testVariablesLookup",{src:src,ast:ast}, smalltalk.SemanticAnalyzerTest)})}
-}),
+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);
 
 

+ 10 - 10
js/Examples.deploy.js

@@ -10,8 +10,8 @@ return smalltalk.withContext(function($ctx1) { 
self["@count"]=_st(self["@count"
 _st(self["@header"])._contents_((function(html){
 return smalltalk.withContext(function($ctx2) {
return _st(html)._with_(_st(self["@count"])._asString());
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"decrease",{}, smalltalk.Counter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"decrease",{}, smalltalk.Counter)})},
+messageSends: ["-", "contents:", "with:", "asString"]}),
 smalltalk.Counter);
 
 smalltalk.addMethod(
@@ -24,8 +24,8 @@ return smalltalk.withContext(function($ctx1) { 
self["@count"]=_st(self["@count"
 _st(self["@header"])._contents_((function(html){
 return smalltalk.withContext(function($ctx2) {
return _st(html)._with_(_st(self["@count"])._asString());
 }, function($ctx2) {$ctx2.fillBlock({html:html},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"increase",{}, smalltalk.Counter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"increase",{}, smalltalk.Counter)})},
+messageSends: ["+", "contents:", "with:", "asString"]}),
 smalltalk.Counter);
 
 smalltalk.addMethod(
@@ -36,8 +36,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.Widget.fn.prototype._initialize.apply(_st(self), []);
 self["@count"]=(0);
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Counter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Counter)})},
+messageSends: ["initialize"]}),
 smalltalk.Counter);
 
 smalltalk.addMethod(
@@ -61,8 +61,8 @@ _st($5)._with_("--");
 $6=_st($5)._onClick_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._decrease();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html}, smalltalk.Counter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html}, smalltalk.Counter)})},
+messageSends: ["with:", "asString", "h1", "yourself", "button", "onClick:", "increase", "decrease"]}),
 smalltalk.Counter);
 
 
@@ -73,8 +73,8 @@ selector: "tryExample",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._new())._appendToJQuery_(_st("body")._asJQuery());
-return self}, function($ctx1) {$ctx1.fill(self,"tryExample",{}, smalltalk.Counter.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"tryExample",{}, smalltalk.Counter.klass)})},
+messageSends: ["appendToJQuery:", "asJQuery", "new"]}),
 smalltalk.Counter.klass);
 
 

Diferenças do arquivo suprimidas por serem muito extensas
+ 182 - 182
js/IDE.deploy.js


+ 60 - 59
js/Importer-Exporter.deploy.js

@@ -31,8 +31,8 @@ return _st(result)._nextPut_(char);
 return nil;
 }
 catch(e) {if(e===$early)return e[0]; throw e}
-}, function($ctx1) {$ctx1.fill(self,"nextChunk",{char:char,result:result,chunk:chunk}, smalltalk.ChunkParser)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"nextChunk",{char:char,result:result,chunk:chunk}, smalltalk.ChunkParser)})},
+messageSends: ["writeStream", "whileTrue:", "ifTrue:", "ifTrue:ifFalse:", "next", "trimBoth", "contents", "=", "peek", "nextPut:", "notNil"]}),
 smalltalk.ChunkParser);
 
 smalltalk.addMethod(
@@ -42,8 +42,8 @@ selector: "stream:",
 fn: function (aStream){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@stream"]=aStream;
-return self}, function($ctx1) {$ctx1.fill(self,"stream:",{aStream:aStream}, smalltalk.ChunkParser)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"stream:",{aStream:aStream}, smalltalk.ChunkParser)})},
+messageSends: []}),
 smalltalk.ChunkParser);
 
 
@@ -56,8 +56,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._new())._stream_(aStream);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream}, smalltalk.ChunkParser.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream}, smalltalk.ChunkParser.klass)})},
+messageSends: ["stream:", "new"]}),
 smalltalk.ChunkParser.klass);
 
 
@@ -81,8 +81,8 @@ $1=_st(aClass)._name();
 };
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"classNameFor:",{aClass:aClass}, smalltalk.Exporter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"classNameFor:",{aClass:aClass}, smalltalk.Exporter)})},
+messageSends: ["ifTrue:ifFalse:", ",", "name", "instanceClass", "isNil", "isMetaclass"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -98,8 +98,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(stream)._nextPutAll_(_
 }, function($ctx3) {$ctx3.fillBlock({pkg:pkg},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"exportAll",{}, smalltalk.Exporter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"exportAll",{}, smalltalk.Exporter)})},
+messageSends: ["streamContents:", "do:", "nextPutAll:", "exportPackage:", "name", "packages", "current"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -116,8 +116,8 @@ _st(self)._exportMetaDefinitionOf_on_(aClass,stream);
 return _st(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)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"exportClass:",{aClass:aClass}, smalltalk.Exporter)})},
+messageSends: ["streamContents:", "exportDefinitionOf:on:", "exportMethodsOf:on:", "exportMetaDefinitionOf:on:", "class"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -152,8 +152,8 @@ $7=_st($6)._nextPutAll_(_st(_st(aClass)._comment())._asJavascript());
 $7;
 };
 _st(aStream)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.Exporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.Exporter)})},
+messageSends: ["nextPutAll:", ",", "classNameFor:", "superclass", "do:separatedBy:", "instanceVariableNames", "category", "ifTrue:", "lf", "asJavascript", "comment", "notEmpty"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -176,8 +176,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(aStream)._nextPutAll_(
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(aStream)._nextPutAll_(_st("];").__comma(_st((smalltalk.String || String))._lf()));
 };
-return self}, function($ctx1) {$ctx1.fill(self,"exportMetaDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.Exporter)})}
-}),
+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"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -215,8 +215,8 @@ _st($3)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(aClass))
 _st($3)._nextPutAll_(");");
 _st($3)._lf();
 $4=_st($3)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportMethod:of:on:",{aMethod:aMethod,aClass:aClass,aStream:aStream}, smalltalk.Exporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportMethod:of:on:",{aMethod:aMethod,aClass:aClass,aStream:aStream}, smalltalk.Exporter)})},
+messageSends: ["nextPutAll:", "lf", ",", "asJavascript", "asSelector", "selector", "category", "compiledSource", "fn", "arguments", "source", "messageSends", "referencedClasses", "classNameFor:"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -235,8 +235,8 @@ return _st(self)._exportMethod_of_on_(each,aClass,aStream);
 };
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 _st(aStream)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportMethodsOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.Exporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportMethodsOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.Exporter)})},
+messageSends: ["do:", "ifFalse:", "exportMethod:of:on:", "match:", "category", "sorted:", "<=", "selector", "values", "methodDictionary", "lf"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -257,8 +257,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(stream)._nextPutAll_(_
 return _st(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)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"exportPackage:",{packageName:packageName,package_:package_}, smalltalk.Exporter)})},
+messageSends: ["streamContents:", "packageAt:", "current", "exportPackageDefinitionOf:on:", "do:", "nextPutAll:", "exportClass:", "asSet", "sortedClasses", "exportPackageExtensionsOf:on:"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -272,8 +272,8 @@ $1=aStream;
 _st($1)._nextPutAll_("smalltalk.addPackage(");
 $2=_st($1)._nextPutAll_(_st(_st(_st(_st("'").__comma(_st(package_)._name())).__comma("', ")).__comma(_st(package_)._propertiesAsJSON())).__comma(");"));
 _st(aStream)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportPackageDefinitionOf:on:",{package_:package_,aStream:aStream}, smalltalk.Exporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportPackageDefinitionOf:on:",{package_:package_,aStream:aStream}, smalltalk.Exporter)})},
+messageSends: ["nextPutAll:", ",", "propertiesAsJSON", "name", "lf"]}),
 smalltalk.Exporter);
 
 smalltalk.addMethod(
@@ -297,8 +297,8 @@ return _st(self)._exportMethod_of_on_(method,aClass,aStream);
 }, function($ctx4) {$ctx4.fillBlock({method:method},$ctx1)})}));
 }, function($ctx3) {$ctx3.fillBlock({aClass:aClass},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"exportPackageExtensionsOf:on:",{package_:package_,aStream:aStream,name:name}, smalltalk.Exporter)})}
-}),
+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"]}),
 smalltalk.Exporter);
 
 
@@ -313,8 +313,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(aString)._replace_with_("!","!!"))._trimBoth();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"chunkEscape:",{aString:aString}, smalltalk.ChunkExporter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"chunkEscape:",{aString:aString}, smalltalk.ChunkExporter)})},
+messageSends: ["trimBoth", "replace:with:"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(
@@ -336,8 +336,8 @@ $1=_st(aClass)._name();
 };
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"classNameFor:",{aClass:aClass}, smalltalk.ChunkExporter)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"classNameFor:",{aClass:aClass}, smalltalk.ChunkExporter)})},
+messageSends: ["ifTrue:ifFalse:", ",", "name", "instanceClass", "isNil", "isMetaclass"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(
@@ -372,8 +372,8 @@ $7=_st($6)._lf();
 $7;
 };
 _st(aStream)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.ChunkExporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.ChunkExporter)})},
+messageSends: ["nextPutAll:", "classNameFor:", "superclass", ",", "lf", "do:separatedBy:", "instanceVariableNames", "category", "ifTrue:", "chunkEscape:", "comment", "notEmpty"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(
@@ -400,8 +400,8 @@ _st($4)._lf();
 $5=_st($4)._lf();
 $5;
 };
-return self}, function($ctx1) {$ctx1.fill(self,"exportMetaDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.ChunkExporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportMetaDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.ChunkExporter)})},
+messageSends: ["ifFalse:", "nextPutAll:", "classNameFor:", "class", "do:separatedBy:", "instanceVariableNames", "lf", "isEmpty"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(
@@ -417,8 +417,8 @@ _st($1)._lf();
 _st($1)._nextPutAll_(_st(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)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportMethod:of:on:",{aMethod:aMethod,aClass:aClass,aStream:aStream}, smalltalk.ChunkExporter)})},
+messageSends: ["lf", "nextPutAll:", "chunkEscape:", "source"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(
@@ -440,8 +440,8 @@ $3=aStream;
 _st($3)._nextPutAll_(" !");
 _st($3)._lf();
 $4=_st($3)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportMethods:category:of:on:",{methods:methods,category:category,aClass:aClass,aStream:aStream}, smalltalk.ChunkExporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportMethods:category:of:on:",{methods:methods,category:category,aClass:aClass,aStream:aStream}, smalltalk.ChunkExporter)})},
+messageSends: ["nextPutAll:", ",", "classNameFor:", "do:", "exportMethod:of:on:", "sorted:", "<=", "selector", "lf"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(
@@ -467,8 +467,8 @@ return smalltalk.withContext(function($ctx2) {
methods=_st(map)._at_(category);
 methods;
 return _st(self)._exportMethods_category_of_on_(methods,category,aClass,aStream);
 }, function($ctx2) {$ctx2.fillBlock({category:category,methods:methods},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"exportMethodsOf:on:",{aClass:aClass,aStream:aStream,map:map}, smalltalk.ChunkExporter)})}
-}),
+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"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(
@@ -481,8 +481,8 @@ return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 $1=aStream;
 _st($1)._nextPutAll_(_st(_st(_st(_st("Smalltalk current createPackage: '").__comma(_st(package_)._name())).__comma("' properties: ")).__comma(_st(_st(package_)._properties())._storeString())).__comma("!"));
 $2=_st($1)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportPackageDefinitionOf:on:",{package_:package_,aStream:aStream}, smalltalk.ChunkExporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportPackageDefinitionOf:on:",{package_:package_,aStream:aStream}, smalltalk.ChunkExporter)})},
+messageSends: ["nextPutAll:", ",", "storeString", "properties", "name", "lf"]}),
 smalltalk.ChunkExporter);
 
 smalltalk.addMethod(
@@ -514,8 +514,8 @@ 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)})}));
 }, 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)})}
-}),
+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"]}),
 smalltalk.ChunkExporter);
 
 
@@ -543,8 +543,8 @@ _st($3)._nextPutAll_("], '");
 _st($3)._nextPutAll_(_st(_st(aClass)._category()).__comma("'"));
 $4=_st($3)._nextPutAll_(");");
 _st(aStream)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.StrippedExporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportDefinitionOf:on:",{aClass:aClass,aStream:aStream}, smalltalk.StrippedExporter)})},
+messageSends: ["nextPutAll:", ",", "classNameFor:", "superclass", "do:separatedBy:", "instanceVariableNames", "category", "lf"]}),
 smalltalk.StrippedExporter);
 
 smalltalk.addMethod(
@@ -563,16 +563,17 @@ _st($1)._nextPutAll_("smalltalk.method({");
 _st($1)._lf();
 _st($1)._nextPutAll_(_st(_st("selector: ").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st("fn: ").__comma(_st(_st(aMethod)._fn())._compiledSource()));
+_st($1)._nextPutAll_(_st(_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_("}),");
 _st($1)._lf();
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(aClass)));
 _st($1)._nextPutAll_(");");
 _st($1)._lf();
 $2=_st($1)._lf();
-return self}, function($ctx1) {$ctx1.fill(self,"exportMethod:of:on:",{aMethod:aMethod,aClass:aClass,aStream:aStream}, smalltalk.StrippedExporter)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exportMethod:of:on:",{aMethod:aMethod,aClass:aClass,aStream:aStream}, smalltalk.StrippedExporter)})},
+messageSends: ["nextPutAll:", "lf", ",", "asJavascript", "asSelector", "selector", "compiledSource", "fn", "messageSends", "classNameFor:"]}),
 smalltalk.StrippedExporter);
 
 
@@ -608,8 +609,8 @@ return _st(result)._scanFrom_(parser);
 };
 };
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"import:",{aStream:aStream,chunk:chunk,result:result,parser:parser,lastEmpty:lastEmpty}, smalltalk.Importer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"import:",{aStream:aStream,chunk:chunk,result:result,parser:parser,lastEmpty:lastEmpty}, smalltalk.Importer)})},
+messageSends: ["on:", "whileFalse:", "ifTrue:ifFalse:", "evaluateExpression:", "new", "ifTrue:", "scanFrom:", "isEmpty", "nextChunk", "isNil"]}),
 smalltalk.Importer);
 
 
@@ -626,8 +627,8 @@ $1=_st((smalltalk.Package || 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"));
-return self}, function($ctx1) {$ctx1.fill(self,"initializePackageNamed:prefix:",{packageName:packageName,aString:aString}, smalltalk.PackageLoader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initializePackageNamed:prefix:",{packageName:packageName,aString:aString}, smalltalk.PackageLoader)})},
+messageSends: ["setupClasses", "named:", "commitPathJs:", ",", "commitPathSt:"]}),
 smalltalk.PackageLoader);
 
 smalltalk.addMethod(
@@ -647,8 +648,8 @@ return _st(self)._initializePackageNamed_prefix_(packageName,aString);
 }, function($ctx2) {$ctx2.fillBlock({jqXHR:jqXHR,textStatus:textStatus},$ctx1)})})),_st("error").__minus_gt((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(window)._alert_(_st("Could not load package at:  ").__comma(url));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))]));
-return self}, function($ctx1) {$ctx1.fill(self,"loadPackage:prefix:",{packageName:packageName,aString:aString,url:url}, smalltalk.PackageLoader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"loadPackage:prefix:",{packageName:packageName,aString:aString,url:url}, smalltalk.PackageLoader)})},
+messageSends: [",", "ajax:options:", "->", "ifTrue:", "initializePackageNamed:prefix:", "=", "readyState", "alert:"]}),
 smalltalk.PackageLoader);
 
 smalltalk.addMethod(
@@ -660,8 +661,8 @@ 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);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString}, smalltalk.PackageLoader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString}, smalltalk.PackageLoader)})},
+messageSends: ["do:", "loadPackage:prefix:"]}),
 smalltalk.PackageLoader);
 
 
@@ -674,8 +675,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._new())._loadPackages_prefix_(aCollection,aString);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString}, smalltalk.PackageLoader.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"loadPackages:prefix:",{aCollection:aCollection,aString:aString}, smalltalk.PackageLoader.klass)})},
+messageSends: ["loadPackages:prefix:", "new"]}),
 smalltalk.PackageLoader.klass);
 
 

+ 4 - 3
js/Importer-Exporter.js

@@ -679,8 +679,9 @@ _st($1)._nextPutAll_("smalltalk.method({");
 _st($1)._lf();
 _st($1)._nextPutAll_(_st(_st("selector: ").__comma(_st(_st(aMethod)._selector())._asJavascript())).__comma(","));
 _st($1)._lf();
-_st($1)._nextPutAll_(_st("fn: ").__comma(_st(_st(aMethod)._fn())._compiledSource()));
+_st($1)._nextPutAll_(_st(_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_("}),");
 _st($1)._lf();
 _st($1)._nextPutAll_(_st("smalltalk.").__comma(_st(self)._classNameFor_(aClass)));
@@ -689,8 +690,8 @@ _st($1)._lf();
 $2=_st($1)._lf();
 return self}, function($ctx1) {$ctx1.fill(self,"exportMethod:of:on:",{aMethod:aMethod,aClass:aClass,aStream:aStream}, smalltalk.StrippedExporter)})},
 args: ["aMethod", "aClass", "aStream"],
-source: "exportMethod: aMethod of: aClass on: aStream\x0a\x09aStream \x0a\x09\x09nextPutAll: 'smalltalk.addMethod(';lf;\x0a\x09\x09nextPutAll: aMethod selector asSelector asJavascript, ',';lf;\x0a\x09\x09nextPutAll: 'smalltalk.method({';lf;\x0a\x09\x09nextPutAll: 'selector: ', aMethod selector asJavascript, ',';lf;\x0a\x09\x09nextPutAll: 'fn: ', aMethod fn compiledSource;lf;\x0a\x09\x09nextPutAll: '}),';lf;\x0a\x09\x09nextPutAll: 'smalltalk.', (self classNameFor: aClass);\x0a\x09\x09nextPutAll: ');';lf;lf",
-messageSends: ["nextPutAll:", "lf", ",", "asJavascript", "asSelector", "selector", "compiledSource", "fn", "classNameFor:"],
+source: "exportMethod: aMethod of: aClass on: aStream\x0a\x09aStream \x0a\x09\x09nextPutAll: 'smalltalk.addMethod(';lf;\x0a\x09\x09nextPutAll: aMethod selector asSelector asJavascript, ',';lf;\x0a\x09\x09nextPutAll: 'smalltalk.method({';lf;\x0a\x09\x09nextPutAll: 'selector: ', aMethod selector asJavascript, ',';lf;\x0a\x09\x09nextPutAll: 'fn: ', aMethod fn compiledSource, ',';lf;\x0a\x09\x09nextPutAll: 'messageSends: ', aMethod messageSends asJavascript;\x0a\x09\x09nextPutAll: '}),';lf;\x0a\x09\x09nextPutAll: 'smalltalk.', (self classNameFor: aClass);\x0a\x09\x09nextPutAll: ');';lf;lf",
+messageSends: ["nextPutAll:", "lf", ",", "asJavascript", "asSelector", "selector", "compiledSource", "fn", "messageSends", "classNameFor:"],
 referencedClasses: []
 }),
 smalltalk.StrippedExporter);

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

@@ -9,8 +9,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@announcementClass"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"announcementClass",{}, smalltalk.AnnouncementSubscription)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"announcementClass",{}, smalltalk.AnnouncementSubscription)})},
+messageSends: []}),
 smalltalk.AnnouncementSubscription);
 
 smalltalk.addMethod(
@@ -20,8 +20,8 @@ selector: "announcementClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@announcementClass"]=aClass;
-return self}, function($ctx1) {$ctx1.fill(self,"announcementClass:",{aClass:aClass}, smalltalk.AnnouncementSubscription)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"announcementClass:",{aClass:aClass}, smalltalk.AnnouncementSubscription)})},
+messageSends: []}),
 smalltalk.AnnouncementSubscription);
 
 smalltalk.addMethod(
@@ -33,8 +33,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@block"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"block",{}, smalltalk.AnnouncementSubscription)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"block",{}, smalltalk.AnnouncementSubscription)})},
+messageSends: []}),
 smalltalk.AnnouncementSubscription);
 
 smalltalk.addMethod(
@@ -44,8 +44,8 @@ selector: "block:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@block"]=aBlock;
-return self}, function($ctx1) {$ctx1.fill(self,"block:",{aBlock:aBlock}, smalltalk.AnnouncementSubscription)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"block:",{aBlock:aBlock}, smalltalk.AnnouncementSubscription)})},
+messageSends: []}),
 smalltalk.AnnouncementSubscription);
 
 smalltalk.addMethod(
@@ -59,8 +59,8 @@ $1=_st(self)._handlesAnnouncement_(anAnnouncement);
 if(smalltalk.assert($1)){
 _st(_st(self)._block())._value_(anAnnouncement);
 };
-return self}, function($ctx1) {$ctx1.fill(self,"deliver:",{anAnnouncement:anAnnouncement}, smalltalk.AnnouncementSubscription)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"deliver:",{anAnnouncement:anAnnouncement}, smalltalk.AnnouncementSubscription)})},
+messageSends: ["ifTrue:", "value:", "block", "handlesAnnouncement:"]}),
 smalltalk.AnnouncementSubscription);
 
 smalltalk.addMethod(
@@ -72,8 +72,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anAnnouncement)._isKindOf_(_st(self)._announcementClass());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement}, smalltalk.AnnouncementSubscription)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement}, smalltalk.AnnouncementSubscription)})},
+messageSends: ["isKindOf:", "announcementClass"]}),
 smalltalk.AnnouncementSubscription);
 
 
@@ -88,8 +88,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self["@subscriptions"])._do_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(each)._deliver_(anAnnouncement);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement}, smalltalk.Announcer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement}, smalltalk.Announcer)})},
+messageSends: ["do:", "deliver:"]}),
 smalltalk.Announcer);
 
 smalltalk.addMethod(
@@ -100,8 +100,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
 self["@subscriptions"]=_st((smalltalk.Array || Array))._new();
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Announcer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Announcer)})},
+messageSends: ["initialize", "new"]}),
 smalltalk.Announcer);
 
 smalltalk.addMethod(
@@ -116,8 +116,8 @@ _st($1)._block_(aBlock);
 _st($1)._announcementClass_(aClass);
 $2=_st($1)._yourself();
 _st(self["@subscriptions"])._add_($2);
-return self}, function($ctx1) {$ctx1.fill(self,"on:do:",{aClass:aClass,aBlock:aBlock}, smalltalk.Announcer)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"on:do:",{aClass:aClass,aBlock:aBlock}, smalltalk.Announcer)})},
+messageSends: ["add:", "block:", "new", "announcementClass:", "yourself"]}),
 smalltalk.Announcer);
 
 
@@ -140,8 +140,8 @@ $1=self["@current"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.SystemAnnouncer.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.SystemAnnouncer.klass)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.SystemAnnouncer.klass);
 
 smalltalk.addMethod(
@@ -151,8 +151,8 @@ selector: "new",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
-return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.SystemAnnouncer.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.SystemAnnouncer.klass)})},
+messageSends: ["shouldNotImplement"]}),
 smalltalk.SystemAnnouncer.klass);
 
 
@@ -166,8 +166,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@theClass"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.SystemAnnouncement)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.SystemAnnouncement)})},
+messageSends: []}),
 smalltalk.SystemAnnouncement);
 
 smalltalk.addMethod(
@@ -177,8 +177,8 @@ selector: "theClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
-return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.SystemAnnouncement)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.SystemAnnouncement)})},
+messageSends: []}),
 smalltalk.SystemAnnouncement);
 
 
@@ -208,8 +208,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@method"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.MethodAnnouncement)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.MethodAnnouncement)})},
+messageSends: []}),
 smalltalk.MethodAnnouncement);
 
 smalltalk.addMethod(
@@ -219,8 +219,8 @@ selector: "method:",
 fn: function (aCompiledMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@method"]=aCompiledMethod;
-return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod}, smalltalk.MethodAnnouncement)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod}, smalltalk.MethodAnnouncement)})},
+messageSends: []}),
 smalltalk.MethodAnnouncement);
 
 

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

@@ -13,8 +13,8 @@ _st($1)._theClass_(self);
 _st($1)._method_(aMethod);
 $2=_st($1)._yourself();
 _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
-return self}, function($ctx1) {$ctx1.fill(self,"addCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"addCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})},
+messageSends: ["basicAddCompiledMethod:", "announce:", "theClass:", "new", "method:", "yourself", "current"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -34,8 +34,8 @@ _st(result)._addAll_(_st(_st(self)._superclass())._allInstanceVariableNames());
 };
 $2=result;
 return $2;
-}, function($ctx1) {$ctx1.fill(self,"allInstanceVariableNames",{result:result}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"allInstanceVariableNames",{result:result}, smalltalk.Behavior)})},
+messageSends: ["copy", "instanceVariableNames", "ifNotNil:", "addAll:", "allInstanceVariableNames", "superclass"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -52,8 +52,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(result)._addAll_(_st(e
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 $1=result;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"allSubclasses",{result:result}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"allSubclasses",{result:result}, smalltalk.Behavior)})},
+messageSends: ["subclasses", "do:", "addAll:", "allSubclasses"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -74,8 +74,8 @@ _st($3)._addAll_(_st(_st(self)._superclass())._allSuperclasses());
 $4=_st($3)._yourself();
 $2=$4;
 return $2;
-}, function($ctx1) {$ctx1.fill(self,"allSuperclasses",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"allSuperclasses",{}, smalltalk.Behavior)})},
+messageSends: ["ifNil:", "superclass", "addAll:", "allSuperclasses", "with:", "yourself"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -85,8 +85,8 @@ selector: "basicAddCompiledMethod:",
 fn: function (aMethod){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.addMethod(aMethod.selector._asSelector(), aMethod, self);
-return self}, function($ctx1) {$ctx1.fill(self,"basicAddCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicAddCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -96,8 +96,8 @@ selector: "basicNew",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return new self.fn();
-return self}, function($ctx1) {$ctx1.fill(self,"basicNew",{}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicNew",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -110,8 +110,8 @@ return smalltalk.withContext(function($ctx1) {
     	smalltalk.removeMethod(aMethod)
 		smalltalk.init(self);
     ;
-return self}, function($ctx1) {$ctx1.fill(self,"basicRemoveCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicRemoveCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -127,8 +127,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(_st(self)._superclass(
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"canUnderstand:",{aSelector:aSelector}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"canUnderstand:",{aSelector:aSelector}, smalltalk.Behavior)})},
+messageSends: ["or:", "and:", "canUnderstand:", "superclass", "notNil", "includes:", "asString", "keys", "methodDictionary"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -145,8 +145,8 @@ $1="";
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"comment",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"comment",{}, smalltalk.Behavior)})},
+messageSends: ["ifNil:", "basicAt:"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -161,8 +161,8 @@ $1=_st((smalltalk.ClassCommentChanged || ClassCommentChanged))._new();
 _st($1)._theClass_(self);
 $2=_st($1)._yourself();
 _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
-return self}, function($ctx1) {$ctx1.fill(self,"comment:",{aString:aString}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"comment:",{aString:aString}, smalltalk.Behavior)})},
+messageSends: ["basicAt:put:", "announce:", "theClass:", "new", "yourself", "current"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -177,8 +177,8 @@ _st($2)._class_(self);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"commentStamp",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"commentStamp",{}, smalltalk.Behavior)})},
+messageSends: ["class:", "new", "yourself"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -190,8 +190,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._commentStamp();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"commentStamp:prior:",{aStamp:aStamp,prior:prior}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"commentStamp:prior:",{aStamp:aStamp,prior:prior}, smalltalk.Behavior)})},
+messageSends: ["commentStamp"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -201,8 +201,8 @@ selector: "compile:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._compile_category_(aString,"");
-return self}, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString}, smalltalk.Behavior)})},
+messageSends: ["compile:category:"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -212,8 +212,8 @@ selector: "compile:category:",
 fn: function (aString,anotherString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.Compiler || Compiler))._new())._install_forClass_category_(aString,self,anotherString);
-return self}, function($ctx1) {$ctx1.fill(self,"compile:category:",{aString:aString,anotherString:anotherString}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"compile:category:",{aString:aString,anotherString:anotherString}, smalltalk.Behavior)})},
+messageSends: ["install:forClass:category:", "new"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -223,8 +223,8 @@ selector: "definition",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return "";
-}, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -236,8 +236,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._methodDictionary())._includesKey_(_st(aSymbol)._asString());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aSymbol:aSymbol}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aSymbol:aSymbol}, smalltalk.Behavior)})},
+messageSends: ["includesKey:", "asString", "methodDictionary"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -249,8 +249,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(aClass)._allSubclasses())._includes_(self);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"inheritsFrom:",{aClass:aClass}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"inheritsFrom:",{aClass:aClass}, smalltalk.Behavior)})},
+messageSends: ["includes:", "allSubclasses"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -260,8 +260,8 @@ selector: "instanceVariableNames",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.iVarNames;
-return self}, function($ctx1) {$ctx1.fill(self,"instanceVariableNames",{}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"instanceVariableNames",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -289,8 +289,8 @@ return lookupClass;
 return nil;
 }
 catch(e) {if(e===$early)return e[0]; throw e}
-}, function($ctx1) {$ctx1.fill(self,"lookupSelector:",{selector:selector,lookupClass:lookupClass}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"lookupSelector:",{selector:selector,lookupClass:lookupClass}, smalltalk.Behavior)})},
+messageSends: ["whileFalse:", "ifTrue:", "methodAt:", "includesSelector:", "superclass", "="]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -302,8 +302,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._methodDictionary())._at_(_st(aSymbol)._asString());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodAt:",{aSymbol:aSymbol}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methodAt:",{aSymbol:aSymbol}, smalltalk.Behavior)})},
+messageSends: ["at:", "asString", "methodDictionary"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -320,8 +320,8 @@ return smalltalk.withContext(function($ctx1) { 
var dict = smalltalk.HashedColle
 		}
 	};
 	return dict;
-return self}, function($ctx1) {$ctx1.fill(self,"methodDictionary",{}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"methodDictionary",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -333,8 +333,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._methodDictionary())._values();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methods",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methods",{}, smalltalk.Behavior)})},
+messageSends: ["values", "methodDictionary"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -349,8 +349,8 @@ _st($2)._class_category_(self,aString);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodsFor:",{aString:aString}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methodsFor:",{aString:aString}, smalltalk.Behavior)})},
+messageSends: ["class:category:", "new", "yourself"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -362,8 +362,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._methodsFor_(aString);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodsFor:stamp:",{aString:aString,aStamp:aStamp}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methodsFor:stamp:",{aString:aString,aStamp:aStamp}, smalltalk.Behavior)})},
+messageSends: ["methodsFor:"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -377,8 +377,8 @@ $1=_st(_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)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodsInProtocol:",{aString:aString}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methodsInProtocol:",{aString:aString}, smalltalk.Behavior)})},
+messageSends: ["select:", "=", "protocol", "values", "methodDictionary"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -388,8 +388,8 @@ selector: "name",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.className || nil;
-return self}, function($ctx1) {$ctx1.fill(self,"name",{}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"name",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -401,8 +401,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._basicNew())._initialize();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.Behavior)})},
+messageSends: ["initialize", "basicNew"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -414,8 +414,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._basicAt_("organization");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"organization",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"organization",{}, smalltalk.Behavior)})},
+messageSends: ["basicAt:"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -427,8 +427,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(_st(self)._organization())._elements())._sorted();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"protocols",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"protocols",{}, smalltalk.Behavior)})},
+messageSends: ["sorted", "elements", "organization"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -447,8 +447,8 @@ return smalltalk.withContext(function($ctx3) {
return _st((smalltalk.Array || Ar
 _st(_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)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"protocolsDo:",{aBlock:aBlock,methodsByCategory:methodsByCategory}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"protocolsDo:",{aBlock:aBlock,methodsByCategory:methodsByCategory}, smalltalk.Behavior)})},
+messageSends: ["new", "do:", "add:", "at:ifAbsentPut:", "category", "values", "methodDictionary", "value:value:", "at:", "protocols"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -458,8 +458,8 @@ selector: "prototype",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.fn.prototype;
-return self}, function($ctx1) {$ctx1.fill(self,"prototype",{}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"prototype",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -475,8 +475,8 @@ _st($1)._theClass_(self);
 _st($1)._method_(aMethod);
 $2=_st($1)._yourself();
 _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
-return self}, function($ctx1) {$ctx1.fill(self,"removeCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"removeCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})},
+messageSends: ["basicRemoveCompiledMethod:", "announce:", "theClass:", "new", "method:", "yourself", "current"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -488,8 +488,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._methodDictionary())._keys();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"selectors",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"selectors",{}, smalltalk.Behavior)})},
+messageSends: ["keys", "methodDictionary"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -499,8 +499,8 @@ selector: "subclasses",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return smalltalk.subclasses(self);
-return self}, function($ctx1) {$ctx1.fill(self,"subclasses",{}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"subclasses",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -510,8 +510,8 @@ selector: "superclass",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.superclass || nil;
-return self}, function($ctx1) {$ctx1.fill(self,"superclass",{}, smalltalk.Behavior)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"superclass",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -523,8 +523,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._class();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"theMetaClass",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"theMetaClass",{}, smalltalk.Behavior)})},
+messageSends: ["class"]}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -536,8 +536,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"theNonMetaClass",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"theNonMetaClass",{}, smalltalk.Behavior)})},
+messageSends: []}),
 smalltalk.Behavior);
 
 smalltalk.addMethod(
@@ -552,8 +552,8 @@ _st($2)._addAll_(_st(self)._allSubclasses());
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"withAllSubclasses",{}, smalltalk.Behavior)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"withAllSubclasses",{}, smalltalk.Behavior)})},
+messageSends: ["addAll:", "allSubclasses", "with:", "yourself"]}),
 smalltalk.Behavior);
 
 
@@ -568,8 +568,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st("smalltalk.").__comma(_st(self)._name());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Class)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Class)})},
+messageSends: [",", "name"]}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -586,8 +586,8 @@ $1="Unclassified";
 $1=_st(_st(self)._package())._name();
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"category",{}, smalltalk.Class)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"category",{}, smalltalk.Class)})},
+messageSends: ["ifNil:ifNotNil:", "name", "package"]}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -618,8 +618,8 @@ $5=_st($4)._nextPutAll_("'");
 return $5;
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Class)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Class)})},
+messageSends: ["streamContents:", "nextPutAll:", "asString", "superclass", "name", ",", "tab", "lf", "do:separatedBy:", "instanceVariableNames", "category"]}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -629,8 +629,8 @@ selector: "isClass",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isClass",{}, smalltalk.Class)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isClass",{}, smalltalk.Class)})},
+messageSends: []}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -640,8 +640,8 @@ selector: "package",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.pkg;
-return self}, function($ctx1) {$ctx1.fill(self,"package",{}, smalltalk.Class)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"package",{}, smalltalk.Class)})},
+messageSends: []}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -651,8 +651,8 @@ selector: "package:",
 fn: function (aPackage){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self.pkg = aPackage;
-return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage}, smalltalk.Class)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage}, smalltalk.Class)})},
+messageSends: []}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -664,8 +664,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._name();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Class)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Class)})},
+messageSends: ["name"]}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -675,8 +675,8 @@ selector: "rename:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._renameClass_to_(self,aString);
-return self}, function($ctx1) {$ctx1.fill(self,"rename:",{aString:aString}, smalltalk.Class)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"rename:",{aString:aString}, smalltalk.Class)})},
+messageSends: ["renameClass:to:", "new"]}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -688,8 +688,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._subclass_instanceVariableNames_package_(aString,anotherString,nil);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:",{aString:aString,anotherString:anotherString}, smalltalk.Class)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:",{aString:aString,anotherString:anotherString}, smalltalk.Class)})},
+messageSends: ["subclass:instanceVariableNames:package:"]}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -702,8 +702,8 @@ return smalltalk.withContext(function($ctx1) { 
var $1;
 _st(self)._deprecatedAPI();
 $1=_st(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)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:category:",{aString:aString,aString2:aString2,aString3:aString3}, smalltalk.Class)})},
+messageSends: ["deprecatedAPI", "subclass:instanceVariableNames:package:"]}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -715,8 +715,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(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)})}
-}),
+}, 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:"]}),
 smalltalk.Class);
 
 smalltalk.addMethod(
@@ -728,8 +728,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._superclass_subclass_instanceVariableNames_package_(self,_st(aString)._asString(),aString2,aString3);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:package:",{aString:aString,aString2:aString2,aString3:aString3}, smalltalk.Class)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:package:",{aString:aString,aString2:aString2,aString3:aString3}, smalltalk.Class)})},
+messageSends: ["superclass:subclass:instanceVariableNames:package:", "asString", "new"]}),
 smalltalk.Class);
 
 
@@ -744,8 +744,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st("smalltalk.").__comma(_st(_st(self)._instanceClass())._name())).__comma(".klass");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Metaclass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Metaclass)})},
+messageSends: [",", "name", "instanceClass"]}),
 smalltalk.Metaclass);
 
 smalltalk.addMethod(
@@ -769,8 +769,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(stream)._nextPutAll_("
 return _st(stream)._nextPutAll_("'");
 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Metaclass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Metaclass)})},
+messageSends: ["streamContents:", "nextPutAll:", "asString", "do:separatedBy:", "instanceVariableNames"]}),
 smalltalk.Metaclass);
 
 smalltalk.addMethod(
@@ -780,8 +780,8 @@ selector: "instanceClass",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.instanceClass;
-return self}, function($ctx1) {$ctx1.fill(self,"instanceClass",{}, smalltalk.Metaclass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"instanceClass",{}, smalltalk.Metaclass)})},
+messageSends: []}),
 smalltalk.Metaclass);
 
 smalltalk.addMethod(
@@ -791,8 +791,8 @@ selector: "instanceVariableNames:",
 fn: function (aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._class_instanceVariableNames_(self,aCollection);
-return self}, function($ctx1) {$ctx1.fill(self,"instanceVariableNames:",{aCollection:aCollection}, smalltalk.Metaclass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"instanceVariableNames:",{aCollection:aCollection}, smalltalk.Metaclass)})},
+messageSends: ["class:instanceVariableNames:", "new"]}),
 smalltalk.Metaclass);
 
 smalltalk.addMethod(
@@ -802,8 +802,8 @@ selector: "isMetaclass",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isMetaclass",{}, smalltalk.Metaclass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isMetaclass",{}, smalltalk.Metaclass)})},
+messageSends: []}),
 smalltalk.Metaclass);
 
 smalltalk.addMethod(
@@ -815,8 +815,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(_st(self)._instanceClass())._name()).__comma(" class");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Metaclass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Metaclass)})},
+messageSends: [",", "name", "instanceClass"]}),
 smalltalk.Metaclass);
 
 smalltalk.addMethod(
@@ -828,8 +828,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"theMetaClass",{}, smalltalk.Metaclass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"theMetaClass",{}, smalltalk.Metaclass)})},
+messageSends: []}),
 smalltalk.Metaclass);
 
 smalltalk.addMethod(
@@ -841,8 +841,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._instanceClass();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"theNonMetaClass",{}, smalltalk.Metaclass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"theNonMetaClass",{}, smalltalk.Metaclass)})},
+messageSends: ["instanceClass"]}),
 smalltalk.Metaclass);
 
 
@@ -869,8 +869,8 @@ return $3;
 };
 $4=_st(self)._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,aString,aCollection,packageName);
 return $4;
-}, function($ctx1) {$ctx1.fill(self,"addSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,aString:aString,aCollection:aCollection,packageName:packageName,theClass:theClass}, smalltalk.ClassBuilder)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"addSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,aString:aString,aCollection:aCollection,packageName:packageName,theClass:theClass}, smalltalk.ClassBuilder)})},
+messageSends: ["at:", "current", "ifNotNil:", "ifFalse:", "migrateClassNamed:superclass:instanceVariableNames:package:", "==", "superclass", "basicAddSubclassOf:named:instanceVariableNames:package:"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -883,8 +883,8 @@ return smalltalk.withContext(function($ctx1) {
 		smalltalk.addClass(aString, aClass, aCollection, packageName);
 		return smalltalk[aString]
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"basicAddSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,aString:aString,aCollection:aCollection,packageName:packageName}, smalltalk.ClassBuilder)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicAddSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,aString:aString,aCollection:aCollection,packageName:packageName}, smalltalk.ClassBuilder)})},
+messageSends: []}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -894,8 +894,8 @@ selector: "basicClass:instanceVariableNames:",
 fn: function (aClass,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._basicClass_instanceVariables_(aClass,_st(self)._instanceVariableNamesFor_(aString));
-return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariableNames:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariableNames:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})},
+messageSends: ["basicClass:instanceVariables:", "instanceVariableNamesFor:"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -910,8 +910,8 @@ if(! smalltalk.assert($1)){
 _st(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)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariables:",{aClass:aClass,aCollection:aCollection}, smalltalk.ClassBuilder)})},
+messageSends: ["ifFalse:", "error:", ",", "name", "isMetaclass", "basicAt:put:"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -921,8 +921,8 @@ selector: "basicRemoveClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.removeClass(aClass);
-return self}, function($ctx1) {$ctx1.fill(self,"basicRemoveClass:",{aClass:aClass}, smalltalk.ClassBuilder)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicRemoveClass:",{aClass:aClass}, smalltalk.ClassBuilder)})},
+messageSends: []}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -936,8 +936,8 @@ return smalltalk.withContext(function($ctx1) {
 		delete smalltalk[aClass.className];
 		aClass.className = aString;
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"basicRenameClass:to:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"basicRenameClass:to:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})},
+messageSends: []}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -953,8 +953,8 @@ $1=_st((smalltalk.ClassDefinitionChanged || ClassDefinitionChanged))._new();
 _st($1)._theClass_(aClass);
 $2=_st($1)._yourself();
 _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
-return self}, function($ctx1) {$ctx1.fill(self,"class:instanceVariableNames:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"class:instanceVariableNames:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})},
+messageSends: ["basicClass:instanceVariableNames:", "setupClass:", "announce:", "theClass:", "new", "yourself", "current"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -969,8 +969,8 @@ newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(_st(aClas
 _st(self)._copyClass_to_(aClass,newClass);
 $1=newClass;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"copyClass:named:",{aClass:aClass,aString:aString,newClass:newClass}, smalltalk.ClassBuilder)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"copyClass:named:",{aClass:aClass,aString:aString,newClass:newClass}, smalltalk.ClassBuilder)})},
+messageSends: ["addSubclassOf:named:instanceVariableNames:package:", "superclass", "instanceVariableNames", "name", "package", "copyClass:to:"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -988,8 +988,8 @@ _st(_st(_st(_st(aClass)._class())._methodDictionary())._values())._do_((function
 return smalltalk.withContext(function($ctx2) {
return _st(_st((smalltalk.Compiler || 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);
-return self}, function($ctx1) {$ctx1.fill(self,"copyClass:to:",{aClass:aClass,anotherClass:anotherClass}, smalltalk.ClassBuilder)})}
-}),
+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);
 
 smalltalk.addMethod(
@@ -1004,8 +1004,8 @@ _st(aBehavior)._addCompiledMethod_(aCompiledMethod);
 _st(self)._setupClass_(aBehavior);
 $1=aCompiledMethod;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"installMethod:forClass:category:",{aCompiledMethod:aCompiledMethod,aBehavior:aBehavior,aString:aString}, smalltalk.ClassBuilder)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"installMethod:forClass:category:",{aCompiledMethod:aCompiledMethod,aBehavior:aBehavior,aString:aString}, smalltalk.ClassBuilder)})},
+messageSends: ["category:", "addCompiledMethod:", "setupClass:"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -1019,8 +1019,8 @@ $1=_st(_st(aString)._tokenize_(" "))._reject_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(each)._isEmpty();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"instanceVariableNamesFor:",{aString:aString}, smalltalk.ClassBuilder)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"instanceVariableNamesFor:",{aString:aString}, smalltalk.ClassBuilder)})},
+messageSends: ["reject:", "isEmpty", "tokenize:"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -1031,8 +1031,8 @@ fn: function (aClass,anotherClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(console)._log_(_st(aClass)._name());
 _st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(_st(aClass)._name(),anotherClass,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
-return self}, function($ctx1) {$ctx1.fill(self,"migrateClass:superclass:",{aClass:aClass,anotherClass:anotherClass}, smalltalk.ClassBuilder)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"migrateClass:superclass:",{aClass:aClass,anotherClass:anotherClass}, smalltalk.ClassBuilder)})},
+messageSends: ["log:", "name", "migrateClassNamed:superclass:instanceVariableNames:package:", "instanceVariableNames", "package"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -1061,8 +1061,8 @@ return _st(exception)._signal();
 _st(self)._basicRemoveClass_(oldClass);
 $3=newClass;
 return $3;
-}, function($ctx1) {$ctx1.fill(self,"migrateClassNamed:superclass:instanceVariableNames:package:",{aString:aString,aClass:aClass,aCollection:aCollection,packageName:packageName,oldClass:oldClass,newClass:newClass}, smalltalk.ClassBuilder)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"migrateClassNamed:superclass:instanceVariableNames:package:",{aString:aString,aClass:aClass,aCollection:aCollection,packageName:packageName,oldClass:oldClass,newClass:newClass}, smalltalk.ClassBuilder)})},
+messageSends: ["at:", "current", "basicRenameClass:to:", ",", "addSubclassOf:named:instanceVariableNames:package:", "do:", "migrateClass:superclass:", "subclasses", "on:do:", "basicRemoveClass:", "signal", "copyClass:to:"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -1077,8 +1077,8 @@ $1=_st((smalltalk.ClassRenamed || ClassRenamed))._new();
 _st($1)._theClass_(aClass);
 $2=_st($1)._yourself();
 _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
-return self}, function($ctx1) {$ctx1.fill(self,"renameClass:to:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"renameClass:to:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})},
+messageSends: ["basicRenameClass:to:", "announce:", "theClass:", "new", "yourself", "current"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -1088,8 +1088,8 @@ selector: "setupClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.init(aClass);;
-return self}, function($ctx1) {$ctx1.fill(self,"setupClass:",{aClass:aClass}, smalltalk.ClassBuilder)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"setupClass:",{aClass:aClass}, smalltalk.ClassBuilder)})},
+messageSends: []}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -1101,8 +1101,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._superclass_subclass_instanceVariableNames_package_(aClass,aString,"",nil);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"superclass:subclass:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"superclass:subclass:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})},
+messageSends: ["superclass:subclass:instanceVariableNames:package:"]}),
 smalltalk.ClassBuilder);
 
 smalltalk.addMethod(
@@ -1131,8 +1131,8 @@ $8=_st($7)._yourself();
 _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($8);
 $9=newClass;
 return $9;
-}, function($ctx1) {$ctx1.fill(self,"superclass:subclass:instanceVariableNames:package:",{aClass:aClass,aString:aString,aString2:aString2,aString3:aString3,newClass:newClass}, smalltalk.ClassBuilder)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"superclass:subclass:instanceVariableNames:package:",{aClass:aClass,aString:aString,aString2:aString2,aString3:aString3,newClass:newClass}, smalltalk.ClassBuilder)})},
+messageSends: ["addSubclassOf:named:instanceVariableNames:package:", "instanceVariableNamesFor:", "ifNil:", "setupClass:", "announce:", "theClass:", "new", "yourself", "current"]}),
 smalltalk.ClassBuilder);
 
 
@@ -1146,8 +1146,8 @@ fn: function (aClass,aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@class"]=aClass;
 self["@category"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"class:category:",{aClass:aClass,aString:aString}, smalltalk.ClassCategoryReader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"class:category:",{aClass:aClass,aString:aString}, smalltalk.ClassCategoryReader)})},
+messageSends: []}),
 smalltalk.ClassCategoryReader);
 
 smalltalk.addMethod(
@@ -1157,8 +1157,8 @@ selector: "compileMethod:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.Compiler || Compiler))._new())._install_forClass_category_(aString,self["@class"],self["@category"]);
-return self}, function($ctx1) {$ctx1.fill(self,"compileMethod:",{aString:aString}, smalltalk.ClassCategoryReader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"compileMethod:",{aString:aString}, smalltalk.ClassCategoryReader)})},
+messageSends: ["install:forClass:category:", "new"]}),
 smalltalk.ClassCategoryReader);
 
 smalltalk.addMethod(
@@ -1168,8 +1168,8 @@ selector: "initialize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ClassCategoryReader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ClassCategoryReader)})},
+messageSends: ["initialize"]}),
 smalltalk.ClassCategoryReader);
 
 smalltalk.addMethod(
@@ -1187,8 +1187,8 @@ return _st(chunk)._isEmpty();
 return smalltalk.withContext(function($ctx2) {
return _st(self)._compileMethod_(chunk);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 _st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._setupClass_(self["@class"]);
-return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk}, smalltalk.ClassCategoryReader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk}, smalltalk.ClassCategoryReader)})},
+messageSends: ["whileFalse:", "compileMethod:", "nextChunk", "isEmpty", "setupClass:", "new"]}),
 smalltalk.ClassCategoryReader);
 
 
@@ -1201,8 +1201,8 @@ selector: "class:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@class"]=aClass;
-return self}, function($ctx1) {$ctx1.fill(self,"class:",{aClass:aClass}, smalltalk.ClassCommentReader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"class:",{aClass:aClass}, smalltalk.ClassCommentReader)})},
+messageSends: []}),
 smalltalk.ClassCommentReader);
 
 smalltalk.addMethod(
@@ -1212,8 +1212,8 @@ selector: "initialize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []);
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ClassCommentReader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ClassCommentReader)})},
+messageSends: ["initialize"]}),
 smalltalk.ClassCommentReader);
 
 smalltalk.addMethod(
@@ -1229,8 +1229,8 @@ $1=_st(chunk)._isEmpty();
 if(! smalltalk.assert($1)){
 _st(self)._setComment_(chunk);
 };
-return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk}, smalltalk.ClassCommentReader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk}, smalltalk.ClassCommentReader)})},
+messageSends: ["nextChunk", "ifFalse:", "setComment:", "isEmpty"]}),
 smalltalk.ClassCommentReader);
 
 smalltalk.addMethod(
@@ -1240,8 +1240,8 @@ selector: "setComment:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self["@class"])._comment_(aString);
-return self}, function($ctx1) {$ctx1.fill(self,"setComment:",{aString:aString}, smalltalk.ClassCommentReader)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"setComment:",{aString:aString}, smalltalk.ClassCommentReader)})},
+messageSends: ["comment:"]}),
 smalltalk.ClassCommentReader);
 
 
@@ -1268,8 +1268,8 @@ return _st(others)._add_(each);
 self["@nodes"]=_st(children)._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st((smalltalk.ClassSorterNode || ClassSorterNode))._on_classes_level_(each,others,_st(_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)})}
-}),
+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"]}),
 smalltalk.ClassSorterNode);
 
 smalltalk.addMethod(
@@ -1281,8 +1281,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@level"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"level",{}, smalltalk.ClassSorterNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"level",{}, smalltalk.ClassSorterNode)})},
+messageSends: []}),
 smalltalk.ClassSorterNode);
 
 smalltalk.addMethod(
@@ -1292,8 +1292,8 @@ selector: "level:",
 fn: function (anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@level"]=anInteger;
-return self}, function($ctx1) {$ctx1.fill(self,"level:",{anInteger:anInteger}, smalltalk.ClassSorterNode)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"level:",{anInteger:anInteger}, smalltalk.ClassSorterNode)})},
+messageSends: []}),
 smalltalk.ClassSorterNode);
 
 smalltalk.addMethod(
@@ -1305,8 +1305,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@nodes"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"nodes",{}, smalltalk.ClassSorterNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"nodes",{}, smalltalk.ClassSorterNode)})},
+messageSends: []}),
 smalltalk.ClassSorterNode);
 
 smalltalk.addMethod(
@@ -1318,8 +1318,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@theClass"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.ClassSorterNode)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.ClassSorterNode)})},
+messageSends: []}),
 smalltalk.ClassSorterNode);
 
 smalltalk.addMethod(
@@ -1329,8 +1329,8 @@ selector: "theClass:",
 fn: function (aClass){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@theClass"]=aClass;
-return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.ClassSorterNode)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.ClassSorterNode)})},
+messageSends: []}),
 smalltalk.ClassSorterNode);
 
 smalltalk.addMethod(
@@ -1345,8 +1345,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(a)._theClass()
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(aNode){
 return smalltalk.withContext(function($ctx2) {
return _st(aNode)._traverseClassesWith_(aCollection);
 }, function($ctx2) {$ctx2.fillBlock({aNode:aNode},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"traverseClassesWith:",{aCollection:aCollection}, smalltalk.ClassSorterNode)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"traverseClassesWith:",{aCollection:aCollection}, smalltalk.ClassSorterNode)})},
+messageSends: ["add:", "theClass", "do:", "traverseClassesWith:", "sorted:", "<=", "name", "nodes"]}),
 smalltalk.ClassSorterNode);
 
 
@@ -1364,8 +1364,8 @@ _st($2)._getNodesFrom_(aCollection);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:classes:level:",{aClass:aClass,aCollection:aCollection,anInteger:anInteger}, smalltalk.ClassSorterNode.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"on:classes:level:",{aClass:aClass,aCollection:aCollection,anInteger:anInteger}, smalltalk.ClassSorterNode.klass)})},
+messageSends: ["theClass:", "new", "level:", "getNodesFrom:", "yourself"]}),
 smalltalk.ClassSorterNode.klass);
 
 

Diferenças do arquivo suprimidas por serem muito extensas
+ 182 - 182
js/Kernel-Collections.deploy.js


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

@@ -7,8 +7,8 @@ selector: "context",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.context;
-return self}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.Error)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.Error)})},
+messageSends: []}),
 smalltalk.Error);
 
 smalltalk.addMethod(
@@ -18,8 +18,8 @@ selector: "initialize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._messageText_(_st("Errorclass: ").__comma(_st(_st(self)._class())._name()));
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Error)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Error)})},
+messageSends: ["messageText:", ",", "name", "class"]}),
 smalltalk.Error);
 
 smalltalk.addMethod(
@@ -29,8 +29,8 @@ selector: "isSmalltalkError",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.smalltalkError === true;
-return self}, function($ctx1) {$ctx1.fill(self,"isSmalltalkError",{}, smalltalk.Error)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"isSmalltalkError",{}, smalltalk.Error)})},
+messageSends: []}),
 smalltalk.Error);
 
 smalltalk.addMethod(
@@ -40,8 +40,8 @@ selector: "jsStack",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.stack;
-return self}, function($ctx1) {$ctx1.fill(self,"jsStack",{}, smalltalk.Error)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"jsStack",{}, smalltalk.Error)})},
+messageSends: []}),
 smalltalk.Error);
 
 smalltalk.addMethod(
@@ -53,8 +53,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@messageText"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.Error)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.Error)})},
+messageSends: []}),
 smalltalk.Error);
 
 smalltalk.addMethod(
@@ -64,8 +64,8 @@ selector: "messageText:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@messageText"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"messageText:",{aString:aString}, smalltalk.Error)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"messageText:",{aString:aString}, smalltalk.Error)})},
+messageSends: []}),
 smalltalk.Error);
 
 smalltalk.addMethod(
@@ -75,8 +75,8 @@ selector: "signal",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self);
-return self}, function($ctx1) {$ctx1.fill(self,"signal",{}, smalltalk.Error)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"signal",{}, smalltalk.Error)})},
+messageSends: []}),
 smalltalk.Error);
 
 smalltalk.addMethod(
@@ -87,8 +87,8 @@ fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._messageText_(aString);
 _st(self)._signal();
-return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString}, smalltalk.Error)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString}, smalltalk.Error)})},
+messageSends: ["messageText:", "signal"]}),
 smalltalk.Error);
 
 
@@ -101,8 +101,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._new())._signal();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"signal",{}, smalltalk.Error.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"signal",{}, smalltalk.Error.klass)})},
+messageSends: ["signal", "new"]}),
 smalltalk.Error.klass);
 
 smalltalk.addMethod(
@@ -114,8 +114,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._new())._signal_(aString);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString}, smalltalk.Error.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString}, smalltalk.Error.klass)})},
+messageSends: ["signal:", "new"]}),
 smalltalk.Error.klass);
 
 
@@ -127,8 +127,8 @@ selector: "context:",
 fn: function (aMethodContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self.context = aMethodContext;
-return self}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext}, smalltalk.JavaScriptException)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext}, smalltalk.JavaScriptException)})},
+messageSends: []}),
 smalltalk.JavaScriptException);
 
 smalltalk.addMethod(
@@ -140,8 +140,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@exception"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"exception",{}, smalltalk.JavaScriptException)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"exception",{}, smalltalk.JavaScriptException)})},
+messageSends: []}),
 smalltalk.JavaScriptException);
 
 smalltalk.addMethod(
@@ -151,8 +151,8 @@ selector: "exception:",
 fn: function (anException){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@exception"]=anException;
-return self}, function($ctx1) {$ctx1.fill(self,"exception:",{anException:anException}, smalltalk.JavaScriptException)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exception:",{anException:anException}, smalltalk.JavaScriptException)})},
+messageSends: []}),
 smalltalk.JavaScriptException);
 
 smalltalk.addMethod(
@@ -162,8 +162,8 @@ selector: "messageText",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return 'JavaScript exception: ' + self["@exception"].toString();
-return self}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.JavaScriptException)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.JavaScriptException)})},
+messageSends: []}),
 smalltalk.JavaScriptException);
 
 
@@ -179,8 +179,8 @@ _st($2)._exception_(anException);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:",{anException:anException}, smalltalk.JavaScriptException.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"on:",{anException:anException}, smalltalk.JavaScriptException.klass)})},
+messageSends: ["exception:", "new", "yourself"]}),
 smalltalk.JavaScriptException.klass);
 
 smalltalk.addMethod(
@@ -196,8 +196,8 @@ _st($2)._context_(aMethodContext);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:context:",{anException:anException,aMethodContext:aMethodContext}, smalltalk.JavaScriptException.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"on:context:",{anException:anException,aMethodContext:aMethodContext}, smalltalk.JavaScriptException.klass)})},
+messageSends: ["exception:", "new", "context:", "yourself"]}),
 smalltalk.JavaScriptException.klass);
 
 
@@ -211,8 +211,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@message"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"message",{}, smalltalk.MessageNotUnderstood)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"message",{}, smalltalk.MessageNotUnderstood)})},
+messageSends: []}),
 smalltalk.MessageNotUnderstood);
 
 smalltalk.addMethod(
@@ -222,8 +222,8 @@ selector: "message:",
 fn: function (aMessage){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@message"]=aMessage;
-return self}, function($ctx1) {$ctx1.fill(self,"message:",{aMessage:aMessage}, smalltalk.MessageNotUnderstood)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"message:",{aMessage:aMessage}, smalltalk.MessageNotUnderstood)})},
+messageSends: []}),
 smalltalk.MessageNotUnderstood);
 
 smalltalk.addMethod(
@@ -235,8 +235,8 @@ 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());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.MessageNotUnderstood)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.MessageNotUnderstood)})},
+messageSends: [",", "selector", "message", "asString", "receiver"]}),
 smalltalk.MessageNotUnderstood);
 
 smalltalk.addMethod(
@@ -248,8 +248,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@receiver"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"receiver",{}, smalltalk.MessageNotUnderstood)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"receiver",{}, smalltalk.MessageNotUnderstood)})},
+messageSends: []}),
 smalltalk.MessageNotUnderstood);
 
 smalltalk.addMethod(
@@ -259,8 +259,8 @@ selector: "receiver:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@receiver"]=anObject;
-return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject}, smalltalk.MessageNotUnderstood)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject}, smalltalk.MessageNotUnderstood)})},
+messageSends: []}),
 smalltalk.MessageNotUnderstood);
 
 
@@ -275,8 +275,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@object"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"object",{}, smalltalk.NonBooleanReceiver)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"object",{}, smalltalk.NonBooleanReceiver)})},
+messageSends: []}),
 smalltalk.NonBooleanReceiver);
 
 smalltalk.addMethod(
@@ -286,8 +286,8 @@ selector: "object:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@object"]=anObject;
-return self}, function($ctx1) {$ctx1.fill(self,"object:",{anObject:anObject}, smalltalk.NonBooleanReceiver)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"object:",{anObject:anObject}, smalltalk.NonBooleanReceiver)})},
+messageSends: []}),
 smalltalk.NonBooleanReceiver);
 
 
@@ -307,8 +307,8 @@ $1;
 _st(self)._logErrorContext_(_st(anError)._context());
 };
 _st(self)._logError_(anError);
-return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError}, smalltalk.ErrorHandler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError}, smalltalk.ErrorHandler)})},
+messageSends: ["ifNotNil:", "logErrorContext:", "context", "logError:"]}),
 smalltalk.ErrorHandler);
 
 smalltalk.addMethod(
@@ -318,8 +318,8 @@ selector: "log:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(console)._log_(aString);
-return self}, function($ctx1) {$ctx1.fill(self,"log:",{aString:aString}, smalltalk.ErrorHandler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"log:",{aString:aString}, smalltalk.ErrorHandler)})},
+messageSends: ["log:"]}),
 smalltalk.ErrorHandler);
 
 smalltalk.addMethod(
@@ -336,8 +336,8 @@ $1;
 _st(self)._logContext_(_st(aContext)._home());
 };
 _st(self)._log_(_st(_st(_st(_st(aContext)._receiver())._asString()).__comma(">>")).__comma(_st(_st(aContext)._selector())._asString()));
-return self}, function($ctx1) {$ctx1.fill(self,"logContext:",{aContext:aContext}, smalltalk.ErrorHandler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"logContext:",{aContext:aContext}, smalltalk.ErrorHandler)})},
+messageSends: ["ifNotNil:", "logContext:", "home", "log:", ",", "asString", "selector", "receiver"]}),
 smalltalk.ErrorHandler);
 
 smalltalk.addMethod(
@@ -347,8 +347,8 @@ selector: "logError:",
 fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._log_(_st(anError)._messageText());
-return self}, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError}, smalltalk.ErrorHandler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError}, smalltalk.ErrorHandler)})},
+messageSends: ["log:", "messageText"]}),
 smalltalk.ErrorHandler);
 
 smalltalk.addMethod(
@@ -369,8 +369,8 @@ $2;
 _st(self)._logContext_(_st(aContext)._home());
 };
 };
-return self}, function($ctx1) {$ctx1.fill(self,"logErrorContext:",{aContext:aContext}, smalltalk.ErrorHandler)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"logErrorContext:",{aContext:aContext}, smalltalk.ErrorHandler)})},
+messageSends: ["ifNotNil:", "logContext:", "home"]}),
 smalltalk.ErrorHandler);
 
 
@@ -390,8 +390,8 @@ $1=self["@current"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.ErrorHandler.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.ErrorHandler.klass)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.ErrorHandler.klass);
 
 smalltalk.addMethod(
@@ -401,8 +401,8 @@ selector: "initialize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._register();
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ErrorHandler.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ErrorHandler.klass)})},
+messageSends: ["register"]}),
 smalltalk.ErrorHandler.klass);
 
 smalltalk.addMethod(
@@ -412,8 +412,8 @@ selector: "register",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st((smalltalk.ErrorHandler || ErrorHandler))._setCurrent_(_st(self)._new());
-return self}, function($ctx1) {$ctx1.fill(self,"register",{}, smalltalk.ErrorHandler.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"register",{}, smalltalk.ErrorHandler.klass)})},
+messageSends: ["setCurrent:", "new"]}),
 smalltalk.ErrorHandler.klass);
 
 smalltalk.addMethod(
@@ -423,8 +423,8 @@ selector: "setCurrent:",
 fn: function (anHandler){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@current"]=anHandler;
-return self}, function($ctx1) {$ctx1.fill(self,"setCurrent:",{anHandler:anHandler}, smalltalk.ErrorHandler.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"setCurrent:",{anHandler:anHandler}, smalltalk.ErrorHandler.klass)})},
+messageSends: []}),
 smalltalk.ErrorHandler.klass);
 
 

+ 142 - 142
js/Kernel-Methods.deploy.js

@@ -7,8 +7,8 @@ selector: "applyTo:arguments:",
 fn: function (anObject,aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.apply(anObject, aCollection);
-return self}, function($ctx1) {$ctx1.fill(self,"applyTo:arguments:",{anObject:anObject,aCollection:aCollection}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"applyTo:arguments:",{anObject:anObject,aCollection:aCollection}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -18,8 +18,8 @@ selector: "asCompiledMethod:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return smalltalk.method({selector:aString, fn:self});;
-return self}, function($ctx1) {$ctx1.fill(self,"asCompiledMethod:",{aString:aString}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"asCompiledMethod:",{aString:aString}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -29,8 +29,8 @@ selector: "compiledSource",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.toString();
-return self}, function($ctx1) {$ctx1.fill(self,"compiledSource",{}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"compiledSource",{}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -46,8 +46,8 @@ return smalltalk.withContext(function($ctx1) {
         	return self.apply(null, args);
     	}
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"currySelf",{}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"currySelf",{}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -57,8 +57,8 @@ selector: "ensure:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
try{return self()}finally{aBlock._value()};
-return self}, function($ctx1) {$ctx1.fill(self,"ensure:",{aBlock:aBlock}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"ensure:",{aBlock:aBlock}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -68,8 +68,8 @@ selector: "fork",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.ForkPool || ForkPool))._default())._fork_(self);
-return self}, function($ctx1) {$ctx1.fill(self,"fork",{}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fork",{}, smalltalk.BlockClosure)})},
+messageSends: ["fork:", "default"]}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -79,8 +79,8 @@ selector: "new",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return new self();
-return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -90,8 +90,8 @@ selector: "newValue:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return new self(anObject);
-return self}, function($ctx1) {$ctx1.fill(self,"newValue:",{anObject:anObject}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"newValue:",{anObject:anObject}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -101,8 +101,8 @@ selector: "newValue:value:",
 fn: function (anObject,anObject2){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return new self(anObject, anObject2);
-return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:",{anObject:anObject,anObject2:anObject2}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:",{anObject:anObject,anObject2:anObject2}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -112,8 +112,8 @@ selector: "newValue:value:value:",
 fn: function (anObject,anObject2,anObject3){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return new self(anObject, anObject2,anObject3);
-return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:value:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"newValue:value:value:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -123,8 +123,8 @@ selector: "numArgs",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.length;
-return self}, function($ctx1) {$ctx1.fill(self,"numArgs",{}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"numArgs",{}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -146,8 +146,8 @@ return _st(smalltalkError)._signal();
 };
 }, function($ctx2) {$ctx2.fillBlock({error:error,smalltalkError:smalltalkError},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:do:",{anErrorClass:anErrorClass,aBlock:aBlock}, smalltalk.BlockClosure)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"on:do:",{anErrorClass:anErrorClass,aBlock:aBlock}, smalltalk.BlockClosure)})},
+messageSends: ["try:catch:", "asSmalltalkException:", "current", "ifTrue:ifFalse:", "value:", "signal", "isKindOf:"]}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -159,8 +159,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st((smalltalk.Date || Date))._millisecondsToRun_(self);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"timeToRun",{}, smalltalk.BlockClosure)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"timeToRun",{}, smalltalk.BlockClosure)})},
+messageSends: ["millisecondsToRun:"]}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -170,8 +170,8 @@ selector: "value",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self();;
-return self}, function($ctx1) {$ctx1.fill(self,"value",{}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"value",{}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -181,8 +181,8 @@ selector: "value:",
 fn: function (anArg){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self(anArg);;
-return self}, function($ctx1) {$ctx1.fill(self,"value:",{anArg:anArg}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"value:",{anArg:anArg}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -192,8 +192,8 @@ selector: "value:value:",
 fn: function (firstArg,secondArg){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self(firstArg, secondArg);;
-return self}, function($ctx1) {$ctx1.fill(self,"value:value:",{firstArg:firstArg,secondArg:secondArg}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"value:value:",{firstArg:firstArg,secondArg:secondArg}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -203,8 +203,8 @@ selector: "value:value:value:",
 fn: function (firstArg,secondArg,thirdArg){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self(firstArg, secondArg, thirdArg);;
-return self}, function($ctx1) {$ctx1.fill(self,"value:value:value:",{firstArg:firstArg,secondArg:secondArg,thirdArg:thirdArg}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"value:value:value:",{firstArg:firstArg,secondArg:secondArg,thirdArg:thirdArg}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -217,8 +217,8 @@ return smalltalk.withContext(function($ctx1) {
     	var interval = setInterval(self, aNumber);
     	return smalltalk.Timeout._on_(interval);
     ;
-return self}, function($ctx1) {$ctx1.fill(self,"valueWithInterval:",{aNumber:aNumber}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"valueWithInterval:",{aNumber:aNumber}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -228,8 +228,8 @@ selector: "valueWithPossibleArguments:",
 fn: function (aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.apply(null, aCollection);;
-return self}, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -242,8 +242,8 @@ return smalltalk.withContext(function($ctx1) {
     	var timeout = setTimeout(self, aNumber);
     	return smalltalk.Timeout._on_(timeout);
     ;
-return self}, function($ctx1) {$ctx1.fill(self,"valueWithTimeout:",{aNumber:aNumber}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"valueWithTimeout:",{aNumber:aNumber}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -254,8 +254,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._whileFalse_((function(){
 return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"whileFalse",{}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"whileFalse",{}, smalltalk.BlockClosure)})},
+messageSends: ["whileFalse:"]}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -265,8 +265,8 @@ selector: "whileFalse:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
while(!self()) {aBlock()};
-return self}, function($ctx1) {$ctx1.fill(self,"whileFalse:",{aBlock:aBlock}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"whileFalse:",{aBlock:aBlock}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -277,8 +277,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._whileTrue_((function(){
 return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"whileTrue",{}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"whileTrue",{}, smalltalk.BlockClosure)})},
+messageSends: ["whileTrue:"]}),
 smalltalk.BlockClosure);
 
 smalltalk.addMethod(
@@ -288,8 +288,8 @@ selector: "whileTrue:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
while(self()) {aBlock()};
-return self}, function($ctx1) {$ctx1.fill(self,"whileTrue:",{aBlock:aBlock}, smalltalk.BlockClosure)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"whileTrue:",{aBlock:aBlock}, smalltalk.BlockClosure)})},
+messageSends: []}),
 smalltalk.BlockClosure);
 
 
@@ -302,8 +302,8 @@ selector: "arguments",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.args || [];
-return self}, function($ctx1) {$ctx1.fill(self,"arguments",{}, smalltalk.CompiledMethod)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"arguments",{}, smalltalk.CompiledMethod)})},
+messageSends: []}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -320,8 +320,8 @@ $1="";
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"category",{}, smalltalk.CompiledMethod)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"category",{}, smalltalk.CompiledMethod)})},
+messageSends: ["ifNil:", "basicAt:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -345,8 +345,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(_st(each)._category())
 return smalltalk.withContext(function($ctx2) {
return _st(_st(_st(self)._methodClass())._organization())._removeElement_(oldCategory);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 };
-return self}, function($ctx1) {$ctx1.fill(self,"category:",{aString:aString,oldCategory:oldCategory}, smalltalk.CompiledMethod)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"category:",{aString:aString,oldCategory:oldCategory}, smalltalk.CompiledMethod)})},
+messageSends: ["category", "basicAt:put:", "ifNotNil:", "addElement:", "organization", "methodClass", "ifEmpty:", "removeElement:", "select:", "=", "methods"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -358,8 +358,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._basicAt_("fn");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"fn",{}, smalltalk.CompiledMethod)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"fn",{}, smalltalk.CompiledMethod)})},
+messageSends: ["basicAt:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -369,8 +369,8 @@ selector: "fn:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("fn",aBlock);
-return self}, function($ctx1) {$ctx1.fill(self,"fn:",{aBlock:aBlock}, smalltalk.CompiledMethod)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fn:",{aBlock:aBlock}, smalltalk.CompiledMethod)})},
+messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -382,8 +382,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._basicAt_("messageSends");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"messageSends",{}, smalltalk.CompiledMethod)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"messageSends",{}, smalltalk.CompiledMethod)})},
+messageSends: ["basicAt:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -395,8 +395,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._basicAt_("methodClass");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodClass",{}, smalltalk.CompiledMethod)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methodClass",{}, smalltalk.CompiledMethod)})},
+messageSends: ["basicAt:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -408,8 +408,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._category();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"protocol",{}, smalltalk.CompiledMethod)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"protocol",{}, smalltalk.CompiledMethod)})},
+messageSends: ["category"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -421,8 +421,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._basicAt_("referencedClasses");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"referencedClasses",{}, smalltalk.CompiledMethod)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"referencedClasses",{}, smalltalk.CompiledMethod)})},
+messageSends: ["basicAt:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -434,8 +434,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self)._basicAt_("selector");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.CompiledMethod)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.CompiledMethod)})},
+messageSends: ["basicAt:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -445,8 +445,8 @@ selector: "selector:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("selector",aString);
-return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString}, smalltalk.CompiledMethod)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString}, smalltalk.CompiledMethod)})},
+messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -463,8 +463,8 @@ $1="";
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.CompiledMethod)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"source",{}, smalltalk.CompiledMethod)})},
+messageSends: ["ifNil:", "basicAt:"]}),
 smalltalk.CompiledMethod);
 
 smalltalk.addMethod(
@@ -474,8 +474,8 @@ selector: "source:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._basicAt_put_("source",aString);
-return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.CompiledMethod)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"source:",{aString:aString}, smalltalk.CompiledMethod)})},
+messageSends: ["basicAt:put:"]}),
 smalltalk.CompiledMethod);
 
 
@@ -489,8 +489,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self["@worker"])._valueWithTimeout_((0));
 self["@poolSize"]=_st(self["@poolSize"]).__plus((1));
-return self}, function($ctx1) {$ctx1.fill(self,"addWorker",{}, smalltalk.ForkPool)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"addWorker",{}, smalltalk.ForkPool)})},
+messageSends: ["valueWithTimeout:", "+"]}),
 smalltalk.ForkPool);
 
 smalltalk.addMethod(
@@ -502,8 +502,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._class())._defaultMaxPoolSize();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{}, smalltalk.ForkPool)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{}, smalltalk.ForkPool)})},
+messageSends: ["defaultMaxPoolSize", "class"]}),
 smalltalk.ForkPool);
 
 smalltalk.addMethod(
@@ -518,8 +518,8 @@ if(smalltalk.assert($1)){
 _st(self)._addWorker();
 };
 _st(self["@queue"])._back_(aBlock);
-return self}, function($ctx1) {$ctx1.fill(self,"fork:",{aBlock:aBlock}, smalltalk.ForkPool)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fork:",{aBlock:aBlock}, smalltalk.ForkPool)})},
+messageSends: ["ifTrue:", "addWorker", "<", "maxPoolSize", "back:"]}),
 smalltalk.ForkPool);
 
 smalltalk.addMethod(
@@ -532,8 +532,8 @@ return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._i
 self["@poolSize"]=(0);
 self["@queue"]=_st((smalltalk.Queue || Queue))._new();
 self["@worker"]=_st(self)._makeWorker();
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ForkPool)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ForkPool)})},
+messageSends: ["initialize", "new", "makeWorker"]}),
 smalltalk.ForkPool);
 
 smalltalk.addMethod(
@@ -563,8 +563,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(self)._addWorker();
 };
 }, function($ctx2) {$ctx2.fillBlock({block:block},$ctx1)})});
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"makeWorker",{sentinel:sentinel}, smalltalk.ForkPool)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"makeWorker",{sentinel:sentinel}, smalltalk.ForkPool)})},
+messageSends: ["new", "-", "frontIfAbsent:", "ifFalse:", "ensure:", "addWorker", "value", "=="]}),
 smalltalk.ForkPool);
 
 smalltalk.addMethod(
@@ -581,8 +581,8 @@ $1=_st(self)._defaultMaxPoolSize();
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"maxPoolSize",{}, smalltalk.ForkPool)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"maxPoolSize",{}, smalltalk.ForkPool)})},
+messageSends: ["ifNil:", "defaultMaxPoolSize"]}),
 smalltalk.ForkPool);
 
 smalltalk.addMethod(
@@ -592,8 +592,8 @@ selector: "maxPoolSize:",
 fn: function (anInteger){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@maxPoolSize"]=anInteger;
-return self}, function($ctx1) {$ctx1.fill(self,"maxPoolSize:",{anInteger:anInteger}, smalltalk.ForkPool)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"maxPoolSize:",{anInteger:anInteger}, smalltalk.ForkPool)})},
+messageSends: []}),
 smalltalk.ForkPool);
 
 
@@ -613,8 +613,8 @@ $1=self["@default"];
 $1=$2;
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"default",{}, smalltalk.ForkPool.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"default",{}, smalltalk.ForkPool.klass)})},
+messageSends: ["ifNil:", "new"]}),
 smalltalk.ForkPool.klass);
 
 smalltalk.addMethod(
@@ -624,8 +624,8 @@ selector: "defaultMaxPoolSize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return (100);
-}, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{}, smalltalk.ForkPool.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"defaultMaxPoolSize",{}, smalltalk.ForkPool.klass)})},
+messageSends: []}),
 smalltalk.ForkPool.klass);
 
 smalltalk.addMethod(
@@ -635,8 +635,8 @@ selector: "resetDefault",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@default"]=nil;
-return self}, function($ctx1) {$ctx1.fill(self,"resetDefault",{}, smalltalk.ForkPool.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"resetDefault",{}, smalltalk.ForkPool.klass)})},
+messageSends: []}),
 smalltalk.ForkPool.klass);
 
 
@@ -650,8 +650,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@arguments"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"arguments",{}, smalltalk.Message)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"arguments",{}, smalltalk.Message)})},
+messageSends: []}),
 smalltalk.Message);
 
 smalltalk.addMethod(
@@ -661,8 +661,8 @@ selector: "arguments:",
 fn: function (anArray){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@arguments"]=anArray;
-return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{anArray:anArray}, smalltalk.Message)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"arguments:",{anArray:anArray}, smalltalk.Message)})},
+messageSends: []}),
 smalltalk.Message);
 
 smalltalk.addMethod(
@@ -681,8 +681,8 @@ $3=_st($2)._nextPutAll_(")");
 return $3;
 }, function($ctx2) {$ctx2.fillBlock({aStream:aStream},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Message)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Message)})},
+messageSends: ["streamContents:", "nextPutAll:", "printString"]}),
 smalltalk.Message);
 
 smalltalk.addMethod(
@@ -694,8 +694,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@selector"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.Message)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.Message)})},
+messageSends: []}),
 smalltalk.Message);
 
 smalltalk.addMethod(
@@ -705,8 +705,8 @@ selector: "selector:",
 fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@selector"]=aString;
-return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString}, smalltalk.Message)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"selector:",{aString:aString}, smalltalk.Message)})},
+messageSends: []}),
 smalltalk.Message);
 
 smalltalk.addMethod(
@@ -718,8 +718,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(anObject)._perform_withArguments_(_st(self)._selector(),_st(self)._arguments());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"sendTo:",{anObject:anObject}, smalltalk.Message)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"sendTo:",{anObject:anObject}, smalltalk.Message)})},
+messageSends: ["perform:withArguments:", "selector", "arguments"]}),
 smalltalk.Message);
 
 
@@ -736,8 +736,8 @@ _st($2)._arguments_(anArray);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"selector:arguments:",{aString:aString,anArray:anArray}, smalltalk.Message.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"selector:arguments:",{aString:aString,anArray:anArray}, smalltalk.Message.klass)})},
+messageSends: ["selector:", "new", "arguments:", "yourself"]}),
 smalltalk.Message.klass);
 
 
@@ -756,8 +756,8 @@ $1=_st(_st("a block (in ").__comma(_st(_st(_st(_st(self)._methodContext())._rece
 $1=_st(_st(_st(_st(_st(self)._receiver())._class())._printString()).__comma(" >> ")).__comma(_st(self)._selector());
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.MethodContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.MethodContext)})},
+messageSends: ["ifTrue:ifFalse:", ",", "printString", "class", "receiver", "methodContext", "selector", "isBlockContext"]}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -767,8 +767,8 @@ selector: "home",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.methodContext || self.homeContext;
-return self}, function($ctx1) {$ctx1.fill(self,"home",{}, smalltalk.MethodContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"home",{}, smalltalk.MethodContext)})},
+messageSends: []}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -780,8 +780,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._selector())._isNil();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"isBlockContext",{}, smalltalk.MethodContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isBlockContext",{}, smalltalk.MethodContext)})},
+messageSends: ["isNil", "selector"]}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -791,8 +791,8 @@ selector: "locals",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.locals;
-return self}, function($ctx1) {$ctx1.fill(self,"locals",{}, smalltalk.MethodContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"locals",{}, smalltalk.MethodContext)})},
+messageSends: []}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -804,8 +804,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(_st(_st(self)._methodContext())._receiver())._class())._lookupSelector_(_st(_st(self)._methodContext())._selector());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.MethodContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.MethodContext)})},
+messageSends: ["lookupSelector:", "selector", "methodContext", "class", "receiver"]}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -822,8 +822,8 @@ return $2;
 };
 $3=_st(self)._home();
 return $3;
-}, function($ctx1) {$ctx1.fill(self,"methodContext",{}, smalltalk.MethodContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"methodContext",{}, smalltalk.MethodContext)})},
+messageSends: ["ifFalse:", "isBlockContext", "home"]}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -833,8 +833,8 @@ selector: "outerContext",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.homeContext;
-return self}, function($ctx1) {$ctx1.fill(self,"outerContext",{}, smalltalk.MethodContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"outerContext",{}, smalltalk.MethodContext)})},
+messageSends: []}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -844,8 +844,8 @@ selector: "pc",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.pc;
-return self}, function($ctx1) {$ctx1.fill(self,"pc",{}, smalltalk.MethodContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"pc",{}, smalltalk.MethodContext)})},
+messageSends: []}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -857,8 +857,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(_st(smalltalk.Object.fn.prototype._printString.apply(_st(self), [])).__comma("(")).__comma(_st(self)._asString())).__comma(")");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.MethodContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.MethodContext)})},
+messageSends: [",", "asString", "printString"]}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -868,8 +868,8 @@ selector: "receiver",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
return self.receiver;
-return self}, function($ctx1) {$ctx1.fill(self,"receiver",{}, smalltalk.MethodContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"receiver",{}, smalltalk.MethodContext)})},
+messageSends: []}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -885,8 +885,8 @@ return smalltalk.withContext(function($ctx1) {
         	return nil;
         }
     ;
-return self}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.MethodContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.MethodContext)})},
+messageSends: []}),
 smalltalk.MethodContext);
 
 smalltalk.addMethod(
@@ -899,8 +899,8 @@ return smalltalk.withContext(function($ctx1) { 
var $1;
 _st(self)._deprecatedAPI();
 $1=_st(self)._locals();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"temps",{}, smalltalk.MethodContext)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"temps",{}, smalltalk.MethodContext)})},
+messageSends: ["deprecatedAPI", "locals"]}),
 smalltalk.MethodContext);
 
 
@@ -917,8 +917,8 @@ return smalltalk.withContext(function($ctx1) {
     	var native=eval(aString); 
         return new native();
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"constructor:",{aString:aString}, smalltalk.NativeFunction.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"constructor:",{aString:aString}, smalltalk.NativeFunction.klass)})},
+messageSends: []}),
 smalltalk.NativeFunction.klass);
 
 smalltalk.addMethod(
@@ -931,8 +931,8 @@ return smalltalk.withContext(function($ctx1) {
     	var native=eval(aString); 
         return new native(anObject);
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"constructor:value:",{aString:aString,anObject:anObject}, smalltalk.NativeFunction.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"constructor:value:",{aString:aString,anObject:anObject}, smalltalk.NativeFunction.klass)})},
+messageSends: []}),
 smalltalk.NativeFunction.klass);
 
 smalltalk.addMethod(
@@ -945,8 +945,8 @@ return smalltalk.withContext(function($ctx1) {
     	var native=eval(aString); 
         return new native(anObject,anObject2);
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"constructor:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2}, smalltalk.NativeFunction.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"constructor:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2}, smalltalk.NativeFunction.klass)})},
+messageSends: []}),
 smalltalk.NativeFunction.klass);
 
 smalltalk.addMethod(
@@ -959,8 +959,8 @@ return smalltalk.withContext(function($ctx1) {
     	var native=eval(aString); 
         return new native(anObject,anObject2, anObject3);
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"constructor:value:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2,anObject3:anObject3}, smalltalk.NativeFunction.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"constructor:value:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2,anObject3:anObject3}, smalltalk.NativeFunction.klass)})},
+messageSends: []}),
 smalltalk.NativeFunction.klass);
 
 smalltalk.addMethod(
@@ -976,8 +976,8 @@ return smalltalk.withContext(function($ctx1) {
         	return false
         }
     ;
-return self}, function($ctx1) {$ctx1.fill(self,"exists:",{aString:aString}, smalltalk.NativeFunction.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"exists:",{aString:aString}, smalltalk.NativeFunction.klass)})},
+messageSends: []}),
 smalltalk.NativeFunction.klass);
 
 

Diferenças do arquivo suprimidas por serem muito extensas
+ 182 - 182
js/Kernel-Objects.deploy.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 182 - 182
js/Kernel-Tests.deploy.js


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

@@ -6,8 +6,8 @@ smalltalk.method({
 selector: "clear",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"clear",{}, smalltalk.ConsoleTranscript)})}
-}),
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"clear",{}, smalltalk.ConsoleTranscript)})},
+messageSends: []}),
 smalltalk.ConsoleTranscript);
 
 smalltalk.addMethod(
@@ -16,8 +16,8 @@ smalltalk.method({
 selector: "cr",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"cr",{}, smalltalk.ConsoleTranscript)})}
-}),
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"cr",{}, smalltalk.ConsoleTranscript)})},
+messageSends: []}),
 smalltalk.ConsoleTranscript);
 
 smalltalk.addMethod(
@@ -26,8 +26,8 @@ smalltalk.method({
 selector: "open",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"open",{}, smalltalk.ConsoleTranscript)})}
-}),
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"open",{}, smalltalk.ConsoleTranscript)})},
+messageSends: []}),
 smalltalk.ConsoleTranscript);
 
 smalltalk.addMethod(
@@ -37,8 +37,8 @@ selector: "show:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
console.log(String(string._asString()));
-return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject}, smalltalk.ConsoleTranscript)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject}, smalltalk.ConsoleTranscript)})},
+messageSends: []}),
 smalltalk.ConsoleTranscript);
 
 
@@ -49,8 +49,8 @@ selector: "initialize",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st((smalltalk.Transcript || Transcript))._register_(_st(self)._new());
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ConsoleTranscript.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ConsoleTranscript.klass)})},
+messageSends: ["register:", "new"]}),
 smalltalk.ConsoleTranscript.klass);
 
 
@@ -64,8 +64,8 @@ selector: "clear",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._clear();
-return self}, function($ctx1) {$ctx1.fill(self,"clear",{}, smalltalk.Transcript.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"clear",{}, smalltalk.Transcript.klass)})},
+messageSends: ["clear", "current"]}),
 smalltalk.Transcript.klass);
 
 smalltalk.addMethod(
@@ -75,8 +75,8 @@ selector: "cr",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._show_(_st((smalltalk.String || String))._cr());
-return self}, function($ctx1) {$ctx1.fill(self,"cr",{}, smalltalk.Transcript.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"cr",{}, smalltalk.Transcript.klass)})},
+messageSends: ["show:", "cr", "current"]}),
 smalltalk.Transcript.klass);
 
 smalltalk.addMethod(
@@ -88,8 +88,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@current"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.Transcript.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.Transcript.klass)})},
+messageSends: []}),
 smalltalk.Transcript.klass);
 
 smalltalk.addMethod(
@@ -99,8 +99,8 @@ selector: "new",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
-return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.Transcript.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.Transcript.klass)})},
+messageSends: ["shouldNotImplement"]}),
 smalltalk.Transcript.klass);
 
 smalltalk.addMethod(
@@ -110,8 +110,8 @@ selector: "open",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._open();
-return self}, function($ctx1) {$ctx1.fill(self,"open",{}, smalltalk.Transcript.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"open",{}, smalltalk.Transcript.klass)})},
+messageSends: ["open", "current"]}),
 smalltalk.Transcript.klass);
 
 smalltalk.addMethod(
@@ -121,8 +121,8 @@ selector: "register:",
 fn: function (aTranscript){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@current"]=aTranscript;
-return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript}, smalltalk.Transcript.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"register:",{aTranscript:aTranscript}, smalltalk.Transcript.klass)})},
+messageSends: []}),
 smalltalk.Transcript.klass);
 
 smalltalk.addMethod(
@@ -132,8 +132,8 @@ selector: "show:",
 fn: function (anObject){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._current())._show_(anObject);
-return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject}, smalltalk.Transcript.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject}, smalltalk.Transcript.klass)})},
+messageSends: ["show:", "current"]}),
 smalltalk.Transcript.klass);
 
 

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

@@ -8,8 +8,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@empty"]=_st((smalltalk.Set || Set))._new();
 self["@full"]=_st((smalltalk.Set || Set))._with_with_((5),smalltalk.symbolFor("abc"));
-return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.ExampleSetTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.ExampleSetTest)})},
+messageSends: ["new", "with:with:"]}),
 smalltalk.ExampleSetTest);
 
 smalltalk.addMethod(
@@ -20,8 +20,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self["@empty"])._add_((5));
 _st(self)._assert_(_st(self["@empty"])._includes_((5)));
-return self}, function($ctx1) {$ctx1.fill(self,"testAdd",{}, smalltalk.ExampleSetTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testAdd",{}, smalltalk.ExampleSetTest)})},
+messageSends: ["add:", "assert:", "includes:"]}),
 smalltalk.ExampleSetTest);
 
 smalltalk.addMethod(
@@ -32,8 +32,8 @@ 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));
-return self}, function($ctx1) {$ctx1.fill(self,"testGrow",{}, smalltalk.ExampleSetTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testGrow",{}, smalltalk.ExampleSetTest)})},
+messageSends: ["addAll:", "to:", "assert:equals:", "size"]}),
 smalltalk.ExampleSetTest);
 
 smalltalk.addMethod(
@@ -48,8 +48,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(self["@empty"])._at_((
 _st(self)._should_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self["@empty"])._at_put_((5),smalltalk.symbolFor("abc"));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
-return self}, function($ctx1) {$ctx1.fill(self,"testIllegal",{}, smalltalk.ExampleSetTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testIllegal",{}, smalltalk.ExampleSetTest)})},
+messageSends: ["should:raise:", "at:", "at:put:"]}),
 smalltalk.ExampleSetTest);
 
 smalltalk.addMethod(
@@ -60,8 +60,8 @@ 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_(smalltalk.symbolFor("abc")));
-return self}, function($ctx1) {$ctx1.fill(self,"testIncludes",{}, smalltalk.ExampleSetTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testIncludes",{}, smalltalk.ExampleSetTest)})},
+messageSends: ["assert:", "includes:"]}),
 smalltalk.ExampleSetTest);
 
 smalltalk.addMethod(
@@ -74,8 +74,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(se
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
 _st(self["@full"])._add_((5));
 _st(self)._assert_equals_(_st(self["@full"])._occurrencesOf_((5)),(1));
-return self}, function($ctx1) {$ctx1.fill(self,"testOccurrences",{}, smalltalk.ExampleSetTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testOccurrences",{}, smalltalk.ExampleSetTest)})},
+messageSends: ["assert:equals:", "occurrencesOf:", "add:"]}),
 smalltalk.ExampleSetTest);
 
 smalltalk.addMethod(
@@ -87,8 +87,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self["@full"])._remove_((5));
 _st(self)._assert_(_st(self["@full"])._includes_(smalltalk.symbolFor("abc")));
 _st(self)._deny_(_st(self["@full"])._includes_((5)));
-return self}, function($ctx1) {$ctx1.fill(self,"testRemove",{}, smalltalk.ExampleSetTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testRemove",{}, smalltalk.ExampleSetTest)})},
+messageSends: ["remove:", "assert:", "includes:", "deny:"]}),
 smalltalk.ExampleSetTest);
 
 
@@ -107,8 +107,8 @@ return smalltalk.withContext(function($ctx2) {
self["@flag"]="ok";
 self["@flag"];
 return _st(self)._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
-return self}, function($ctx1) {$ctx1.fill(self,"fakeError",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fakeError",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["timeout:", "valueWithTimeout:", "async:", "error:"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -122,8 +122,8 @@ _st(self)._timeout_((10));
 self["@flag"]=_st(_st(self)._async_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._error_("Intentional");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
-return self}, function($ctx1) {$ctx1.fill(self,"fakeErrorFailingInTearDown",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fakeErrorFailingInTearDown",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["timeout:", "valueWithTimeout:", "async:", "error:"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -139,8 +139,8 @@ return smalltalk.withContext(function($ctx2) {
self["@flag"]="ok";
 self["@flag"];
 return _st(self)._assert_(false);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
-return self}, function($ctx1) {$ctx1.fill(self,"fakeFailure",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fakeFailure",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["timeout:", "valueWithTimeout:", "async:", "assert:"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -156,8 +156,8 @@ return _st(_st(self)._async_((function(){
 return smalltalk.withContext(function($ctx3) {
return _st(self)._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
-return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutFailing",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutFailing",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["timeout:", "valueWithTimeout:", "async:", "finished"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -173,8 +173,8 @@ return _st(_st(self)._async_((function(){
 return smalltalk.withContext(function($ctx3) {
return _st(self)._finished();
 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._valueWithTimeout_((10));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
-return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutPassing",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fakeMultipleTimeoutPassing",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["timeout:", "valueWithTimeout:", "async:", "finished"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -187,8 +187,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._timeout_((4));
 _st(_st(self)._async_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
-return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"fakeTimeout",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["timeout:", "valueWithTimeout:", "async:", "finished"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -202,8 +202,8 @@ $1=_st(_st(aCollection)._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(each)._selector();
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"selectorSetOf:",{aCollection:aCollection}, smalltalk.SUnitAsyncTest)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"selectorSetOf:",{aCollection:aCollection}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["asSet", "collect:", "selector"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -213,8 +213,8 @@ selector: "setUp",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@flag"]="ok";
-return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: []}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -224,8 +224,8 @@ selector: "tearDown",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_("ok",self["@flag"]);
-return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["assert:equals:"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -255,8 +255,8 @@ return _st($2)._ifTrue_(assertBlock);
 };
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 _st(runner)._run();
-return self}, function($ctx1) {$ctx1.fill(self,"testAsyncErrorsAndFailures",{suite:suite,runner:runner,result:result,assertBlock:assertBlock}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testAsyncErrorsAndFailures",{suite:suite,runner:runner,result:result,assertBlock:assertBlock}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "async:", "assert:equals:", "selectorSetOf:", "errors", "asSet", "failures", "finished", "on:do:", "ifTrue:", "=", "total", "runs", "==", "announcer", "run"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -275,8 +275,8 @@ return smalltalk.withContext(function($ctx2) {
return _st(self)._async_((functio
 return smalltalk.withContext(function($ctx3) {
}, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
 _st(self)._finished();
-return self}, function($ctx1) {$ctx1.fill(self,"testAsyncNeedsTimeout",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testAsyncNeedsTimeout",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["should:raise:", "async:", "timeout:", "shouldnt:raise:", "finished"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -292,8 +292,8 @@ _st(self)._timeout_((0));
 _st(self)._shouldnt_raise_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._finished();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
-return self}, function($ctx1) {$ctx1.fill(self,"testFinishedNeedsTimeout",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testFinishedNeedsTimeout",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["should:raise:", "finished", "timeout:", "shouldnt:raise:"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -307,8 +307,8 @@ _st(self)._timeout_((0));
 _st(self)._assert_(_st(self)._isAsync());
 _st(self)._finished();
 _st(self)._deny_(_st(self)._isAsync());
-return self}, function($ctx1) {$ctx1.fill(self,"testIsAsyncReturnsCorrectValues",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testIsAsyncReturnsCorrectValues",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["deny:", "isAsync", "timeout:", "assert:", "finished"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -325,8 +325,8 @@ _st(self)._finished();
 self["@flag"]="ok";
 return self["@flag"];
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((5));
-return self}, function($ctx1) {$ctx1.fill(self,"testPass",{}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testPass",{}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["timeout:", "valueWithTimeout:", "async:", "assert:", "finished"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -356,8 +356,8 @@ return _st($2)._ifTrue_(assertBlock);
 };
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1)})}));
 _st(runner)._run();
-return self}, function($ctx1) {$ctx1.fill(self,"testTimeouts",{suite:suite,runner:runner,result:result,assertBlock:assertBlock}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testTimeouts",{suite:suite,runner:runner,result:result,assertBlock:assertBlock}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["collect:", "selector:", "class", "on:", "timeout:", "result", "async:", "assert:equals:", "selectorSetOf:", "errors", "new", "failures", "asSet", "finished", "on:do:", "ifTrue:", "=", "total", "runs", "==", "announcer", "run"]}),
 smalltalk.SUnitAsyncTest);
 
 smalltalk.addMethod(
@@ -386,8 +386,8 @@ x=_st(x).__plus((1));
 x;
 return _st(self)._assert_equals_(x,(1));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_((0));
-return self}, function($ctx1) {$ctx1.fill(self,"testTwoAsyncPassesWithFinishedOnlyOneIsRun",{x:x}, smalltalk.SUnitAsyncTest)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testTwoAsyncPassesWithFinishedOnlyOneIsRun",{x:x}, smalltalk.SUnitAsyncTest)})},
+messageSends: ["timeout:", "valueWithTimeout:", "async:", "finished", "+", "assert:equals:"]}),
 smalltalk.SUnitAsyncTest);
 
 

+ 120 - 120
js/SUnit.deploy.js

@@ -9,8 +9,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@result"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"result",{}, smalltalk.ResultAnnouncement)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"result",{}, smalltalk.ResultAnnouncement)})},
+messageSends: []}),
 smalltalk.ResultAnnouncement);
 
 smalltalk.addMethod(
@@ -20,8 +20,8 @@ selector: "result:",
 fn: function (aTestResult){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@result"]=aTestResult;
-return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult}, smalltalk.ResultAnnouncement)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult}, smalltalk.ResultAnnouncement)})},
+messageSends: []}),
 smalltalk.ResultAnnouncement);
 
 
@@ -34,8 +34,8 @@ selector: "assert:",
 fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_description_(aBoolean,"Assertion failed");
-return self}, function($ctx1) {$ctx1.fill(self,"assert:",{aBoolean:aBoolean}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"assert:",{aBoolean:aBoolean}, smalltalk.TestCase)})},
+messageSends: ["assert:description:"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -49,8 +49,8 @@ $1=aBoolean;
 if(! smalltalk.assert($1)){
 _st(self)._signalFailure_(aString);
 };
-return self}, function($ctx1) {$ctx1.fill(self,"assert:description:",{aBoolean:aBoolean,aString:aString}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"assert:description:",{aBoolean:aBoolean,aString:aString}, smalltalk.TestCase)})},
+messageSends: ["ifFalse:", "signalFailure:"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -62,8 +62,8 @@ 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)._asString())).__comma(" but was: ")).__comma(_st(actual)._asString()));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected}, smalltalk.TestCase)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected}, smalltalk.TestCase)})},
+messageSends: ["assert:description:", "=", ",", "asString"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -83,8 +83,8 @@ return _st(c)._execute_(aBlock);
 };
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"async:",{aBlock:aBlock,c:c}, smalltalk.TestCase)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"async:",{aBlock:aBlock,c:c}, smalltalk.TestCase)})},
+messageSends: ["errorIfNotAsync:", "ifTrue:", "execute:", "isAsync"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -94,8 +94,8 @@ selector: "context:",
 fn: function (aRunningTestContext){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@context"]=aRunningTestContext;
-return self}, function($ctx1) {$ctx1.fill(self,"context:",{aRunningTestContext:aRunningTestContext}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"context:",{aRunningTestContext:aRunningTestContext}, smalltalk.TestCase)})},
+messageSends: []}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -105,8 +105,8 @@ selector: "deny:",
 fn: function (aBoolean){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(aBoolean)._not());
-return self}, function($ctx1) {$ctx1.fill(self,"deny:",{aBoolean:aBoolean}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"deny:",{aBoolean:aBoolean}, smalltalk.TestCase)})},
+messageSends: ["assert:", "not"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -120,8 +120,8 @@ $1=_st(self)._isAsync();
 if(! smalltalk.assert($1)){
 _st(self)._error_(_st(aString).__comma(" used without prior #timeout:"));
 };
-return self}, function($ctx1) {$ctx1.fill(self,"errorIfNotAsync:",{aString:aString}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"errorIfNotAsync:",{aString:aString}, smalltalk.TestCase)})},
+messageSends: ["ifFalse:", "error:", ",", "isAsync"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -132,8 +132,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._errorIfNotAsync_("#finished");
 self["@asyncTimeout"]=nil;
-return self}, function($ctx1) {$ctx1.fill(self,"finished",{}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"finished",{}, smalltalk.TestCase)})},
+messageSends: ["errorIfNotAsync:"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -145,8 +145,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self["@asyncTimeout"])._notNil();
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"isAsync",{}, smalltalk.TestCase)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isAsync",{}, smalltalk.TestCase)})},
+messageSends: ["notNil"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -157,8 +157,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@asyncTimeout"]=nil;
 _st(self)._perform_(_st(self)._selector());
-return self}, function($ctx1) {$ctx1.fill(self,"performTest",{}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"performTest",{}, smalltalk.TestCase)})},
+messageSends: ["perform:", "selector"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -168,8 +168,8 @@ selector: "runCase",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st((smalltalk.TestContext || TestContext))._testCase_(self))._start();
-return self}, function($ctx1) {$ctx1.fill(self,"runCase",{}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"runCase",{}, smalltalk.TestCase)})},
+messageSends: ["start", "testCase:"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -181,8 +181,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@testSelector"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.TestCase)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.TestCase)})},
+messageSends: []}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -192,8 +192,8 @@ selector: "setTestSelector:",
 fn: function (aSelector){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@testSelector"]=aSelector;
-return self}, function($ctx1) {$ctx1.fill(self,"setTestSelector:",{aSelector:aSelector}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"setTestSelector:",{aSelector:aSelector}, smalltalk.TestCase)})},
+messageSends: []}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -202,8 +202,8 @@ smalltalk.method({
 selector: "setUp",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.TestCase)})}
-}),
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"setUp",{}, smalltalk.TestCase)})},
+messageSends: []}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -213,8 +213,8 @@ selector: "should:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(aBlock)._value());
-return self}, function($ctx1) {$ctx1.fill(self,"should:",{aBlock:aBlock}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"should:",{aBlock:aBlock}, smalltalk.TestCase)})},
+messageSends: ["assert:", "value"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -229,8 +229,8 @@ return false;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
 return smalltalk.withContext(function($ctx2) {
return true;
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
-return self}, function($ctx1) {$ctx1.fill(self,"should:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"should:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass}, smalltalk.TestCase)})},
+messageSends: ["assert:", "on:do:", "value"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -245,8 +245,8 @@ return true;
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_(anExceptionClass,(function(ex){
 return smalltalk.withContext(function($ctx2) {
return false;
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})})));
-return self}, function($ctx1) {$ctx1.fill(self,"shouldnt:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"shouldnt:raise:",{aBlock:aBlock,anExceptionClass:anExceptionClass}, smalltalk.TestCase)})},
+messageSends: ["assert:", "on:do:", "value"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -259,8 +259,8 @@ return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 $1=_st((smalltalk.TestFailure || TestFailure))._new();
 _st($1)._messageText_(aString);
 $2=_st($1)._signal();
-return self}, function($ctx1) {$ctx1.fill(self,"signalFailure:",{aString:aString}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"signalFailure:",{aString:aString}, smalltalk.TestCase)})},
+messageSends: ["messageText:", "new", "signal"]}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -269,8 +269,8 @@ smalltalk.method({
 selector: "tearDown",
 fn: function (){
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{}, smalltalk.TestCase)})}
-}),
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"tearDown",{}, smalltalk.TestCase)})},
+messageSends: []}),
 smalltalk.TestCase);
 
 smalltalk.addMethod(
@@ -290,8 +290,8 @@ self["@asyncTimeout"]=(0);
 self["@asyncTimeout"]=_st(_st(self)._async_((function(){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._assert_description_(false,"SUnit grace time exhausted");
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._valueWithTimeout_(aNumber);
-return self}, function($ctx1) {$ctx1.fill(self,"timeout:",{aNumber:aNumber}, smalltalk.TestCase)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"timeout:",{aNumber:aNumber}, smalltalk.TestCase)})},
+messageSends: ["ifNotNil:", "clearTimeout", "valueWithTimeout:", "async:", "assert:description:"]}),
 smalltalk.TestCase);
 
 
@@ -310,8 +310,8 @@ _st(selectors)._addAll_(_st(_st(self)._superclass())._allTestSelectors());
 };
 $2=selectors;
 return $2;
-}, function($ctx1) {$ctx1.fill(self,"allTestSelectors",{selectors:selectors}, smalltalk.TestCase.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"allTestSelectors",{selectors:selectors}, smalltalk.TestCase.klass)})},
+messageSends: ["testSelectors", "ifTrue:", "addAll:", "allTestSelectors", "superclass", "shouldInheritSelectors"]}),
 smalltalk.TestCase.klass);
 
 smalltalk.addMethod(
@@ -325,8 +325,8 @@ $1=_st(_st(self)._allTestSelectors())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._selector_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"buildSuite",{}, smalltalk.TestCase.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"buildSuite",{}, smalltalk.TestCase.klass)})},
+messageSends: ["collect:", "selector:", "allTestSelectors"]}),
 smalltalk.TestCase.klass);
 
 smalltalk.addMethod(
@@ -338,8 +338,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(_st(self)._name()).__eq("TestCase");
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"isAbstract",{}, smalltalk.TestCase.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"isAbstract",{}, smalltalk.TestCase.klass)})},
+messageSends: ["=", "name"]}),
 smalltalk.TestCase.klass);
 
 smalltalk.addMethod(
@@ -351,8 +351,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=(smalltalk.TestCase || TestCase);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"lookupHierarchyRoot",{}, smalltalk.TestCase.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"lookupHierarchyRoot",{}, smalltalk.TestCase.klass)})},
+messageSends: []}),
 smalltalk.TestCase.klass);
 
 smalltalk.addMethod(
@@ -367,8 +367,8 @@ _st($2)._setTestSelector_(aSelector);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"selector:",{aSelector:aSelector}, smalltalk.TestCase.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"selector:",{aSelector:aSelector}, smalltalk.TestCase.klass)})},
+messageSends: ["setTestSelector:", "new", "yourself"]}),
 smalltalk.TestCase.klass);
 
 smalltalk.addMethod(
@@ -380,8 +380,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(self).__tild_eq(_st(self)._lookupHierarchyRoot());
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{}, smalltalk.TestCase.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{}, smalltalk.TestCase.klass)})},
+messageSends: ["~=", "lookupHierarchyRoot"]}),
 smalltalk.TestCase.klass);
 
 smalltalk.addMethod(
@@ -395,8 +395,8 @@ $1=_st(_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)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"testSelectors",{}, smalltalk.TestCase.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"testSelectors",{}, smalltalk.TestCase.klass)})},
+messageSends: ["select:", "match:", "keys", "methodDictionary"]}),
 smalltalk.TestCase.klass);
 
 
@@ -429,8 +429,8 @@ if(! smalltalk.assert($2)){
 return _st(self["@testCase"])._tearDown();
 };
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"execute:",{aBlock:aBlock,failed:failed}, smalltalk.TestContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"execute:",{aBlock:aBlock,failed:failed}, smalltalk.TestContext)})},
+messageSends: ["context:", "ensure:", "ifTrue:", "finished", "and:", "isAsync", "ifFalse:", "tearDown", "value"]}),
 smalltalk.TestContext);
 
 smalltalk.addMethod(
@@ -443,8 +443,8 @@ return smalltalk.withContext(function($ctx1) { 
_st(self)._execute_((function(){
 return smalltalk.withContext(function($ctx2) {
_st(self["@testCase"])._setUp();
 return _st(self["@testCase"])._performTest();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"start",{}, smalltalk.TestContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"start",{}, smalltalk.TestContext)})},
+messageSends: ["execute:", "setUp", "performTest"]}),
 smalltalk.TestContext);
 
 smalltalk.addMethod(
@@ -454,8 +454,8 @@ selector: "testCase:",
 fn: function (aTestCase){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@testCase"]=aTestCase;
-return self}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase}, smalltalk.TestContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase}, smalltalk.TestContext)})},
+messageSends: []}),
 smalltalk.TestContext);
 
 
@@ -471,8 +471,8 @@ _st($2)._testCase_(aTestCase);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase}, smalltalk.TestContext.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase}, smalltalk.TestContext.klass)})},
+messageSends: ["testCase:", "new", "yourself"]}),
 smalltalk.TestContext.klass);
 
 
@@ -495,8 +495,8 @@ _st(self["@result"])._increaseRuns();
 return _st(self["@finished"])._value();
 };
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"execute:",{aBlock:aBlock}, smalltalk.ReportingTestContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"execute:",{aBlock:aBlock}, smalltalk.ReportingTestContext)})},
+messageSends: ["ensure:", "ifFalse:", "increaseRuns", "value", "isAsync", "withErrorReporting:", "execute:"]}),
 smalltalk.ReportingTestContext);
 
 smalltalk.addMethod(
@@ -506,8 +506,8 @@ selector: "finished:",
 fn: function (aBlock){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@finished"]=aBlock;
-return self}, function($ctx1) {$ctx1.fill(self,"finished:",{aBlock:aBlock}, smalltalk.ReportingTestContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"finished:",{aBlock:aBlock}, smalltalk.ReportingTestContext)})},
+messageSends: []}),
 smalltalk.ReportingTestContext);
 
 smalltalk.addMethod(
@@ -517,8 +517,8 @@ selector: "result:",
 fn: function (aTestResult){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@result"]=aTestResult;
-return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult}, smalltalk.ReportingTestContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"result:",{aTestResult:aTestResult}, smalltalk.ReportingTestContext)})},
+messageSends: []}),
 smalltalk.ReportingTestContext);
 
 smalltalk.addMethod(
@@ -534,8 +534,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(self["@result"])._addF
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_((smalltalk.Error || Error),(function(ex){
 return smalltalk.withContext(function($ctx2) {
return _st(self["@result"])._addError_(self["@testCase"]);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"withErrorReporting:",{aBlock:aBlock}, smalltalk.ReportingTestContext)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"withErrorReporting:",{aBlock:aBlock}, smalltalk.ReportingTestContext)})},
+messageSends: ["on:do:", "addError:", "addFailure:"]}),
 smalltalk.ReportingTestContext);
 
 
@@ -552,8 +552,8 @@ _st($2)._finished_(aBlock);
 $3=_st($2)._yourself();
 $1=$3;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"testCase:result:finished:",{aTestCase:aTestCase,aTestResult:aTestResult,aBlock:aBlock}, smalltalk.ReportingTestContext.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"testCase:result:finished:",{aTestCase:aTestCase,aTestResult:aTestResult,aBlock:aBlock}, smalltalk.ReportingTestContext.klass)})},
+messageSends: ["result:", "testCase:", "finished:", "yourself"]}),
 smalltalk.ReportingTestContext.klass);
 
 
@@ -568,8 +568,8 @@ selector: "addError:",
 fn: function (anError){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._errors())._add_(anError);
-return self}, function($ctx1) {$ctx1.fill(self,"addError:",{anError:anError}, smalltalk.TestResult)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"addError:",{anError:anError}, smalltalk.TestResult)})},
+messageSends: ["add:", "errors"]}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -579,8 +579,8 @@ selector: "addFailure:",
 fn: function (aFailure){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._failures())._add_(aFailure);
-return self}, function($ctx1) {$ctx1.fill(self,"addFailure:",{aFailure:aFailure}, smalltalk.TestResult)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"addFailure:",{aFailure:aFailure}, smalltalk.TestResult)})},
+messageSends: ["add:", "failures"]}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -592,8 +592,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@errors"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"errors",{}, smalltalk.TestResult)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"errors",{}, smalltalk.TestResult)})},
+messageSends: []}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -605,8 +605,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@failures"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"failures",{}, smalltalk.TestResult)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"failures",{}, smalltalk.TestResult)})},
+messageSends: []}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -616,8 +616,8 @@ selector: "increaseRuns",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@runs"]=_st(self["@runs"]).__plus((1));
-return self}, function($ctx1) {$ctx1.fill(self,"increaseRuns",{}, smalltalk.TestResult)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"increaseRuns",{}, smalltalk.TestResult)})},
+messageSends: ["+"]}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -632,8 +632,8 @@ self["@runs"]=(0);
 self["@errors"]=_st((smalltalk.Array || Array))._new();
 self["@failures"]=_st((smalltalk.Array || Array))._new();
 self["@total"]=(0);
-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.TestResult)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.TestResult)})},
+messageSends: ["initialize", "now", "new"]}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -648,8 +648,8 @@ if(! smalltalk.assert($2)){
 $1=_st(aBlock)._value_(_st(_st(self)._runs()).__plus((1)));
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"nextRunDo:",{aBlock:aBlock}, smalltalk.TestResult)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"nextRunDo:",{aBlock:aBlock}, smalltalk.TestResult)})},
+messageSends: ["ifFalse:", "value:", "+", "runs", "==", "total"]}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -668,8 +668,8 @@ return smalltalk.withContext(function($ctx3) {
return _st(self)._addFailure_(aTe
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_((smalltalk.Error || Error),(function(ex){
 return smalltalk.withContext(function($ctx2) {
return _st(self)._addError_(aTestCase);
 }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
-return self}, function($ctx1) {$ctx1.fill(self,"runCase:",{aTestCase:aTestCase}, smalltalk.TestResult)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"runCase:",{aTestCase:aTestCase}, smalltalk.TestResult)})},
+messageSends: ["on:do:", "addError:", "addFailure:", "increaseRuns", "runCase"]}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -681,8 +681,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@runs"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"runs",{}, smalltalk.TestResult)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"runs",{}, smalltalk.TestResult)})},
+messageSends: []}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -704,8 +704,8 @@ $1="failure";
 $1="error";
 };
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"status",{}, smalltalk.TestResult)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"status",{}, smalltalk.TestResult)})},
+messageSends: ["ifTrue:ifFalse:", "isEmpty", "failures", "errors"]}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -717,8 +717,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@timestamp"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"timestamp",{}, smalltalk.TestResult)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"timestamp",{}, smalltalk.TestResult)})},
+messageSends: []}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -730,8 +730,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@total"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"total",{}, smalltalk.TestResult)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"total",{}, smalltalk.TestResult)})},
+messageSends: []}),
 smalltalk.TestResult);
 
 smalltalk.addMethod(
@@ -741,8 +741,8 @@ selector: "total:",
 fn: function (aNumber){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@total"]=aNumber;
-return self}, function($ctx1) {$ctx1.fill(self,"total:",{aNumber:aNumber}, smalltalk.TestResult)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"total:",{aNumber:aNumber}, smalltalk.TestResult)})},
+messageSends: []}),
 smalltalk.TestResult);
 
 
@@ -757,8 +757,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@announcer"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"announcer",{}, smalltalk.TestSuiteRunner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"announcer",{}, smalltalk.TestSuiteRunner)})},
+messageSends: []}),
 smalltalk.TestSuiteRunner);
 
 smalltalk.addMethod(
@@ -772,8 +772,8 @@ $1=_st((smalltalk.ReportingTestContext || ReportingTestContext))._testCase_resul
 return smalltalk.withContext(function($ctx2) {
return _st(self)._resume();
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger}, smalltalk.TestSuiteRunner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"contextOf:",{anInteger:anInteger}, smalltalk.TestSuiteRunner)})},
+messageSends: ["testCase:result:finished:", "at:", "resume"]}),
 smalltalk.TestSuiteRunner);
 
 smalltalk.addMethod(
@@ -795,8 +795,8 @@ if(smalltalk.assert($1)){
 return _st(_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)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.TestSuiteRunner)})},
+messageSends: ["initialize", "new", "runs", "ifTrue:", "start", "contextOf:", "+", "<", "total"]}),
 smalltalk.TestSuiteRunner);
 
 smalltalk.addMethod(
@@ -808,8 +808,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=self["@result"];
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"result",{}, smalltalk.TestSuiteRunner)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"result",{}, smalltalk.TestSuiteRunner)})},
+messageSends: []}),
 smalltalk.TestSuiteRunner);
 
 smalltalk.addMethod(
@@ -820,8 +820,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self["@runNextTest"])._fork();
 _st(self["@announcer"])._announce_(_st(_st((smalltalk.ResultAnnouncement || ResultAnnouncement))._new())._result_(self["@result"]));
-return self}, function($ctx1) {$ctx1.fill(self,"resume",{}, smalltalk.TestSuiteRunner)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"resume",{}, smalltalk.TestSuiteRunner)})},
+messageSends: ["fork", "announce:", "result:", "new"]}),
 smalltalk.TestSuiteRunner);
 
 smalltalk.addMethod(
@@ -832,8 +832,8 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self["@result"])._total_(_st(self["@suite"])._size());
 _st(self)._resume();
-return self}, function($ctx1) {$ctx1.fill(self,"run",{}, smalltalk.TestSuiteRunner)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"run",{}, smalltalk.TestSuiteRunner)})},
+messageSends: ["total:", "size", "resume"]}),
 smalltalk.TestSuiteRunner);
 
 smalltalk.addMethod(
@@ -843,8 +843,8 @@ selector: "suite:",
 fn: function (aCollection){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
self["@suite"]=aCollection;
-return self}, function($ctx1) {$ctx1.fill(self,"suite:",{aCollection:aCollection}, smalltalk.TestSuiteRunner)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"suite:",{aCollection:aCollection}, smalltalk.TestSuiteRunner)})},
+messageSends: []}),
 smalltalk.TestSuiteRunner);
 
 
@@ -855,8 +855,8 @@ selector: "new",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
-return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.TestSuiteRunner.klass)})}
-}),
+return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.TestSuiteRunner.klass)})},
+messageSends: ["shouldNotImplement"]}),
 smalltalk.TestSuiteRunner.klass);
 
 smalltalk.addMethod(
@@ -868,8 +868,8 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 $1=_st(smalltalk.Object.klass.fn.prototype._new.apply(_st(self), []))._suite_(aCollection);
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection}, smalltalk.TestSuiteRunner.klass)})}
-}),
+}, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection}, smalltalk.TestSuiteRunner.klass)})},
+messageSends: ["suite:", "new"]}),
 smalltalk.TestSuiteRunner.klass);
 
 

+ 2 - 1
st/Importer-Exporter.st

@@ -313,7 +313,8 @@ exportMethod: aMethod of: aClass on: aStream
 		nextPutAll: aMethod selector asSelector asJavascript, ',';lf;
 		nextPutAll: 'smalltalk.method({';lf;
 		nextPutAll: 'selector: ', aMethod selector asJavascript, ',';lf;
-		nextPutAll: 'fn: ', aMethod fn compiledSource;lf;
+		nextPutAll: 'fn: ', aMethod fn compiledSource, ',';lf;
+		nextPutAll: 'messageSends: ', aMethod messageSends asJavascript;
 		nextPutAll: '}),';lf;
 		nextPutAll: 'smalltalk.', (self classNameFor: aClass);
 		nextPutAll: ');';lf;lf

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff