123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296 |
- smalltalk.addClass('Node', smalltalk.Object, ['nodes'], 'Compiler');
- smalltalk.addMethod(
- '_nodes',
- smalltalk.method({
- selector: 'nodes',
- fn: function (){
- var self=this;
- return smalltalk.send(self['@nodes'], "_ifNil_", [(function(){return self['@nodes']=smalltalk.send(smalltalk.Array, "_new", []);})]);
- return self;}
- ]
- }),
- smalltalk.Node);
- smalltalk.addMethod(
- '_nodes_',
- smalltalk.method({
- selector: 'nodes:',
- fn: function (aCollection){
- var self=this;
- self['@nodes']=aCollection;
- return self;}
- ]
- }),
- smalltalk.Node);
- smalltalk.addMethod(
- '_addNode_',
- smalltalk.method({
- selector: 'addNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(smalltalk.send(self, "_nodes", []), "_add_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.Node);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.Node);
- smalltalk.addClass('MethodNode', smalltalk.Node, ['selector', 'arguments', 'source'], 'Compiler');
- smalltalk.addMethod(
- '_selector',
- smalltalk.method({
- selector: 'selector',
- fn: function (){
- var self=this;
- return self['@selector'];
- return self;}
- ]
- }),
- smalltalk.MethodNode);
- smalltalk.addMethod(
- '_selector_',
- smalltalk.method({
- selector: 'selector:',
- fn: function (aString){
- var self=this;
- self['@selector']=aString;
- return self;}
- ]
- }),
- smalltalk.MethodNode);
- smalltalk.addMethod(
- '_arguments',
- smalltalk.method({
- selector: 'arguments',
- fn: function (){
- var self=this;
- return smalltalk.send(self['@arguments'], "_ifNil_", [(function(){return [];})]);
- return self;}
- ]
- }),
- smalltalk.MethodNode);
- smalltalk.addMethod(
- '_arguments_',
- smalltalk.method({
- selector: 'arguments:',
- fn: function (aCollection){
- var self=this;
- self['@arguments']=aCollection;
- return self;}
- ]
- }),
- smalltalk.MethodNode);
- smalltalk.addMethod(
- '_source',
- smalltalk.method({
- selector: 'source',
- fn: function (){
- var self=this;
- return self['@source'];
- return self;}
- ]
- }),
- smalltalk.MethodNode);
- smalltalk.addMethod(
- '_source_',
- smalltalk.method({
- selector: 'source:',
- fn: function (aString){
- var self=this;
- self['@source']=aString;
- return self;}
- ]
- }),
- smalltalk.MethodNode);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitMethodNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.MethodNode);
- smalltalk.addClass('SendNode', smalltalk.Node, ['selector', 'arguments', 'receiver'], 'Compiler');
- smalltalk.addMethod(
- '_selector',
- smalltalk.method({
- selector: 'selector',
- fn: function (){
- var self=this;
- return self['@selector'];
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addMethod(
- '_selector_',
- smalltalk.method({
- selector: 'selector:',
- fn: function (aString){
- var self=this;
- self['@selector']=aString;
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addMethod(
- '_arguments',
- smalltalk.method({
- selector: 'arguments',
- fn: function (){
- var self=this;
- return smalltalk.send(self['@arguments'], "_ifNil_", [(function(){return self['@arguments']=[];})]);
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addMethod(
- '_arguments_',
- smalltalk.method({
- selector: 'arguments:',
- fn: function (aCollection){
- var self=this;
- self['@arguments']=aCollection;
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addMethod(
- '_receiver',
- smalltalk.method({
- selector: 'receiver',
- fn: function (){
- var self=this;
- return self['@receiver'];
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addMethod(
- '_receiver_',
- smalltalk.method({
- selector: 'receiver:',
- fn: function (aNode){
- var self=this;
- self['@receiver']=aNode;
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addMethod(
- '_valueForReceiver_',
- smalltalk.method({
- selector: 'valueForReceiver:',
- fn: function (anObject){
- var self=this;
- return (function($rec){smalltalk.send($rec, "_receiver_", [smalltalk.send(smalltalk.send(self, "_receiver", []), "_ifNil_ifNotNil_", [(function(){return anObject;}), (function(){return smalltalk.send(smalltalk.send(self, "_receiver", []), "_valueForReceiver_", [anObject]);})])]);smalltalk.send($rec, "_selector_", [smalltalk.send(self, "_selector", [])]);smalltalk.send($rec, "_arguments_", [smalltalk.send(self, "_arguments", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(smalltalk.SendNode, "_new", []));
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addMethod(
- '_cascadeNodeWithMessages_',
- smalltalk.method({
- selector: 'cascadeNodeWithMessages:',
- fn: function (aCollection){
- var self=this;
- var first=nil;
- first=(function($rec){smalltalk.send($rec, "_selector_", [smalltalk.send(self, "_selector", [])]);smalltalk.send($rec, "_arguments_", [smalltalk.send(self, "_arguments", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(smalltalk.SendNode, "_new", []));
- return (function($rec){smalltalk.send($rec, "_receiver_", [smalltalk.send(self, "_receiver", [])]);smalltalk.send($rec, "_nodes_", [smalltalk.send(smalltalk.send(smalltalk.Array, "_with_", [first]), "__comma", [aCollection])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(smalltalk.CascadeNode, "_new", []));
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitSendNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.SendNode);
- smalltalk.addClass('CascadeNode', smalltalk.Node, ['receiver'], 'Compiler');
- smalltalk.addMethod(
- '_receiver',
- smalltalk.method({
- selector: 'receiver',
- fn: function (){
- var self=this;
- return self['@receiver'];
- return self;}
- ]
- }),
- smalltalk.CascadeNode);
- smalltalk.addMethod(
- '_receiver_',
- smalltalk.method({
- selector: 'receiver:',
- fn: function (aNode){
- var self=this;
- self['@receiver']=aNode;
- return self;}
- ]
- }),
- smalltalk.CascadeNode);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitCascadeNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.CascadeNode);
- smalltalk.addClass('AssignmentNode', smalltalk.Node, ['left', 'right'], 'Compiler');
- smalltalk.addMethod(
- '_left',
- smalltalk.method({
- selector: 'left',
- fn: function (){
- var self=this;
- return self['@left'];
- return self;}
- ]
- }),
- smalltalk.AssignmentNode);
- smalltalk.addMethod(
- '_left_',
- smalltalk.method({
- selector: 'left:',
- fn: function (aNode){
- var self=this;
- self['@left']=aNode;
- return self;}
- ]
- }),
- smalltalk.AssignmentNode);
- smalltalk.addMethod(
- '_right',
- smalltalk.method({
- selector: 'right',
- fn: function (){
- var self=this;
- return self['@right'];
- return self;}
- ]
- }),
- smalltalk.AssignmentNode);
- smalltalk.addMethod(
- '_right_',
- smalltalk.method({
- selector: 'right:',
- fn: function (aNode){
- var self=this;
- self['@right']=aNode;
- return self;}
- ]
- }),
- smalltalk.AssignmentNode);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitAssignmentNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.AssignmentNode);
- smalltalk.addClass('BlockNode', smalltalk.Node, ['parameters'], 'Compiler');
- smalltalk.addMethod(
- '_parameters',
- smalltalk.method({
- selector: 'parameters',
- fn: function (){
- var self=this;
- return smalltalk.send(self['@parameters'], "_ifNil_", [(function(){return self['@parameters']=smalltalk.send(smalltalk.Array, "_new", []);})]);
- return self;}
- ]
- }),
- smalltalk.BlockNode);
- smalltalk.addMethod(
- '_parameters_',
- smalltalk.method({
- selector: 'parameters:',
- fn: function (aCollection){
- var self=this;
- self['@parameters']=aCollection;
- return self;}
- ]
- }),
- smalltalk.BlockNode);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitBlockNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.BlockNode);
- smalltalk.addClass('SequenceNode', smalltalk.Node, ['temps'], 'Compiler');
- smalltalk.addMethod(
- '_temps',
- smalltalk.method({
- selector: 'temps',
- fn: function (){
- var self=this;
- return smalltalk.send(self['@temps'], "_ifNil_", [(function(){return [];})]);
- return self;}
- ]
- }),
- smalltalk.SequenceNode);
- smalltalk.addMethod(
- '_temps_',
- smalltalk.method({
- selector: 'temps:',
- fn: function (aCollection){
- var self=this;
- self['@temps']=aCollection;
- return self;}
- ]
- }),
- smalltalk.SequenceNode);
- smalltalk.addMethod(
- '_asBlockSequenceNode',
- smalltalk.method({
- selector: 'asBlockSequenceNode',
- fn: function (){
- var self=this;
- return (function($rec){smalltalk.send($rec, "_nodes_", [smalltalk.send(self, "_nodes", [])]);smalltalk.send($rec, "_temps_", [smalltalk.send(self, "_temps", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(smalltalk.BlockSequenceNode, "_new", []));
- return self;}
- ]
- }),
- smalltalk.SequenceNode);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitSequenceNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.SequenceNode);
- smalltalk.addClass('BlockSequenceNode', smalltalk.SequenceNode, [], 'Compiler');
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitBlockSequenceNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.BlockSequenceNode);
- smalltalk.addClass('ReturnNode', smalltalk.Node, [], 'Compiler');
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitReturnNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.ReturnNode);
- smalltalk.addClass('ValueNode', smalltalk.Node, ['value'], 'Compiler');
- smalltalk.addMethod(
- '_value',
- smalltalk.method({
- selector: 'value',
- fn: function (){
- var self=this;
- return self['@value'];
- return self;}
- ]
- }),
- smalltalk.ValueNode);
- smalltalk.addMethod(
- '_value_',
- smalltalk.method({
- selector: 'value:',
- fn: function (anObject){
- var self=this;
- self['@value']=anObject;
- return self;}
- ]
- }),
- smalltalk.ValueNode);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitValueNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.ValueNode);
- smalltalk.addClass('VariableNode', smalltalk.ValueNode, [], 'Compiler');
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitVariableNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.VariableNode);
- smalltalk.addClass('ClassReferenceNode', smalltalk.VariableNode, [], 'Compiler');
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitClassReferenceNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.ClassReferenceNode);
- smalltalk.addClass('JSStatementNode', smalltalk.Node, ['source'], 'Compiler');
- smalltalk.addMethod(
- '_source',
- smalltalk.method({
- selector: 'source',
- fn: function (){
- var self=this;
- return smalltalk.send(self['@source'], "_ifNil_", [(function(){return "";})]);
- return self;}
- ]
- }),
- smalltalk.JSStatementNode);
- smalltalk.addMethod(
- '_source_',
- smalltalk.method({
- selector: 'source:',
- fn: function (aString){
- var self=this;
- self['@source']=aString;
- return self;}
- ]
- }),
- smalltalk.JSStatementNode);
- smalltalk.addMethod(
- '_accept_',
- smalltalk.method({
- selector: 'accept:',
- fn: function (aVisitor){
- var self=this;
- smalltalk.send(aVisitor, "_visitJSStatementNode_", [self]);
- return self;}
- ]
- }),
- smalltalk.JSStatementNode);
- smalltalk.addClass('NodeVisitor', smalltalk.Object, [], 'Compiler');
- smalltalk.addMethod(
- '_visit_',
- smalltalk.method({
- selector: 'visit:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(aNode, "_accept_", [self]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitNode_',
- smalltalk.method({
- selector: 'visitNode:',
- fn: function (aNode){
- var self=this;
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitMethodNode_',
- smalltalk.method({
- selector: 'visitMethodNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitSequenceNode_',
- smalltalk.method({
- selector: 'visitSequenceNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitBlockSequenceNode_',
- smalltalk.method({
- selector: 'visitBlockSequenceNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitSequenceNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitBlockNode_',
- smalltalk.method({
- selector: 'visitBlockNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitReturnNode_',
- smalltalk.method({
- selector: 'visitReturnNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitSendNode_',
- smalltalk.method({
- selector: 'visitSendNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitCascadeNode_',
- smalltalk.method({
- selector: 'visitCascadeNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitValueNode_',
- smalltalk.method({
- selector: 'visitValueNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitVariableNode_',
- smalltalk.method({
- selector: 'visitVariableNode:',
- fn: function (aNode){
- var self=this;
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitAssignmentNode_',
- smalltalk.method({
- selector: 'visitAssignmentNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visitNode_", [aNode]);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitClassReferenceNode_',
- smalltalk.method({
- selector: 'visitClassReferenceNode:',
- fn: function (aNode){
- var self=this;
- (function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk."]);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aNode, "_value", [])]);})(self);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addMethod(
- '_visitJSStatementNode_',
- smalltalk.method({
- selector: 'visitJSStatementNode:',
- fn: function (aNode){
- var self=this;
- (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("function%28%29%7B")]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aNode, "_source", [])]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%7D%29%28%29")]);})(self);
- return self;}
- ]
- }),
- smalltalk.NodeVisitor);
- smalltalk.addClass('Compiler', smalltalk.NodeVisitor, ['stream', 'nestedBlocks', 'earlyReturn', 'currentClass', 'currentSelector', 'unknownVariables', 'tempVariables', 'messageSends', 'referencedClasses'], 'Compiler');
- smalltalk.addMethod(
- '_initialize',
- smalltalk.method({
- selector: 'initialize',
- fn: function (){
- var self=this;
- smalltalk.send(self, "_initialize", [], smalltalk.NodeVisitor);
- self['@stream']=smalltalk.send("", "_writeStream", []);
- self['@unknownVariables']=[];
- self['@tempVariables']=[];
- self['@messageSends']=[];
- classReferenced=[];
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_parser',
- smalltalk.method({
- selector: 'parser',
- fn: function (){
- var self=this;
- return smalltalk.send(smalltalk.SmalltalkParser, "_new", []);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_currentClass',
- smalltalk.method({
- selector: 'currentClass',
- fn: function (){
- var self=this;
- return self['@currentClass'];
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_currentClass_',
- smalltalk.method({
- selector: 'currentClass:',
- fn: function (aClass){
- var self=this;
- self['@currentClass']=aClass;
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_loadExpression_',
- smalltalk.method({
- selector: 'loadExpression:',
- fn: function (aString){
- var self=this;
- smalltalk.send(smalltalk.DoIt, "_addCompiledMethod_", [smalltalk.send(self, "_eval_", [smalltalk.send(self, "_compileExpression_", [aString])])]);
- return smalltalk.send(smalltalk.send(smalltalk.DoIt, "_new", []), "_doIt", []);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_load_forClass_',
- smalltalk.method({
- selector: 'load:forClass:',
- fn: function (aString, aClass){
- var self=this;
- var compiled=nil;
- compiled=smalltalk.send(self, "_eval_", [smalltalk.send(self, "_compile_forClass_", [aString, aClass])]);
- smalltalk.send(self, "_setupClass_", [aClass]);
- return compiled;
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_compile_forClass_',
- smalltalk.method({
- selector: 'compile:forClass:',
- fn: function (aString, aClass){
- var self=this;
- smalltalk.send(self, "_currentClass_", [aClass]);
- return smalltalk.send(self, "_compile_", [aString]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_compileExpression_',
- smalltalk.method({
- selector: 'compileExpression:',
- fn: function (aString){
- var self=this;
- smalltalk.send(self, "_currentClass_", [smalltalk.DoIt]);
- return smalltalk.send(self, "_compileNode_", [smalltalk.send(self, "_parseExpression_", [aString])]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_eval_',
- smalltalk.method({
- selector: 'eval:',
- fn: function (aString){
- var self=this;
- return eval(aString);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_compile_',
- smalltalk.method({
- selector: 'compile:',
- fn: function (aString){
- var self=this;
- return smalltalk.send(self, "_compileNode_", [smalltalk.send(self, "_parse_", [aString])]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_compileNode_',
- smalltalk.method({
- selector: 'compileNode:',
- fn: function (aNode){
- var self=this;
- self['@stream']=smalltalk.send("", "_writeStream", []);
- smalltalk.send(self, "_visit_", [aNode]);
- return smalltalk.send(self['@stream'], "_contents", []);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visit_',
- smalltalk.method({
- selector: 'visit:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(aNode, "_accept_", [self]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitMethodNode_',
- smalltalk.method({
- selector: 'visitMethodNode:',
- fn: function (aNode){
- var self=this;
- var str=nil;
- var currentSelector=nil;
- self['@currentSelector']=smalltalk.send(smalltalk.send(aNode, "_selector", []), "_asSelector", []);
- self['@nestedBlocks']=(0);
- self['@earlyReturn']=false;
- self['@messageSends']=[];
- self['@referencedClasses']=[];
- self['@unknownVariables']=[];
- self['@tempVariables']=[];
- (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("smalltalk.method%28%7B")]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("selector%3A%20%22"), "__comma", [smalltalk.send(aNode, "_selector", [])]), "__comma", [unescape("%22%2C")])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);
- (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("source%3A%20unescape%28%22"), "__comma", [smalltalk.send(smalltalk.send(aNode, "_source", []), "_escaped", [])]), "__comma", [unescape("%22%29%2C")])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("fn%3A%20function%28")]);
- smalltalk.send(smalltalk.send(aNode, "_arguments", []), "_do_separatedBy_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%2C%20")]);})]);
- (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("%29%7B")]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [unescape("var%20self%3Dthis%3B")]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);
- str=self['@stream'];
- self['@stream']=smalltalk.send("", "_writeStream", []);
- smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){return smalltalk.send(self, "_visit_", [each]);})]);
- smalltalk.send(self['@earlyReturn'], "_ifTrue_", [(function(){return smalltalk.send(str, "_nextPutAll_", [unescape("try%7B")]);})]);
- smalltalk.send(str, "_nextPutAll_", [smalltalk.send(self['@stream'], "_contents", [])]);
- self['@stream']=str;
- (function($rec){smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [unescape("return%20self%3B")]);})(self['@stream']);
- smalltalk.send(self['@earlyReturn'], "_ifTrue_", [(function(){return (function($rec){smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%7D%20catch%28e%29%20%7Bif%28e.name%20%3D%3D%3D%20%27stReturn%27%20%26%26%20e.selector%20%3D%3D%3D%20"), "__comma", [smalltalk.send(self['@currentSelector'], "_printString", [])]), "__comma", [unescape("%29%7Breturn%20e.fn%28%29%7D%20throw%28e%29%7D")])]);})(self['@stream']);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D")]);
- (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%2C"), "__comma", [smalltalk.send(smalltalk.String, "_lf", [])]), "__comma", ["messageSends: "])]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(self['@messageSends'], "_asJavascript", []), "__comma", [unescape("%2C")])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [unescape("referencedClasses%3A%20%5B")]);})(self['@stream']);
- smalltalk.send(self['@referencedClasses'], "_do_separatedBy_", [(function(each){return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%2C")]);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%5D")]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D%29")]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitBlockNode_',
- smalltalk.method({
- selector: 'visitBlockNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28")]);
- smalltalk.send(smalltalk.send(aNode, "_parameters", []), "_do_separatedBy_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%2C%20")]);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%7B")]);
- smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){return smalltalk.send(self, "_visit_", [each]);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D%29")]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitSequenceNode_',
- smalltalk.method({
- selector: 'visitSequenceNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(smalltalk.send(aNode, "_temps", []), "_do_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("var ", "__comma", [each]), "__comma", [unescape("%3Dnil%3B")])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);})]);
- smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_separatedBy_", [(function(each){smalltalk.send(self, "_visit_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%3B")]);}), (function(){return smalltalk.send(self['@stream'], "_lf", []);})]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitBlockSequenceNode_',
- smalltalk.method({
- selector: 'visitBlockSequenceNode:',
- fn: function (aNode){
- var self=this;
- var index=nil;
- self['@nestedBlocks']=smalltalk.send(self['@nestedBlocks'], "__plus", [(1)]);
- smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_isEmpty", []), "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("return%20nil%3B")]);}), (function(){smalltalk.send(smalltalk.send(aNode, "_temps", []), "_do_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("var ", "__comma", [each]), "__comma", [unescape("%3Dnil%3B")])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);})]);index=(0);return smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){index=smalltalk.send(index, "__plus", [(1)]);smalltalk.send(smalltalk.send(index, "__eq", [smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_size", [])]), "_ifTrue_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["return "]);})]);smalltalk.send(self, "_visit_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%3B")]);})]);})]);
- self['@nestedBlocks']=smalltalk.send(self['@nestedBlocks'], "__minus", [(1)]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitReturnNode_',
- smalltalk.method({
- selector: 'visitReturnNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(smalltalk.send(self['@nestedBlocks'], "__gt", [(0)]), "_ifTrue_", [(function(){return self['@earlyReturn']=true;})]);
- smalltalk.send(self['@earlyReturn'], "_ifTrue_ifFalse_", [(function(){return (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("%28function%28%29%7Bthrow%28")]);smalltalk.send($rec, "_nextPutAll_", [unescape("%7Bname%3A%20%27stReturn%27%2C%20selector%3A%20")]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self['@currentSelector'], "_printString", [])]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%2C%20fn%3A%20function%28%29%7Breturn%20")]);})(self['@stream']);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["return "]);})]);
- smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){return smalltalk.send(self, "_visit_", [each]);})]);
- smalltalk.send(self['@earlyReturn'], "_ifTrue_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D%7D%29%7D%29%28%29")]);})]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitSendNode_',
- smalltalk.method({
- selector: 'visitSendNode:',
- fn: function (aNode){
- var self=this;
- var str=nil;
- var receiver=nil;
- var superSend=nil;
- str=self['@stream'];
- smalltalk.send(smalltalk.send(self['@messageSends'], "_includes_", [smalltalk.send(aNode, "_selector", [])]), "_ifFalse_", [(function(){return smalltalk.send(self['@messageSends'], "_add_", [smalltalk.send(aNode, "_selector", [])]);})]);
- self['@stream']=smalltalk.send("", "_writeStream", []);
- smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_receiver", [])]);
- superSend=smalltalk.send(smalltalk.send(self['@stream'], "_contents", []), "__eq", ["super"]);
- receiver=smalltalk.send(superSend, "_ifTrue_ifFalse_", [(function(){return "self";}), (function(){return smalltalk.send(self['@stream'], "_contents", []);})]);
- smalltalk.send(str, "_nextPutAll_", [unescape("smalltalk.send%28")]);
- smalltalk.send(str, "_nextPutAll_", [receiver]);
- self['@stream']=str;
- smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%2C%20%22"), "__comma", [smalltalk.send(smalltalk.send(aNode, "_selector", []), "_asSelector", [])]), "__comma", [unescape("%22%2C%20%5B")])]);
- smalltalk.send(smalltalk.send(aNode, "_arguments", []), "_do_separatedBy_", [(function(each){return smalltalk.send(self, "_visit_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%2C%20")]);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%5D")]);
- smalltalk.send(superSend, "_ifTrue_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(unescape("%2C%20smalltalk."), "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(smalltalk.send(self, "_currentClass", []), "_superclass", [])])])]);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29")]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitCascadeNode_',
- smalltalk.method({
- selector: 'visitCascadeNode:',
- fn: function (aNode){
- var self=this;
- var index=nil;
- index=(0);
- smalltalk.send(smalltalk.send(self['@tempVariables'], "_includes_", ["$rec"]), "_ifFalse_", [(function(){return smalltalk.send(self['@tempVariables'], "_add_", ["$rec"]);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%24rec%29%7B")]);
- smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){index=smalltalk.send(index, "__plus", [(1)]);smalltalk.send(smalltalk.send(index, "__eq", [smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_size", [])]), "_ifTrue_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["return "]);})]);smalltalk.send(each, "_receiver_", [smalltalk.send(smalltalk.send(smalltalk.VariableNode, "_new", []), "_value_", ["$rec"])]);smalltalk.send(self, "_visit_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%3B")]);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D%29%28")]);
- smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_receiver", [])]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29")]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitValueNode_',
- smalltalk.method({
- selector: 'visitValueNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(aNode, "_value", []), "_asJavascript", [])]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitAssignmentNode_',
- smalltalk.method({
- selector: 'visitAssignmentNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_left", [])]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%3D")]);
- smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_right", [])]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitClassReferenceNode_',
- smalltalk.method({
- selector: 'visitClassReferenceNode:',
- fn: function (aNode){
- var self=this;
- var klass=nil;
- klass=smalltalk.send("smalltalk.", "__comma", [smalltalk.send(aNode, "_value", [])]);
- smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.Smalltalk, "_current", []), "_at_", [smalltalk.send(aNode, "_value", [])]), "_isClass", []), "_ifTrue_", [(function(){return smalltalk.send(smalltalk.send(self['@referencedClasses'], "_includes_", [klass]), "_ifFalse_", [(function(){return smalltalk.send(self['@referencedClasses'], "_add_", [klass]);})]);})]);
- smalltalk.send(self['@stream'], "_nextPutAll_", [klass]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitVariableNode_',
- smalltalk.method({
- selector: 'visitVariableNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_currentClass", []), "_allInstanceVariableNames", []), "_includes_", [smalltalk.send(aNode, "_value", [])]), "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("self%5B%27@"), "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", [unescape("%27%5D")])]);}), (function(){smalltalk.send(smalltalk.send(smalltalk.send(self, "_knownVariables", []), "_includes_", [smalltalk.send(aNode, "_value", [])]), "_ifFalse_", [(function(){return smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);})]);return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(aNode, "_value", [])]);})]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitJSStatementNode_',
- smalltalk.method({
- selector: 'visitJSStatementNode:',
- fn: function (aNode){
- var self=this;
- smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(aNode, "_source", []), "_replace_with_", [unescape("%3E%3E"), unescape("%3E")])]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_parse_',
- smalltalk.method({
- selector: 'parse:',
- fn: function (aString){
- var self=this;
- return smalltalk.send(smalltalk.send(self, "_parser", []), "_parse_", [smalltalk.send(aString, "_readStream", [])]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_parseExpression_',
- smalltalk.method({
- selector: 'parseExpression:',
- fn: function (aString){
- var self=this;
- return smalltalk.send(self, "_parse_", [smalltalk.send(smalltalk.send(unescape("doIt%20%5E%5B"), "__comma", [aString]), "__comma", [unescape("%5D%20value")])]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_unknownVariables',
- smalltalk.method({
- selector: 'unknownVariables',
- fn: function (){
- var self=this;
- return smalltalk.send(self['@unknownVariables'], "_copy", []);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_pseudoVariables',
- smalltalk.method({
- selector: 'pseudoVariables',
- fn: function (){
- var self=this;
- return ["self", "super", "true", "false", "nil", "thisContext"];
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_tempVariables',
- smalltalk.method({
- selector: 'tempVariables',
- fn: function (){
- var self=this;
- return smalltalk.send(self['@tempVariables'], "_copy", []);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_knownVariables',
- smalltalk.method({
- selector: 'knownVariables',
- fn: function (){
- var self=this;
- return (function($rec){smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_tempVariables", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_pseudoVariables", []));
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_recompile_',
- smalltalk.method({
- selector: 'recompile:',
- fn: function (aClass){
- var self=this;
- smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_do_", [(function(each){var method=nil;
- method=smalltalk.send(self, "_load_forClass_", [smalltalk.send(each, "_source", []), aClass]);smalltalk.send(method, "_category_", [smalltalk.send(each, "_category", [])]);return smalltalk.send(aClass, "_addCompiledMethod_", [method]);})]);
- smalltalk.send(smalltalk.send(aClass, "_isMetaclass", []), "_ifFalse_", [(function(){return smalltalk.send(self, "_recompile_", [smalltalk.send(aClass, "_class", [])]);})]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_recompileAll',
- smalltalk.method({
- selector: 'recompileAll',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.Smalltalk, "_current", []), "_classes", []), "_do_", [(function(each){(function($rec){smalltalk.send($rec, "_show_", [each]);return smalltalk.send($rec, "_cr", []);})(smalltalk.Transcript);return smalltalk.send((function(){return smalltalk.send(self, "_recompile_", [each]);}), "_valueWithTimeout_", [(100)]);})]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_classNameFor_',
- smalltalk.method({
- selector: 'classNameFor:',
- fn: function (aClass){
- var self=this;
- return smalltalk.send(smalltalk.send(aClass, "_isMetaclass", []), "_ifTrue_ifFalse_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_instanceClass", []), "_name", []), "__comma", [".klass"]);}), (function(){return smalltalk.send(smalltalk.send(aClass, "_isNil", []), "_ifTrue_ifFalse_", [(function(){return "nil";}), (function(){return smalltalk.send(aClass, "_name", []);})]);})]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_visitFailure_',
- smalltalk.method({
- selector: 'visitFailure:',
- fn: function (aFailure){
- var self=this;
- smalltalk.send(self, "_error_", [smalltalk.send(aFailure, "_asString", [])]);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_setupClass_',
- smalltalk.method({
- selector: 'setupClass:',
- fn: function (aClass){
- var self=this;
- smalltalk.init(aClass);
- return self;}
- ]
- }),
- smalltalk.Compiler);
- smalltalk.addMethod(
- '_recompile_',
- smalltalk.method({
- selector: 'recompile:',
- fn: function (aClass){
- var self=this;
- smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_do_", [(function(each){var method=nil;
- method=smalltalk.send(smalltalk.send(self, "_new", []), "_load_forClass_", [smalltalk.send(each, "_source", []), aClass]);smalltalk.send(method, "_category_", [smalltalk.send(each, "_category", [])]);return smalltalk.send(aClass, "_addCompiledMethod_", [method]);})]);
- smalltalk.send(smalltalk.send(aClass, "_isMetaclass", []), "_ifFalse_", [(function(){return smalltalk.send(self, "_recompile_", [smalltalk.send(aClass, "_class", [])]);})]);
- return self;}
- ]
- }),
- smalltalk.Compiler.klass);
- smalltalk.addMethod(
- '_recompileAll',
- smalltalk.method({
- selector: 'recompileAll',
- fn: function (){
- var self=this;
- smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.Smalltalk, "_current", []), "_classes", []), "_do_", [(function(each){return smalltalk.send(self, "_recompile_", [each]);})]);
- return self;}
- ]
- }),
- smalltalk.Compiler.klass);
- smalltalk.addClass('DoIt', smalltalk.Object, [], 'Compiler');
- smalltalk.addMethod(
- '_doIt',
- smalltalk.method({
- selector: 'doIt',
- fn: function (){
- var self=this;
- return smalltalk.send((function(){return smalltalk.send(smalltalk.send(smalltalk.StrippedExporter, "_new", []), "_exportCategory_", ["IDE"]);}), "_value", []);
- return self;}
- ]
- }),
- smalltalk.DoIt);
|