define(["amber/boot", "amber_core/Compiler-AST"], function($boot){"use strict"; if(!$boot.nilAsReceiver)$boot.nilAsReceiver=$boot.nil; var $core=$boot.api,nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals; if(!$boot.nilAsClass)$boot.nilAsClass=$boot.dnu; $core.addPackage("Compiler-Strom"); $core.packages["Compiler-Strom"].innerEval = function (expr) { return eval(expr); }; $core.packages["Compiler-Strom"].transport = {"type":"amd","amdNamespace":"amber_core"}; $core.addClass("StromNode", $globals.ASTNode, ["tag", "attributes", "children"], "Compiler-Strom"); //>>excludeStart("ide", pragmas.excludeIdeData); $globals.StromNode.comment="I represent an assignment node."; //>>excludeEnd("ide"); $core.addMethod( $core.method({ selector: "acceptDagVisitor:", protocol: "visiting", fn: function (aVisitor){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return $recv(aVisitor)._visitDagNode_(self); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"acceptDagVisitor:",{aVisitor:aVisitor},$globals.StromNode)}); //>>excludeEnd("ctx"); }, //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aVisitor"], source: "acceptDagVisitor: aVisitor\x0a\x09^ aVisitor visitDagNode: self", referencedClasses: [], //>>excludeEnd("ide"); messageSends: ["visitDagNode:"] }), $globals.StromNode); $core.addMethod( $core.method({ selector: "attributes", protocol: "accessing", fn: function (){ var self=this,$self=this; return $self["@attributes"]; }, //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "attributes\x0a\x09^ attributes", referencedClasses: [], //>>excludeEnd("ide"); messageSends: [] }), $globals.StromNode); $core.addMethod( $core.method({ selector: "attributes:", protocol: "accessing", fn: function (anObject){ var self=this,$self=this; $self["@attributes"]=anObject; return self; }, //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "attributes: anObject\x0a\x09attributes := anObject", referencedClasses: [], //>>excludeEnd("ide"); messageSends: [] }), $globals.StromNode); $core.addMethod( $core.method({ selector: "children", protocol: "accessing", fn: function (){ var self=this,$self=this; return $self["@children"]; }, //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "children\x0a\x09^ children", referencedClasses: [], //>>excludeEnd("ide"); messageSends: [] }), $globals.StromNode); $core.addMethod( $core.method({ selector: "children:", protocol: "accessing", fn: function (anObject){ var self=this,$self=this; $self["@children"]=anObject; return self; }, //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "children: anObject\x0a\x09children := anObject", referencedClasses: [], //>>excludeEnd("ide"); messageSends: [] }), $globals.StromNode); $core.addMethod( $core.method({ selector: "dagChildren", protocol: "accessing", fn: function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=[$self._tag()]; $recv($1)._addAll_($self._attributes()); //>>excludeStart("ctx", pragmas.excludeDebugContexts); $ctx1.sendIdx["addAll:"]=1; //>>excludeEnd("ctx"); $recv($1)._addAll_($self._children()); return $recv($1)._yourself(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"dagChildren",{},$globals.StromNode)}); //>>excludeEnd("ctx"); }, //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "dagChildren\x0a\x09^ { self tag }\x0a\x09\x09addAll: self attributes;\x0a\x09\x09addAll: self children;\x0a\x09\x09yourself", referencedClasses: [], //>>excludeEnd("ide"); messageSends: ["addAll:", "tag", "attributes", "children", "yourself"] }), $globals.StromNode); $core.addMethod( $core.method({ selector: "tag", protocol: "accessing", fn: function (){ var self=this,$self=this; return $self["@tag"]; }, //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "tag\x0a\x09^ tag", referencedClasses: [], //>>excludeEnd("ide"); messageSends: [] }), $globals.StromNode); $core.addMethod( $core.method({ selector: "tag:", protocol: "accessing", fn: function (anObject){ var self=this,$self=this; $self["@tag"]=anObject; return self; }, //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "tag: anObject\x0a\x09tag := anObject", referencedClasses: [], //>>excludeEnd("ide"); messageSends: [] }), $globals.StromNode); });