| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201 | smalltalk.addPackage('Compiler-AST', {});smalltalk.addClass('Node', smalltalk.Object, ['position', 'nodes', 'shouldBeInlined', 'shouldBeAliased'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_addNode_",smalltalk.method({selector: "addNode:",fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { _st(_st(self)._nodes())._add_(aNode);return self}, self, "addNode:", [aNode], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_isAssignmentNode",smalltalk.method({selector: "isAssignmentNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isAssignmentNode", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_isBlockNode",smalltalk.method({selector: "isBlockNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isBlockNode", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_isBlockSequenceNode",smalltalk.method({selector: "isBlockSequenceNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isBlockSequenceNode", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_isReturnNode",smalltalk.method({selector: "isReturnNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isReturnNode", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_isSendNode",smalltalk.method({selector: "isSendNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isSendNode", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_isValueNode",smalltalk.method({selector: "isValueNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isValueNode", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_nodes",smalltalk.method({selector: "nodes",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@nodes"]) == nil || $receiver == undefined){self["@nodes"]=_st((smalltalk.Array || Array))._new();$1=self["@nodes"];} else {$1=self["@nodes"];};return $1;}, self, "nodes", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_nodes_",smalltalk.method({selector: "nodes:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@nodes"]=aCollection;return self}, self, "nodes:", [aCollection], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_position",smalltalk.method({selector: "position",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@position"]) == nil || $receiver == undefined){self["@position"]=_st((0)).__at((0));$1=self["@position"];} else {$1=self["@position"];};return $1;}, self, "position", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_position_",smalltalk.method({selector: "position:",fn: function (aPosition){var self=this;return smalltalk.withContext(function($ctx) { self["@position"]=aPosition;return self}, self, "position:", [aPosition], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_shouldBeAliased",smalltalk.method({selector: "shouldBeAliased",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@shouldBeAliased"]) == nil || $receiver == undefined){$1=false;} else {$1=self["@shouldBeAliased"];};return $1;}, self, "shouldBeAliased", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_shouldBeAliased_",smalltalk.method({selector: "shouldBeAliased:",fn: function (aBoolean){var self=this;return smalltalk.withContext(function($ctx) { self["@shouldBeAliased"]=aBoolean;return self}, self, "shouldBeAliased:", [aBoolean], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_shouldBeInlined",smalltalk.method({selector: "shouldBeInlined",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@shouldBeInlined"]) == nil || $receiver == undefined){$1=false;} else {$1=self["@shouldBeInlined"];};return $1;}, self, "shouldBeInlined", [], smalltalk.Node)}}),smalltalk.Node);smalltalk.addMethod("_shouldBeInlined_",smalltalk.method({selector: "shouldBeInlined:",fn: function (aBoolean){var self=this;return smalltalk.withContext(function($ctx) { self["@shouldBeInlined"]=aBoolean;return self}, self, "shouldBeInlined:", [aBoolean], smalltalk.Node)}}),smalltalk.Node);smalltalk.addClass('AssignmentNode', smalltalk.Node, ['left', 'right'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitAssignmentNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.AssignmentNode)}}),smalltalk.AssignmentNode);smalltalk.addMethod("_isAssignmentNode",smalltalk.method({selector: "isAssignmentNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isAssignmentNode", [], smalltalk.AssignmentNode)}}),smalltalk.AssignmentNode);smalltalk.addMethod("_left",smalltalk.method({selector: "left",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@left"];}, self, "left", [], smalltalk.AssignmentNode)}}),smalltalk.AssignmentNode);smalltalk.addMethod("_left_",smalltalk.method({selector: "left:",fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { self["@left"]=aNode;return self}, self, "left:", [aNode], smalltalk.AssignmentNode)}}),smalltalk.AssignmentNode);smalltalk.addMethod("_nodes",smalltalk.method({selector: "nodes",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st((smalltalk.Array || Array))._with_with_(_st(self)._left(),_st(self)._right());return $1;}, self, "nodes", [], smalltalk.AssignmentNode)}}),smalltalk.AssignmentNode);smalltalk.addMethod("_right",smalltalk.method({selector: "right",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@right"];}, self, "right", [], smalltalk.AssignmentNode)}}),smalltalk.AssignmentNode);smalltalk.addMethod("_right_",smalltalk.method({selector: "right:",fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { self["@right"]=aNode;return self}, self, "right:", [aNode], smalltalk.AssignmentNode)}}),smalltalk.AssignmentNode);smalltalk.addClass('BlockNode', smalltalk.Node, ['parameters', 'scope'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitBlockNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.BlockNode)}}),smalltalk.BlockNode);smalltalk.addMethod("_isBlockNode",smalltalk.method({selector: "isBlockNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isBlockNode", [], smalltalk.BlockNode)}}),smalltalk.BlockNode);smalltalk.addMethod("_parameters",smalltalk.method({selector: "parameters",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@parameters"]) == nil || $receiver == undefined){self["@parameters"]=_st((smalltalk.Array || Array))._new();$1=self["@parameters"];} else {$1=self["@parameters"];};return $1;}, self, "parameters", [], smalltalk.BlockNode)}}),smalltalk.BlockNode);smalltalk.addMethod("_parameters_",smalltalk.method({selector: "parameters:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@parameters"]=aCollection;return self}, self, "parameters:", [aCollection], smalltalk.BlockNode)}}),smalltalk.BlockNode);smalltalk.addMethod("_scope",smalltalk.method({selector: "scope",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@scope"];}, self, "scope", [], smalltalk.BlockNode)}}),smalltalk.BlockNode);smalltalk.addMethod("_scope_",smalltalk.method({selector: "scope:",fn: function (aLexicalScope){var self=this;return smalltalk.withContext(function($ctx) { self["@scope"]=aLexicalScope;return self}, self, "scope:", [aLexicalScope], smalltalk.BlockNode)}}),smalltalk.BlockNode);smalltalk.addClass('CascadeNode', smalltalk.Node, ['receiver'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitCascadeNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.CascadeNode)}}),smalltalk.CascadeNode);smalltalk.addMethod("_receiver",smalltalk.method({selector: "receiver",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@receiver"];}, self, "receiver", [], smalltalk.CascadeNode)}}),smalltalk.CascadeNode);smalltalk.addMethod("_receiver_",smalltalk.method({selector: "receiver:",fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { self["@receiver"]=aNode;return self}, self, "receiver:", [aNode], smalltalk.CascadeNode)}}),smalltalk.CascadeNode);smalltalk.addClass('DynamicArrayNode', smalltalk.Node, [], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitDynamicArrayNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.DynamicArrayNode)}}),smalltalk.DynamicArrayNode);smalltalk.addClass('DynamicDictionaryNode', smalltalk.Node, [], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitDynamicDictionaryNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.DynamicDictionaryNode)}}),smalltalk.DynamicDictionaryNode);smalltalk.addClass('JSStatementNode', smalltalk.Node, ['source'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitJSStatementNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.JSStatementNode)}}),smalltalk.JSStatementNode);smalltalk.addMethod("_source",smalltalk.method({selector: "source",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@source"]) == nil || $receiver == undefined){$1="";} else {$1=self["@source"];};return $1;}, self, "source", [], smalltalk.JSStatementNode)}}),smalltalk.JSStatementNode);smalltalk.addMethod("_source_",smalltalk.method({selector: "source:",fn: function (aString){var self=this;return smalltalk.withContext(function($ctx) { self["@source"]=aString;return self}, self, "source:", [aString], smalltalk.JSStatementNode)}}),smalltalk.JSStatementNode);smalltalk.addClass('MethodNode', smalltalk.Node, ['selector', 'arguments', 'source', 'scope', 'classReferences', 'messageSends', 'superSends'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitMethodNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_arguments",smalltalk.method({selector: "arguments",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@arguments"]) == nil || $receiver == undefined){$1=[];} else {$1=self["@arguments"];};return $1;}, self, "arguments", [], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_arguments_",smalltalk.method({selector: "arguments:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@arguments"]=aCollection;return self}, self, "arguments:", [aCollection], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_classReferences",smalltalk.method({selector: "classReferences",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@classReferences"];}, self, "classReferences", [], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_classReferences_",smalltalk.method({selector: "classReferences:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@classReferences"]=aCollection;return self}, self, "classReferences:", [aCollection], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_messageSends",smalltalk.method({selector: "messageSends",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@messageSends"];}, self, "messageSends", [], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_messageSends_",smalltalk.method({selector: "messageSends:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@messageSends"]=aCollection;return self}, self, "messageSends:", [aCollection], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_scope",smalltalk.method({selector: "scope",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@scope"];}, self, "scope", [], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_scope_",smalltalk.method({selector: "scope:",fn: function (aMethodScope){var self=this;return smalltalk.withContext(function($ctx) { self["@scope"]=aMethodScope;return self}, self, "scope:", [aMethodScope], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_selector",smalltalk.method({selector: "selector",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@selector"];}, self, "selector", [], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_selector_",smalltalk.method({selector: "selector:",fn: function (aString){var self=this;return smalltalk.withContext(function($ctx) { self["@selector"]=aString;return self}, self, "selector:", [aString], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_source",smalltalk.method({selector: "source",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@source"];}, self, "source", [], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_source_",smalltalk.method({selector: "source:",fn: function (aString){var self=this;return smalltalk.withContext(function($ctx) { self["@source"]=aString;return self}, self, "source:", [aString], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_superSends",smalltalk.method({selector: "superSends",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@superSends"];}, self, "superSends", [], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addMethod("_superSends_",smalltalk.method({selector: "superSends:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@superSends"]=aCollection;return self}, self, "superSends:", [aCollection], smalltalk.MethodNode)}}),smalltalk.MethodNode);smalltalk.addClass('ReturnNode', smalltalk.Node, ['scope'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitReturnNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.ReturnNode)}}),smalltalk.ReturnNode);smalltalk.addMethod("_isReturnNode",smalltalk.method({selector: "isReturnNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isReturnNode", [], smalltalk.ReturnNode)}}),smalltalk.ReturnNode);smalltalk.addMethod("_nonLocalReturn",smalltalk.method({selector: "nonLocalReturn",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(_st(_st(self)._scope())._isMethodScope())._not();return $1;}, self, "nonLocalReturn", [], smalltalk.ReturnNode)}}),smalltalk.ReturnNode);smalltalk.addMethod("_scope",smalltalk.method({selector: "scope",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@scope"];}, self, "scope", [], smalltalk.ReturnNode)}}),smalltalk.ReturnNode);smalltalk.addMethod("_scope_",smalltalk.method({selector: "scope:",fn: function (aLexicalScope){var self=this;return smalltalk.withContext(function($ctx) { self["@scope"]=aLexicalScope;return self}, self, "scope:", [aLexicalScope], smalltalk.ReturnNode)}}),smalltalk.ReturnNode);smalltalk.addClass('SendNode', smalltalk.Node, ['selector', 'arguments', 'receiver', 'superSend', 'index'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitSendNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_arguments",smalltalk.method({selector: "arguments",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@arguments"]) == nil || $receiver == undefined){self["@arguments"]=[];$1=self["@arguments"];} else {$1=self["@arguments"];};return $1;}, self, "arguments", [], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_arguments_",smalltalk.method({selector: "arguments:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@arguments"]=aCollection;return self}, self, "arguments:", [aCollection], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_cascadeNodeWithMessages_",smalltalk.method({selector: "cascadeNodeWithMessages:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { var $1,$2,$4,$5,$3;var first;$1=_st((smalltalk.SendNode || SendNode))._new();_st($1)._selector_(_st(self)._selector());_st($1)._arguments_(_st(self)._arguments());$2=_st($1)._yourself();first=$2;$4=_st((smalltalk.CascadeNode || CascadeNode))._new();_st($4)._receiver_(_st(self)._receiver());_st($4)._nodes_(_st(_st((smalltalk.Array || Array))._with_(first)).__comma(aCollection));$5=_st($4)._yourself();$3=$5;return $3;}, self, "cascadeNodeWithMessages:", [aCollection], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_index",smalltalk.method({selector: "index",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@index"];}, self, "index", [], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_index_",smalltalk.method({selector: "index:",fn: function (anInteger){var self=this;return smalltalk.withContext(function($ctx) { self["@index"]=anInteger;return self}, self, "index:", [anInteger], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_isSendNode",smalltalk.method({selector: "isSendNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isSendNode", [], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_nodes",smalltalk.method({selector: "nodes",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $2,$3,$1;$2=_st((smalltalk.Array || Array))._withAll_(_st(self)._arguments());_st($2)._add_(_st(self)._receiver());$3=_st($2)._yourself();$1=$3;return $1;}, self, "nodes", [], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_receiver",smalltalk.method({selector: "receiver",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@receiver"];}, self, "receiver", [], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_receiver_",smalltalk.method({selector: "receiver:",fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { self["@receiver"]=aNode;return self}, self, "receiver:", [aNode], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_selector",smalltalk.method({selector: "selector",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@selector"];}, self, "selector", [], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_selector_",smalltalk.method({selector: "selector:",fn: function (aString){var self=this;return smalltalk.withContext(function($ctx) { self["@selector"]=aString;return self}, self, "selector:", [aString], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_superSend",smalltalk.method({selector: "superSend",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@superSend"]) == nil || $receiver == undefined){$1=false;} else {$1=self["@superSend"];};return $1;}, self, "superSend", [], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_superSend_",smalltalk.method({selector: "superSend:",fn: function (aBoolean){var self=this;return smalltalk.withContext(function($ctx) { self["@superSend"]=aBoolean;return self}, self, "superSend:", [aBoolean], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addMethod("_valueForReceiver_",smalltalk.method({selector: "valueForReceiver:",fn: function (anObject){var self=this;return smalltalk.withContext(function($ctx) { var $2,$4,$3,$5,$1;$2=_st((smalltalk.SendNode || SendNode))._new();$4=_st(self)._receiver();if(($receiver = $4) == nil || $receiver == undefined){$3=anObject;} else {$3=_st(_st(self)._receiver())._valueForReceiver_(anObject);};_st($2)._receiver_($3);_st($2)._selector_(_st(self)._selector());_st($2)._arguments_(_st(self)._arguments());$5=_st($2)._yourself();$1=$5;return $1;}, self, "valueForReceiver:", [anObject], smalltalk.SendNode)}}),smalltalk.SendNode);smalltalk.addClass('SequenceNode', smalltalk.Node, ['temps', 'scope'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitSequenceNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.SequenceNode)}}),smalltalk.SequenceNode);smalltalk.addMethod("_asBlockSequenceNode",smalltalk.method({selector: "asBlockSequenceNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $2,$3,$1;$2=_st((smalltalk.BlockSequenceNode || BlockSequenceNode))._new();_st($2)._nodes_(_st(self)._nodes());_st($2)._temps_(_st(self)._temps());$3=_st($2)._yourself();$1=$3;return $1;}, self, "asBlockSequenceNode", [], smalltalk.SequenceNode)}}),smalltalk.SequenceNode);smalltalk.addMethod("_scope",smalltalk.method({selector: "scope",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@scope"];}, self, "scope", [], smalltalk.SequenceNode)}}),smalltalk.SequenceNode);smalltalk.addMethod("_scope_",smalltalk.method({selector: "scope:",fn: function (aLexicalScope){var self=this;return smalltalk.withContext(function($ctx) { self["@scope"]=aLexicalScope;return self}, self, "scope:", [aLexicalScope], smalltalk.SequenceNode)}}),smalltalk.SequenceNode);smalltalk.addMethod("_temps",smalltalk.method({selector: "temps",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@temps"]) == nil || $receiver == undefined){$1=[];} else {$1=self["@temps"];};return $1;}, self, "temps", [], smalltalk.SequenceNode)}}),smalltalk.SequenceNode);smalltalk.addMethod("_temps_",smalltalk.method({selector: "temps:",fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@temps"]=aCollection;return self}, self, "temps:", [aCollection], smalltalk.SequenceNode)}}),smalltalk.SequenceNode);smalltalk.addClass('BlockSequenceNode', smalltalk.SequenceNode, [], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitBlockSequenceNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.BlockSequenceNode)}}),smalltalk.BlockSequenceNode);smalltalk.addMethod("_isBlockSequenceNode",smalltalk.method({selector: "isBlockSequenceNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isBlockSequenceNode", [], smalltalk.BlockSequenceNode)}}),smalltalk.BlockSequenceNode);smalltalk.addClass('ValueNode', smalltalk.Node, ['value'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitValueNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.ValueNode)}}),smalltalk.ValueNode);smalltalk.addMethod("_isValueNode",smalltalk.method({selector: "isValueNode",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isValueNode", [], smalltalk.ValueNode)}}),smalltalk.ValueNode);smalltalk.addMethod("_value",smalltalk.method({selector: "value",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@value"];}, self, "value", [], smalltalk.ValueNode)}}),smalltalk.ValueNode);smalltalk.addMethod("_value_",smalltalk.method({selector: "value:",fn: function (anObject){var self=this;return smalltalk.withContext(function($ctx) { self["@value"]=anObject;return self}, self, "value:", [anObject], smalltalk.ValueNode)}}),smalltalk.ValueNode);smalltalk.addClass('VariableNode', smalltalk.ValueNode, ['assigned', 'binding'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitVariableNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.VariableNode)}}),smalltalk.VariableNode);smalltalk.addMethod("_alias",smalltalk.method({selector: "alias",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(_st(self)._binding())._alias();return $1;}, self, "alias", [], smalltalk.VariableNode)}}),smalltalk.VariableNode);smalltalk.addMethod("_assigned",smalltalk.method({selector: "assigned",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;if(($receiver = self["@assigned"]) == nil || $receiver == undefined){$1=false;} else {$1=self["@assigned"];};return $1;}, self, "assigned", [], smalltalk.VariableNode)}}),smalltalk.VariableNode);smalltalk.addMethod("_assigned_",smalltalk.method({selector: "assigned:",fn: function (aBoolean){var self=this;return smalltalk.withContext(function($ctx) { self["@assigned"]=aBoolean;return self}, self, "assigned:", [aBoolean], smalltalk.VariableNode)}}),smalltalk.VariableNode);smalltalk.addMethod("_beAssigned",smalltalk.method({selector: "beAssigned",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { _st(_st(self)._binding())._validateAssignment();self["@assigned"]=true;return self}, self, "beAssigned", [], smalltalk.VariableNode)}}),smalltalk.VariableNode);smalltalk.addMethod("_binding",smalltalk.method({selector: "binding",fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@binding"];}, self, "binding", [], smalltalk.VariableNode)}}),smalltalk.VariableNode);smalltalk.addMethod("_binding_",smalltalk.method({selector: "binding:",fn: function (aScopeVar){var self=this;return smalltalk.withContext(function($ctx) { self["@binding"]=aScopeVar;return self}, self, "binding:", [aScopeVar], smalltalk.VariableNode)}}),smalltalk.VariableNode);smalltalk.addClass('ClassReferenceNode', smalltalk.VariableNode, [], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",fn: function (aVisitor){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(aVisitor)._visitClassReferenceNode_(self);return $1;}, self, "accept:", [aVisitor], smalltalk.ClassReferenceNode)}}),smalltalk.ClassReferenceNode);
 |