| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662 | smalltalk.addPackage('Compiler-AST', {});smalltalk.addClass('Node', smalltalk.Object, ['position', 'nodes', 'shouldBeInlined', 'shouldBeAliased'], 'Compiler-AST');smalltalk.Node.comment="I am the abstract root class of the abstract syntax tree.\x0a\x0aposition: holds a point containing lline- and column number of the symbol location in the original source file"smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitNode: self",messageSends: ["visitNode:"],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_addNode_",smalltalk.method({selector: "addNode:",category: 'accessing',fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { _st(_st(self)._nodes())._add_(aNode);return self}, self, "addNode:", [aNode], smalltalk.Node)},args: ["aNode"],source: "addNode: aNode\x0a\x09self nodes add: aNode",messageSends: ["add:", "nodes"],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_isAssignmentNode",smalltalk.method({selector: "isAssignmentNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isAssignmentNode", [], smalltalk.Node)},args: [],source: "isAssignmentNode\x0a\x09^ false",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_isBlockNode",smalltalk.method({selector: "isBlockNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isBlockNode", [], smalltalk.Node)},args: [],source: "isBlockNode\x0a\x09^false",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_isBlockSequenceNode",smalltalk.method({selector: "isBlockSequenceNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isBlockSequenceNode", [], smalltalk.Node)},args: [],source: "isBlockSequenceNode\x0a\x09^false",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_isReturnNode",smalltalk.method({selector: "isReturnNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isReturnNode", [], smalltalk.Node)},args: [],source: "isReturnNode\x0a\x09^false",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_isSendNode",smalltalk.method({selector: "isSendNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isSendNode", [], smalltalk.Node)},args: [],source: "isSendNode\x0a\x09^false",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_isValueNode",smalltalk.method({selector: "isValueNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return false;}, self, "isValueNode", [], smalltalk.Node)},args: [],source: "isValueNode\x0a\x09^false",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_nodes",smalltalk.method({selector: "nodes",category: 'accessing',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)},args: [],source: "nodes\x0a\x09^nodes ifNil: [nodes := Array new]",messageSends: ["ifNil:", "new"],referencedClasses: ["Array"]}),smalltalk.Node);smalltalk.addMethod("_nodes_",smalltalk.method({selector: "nodes:",category: 'building',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@nodes"]=aCollection;return self}, self, "nodes:", [aCollection], smalltalk.Node)},args: ["aCollection"],source: "nodes: aCollection\x0a\x09nodes := aCollection",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_position",smalltalk.method({selector: "position",category: 'accessing',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)},args: [],source: "position\x0a\x09^position ifNil: [position := 0@0]",messageSends: ["ifNil:", "@"],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_position_",smalltalk.method({selector: "position:",category: 'building',fn: function (aPosition){var self=this;return smalltalk.withContext(function($ctx) { self["@position"]=aPosition;return self}, self, "position:", [aPosition], smalltalk.Node)},args: ["aPosition"],source: "position: aPosition\x0a\x09position := aPosition",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_shouldBeAliased",smalltalk.method({selector: "shouldBeAliased",category: 'accessing',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)},args: [],source: "shouldBeAliased\x0a\x09^ shouldBeAliased ifNil: [ false ]",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_shouldBeAliased_",smalltalk.method({selector: "shouldBeAliased:",category: 'accessing',fn: function (aBoolean){var self=this;return smalltalk.withContext(function($ctx) { self["@shouldBeAliased"]=aBoolean;return self}, self, "shouldBeAliased:", [aBoolean], smalltalk.Node)},args: ["aBoolean"],source: "shouldBeAliased: aBoolean\x0a\x09shouldBeAliased := aBoolean",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_shouldBeInlined",smalltalk.method({selector: "shouldBeInlined",category: 'accessing',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)},args: [],source: "shouldBeInlined\x0a\x09^ shouldBeInlined ifNil: [ false ]",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.Node);smalltalk.addMethod("_shouldBeInlined_",smalltalk.method({selector: "shouldBeInlined:",category: 'accessing',fn: function (aBoolean){var self=this;return smalltalk.withContext(function($ctx) { self["@shouldBeInlined"]=aBoolean;return self}, self, "shouldBeInlined:", [aBoolean], smalltalk.Node)},args: ["aBoolean"],source: "shouldBeInlined: aBoolean\x0a\x09shouldBeInlined := aBoolean",messageSends: [],referencedClasses: []}),smalltalk.Node);smalltalk.addClass('AssignmentNode', smalltalk.Node, ['left', 'right'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitAssignmentNode: self",messageSends: ["visitAssignmentNode:"],referencedClasses: []}),smalltalk.AssignmentNode);smalltalk.addMethod("_isAssignmentNode",smalltalk.method({selector: "isAssignmentNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isAssignmentNode", [], smalltalk.AssignmentNode)},args: [],source: "isAssignmentNode\x0a\x09^ true",messageSends: [],referencedClasses: []}),smalltalk.AssignmentNode);smalltalk.addMethod("_left",smalltalk.method({selector: "left",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@left"];}, self, "left", [], smalltalk.AssignmentNode)},args: [],source: "left\x0a\x09^left",messageSends: [],referencedClasses: []}),smalltalk.AssignmentNode);smalltalk.addMethod("_left_",smalltalk.method({selector: "left:",category: 'accessing',fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { self["@left"]=aNode;return self}, self, "left:", [aNode], smalltalk.AssignmentNode)},args: ["aNode"],source: "left: aNode\x0a\x09left := aNode",messageSends: [],referencedClasses: []}),smalltalk.AssignmentNode);smalltalk.addMethod("_nodes",smalltalk.method({selector: "nodes",category: 'accessing',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)},args: [],source: "nodes\x0a\x09^ Array with: self left with: self right",messageSends: ["with:with:", "left", "right"],referencedClasses: ["Array"]}),smalltalk.AssignmentNode);smalltalk.addMethod("_right",smalltalk.method({selector: "right",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@right"];}, self, "right", [], smalltalk.AssignmentNode)},args: [],source: "right\x0a\x09^right",messageSends: [],referencedClasses: []}),smalltalk.AssignmentNode);smalltalk.addMethod("_right_",smalltalk.method({selector: "right:",category: 'accessing',fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { self["@right"]=aNode;return self}, self, "right:", [aNode], smalltalk.AssignmentNode)},args: ["aNode"],source: "right: aNode\x0a\x09right := aNode",messageSends: [],referencedClasses: []}),smalltalk.AssignmentNode);smalltalk.addClass('BlockNode', smalltalk.Node, ['parameters', 'scope'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitBlockNode: self",messageSends: ["visitBlockNode:"],referencedClasses: []}),smalltalk.BlockNode);smalltalk.addMethod("_isBlockNode",smalltalk.method({selector: "isBlockNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isBlockNode", [], smalltalk.BlockNode)},args: [],source: "isBlockNode\x0a\x09^true",messageSends: [],referencedClasses: []}),smalltalk.BlockNode);smalltalk.addMethod("_parameters",smalltalk.method({selector: "parameters",category: 'accessing',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)},args: [],source: "parameters\x0a\x09^parameters ifNil: [parameters := Array new]",messageSends: ["ifNil:", "new"],referencedClasses: ["Array"]}),smalltalk.BlockNode);smalltalk.addMethod("_parameters_",smalltalk.method({selector: "parameters:",category: 'accessing',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@parameters"]=aCollection;return self}, self, "parameters:", [aCollection], smalltalk.BlockNode)},args: ["aCollection"],source: "parameters: aCollection\x0a\x09parameters := aCollection",messageSends: [],referencedClasses: []}),smalltalk.BlockNode);smalltalk.addMethod("_scope",smalltalk.method({selector: "scope",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@scope"];}, self, "scope", [], smalltalk.BlockNode)},args: [],source: "scope\x0a\x09^ scope",messageSends: [],referencedClasses: []}),smalltalk.BlockNode);smalltalk.addMethod("_scope_",smalltalk.method({selector: "scope:",category: 'accessing',fn: function (aLexicalScope){var self=this;return smalltalk.withContext(function($ctx) { self["@scope"]=aLexicalScope;return self}, self, "scope:", [aLexicalScope], smalltalk.BlockNode)},args: ["aLexicalScope"],source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",messageSends: [],referencedClasses: []}),smalltalk.BlockNode);smalltalk.addClass('CascadeNode', smalltalk.Node, ['receiver'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitCascadeNode: self",messageSends: ["visitCascadeNode:"],referencedClasses: []}),smalltalk.CascadeNode);smalltalk.addMethod("_receiver",smalltalk.method({selector: "receiver",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@receiver"];}, self, "receiver", [], smalltalk.CascadeNode)},args: [],source: "receiver\x0a\x09^receiver",messageSends: [],referencedClasses: []}),smalltalk.CascadeNode);smalltalk.addMethod("_receiver_",smalltalk.method({selector: "receiver:",category: 'accessing',fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { self["@receiver"]=aNode;return self}, self, "receiver:", [aNode], smalltalk.CascadeNode)},args: ["aNode"],source: "receiver: aNode\x0a\x09receiver := aNode",messageSends: [],referencedClasses: []}),smalltalk.CascadeNode);smalltalk.addClass('DynamicArrayNode', smalltalk.Node, [], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitDynamicArrayNode: self",messageSends: ["visitDynamicArrayNode:"],referencedClasses: []}),smalltalk.DynamicArrayNode);smalltalk.addClass('DynamicDictionaryNode', smalltalk.Node, [], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitDynamicDictionaryNode: self",messageSends: ["visitDynamicDictionaryNode:"],referencedClasses: []}),smalltalk.DynamicDictionaryNode);smalltalk.addClass('JSStatementNode', smalltalk.Node, ['source'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitJSStatementNode: self",messageSends: ["visitJSStatementNode:"],referencedClasses: []}),smalltalk.JSStatementNode);smalltalk.addMethod("_source",smalltalk.method({selector: "source",category: 'accessing',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)},args: [],source: "source\x0a\x09^source ifNil: ['']",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.JSStatementNode);smalltalk.addMethod("_source_",smalltalk.method({selector: "source:",category: 'accessing',fn: function (aString){var self=this;return smalltalk.withContext(function($ctx) { self["@source"]=aString;return self}, self, "source:", [aString], smalltalk.JSStatementNode)},args: ["aString"],source: "source: aString\x0a\x09source := aString",messageSends: [],referencedClasses: []}),smalltalk.JSStatementNode);smalltalk.addClass('MethodNode', smalltalk.Node, ['selector', 'arguments', 'source', 'scope', 'classReferences', 'messageSends', 'superSends'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitMethodNode: self",messageSends: ["visitMethodNode:"],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_arguments",smalltalk.method({selector: "arguments",category: 'accessing',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)},args: [],source: "arguments\x0a\x09^arguments ifNil: [#()]",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_arguments_",smalltalk.method({selector: "arguments:",category: 'accessing',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@arguments"]=aCollection;return self}, self, "arguments:", [aCollection], smalltalk.MethodNode)},args: ["aCollection"],source: "arguments: aCollection\x0a\x09arguments := aCollection",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_classReferences",smalltalk.method({selector: "classReferences",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@classReferences"];}, self, "classReferences", [], smalltalk.MethodNode)},args: [],source: "classReferences\x0a\x09^ classReferences",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_classReferences_",smalltalk.method({selector: "classReferences:",category: 'accessing',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@classReferences"]=aCollection;return self}, self, "classReferences:", [aCollection], smalltalk.MethodNode)},args: ["aCollection"],source: "classReferences: aCollection\x0a\x09classReferences := aCollection",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_messageSends",smalltalk.method({selector: "messageSends",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@messageSends"];}, self, "messageSends", [], smalltalk.MethodNode)},args: [],source: "messageSends\x0a\x09^ messageSends",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_messageSends_",smalltalk.method({selector: "messageSends:",category: 'accessing',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@messageSends"]=aCollection;return self}, self, "messageSends:", [aCollection], smalltalk.MethodNode)},args: ["aCollection"],source: "messageSends: aCollection\x0a\x09messageSends := aCollection",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_scope",smalltalk.method({selector: "scope",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@scope"];}, self, "scope", [], smalltalk.MethodNode)},args: [],source: "scope\x0a\x09^ scope",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_scope_",smalltalk.method({selector: "scope:",category: 'accessing',fn: function (aMethodScope){var self=this;return smalltalk.withContext(function($ctx) { self["@scope"]=aMethodScope;return self}, self, "scope:", [aMethodScope], smalltalk.MethodNode)},args: ["aMethodScope"],source: "scope: aMethodScope\x0a\x09scope := aMethodScope",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_selector",smalltalk.method({selector: "selector",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@selector"];}, self, "selector", [], smalltalk.MethodNode)},args: [],source: "selector\x0a\x09^selector",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_selector_",smalltalk.method({selector: "selector:",category: 'accessing',fn: function (aString){var self=this;return smalltalk.withContext(function($ctx) { self["@selector"]=aString;return self}, self, "selector:", [aString], smalltalk.MethodNode)},args: ["aString"],source: "selector: aString\x0a\x09selector := aString",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_source",smalltalk.method({selector: "source",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@source"];}, self, "source", [], smalltalk.MethodNode)},args: [],source: "source\x0a\x09^source",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_source_",smalltalk.method({selector: "source:",category: 'accessing',fn: function (aString){var self=this;return smalltalk.withContext(function($ctx) { self["@source"]=aString;return self}, self, "source:", [aString], smalltalk.MethodNode)},args: ["aString"],source: "source: aString\x0a\x09source := aString",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_superSends",smalltalk.method({selector: "superSends",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@superSends"];}, self, "superSends", [], smalltalk.MethodNode)},args: [],source: "superSends\x0a\x09^ superSends",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addMethod("_superSends_",smalltalk.method({selector: "superSends:",category: 'accessing',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@superSends"]=aCollection;return self}, self, "superSends:", [aCollection], smalltalk.MethodNode)},args: ["aCollection"],source: "superSends: aCollection\x0a\x09superSends := aCollection",messageSends: [],referencedClasses: []}),smalltalk.MethodNode);smalltalk.addClass('ReturnNode', smalltalk.Node, ['scope'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitReturnNode: self",messageSends: ["visitReturnNode:"],referencedClasses: []}),smalltalk.ReturnNode);smalltalk.addMethod("_isReturnNode",smalltalk.method({selector: "isReturnNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isReturnNode", [], smalltalk.ReturnNode)},args: [],source: "isReturnNode\x0a\x09^ true",messageSends: [],referencedClasses: []}),smalltalk.ReturnNode);smalltalk.addMethod("_nonLocalReturn",smalltalk.method({selector: "nonLocalReturn",category: 'testing',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)},args: [],source: "nonLocalReturn\x0a\x09^ self scope isMethodScope not",messageSends: ["not", "isMethodScope", "scope"],referencedClasses: []}),smalltalk.ReturnNode);smalltalk.addMethod("_scope",smalltalk.method({selector: "scope",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@scope"];}, self, "scope", [], smalltalk.ReturnNode)},args: [],source: "scope\x0a\x09^ scope",messageSends: [],referencedClasses: []}),smalltalk.ReturnNode);smalltalk.addMethod("_scope_",smalltalk.method({selector: "scope:",category: 'accessing',fn: function (aLexicalScope){var self=this;return smalltalk.withContext(function($ctx) { self["@scope"]=aLexicalScope;return self}, self, "scope:", [aLexicalScope], smalltalk.ReturnNode)},args: ["aLexicalScope"],source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",messageSends: [],referencedClasses: []}),smalltalk.ReturnNode);smalltalk.addClass('SendNode', smalltalk.Node, ['selector', 'arguments', 'receiver', 'superSend', 'index'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitSendNode: self",messageSends: ["visitSendNode:"],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_arguments",smalltalk.method({selector: "arguments",category: 'accessing',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)},args: [],source: "arguments\x0a\x09^arguments ifNil: [arguments := #()]",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_arguments_",smalltalk.method({selector: "arguments:",category: 'accessing',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@arguments"]=aCollection;return self}, self, "arguments:", [aCollection], smalltalk.SendNode)},args: ["aCollection"],source: "arguments: aCollection\x0a\x09arguments := aCollection",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_cascadeNodeWithMessages_",smalltalk.method({selector: "cascadeNodeWithMessages:",category: 'accessing',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)},args: ["aCollection"],source: "cascadeNodeWithMessages: aCollection\x0a\x09| first |\x0a\x09first := SendNode new\x0a\x09    selector: self selector;\x0a\x09    arguments: self arguments;\x0a\x09    yourself.\x0a\x09^CascadeNode new\x0a\x09    receiver: self receiver;\x0a\x09    nodes: (Array with: first), aCollection;\x0a\x09    yourself",messageSends: ["selector:", "selector", "new", "arguments:", "arguments", "yourself", "receiver:", "receiver", "nodes:", ",", "with:"],referencedClasses: ["SendNode", "CascadeNode", "Array"]}),smalltalk.SendNode);smalltalk.addMethod("_index",smalltalk.method({selector: "index",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@index"];}, self, "index", [], smalltalk.SendNode)},args: [],source: "index\x0a\x09^ index",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_index_",smalltalk.method({selector: "index:",category: 'accessing',fn: function (anInteger){var self=this;return smalltalk.withContext(function($ctx) { self["@index"]=anInteger;return self}, self, "index:", [anInteger], smalltalk.SendNode)},args: ["anInteger"],source: "index: anInteger\x0a\x09index := anInteger",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_isSendNode",smalltalk.method({selector: "isSendNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isSendNode", [], smalltalk.SendNode)},args: [],source: "isSendNode\x0a\x09^ true",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_nodes",smalltalk.method({selector: "nodes",category: 'accessing',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)},args: [],source: "nodes\x0a\x09^ (Array withAll: self arguments)\x0a\x09\x09add: self receiver;\x0a\x09\x09yourself",messageSends: ["add:", "receiver", "withAll:", "arguments", "yourself"],referencedClasses: ["Array"]}),smalltalk.SendNode);smalltalk.addMethod("_receiver",smalltalk.method({selector: "receiver",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@receiver"];}, self, "receiver", [], smalltalk.SendNode)},args: [],source: "receiver\x0a\x09^receiver",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_receiver_",smalltalk.method({selector: "receiver:",category: 'accessing',fn: function (aNode){var self=this;return smalltalk.withContext(function($ctx) { self["@receiver"]=aNode;return self}, self, "receiver:", [aNode], smalltalk.SendNode)},args: ["aNode"],source: "receiver: aNode\x0a\x09receiver := aNode",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_selector",smalltalk.method({selector: "selector",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@selector"];}, self, "selector", [], smalltalk.SendNode)},args: [],source: "selector\x0a\x09^selector",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_selector_",smalltalk.method({selector: "selector:",category: 'accessing',fn: function (aString){var self=this;return smalltalk.withContext(function($ctx) { self["@selector"]=aString;return self}, self, "selector:", [aString], smalltalk.SendNode)},args: ["aString"],source: "selector: aString\x0a\x09selector := aString",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_superSend",smalltalk.method({selector: "superSend",category: 'accessing',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)},args: [],source: "superSend\x0a\x09^ superSend ifNil: [ false ]",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_superSend_",smalltalk.method({selector: "superSend:",category: 'accessing',fn: function (aBoolean){var self=this;return smalltalk.withContext(function($ctx) { self["@superSend"]=aBoolean;return self}, self, "superSend:", [aBoolean], smalltalk.SendNode)},args: ["aBoolean"],source: "superSend: aBoolean\x0a\x09superSend := aBoolean",messageSends: [],referencedClasses: []}),smalltalk.SendNode);smalltalk.addMethod("_valueForReceiver_",smalltalk.method({selector: "valueForReceiver:",category: 'accessing',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)},args: ["anObject"],source: "valueForReceiver: anObject\x0a\x09^SendNode new\x0a\x09    receiver: (self receiver \x0a\x09\x09ifNil: [anObject]\x0a\x09\x09ifNotNil: [self receiver valueForReceiver: anObject]);\x0a\x09    selector: self selector;\x0a\x09    arguments: self arguments;\x0a\x09    yourself",messageSends: ["receiver:", "ifNil:ifNotNil:", "valueForReceiver:", "receiver", "new", "selector:", "selector", "arguments:", "arguments", "yourself"],referencedClasses: ["SendNode"]}),smalltalk.SendNode);smalltalk.addClass('SequenceNode', smalltalk.Node, ['temps', 'scope'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitSequenceNode: self",messageSends: ["visitSequenceNode:"],referencedClasses: []}),smalltalk.SequenceNode);smalltalk.addMethod("_asBlockSequenceNode",smalltalk.method({selector: "asBlockSequenceNode",category: 'testing',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)},args: [],source: "asBlockSequenceNode\x0a\x09^BlockSequenceNode new\x0a\x09    nodes: self nodes;\x0a\x09    temps: self temps;\x0a\x09    yourself",messageSends: ["nodes:", "nodes", "new", "temps:", "temps", "yourself"],referencedClasses: ["BlockSequenceNode"]}),smalltalk.SequenceNode);smalltalk.addMethod("_scope",smalltalk.method({selector: "scope",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@scope"];}, self, "scope", [], smalltalk.SequenceNode)},args: [],source: "scope\x0a\x09^ scope",messageSends: [],referencedClasses: []}),smalltalk.SequenceNode);smalltalk.addMethod("_scope_",smalltalk.method({selector: "scope:",category: 'accessing',fn: function (aLexicalScope){var self=this;return smalltalk.withContext(function($ctx) { self["@scope"]=aLexicalScope;return self}, self, "scope:", [aLexicalScope], smalltalk.SequenceNode)},args: ["aLexicalScope"],source: "scope: aLexicalScope\x0a\x09scope := aLexicalScope",messageSends: [],referencedClasses: []}),smalltalk.SequenceNode);smalltalk.addMethod("_temps",smalltalk.method({selector: "temps",category: 'accessing',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)},args: [],source: "temps\x0a\x09^temps ifNil: [#()]",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.SequenceNode);smalltalk.addMethod("_temps_",smalltalk.method({selector: "temps:",category: 'accessing',fn: function (aCollection){var self=this;return smalltalk.withContext(function($ctx) { self["@temps"]=aCollection;return self}, self, "temps:", [aCollection], smalltalk.SequenceNode)},args: ["aCollection"],source: "temps: aCollection\x0a\x09temps := aCollection",messageSends: [],referencedClasses: []}),smalltalk.SequenceNode);smalltalk.addClass('BlockSequenceNode', smalltalk.SequenceNode, [], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitBlockSequenceNode: self",messageSends: ["visitBlockSequenceNode:"],referencedClasses: []}),smalltalk.BlockSequenceNode);smalltalk.addMethod("_isBlockSequenceNode",smalltalk.method({selector: "isBlockSequenceNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isBlockSequenceNode", [], smalltalk.BlockSequenceNode)},args: [],source: "isBlockSequenceNode\x0a\x09^true",messageSends: [],referencedClasses: []}),smalltalk.BlockSequenceNode);smalltalk.addClass('ValueNode', smalltalk.Node, ['value'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitValueNode: self",messageSends: ["visitValueNode:"],referencedClasses: []}),smalltalk.ValueNode);smalltalk.addMethod("_isValueNode",smalltalk.method({selector: "isValueNode",category: 'testing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return true;}, self, "isValueNode", [], smalltalk.ValueNode)},args: [],source: "isValueNode\x0a\x09^true",messageSends: [],referencedClasses: []}),smalltalk.ValueNode);smalltalk.addMethod("_value",smalltalk.method({selector: "value",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@value"];}, self, "value", [], smalltalk.ValueNode)},args: [],source: "value\x0a\x09^value",messageSends: [],referencedClasses: []}),smalltalk.ValueNode);smalltalk.addMethod("_value_",smalltalk.method({selector: "value:",category: 'accessing',fn: function (anObject){var self=this;return smalltalk.withContext(function($ctx) { self["@value"]=anObject;return self}, self, "value:", [anObject], smalltalk.ValueNode)},args: ["anObject"],source: "value: anObject\x0a\x09value := anObject",messageSends: [],referencedClasses: []}),smalltalk.ValueNode);smalltalk.addClass('VariableNode', smalltalk.ValueNode, ['assigned', 'binding'], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitVariableNode: self",messageSends: ["visitVariableNode:"],referencedClasses: []}),smalltalk.VariableNode);smalltalk.addMethod("_alias",smalltalk.method({selector: "alias",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { var $1;$1=_st(_st(self)._binding())._alias();return $1;}, self, "alias", [], smalltalk.VariableNode)},args: [],source: "alias\x0a\x09^ self binding alias",messageSends: ["alias", "binding"],referencedClasses: []}),smalltalk.VariableNode);smalltalk.addMethod("_assigned",smalltalk.method({selector: "assigned",category: 'accessing',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)},args: [],source: "assigned\x0a\x09^assigned ifNil: [false]",messageSends: ["ifNil:"],referencedClasses: []}),smalltalk.VariableNode);smalltalk.addMethod("_assigned_",smalltalk.method({selector: "assigned:",category: 'accessing',fn: function (aBoolean){var self=this;return smalltalk.withContext(function($ctx) { self["@assigned"]=aBoolean;return self}, self, "assigned:", [aBoolean], smalltalk.VariableNode)},args: ["aBoolean"],source: "assigned: aBoolean\x0a\x09assigned := aBoolean",messageSends: [],referencedClasses: []}),smalltalk.VariableNode);smalltalk.addMethod("_beAssigned",smalltalk.method({selector: "beAssigned",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { _st(_st(self)._binding())._validateAssignment();self["@assigned"]=true;return self}, self, "beAssigned", [], smalltalk.VariableNode)},args: [],source: "beAssigned\x0a\x09self binding validateAssignment.\x0a\x09assigned := true",messageSends: ["validateAssignment", "binding"],referencedClasses: []}),smalltalk.VariableNode);smalltalk.addMethod("_binding",smalltalk.method({selector: "binding",category: 'accessing',fn: function (){var self=this;return smalltalk.withContext(function($ctx) { return self["@binding"];}, self, "binding", [], smalltalk.VariableNode)},args: [],source: "binding\x0a\x09^ binding",messageSends: [],referencedClasses: []}),smalltalk.VariableNode);smalltalk.addMethod("_binding_",smalltalk.method({selector: "binding:",category: 'accessing',fn: function (aScopeVar){var self=this;return smalltalk.withContext(function($ctx) { self["@binding"]=aScopeVar;return self}, self, "binding:", [aScopeVar], smalltalk.VariableNode)},args: ["aScopeVar"],source: "binding: aScopeVar\x0a\x09binding := aScopeVar",messageSends: [],referencedClasses: []}),smalltalk.VariableNode);smalltalk.addClass('ClassReferenceNode', smalltalk.VariableNode, [], 'Compiler-AST');smalltalk.addMethod("_accept_",smalltalk.method({selector: "accept:",category: 'visiting',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)},args: ["aVisitor"],source: "accept: aVisitor\x0a\x09^ aVisitor visitClassReferenceNode: self",messageSends: ["visitClassReferenceNode:"],referencedClasses: []}),smalltalk.ClassReferenceNode);
 |