/* S8 - Basic U8 image. Copyright (C) 2012 - http://u8.smalltalking.net/u8.html Copyright (C) 2012 Alejandro F. Reimondo http://www.aleReimondo.com Parts of source code written for Jtalk, Copyright (C) 2011 by Nicolas Petton Also code and ideas from Clamato (http://clamato.net), written by Avi Byrant. The PetitParser library, published by Lukas Renggli (http://lukas-renggli.ch) and released under the MIT license. And people that contributed to Smalltalk on diverse media years(decades) before this license holders claimed ownership. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------------------- This system has been built using U8, a service for social software development hosted at http://u8.smalltalk.net */ StObject = function StObject(){} StBehavior = function StBehavior(){} StClass = function StClass(){} StMetaclass = function StMetaclass(){ this.$meta = true; } StMethod = function StMethod(){} StUndefinedObject = function StUndefinedObject(){} var nil = new StUndefinedObject(); nil.toString = function() { return "nil"; } StSystemDictionary = function StSystemDictionary(){ var st = this; st.$imageFileName = "s8.image.js"; st.isNil = function(aValue) { // return true if aValue is considered nil return (aValue || nil) === nil; } st.klass = function(spec) { // return a new class from literal if(st.isNil(spec)) { return st.klass({}) }; var result; if(spec.meta) { result = new StMetaclass(); } else { result = new (st.klass({meta:true})).$fn; result.$klass["@instanceClass"] = result; result.$className = spec.className; result.$klass.$className = spec.className + " class"; } result.$fn = spec.fn || function(){}; result.$superclass = spec.superclass || nil; result.$iVarNames = spec.iVarNames || []; if(!st.isNil(result.$superclass)) { if(!st.isNil(result.$klass)) { result.$klass.$superclass = result.$superclass.$klass; if(result.$klass.$superclass) delete result.$klass.$superclass["@subclasses"]; delete result.$superclass["@subclasses"]; } } result.$category = spec.category || ""; result.$fn.prototype.$methods = {}; result.$fn.prototype.$klass = result; return result; }; st.transferPropertiesFrom_to_ = function(source,target) { // populate target with the properties defined in source if not already defined for(var i in source) { if(typeof target[i] == "undefined") { target[i] = source[i]; } } } st.setChain = function(aClass) { // Set the __proto__ delegation chain if(this.__proto__) { aClass.$fn.prototype.__proto__ = aClass.$superclass.$fn.prototype; } else { // unsuported __proto__ feature (e.g. IE) var target = aClass.$fn.prototype; var source = aClass.$superclass.$fn.prototype; st.transferPropertiesFrom_to_(source,target); } }; st.setMetaChain = function(aClass) { // Set the __proto__ delegation chain if(this.__proto__) { // do nothing } else { // unsuported __proto__ feature (e.g. IE) var target = aClass.$fn.prototype; for (var current=st.Class;(!st.isNil(current));current=current.$superclass){ var source = current.$fn.prototype; st.transferPropertiesFrom_to_(source,target); } } }; st.initClass = function(aClass) { // Private - Actions to initialize aClass (nothing done on subclasses) if(aClass.$meta && st.isNil(aClass.$superclass)) { if(this.__proto__) { aClass.$superclass = smalltalk.Class; } } if(aClass.$klass && !aClass.$meta) { st.initClass(aClass.$klass); } if(aClass.$iVarNames) for(var i=0;i>#"+method.$selector); st.aboutToBind_to_(method,klass); klass.$fn.prototype[jsSelector] = method.$fn; klass.$fn.prototype.$methods[method.$selector] = method; st.methodBound_to_(method,klass); //Ale #addMethod y #removeMethod deben ser sencibles a que si ocurren // en Class (o una superclase) debera hacerse un init de las root classes // en realidad solo setMetaChain de la metaclase. }; st.bind = function(klass,stSelector,jsSelector,jsFunction,category,stSource) { // st.debugBind(klass,stSelector,jsSelector,jsFunction,category,stSource); var method = new StMethod(); method.$selector = stSelector; method.$fn = jsFunction; method.$category = category; method.$source = stSource; if(!st.isNil(klass)) { st.addMethod(jsSelector,method,klass); }; return method; }; st.aboutToRemove_from_ = function(method,klass) { // method unbinding notification // this hook is implemented to track method changes, this function will // be removed from "smalltalk" instance when the Smalltalk support // is implemented at upper level. if((klass === st.$klass) && (method.$selector === "aboutToRemove:from:")) { //print(" // removing factory implementation of st.aboutToRemove_from_"); delete st.aboutToRemove_from_; } }; st.methodRemoved_from_ = function(method,klass) { // method unbinding notification // this hook is implemented to track method changes if((klass === st.$klass) && (method.$selector === "methodRemoved:from:")) { //print(" // removing factory implementation of st.methodRemoved_from"); delete st.methodRemoved_from; } }; st.removeMethod = function(aClass,aMethod) { st.aboutToRemove_from_(method,aClass); delete aClass.$fn.prototype[aMethod.$selector.asSelector()]; delete aClass.$fn.prototype.$methods[aMethod.$selector] st.methodRemoved_from_(method,aClass); //Ale #addMethod y #removeMethod deben ser sencibles a que si ocurren // en Class (o una superclase) debera hacerse un init de las root classes // en realidad solo setMetaChain de la metaclase. }; st.newMethod = function(selector,fn,source) { return st.bind(nil,selector,nil,fn,nil,source); }; st.method = function(spec) { // OBSOLETE - Return a new method from spec literal return st.bind(nil,spec.selector,nil,spec.fn,spec.category,spec.source); }; st.readJSObject = function(js) { // Return a Smalltalk Object from javascript literal(js). if(!js) return nil; var object = js; var readObject = (js.constructor === Object); var readArray = (js.constructor === Array); if(readObject) { object = st.Dictionary.$$new(); } for(var i in js) { if(readObject) { object.at_put_(i, st.readJSObject(js[i])); } if(readArray) { object[i] = st.readJSObject(js[i]); } } return object; }; st.globalsDo = function(action) { // Evaluate an action on each global key for (key in smalltalk) { // globals are detected as non-class&non-method objects bound to smalltalk if((typeof(st[key]) != "function") && (st[key].isClass && (!st[key].isClass()))) { action(key) } } }; st.launchImage = function(imageName) { // Load an image from file, initialize and launch the system if(!st.isNil(imageName)) { st.$imageFileName = imageName; load(imageName); print("// Loaded image file: "+imageName); } st.initRoots(); // Launch the system (if Smalltalk>>#launch is implemented) if(st.launch && typeof st.launch == "function") { st.launch(); } } st.debugBind = function(klass,stSelector,jsSelector,jsFunction,category,stSource) { // DEBUG - print("// Method "+jsSelector);print(" "+klass.$className+">>#"+stSelector); /* // Uncomment to reconstruct source from (.js) binary imports if category && stSource { print("! "+klass.$className+" methodsFor: '"+category+"' !"); print(unescape(stSource).replace(/^!/, "!!")+"! !"); print(""); } */ /* // Uncomment to report method overwrite if(!klass.$fn) { print(" // Method for "+stSelector+" added to void class "+klass.$className+" (missing klass.$fn)");return; } if(klass.$fn.prototype.hasOwnProperty(jsSelector)) { if(!(klass.$fn.prototype.$methods[stSelector].$source.replace(/\s/g,'') == stSource.replace(/\s/g,'') )) { print("// Changed "+klass.$className+">>#"+stSelector); //print("// ---- from source:");print(klass.$fn.prototype.$methods[stSelector].$source); //print("// ---- to source:");print(stSource); } else { // print("// Same "+klass.$className+">>#"+stSelector); // report method overwrite with same source } } else { // print("// Added "+klass.$className+">>#"+stSelector); // report pristine method additions } */ }; st.debugAddClass = function(className, superclass, iVarNames, category) { /* // Uncomment to reconstruct sources from (.js) binary imports if(st.isNil(superclass)){ print("nil") } else { print(superclass.$className) }; print(" subclass: #"+className); print(" instanceVariableNames: '"+String(iVarNames).replace(/^,/,' ')+"'"); print(" category: '"+category+"'!"); print(""); */ /* // Uncomment to report class reshape if(st[className]) { // the class already exists if(st[className].$superclass != superclass) { print("// reshape: "+className+" - superclass changed."); if (st[className].$superclass) print("// old superclass = "+st[className].$superclass.$className); if (superclass) print("// new superclass = "+superclass.$className); } if(st[className].$iVarNames.toString() != iVarNames.toString()) { print("// reshape: "+className+" - instance variables changed from ["+st[className].$iVarNames+"] to ["+iVarNames+"]"); } if(st[className].$category != category) { print("// reshape: "+className+" - category changed from '"+st[className].$category+"' to '"+category+"'"); } } */ }; } var smalltalk = new StSystemDictionary(); smalltalk.toString = function() { return "smalltalk"; } smalltalk.OverwriteMethods = smalltalk.OverwriteMethods || nil; smalltalk.DumpOverwriteMethods = smalltalk.DumpOverwriteMethods || nil; smalltalk.mapClassName('Object','Kernel',StObject); smalltalk.mapClassName('Smalltalk','Kernel',StSystemDictionary,smalltalk.Object); smalltalk.mapClassName('Behavior','Kernel',StBehavior,smalltalk.Object); smalltalk.mapClassName('Class','Kernel',StClass,smalltalk.Behavior); smalltalk.mapClassName('Metaclass','Kernel',StMetaclass,smalltalk.Behavior); smalltalk.mapClassName('CompiledMethod','Kernel',StMethod,smalltalk.Object); smalltalk.mapClassName('Number','Kernel',Number,smalltalk.Object); smalltalk.mapClassName('BlockClosure','Kernel',Function,smalltalk.Object); smalltalk.mapClassName('Boolean','Kernel',Boolean,smalltalk.Object); smalltalk.mapClassName('DateTime','Kernel',Date,smalltalk.Object); smalltalk.mapClassName('UndefinedObject','Kernel',StUndefinedObject,smalltalk.Object); smalltalk.mapClassName('Collection','Kernel',undefined,smalltalk.Object); smalltalk.mapClassName('SequenceableCollection','Kernel',undefined,smalltalk.Collection); smalltalk.mapClassName('String','Kernel',String,smalltalk.SequenceableCollection); smalltalk.mapClassName('Array','Kernel',Array,smalltalk.SequenceableCollection); smalltalk.mapClassName('RegularExpression','Kernel',RegExp,smalltalk.Object); smalltalk.st = function (code) { // Return the result of evaluating a smalltalk expression. return code.evaluate(); // smalltalk.Compiler.evaluate_(code); } smalltalk.doIt = function (code) { // Return the result of evaluating a smalltalk expression (or a description of the error occurred). return code.doIt(); // smalltalk.Compiler.doIt_(code); } fileIn = function (fileName) { // FileIn the contents of file at fileName // print("// fileIn(\""+fileName+"\")"); return read(fileName).fileIn(); } fileInJS = function (fileName) { // Eval the contents of file at fileName // print("// fileInJS(\""+fileName+"\")"); return eval( read(fileName) ); } vse = function (module) { return fileIn('vse/'+module+'.st'); } test = function () { return vse("Test"); } doit = function (what) { if (what) { return smalltalk.st(what); } else { return vse("workspace"); } } exportCategory = function (aString) { return smalltalk.Exporter.exportCategory_(aString); } saveImage = function () { return smalltalk.saveImage(); } saveImageAs = function (fileName) { return smalltalk.saveImageAs_(fileName); } smalltalk.$imageFileName = smalltalk.$imageFileName || "s8.image.js";smalltalk.addClass("Object",undefined, [], 'Kernel'); smalltalk.addClass("Smalltalk",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("Behavior",smalltalk.Object, [], 'Kernel'); smalltalk.Behavior.$classVariableNames=unescape("InstIndexedBit%20InstNumberMask%20InstPointerBit%20InstZeroTerminatedBit"); smalltalk.addClass("CompiledMethod",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("Number",smalltalk.Object, [], 'Kernel'); smalltalk.Number.$classVariableNames=unescape("SinValues"); smalltalk.addClass("BlockClosure",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("Boolean",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("DateTime",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("UndefinedObject",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("Collection",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("RegularExpression",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("Exception",smalltalk.Object, ['messageText'], 'Kernel'); smalltalk.addClass("Association",smalltalk.Object, ['key', 'value'], 'Kernel'); smalltalk.addClass("ClassBuilder",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("Stream",smalltalk.Object, ['collection', 'position', 'readLimit'], 'Kernel'); smalltalk.addClass("Random",smalltalk.Object, [], 'Kernel'); smalltalk.addClass("Point",smalltalk.Object, ['x', 'y'], 'Kernel'); smalltalk.addClass("EvaluableAction",smalltalk.Object, [], 'Kernel'); smalltalk.EvaluableAction.$comment=unescape("%0D%0A%09Action%20model%2C%20evaluable%20and%20composable%20actions%20are%20implemented%20to%20support%20evaluations.%0D%0A") smalltalk.addClass("ActionSequence",smalltalk.Object, ['contents'], 'Kernel'); smalltalk.addClass("EventManager",smalltalk.Object, ['handlers'], 'unclassified'); smalltalk.EventManager.$comment=unescape("%0D%0A%09Event%20system%2C%20properties%20and%20change/update/release%20mechanism.%0D%0A%09We%20hook%20%24properties%20and%20%24handlers%20internal%20properties%20to%20manage%20properties%20and%20events%20at%20Object%20level.%0D%0A%09EventManager%20instances%20implement%20events%20handler%20as%20pure%20instance%20variable.%0D%0A") smalltalk.EventManager.$klass.$iVarNames = ['eventsTriggered']; smalltalk.addClass("Node",smalltalk.Object, ['nodes'], 'Compiler'); smalltalk.addClass("NodeVisitor",smalltalk.Object, [], 'Compiler'); smalltalk.addClass("PPFailure",smalltalk.Object, ['position', 'reason'], 'Compiler-Parser'); smalltalk.addClass("PPParser",smalltalk.Object, ['memo'], 'Compiler-Parser'); smalltalk.addClass("SmalltalkParser",smalltalk.Object, [], 'Compiler-Parser'); smalltalk.addClass("FileInReader",smalltalk.Object, [], 'Compiler-FileIn'); smalltalk.FileInReader.$comment=unescape("%0D%0A%09Perform%20sequential%20reading%20from%20aStream%20in%20chunk%20format.%0D%0A%09Instances%20implement%20%23scanFrom%3A%20message%2C%20advancing%20aStream%20upto%20next%20reader%20instantiation%20chunk.") smalltalk.addClass("Exporter",smalltalk.Object, [], 'Compiler-FileOut'); smalltalk.addClass("DoIt",smalltalk.Object, [], 'Compiler-Evaluation'); smalltalk.addClass("Snapshot",smalltalk.Object, ['system'], 'image'); smalltalk.addClass("SourceManager",smalltalk.Object, [], 'image'); smalltalk.SourceManager.$classVariableNames=unescape("Current"); smalltalk.addClass("Transcript",smalltalk.Object, ['stream'], 'Transcript'); smalltalk.Transcript.$klass.$iVarNames = ['current']; smalltalk.addClass("NativeObject",smalltalk.Object, ['handle'], 'Natives'); smalltalk.NativeObject.$comment=unescape("%0D%0A%09Implementation%20of%20wrapper%20to%20native%20%28js%29%20objects.%0D%0A%09@2011%20Alejandro%20F.%20Reimondo%0D%0A%09aleReimondo@smalltalking.net%0D%0A") smalltalk.addClass("U8",smalltalk.Object, ['id', 'widgets'], 'U8'); smalltalk.U8.$comment=unescape("%0D%0A%09U8%20service%20toolset%20for%20initial%20image.%0D%0A%09Powered%20by%20S8.%0D%0A%09http%3A//u8.smalltalking.net%0D%0A") smalltalk.U8.$classVariableNames=unescape("InitialCodeContents%20CommonExpressions"); smalltalk.U8.$klass.$iVarNames = ['instances']; smalltalk.addClass("Class",smalltalk.Behavior, [], 'Kernel'); smalltalk.addClass("Metaclass",smalltalk.Behavior, ['instanceClass'], 'Kernel'); smalltalk.addClass("SequenceableCollection",smalltalk.Collection, [], 'Kernel'); smalltalk.addClass("Dictionary",smalltalk.Collection, ['keys', 'values'], 'Kernel'); smalltalk.addClass("String",smalltalk.SequenceableCollection, [], 'Kernel'); smalltalk.addClass("Array",smalltalk.SequenceableCollection, [], 'Kernel'); smalltalk.addClass("Array",smalltalk.SequenceableCollection, [], 'Kernel'); smalltalk.addClass("Error",smalltalk.Exception, [], 'Kernel'); smalltalk.addClass("MessageNotUnderstood",smalltalk.Error, ['message', 'receiver'], 'Kernel'); smalltalk.MessageNotUnderstood.$classVariableNames=unescape("DefaultClass"); smalltalk.addClass("StringStream",smalltalk.Stream, [], 'Kernel'); smalltalk.addClass("Message",smalltalk.EvaluableAction, ['selector', 'arguments', 'receiver'], 'Kernel'); smalltalk.addClass("LinkMessage",smalltalk.Message, ['resultAction'], 'Kernel'); smalltalk.LinkMessage.$comment=unescape("%0D%0A%09Implement%20evaluation%20cascading%20argument%20evaluations.") smalltalk.addClass("MethodNode",smalltalk.Node, ['selector', 'arguments', 'source'], 'Compiler'); smalltalk.addClass("SendNode",smalltalk.Node, ['selector', 'arguments', 'receiver'], 'Compiler'); smalltalk.addClass("CascadeNode",smalltalk.Node, ['receiver'], 'Compiler'); smalltalk.addClass("AssignmentNode",smalltalk.Node, ['left', 'right'], 'Compiler'); smalltalk.addClass("BlockNode",smalltalk.Node, ['parameters'], 'Compiler'); smalltalk.addClass("SequenceNode",smalltalk.Node, ['temps'], 'Compiler'); smalltalk.addClass("ReturnNode",smalltalk.Node, [], 'Compiler'); smalltalk.addClass("ValueNode",smalltalk.Node, ['value'], 'Compiler'); smalltalk.addClass("JSStatementNode",smalltalk.Node, ['source'], 'Compiler'); smalltalk.addClass("BlockSequenceNode",smalltalk.SequenceNode, [], 'Compiler'); smalltalk.addClass("ExtendedSequenceNode",smalltalk.SequenceNode, ['directive'], 'Compiler'); smalltalk.addClass("VariableNode",smalltalk.ValueNode, ['indices'], 'Compiler'); smalltalk.addClass("GlobalReferenceNode",smalltalk.VariableNode, [], 'Compiler'); smalltalk.addClass("NoReceiverNode",smalltalk.VariableNode, [], 'Compiler'); smalltalk.addClass("AlienNode",smalltalk.VariableNode, [], 'Compiler'); smalltalk.addClass("Compiler",smalltalk.NodeVisitor, ['stream', 'nestedBlocks', 'earlyReturn', 'currentClass', 'functionName', 'unknownVariables', 'tempVariables'], 'Compiler'); smalltalk.addClass("PPEOFParser",smalltalk.PPParser, [], 'Compiler-Parser'); smalltalk.addClass("PPAnyParser",smalltalk.PPParser, [], 'Compiler-Parser'); smalltalk.addClass("PPEpsilonParser",smalltalk.PPParser, [], 'Compiler-Parser'); smalltalk.addClass("PPStringParser",smalltalk.PPParser, ['string'], 'Compiler-Parser'); smalltalk.addClass("PPStStringParser",smalltalk.PPParser, [], 'Compiler-Parser'); smalltalk.addClass("PPCharacterParser",smalltalk.PPParser, ['regexp'], 'Compiler-Parser'); smalltalk.addClass("PPListParser",smalltalk.PPParser, ['parsers'], 'Compiler-Parser'); smalltalk.addClass("PPDelegateParser",smalltalk.PPParser, ['parser'], 'Compiler-Parser'); smalltalk.addClass("PPSequenceParser",smalltalk.PPListParser, [], 'Compiler-Parser'); smalltalk.addClass("PPChoiceParser",smalltalk.PPListParser, [], 'Compiler-Parser'); smalltalk.addClass("PPAndParser",smalltalk.PPDelegateParser, [], 'Compiler-Parser'); smalltalk.addClass("PPActionParser",smalltalk.PPDelegateParser, ['block'], 'Compiler-Parser'); smalltalk.addClass("PPFlattenParser",smalltalk.PPDelegateParser, [], 'Compiler-Parser'); smalltalk.addClass("PPSourceParser",smalltalk.PPDelegateParser, [], 'Compiler-Parser'); smalltalk.addClass("PPRepeatingParser",smalltalk.PPDelegateParser, ['min'], 'Compiler-Parser'); smalltalk.addClass("PPNotParser",smalltalk.PPAndParser, [], 'Compiler-Parser'); smalltalk.addClass("ChunkReader",smalltalk.FileInReader, ['actionBlock', 'terminationBlock'], 'Compiler-FileIn'); smalltalk.ChunkReader.$comment=unescape("%0D%0A%09Pluggable%20FileInReader.%0D%0A%09actionBlock%20is%20evaluated%20with%20input%20stream%20as%20argument.%0D%0A%09Read%20chunks%20until%20empty%20chunk%2C%20terminationBlock%20is%20nil%20or%20evaluates%20to%20true.") smalltalk.addClass("ClassCategoryReader",smalltalk.FileInReader, ['class', 'category'], 'Compiler-FileIn'); smalltalk.addClass("ClassCommentReader",smalltalk.FileInReader, ['class'], 'Compiler-FileIn'); smalltalk.addClass("CancelFileInReader",smalltalk.FileInReader, [], 'Compiler-FileIn'); smalltalk.addClass("JS",smalltalk.NativeObject, [], 'Natives'); smalltalk.JS.$comment=unescape("%0D%0A%09Implementation%20of%20reflection%20interface%20for%20%28js%29%20objects.%0D%0A%09@2011%20Alejandro%20F.%20Reimondo%0D%0A%09aleReimondo@smalltalking.net%0D%0A") smalltalk.addClass("DOM",smalltalk.NativeObject, [], 'DOM'); smalltalk.DOM.$comment=unescape("%0D%0A%09Root%20of%20DOM%20and%20Browser%20Objects%20framework.%0D%0A%09http%3A//www.w3schools.com/jsref/default.asp%0D%0A") smalltalk.addClass("XMLHttpRequest",smalltalk.NativeObject, [], 'XMLHttpRequest'); smalltalk.XMLHttpRequest.$comment=unescape("%0D%0A%09XMLHttpRequest%20instances%20are%20used%20to%20exchange%20data%20with%20a%20server%20behind%20the%20scenes.%0D%0A%0D%0A%09The%20XMLHttpRequest%20object%20is%20the%20developers%20dream%2C%20because%20you%20can%3A%0D%0A%09%09%uFFFDUpdate%20a%20web%20page%20without%20reloading%20the%20page%0D%0A%09%09%uFFFDRequest%20data%20from%20a%20server%20after%20the%20page%20has%20loaded%20%0D%0A%09%09%uFFFDReceive%20data%20from%20a%20server%20after%20the%20page%20has%20loaded%0D%0A%09%09%uFFFDSend%20data%20to%20a%20server%20in%20the%20background%0D%0A%0D%0A%09http%3A//www.w3schools.com/xml/xml_http.asp%0D%0A%09http%3A//www.w3schools.com/dom/dom_http.asp%0D%0A") smalltalk.addClass("BrowserObject",smalltalk.DOM, [], 'DOM-Browser'); smalltalk.addClass("DOMDocument",smalltalk.DOM, [], 'DOM'); smalltalk.addClass("DOMElement",smalltalk.DOM, [], 'DOM-HTML'); smalltalk.DOMElement.$classVariableNames=unescape("TagMap"); smalltalk.addClass("DOMAttribute",smalltalk.DOM, [], 'DOM-HTML'); smalltalk.addClass("BrowserWindow",smalltalk.BrowserObject, [], 'DOM-Browser'); smalltalk.addClass("BrowserHistory",smalltalk.BrowserObject, [], 'DOM-Browser'); smalltalk.addClass("BrowserLocation",smalltalk.BrowserObject, [], 'DOM-Browser'); smalltalk.addClass("BrowserNavigator",smalltalk.BrowserObject, [], 'DOM-Browser'); smalltalk.addClass("BrowserScreen",smalltalk.BrowserObject, [], 'DOM-Browser'); smalltalk.addClass("DOMAnchor",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMAnchor.$comment=unescape("%0D%0A%09The%20Anchor%20object%20represents%20an%20HTML%20hyperlink.%0D%0A%20%09For%20each%20%3Ca%3E%20tag%20in%20an%20HTML%20document%2C%20an%20Anchor%20object%20is%20created.%0D%0A%09An%20anchor%20allows%20you%20to%20create%20a%20link%20to%20another%20document%20%28with%20the%20href%20attribute%29%2C%20or%20to%20a%20different%20point%20in%20the%20same%20document%20%28with%20the%20name%20attribute%29.%0D%0A%09You%20can%20access%20an%20anchor%20by%20using%20%23getElementById%3A%2C%20or%20by%20searching%20through%20the%20anchors%20of%20aDOMDocument.%0D%0A") smalltalk.addClass("DOMArea",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMArea.$comment=unescape("%0D%0A%09The%20Area%20object%20represents%20an%20area%20inside%20an%20HTML%20image-map%20%28an%20image-map%20is%20an%20image%20with%20clickable%20areas%29.%0D%0A%09For%20each%20%3Carea%3E%20tag%20in%20an%20HTML%20document%2C%20an%20Area%20object%20is%20created.%0D%0A") smalltalk.addClass("DOMBase",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMBase.$comment=unescape("%0D%0A%09The%20Base%20object%20represents%20an%20HTML%20base%20element.%0D%0A%09The%20base%20element%20is%20used%20to%20specify%20a%20default%20address%20or%20a%20default%20target%20for%20all%20links%20on%20a%20page.%0D%0A%09For%20each%20%3Cbase%3E%20tag%20in%20an%20HTML%20document%2C%20a%20Base%20object%20is%20created.%0D%0A") smalltalk.addClass("DOMBody",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMBody.$comment=unescape("%0D%0A%09The%20Body%20object%20represents%20the%20HTML%20body%20element.%0D%0A%09The%20body%20element%20defines%20a%20document%20body.%0D%0A%09The%20body%20element%20contains%20all%20the%20contents%20of%20an%20HTML%20document%2C%20such%20as%20text%2C%20hyperlinks%2C%20images%2C%20tables%2C%20lists%2C%20etc.%0D%0A") smalltalk.addClass("DOMButton",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMButton.$comment=unescape("%0D%0A%09The%20Button%20object%20represents%20a%20push%20button.%0D%0A%09For%20each%20%3Cbutton%3E%20tag%20in%20an%20HTML%20document%2C%20a%20Button%20object%20is%20created.%0D%0A%09Inside%20an%20HTML%20button%20element%20you%20can%20put%20content%2C%20like%20text%20or%20images.%0D%0A%09This%20is%20the%20difference%20between%20this%20element%20and%20buttons%20created%20with%20the%20input%20element.%0D%0A") smalltalk.addClass("DOMForm",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMForm.$comment=unescape("%0D%0A%09The%20Form%20object%20represents%20an%20HTML%20form.%0D%0A%09For%20each%20%3Cform%3E%20tag%20in%20an%20HTML%20document%2C%20a%20Form%20object%20is%20created.%0D%0A%09Forms%20are%20used%20to%20collect%20user%20input%2C%20and%20contain%20input%20elements%20like%20text%20fields%2C%20checkboxes%2C%20radio-buttons%2C%20submit%20buttons%20and%20more.%0D%0A%09A%20form%20can%20also%20contain%20select%20menus%2C%20textarea%2C%20fieldset%2C%20legend%2C%20and%20label%20elements.%0D%0A%09Forms%20are%20used%20to%20pass%20data%20to%20a%20server.%0D%0A") smalltalk.addClass("DOMFrame",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMFrame.$comment=unescape("%0D%0A%09The%20Frame%20object%20represents%20an%20HTML%20frame.%0D%0A%09The%20%3Cframe%3E%20tag%20defines%20one%20particular%20window%20%28frame%29%20within%20a%20frameset.%0D%0A%09For%20each%20%3Cframe%3E%20tag%20in%20an%20HTML%20document%2C%20a%20Frame%20object%20is%20created.%0D%0A%09-------------------------------------------%0D%0A%09The%20IFrame%20object%20represents%20an%20HTML%20inline%20frame.%0D%0A%09The%20%3Ciframe%3E%20tag%20defines%20an%20inline%20frame%20that%20contains%20another%20document.%0D%0A%09For%20each%20%3Ciframe%3E%20tag%20in%20an%20HTML%20document%2C%20an%20IFrame%20object%20is%20created.%0D%0A") smalltalk.addClass("DOMFrameset",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMFrameset.$comment=unescape("%0D%0A%09The%20Frameset%20object%20represents%20an%20HTML%20frameset.%0D%0A%09The%20HTML%20frameset%20element%20holds%20two%20or%20more%20frame%20elements.%0D%0A%09Each%20frame%20element%20holds%20a%20separate%20document.%0D%0A%09The%20HTML%20frameset%20element%20states%20only%20how%20many%20columns%20or%20rows%20there%20will%20be%20in%20the%20frameset.%0D%0A") smalltalk.addClass("DOMImage",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMImage.$comment=unescape("%0D%0A%09The%20Image%20object%20represents%20an%20embedded%20image.%0D%0A%09For%20each%20%3Cimg%3E%20tag%20in%20an%20HTML%20document%2C%20an%20Image%20object%20is%20created.%0D%0A%09Notice%20that%20images%20are%20not%20technically%20inserted%20into%20an%20HTML%20page%2C%20images%20are%20linked%20to%20HTML%20pages.%0D%0A%09The%20%3Cimg%3E%20tag%20creates%20a%20holding%20space%20for%20the%20referenced%20image.%0D%0A") smalltalk.addClass("DOMInputElement",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.addClass("DOMObject",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMObject.$comment=unescape("%0D%0A%09The%20Object%20object%20represents%20an%20HTML%20object%20element.%0D%0A%09The%20%3Cobject%3E%20tag%20is%20used%20to%20include%20objects%20such%20as%20images%2C%20audio%2C%20videos%2C%20Java%20applets%2C%20ActiveX%2C%20PDF%2C%20and%20Flash%20into%20a%20webpage.%0D%0A") smalltalk.addClass("DOMOption",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMOption.$comment=unescape("%0D%0A%09The%20Option%20object%20represents%20an%20option%20in%20a%20dropdown%20list%20in%20an%20HTML%20form.%0D%0A") smalltalk.addClass("DOMSelect",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMSelect.$comment=unescape("%0D%0A%09The%20Select%20object%20represents%20a%20dropdown%20list%20in%20an%20HTML%20form.%0D%0A") smalltalk.addClass("DOMStyle",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMStyle.$comment=unescape("%0D%0A%09The%20Style%20object%20represents%20an%20individual%20style%20statement.%0D%0A%09The%20Style%20object%20can%20be%20accessed%20from%20the%20document%20or%20from%20the%20elements%20to%20which%20that%20style%20is%20applied.%0D%0A") smalltalk.addClass("DOMTable",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMTable.$comment=unescape("%0D%0A%09The%20Table%20object%20represents%20an%20HTML%20table.%0D%0A") smalltalk.addClass("DOMTD",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMTD.$comment=unescape("%0D%0A%09The%20td%20object%20represents%20a%20data%20cell%20in%20an%20HTML%20table.%0D%0A") smalltalk.addClass("DOMTR",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMTR.$comment=unescape("%0D%0A%09The%20tr%20object%20represents%20an%20HTML%20table%20row.%0D%0A") smalltalk.addClass("DOMTbody",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.addClass("DOMLink",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMLink.$comment=unescape("%0D%0A%09The%20Link%20object%20represents%20an%20HTML%20link%20element.%0D%0A%09The%20link%20element%20must%20be%20placed%20inside%20the%20head%20section%20of%20an%20HTML%20document%2C%20and%20it%20specifies%20a%20link%20to%20an%20external%20resource.%0D%0A") smalltalk.addClass("DOMMeta",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMMeta.$comment=unescape("%0D%0A%09The%20Meta%20object%20represents%20an%20HTML%20meta%20element.%0D%0A%09%3Cmeta%3E%20tags%20must%20be%20placed%20inside%20the%20head%20section%20of%20an%20HTML%20document%2C%20and%20they%20provide%20metadata%20about%20the%20HTML%20document.%0D%0A%09Meta%20elements%20are%20typically%20used%20to%20specify%20page%20description%2C%20keywords%2C%20author%20of%20the%20document%2C%20last%20modified%2C%20and%20other%20metadata.%0D%0A%09Metadata%20can%20be%20used%20by%20browsers%20%28e.g.%20how%20to%20display%20content%20or%20reload%20pages%29%2C%20search%20engines%20%28e.g.%20keywords%29%2C%20or%20other%20web%20services.%0D%0A") smalltalk.addClass("DOMTextarea",smalltalk.DOMElement, [], 'DOM-HTML'); smalltalk.DOMTextarea.$comment=unescape("%0D%0A%09The%20Textarea%20object%20represents%20a%20text-area%20in%20an%20HTML%20form.%0D%0A") smalltalk.addClass("DOMInputButton",smalltalk.DOMInputElement, [], 'DOM-HTML'); smalltalk.DOMInputButton.$comment=unescape("%0D%0A%09The%20Button%20object%20represents%20a%20clickable%20button%20in%20an%20HTML%20form.%0D%0A%09A%20buttons%20is%20often%20used%20to%20activate%20a%20JavaScript%20when%20a%20user%20clicks%20on%20it.%0D%0A") smalltalk.addClass("DOMInputCheckbox",smalltalk.DOMInputElement, [], 'DOM-HTML'); smalltalk.DOMInputCheckbox.$comment=unescape("%0D%0A%09The%20Checkbox%20object%20represents%20a%20checkbox%20in%20an%20HTML%20form.%0D%0A%09Checkboxes%20let%20a%20user%20select%20one%20or%20more%20options%20of%20a%20limited%20number%20of%20choices.%0D%0A") smalltalk.addClass("DOMInputFile",smalltalk.DOMInputElement, [], 'DOM-HTML'); smalltalk.DOMInputFile.$comment=unescape("%0D%0A%09The%20FileUpload%20object%20represents%20a%20single-line%20text%20input%20control%20and%20a%20browse%20button%2C%20in%20an%20HTML%20form.%0D%0A%09This%20object%20allow%20file%20uploading%20to%20a%20server.%0D%0A%09Clicking%20on%20the%20browse%20button%20opens%20the%20file%20dialog%20box%20that%20allows%20a%20user%20to%20select%20a%20file%20to%20upload.%0D%0A") smalltalk.addClass("DOMInputHidden",smalltalk.DOMInputElement, [], 'DOM-HTML'); smalltalk.DOMInputHidden.$comment=unescape("%0D%0A%09The%20Hidden%20object%20represents%20a%20hidden%20input%20field%20in%20an%20HTML%20form%20%28this%20input%20field%20is%20invisible%20for%20the%20user%29.%0D%0A%09With%20this%20element%20you%20can%20send%20hidden%20form%20data%20to%20a%20server.%0D%0A") smalltalk.addClass("DOMInputRadio",smalltalk.DOMInputElement, [], 'DOM-HTML'); smalltalk.DOMInputRadio.$comment=unescape("%0D%0A%09The%20Radio%20object%20represents%20a%20radio%20button%20in%20an%20HTML%20form.%0D%0A%09Radio%20buttons%20allow%20the%20user%20to%20select%20only%20ONE%20of%20a%20predefined%20set%20of%20options.%0D%0A%09You%20define%20groups%20with%20the%20name%20property%20%28radio%20buttons%20with%20the%20same%20name%20belong%20to%20the%20same%20group%29.%0D%0A") smalltalk.addClass("DOMInputText",smalltalk.DOMInputElement, [], 'DOM-HTML'); smalltalk.DOMInputText.$comment=unescape("%0D%0A%09The%20Text%20object%20represents%20a%20single-line%20text%20input%20field%20in%20an%20HTML%20form.%0D%0A") smalltalk.addClass("DOMInputReset",smalltalk.DOMInputButton, [], 'DOM-HTML'); smalltalk.addClass("DOMInputSubmit",smalltalk.DOMInputButton, [], 'DOM-HTML'); smalltalk.addClass("DOMInputPassword",smalltalk.DOMInputText, [], 'DOM-HTML'); smalltalk.DOMInputPassword.$comment=unescape("%0D%0A%09The%20Password%20object%20represents%20a%20single-line%20password%20field%20in%20an%20HTML%20form.%0D%0A%09The%20content%20of%20a%20password%20field%20will%20be%20masked%20%28appear%20as%20blobs%20or%20asterisks%29%20in%20a%20browser.%0D%0A") smalltalk.bind(smalltalk.Object.$klass,'eventsTriggered','eventsTriggered' ,function (){ var self=this; return self.constructEventsTriggered();return self;} ,'events',unescape('eventsTriggered%0D%0A%09%22%20Return%20all%20the%20events%20managed%20by%20instances%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20constructEventsTriggered')); smalltalk.bind(smalltalk.Object.$klass,'constructEventsTriggered','constructEventsTriggered' ,function (){ var self=this; return ["changed"];return self;} ,'events',unescape('constructEventsTriggered%0D%0A%09%22%20Private%20-%20Return%20the%20events%20managed%20by%20instances%20of%20the%20receiver.%0D%0A%09The%20default%20implementation%20return%20support%20for%20MVC%20change/update%20mechanism.%0D%0A%09This%20method%20can%20be%20refined%20by%20the%20subclasses%20to%20extend%20event%20support.%0D%0A%09%22%0D%0A%0D%0A%09%5E%23%28%20%23changed%20%29')); smalltalk.bind(smalltalk.Object.$klass,'canTriggerEvent:','canTriggerEvent_' ,function (anEvent){ var self=this; return self.eventsTriggered().includes_(anEvent);return self;} ,'events',unescape('canTriggerEvent%3A%20anEvent%0D%0A%09%22%20Return%20true%20if%20instances%20of%20the%20receiver%20can%20trigger%20anEvent.%22%0D%0A%0D%0A%09%5Eself%20eventsTriggered%20includes%3A%20anEvent')); smalltalk.bind(smalltalk.Object,'print:','print_' ,function (what){ var self=this; print(what);return self;} ,'printing',unescape('print%3A%20what%0D%0A%09%22%20Output%20what%20to%20console.%20%22%0D%0A%0D%0A%09%23%20%23print%3A%20what')); smalltalk.bind(smalltalk.Object,'fileIn:','fileIn_' ,function (fileName){ var self=this; self.print_(unescape("//%20fileIn%28%22")._comma(fileName)._comma(unescape("%22%29%3B"))); return fileIn(fileName);return self;} ,'fileIn',unescape('fileIn%3A%20fileName%0D%0A%09%22%20FileIn%20contents%20of%20file%20at%20fileName.%20%22%0D%0A%0D%0A%09self%20print%3A%20%27//%20fileIn%28%22%27%2C%20fileName%2C%20%27%22%29%3B%27.%0D%0A%09%5E%23%20%23fileIn%3A%20fileName')); smalltalk.bind(smalltalk.Object,'fileInJS:','fileInJS_' ,function (fileName){ var self=this; self.print_(unescape("//%20fileInJS%28%22")._comma(fileName)._comma(unescape("%22%29%3B"))); return fileInJS(fileName);return self;} ,'fileIn',unescape('fileInJS%3A%20fileName%0D%0A%09%22%20FileIn%20javascript%20code%20from%20file%20at%20fileName.%20%22%0D%0A%0D%0A%09self%20print%3A%20%27//%20fileInJS%28%22%27%2C%20fileName%2C%20%27%22%29%3B%27.%0D%0A%09%5E%23%20%23fileInJS%3A%20fileName')); smalltalk.bind(smalltalk.Object,'accept:','accept_' ,function (what){ var self=this; self.print_(unescape("%5Bbug%5D%20")._comma(self.asString())._comma(" accept: ")._comma(what.asString())); return self.error_(unescape("%23accept%3A%20out%20of%20control."));return self;} ,'compiler/parser bug',unescape('accept%3A%20what%0D%0A%09%22%20Private%20-%20Report%20buggy%20send%20in%20compiler.%20%22%0D%0A%0D%0A%09self%20print%3A%20%27%5Bbug%5D%20%27%2Cself%20asString%2C%27%20accept%3A%20%27%2Cwhat%20asString.%0D%0A%09%5Eself%20error%3A%20%27%23accept%3A%20out%20of%20control.%27')); smalltalk.bind(smalltalk.Object,'=','_eq' ,function (anObject){ var self=this; return self == anObject;return self;} ,'comparing',unescape('%3D%20anObject%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20equal%20to%20anObject.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3D%3D%20anObject%27%7D')); smalltalk.bind(smalltalk.Object,'~=','_no_eq' ,function (anObject){ var self=this; return (self._eq(anObject) === false);return self;} ,'comparing',unescape('%7E%3D%20anObject%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20not%20equal%20to%20anObject.%20%22%0D%0A%0D%0A%09%5E%28self%20%3D%20anObject%29%20%3D%3D%20false')); smalltalk.bind(smalltalk.Object,'initialize','initialize' ,function (){ var self=this; return self;} ,'initialization',unescape('initialize%0D%0A%09%22%20Private%20-%20Initialize%20the%20receiver.%0D%0A%09The%20default%20implementation%20do%20nothing.%0D%0A%09This%20method%20can%20be%20refined%20by%20subclasses%20to%20support%20creation%20time%20initialization%20of%20collaborators.%0D%0A%09%22')); smalltalk.bind(smalltalk.Object,'yourself','yourself' ,function (){ var self=this; return self;return self;} ,'accessing',unescape('yourself%0D%0A%09%22%20Return%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Object,'class','$$class' ,function (){ var self=this; return (self["$klass"] || nil);return self;} ,'accessing',unescape('class%0D%0A%09%22%20Return%20the%20class%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24klass%27')); smalltalk.bind(smalltalk.Object,'size','size' ,function (){ var self=this; return (0);return self;} ,'accessing',unescape('size%0D%0A%09%22%20Return%20the%20size%20of%20the%20receiver.%0D%0A%09The%20default%20implementation%20return%20zero.%0D%0A%09This%20method%20can%20be%20refined%20by%20subclasses%20to%20support%20indexed%20access.%0D%0A%09%22%0D%0A%0D%0A%09%5E0')); smalltalk.bind(smalltalk.Object,'copy','copy' ,function (){ var self=this; return self.shallowCopy();return self;} ,'copying',unescape('copy%0D%0A%09%22%20Return%20a%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20shallowCopy')); smalltalk.bind(smalltalk.Object,'shallowCopy','shallowCopy' ,function (){ var self=this; var copy=nil; copy=self.$klass.$$new(); for(var i in self) { if(/^@.+/.test(i)) { copy[i] = self[i]; } } return copy;;return self;} ,'copying',unescape('shallowCopy%0D%0A%09%22%20Return%20a%20shallow%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20copy%20%7C%0D%0A%09copy%20%3A%3D%20self%20class%20new.%0D%0A%7B%27%09for%28var%20i%20in%20self%29%20%7B%0D%0A%09%09if%28/%5E@.+/.test%28i%29%29%20%7B%20copy%5Bi%5D%20%3D%20self%5Bi%5D%3B%20%7D%0D%0A%09%7D%20return%20copy%3B%27%7D')); smalltalk.bind(smalltalk.Object,'deepCopy','deepCopy' ,function (){ var self=this; var copy=nil; copy=self.$klass.$$new(); for(var i in self) { if(/^@.+/.test(i)) { copy[i] = self[i].deepCopy(); } } return copy;;return self;} ,'copying',unescape('deepCopy%0D%0A%09%22%20Return%20a%20deep%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20copy%20%7C%0D%0A%09copy%20%3A%3D%20self%20class%20new.%0D%0A%7B%27%09for%28var%20i%20in%20self%29%20%7B%0D%0A%09%09if%28/%5E@.+/.test%28i%29%29%20%7B%20copy%5Bi%5D%20%3D%20self%5Bi%5D.deepCopy%28%29%3B%20%7D%0D%0A%09%7D%20return%20copy%3B%27%7D.')); smalltalk.bind(smalltalk.Object,'->','_minus_gt' ,function (anObject){ var self=this; return smalltalk.Association.key_value_(self, anObject);return self;} ,'converting',unescape('-%3E%20anObject%0D%0A%09%22%20Return%20an%20association%20of%20the%20receiver%20to%20anObject.%20%22%0D%0A%0D%0A%09%5EAssociation%20key%3A%20self%20value%3A%20anObject')); smalltalk.bind(smalltalk.Object,'asString','asString' ,function (){ var self=this; return self.printString();return self;} ,'converting',unescape('asString%0D%0A%09%22%20Return%20the%20receiver%20as%20a%20String.%20%22%0D%0A%0D%0A%09%5Eself%20printString')); smalltalk.bind(smalltalk.Object,'toString','toString' ,function (){ var self=this; return unescape("%5Bst%3A")._comma(self.$klass.name())._comma(unescape("%5D"));return self;} ,'converting',unescape('toString%0D%0A%09%22%20Convert%20the%20receiver%20to%20a%20String.%20%22%0D%0A%0D%0A%09%5E%27%5Bst%3A%27%2Cself%20class%20name%2C%27%5D%27')); smalltalk.bind(smalltalk.Object,'asJavascript','asJavascript' ,function (){ var self=this; return self.asString();return self;} ,'converting',unescape('asJavascript%0D%0A%09%22%20Return%20the%20javascript%20representation%20of%20the%20receiver.%0D%0A%09The%20default%20implementation%20return%20the%20receiver%20as%20a%20String.%0D%0A%09This%20method%20must%20be%20refined%20by%20subclasses%20implementing%20literal%20representation%20in%20javascript.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20asString')); smalltalk.bind(smalltalk.Object,'asJSON','asJSON' ,function (){ var self=this; return smalltalk.JSON.stringify(self.asJSONObject());return self;} ,'converting',unescape('asJSON%0D%0A%09%22%20JSON%20-%20Return%20the%20JSON%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EJSON%20%23stringify%3A%20self%20asJSONObject')); smalltalk.bind(smalltalk.Object,'perform:','perform_' ,function (aSymbol){ var self=this; return self.perform_withArguments_(aSymbol, []);return self;} ,'message handling',unescape('perform%3A%20aSymbol%0D%0A%09%22%20Return%20the%20result%20of%20sending%20message%20aSymbol%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20perform%3A%20aSymbol%20withArguments%3A%20%23%28%29')); smalltalk.bind(smalltalk.Object,'perform:with:','perform_with_' ,function (aSymbol,argument){ var self=this; return self.perform_withArguments_(aSymbol, smalltalk.Array.with_(argument));return self;} ,'message handling',unescape('perform%3A%20aSymbol%20with%3A%20argument%0D%0A%09%22%20Return%20the%20result%20of%20sending%20message%20aSymbol%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20perform%3A%20aSymbol%20withArguments%3A%20%28Array%20with%3A%20argument%29')); smalltalk.bind(smalltalk.Object,'perform:withArguments:','perform_withArguments_' ,function (aSymbol,aCollection){ var self=this; return self.basicPerform_withArguments_(aSymbol.asSelector(), aCollection);return self;} ,'message handling',unescape('perform%3A%20aSymbol%20withArguments%3A%20aCollection%0D%0A%09%22%20Return%20the%20result%20of%20sending%20message%20aSymbol%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicPerform%3A%20aSymbol%20asSelector%20withArguments%3A%20aCollection')); smalltalk.bind(smalltalk.Object,'basicAt:','basicAt_' ,function (aString){ var self=this; return (self[aString] || nil);return self;} ,'accessing',unescape('basicAt%3A%20aString%0D%0A%09%22%20Return%20the%20property%20of%20the%20receiver%20known%20as%20aString%20%28or%20nil%29.%20%22%0D%0A%0D%0A%09%5Eself%5BaString%5D%20%7C%7C%20nil')); smalltalk.bind(smalltalk.Object,'basicAt:ifAbsent:','basicAt_ifAbsent_' ,function (aString,aBlock){ var self=this; return (self[aString] || aBlock.value());return self;} ,'accessing',unescape('basicAt%3A%20aString%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20property%20of%20the%20receiver%20known%20as%20aString%20%28or%20the%20result%20of%20evaluating%20aBlock%29.%20%22%0D%0A%0D%0A%09%5Eself%5BaString%5D%20%7C%7C%20aBlock%20value')); smalltalk.bind(smalltalk.Object,'instVarAt:','instVarAt_' ,function (instVarName){ var self=this; try{ ((instVarName.isNumber()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "instVarAt_", fn: function(){return self.instVarAt_(self.$klass.allInstVarNames().at_(instVarName))}})})();})() : nil); (function(){throw({name: "stReturn", selector: "instVarAt_", fn: function(){return (self[unescape("@")._comma(instVarName)] || nil)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "instVarAt_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('instVarAt%3A%20instVarName%0D%0A%09%22%20Return%20the%20internal%20collaborator%20of%20the%20receiver%20known%20as%20instVarName.%20%22%0D%0A%0D%0A%09instVarName%20isNumber%20ifTrue%3A%20%5B%0D%0A%09%09%5Eself%20instVarAt%3A%20%28self%20class%20allInstVarNames%20at%3A%20instVarName%29%0D%0A%09%5D.%0D%0A%09%5Eself%20basicAt%3A%20%27@%27%2C%20instVarName')); smalltalk.bind(smalltalk.Object,'instVarAt:put:','instVarAt_put_' ,function (instVarName,anObject){ var self=this; try{ ((instVarName.isNumber()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "instVarAt_put_", fn: function(){return self.instVarAt_put_(self.$klass.allInstVarNames().at_(instVarName), anObject)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "instVarAt_put_", fn: function(){return (self[unescape("@")._comma(instVarName)]=(anObject))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "instVarAt_put_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('instVarAt%3A%20instVarName%20put%3A%20anObject%0D%0A%09%22%20Set%20the%20internal%20collaborator%20of%20the%20receiver%20known%20as%20instVarName%20to%20anObject.%20%22%0D%0A%0D%0A%09instVarName%20isNumber%20ifTrue%3A%20%5B%0D%0A%09%09%5Eself%20instVarAt%3A%20%28self%20class%20allInstVarNames%20at%3A%20instVarName%29%20put%3A%20anObject%0D%0A%09%5D.%0D%0A%09%5Eself%20basicAt%3A%20%27@%27%2C%20instVarName%20put%3A%20anObject')); smalltalk.bind(smalltalk.Object,'basicAt:put:','basicAt_put_' ,function (aString,anObject){ var self=this; return self[aString]=anObject;return self;} ,'accessing',unescape('basicAt%3A%20aString%20put%3A%20anObject%0D%0A%09%22%20Set%20the%20property%20of%20the%20receiver%20known%20as%20aString.%20%22%0D%0A%0D%0A%09%5Eself%5BaString%5D%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.Object,'error:','error_' ,function (aString){ var self=this; return smalltalk.Error.signal_(aString);return self;} ,'error handling',unescape('error%3A%20aString%0D%0A%09%22%20Return%20the%20result%20of%20managing%20error%28aString%29%20in%20the%20receiver.%0D%0A%09The%20default%20action%20signal%20an%20error.%0D%0A%09%22%0D%0A%0D%0A%09%5EError%20signal%3A%20aString')); smalltalk.bind(smalltalk.Object,'subclassResponsibility','subclassResponsibility' ,function (){ var self=this; return self.error_("This method is a responsibility of a subclass");return self;} ,'error handling',unescape('subclassResponsibility%0D%0A%09%22%20Private%20-%20The%20concrete%20implementation%20on%20the%20receiver%20is%20not%20complete.%0D%0A%09It%20is%20considered%20an%20error%20at%20this%20level%20and%20a%20method%20must%20be%20implemented%20at%20a%20lower%20level%20of%20abstraction.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20error%3A%20%27This%20method%20is%20a%20responsibility%20of%20a%20subclass%27')); smalltalk.bind(smalltalk.Object,'implementedBySubclass','implementedBySubclass' ,function (){ var self=this; return self.subclassResponsibility();return self;} ,'error handling',unescape('implementedBySubclass%0D%0A%09%22%20Private%20-%20The%20concrete%20implementation%20on%20the%20receiver%20is%20not%20complete.%0D%0A%09It%20is%20considered%20an%20error%20at%20this%20level%20and%20a%20method%20must%20be%20implemented%20at%20a%20lower%20level%20of%20abstraction.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20subclassResponsibility')); smalltalk.bind(smalltalk.Object,'shouldNotImplement','shouldNotImplement' ,function (){ var self=this; return self.error_("This method should not be implemented for instances of "._comma(self.$klass.name()));return self;} ,'error handling',unescape('shouldNotImplement%0D%0A%09%22%20The%20receiver%20received%20a%20message%20that%20is%20wrong.%0D%0A%09The%20default%20action%20signal%20an%20error.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20error%3A%20%27This%20method%20should%20not%20be%20implemented%20for%20instances%20of%20%27%2C%20self%20class%20name')); smalltalk.bind(smalltalk.Object,'smalltalkErrorOf:','smalltalkErrorOf_' ,function (aNativeException){ var self=this; var smalltalkError=nil; smalltalkError=(aNativeException["smalltalkError"] || (function(){return ((((aNativeException.$klass || nil) === nil)).mustBeBoolean()==true ? (function(){return smalltalk.Error.$$new().messageText_(((aNativeException.description || aNativeException.message) || nil));})() : (function(){return aNativeException;})());}).value()); smalltalkError.nativeException_(aNativeException); return smalltalkError;return self;} ,'native error handling',unescape('smalltalkErrorOf%3A%20aNativeException%0D%0A%09%22%20Private%2C%20Internal%20-%20Return%20anException%20associated%20with%20a%20native%28javascript%29%20exception.%20%22%0D%0A%0D%0A%09%7C%20smalltalkError%20%7C%0D%0A%09smalltalkError%20%3A%3D%20aNativeException%20basicAt%3A%20%27smalltalkError%27%20ifAbsent%3A%20%5B%0D%0A%09%09aNativeException%5B%27%24klass%27%5D%20isNil%20ifTrue%3A%20%5B%0D%0A%09%09%09Error%20new%20messageText%3A%20aNativeException%23description%20%7C%7C%20aNativeException%23message%20%7C%7C%20nil%0D%0A%09%09%09%5D%20ifFalse%3A%20%5B%20aNativeException%20%5D%0D%0A%09%09%5D.%0D%0A%09smalltalkError%20nativeException%3A%20aNativeException.%0D%0A%09%5EsmalltalkError')); smalltalk.bind(smalltalk.Object,'printString','printString' ,function (){ var self=this; return "a "._comma(self.$klass.name());return self;} ,'printing',unescape('printString%0D%0A%09%22%20Return%20a%20printable%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27a%20%27%2C%20self%20class%20name')); smalltalk.bind(smalltalk.Object,'isKindOf:','isKindOf_' ,function (aClass){ var self=this; return self.isMemberOf_(aClass).or_((function(){return self.$klass.inheritsFrom_(aClass);}));return self;} ,'testing',unescape('isKindOf%3A%20aClass%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20kind%20of%20aClass.%20%22%0D%0A%0D%0A%09%5E%28self%20isMemberOf%3A%20aClass%29%20or%3A%20%5B%20self%20class%20inheritsFrom%3A%20aClass%20%5D')); smalltalk.bind(smalltalk.Object,'isMemberOf:','isMemberOf_' ,function (aClass){ var self=this; return self.$klass._eq(aClass);return self;} ,'testing',unescape('isMemberOf%3A%20aClass%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20member%20of%20aClass.%20%22%0D%0A%0D%0A%09%5Eself%20class%20%3D%20aClass')); smalltalk.bind(smalltalk.Object,'ifNil:','ifNil_' ,function (aBlock){ var self=this; return self;return self;} ,'testing',unescape('ifNil%3A%20aBlock%0D%0A%09%22%20Return%20the%20receiver%20if%20it%20is%20not%20nil%2C%20or%20the%20result%20of%20evaluating%20aBlock%20%28if%20it%20is%20nil%29.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Object,'ifNil:ifNotNil:','ifNil_ifNotNil_' ,function (aBlock,anotherBlock){ var self=this; return anotherBlock.value();return self;} ,'testing',unescape('ifNil%3A%20aBlock%20ifNotNil%3A%20anotherBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20aBlock%20if%20the%20receiver%20is%20nil%20or%20the%20result%20of%20evaluating%20anotherBlock%20%28if%20not%20nil%29.%20%22%0D%0A%0D%0A%09%5EanotherBlock%20value')); smalltalk.bind(smalltalk.Object,'ifNotNil:','ifNotNil_' ,function (aBlock){ var self=this; return aBlock.value();return self;} ,'testing',unescape('ifNotNil%3A%20aBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20aBlock%20if%20the%20receiver%20is%20not%20nil%2C%20or%20nil%20if%20it%20is%20nil.%20%22%0D%0A%0D%0A%09%5EaBlock%20value')); smalltalk.bind(smalltalk.Object,'ifNotNil:ifNil:','ifNotNil_ifNil_' ,function (aBlock,anotherBlock){ var self=this; return aBlock.value();return self;} ,'testing',unescape('ifNotNil%3A%20aBlock%20ifNil%3A%20anotherBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20aBlock%20if%20the%20receiver%20is%20not%20nil%2C%20or%20the%20result%20of%20evaluating%20anotherBlock%20if%20it%20is%20nil.%20%22%0D%0A%0D%0A%09%5EaBlock%20value')); smalltalk.bind(smalltalk.Object,'isNil','isNil' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isNil%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20nil.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Object,'notNil','notNil' ,function (){ var self=this; return ((self || nil) === nil).not();return self;} ,'testing',unescape('notNil%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20not%20nil.%20%22%0D%0A%0D%0A%09%5Eself%20isNil%20not')); smalltalk.bind(smalltalk.Object,'isClass','isClass' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isClass%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20Class.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Object,'isMetaclass','isMetaclass' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isMetaclass%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20metaclass.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Object,'isNumber','isNumber' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20Number.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Object,'isString','isString' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isString%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20String.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Object,'isArray','isArray' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isArray%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20an%20Array.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Object,'methodFor:','methodFor_' ,function (aSymbol){ var self=this; return self.$klass._gt_gt_gt(aSymbol);return self;} ,'message handling',unescape('methodFor%3A%20aSymbol%20%0D%0A%09%22%20Return%20the%20method%20implementing%20aSymbol%20%28or%20nil%29.%20%22%0D%0A%0D%0A%09%5Eself%20class%20%3E%3E%3E%20aSymbol')); smalltalk.bind(smalltalk.Object,'respondsTo:','respondsTo_' ,function (aSymbol){ var self=this; return ((self.methodFor_(aSymbol) || nil) !== nil);return self;} ,'message handling',unescape('respondsTo%3A%20aSymbol%20%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20respond%20to%20message%20aSymbol.%20%22%0D%0A%0D%0A%09%5E%28self%20methodFor%3A%20aSymbol%29%20notNil')); smalltalk.bind(smalltalk.Object,'basicPerform:','basicPerform_' ,function (aSymbol){ var self=this; return self.basicPerform_withArguments_(aSymbol, []);return self;} ,'message handling',unescape('basicPerform%3A%20aSymbol%20%0D%0A%09%22%20Private%20-%20Basic%20implementation%20of%20%23perform...%20%22%0D%0A%0D%0A%09%5Eself%20basicPerform%3A%20aSymbol%20withArguments%3A%20%23%28%29')); smalltalk.bind(smalltalk.Object,'basicPerform:withArguments:','basicPerform_withArguments_' ,function (aSymbol,aCollection){ var self=this; return self[aSymbol].apply(self, aCollection);return self;} ,'message handling',unescape('basicPerform%3A%20aSymbol%20withArguments%3A%20aCollection%0D%0A%09%22%20Private%20-%20Basic%20implementation%20of%20%23perform...%20%22%0D%0A%0D%0A%09%5Eself%5BaSymbol%5D%20%23apply%3A%20self%20withArguments%3A%20aCollection')); smalltalk.bind(smalltalk.Object,'basicDelete:','basicDelete_' ,function (aString){ var self=this; delete self[aString];return self;} ,'accessing',unescape('basicDelete%3A%20aString%0D%0A%09%22%20Private%20-%20Basic%20implementation%20of%20deletion%20of%20property%20aString%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09delete%20self%5BaString%5D%27%7D')); smalltalk.bind(smalltalk.Object,'doesNotUnderstand:','doesNotUnderstand_' ,function (aMessage){ var self=this; return (function($rec){$rec.receiver_(self);$rec.message_(aMessage);return $rec.signal();})(smalltalk.MessageNotUnderstood.$$new());return self;} ,'error handling',unescape('doesNotUnderstand%3A%20aMessage%0D%0A%09%22%20Private%20-%20Basic%20implementation%20of%20a%20message%20sent%20and%20not%20understood%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EMessageNotUnderstood%20new%0D%0A%09%09receiver%3A%20self%3B%0D%0A%09%09message%3A%20aMessage%3B%0D%0A%09%09signal')); smalltalk.bind(smalltalk.Object,'asJSONObject','asJSONObject' ,function (){ var self=this; var object=nil; object=smalltalk.Object.$$new(); self.$klass.instanceVariableNames().do_((function(each){return (object[each]=(self.instVarAt_(each).asJSONObject()));})); return object;return self;} ,'converting',unescape('asJSONObject%0D%0A%09%22%20Return%20an%20object%20mapping%20the%20receiver%20to%20JSON%20structure.%20%22%0D%0A%0D%0A%09%7C%20object%20%7C%0D%0A%09object%20%3A%3D%20Object%20new.%0D%0A%09self%20class%20instanceVariableNames%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%09object%20basicAt%3A%20each%20put%3A%20%28self%20instVarAt%3A%20each%29%20asJSONObject%0D%0A%09%5D.%0D%0A%09%5Eobject')); smalltalk.bind(smalltalk.Object,'smalltalk','smalltalk' ,function (){ var self=this; return smalltalk; ;return self;} ,'access',unescape('smalltalk%0D%0A%09%22%20Return%20the%20current%20smalltalk%20system.%20%22%0D%0A%0D%0A%7B%27%09%20return%20smalltalk%3B%20%27%7D')); smalltalk.bind(smalltalk.Object,'argumentCount','argumentCount' ,function (){ var self=this; return (0);return self;} ,'evaluation',unescape('argumentCount%0D%0A%09%22%20Return%20the%20number%20of%20arguments%20required%20to%20evaluate%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E0')); smalltalk.bind(smalltalk.Object,'numberOfArguments','numberOfArguments' ,function (){ var self=this; return self.argumentCount();return self;} ,'evaluation',unescape('numberOfArguments%0D%0A%09%22%20Return%20the%20number%20of%20arguments%20required%20to%20evaluate%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20argumentCount')); smalltalk.bind(smalltalk.Object,'evaluate','evaluate' ,function (){ var self=this; return self;return self;} ,'evaluation',unescape('evaluate%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Object,'evaluateWithArguments:','evaluateWithArguments_' ,function (anArray){ var self=this; return self;return self;} ,'evaluation',unescape('evaluateWithArguments%3A%20anArray%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Object,'evaluateWith:','evaluateWith_' ,function (anObject){ var self=this; return self.evaluateWithArguments_(smalltalk.Array.with_(anObject));return self;} ,'evaluation',unescape('evaluateWith%3A%20anObject%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20evaluateWithArguments%3A%20%28Array%20with%3A%20anObject%29')); smalltalk.bind(smalltalk.Object,'asActionSequence','asActionSequence' ,function (){ var self=this; return smalltalk.ActionSequence.with_(self);return self;} ,'conversion',unescape('asActionSequence%0D%0A%09%22%20Return%20an%20action%20sequence%20containing%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EActionSequence%20with%3A%20self')); smalltalk.bind(smalltalk.Object,'eventTable','eventTable' ,function (){ var self=this; return (self[unescape("@handlers")] || (function(){return self.eventTableCreate();}).value());return self;} ,'events',unescape('eventTable%0D%0A%09%22%20Private%20-%20Returns%20the%20mapping%20event%20names%20to%20actions%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27@handlers%27%20ifAbsent%3A%20%5B%20self%20eventTableCreate%20%5D')); smalltalk.bind(smalltalk.Object,'eventTableForEdit','eventTableForEdit' ,function (){ var self=this; return (self[unescape("@handlers")] || (function(){return (self[unescape("@handlers")]=(self.eventTableCreate()));}).value());return self;} ,'events',unescape('eventTableForEdit%0D%0A%09%22%20Private%20-%20Returns%20the%20mapping%20event%20names%20to%20actions%20of%20the%20receiver.%0D%0A%09Set%20the%20internal%20map%20if%20not%20present.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27@handlers%27%20ifAbsent%3A%20%5B%0D%0A%09%09self%20basicAt%3A%20%27@handlers%27%20put%3A%20self%20eventTableCreate%0D%0A%09%5D')); smalltalk.bind(smalltalk.Object,'releaseEventTable','releaseEventTable' ,function (){ var self=this; self.basicDelete_(unescape("@handlers"));return self;} ,'events',unescape('releaseEventTable%0D%0A%09%22%20Private%20-%20Release%20the%20event%20table.%20%22%0D%0A%0D%0A%09self%20basicDelete%3A%20%27@handlers%27')); smalltalk.bind(smalltalk.Object,'release','release' ,function (){ var self=this; self.releaseEventTable();return self;} ,'initialize/release',unescape('release%0D%0A%09%22%20Release%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20releaseEventTable')); smalltalk.bind(smalltalk.Object,'eventTableCreate','eventTableCreate' ,function (){ var self=this; return smalltalk.Dictionary.$$new();return self;} ,'events',unescape('eventTableCreate%0D%0A%09%22%20Private%20-%20Returns%20a%20new%20mapping%20for%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDictionary%20new')); smalltalk.bind(smalltalk.Object,'canTriggerEvent:','canTriggerEvent_' ,function (anEvent){ var self=this; return self.$klass.canTriggerEvent_(anEvent);return self;} ,'events',unescape('canTriggerEvent%3A%20anEvent%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20can%20trigger%20anEvent.%22%0D%0A%0D%0A%09%5Eself%20class%20canTriggerEvent%3A%20anEvent')); smalltalk.bind(smalltalk.Object,'invalidEvent:','invalidEvent_' ,function (anEvent){ var self=this; return self;return self;} ,'events',unescape('invalidEvent%3A%20anEvent%0D%0A%09%22%20Private%20-%20Notify%20the%20situation%20where%20an%20unknown%20event%20is%20registered.%0D%0A%09Default%20implementation%20ignore%20error%20during%20unknown%20event%20registration.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%0D%0A%22DEBUG-%09%5Eself%20print%3A%20self%20class%20name%2C%27%20invalidEvent%3A%20%23%27%2CanEvent%20asString.%20%22')); smalltalk.bind(smalltalk.Object,'when:evaluate:','when_evaluate_' ,function (anEvent,anAction){ var self=this; try{ var actions=nil; ((self.canTriggerEvent_(anEvent)).mustBeBoolean()==true ? nil : (function(){return self.invalidEvent_(anEvent);})()); actions=self.actionListForEvent_(anEvent); ((actions.includes_(anAction)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "when_evaluate_", fn: function(){return self}})})();})() : nil); self.setActionList_forEvent_(actions.copyWith_(anAction), anEvent);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "when_evaluate_"){return $$ex.fn();} throw($$ex);}} ,'events',unescape('when%3A%20anEvent%20evaluate%3A%20anAction%0D%0A%09%22%20Register%20anAction%20to%20the%20be%20evaluated%20when%20the%20receiver%20triggers%20the%20event.%20%22%0D%0A%0D%0A%09%7C%20actions%20%7C%0D%0A%09%28self%20canTriggerEvent%3A%20anEvent%29%20ifFalse%3A%20%5B%20self%20invalidEvent%3A%20anEvent%20%5D.%0D%0A%09actions%20%3A%3D%20self%20actionListForEvent%3A%20anEvent.%0D%0A%09%28actions%20includes%3A%20anAction%29%20ifTrue%3A%20%5B%20%5Eself%20%5D.%0D%0A%09self%0D%0A%09%09setActionList%3A%20%28actions%20copyWith%3A%20anAction%29%0D%0A%09%09forEvent%3A%20anEvent')); smalltalk.bind(smalltalk.Object,'actionListForEvent:','actionListForEvent_' ,function (anEvent){ var self=this; try{ var result=nil; result=self.eventTable().at_ifAbsent_(anEvent, (function(){return (function(){throw({name: "stReturn", selector: "actionListForEvent_", fn: function(){return smalltalk.ActionSequence.$$new()}})})();})); (function(){throw({name: "stReturn", selector: "actionListForEvent_", fn: function(){return result.asActionSequence()}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "actionListForEvent_"){return $$ex.fn();} throw($$ex);}} ,'events',unescape('actionListForEvent%3A%20anEvent%0D%0A%09%22%20Private%20-%20Return%20a%20collection%20of%20actions%20to%20evaluate%20when%20the%20event%20is%20triggered.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20eventTable%20at%3A%20anEvent%20ifAbsent%3A%20%5B%20%5EActionSequence%20new%20%5D.%0D%0A%09%5Eresult%20asActionSequence')); smalltalk.bind(smalltalk.Object,'setActionList:forEvent:','setActionList_forEvent_' ,function (actionSequence,anEvent){ var self=this; try{ var action=nil; action=actionSequence.reduced(); ((((action || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "setActionList_forEvent_", fn: function(){return self.removeActionsForEvent_(anEvent)}})})();})() : nil); self.eventTableForEdit().at_put_(anEvent, action);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "setActionList_forEvent_"){return $$ex.fn();} throw($$ex);}} ,'events',unescape('setActionList%3A%20actionSequence%20forEvent%3A%20anEvent%0D%0A%09%22%20Private%20-%20Set%20the%20list%20of%20actions%20to%20evaluate%20when%20the%20event%20is%20triggered%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20action%20%7C%0D%0A%09action%20%3A%3D%20actionSequence%20reduced.%0D%0A%09action%20isNil%20ifTrue%3A%20%5B%20%5Eself%20removeActionsForEvent%3A%20anEvent%20%5D.%0D%0A%09self%20eventTableForEdit%20at%3A%20anEvent%20put%3A%20action.')); smalltalk.bind(smalltalk.Object,'removeActionsSatisfying:forEvent:','removeActionsSatisfying_forEvent_' ,function (aBlock,anEvent){ var self=this; self.setActionList_forEvent_(self.actionListForEvent_(anEvent).reject_(aBlock), anEvent);return self;} ,'events',unescape('removeActionsSatisfying%3A%20aBlock%20forEvent%3A%20anEvent%0D%0A%09%22%20Private%20-%20Remove%20all%20actions%20for%20the%20event%20that%20evaluates%20aBlock%20to%20true.%22%0D%0A%0D%0A%09self%0D%0A%09%09setActionList%3A%20%28%28self%20actionListForEvent%3A%20anEvent%29%20reject%3A%20aBlock%29%0D%0A%09%09forEvent%3A%20anEvent')); smalltalk.bind(smalltalk.Object,'removeActionsWithReceiver:forEvent:','removeActionsWithReceiver_forEvent_' ,function (anObject,anEvent){ var self=this; self.removeActionsSatisfying_forEvent_((function(each){return each.respondsTo_("receiver").and_((function(){return (each.receiver() === anObject);}));}), anEvent);return self;} ,'events',unescape('removeActionsWithReceiver%3A%20anObject%20forEvent%3A%20anEvent%0D%0A%09%22%20Remove%20all%20actions%20for%20the%20event%20in%20the%20receiver%27s%20event%20table%20which%20have%20anObject%20as%20receiver.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09removeActionsSatisfying%3A%20%5B%3Aeach%7C%20%28each%20respondsTo%3A%20%23receiver%29%20and%3A%20%5B%20each%20receiver%20%3D%3D%20anObject%20%5D%20%5D%0D%0A%09%09forEvent%3A%20anEvent')); smalltalk.bind(smalltalk.Object,'removeAction:forEvent:','removeAction_forEvent_' ,function (anAction,anEvent){ var self=this; self.removeActionsSatisfying_forEvent_((function(each){return each._eq(anAction);}), anEvent);return self;} ,'events',unescape('removeAction%3A%20anAction%20forEvent%3A%20anEvent%0D%0A%09%22%20Remove%20anAction%20for%20the%20event%20in%20the%20receiver%27s%20event%20table%20which%20have%20anObject%20as%20receiver.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09removeActionsSatisfying%3A%20%5B%3Aeach%7C%20each%20%3D%20anAction%20%5D%0D%0A%09%09forEvent%3A%20anEvent')); smalltalk.bind(smalltalk.Object,'when:do:','when_do_' ,function (anEvent,aBlock){ var self=this; self.when_evaluate_(anEvent, aBlock);return self;} ,'events',unescape('when%3A%20anEvent%20do%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20when%20the%20receiver%20triggers%20the%20event.%20%22%0D%0A%0D%0A%09self%20when%3A%20anEvent%20evaluate%3A%20aBlock')); smalltalk.bind(smalltalk.Object,'when:send:to:withArguments:','when_send_to_withArguments_' ,function (anEvent,selector,anObject,array){ var self=this; self.when_evaluate_(anEvent, smalltalk.LinkMessage.receiver_selector_arguments_(anObject, selector, array));return self;} ,'events',unescape('when%3A%20anEvent%20send%3A%20selector%20to%3A%20anObject%20withArguments%3A%20array%0D%0A%09%22%20Send%20the%20message%20when%20the%20receiver%20triggers%20the%20event.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09when%3A%20anEvent%0D%0A%09%09evaluate%3A%20%28LinkMessage%0D%0A%09%09%09receiver%3A%20anObject%0D%0A%09%09%09selector%3A%20selector%0D%0A%09%09%09arguments%3A%20array%29')); smalltalk.bind(smalltalk.Object,'when:send:to:','when_send_to_' ,function (anEvent,selector,anObject){ var self=this; self.when_evaluate_(anEvent, smalltalk.Message.receiver_selector_arguments_(anObject, selector, smalltalk.Array.new_(selector.argumentCount())));return self;} ,'events',unescape('when%3A%20anEvent%20send%3A%20selector%20to%3A%20anObject%0D%0A%09%22%20Send%20the%20message%20when%20the%20receiver%20triggers%20the%20event.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09when%3A%20anEvent%0D%0A%09%09evaluate%3A%20%28Message%0D%0A%09%09%09receiver%3A%20anObject%0D%0A%09%09%09selector%3A%20selector%0D%0A%09%09%09arguments%3A%20%28Array%20new%3A%20selector%20argumentCount%29%29')); smalltalk.bind(smalltalk.Object,'triggerEvent:ifNotHandled:','triggerEvent_ifNotHandled_' ,function (anEvent,aBlock){ var self=this; return self.eventTable().at_ifAbsent_(anEvent, (function(){return aBlock;})).evaluate();return self;} ,'events',unescape('triggerEvent%3A%20anEvent%20ifNotHandled%3A%20aBlock%0D%0A%09%22%20Trigger%20the%20event.%0D%0A%09If%20the%20event%20is%20not%20handled%2C%20return%20the%20value%20of%20evaluating%20aBlock%2C%0D%0A%20%20%20%20%20%20%20%20or%20the%20value%20returned%20by%20the%20most%20recently%20defined%20event%20handler.%0D%0A%09%22%0D%0A%0D%0A%09%5E%28self%20eventTable%20at%3A%20anEvent%20ifAbsent%3A%20%5B%20aBlock%20%5D%29%20evaluate')); smalltalk.bind(smalltalk.Object,'actionForEvent:','actionForEvent_' ,function (anEvent){ var self=this; return self.eventTable().at_ifAbsent_(anEvent, (function(){return nil;}));return self;} ,'events',unescape('actionForEvent%3A%20anEvent%0D%0A%09%22%20Return%20the%20action%20to%20evaluate%20when%20the%20event%20is%20triggered%20by%20the%20receiver%20%28or%20nil%29.%20%22%0D%0A%0D%0A%09%5Eself%20eventTable%20at%3A%20anEvent%20ifAbsent%3A%20%5B%20nil%20%5D')); smalltalk.bind(smalltalk.Object,'triggerEvent:','triggerEvent_' ,function (anEvent){ var self=this; return self.actionForEvent_(anEvent).evaluate();return self;} ,'events',unescape('triggerEvent%3A%20anEvent%0D%0A%09%22%20Return%20the%20result%20of%20triggering%20the%20event.%20%22%0D%0A%0D%0A%09%5E%28self%20actionForEvent%3A%20anEvent%29%20evaluate')); smalltalk.bind(smalltalk.Object,'triggerEvent:withArguments:','triggerEvent_withArguments_' ,function (anEvent,array){ var self=this; return self.actionForEvent_(anEvent).evaluateWithArguments_(array);return self;} ,'events',unescape('triggerEvent%3A%20anEvent%20withArguments%3A%20array%0D%0A%09%22%20Return%20the%20result%20of%20triggering%20the%20event.%20%22%0D%0A%0D%0A%09%5E%28self%20actionForEvent%3A%20anEvent%29%20evaluateWithArguments%3A%20array')); smalltalk.bind(smalltalk.Object,'triggerEvent:with:','triggerEvent_with_' ,function (anEvent,anObject){ var self=this; return self.triggerEvent_withArguments_(anEvent, smalltalk.Array.with_(anObject));return self;} ,'events',unescape('triggerEvent%3A%20anEvent%20with%3A%20anObject%0D%0A%09%22%20Return%20the%20result%20of%20triggering%20the%20event.%20%22%0D%0A%0D%0A%09%5Eself%20triggerEvent%3A%20anEvent%20withArguments%3A%20%28Array%20with%3A%20anObject%29')); smalltalk.bind(smalltalk.Object,'triggerEvent:with:with:','triggerEvent_with_with_' ,function (anEvent,anObject,anotherObject){ var self=this; return self.triggerEvent_withArguments_(anEvent, smalltalk.Array.with_with_(anObject, anotherObject));return self;} ,'events',unescape('triggerEvent%3A%20anEvent%20with%3A%20anObject%20with%3A%20anotherObject%0D%0A%09%22%20Return%20the%20result%20of%20triggering%20the%20event.%20%22%0D%0A%0D%0A%09%5Eself%20triggerEvent%3A%20anEvent%20withArguments%3A%20%28Array%20with%3A%20anObject%20with%3A%20anotherObject%29')); smalltalk.bind(smalltalk.Object,'triggerEvent:withArguments:ifNotHandled:','triggerEvent_withArguments_ifNotHandled_' ,function (anEvent,array,aBlock){ var self=this; return self.eventTable().at_ifAbsent_(anEvent, (function(){return aBlock;})).evaluateWithArguments_(array);return self;} ,'events',unescape('triggerEvent%3A%20anEvent%20withArguments%3A%20array%20ifNotHandled%3A%20aBlock%0D%0A%09%22%20Return%20the%20result%20of%20triggering%20the%20eventwith%20the%20arguments.%0D%0A%09If%20the%20event%20is%20not%20handled%2C%20return%20the%20value%20of%20evaluating%20aBlock%2C%0D%0A%09or%20the%20value%20returned%20by%20the%20most%20recently%20defined%20event%20handler%20action.%0D%0A%09%22%0D%0A%0D%0A%09%5E%28self%20eventTable%20at%3A%20anEvent%20ifAbsent%3A%20%5B%20aBlock%20%5D%29%20evaluateWithArguments%3A%20array')); smalltalk.bind(smalltalk.Object,'hasActionForEvent:','hasActionForEvent_' ,function (anEvent){ var self=this; return self.eventTable().includesKey_(anEvent);return self;} ,'events',unescape('hasActionForEvent%3A%20anEvent%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20has%20an%20action%20registered%20for%20the%20event.%20%22%0D%0A%0D%0A%09%5Eself%20eventTable%20includesKey%3A%20anEvent')); smalltalk.bind(smalltalk.Object,'eventsHandled','eventsHandled' ,function (){ var self=this; return self.eventTable().keys();return self;} ,'events',unescape('eventsHandled%0D%0A%09%22%20Return%20the%20events%20for%20which%20there%20are%20actions%20registered%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20eventTable%20keys')); smalltalk.bind(smalltalk.Object,'removeAllActionsWithReceiver:','removeAllActionsWithReceiver_' ,function (anObject){ var self=this; self.eventTable().keys().do_((function(each){return self.removeActionsWithReceiver_forEvent_(anObject, each);}));return self;} ,'events',unescape('removeAllActionsWithReceiver%3A%20anObject%0D%0A%09%22%20Remove%20all%20actions%20for%20all%20events%20in%20the%20receiver%27s%20event%20table%20with%20anObject%20as%20receiver.%20%22%0D%0A%0D%0A%09self%20eventTable%20keys%20do%3A%20%5B%3Aeach%7Cself%20removeActionsWithReceiver%3A%20anObject%20forEvent%3A%20each%20%5D')); smalltalk.bind(smalltalk.Object,'removeActionsForEvent:','removeActionsForEvent_' ,function (anEvent){ var self=this; try{ var actions=nil; actions=self.eventTable(); actions.removeKey_ifAbsent_(anEvent, (function(){return (function(){throw({name: "stReturn", selector: "removeActionsForEvent_", fn: function(){return self}})})();})); ((actions.isEmpty()).mustBeBoolean()==true ? (function(){return self.releaseEventTable();})() : nil);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "removeActionsForEvent_"){return $$ex.fn();} throw($$ex);}} ,'events',unescape('removeActionsForEvent%3A%20anEvent%0D%0A%09%22%20Remove%20all%20actions%20for%20the%20event.%20%22%0D%0A%0D%0A%09%7C%20actions%20%7C%0D%0A%09actions%20%3A%3D%20self%20eventTable.%0D%0A%09actions%20removeKey%3A%20anEvent%20ifAbsent%3A%20%5B%20%5Eself%20%5D.%0D%0A%09actions%20isEmpty%20ifTrue%3A%20%5B%20self%20releaseEventTable%20%5D.')); smalltalk.bind(smalltalk.Object,'addDependent:','addDependent_' ,function (anObject){ var self=this; self.when_send_to_("changed", "update", anObject);return self;} ,'change/update',unescape('addDependent%3A%20anObject%0D%0A%09%22%20Make%20anObject%20dependent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09when%3A%20%23changed%0D%0A%09%09send%3A%20%23update%0D%0A%09%09to%3A%20anObject')); smalltalk.bind(smalltalk.Object,'changed','changed' ,function (){ var self=this; self.triggerEvent_("changed");return self;} ,'change/update',unescape('changed%0D%0A%09%22%20Update%20the%20dependents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20triggerEvent%3A%20%23changed')); smalltalk.bind(smalltalk.Object,'updateEvent:selector:arguments:','updateEvent_selector_arguments_' ,function (anEvent,selector,array){ var self=this; try{ var action=nil; action=self.eventTable().at_ifAbsent_(anEvent, (function(){return (function(){throw({name: "stReturn", selector: "updateEvent_selector_arguments_", fn: function(){return nil}})})();})); action.asActionSequence().evaluateWithSelector_withArguments_(selector, array);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "updateEvent_selector_arguments_"){return $$ex.fn();} throw($$ex);}} ,'change/update',unescape('updateEvent%3A%20anEvent%20selector%3A%20selector%20arguments%3A%20array%0D%0A%09%22%20Private%20-%20Trigger%20the%20event%20with%20the%20message%20selector%20and%20the%20arguments.%20%22%0D%0A%0D%0A%09%7C%20action%20%7C%0D%0A%09action%20%3A%3D%20self%20eventTable%20at%3A%20anEvent%20ifAbsent%3A%20%5B%20%5Enil%20%5D.%0D%0A%09action%20asActionSequence%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20evaluateWithSelector%3A%20selector%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20withArguments%3A%20array')); smalltalk.bind(smalltalk.Object,'changed:','changed_' ,function (aspect){ var self=this; self.updateEvent_selector_arguments_("changed", "update:", smalltalk.Array.with_(aspect));return self;} ,'change/update',unescape('changed%3A%20aspect%0D%0A%09%22%20Update%20the%20dependents%20on%20aspect%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20updateEvent%3A%20%23changed%20selector%3A%20%23update%3A%20arguments%3A%20%28Array%20with%3A%20aspect%29')); smalltalk.bind(smalltalk.Object,'changed:with:','changed_with_' ,function (aspect,anObject){ var self=this; self.updateEvent_selector_arguments_("changed", "update:with:", smalltalk.Array.with_with_(aspect, anObject));return self;} ,'change/update',unescape('changed%3A%20aspect%20with%3A%20anObject%0D%0A%09%22%20Update%20the%20dependents%20on%20aspect%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20updateEvent%3A%20%23changed%20selector%3A%20%23update%3Awith%3A%20arguments%3A%20%28Array%20with%3A%20aspect%20with%3A%20anObject%29')); smalltalk.bind(smalltalk.Object,'changed:with:with:','changed_with_with_' ,function (aspect,anObject,anotherObject){ var self=this; self.updateEvent_selector_arguments_("changed", "update:with:with:", smalltalk.Array.with_with_with_(aspect, anObject, anotherObject));return self;} ,'change/update',unescape('changed%3A%20aspect%20with%3A%20anObject%20with%3A%20anotherObject%0D%0A%09%22%20Update%20the%20dependents%20on%20aspect%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20updateEvent%3A%20%23changed%20selector%3A%20%23update%3Awith%3Awith%3A%20arguments%3A%20%28Array%20with%3A%20aspect%20with%3A%20anObject%20with%3A%20anotherObject%29')); smalltalk.bind(smalltalk.Object,'dependents','dependents' ,function (){ var self=this; return self.actionListForEvent_("changed").collect_((function(each){return each.receiver();}));return self;} ,'change/update',unescape('dependents%0D%0A%09%22%20Return%20the%20dependents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%28self%20actionListForEvent%3A%20%23changed%29%20collect%3A%20%5B%3Aeach%20%7C%20each%20receiver%20%5D')); smalltalk.bind(smalltalk.Object,'update:with:','update_with_' ,function (anObject,anotherObject){ var self=this; return self;} ,'change/update',unescape('update%3A%20anObject%20with%3A%20anotherObject%0D%0A%09%22%20Update%20the%20receiver.%0D%0A%09Default%20implementation%20do%20nothing.%0D%0A%09This%20method%20must%20be%20refined%20by%20subclasses%20to%20support%20change/update%20protocoll.%0D%0A%09%22')); smalltalk.bind(smalltalk.Object,'update:','update_' ,function (anObject){ var self=this; return self;} ,'change/update',unescape('update%3A%20anObject%0D%0A%09%22%20Update%20the%20receiver.%0D%0A%09Default%20implementation%20do%20nothing.%0D%0A%09This%20method%20must%20be%20refined%20by%20subclasses%20to%20support%20change/update%20protocoll.%0D%0A%09%22')); smalltalk.bind(smalltalk.Object,'mustBeBoolean','mustBeBoolean' ,function (){ var self=this; return self.error_("Must be boolean.");return self;} ,'testing',unescape('mustBeBoolean%0D%0A%09%22%20Signal%20an%20error%20if%20the%20receiver%20is%20not%20a%20Boolean.%20%22%0D%0A%0D%0A%09%5Eself%20error%3A%20%27Must%20be%20boolean.%27')); smalltalk.bind(smalltalk.Object,'isParseFailure','isParseFailure' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isParseFailure%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20parsing%20failure.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Object,'scanFrom:','scanFrom_' ,function (aStream){ var self=this; try{ var chunk=nil; chunk=aStream.nextChunk(); ((chunk.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "scanFrom_", fn: function(){return nil}})})();})() : nil); (function(){throw({name: "stReturn", selector: "scanFrom_", fn: function(){return chunk.evaluate()}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "scanFrom_"){return $$ex.fn();} throw($$ex);}} ,'fileIn',unescape('scanFrom%3A%20aStream%0D%0A%09%22%20FileIn%20-%20Return%20the%20result%20of%20evaluating%20the%20next%20chunk%20of%20data%20from%20aStream.%0D%0A%09The%20method%20can%20be%20refined%20by%20chunk%20readers%20to%20support%20custom%20fileIn%20features.%0D%0A%09Must%20return%20the%20next%20reader%20to%20use%20for%20reading%20remaining%20contents%20from%20aStream.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20chunk%20%7C%0D%0A%09chunk%20%3A%3D%20aStream%20nextChunk.%0D%0A%09chunk%20isEmpty%20ifTrue%3A%20%5B%20%5Enil%20%5D.%0D%0A%09%5Echunk%20evaluate')); smalltalk.bind(smalltalk.Object,'javascriptCodeFollows','javascriptCodeFollows' ,function (){ var self=this; return smalltalk.ChunkReader.javascript();return self;} ,'fileIn',unescape('javascriptCodeFollows%0D%0A%09%22%20FileIn%20-%20FileIn%20javascript%20code%20on%20current%20stream.%0D%0A%09Consume%20stream%20contents%20upto%20end%20of%20stream%20evaluating%20the%20contents%20as%20javascript%20code.%0D%0A%09%22%0D%0A%0D%0A%09%5EChunkReader%20javascript')); smalltalk.bind(smalltalk.Object,'cancelFileIn','cancelFileIn' ,function (){ var self=this; return smalltalk.CancelFileInReader.$$new();return self;} ,'fileIn',unescape('cancelFileIn%0D%0A%09%22%20FileIn%20-%20Cancel%20fileIn%20on%20current%20stream.%0D%0A%09Consume/Ignore%20stream%20contents%20upto%20end%20of%20stream.%0D%0A%09%22%0D%0A%09%5ECancelFileInReader%20new')); smalltalk.bind(smalltalk.Object,'==','_eq_eq' ,function (anObject){ var self=this; return (self === anObject);return self;} ,'comparing',unescape('%3D%3D%20anObject%0D%0A%0D%0A%09%5Eself%20%3D%3D%3D%20anObject%20%22this%20message%20will%20be%20inlined/optimized%20by%20compiler%22')); smalltalk.bind(smalltalk.Object,'~~','_no_no' ,function (anObject){ var self=this; return ((self === anObject) === false);return self;} ,'comparing',unescape('%7E%7E%20anObject%0D%0A%09%5E%28self%20%3D%3D%20anObject%29%20%3D%3D%20false')); smalltalk.bind(smalltalk.Object,'asJS','asJS' ,function (){ var self=this; return smalltalk.JS._at(self);return self;} ,'converting',unescape('asJS%0D%0A%09%22%20Convert%20the%20receiver%20to%20JS%20instance%20%28for%20reflection%29.%20%22%0D%0A%0D%0A%09%5EJS%20@%20self')); smalltalk.bind(smalltalk.Smalltalk.$klass,'current','current' ,function (){ var self=this; return smalltalk;return self;} ,'accessing',unescape('current%0D%0A%09%22%20Return%20the%20current%20smalltalk%20system%20instance.%20%22%0D%0A%0D%0A%7B%27%09return%20smalltalk%27%7D')); smalltalk.bind(smalltalk.Smalltalk.$klass,'at:ifAbsent:','at_ifAbsent_' ,function (aGlobalName,aBlock){ var self=this; return (self.current()[aGlobalName] || aBlock.value());return self;} ,'accessing',unescape('at%3A%20aGlobalName%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20global%20known%20as%20aGlobalName%20in%20the%20receiver%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%09%5Eself%20current%20basicAt%3A%20aGlobalName%20ifAbsent%3A%20aBlock')); smalltalk.bind(smalltalk.Smalltalk.$klass,'includesKey:','includesKey_' ,function (aGlobalName){ var self=this; try{ self.at_ifAbsent_(aGlobalName, (function(){return (function(){throw({name: "stReturn", selector: "includesKey_", fn: function(){return false}})})();})); (function(){throw({name: "stReturn", selector: "includesKey_", fn: function(){return true}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "includesKey_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('includesKey%3A%20aGlobalName%0D%0A%09%22%20Return%20true%20if%20the%20global%20aGlobalName%20is%20defined%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20at%3A%20aGlobalName%20ifAbsent%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Smalltalk.$klass,'at:','at_' ,function (aGlobalName){ var self=this; return (self.current()[aGlobalName] || (function(){return nil;}).value());return self;} ,'accessing',unescape('at%3A%20aGlobalName%0D%0A%09%22%20Return%20the%20global%20known%20as%20aGlobalName%20in%20the%20receiver%20or%20nil.%20%22%0D%0A%0D%0A%09%5Eself%20current%20basicAt%3A%20aGlobalName%20ifAbsent%3A%20%5B%20nil%20%5D')); smalltalk.bind(smalltalk.Smalltalk.$klass,'at:put:','at_put_' ,function (aGlobalName,anObject){ var self=this; return (self.current()[aGlobalName]=(anObject));return self;} ,'accessing',unescape('at%3A%20aGlobalName%20put%3A%20anObject%0D%0A%09%22%20Set%20the%20global%20known%20as%20aGlobalName%20in%20the%20receiver%20top%20anObject.%20%22%0D%0A%0D%0A%09%5Eself%20current%20basicAt%3A%20aGlobalName%20put%3A%20anObject')); smalltalk.bind(smalltalk.Smalltalk.$klass,'at:ifAbsentPut:','at_ifAbsentPut_' ,function (aGlobalName,aBlock){ var self=this; return self.at_ifAbsent_(aGlobalName, (function(){return self.at_put_(aGlobalName, aBlock.value());}));return self;} ,'accessing',unescape('at%3A%20aGlobalName%20ifAbsentPut%3A%20aBlock%0D%0A%09%22%20Return%20the%20global%20known%20as%20aGlobalName%20in%20the%20receiver%20or%20the%20result%20of%20evaluating%20aBlock.%0D%0A%09Set%20the%20global%20to%20return%20value%20if%20was%20absent.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20at%3A%20aGlobalName%20ifAbsent%3A%20%5B%0D%0A%09%09self%20at%3A%20aGlobalName%20put%3A%20aBlock%20value%0D%0A%09%5D')); smalltalk.bind(smalltalk.Smalltalk.$klass,'definePool:with:','definePool_with_' ,function (poolName,tuples){ var self=this; return self.current().definePool_with_(poolName, tuples);return self;} ,'accessing',unescape('definePool%3A%20poolName%20with%3A%20tuples%0D%0A%09%22%20Define%20the%20pool%20dictionary%20from%20tuples%20specification.%20%22%0D%0A%0D%0A%09%5Eself%20current%20definePool%3A%20poolName%20with%3A%20tuples')); smalltalk.bind(smalltalk.Smalltalk.$klass,'poolDictionary:ifAbsent:','poolDictionary_ifAbsent_' ,function (aPoolName,aBlock){ var self=this; return self.current().poolDictionary_ifAbsent_(aPoolName, aBlock);return self;} ,'accessing',unescape('poolDictionary%3A%20aPoolName%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20pool%20dictionary%20named%20aPoolName%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%09%5Eself%20current%20poolDictionary%3A%20aPoolName%20ifAbsent%3A%20aBlock')); smalltalk.bind(smalltalk.Smalltalk.$klass,'objectAt:ifAbsent:','objectAt_ifAbsent_' ,function (aName,aBlock){ var self=this; return self.current().objectAt_ifAbsent_(aName, aBlock);return self;} ,'accessing',unescape('objectAt%3A%20aName%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20%28global%20scoped%29%20smalltalk%20object%20at%20aName%20or%20the%20result%20of%20evaluating%20aBlock%20%28if%20undefined%20or%20not%20an%20Object%20instance%29.%20%22%0D%0A%0D%0A%09%5Eself%20current%20objectAt%3A%20aName%20ifAbsent%3A%20aBlock')); smalltalk.bind(smalltalk.Smalltalk.$klass,'jsObjectAt:ifAbsent:','jsObjectAt_ifAbsent_' ,function (aName,aBlock){ var self=this; return self.current().jsObjectAt_ifAbsent_(aName, aBlock);return self;} ,'accessing',unescape('jsObjectAt%3A%20aName%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20%28global%20scoped%29%20javascript%20object%20at%20aName%20or%20the%20result%20of%20evaluating%20aBlock%20%28if%20undefined%29.%20%22%0D%0A%0D%0A%09%5Eself%20current%20jsObjectAt%3A%20aName%20ifAbsent%3A%20aBlock')); smalltalk.bind(smalltalk.Smalltalk.$klass,'global','global' ,function (){ var self=this; return (function(){return this;}).call(null);return self;} ,'accessing',unescape('global%0D%0A%09%22%20Return%20the%20global%20%28javascript%29%20object.%20%22%0D%0A%0D%0A%09%5E%5B%23%7Bthis%7D%5D%20%23call%3A%20%23%7Bnull%7D')); smalltalk.bind(smalltalk.Smalltalk.$klass,'classes','classes' ,function (){ var self=this; return self.current().classes();return self;} ,'accessing',unescape('classes%0D%0A%09%22%20Return%20the%20classes%20defined%20in%20current%20instance.%20%22%0D%0A%0D%0A%09%5Eself%20current%20classes')); smalltalk.bind(smalltalk.Smalltalk.$klass,'saveImageAs:','saveImageAs_' ,function (fileName){ var self=this; self.current().saveImageAs_(fileName);return self;} ,'snapshot',unescape('saveImageAs%3A%20fileName%0D%0A%09%22%20Dump%20the%20image%20contents%20onto%20file%20at%20fileName.%20%22%0D%0A%0D%0A%09self%20current%20saveImageAs%3A%20fileName')); smalltalk.bind(smalltalk.Smalltalk.$klass,'saveImage','saveImage' ,function (){ var self=this; self.current().saveImage();return self;} ,'snapshot',unescape('saveImage%0D%0A%09%22%20Dump%20the%20image%20contents%20onto%20image%20file.%20%22%0D%0A%0D%0A%09self%20current%20saveImage')); smalltalk.bind(smalltalk.Smalltalk.$klass,'exit','exit' ,function (){ var self=this; self.current().exit();return self;} ,'exiting',unescape('exit%0D%0A%09%22%20Exit%20to%20OS%20system.%20%22%0D%0A%0D%0A%09%0D%0A%09self%20current%20exit')); smalltalk.bind(smalltalk.Smalltalk,'objectAt:ifAbsent:','objectAt_ifAbsent_' ,function (aName,aBlock){ var self=this; try{ var result=nil; (function(){result=eval(aName);return result.yourself();}).on_do_(smalltalk.Error, (function(ex){return (function(){throw({name: "stReturn", selector: "objectAt_ifAbsent_", fn: function(){return (self[aName] || aBlock.value())}})})();})); (function(){throw({name: "stReturn", selector: "objectAt_ifAbsent_", fn: function(){return result}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "objectAt_ifAbsent_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('objectAt%3A%20aName%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20%28global%20scoped%29%20smalltalk%20object%20at%20aName%20or%20the%20result%20of%20evaluating%20aBlock%20%28if%20undefined%20or%20not%20an%20Object%20instance%29.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09%5B%09result%20%3A%3D%20%23%20%23eval%3A%20aName.%0D%0A%09%09result%20yourself%0D%0A%09%5D%20on%3A%20Error%20do%3A%20%5B%3Aex%7C%0D%0A%09%09%5Eself%20basicAt%3A%20aName%20ifAbsent%3A%20aBlock%0D%0A%09%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Smalltalk,'jsObjectAt:ifAbsent:','jsObjectAt_ifAbsent_' ,function (aName,aBlock){ var self=this; try{ var result=nil; ((eval("typeof "._comma(aName))._eq("undefined")).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "jsObjectAt_ifAbsent_", fn: function(){return aBlock.value()}})})();})() : nil); (function(){throw({name: "stReturn", selector: "jsObjectAt_ifAbsent_", fn: function(){return eval(aName)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "jsObjectAt_ifAbsent_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('jsObjectAt%3A%20aName%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20%28global%20scoped%29%20javascript%20object%20at%20aName%20or%20the%20result%20of%20evaluating%20aBlock%20%28if%20undefined%29.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09%28%23%20%23eval%3A%20%27typeof%20%27%2CaName%29%20%3D%20%27undefined%27%20ifTrue%3A%20%5B%20%5EaBlock%20value%20%5D.%0D%0A%09%5E%23%20%23eval%3A%20aName')); smalltalk.bind(smalltalk.Smalltalk,'definePool:','definePool_' ,function (poolName){ var self=this; return self.definePool_with_(poolName, smalltalk.Array.$$new());return self;} ,'accessing',unescape('definePool%3A%20poolName%0D%0A%09%22%20Define%20the%20pool%20dictionary%20%28if%20it%20is%20not%20defined%20yet%29.%20%22%0D%0A%0D%0A%09%5Eself%20definePool%3A%20poolName%20with%3A%20Array%20new')); smalltalk.bind(smalltalk.Smalltalk,'poolDictionary:ifAbsent:','poolDictionary_ifAbsent_' ,function (aPoolName,aBlock){ var self=this; return (self[aPoolName] || (function(){return aBlock.value();}).value());return self;} ,'accessing',unescape('poolDictionary%3A%20aPoolName%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20pool%20dictionary%20named%20aPoolName%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20aPoolName%20ifAbsent%3A%20%5B%20aBlock%20value%20%5D')); smalltalk.bind(smalltalk.Smalltalk,'poolDictionary:','poolDictionary_' ,function (aPoolName){ var self=this; return self.poolDictionary_ifAbsent_(aPoolName, (function(){return self.definePool_(aPoolName);}));return self;} ,'accessing',unescape('poolDictionary%3A%20aPoolName%0D%0A%09%22%20Return%20the%20pool%20dictionary%20named%20aPoolName.%20%22%0D%0A%0D%0A%09%5Eself%20poolDictionary%3A%20aPoolName%20ifAbsent%3A%20%5B%0D%0A%09%09%22self%20error%3A%20%27Missing%20Pool%20dictionary%3A%20%27%2CaPoolName.%20%22%0D%0A%09%09self%20definePool%3A%20aPoolName%0D%0A%09%5D')); smalltalk.bind(smalltalk.Smalltalk,'debugDefinePool:with:','debugDefinePool_with_' ,function (poolName,tuples){ var self=this; try{ ((true).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "debugDefinePool_with_", fn: function(){return self}})})();})() : nil); self.print_(unescape("smalltalk.definePool_with_%28%22")._comma(poolName)._comma(unescape("%22%2C%5B"))); tuples.do_((function(tuple){return self.print_(unescape("%09%5B")._comma(tuple.first().printString())._comma(unescape("%2C"))._comma(tuple.last().printString())._comma(unescape("%5D%2C")));})); self.print_(unescape("%09%5D%29%3B"));return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "debugDefinePool_with_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('debugDefinePool%3A%20poolName%20with%3A%20tuples%0D%0A%09%22%20DEBUG%20-%20Dump%20definition%20of%20the%20pool%20dictionary.%20%22%0D%0A%0D%0A%09true%20ifTrue%3A%20%5B%20%5Eself%20%5D.%20%22//Ale%20edit%20this%20method%20to%20write%20pool%20definitions%20onto%20dump%20stream.%22%0D%0A%09self%20print%3A%20%27smalltalk.definePool_with_%28%22%27%2CpoolName%2C%27%22%2C%5B%27.%0D%0A%09tuples%20do%3A%20%5B%3Atuple%7C%20self%20print%3A%20%27%09%5B%27%2Ctuple%20first%20printString%2C%27%2C%27%2Ctuple%20last%20printString%2C%27%5D%2C%27%20%5D.%0D%0A%09self%20print%3A%20%27%09%5D%29%3B%27.')); smalltalk.bind(smalltalk.Smalltalk,'definePool:with:','definePool_with_' ,function (poolName,tuples){ var self=this; var dictionary=nil; dictionary=(self[poolName] || (function(){return (self[poolName]=(smalltalk.Dictionary.$$new()));}).value()); tuples.do_((function(tuple){return dictionary.at_put_(tuple.first(), tuple.last());})); self.debugDefinePool_with_(poolName, tuples); return dictionary;return self;} ,'accessing',unescape('definePool%3A%20poolName%20with%3A%20tuples%0D%0A%09%22%20Define%20the%20pool%20dictionary.%20%22%0D%0A%0D%0A%09%7C%20dictionary%20%7C%0D%0A%09dictionary%20%3A%3D%20self%20basicAt%3A%20poolName%20ifAbsent%3A%20%5B%0D%0A%09%09self%20basicAt%3A%20poolName%20put%3A%20Dictionary%20new%0D%0A%09%5D.%0D%0A%09tuples%20do%3A%20%5B%3Atuple%7C%20dictionary%20at%3A%20tuple%20first%20put%3A%20tuple%20last%20%5D.%0D%0A%09self%20debugDefinePool%3A%20poolName%20with%3A%20tuples.%0D%0A%09%5Edictionary')); smalltalk.bind(smalltalk.Smalltalk,'recompileAll','recompileAll' ,function (){ var self=this; self.classes().do_((function(each){return each.recompile();}));return self;} ,'compiling',unescape('recompileAll%0D%0A%09%22%20Recompile%20all%20classes%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20classes%20do%3A%20%5B%3Aeach%20%7C%20each%20recompile%20%5D')); smalltalk.bind(smalltalk.Smalltalk,'readJSON:','readJSON_' ,function (anObject){ var self=this; return self.readJSObject(anObject);return self;} ,'accessing',unescape('readJSON%3A%20anObject%0D%0A%09%22%20Return%20an%20object%20read%20from%20JSON%20map%20object%20anObject.%20%22%0D%0A%0D%0A%09%5Eself%20%23readJSObject%3A%20anObject')); smalltalk.bind(smalltalk.Smalltalk,'exit','exit' ,function (){ var self=this; self.classes().do_((function(each){return each.aboutToExit_(self);})); quit();return self;} ,'exiting',unescape('exit%0D%0A%09%22%20Exit%20to%20OS%20system.%20%22%0D%0A%0D%0A%09self%20classes%20do%3A%20%5B%3Aeach%7C%20each%20aboutToExit%3A%20self%20%5D.%0D%0A%09%23%20quit')); smalltalk.bind(smalltalk.Smalltalk,'product','product' ,function (){ var self=this; return "S8";return self;} ,'accessing',unescape('product%0D%0A%09%22%20Private%20-%20Return%20the%20name%20of%20the%20system.%20%22%0D%0A%0D%0A%09%5E%23S8')); smalltalk.bind(smalltalk.Smalltalk,'description','description' ,function (){ var self=this; return smalltalk.Smalltalk.at_ifAbsent_("U8Contribution", (function(){return unescape("A%20contribution%20to%20u8.smalltalking.net%20%28powered%20by%20S8%29");}));return self;} ,'accessing',unescape('description%0D%0A%09%22%20Private%20-%20Return%20the%20description%20of%20the%20system.%20%22%0D%0A%0D%0A%09%5ESmalltalk%20at%3A%20%23U8Contribution%20ifAbsent%3A%20%5B%0D%0A%09%09%27A%20contribution%20to%20u8.smalltalking.net%20%28powered%20by%20S8%29%27%0D%0A%09%5D')); smalltalk.bind(smalltalk.Smalltalk,'licenseComment','licenseComment' ,function (){ var self=this; return unescape("This%20system%20has%20been%20built%20using%20U8%2C%0D%0A%20a%20service%20for%20social%20software%20development%0D%0A%20hosted%20at%20http%3A//u8.smalltalk.net");return self;} ,'license',unescape('licenseComment%0D%0A%09%22%20Private%20-%20Comment%20note%20about%20license%20of%20this%20product.%20%22%0D%0A%0D%0A%09%5E%27This%20system%20has%20been%20built%20using%20U8%2C%0D%0A%20a%20service%20for%20social%20software%20development%0D%0A%20hosted%20at%20http%3A//u8.smalltalk.net%27')); smalltalk.bind(smalltalk.Smalltalk,'licenseTerms','licenseTerms' ,function (){ var self=this; return self.product()._comma(unescape("%20-%20"))._comma(self.description())._comma(unescape("%0D%0A"))._comma(self.licenseMoreHolders())._comma(unescape("%0D%0A"))._comma(self.licenseHolders())._comma(unescape("%0D%0APermission%20is%20hereby%20granted%2C%20free%20of%20charge%2C%20to%20any%20person%20obtaining%0D%0A%20a%20copy%20of%20this%20software%20and%20associated%20documentation%20files%20%28the%20%22Software%22%29%2C%0D%0A%20to%20deal%20in%20the%20Software%20without%20restriction%2C%20including%20without%20limitation%0D%0A%20the%20rights%20to%20use%2C%20copy%2C%20modify%2C%20merge%2C%20publish%2C%20distribute%2C%20sublicense%2C%0D%0A%20and/or%20sell%20copies%20of%20the%20Software%2C%20and%20to%20permit%20persons%20to%20whom%20the%0D%0A%20Software%20is%20furnished%20to%20do%20so%2C%20subject%20to%20the%20following%20conditions%3A%0D%0A%0D%0AThe%20above%20copyright%20notice%20and%20this%20permission%20notice%20shall%20be%20included%0D%0A%20in%20all%20copies%20or%20substantial%20portions%20of%20the%20Software.%0D%0A%0D%0ATHE%20SOFTWARE%20IS%20PROVIDED%20%22AS%20IS%22%2C%20WITHOUT%20WARRANTY%20OF%20ANY%20KIND%2C%0D%0A%20EXPRESS%20OR%20IMPLIED%2C%20INCLUDING%20BUT%20NOT%20LIMITED%20TO%20THE%20WARRANTIES%0D%0A%20OF%20MERCHANTABILITY%2C%20FITNESS%20FOR%20A%20PARTICULAR%20PURPOSE%20AND%20NONINFRINGEMENT.%0D%0A%20IN%20NO%20EVENT%20SHALL%20THE%20AUTHORS%20OR%20COPYRIGHT%20HOLDERS%20BE%20LIABLE%20FOR%20ANY%0D%0A%20CLAIM%2C%20DAMAGES%20OR%20OTHER%20LIABILITY%2C%20WHETHER%20IN%20AN%20ACTION%20OF%20CONTRACT%2C%0D%0A%20TORT%20OR%20OTHERWISE%2C%20ARISING%20FROM%2C%20OUT%20OF%20OR%20IN%20CONNECTION%20WITH%20THE%20SOFTWARE%0D%0A%20OR%20THE%20USE%20OR%20OTHER%20DEALINGS%20IN%20THE%20SOFTWARE.%0D%0A----------------------------------------------------------------------%0D%0A"))._comma(self.licenseComment());return self;} ,'license',unescape('licenseTerms%0D%0A%09%22%20Private%20-%20Return%20the%20license%20terms%20to%20use%20this%20system.%20%22%0D%0A%0D%0A%09%5Eself%20product%2C%27%20-%20%27%2Cself%20description%20%2C%27%0D%0A%27%2Cself%20licenseMoreHolders%09%2C%27%0D%0A%27%2Cself%20licenseHolders%09%09%2C%27%0D%0APermission%20is%20hereby%20granted%2C%20free%20of%20charge%2C%20to%20any%20person%20obtaining%0D%0A%20a%20copy%20of%20this%20software%20and%20associated%20documentation%20files%20%28the%20%22Software%22%29%2C%0D%0A%20to%20deal%20in%20the%20Software%20without%20restriction%2C%20including%20without%20limitation%0D%0A%20the%20rights%20to%20use%2C%20copy%2C%20modify%2C%20merge%2C%20publish%2C%20distribute%2C%20sublicense%2C%0D%0A%20and/or%20sell%20copies%20of%20the%20Software%2C%20and%20to%20permit%20persons%20to%20whom%20the%0D%0A%20Software%20is%20furnished%20to%20do%20so%2C%20subject%20to%20the%20following%20conditions%3A%0D%0A%0D%0AThe%20above%20copyright%20notice%20and%20this%20permission%20notice%20shall%20be%20included%0D%0A%20in%20all%20copies%20or%20substantial%20portions%20of%20the%20Software.%0D%0A%0D%0ATHE%20SOFTWARE%20IS%20PROVIDED%20%22AS%20IS%22%2C%20WITHOUT%20WARRANTY%20OF%20ANY%20KIND%2C%0D%0A%20EXPRESS%20OR%20IMPLIED%2C%20INCLUDING%20BUT%20NOT%20LIMITED%20TO%20THE%20WARRANTIES%0D%0A%20OF%20MERCHANTABILITY%2C%20FITNESS%20FOR%20A%20PARTICULAR%20PURPOSE%20AND%20NONINFRINGEMENT.%0D%0A%20IN%20NO%20EVENT%20SHALL%20THE%20AUTHORS%20OR%20COPYRIGHT%20HOLDERS%20BE%20LIABLE%20FOR%20ANY%0D%0A%20CLAIM%2C%20DAMAGES%20OR%20OTHER%20LIABILITY%2C%20WHETHER%20IN%20AN%20ACTION%20OF%20CONTRACT%2C%0D%0A%20TORT%20OR%20OTHERWISE%2C%20ARISING%20FROM%2C%20OUT%20OF%20OR%20IN%20CONNECTION%20WITH%20THE%20SOFTWARE%0D%0A%20OR%20THE%20USE%20OR%20OTHER%20DEALINGS%20IN%20THE%20SOFTWARE.%0D%0A----------------------------------------------------------------------%0D%0A%27%2Cself%20licenseComment')); smalltalk.bind(smalltalk.Smalltalk,'licenseYear','licenseYear' ,function (){ var self=this; return smalltalk.DateTime.today().year();return self;} ,'license',unescape('licenseYear%0D%0A%09%22%20Private%20-%20Return%20the%20license%20information.%20%22%0D%0A%0D%0A%09%5EDateTime%20today%20year')); smalltalk.bind(smalltalk.Smalltalk,'licenseMoreHolders','licenseMoreHolders' ,function (){ var self=this; return unescape("Copyright%20%28C%29%20")._comma(self.licenseYear().asString())._comma(" ")._comma(smalltalk.Smalltalk.at_ifAbsent_("U8User", (function(){return unescape("-");})))._comma(" ")._comma(smalltalk.Smalltalk.at_ifAbsent_("U8ContributionURL", (function(){return unescape("A%20contribution%20without%20history%20link.%20This%20situation%20should%20not%20happen.%20Please%20report%20this%20incident%20to%20info@smalltalking.net%20");})));return self;} ,'license',unescape('licenseMoreHolders%0D%0A%09%22%20Private%20-%20Return%20the%20license%20information.%20%22%0D%0A%0D%0A%09%5E%27Copyright%20%28C%29%20%27%0D%0A%09%09%2Cself%20licenseYear%20asString%20%2C%27%20%27%0D%0A%09%09%2C%28Smalltalk%20at%3A%20%23U8User%20ifAbsent%3A%20%5B%20%27-%27%20%5D%29%20%2C%27%20%27%0D%0A%09%09%2C%28Smalltalk%20at%3A%20%23U8ContributionURL%20ifAbsent%3A%20%5B%0D%0A%09%09%09%27A%20contribution%20without%20history%20link.%20This%20situation%20should%20not%20happen.%20Please%20report%20this%20incident%20to%20info@smalltalking.net%20%27%0D%0A%09%09%5D%29')); smalltalk.bind(smalltalk.Smalltalk,'licenseHolders','licenseHolders' ,function (){ var self=this; return unescape("Copyright%20%28C%29%20")._comma(self.licenseYear().asString())._comma(" ")._comma(unescape("Alejandro%20F.%20Reimondo%20%3CaleReimondo@smalltalking.net%3E%20http%3A//www.aleReimondo.com%0D%0A%0D%0AParts%20of%20source%20code%20written%20for%20Jtalk%2C%20Copyright%20%28C%29%202011%20by%20Nicolas%20Petton%20%3Cpetton.nicolas@gmail.com%3E%0D%0AAlso%20code%20and%20ideas%20from%20Clamato%20%28http%3A//clamato.net%29%2C%20written%20by%20Avi%20Byrant.%0D%0AThe%20PetitParser%20library%2C%20published%20by%20Lukas%20Renggli%20%28http%3A//lukas-renggli.ch%29%20and%20released%20under%20the%20MIT%20license.%0D%0AAnd%20people%20that%20contributed%20to%20Smalltalk%20on%20diverse%20media%20years%28decades%29%20before%20this%20license%20holders%20claimed%20ownership.%0D%0A"));return self;} ,'license',unescape('licenseHolders%0D%0A%09%22%20Private%20-%20Return%20the%20license%20holders%20information.%20%22%0D%0A%0D%0A%09%5E%27Copyright%20%28C%29%20%27%0D%0A%09%09%2Cself%20licenseYear%20asString%20%2C%27%20%27%0D%0A%09%09%2C%27Alejandro%20F.%20Reimondo%20%3CaleReimondo@smalltalking.net%3E%20http%3A//www.aleReimondo.com%0D%0A%0D%0AParts%20of%20source%20code%20written%20for%20Jtalk%2C%20Copyright%20%28C%29%202011%20by%20Nicolas%20Petton%20%3Cpetton.nicolas@gmail.com%3E%0D%0AAlso%20code%20and%20ideas%20from%20Clamato%20%28http%3A//clamato.net%29%2C%20written%20by%20Avi%20Byrant.%0D%0AThe%20PetitParser%20library%2C%20published%20by%20Lukas%20Renggli%20%28http%3A//lukas-renggli.ch%29%20and%20released%20under%20the%20MIT%20license.%0D%0AAnd%20people%20that%20contributed%20to%20Smalltalk%20on%20diverse%20media%20years%28decades%29%20before%20this%20license%20holders%20claimed%20ownership.%0D%0A%27')); smalltalk.bind(smalltalk.Smalltalk,'globalsDo:','globalsDo_' ,function (aBlock){ var self=this; return self.globalsDo(aBlock);return self;} ,'evaluating',unescape('globalsDo%3A%20aBlock%0D%0A%09%22%20Private%20-%20Evaluates%20aBlock%20for%20each%20globals%20defined%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23globalsDo%3A%20aBlock')); smalltalk.bind(smalltalk.Smalltalk,'globalsDo:separatedBy:','globalsDo_separatedBy_' ,function (aBlock,anotherBlock){ var self=this; var first=nil; first=true; return self.globalsDo((function(each){((first).mustBeBoolean()==true ? (function(){return first=false;})() : (function(){return anotherBlock.value();})());return aBlock.value_(each);}));return self;} ,'evaluating',unescape('globalsDo%3A%20aBlock%20separatedBy%3A%20anotherBlock%0D%0A%09%22%20Private%20-%20Evaluates%20aBlock%20for%20each%20globals%20defined%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20first%20%7C%20first%20%3A%3D%20true.%0D%0A%09%5Eself%20%23globalsDo%3A%20%5B%3Aeach%7C%0D%0A%09%20%20%20%20first%0D%0A%09%09ifTrue%3A%20%5B%20first%20%3A%3D%20false%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20anotherBlock%20value%20%5D.%0D%0A%09%20%20%20%20aBlock%20value%3A%20each%0D%0A%09%5D')); smalltalk.bind(smalltalk.Smalltalk,'saveImageOn:','saveImageOn_' ,function (stream){ var self=this; var exporter=nil; var allClasses=nil; allClasses=self.classes().select_((function(each){return ((each.superclass() || nil) === nil);})).inject_into_(smalltalk.Array.$$new(), (function(total, each){return total._comma(each.withAllSubclasses());})).collect_((function(each){return each.aboutToSaveImage_on_(self, stream);})).select_((function(each){return ((each || nil) !== nil);})); exporter=smalltalk.Exporter.$$new(); (function($rec){$rec.cr();$rec.nextPutAll_(unescape("//%20Smalltalk%20Classes."));return $rec.cr();})(stream); exporter.exportClasses_on_(allClasses, stream); (function($rec){$rec.cr();return $rec.nextPutAll_(unescape("//%20Smalltalk%20Globals%20set-up."));})(stream); (function($rec){$rec.cr();return $rec.nextPutAll_(unescape("smalltalk.initRoots%28%29%3B"));})(stream); self.globalsDo_((function(key){return (function($rec){$rec.cr();return $rec.nextPutAll_("smalltalk."._comma(key)._comma(unescape("%3D"))._comma(exporter.exportObject_((self[key] || nil)))._comma(unescape("%3B")));})(stream);})); allClasses.do_((function(each){return each.imageSaved_on_(self, stream);}));return self;} ,'snapshot',unescape('saveImageOn%3A%20stream%0D%0A%09%22%20Dump%20the%20receiver%27s%20contents%20onto%20stream.%20%22%0D%0A%0D%0A%09%7C%20exporter%20allClasses%20%7C%0D%0A%09allClasses%20%3A%3D%20%28%28%28self%20classes%0D%0A%09%09select%3A%20%5B%3Aeach%7C%20each%20superclass%20isNil%20%5D%29%0D%0A%09%09inject%3A%20Array%20new%20into%3A%20%5B%3Atotal%20%3Aeach%7C%20total%20%2C%20each%20withAllSubclasses%20%5D%29%0D%0A%09%09collect%3A%20%5B%3Aeach%7C%20each%20aboutToSaveImage%3A%20self%20on%3A%20stream%20%5D%29%0D%0A%09%09select%3A%20%5B%3Aeach%7C%20each%20notNil%20%5D.%0D%0A%09exporter%20%3A%3D%20Exporter%20new.%0D%0A%22%09stream%20nextPutAll%3A%20%27//%20Smalltalk%20Globals%20%28pre%29definition.%27%3B%20cr.%0D%0A%09self%0D%0A%09%09globalsDo%3A%20%5B%3Akey%7C%20stream%20nextPutAll%3A%20%27smalltalk.%27%2Ckey%20%5D%0D%0A%09%09separatedBy%3A%20%5B%20stream%20nextPutAll%3A%20%27%20%2C%20%27%20%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%3Dnil%3B%27%3B%20cr.%0D%0A%22%09stream%20cr%3B%20nextPutAll%3A%20%27//%20Smalltalk%20Classes.%27%3B%20cr.%0D%0A%09exporter%20exportClasses%3A%20allClasses%20on%3A%20stream.%0D%0A%09stream%20cr%3B%20nextPutAll%3A%20%27//%20Smalltalk%20Globals%20set-up.%27.%0D%0A%09stream%20cr%3B%20nextPutAll%3A%20%27smalltalk.initRoots%28%29%3B%27.%0D%0A%09self%20globalsDo%3A%20%5B%3Akey%7C%0D%0A%09%09stream%20cr%3B%20nextPutAll%3A%20%27smalltalk.%27%2Ckey%2C%27%3D%27%0D%0A%09%09%09%2C%28exporter%20exportObject%3A%20%28self%20basicAt%3A%20key%29%29%0D%0A%09%09%09%2C%27%3B%27%0D%0A%09%5D.%0D%0A%09allClasses%20do%3A%20%5B%3Aeach%7C%20each%20imageSaved%3A%20self%20on%3A%20stream%20%5D.')); smalltalk.bind(smalltalk.Smalltalk,'imageContents','imageContents' ,function (){ var self=this; var stream=nil; stream=smalltalk.String.$$new().writeStream(); self.saveImageOn_(stream); return stream.contents();return self;} ,'snapshot',unescape('imageContents%0D%0A%09%22%20Returns%20a%20dump%20of%20the%20system%20contents.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20String%20new%20writeStream.%0D%0A%09self%20saveImageOn%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Smalltalk,'imageFileName','imageFileName' ,function (){ var self=this; return (self["$imageFileName"] || nil);return self;} ,'snapshot',unescape('imageFileName%0D%0A%09%22%20Returns%20the%20image%20file%20name.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24imageFileName%27')); smalltalk.bind(smalltalk.Smalltalk,'imageFileName:','imageFileName_' ,function (fileName){ var self=this; return (self["$imageFileName"]=(fileName));return self;} ,'snapshot',unescape('imageFileName%3A%20fileName%0D%0A%09%22%20Set%20the%20image%20file%20name.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24imageFileName%27%20put%3A%20fileName')); smalltalk.bind(smalltalk.Smalltalk,'saveImage','saveImage' ,function (){ var self=this; self.saveImageAs_(self.imageFileName());return self;} ,'snapshot',unescape('saveImage%0D%0A%09%22%20Dump%20the%20image%20contents%20onto%20default%20image%20file.%20%22%0D%0A%0D%0A%09self%20saveImageAs%3A%20self%20imageFileName')); smalltalk.bind(smalltalk.Smalltalk,'saveImageAs:','saveImageAs_' ,function (fileName){ var self=this; self.imageContents().outputToFile_(fileName); self.imageFileName_(fileName);return self;} ,'snapshot',unescape('saveImageAs%3A%20fileName%0D%0A%09%22%20Dump%20the%20image%20contents%20onto%20file%20at%20fileName.%20%22%0D%0A%0D%0A%09self%20imageContents%20outputToFile%3A%20fileName.%0D%0A%09self%20imageFileName%3A%20fileName.')); smalltalk.bind(smalltalk.Smalltalk,'launch','launch' ,function (){ var self=this; var launch=nil; self.classes().do_((function(each){return each.launch();})); launch=smalltalk.Smalltalk.at_ifAbsent_("LaunchExpression", (function(){return nil;})); return launch.evaluate();return self;} ,'startup',unescape('launch%0D%0A%09%22%20The%20system%20has%20been%20launched%20and%20start%20execution.%0D%0A%09The%20default%20action%20is%20to%20propagate%20%23launch%20to%20current%20classes%20and%20evaluate%20%23LaunchExpression.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20launch%20%7C%0D%0A%09self%20classes%20do%3A%20%5B%3Aeach%7C%20each%20launch%20%5D.%0D%0A%09launch%20%3A%3D%20Smalltalk%20at%3A%20%23LaunchExpression%20ifAbsent%3A%20%5B%5D.%0D%0A%09%5Elaunch%20evaluate')); smalltalk.bind(smalltalk.Behavior,'new','$$new' ,function (){ var self=this; return self.basicNew().initialize();return self;} ,'instance creation',unescape('new%0D%0A%09%22%20Return%20a%20new%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicNew%20initialize')); smalltalk.bind(smalltalk.Behavior,'basicNew','basicNew' ,function (){ var self=this; return new self.$fn();return self;} ,'instance creation',unescape('basicNew%0D%0A%09%22%20Return%20a%20new%20%28non-initialized%29%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20new%20self.%24fn%28%29%27%7D')); smalltalk.bind(smalltalk.Behavior,'name','name' ,function (){ var self=this; return (self["$className"] || nil);return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24className%27')); smalltalk.bind(smalltalk.Behavior,'superclass','superclass' ,function (){ var self=this; return (self["$superclass"] || nil);return self;} ,'accessing',unescape('superclass%0D%0A%09%22%20Return%20the%20superclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24superclass%27')); smalltalk.bind(smalltalk.Behavior,'subclasses','subclasses' ,function (){ var self=this; return smalltalk.subclasses(self);return self;} ,'accessing',unescape('subclasses%0D%0A%09%22%20Return%20the%20subclasses%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20smalltalk.subclasses%28self%29%27%7D')); smalltalk.bind(smalltalk.Behavior,'allSubclasses','allSubclasses' ,function (){ var self=this; return smalltalk.allSubclasses(self); ;return self;} ,'query',unescape('allSubclasses%0D%0A%09%22%20Return%20all%20the%20subclasses%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09%20return%20smalltalk.allSubclasses%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Behavior,'withAllSubclasses','withAllSubclasses' ,function (){ var self=this; return (function($rec){$rec.addAll_(self.allSubclasses());return $rec.yourself();})(smalltalk.Array.with_(self));return self;} ,'accessing',unescape('withAllSubclasses%0D%0A%09%22%20Return%20a%20collection%20with%20the%20receiver%20and%20all%20subclasses.%20%22%0D%0A%0D%0A%09%5E%28Array%20with%3A%20self%29%20addAll%3A%20self%20allSubclasses%3B%20yourself')); smalltalk.bind(smalltalk.Behavior,'allSuperclassesDo:','allSuperclassesDo_' ,function (aBlock){ var self=this; var current=nil; current=self.superclass(); (function(){while((function(){return ((current || nil) !== nil);})()){(function(){aBlock.value_(current);return current=current.superclass();})()};return nil})();return self;} ,'accessing',unescape('allSuperclassesDo%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20with%20the%20superclasses%20of%20the%20receiver.%0D%0A%09The%20superclasses%20are%20walked%20in%20inverse%20hierarchical%20order%2C%20i.e%20class%20Object%20is%20last.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20current%20%7C%0D%0A%09current%20%3A%3D%20self%20superclass.%0D%0A%09%5B%20current%20notNil%20%5D%20whileTrue%3A%20%5B%0D%0A%09%20%20%20%20%20%20%20%20aBlock%20value%3A%20current.%0D%0A%09%09current%20%3A%3D%20current%20superclass.%0D%0A%09%5D')); smalltalk.bind(smalltalk.Behavior,'withAllSuperclassesDo:','withAllSuperclassesDo_' ,function (aBlock){ var self=this; aBlock.value_(self); return self.allSuperclassesDo_(aBlock);return self;} ,'accessing',unescape('withAllSuperclassesDo%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20with%20the%20receiver%20and%20it%27s%20superclasses.%0D%0A%09The%20superclasses%20are%20walked%20in%20inverse%20hierarchical%20order%2C%20i.e%20class%20Object%20is%20last.%0D%0A%09%22%0D%0A%0D%0A%09aBlock%20value%3A%20self.%0D%0A%09%5Eself%20allSuperclassesDo%3A%20aBlock')); smalltalk.bind(smalltalk.Behavior,'allSuperclasses','allSuperclasses' ,function (){ var self=this; var result=nil; result=smalltalk.Array.$$new(); self.allSuperclassesDo_((function(each){return result.add_(each);})); return result;return self;} ,'accessing',unescape('allSuperclasses%0D%0A%09%22%20Return%20a%20collection%20of%20all%20the%20superclasses%20of%20the%20receiver.%0D%0A%09The%20superclasses%20are%20in%20inverse%20hierarchical%20order%2C%20i.e%20class%20Object%20is%20last.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20Array%20new.%0D%0A%09self%20allSuperclassesDo%3A%20%5B%3Aeach%7C%20result%20add%3A%20each%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Behavior,'inheritsFrom:','inheritsFrom_' ,function (aClass){ var self=this; try{ self.allSuperclassesDo_((function(each){return ((aClass._eq(each)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "inheritsFrom_", fn: function(){return true}})})();})() : nil);})); (function(){throw({name: "stReturn", selector: "inheritsFrom_", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "inheritsFrom_"){return $$ex.fn();} throw($$ex);}} ,'query',unescape('inheritsFrom%3A%20aClass%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20inherits%20from%20aClass.%20%22%0D%0A%0D%0A%09self%20allSuperclassesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09aClass%20%3D%20each%20ifTrue%3A%20%5B%20%5Etrue%20%5D%0D%0A%09%5D.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Behavior,'prototype','prototype' ,function (){ var self=this; return self.$fn.prototype || nil;return self;} ,'accessing',unescape('prototype%0D%0A%09%22%20Return%20the%20prototype%20of%20the%20receiver%20%28or%20nil%29.%20%22%0D%0A%0D%0A%7B%27%09return%20self.%24fn.prototype%20%7C%7C%20nil%27%7D')); smalltalk.bind(smalltalk.Behavior,'methodsDo:','methodsDo_' ,function (aBlock){ var self=this; var methods = self.$fn.prototype.$methods; for(var i in methods) { aBlock(methods[i]); }; ;return self;} ,'accessing',unescape('methodsDo%3A%20aBlock%0D%0A%09%22%20Evaluates%20aBlock%20for%20all%20the%20methods%20defined%20by%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09var%20methods%20%3D%20self.%24fn.prototype.%24methods%3B%0D%0A%09for%28var%20i%20in%20methods%29%20%7B%20aBlock%28methods%5Bi%5D%29%3B%20%7D%3B%20%27%7D')); smalltalk.bind(smalltalk.Behavior,'selectorsDo:','selectorsDo_' ,function (aBlock){ var self=this; var methods = self.$fn.prototype.$methods; for(var i in methods) { aBlock(methods[i].$selector); }; ;return self;} ,'accessing',unescape('selectorsDo%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20for%20all%20the%20selectors%20implemented%20by%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09var%20methods%20%3D%20self.%24fn.prototype.%24methods%3B%0D%0A%09for%28var%20i%20in%20methods%29%20%7B%20aBlock%28methods%5Bi%5D.%24selector%29%3B%20%7D%3B%20%27%7D')); smalltalk.bind(smalltalk.Behavior,'methodDictionary','methodDictionary' ,function (){ var self=this; var result=nil; result=smalltalk.Dictionary.$$new(); self.methodsDo_((function(each){return result.at_put_(each.selector(), each);})); return result;return self;} ,'accessing',unescape('methodDictionary%0D%0A%09%22%20Return%20a%20dictionary%20with%20the%20methods%20implemented%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20Dictionary%20new.%0D%0A%09self%20methodsDo%3A%20%5B%3Aeach%7C%20result%20at%3A%20each%20selector%20put%3A%20each%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Behavior,'selectors','selectors' ,function (){ var self=this; var result=nil; result=smalltalk.Array.$$new(); self.selectorsDo_((function(each){return result.add_(each);})); return result;return self;} ,'accessing',unescape('selectors%0D%0A%09%22%20Return%20the%20selectors%20implemented%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20Array%20new.%0D%0A%09self%20selectorsDo%3A%20%5B%3Aeach%7C%20result%20add%3A%20each%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Behavior,'implements:','implements_' ,function (aSymbol){ var self=this; return (aSymbol in self.$fn.prototype.$methods); ;return self;} ,'query',unescape('implements%3A%20aSymbol%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20implements%20message%20aSymbol.%20%22%0D%0A%0D%0A%7B%27%09return%20%28aSymbol%20in%20self.%24fn.prototype.%24methods%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Behavior,'compiledMethodAt:','compiledMethodAt_' ,function (aSymbol){ var self=this; return self.$fn.prototype.$methods[aSymbol] || nil; ;return self;} ,'query',unescape('compiledMethodAt%3A%20aSymbol%0D%0A%09%22%20Return%20the%20compiled%20method%20at%20aSymbol%20implemented%20by%20the%20receiver%20%28or%20nil%29.%20%22%0D%0A%0D%0A%7B%27%09return%20self.%24fn.prototype.%24methods%5BaSymbol%5D%20%7C%7C%20nil%3B%20%27%7D')); smalltalk.bind(smalltalk.Behavior,'>>','_gt_gt' ,function (aSymbol){ var self=this; return self.compiledMethodAt_(aSymbol);return self;} ,'query',unescape('%3E%3E%20aSymbol%0D%0A%09%22%20Return%20the%20method%20at%20aSymbol%20%28or%20nil%20if%20not%20implemented%20by%20the%20receiver%29.%20%22%0D%0A%0D%0A%09%5Eself%20compiledMethodAt%3A%20aSymbol')); smalltalk.bind(smalltalk.Behavior,'>>>','_gt_gt_gt' ,function (aSymbol){ var self=this; try{ var result=nil; result=self.compiledMethodAt_(aSymbol); ((((result || nil) === nil).and_((function(){return ((self.superclass() || nil) !== nil);}))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "_gt_gt_gt", fn: function(){return self.superclass()._gt_gt_gt(aSymbol)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "_gt_gt_gt", fn: function(){return result}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_gt_gt_gt"){return $$ex.fn();} throw($$ex);}} ,'query',unescape('%3E%3E%3E%20aSymbol%0D%0A%09%22%20Return%20the%20method%20at%20aSymbol%20searching%20up%20in%20receiver%27s%20hierarchy%20%28or%20nil%20if%20not%20implemented%20by%20the%20receiver%20nor%20its%20superclasses%29.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20compiledMethodAt%3A%20aSymbol.%0D%0A%09%28result%20isNil%20and%3A%20%5B%20self%20superclass%20notNil%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09%5Eself%20superclass%20%3E%3E%3E%20aSymbol%0D%0A%09%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Behavior,'instVarNames','instVarNames' ,function (){ var self=this; return (self["$iVarNames"] || nil);return self;} ,'access',unescape('instVarNames%0D%0A%09%22%20Return%20the%20instance%20variable%20names%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24iVarNames%27')); smalltalk.bind(smalltalk.Behavior,'allInstVarNames','allInstVarNames' ,function (){ var self=this; var result=nil; result=self.instVarNames(); self.allSuperclassesDo_((function(each){return result=each.instVarNames()._comma(result);})); return result;return self;} ,'access',unescape('allInstVarNames%0D%0A%09%22%20Return%20all%20of%20the%20instance%20variable%20names%20defined%20in%20the%20receiver%20and%20its%20superclasses.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20instVarNames.%0D%0A%09self%20allSuperclassesDo%3A%20%5B%20%3Aeach%20%7C%20result%20%3A%3D%20each%20instVarNames%20%2C%20result%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Behavior,'instanceVariableNames','instanceVariableNames' ,function (){ var self=this; return (self["$iVarNames"] || nil);return self;} ,'accessing',unescape('instanceVariableNames%0D%0A%09%22%20Return%20the%20instance%20variable%20names%20defined%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24iVarNames%27')); smalltalk.bind(smalltalk.Behavior,'propertyNames','propertyNames' ,function (){ var self=this; return (self["$propertyNames"] || (function(){return smalltalk.Array.$$new();}).value());return self;} ,'accessing',unescape('propertyNames%0D%0A%09%22%20Return%20the%20property%20names%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24propertyNames%27%20ifAbsent%3A%20%5B%20Array%20new%20%5D')); smalltalk.bind(smalltalk.Behavior,'propertyNames:','propertyNames_' ,function (anArray){ var self=this; try{ ((((anArray || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "propertyNames_", fn: function(){return self.basicDelete_("$propertyNames")}})})();})() : nil); (function(){throw({name: "stReturn", selector: "propertyNames_", fn: function(){return (self["$propertyNames"]=(anArray))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "propertyNames_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('propertyNames%3A%20anArray%0D%0A%09%22%20Set%20the%20property%20names%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09anArray%20isNil%20ifTrue%3A%20%5B%20%5Eself%20basicDelete%3A%20%27%24propertyNames%27%20%5D.%0D%0A%09%5Eself%20basicAt%3A%20%27%24propertyNames%27%20put%3A%20anArray')); smalltalk.bind(smalltalk.Behavior,'allPropertyNamesDo:','allPropertyNamesDo_' ,function (aBlock){ var self=this; self.propertyNames().do_(aBlock); self.allSuperclassesDo_((function(each){return each.propertyNames().do_(aBlock);}));return self;} ,'accessing',unescape('allPropertyNamesDo%3A%20aBlock%0D%0A%09%22%20Evaluates%20aBlock%20for%20the%20property%20names%20defined%20in%20the%20receiver%20and%20its%20superclasses.%20%22%0D%0A%0D%0A%09self%20propertyNames%20do%3A%20aBlock.%0D%0A%09self%20allSuperclassesDo%3A%20%5B%20%3Aeach%20%7C%20each%20propertyNames%20do%3A%20aBlock%20%5D.')); smalltalk.bind(smalltalk.Behavior,'allInstVarNamesDo:','allInstVarNamesDo_' ,function (aBlock){ var self=this; self.instVarNames().do_(aBlock); self.allSuperclassesDo_((function(each){return each.instVarNames().do_(aBlock);}));return self;} ,'accessing',unescape('allInstVarNamesDo%3A%20aBlock%0D%0A%09%22%20Evaluates%20aBlock%20for%20the%20instance%20variable%20names%20defined%20in%20the%20receiver%20and%20its%20superclasses.%20%22%0D%0A%0D%0A%09self%20instVarNames%20do%3A%20aBlock.%0D%0A%09self%20allSuperclassesDo%3A%20%5B%20%3Aeach%20%7C%20each%20instVarNames%20do%3A%20aBlock%20%5D.')); smalltalk.bind(smalltalk.Behavior,'basicAddCompiledMethod:','basicAddCompiledMethod_' ,function (aMethod){ var self=this; smalltalk.addMethod(aMethod.$selector.asSelector(),aMethod,self); ;return self;} ,'accessing',unescape('basicAddCompiledMethod%3A%20aMethod%0D%0A%09%22%20Private%20-%20Effectivelly%20add%20aMethod%20to%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09smalltalk.addMethod%28aMethod.%24selector.asSelector%28%29%2CaMethod%2Cself%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Behavior,'addCompiledMethod:','addCompiledMethod_' ,function (aMethod){ var self=this; try{ ((((smalltalk.OverwriteMethods || nil) !== nil).and_((function(){return smalltalk.OverwriteMethods;}))).mustBeBoolean()==true ? nil : (function(){return ((self.implements_(aMethod.selector())).mustBeBoolean()==true ? (function(){return ((self.name()._eq("DoIt").and_((function(){return aMethod.selector()._eq("doIt");}))).mustBeBoolean()==true ? nil : (function(){((smalltalk.DumpOverwritenMethods._eq(true).and_((function(){return ((smalltalk.Exporter || nil) !== nil);}))).mustBeBoolean()==true ? (function(){self.print_(unescape("//%3F%20")._comma(self.name())._comma(unescape("%3E%3E%23"))._comma(aMethod.selector()));return self.print_(smalltalk.Exporter.$$new().export_method_(self, aMethod));})() : (function(){return self.print_(unescape("//-Overwrite%20Conflict-%20")._comma(self.name())._comma(unescape("%3E%3E%23"))._comma(aMethod.selector()));})());return (function(){throw({name: "stReturn", selector: "addCompiledMethod_", fn: function(){return self}})})();})());})() : nil);})()); ((((smalltalk.Exporter || nil) !== nil).and_((function(){return self.name()._eq("DoIt").and_((function(){return aMethod.selector()._eq("doIt");})).not();}))).mustBeBoolean()==true ? (function(){self.print_(unescape("//%20")._comma(self.name())._comma(unescape("%3E%3E%23"))._comma(aMethod.selector()));return self.print_(smalltalk.Exporter.$$new().export_method_(self, aMethod));})() : nil); (function(){throw({name: "stReturn", selector: "addCompiledMethod_", fn: function(){return self.basicAddCompiledMethod_(aMethod)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "addCompiledMethod_"){return $$ex.fn();} throw($$ex);}} ,'development',unescape('addCompiledMethod%3A%20aMethod%0D%0A%09%22%20Add%20the%20compiled%20method%2C%20if%20appropiate%2C%20and%20register%20the%20method%20in%20recent%20methods.%20%22%0D%0A%0D%0A%09%28OverwriteMethods%20notNil%20and%3A%20%5B%09OverwriteMethods%20%5D%29%20ifFalse%3A%20%5B%0D%0A%09%09%28self%20implements%3A%20aMethod%20selector%29%20ifTrue%3A%20%5B%0D%0A%09%09%09%28self%20name%20%3D%20%27DoIt%27%20and%3A%20%5B%20aMethod%20selector%20%3D%20%23doIt%20%5D%29%20ifFalse%3A%20%5B%0D%0A%09%09%09%09%28DumpOverwritenMethods%20%3D%20true%20and%3A%20%5B%20Exporter%20notNil%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%09self%20print%3A%20%27//%3F%20%27%2Cself%20name%2C%27%3E%3E%23%27%2CaMethod%20selector.%0D%0A%09%09%09%09%09self%20print%3A%20%28Exporter%20new%20export%3A%20self%20method%3A%20aMethod%29.%0D%0A%09%09%09%09%5D%20ifFalse%3A%20%5B%0D%0A%09%09%09%09%09self%20print%3A%20%27//-Overwrite%20Conflict-%20%27%2Cself%20name%2C%27%3E%3E%23%27%2CaMethod%20selector.%0D%0A%09%09%09%09%5D.%0D%0A%09%09%09%09%5Eself%0D%0A%09%09%09%5D.%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09%28Exporter%20notNil%20and%3A%20%5B%20%28self%20name%20%3D%20%27DoIt%27%20and%3A%20%5B%20aMethod%20selector%20%3D%20%23doIt%20%5D%29%20not%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09self%20print%3A%20%27//%20%27%2Cself%20name%2C%27%3E%3E%23%27%2CaMethod%20selector.%0D%0A%09%09self%20print%3A%20%28Exporter%20new%20export%3A%20self%20method%3A%20aMethod%29.%0D%0A%09%5D.%0D%0A%09%5Eself%20basicAddCompiledMethod%3A%20aMethod')); smalltalk.bind(smalltalk.Behavior,'comment','comment' ,function (){ var self=this; return (self["$comment"] || (function(){return "";}).value());return self;} ,'accessing',unescape('comment%0D%0A%09%22%20Return%20the%20comment%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24comment%27%20ifAbsent%3A%20%5B%20%27%27%20%5D')); smalltalk.bind(smalltalk.Behavior,'comment:','comment_' ,function (aString){ var self=this; (self["$comment"]=(aString));return self;} ,'accessing',unescape('comment%3A%20aString%0D%0A%09%22%20Set%20the%20comment%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20basicAt%3A%20%27%24comment%27%20put%3A%20aString')); smalltalk.bind(smalltalk.Behavior,'removeCompiledMethod:','removeCompiledMethod_' ,function (aMethod){ var self=this; smalltalk.removeMethod(self,aMethod); ;return self;} ,'accessing',unescape('removeCompiledMethod%3A%20aMethod%0D%0A%09%22%20Remove%20aMethod%20from%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09smalltalk.removeMethod%28self%2CaMethod%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Behavior,'removeSelector:','removeSelector_' ,function (aSelector){ var self=this; var method=nil; method=self.compiledMethodAt_(aSelector); ((((method || nil) !== nil)).mustBeBoolean()==true ? (function(){return self.removeCompiledMethod_(method);})() : nil);return self;} ,'accessing',unescape('removeSelector%3A%20aSelector%0D%0A%09%22%20Remove%20the%20method%20for%20message%20aSelector%20implemented%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20method%20%7C%0D%0A%09method%20%3A%3D%20self%20compiledMethodAt%3A%20aSelector.%0D%0A%09method%20notNil%20ifTrue%3A%20%5B%20self%20removeCompiledMethod%3A%20method%20%5D.')); smalltalk.bind(smalltalk.Behavior,'removeSelectors:','removeSelectors_' ,function (aCollection){ var self=this; aCollection.do_((function(each){return self.removeSelector_(each);}));return self;} ,'accessing',unescape('removeSelectors%3A%20aCollection%0D%0A%09%22%20Remove%20the%20methods%20for%20messages%20in%20aCollection%2C%20implemented%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09aCollection%20do%3A%20%5B%3Aeach%7C%20self%20removeSelector%3A%20each%20%5D')); smalltalk.bind(smalltalk.Behavior,'sharedPools','sharedPools' ,function (){ var self=this; return self.poolDictionaries();return self;} ,'accessing',unescape('sharedPools%0D%0A%09%22%20Return%20the%20pool%20dictionaries%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20poolDictionaries')); smalltalk.bind(smalltalk.Behavior,'sharedPoolsAndNamesDo:','sharedPoolsAndNamesDo_' ,function (aBlock){ var self=this; var poolDictionaries=nil; var pool=nil; self.withAllSuperclassesDo_((function(each){poolDictionaries=each.sharedPools();return ((((poolDictionaries || nil) !== nil)).mustBeBoolean()==true ? (function(){return poolDictionaries.do_((function(aName){pool=smalltalk.Smalltalk.poolDictionary_ifAbsent_(aName, (function(){return nil;}));return ((((pool || nil) !== nil)).mustBeBoolean()==true ? (function(){return aBlock.value_value_(aName, pool);})() : nil);}));})() : nil);}));return self;} ,'accessing',unescape('sharedPoolsAndNamesDo%3A%20aBlock%0D%0A%09%22%20Execute%20aBlock%20for%20the%20pool%20dictionaries%20known%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20poolDictionaries%20pool%20%7C%0D%0A%09self%20withAllSuperclassesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09poolDictionaries%20%3A%3D%20each%20sharedPools.%0D%0A%09%09poolDictionaries%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09%09poolDictionaries%20do%3A%20%5B%3AaName%7C%0D%0A%09%09%09%09pool%20%3A%3D%20Smalltalk%20poolDictionary%3A%20aName%20ifAbsent%3A%20%5B%20%22undefined%22%20%5D.%0D%0A%09%09%09%09pool%20notNil%20ifTrue%3A%20%5B%20aBlock%20value%3A%20aName%20value%3A%20pool%20%5D%0D%0A%09%09%09%5D%0D%0A%09%09%5D.%0D%0A%09%5D')); smalltalk.bind(smalltalk.Behavior,'sharedPoolsDo:','sharedPoolsDo_' ,function (aBlock){ var self=this; self.sharedPoolsAndNamesDo_((function(aName, aPool){return aBlock.value_(aPool);}));return self;} ,'accessing',unescape('sharedPoolsDo%3A%20aBlock%0D%0A%09%22%20Execute%20aBlock%20for%20the%20pool%20dictionaries%20known%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20sharedPoolsAndNamesDo%3A%20%5B%3AaName%20%3AaPool%7C%20aBlock%20value%3A%20aPool%20%5D')); smalltalk.bind(smalltalk.Behavior,'classVariablesDo:','classVariablesDo_' ,function (aBlock){ var self=this; var bindings=nil; return self.withAllSuperclassesDo_((function(each){bindings=each.classVariables();return ((((bindings || nil) !== nil)).mustBeBoolean()==true ? (function(){return bindings.associationsDo_((function(assoc){return aBlock.value_(assoc);}));})() : nil);}));return self;} ,'accessing',unescape('classVariablesDo%3A%20aBlock%0D%0A%09%22%20Execute%20aBlock%20for%20the%20classVariables%20bindings%20known%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20bindings%20%7C%0D%0A%09%5Eself%20withAllSuperclassesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09bindings%20%3A%3D%20each%20classVariables.%0D%0A%09%09bindings%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09%09bindings%20associationsDo%3A%20%5B%3Aassoc%7C%20aBlock%20value%3A%20assoc%20%5D%0D%0A%09%09%5D%0D%0A%09%5D')); smalltalk.bind(smalltalk.Behavior,'classVariableNamesDo:','classVariableNamesDo_' ,function (aBlock){ var self=this; var bindings=nil; return self.withAllSuperclassesDo_((function(each){bindings=each.classVariables();return ((((bindings || nil) !== nil)).mustBeBoolean()==true ? (function(){return bindings.keysDo_((function(aName){return aBlock.value_(aName);}));})() : nil);}));return self;} ,'accessing',unescape('classVariableNamesDo%3A%20aBlock%0D%0A%09%22%20Execute%20aBlock%20for%20the%20classVariable%20names%20known%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20bindings%20%7C%0D%0A%09%5Eself%20withAllSuperclassesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09bindings%20%3A%3D%20each%20classVariables.%0D%0A%09%09bindings%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09%09bindings%20keysDo%3A%20%5B%3AaName%7C%20aBlock%20value%3A%20aName%20%5D%0D%0A%09%09%5D%0D%0A%09%5D')); smalltalk.bind(smalltalk.Behavior,'classVariableAt:put:','classVariableAt_put_' ,function (aName,anObject){ var self=this; try{ var bindings=nil; self.withAllSuperclassesDo_((function(each){bindings=each.classVariables();return ((((bindings || nil) !== nil)).mustBeBoolean()==true ? (function(){return ((bindings.includesKey_(aName)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "classVariableAt_put_", fn: function(){return bindings.at_put_(aName, anObject)}})})();})() : nil);})() : nil);})); (function(){throw({name: "stReturn", selector: "classVariableAt_put_", fn: function(){return self.error_("Undefined class variable "._comma(aName))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "classVariableAt_put_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('classVariableAt%3A%20aName%20put%3A%20anObject%0D%0A%09%22%20Set%20the%20classVariable%20of%20the%20receiver%20to%20anObject.%20%22%0D%0A%0D%0A%09%7C%20bindings%20%7C%0D%0A%09self%20withAllSuperclassesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09bindings%20%3A%3D%20each%20classVariables.%0D%0A%09%09bindings%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09%09%28bindings%20includesKey%3A%20aName%29%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%5Ebindings%20at%3A%20aName%20put%3A%20anObject%0D%0A%09%09%09%5D%0D%0A%09%09%5D%0D%0A%09%5D.%0D%0A%09%5Eself%20error%3A%20%27Undefined%20class%20variable%20%27%2CaName')); smalltalk.bind(smalltalk.Behavior,'classVariableAt:','classVariableAt_' ,function (aName){ var self=this; try{ var bindings=nil; self.withAllSuperclassesDo_((function(each){bindings=each.classVariables();return ((((bindings || nil) !== nil)).mustBeBoolean()==true ? (function(){return ((bindings.includesKey_(aName)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "classVariableAt_", fn: function(){return bindings.at_(aName)}})})();})() : nil);})() : nil);})); (function(){throw({name: "stReturn", selector: "classVariableAt_", fn: function(){return self.error_("Undefined class variable "._comma(aName))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "classVariableAt_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('classVariableAt%3A%20aName%0D%0A%09%22%20Return%20the%20value%20of%20classVariable%20named%20aName.%20%22%0D%0A%0D%0A%09%7C%20bindings%20%7C%0D%0A%09self%20withAllSuperclassesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09bindings%20%3A%3D%20each%20classVariables.%0D%0A%09%09bindings%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09%09%28bindings%20includesKey%3A%20aName%29%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%5Ebindings%20at%3A%20aName%0D%0A%09%09%09%5D%0D%0A%09%09%5D%0D%0A%09%5D.%0D%0A%09%5Eself%20error%3A%20%27Undefined%20class%20variable%20%27%2CaName')); smalltalk.bind(smalltalk.Behavior,'pool:variableAt:put:','pool_variableAt_put_' ,function (poolName,aName,anObject){ var self=this; try{ var pool=nil; pool=smalltalk.Smalltalk.poolDictionary_ifAbsent_(poolName, (function(){return (function(){throw({name: "stReturn", selector: "pool_variableAt_put_", fn: function(){return self.error_("Undefined pool variable "._comma(poolName))}})})();})); (function(){throw({name: "stReturn", selector: "pool_variableAt_put_", fn: function(){return pool.at_put_(aName, anObject)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "pool_variableAt_put_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('pool%3A%20poolName%20variableAt%3A%20aName%20put%3A%20anObject%0D%0A%09%22%20Set%20the%20pool%20Variable%20of%20the%20receiver%20to%20anObject.%20%22%0D%0A%0D%0A%09%7C%20pool%20%7C%0D%0A%09pool%20%3A%3D%20Smalltalk%0D%0A%09%09poolDictionary%3A%20poolName%0D%0A%09%09ifAbsent%3A%20%5B%20%5Eself%20error%3A%20%27Undefined%20pool%20variable%20%27%2CpoolName%20%5D.%0D%0A%09%5Epool%20at%3A%20aName%20put%3A%20anObject')); smalltalk.bind(smalltalk.Behavior,'compiler','compiler' ,function (){ var self=this; return smalltalk.Compiler.for_(self);return self;} ,'compiling',unescape('compiler%0D%0A%09%22%20Return%20a%20compiler%20for%20receiver%27s%20source%20code.%20%22%0D%0A%0D%0A%09%5ECompiler%20for%3A%20self')); smalltalk.bind(smalltalk.Behavior,'recompile','recompile' ,function (){ var self=this; return self.compiler().recompile_(self);return self;} ,'compiling',unescape('recompile%0D%0A%09%22%20Recompile%20all%20the%20methods%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20compiler%20recompile%3A%20self')); smalltalk.bind(smalltalk.Behavior,'codeFor:accessing:','codeFor_accessing_' ,function (aCompiler,aNode){ var self=this; try{ var aName=nil; aName=aNode.value(); self.allInstVarNamesDo_((function(each){return ((aName._eq(each)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "codeFor_accessing_", fn: function(){return aCompiler.codeToAccessInstanceVariable_(aName)}})})();})() : nil);})); self.allPropertyNamesDo_((function(each){return ((aName._eq(each)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "codeFor_accessing_", fn: function(){return aCompiler.codeToAccessProperty_(aName)}})})();})() : nil);})); (function(){throw({name: "stReturn", selector: "codeFor_accessing_", fn: function(){return nil}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "codeFor_accessing_"){return $$ex.fn();} throw($$ex);}} ,'code generation',unescape('codeFor%3A%20aCompiler%20accessing%3A%20aNode%0D%0A%09%22%20Return%20the%20code%20to%20access%20variable%20in%20aNode%20%28aVariableNode%29.%0D%0A%09Return%20nil%20if%20the%20code%20to%20access%20variable%20can%uFFFDt%20be%20generated.%0D%0A%09The%20default%20implementation%20return%20code%20to%20access%20instance%20variables.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20aName%20%7C%0D%0A%09aName%20%3A%3D%20aNode%20value.%0D%0A%09self%20allInstVarNamesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09aName%20%3D%20each%20ifTrue%3A%20%5B%0D%0A%09%09%09%5EaCompiler%20codeToAccessInstanceVariable%3A%20aName%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09self%20allPropertyNamesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09aName%20%3D%20each%20ifTrue%3A%20%5B%0D%0A%09%09%09%5EaCompiler%20codeToAccessProperty%3A%20aName%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09%5Enil')); smalltalk.bind(smalltalk.Behavior,'methodsFor:','methodsFor_' ,function (aString){ var self=this; return smalltalk.ClassCategoryReader.$$new().class_category_(self, aString);return self;} ,'fileIn',unescape('methodsFor%3A%20aString%0D%0A%09%22%20FileIn%20-%20Return%20a%20chunk%20reader%20to%20fileIn%20methods%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EClassCategoryReader%20new%20class%3A%20self%20category%3A%20aString')); smalltalk.bind(smalltalk.Behavior,'methods','methods' ,function (){ var self=this; return self.methodsFor_("unclassified");return self;} ,'fileIn',unescape('methods%0D%0A%09%22%20FileIn%20-%20Return%20a%20chunk%20reader%20to%20fileIn%20methods%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20methodsFor%3A%20%27unclassified%27')); smalltalk.bind(smalltalk.Behavior,'commentStamp','commentStamp' ,function (){ var self=this; return smalltalk.ClassCommentReader.$$new().class_(self);return self;} ,'accessing',unescape('commentStamp%0D%0A%09%22%20Return%20a%20comment%20reader%20for%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EClassCommentReader%20new%20class%3A%20self')); smalltalk.bind(smalltalk.CompiledMethod,'source','source' ,function (){ var self=this; return (self["$source"] || (function(){return "";}).value());return self;} ,'accessing',unescape('source%0D%0A%09%22%20Return%20the%20source%20code%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24source%27%20ifAbsent%3A%20%5B%27%27%5D')); smalltalk.bind(smalltalk.CompiledMethod,'source:','source_' ,function (aString){ var self=this; (self["$source"]=(aString));return self;} ,'accessing',unescape('source%3A%20aString%0D%0A%09%22%20Set%20the%20source%20code%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20basicAt%3A%20%27%24source%27%20put%3A%20aString')); smalltalk.bind(smalltalk.CompiledMethod,'category','category' ,function (){ var self=this; return (self["$category"] || (function(){return "";}).value());return self;} ,'accessing',unescape('category%0D%0A%09%22%20Return%20the%20category%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24category%27%20ifAbsent%3A%20%5B%27%27%5D')); smalltalk.bind(smalltalk.CompiledMethod,'category:','category_' ,function (aString){ var self=this; (self["$category"]=(aString));return self;} ,'accessing',unescape('category%3A%20aString%0D%0A%09%22%20Set%20the%20category%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20basicAt%3A%20%27%24category%27%20put%3A%20aString')); smalltalk.bind(smalltalk.CompiledMethod,'selector','selector' ,function (){ var self=this; return (self["$selector"] || nil);return self;} ,'accessing',unescape('selector%0D%0A%09%22%20Return%20the%20selector%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24selector%27')); smalltalk.bind(smalltalk.CompiledMethod,'selector:','selector_' ,function (aString){ var self=this; (self["$selector"]=(aString));return self;} ,'accessing',unescape('selector%3A%20aString%0D%0A%09%22%20Set%20the%20selector%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20basicAt%3A%20%27%24selector%27%20put%3A%20aString')); smalltalk.bind(smalltalk.CompiledMethod,'fn','fn' ,function (){ var self=this; return (self["$fn"] || nil);return self;} ,'accessing',unescape('fn%0D%0A%09%22%20Return%20the%20function%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24fn%27')); smalltalk.bind(smalltalk.CompiledMethod,'fn:','fn_' ,function (aBlock){ var self=this; (self["$fn"]=(aBlock));return self;} ,'accessing',unescape('fn%3A%20aBlock%0D%0A%09%22%20Set%20the%20function%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20basicAt%3A%20%27%24fn%27%20put%3A%20aBlock')); smalltalk.bind(smalltalk.Number.$klass,'pi','pi' ,function (){ var self=this; return Math.PI; ;return self;} ,'instance creation',unescape('pi%0D%0A%09%22%20Return%20the%20singular%20value%20PI.%20%22%0D%0A%0D%0A%7B%27%09return%20Math.PI%3B%20%27%7D')); smalltalk.bind(smalltalk.Number.$klass,'readFrom:radix:','readFrom_radix_' ,function (aStream,radix){ var self=this; try{ var value=nil; var $$char=nil; value=(0); (function(){while((function(){$$char=aStream.peek();return (($$char || nil) !== nil).and_((function(){return $$char.isDigit().or_((function(){return $$char.isUpperCase();}));}));})()){(function(){((radix._lt($$char.digitValue())).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "readFrom_radix_", fn: function(){return value}})})();})() : nil);value=value._star(radix)._plus($$char.digitValue());return aStream.next();})()};return nil})(); (function(){throw({name: "stReturn", selector: "readFrom_radix_", fn: function(){return value}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "readFrom_radix_"){return $$ex.fn();} throw($$ex);}} ,'converting',unescape('readFrom%3A%20aStream%20radix%3A%20radix%0D%0A%09%22%20Private%20-%20Read%20an%20integer%20from%20%3CaStream%3E%20and%20return%20it.%20%22%0D%0A%0D%0A%09%7C%20value%20char%20%7C%0D%0A%09value%20%3A%3D%200.%0D%0A%09%5B%09char%20%3A%3D%20aStream%20peek.%0D%0A%09%09char%20notNil%20and%3A%20%5B%20char%20isDigit%20or%3A%20%5B%20char%20isUpperCase%20%5D%20%5D%0D%0A%09%5D%20whileTrue%3A%20%5B%0D%0A%09%09radix%20%3C%20%20char%20digitValue%20ifTrue%3A%20%5B%20%5Evalue%20%5D.%0D%0A%09%09value%20%3A%3D%20value%20*%20radix%20+%20char%20digitValue.%0D%0A%09%09aStream%20next%0D%0A%09%5D.%0D%0A%09%5Evalue')); smalltalk.bind(smalltalk.Number.$klass,'readFrom:','readFrom_' ,function (aStream){ var self=this; try{ var value=nil; var $$char=nil; value=(0); (function(){while((function(){$$char=aStream.peek();return (($$char || nil) !== nil).and_((function(){return $$char.isDigit();}));})()){(function(){value=(value * (10))._plus($$char.digitValue());return aStream.next();})()};return nil})(); ((($$char === "r")).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "readFrom_", fn: function(){return value}})})();})()); aStream.next(); (function(){throw({name: "stReturn", selector: "readFrom_", fn: function(){return self.readFrom_radix_(aStream, value)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "readFrom_"){return $$ex.fn();} throw($$ex);}} ,'converting',unescape('readFrom%3A%20aStream%0D%0A%09%22%20Private%20-%20Read%20an%20integer%20from%20%3CaStream%3E%20and%20return%20it.%20%22%0D%0A%0D%0A%09%7C%20value%20char%20%7C%0D%0A%09value%20%3A%3D%200.%0D%0A%09%5B%09char%20%3A%3D%20aStream%20peek.%0D%0A%09%09char%20notNil%20and%3A%20%5B%20char%20isDigit%20%5D%0D%0A%09%5D%20whileTrue%3A%20%5B%0D%0A%09%09value%20%3A%3D%20value%20*%2010%20+%20char%20digitValue.%0D%0A%09%09aStream%20next%0D%0A%09%5D.%0D%0A%09char%20%3D%3D%20%22%24r%22%27r%27%20ifFalse%3A%20%5B%20%5Evalue%20%5D.%0D%0A%09aStream%20next.%20%22skip%20the%20r%22%0D%0A%09%5Eself%20readFrom%3A%20aStream%20radix%3A%20value')); smalltalk.bind(smalltalk.Number,'=','_eq' ,function (aNumber){ var self=this; return Number(self) === Number(aNumber); ;return self;} ,'comparing',unescape('%3D%20aNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20equal%20to%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20Number%28self%29%20%3D%3D%3D%20Number%28aNumber%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'>','_gt' ,function (aNumber){ var self=this; return self > aNumber; ;return self;} ,'comparing',unescape('%3E%20aNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20greater%20to%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3E%20aNumber%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'<','_lt' ,function (aNumber){ var self=this; return self < aNumber; ;return self;} ,'comparing',unescape('%3C%20aNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20smaller%20to%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3C%20aNumber%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'>=','_gt_eq' ,function (aNumber){ var self=this; return self >= aNumber; ;return self;} ,'comparing',unescape('%3E%3D%20aNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20greater%20or%20equal%20to%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3E%3D%20aNumber%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'<=','_lt_eq' ,function (aNumber){ var self=this; return self <= aNumber; ;return self;} ,'comparing',unescape('%3C%3D%20aNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20smaller%20or%20equal%20to%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3C%3D%20aNumber%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'+','_plus' ,function (aNumber){ var self=this; return self + aNumber; ;return self;} ,'arithmetic',unescape('+%20aNumber%0D%0A%09%22%20Return%20the%20result%20of%20operation%20on%20receiver%20and%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20+%20aNumber%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'-','_minus' ,function (aNumber){ var self=this; return self - aNumber; ;return self;} ,'arithmetic',unescape('-%20aNumber%0D%0A%09%22%20Return%20the%20result%20of%20operation%20on%20receiver%20and%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20-%20aNumber%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'*','_star' ,function (aNumber){ var self=this; return self * aNumber; ;return self;} ,'arithmetic',unescape('*%20aNumber%0D%0A%09%22%20Return%20the%20result%20of%20operation%20on%20receiver%20and%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20*%20aNumber%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'/','_slash' ,function (aNumber){ var self=this; return self / aNumber; ;return self;} ,'arithmetic',unescape('/%20aNumber%0D%0A%09%22%20Return%20the%20result%20of%20operation%20on%20receiver%20and%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20/%20aNumber%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'//','_slash_slash' ,function (aNumber){ var self=this; return self._slash(aNumber).truncated();return self;} ,'arithmetic',unescape('//%20aNumber%0D%0A%09%22%20Return%20the%20result%20of%20operation%20on%20receiver%20and%20aNumber.%20%22%0D%0A%0D%0A%09%5E%28self%20/%20aNumber%29%20truncated')); smalltalk.bind(smalltalk.Number,'sin','sin' ,function (){ var self=this; return Math.sin(self); ;return self;} ,'arithmetic',unescape('sin%0D%0A%7B%27%09return%20Math.sin%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'cos','cos' ,function (){ var self=this; return Math.cos(self); ;return self;} ,'arithmetic',unescape('cos%0D%0A%7B%27%09return%20Math.cos%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'tan','tan' ,function (){ var self=this; return Math.tan(self); ;return self;} ,'arithmetic',unescape('tan%0D%0A%7B%27%09return%20Math.tan%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'atan2:','atan2_' ,function (aNumber){ var self=this; return Math.atan2(self,aNumber); ;return self;} ,'arithmetic',unescape('atan2%3A%20aNumber%0D%0A%7B%27%09return%20Math.atan2%28self%2CaNumber%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'arcTan','arcTan' ,function (){ var self=this; return Math.atan(self); ;return self;} ,'arithmetic',unescape('arcTan%0D%0A%7B%27%09return%20Math.atan%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'arcSin','arcSin' ,function (){ var self=this; return Math.asin(self); ;return self;} ,'arithmetic',unescape('arcSin%0D%0A%7B%27%09return%20Math.asin%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'arcCos','arcCos' ,function (){ var self=this; return Math.acos(self); ;return self;} ,'arithmetic',unescape('arcCos%0D%0A%7B%27%09return%20Math.acos%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'negated','negated' ,function (){ var self=this; return ((-1) * self);return self;} ,'arithmetic',unescape('negated%0D%0A%09%5E-1%20*%20self%20')); smalltalk.bind(smalltalk.Number,'max:','max_' ,function (aNumber){ var self=this; return Math.max(self, aNumber); ;return self;} ,'arithmetic',unescape('max%3A%20aNumber%0D%0A%09%22%20Return%20the%20result%20of%20operation%20on%20receiver%20and%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20Math.max%28self%2C%20aNumber%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'min:','min_' ,function (aNumber){ var self=this; return Math.min(self, aNumber); ;return self;} ,'arithmetic',unescape('min%3A%20aNumber%0D%0A%09%22%20Return%20the%20result%20of%20operation%20on%20receiver%20and%20aNumber.%20%22%0D%0A%0D%0A%7B%27%09return%20Math.min%28self%2C%20aNumber%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'abs','abs' ,function (){ var self=this; try{ (((self < (0))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "abs", fn: function(){return self.negated()}})})();})() : nil); (function(){throw({name: "stReturn", selector: "abs", fn: function(){return self}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "abs"){return $$ex.fn();} throw($$ex);}} ,'converting',unescape('abs%0D%0A%09%22%20Return%20the%20absolute%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%3C%200%20ifTrue%3A%20%5B%20%5Eself%20negated%20%5D.%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Number,'rounded','rounded' ,function (){ var self=this; return Math.round(self); ;return self;} ,'converting',unescape('rounded%0D%0A%09%22%20Return%20the%20receiver%20rounded.%20%22%0D%0A%0D%0A%7B%27%09return%20Math.round%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'truncated','truncated' ,function (){ var self=this; return Math.floor(self); ;return self;} ,'converting',unescape('truncated%0D%0A%09%22%20Return%20the%20receiver%20truncated.%20%22%0D%0A%0D%0A%7B%27%09return%20Math.floor%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'to:','to_' ,function (aNumber){ var self=this; try{ var array=nil; var first=nil; var last=nil; var count=nil; first=self.truncated(); last=(aNumber.truncated() + (1)); count=(1); ((first._lt_eq(last)).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "to_", fn: function(){return self.error_("Wrong interval")}})})();})()); array=smalltalk.Array.$$new(); (function(){for($1$=last._minus(first);$1$>0;$1$--){(function(){array.at_put_(count, first);count=(count + (1));return first=(first + (1));})()};return nil})(); (function(){throw({name: "stReturn", selector: "to_", fn: function(){return array}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "to_"){return $$ex.fn();} throw($$ex);}} ,'converting',unescape('to%3A%20aNumber%0D%0A%09%22%20Return%20a%20collection%20of%20numbers%20from%20the%20receiver%20to%20aNumber.%20%22%0D%0A%0D%0A%09%7C%20array%20first%20last%20count%20%7C%0D%0A%09first%20%3A%3D%20self%20truncated.%0D%0A%09last%20%3A%3D%20aNumber%20truncated%20+%201.%0D%0A%09count%20%3A%3D%201.%0D%0A%09%28first%20%3C%3D%20last%29%20ifFalse%3A%20%5B%20%5Eself%20error%3A%20%27Wrong%20interval%27%20%5D.%0D%0A%09array%20%3A%3D%20Array%20new.%0D%0A%09%28last%20-%20first%29%20timesRepeat%3A%20%5B%0D%0A%09%09array%20at%3A%20count%20put%3A%20first.%0D%0A%09%09count%20%3A%3D%20count%20+%201.%0D%0A%09%09first%20%3A%3D%20first%20+%201%0D%0A%09%5D.%0D%0A%09%5Earray')); smalltalk.bind(smalltalk.Number,'timesRepeat:','timesRepeat_' ,function (aBlock){ var self=this; var count=nil; count=(1); (function(){while(!(function(){return count._gt(self);})()){(function(){aBlock.value();return count=(count + (1));})()};return nil})();return self;} ,'enumerating',unescape('timesRepeat%3A%20aBlock%0D%0A%09%22%20Evaluates%20aBlock%20a%20number%20of%20times%20given%20by%20the%20receiver.%20Return%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20count%20%7C%0D%0A%09count%20%3A%3D%201.%0D%0A%09%5B%20count%20%3E%20self%20%5D%20whileFalse%3A%20%5B%0D%0A%09%09aBlock%20value.%0D%0A%09%09count%20%3A%3D%20count%20+%201%0D%0A%09%5D')); smalltalk.bind(smalltalk.Number,'to:do:','to_do_' ,function (aNumber,aBlock){ var self=this; return self.to_(aNumber).do_(aBlock);return self;} ,'enumerating',unescape('to%3A%20aNumber%20do%3A%20aBlock%0D%0A%09%22%20Evaluates%20aBlock%20a%20number%20of%20times%20from%20the%20receiver%20to%20aNumber.%20%22%0D%0A%0D%0A%09%5E%28self%20to%3A%20aNumber%29%20do%3A%20aBlock')); smalltalk.bind(smalltalk.Number,'asString','asString' ,function (){ var self=this; return self.printString();return self;} ,'converting',unescape('asString%0D%0A%09%22%20Return%20the%20text%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20printString')); smalltalk.bind(smalltalk.Number,'asJavascript','asJavascript' ,function (){ var self=this; return unescape("%28")._comma(self.printString())._comma(unescape("%29"));return self;} ,'converting',unescape('asJavascript%0D%0A%09%22%20Return%20the%20javascript%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27%28%27%2C%20self%20printString%2C%20%27%29%27')); smalltalk.bind(smalltalk.Number,'printString','printString' ,function (){ var self=this; return String(self); ;return self;} ,'printing',unescape('printString%0D%0A%09%22%20Return%20the%20printable%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20String%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.Number,'isNumber','isNumber' ,function (){ var self=this; return true;return self;} ,'testing',unescape('isNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20number.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Number,'atRandom','atRandom' ,function (){ var self=this; return (smalltalk.Random.$$new().next()._star(self).truncated() + (1));return self;} ,'converting',unescape('atRandom%0D%0A%09%22%20Return%20a%20random%20integer%20in%20the%20interval%20from%201%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%28Random%20new%20next%20*%20self%29%20truncated%20+%201')); smalltalk.bind(smalltalk.Number,'@','_at' ,function (aNumber){ var self=this; return smalltalk.Point.x_y_(self, aNumber);return self;} ,'converting',unescape('@%20aNumber%0D%0A%09%22%20Return%20a%20Point%20with%20coordinates%20given%20by%20the%20receiver%20and%20aNumber.%20%22%0D%0A%0D%0A%09%5EPoint%20x%3A%20self%20y%3A%20aNumber')); smalltalk.bind(smalltalk.Number,'asPoint','asPoint' ,function (){ var self=this; return smalltalk.Point.x_y_(self, self);return self;} ,'converting',unescape('asPoint%0D%0A%09%22%20Return%20a%20Point%20with%20both%20coordinates%20given%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPoint%20x%3A%20self%20y%3A%20self')); smalltalk.bind(smalltalk.Number,'asJSONObject','asJSONObject' ,function (){ var self=this; return self;return self;} ,'converting',unescape('asJSONObject%0D%0A%09%22%20Return%20an%20object%20mapping%20the%20receiver%20to%20JSON%20structure.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Number,'between:and:','between_and_' ,function (min,max){ var self=this; return min._lt_eq(self).and_((function(){return self._lt_eq(max);}));return self;} ,'testing',unescape('between%3A%20min%20and%3A%20max%0D%0A%09%22%20Answer%20true%20if%20the%20receiver%20is%20greater%20than%20or%20equal%20to%20min%20and%20less%20than%20or%20equal%20to%20max%2C%20else%20answer%20false.%20%22%0D%0A%0D%0A%09%5Emin%20%3C%3D%20self%20and%3A%20%5B%20self%20%3C%3D%20max%20%5D')); smalltalk.bind(smalltalk.Number,'clearInterval','clearInterval' ,function (){ var self=this; clearInterval(Number(self)); ;return self;} ,'intervals',unescape('clearInterval%0D%0A%0D%0A%7B%27%09clearInterval%28Number%28self%29%29%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'compiledSource','compiledSource' ,function (){ var self=this; return self.toString(); ;return self;} ,'accessing',unescape('compiledSource%0D%0A%09%22%20Return%20the%20source%20code%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20self.toString%28%29%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'whileTrue:','whileTrue_' ,function (aBlock){ var self=this; while(self()) {aBlock()}; ;return self;} ,'controlling',unescape('whileTrue%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20while%20the%20result%20of%20evaluating%20the%20receiver%20is%20true.%20%22%0D%0A%0D%0A%7B%27%09while%28self%28%29%29%20%7BaBlock%28%29%7D%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'whileFalse:','whileFalse_' ,function (aBlock){ var self=this; while(!self()) {aBlock()}; ;return self;} ,'controlling',unescape('whileFalse%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20while%20the%20result%20of%20evaluating%20the%20receiver%20is%20false.%20%22%0D%0A%0D%0A%7B%27%09while%28%21self%28%29%29%20%7BaBlock%28%29%7D%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'value','value' ,function (){ var self=this; return self(); ;return self;} ,'evaluating',unescape('value%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20self%28%29%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'value:','value_' ,function (anObject){ var self=this; return self(anObject); ;return self;} ,'evaluating',unescape('value%3A%20anObject%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20anObject.%20%22%0D%0A%0D%0A%7B%27%09return%20self%28anObject%29%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'value:value:','value_value_' ,function (firstArgument,secondArgument){ var self=this; return self(firstArgument, secondArgument); ;return self;} ,'evaluating',unescape('value%3A%20firstArgument%20value%3A%20secondArgument%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20arguments.%20%22%0D%0A%0D%0A%7B%27%09return%20self%28firstArgument%2C%20secondArgument%29%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'value:value:value:','value_value_value_' ,function (firstArgument,secondArgument,thirdArgument){ var self=this; return self(firstArgument, secondArgument, thirdArgument); ;return self;} ,'evaluating',unescape('value%3A%20firstArgument%20value%3A%20secondArgument%20value%3A%20thirdArgument%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20arguments.%20%22%0D%0A%0D%0A%7B%27%09return%20self%28firstArgument%2C%20secondArgument%2C%20thirdArgument%29%3B%09%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'valueWithPossibleArguments:','valueWithPossibleArguments_' ,function (aCollection){ var self=this; return self.apply(null, aCollection); ;return self;} ,'evaluating',unescape('valueWithPossibleArguments%3A%20aCollection%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20potential%20arguments.%20%22%0D%0A%0D%0A%7B%27%09return%20self.apply%28null%2C%20aCollection%29%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'on:do:','on_do_' ,function (anExceptionType,aBlock){ var self=this; return self.try_catch_(self, (function(error){return ((error.isKindOf_(anExceptionType)).mustBeBoolean()==true ? (function(){return aBlock.value_(error);})() : (function(){return error.signal();})());}));return self;} ,'error handling',unescape('on%3A%20anExceptionType%20do%3A%20aBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20catching%20exceptions.%20%22%0D%0A%0D%0A%09%5Eself%20try%3A%20self%20catch%3A%20%5B%3Aerror%20%7C%0D%0A%09%09%28error%20isKindOf%3A%20anExceptionType%29%0D%0A%09%09ifTrue%3A%20%5B%20aBlock%20value%3A%20error%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20error%20signal%20%5D%0D%0A%09%5D')); smalltalk.bind(smalltalk.BlockClosure,'try:catch:','try_catch_' ,function (aBlock,anotherBlock){ var self=this; var result; try{ result = aBlock() } catch(e) { result = anotherBlock( self.smalltalkErrorOf_(e) ) }; return result || nil; ;return self;} ,'native error handling',unescape('try%3A%20aBlock%20catch%3A%20anotherBlock%0D%0A%09%22%20Try%20to%20evaluate%20aBlock%20catching%20exceptions%20with%20catchBlock.%20%22%0D%0A%0D%0A%7B%27%09var%20result%3B%0D%0A%09try%7B%20result%20%3D%20aBlock%28%29%20%7D%20catch%28e%29%20%7B%0D%0A%09%09result%20%3D%20anotherBlock%28%20self.smalltalkErrorOf_%28e%29%20%29%0D%0A%09%7D%3B%0D%0A%09return%20result%20%7C%7C%20nil%3B%0D%0A%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'valueWithTimeout:','valueWithTimeout_' ,function (aNumber){ var self=this; setTimeout(self, aNumber); ;return self;} ,'timeout/interval',unescape('valueWithTimeout%3A%20aNumber%0D%0A%09%22%20Evaluate%20the%20receiver%20with%20time%20out.%20%22%0D%0A%0D%0A%7B%27%09setTimeout%28self%2C%20aNumber%29%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'valueWithInterval:','valueWithInterval_' ,function (aNumber){ var self=this; return setInterval(self, aNumber); ;return self;} ,'timeout/interval',unescape('valueWithInterval%3A%20aNumber%0D%0A%09%22%20Evaluate%20the%20receiver%20with%20interval.%20%22%0D%0A%0D%0A%7B%27%09return%20setInterval%28self%2C%20aNumber%29%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'ensure:','ensure_' ,function (aBlock){ var self=this; var success = true; try{self()} catch(e) { success = false; aBlock(); throw(e); } if(success) {aBlock()}; ;return self;} ,'error handling',unescape('ensure%3A%20aBlock%0D%0A%09%22%20Ensure%20the%20execution%20of%20aBlock%20after%20the%20receiver%20is%20executed.%20%22%0D%0A%0D%0A%7B%27%09var%20success%20%3D%20true%3B%0D%0A%09try%7Bself%28%29%7D%20catch%28e%29%20%7B%0D%0A%09%09success%20%3D%20false%3B%0D%0A%09%09aBlock%28%29%3B%0D%0A%09%09throw%28e%29%3B%0D%0A%09%7D%0D%0A%09if%28success%29%20%7BaBlock%28%29%7D%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'argumentCount','argumentCount' ,function (){ var self=this; return self.length; ;return self;} ,'evaluating',unescape('argumentCount%0D%0A%09%22%20Return%20the%20number%20of%20arguments%20defined%20by%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20self.length%3B%20%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'installAs:','installAs_' ,function (functionName){ var self=this; smalltalk.$$$installCookie = self; eval( functionName+" = smalltalk.$$$installCookie" ); delete smalltalk.$$$installCookie; ;return self;} ,'installing',unescape('installAs%3A%20functionName%0D%0A%09%22%20Install%20the%20receiver%20as%20a%20function%20in%20global%20scope.%20%22%0D%0A%0D%0A%7B%27%09smalltalk.%24%24%24installCookie%20%3D%20self%3B%0D%0A%09eval%28%20functionName+%22%20%3D%20smalltalk.%24%24%24installCookie%22%20%29%3B%0D%0A%09delete%20smalltalk.%24%24%24installCookie%3B%0D%0A%27%7D')); smalltalk.bind(smalltalk.BlockClosure,'ms','ms' ,function (){ var self=this; return smalltalk.DateTime.millisecondsToRun_(self);return self;} ,'evaluation time',unescape('ms%0D%0A%09%22%20Return%20the%20milliseconds%20taken%20to%20evaluate%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDateTime%20millisecondsToRun%3A%20self')); smalltalk.bind(smalltalk.BlockClosure,'evaluateFor:','evaluateFor_' ,function (anObject){ var self=this; return self.value_(anObject);return self;} ,'evaluation',unescape('evaluateFor%3A%20anObject%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20anObject.%20%22%0D%0A%0D%0A%09%5Eself%20value%3A%20anObject')); smalltalk.bind(smalltalk.BlockClosure,'evaluate','evaluate' ,function (){ var self=this; return self.value();return self;} ,'evaluation',unescape('evaluate%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20value')); smalltalk.bind(smalltalk.BlockClosure,'evaluateWithArguments:','evaluateWithArguments_' ,function (anArray){ var self=this; return self.valueWithPossibleArguments_(anArray);return self;} ,'evaluation',unescape('evaluateWithArguments%3A%20anArray%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20valueWithPossibleArguments%3A%20anArray')); smalltalk.bind(smalltalk.BlockClosure,'valueWithArguments:','valueWithArguments_' ,function (anArray){ var self=this; return self.valueWithPossibleArguments_(anArray);return self;} ,'evaluating',unescape('valueWithArguments%3A%20anArray%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20arguments.%20%22%0D%0A%0D%0A%09%5Eself%20valueWithPossibleArguments%3A%20anArray')); smalltalk.bind(smalltalk.Boolean,'=','_eq' ,function (aBoolean){ var self=this; return Boolean(self == true) == aBoolean; ;return self;} ,'comparing',unescape('%3D%20aBoolean%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20equal%20to%20aBoolean.%20%22%0D%0A%0D%0A%7B%27%09return%20Boolean%28self%20%3D%3D%20true%29%20%3D%3D%20aBoolean%3B%20%27%7D')); smalltalk.bind(smalltalk.Boolean,'shallowCopy','shallowCopy' ,function (){ var self=this; return self;return self;} ,'copying',unescape('shallowCopy%0D%0A%09%22%20Return%20a%20shallow%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Boolean,'deepCopy','deepCopy' ,function (){ var self=this; return self;return self;} ,'copying',unescape('deepCopy%0D%0A%09%22%20Return%20a%20deep%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Boolean,'ifTrue:','ifTrue_' ,function (aBlock){ var self=this; return ((self).mustBeBoolean()==true ? (function(){return aBlock.value();})() : (function(){return nil;})());return self;} ,'controlling',unescape('ifTrue%3A%20aBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20aBlock%20if%20the%20receiver%20is%20true%2C%20else%20return%20nil.%20%22%0D%0A%0D%0A%09%5Eself%20ifTrue%3A%20%5B%20aBlock%20value%20%5D%20ifFalse%3A%20%5B%5D')); smalltalk.bind(smalltalk.Boolean,'ifFalse:','ifFalse_' ,function (aBlock){ var self=this; return ((self).mustBeBoolean()==true ? (function(){return nil;})() : (function(){return aBlock.value();})());return self;} ,'controlling',unescape('ifFalse%3A%20aBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20aBlock%20if%20the%20receiver%20is%20false%2C%20else%20return%20nil.%20%22%0D%0A%0D%0A%09%5Eself%20ifTrue%3A%20%5B%5D%20ifFalse%3A%20%5B%20aBlock%20value%20%5D')); smalltalk.bind(smalltalk.Boolean,'ifFalse:ifTrue:','ifFalse_ifTrue_' ,function (aBlock,anotherBlock){ var self=this; return self.ifTrue_ifFalse_(anotherBlock, (function(){return aBlock.value();}));return self;} ,'controlling',unescape('ifFalse%3A%20aBlock%20ifTrue%3A%20anotherBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20aBlock%20if%20the%20receiver%20is%20false%2C%20else%20the%20result%20of%20evaluating%20anotherBlock.%20%22%0D%0A%0D%0A%09%5Eself%20ifTrue%3A%20anotherBlock%20ifFalse%3A%20%5B%20aBlock%20value%20%5D')); smalltalk.bind(smalltalk.Boolean,'ifTrue:ifFalse:','ifTrue_ifFalse_' ,function (aBlock,anotherBlock){ var self=this; if(self == true) { return aBlock(); } else { return anotherBlock(); }; ;return self;} ,'controlling',unescape('ifTrue%3A%20aBlock%20ifFalse%3A%20anotherBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20aBlock%20if%20the%20receiver%20is%20true%2C%20else%20the%20result%20of%20evaluating%20anotherBlock.%20%22%0D%0A%0D%0A%7B%27%09if%28self%20%3D%3D%20true%29%20%7B%20return%20aBlock%28%29%3B%20%7D%20else%20%7B%20return%20anotherBlock%28%29%3B%20%7D%3B%20%27%7D')); smalltalk.bind(smalltalk.Boolean,'and:','and_' ,function (aBlock){ var self=this; return ((self).mustBeBoolean()==true ? (function(){return aBlock.value();})() : (function(){return false;})());return self;} ,'controlling',unescape('and%3A%20aBlock%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20true%20and%20the%20result%20of%20evaluating%20aBlock%20is%20also%20true.%20%22%0D%0A%0D%0A%09%5Eself%20ifTrue%3A%20%5B%20aBlock%20value%20%5D%20ifFalse%3A%20%5Bfalse%5D')); smalltalk.bind(smalltalk.Boolean,'or:','or_' ,function (aBlock){ var self=this; return ((self).mustBeBoolean()==true ? (function(){return true;})() : (function(){return aBlock.value();})());return self;} ,'controlling',unescape('or%3A%20aBlock%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20true%20or%20the%20result%20of%20evaluating%20aBlock%20is%20true.%20%22%0D%0A%0D%0A%09%5Eself%20ifTrue%3A%20%5Btrue%5D%20ifFalse%3A%20%5B%20aBlock%20value%20%5D')); smalltalk.bind(smalltalk.Boolean,'not','not' ,function (){ var self=this; return self == false ;return self;} ,'controlling',unescape('not%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20false.%20%22%0D%0A%0D%0A%09%5E%7B%27%20self%20%3D%3D%20false%20%27%7D')); smalltalk.bind(smalltalk.Boolean,'printString','printString' ,function (){ var self=this; return self.toString();return self;} ,'printing',unescape('printString%0D%0A%09%22%20Return%20a%20printable%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23toString')); smalltalk.bind(smalltalk.Boolean,'mustBeBoolean','mustBeBoolean' ,function (){ var self=this; return self;return self;} ,'testing',unescape('mustBeBoolean%0D%0A%09%22%20Signal%20an%20error%20if%20the%20receiver%20is%20not%20a%20Boolean.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.DateTime.$klass,'new:','new_' ,function (anObject){ var self=this; return new Date(anObject); ;return self;} ,'instance creation',unescape('new%3A%20anObject%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20new%20Date%28anObject%29%3B%20%27%7D')); smalltalk.bind(smalltalk.DateTime.$klass,'fromString:','fromString_' ,function (aString){ var self=this; return self.new_(aString);return self;} ,'instance creation',unescape('fromString%3A%20aString%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%0D%0A%09DateTime%20fromString%3A%20%271962/12/15%2001%3A40%3A00%27%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20new%3A%20aString')); smalltalk.bind(smalltalk.DateTime.$klass,'fromSeconds:','fromSeconds_' ,function (aNumber){ var self=this; return self.fromMilliseconds_((aNumber * (1000)));return self;} ,'instance creation',unescape('fromSeconds%3A%20aNumber%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20fromMilliseconds%3A%20aNumber%20*%201000')); smalltalk.bind(smalltalk.DateTime.$klass,'fromMilliseconds:','fromMilliseconds_' ,function (aNumber){ var self=this; return self.new_(aNumber);return self;} ,'instance creation',unescape('fromMilliseconds%3A%20aNumber%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime.$klass,'today','today' ,function (){ var self=this; return self.$$new();return self;} ,'instance creation',unescape('today%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new')); smalltalk.bind(smalltalk.DateTime.$klass,'now','now' ,function (){ var self=this; return self.today();return self;} ,'instance creation',unescape('now%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20today')); smalltalk.bind(smalltalk.DateTime.$klass,'millisecondsToRun:','millisecondsToRun_' ,function (aBlock){ var self=this; var start=nil; start=smalltalk.DateTime.now(); aBlock.value(); return smalltalk.DateTime.now()._minus(start);return self;} ,'instance creation',unescape('millisecondsToRun%3A%20aBlock%0D%0A%09%22%20Return%20the%20time%20elapsed%20during%20evaluation%20of%20aBlock.%20%22%0D%0A%0D%0A%09%7C%20start%20%7C%0D%0A%09start%20%3A%3D%20DateTime%20now.%0D%0A%09aBlock%20value.%0D%0A%09%5EDateTime%20now%20-%20start')); smalltalk.bind(smalltalk.DateTime,'year','year' ,function (){ var self=this; return self.getFullYear();return self;} ,'accessing',unescape('year%0D%0A%09%22%20Return%20the%20year%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23getFullYear')); smalltalk.bind(smalltalk.DateTime,'month','month' ,function (){ var self=this; return (self.getMonth() + (1));return self;} ,'accessing',unescape('month%0D%0A%09%22%20Return%20the%20month%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23getMonth%20+%201')); smalltalk.bind(smalltalk.DateTime,'month:','month_' ,function (aNumber){ var self=this; self.setMonth((aNumber - (1)));return self;} ,'accessing',unescape('month%3A%20aNumber%0D%0A%09%22%20Set%20the%20month%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23setMonth%3A%20aNumber%20-%201')); smalltalk.bind(smalltalk.DateTime,'day','day' ,function (){ var self=this; return self.dayOfWeek();return self;} ,'accessing',unescape('day%0D%0A%09%22%20Return%20the%20day%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20dayOfWeek')); smalltalk.bind(smalltalk.DateTime,'dayOfWeek','dayOfWeek' ,function (){ var self=this; return (self.getDay() + (1));return self;} ,'accessing',unescape('dayOfWeek%0D%0A%09%22%20Return%20the%20day%20of%20week%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23getDay%20+%201')); smalltalk.bind(smalltalk.DateTime,'dayOfWeek:','dayOfWeek_' ,function (aNumber){ var self=this; self.setDay((aNumber - (1)));return self;} ,'accessing',unescape('dayOfWeek%3A%20aNumber%0D%0A%09%22%20Set%20the%20day%20of%20week%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23setDay%3A%20aNumber%20-%201')); smalltalk.bind(smalltalk.DateTime,'day:','day_' ,function (aNumber){ var self=this; self.day_(aNumber);return self;} ,'accessing',unescape('day%3A%20aNumber%0D%0A%09%22%20Set%20the%20day%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20day%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime,'year:','year_' ,function (aNumber){ var self=this; self.setFullYear(aNumber);return self;} ,'accessing',unescape('year%3A%20aNumber%0D%0A%09%22%20Set%20the%20year%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23setFullYear%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime,'dayOfMonth','dayOfMonth' ,function (){ var self=this; return self.getDate();return self;} ,'accessing',unescape('dayOfMonth%0D%0A%09%22%20Return%20the%20day%20of%20month%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23getDate')); smalltalk.bind(smalltalk.DateTime,'dayOfMonth:','dayOfMonth_' ,function (aNumber){ var self=this; self.setDate(aNumber);return self;} ,'accessing',unescape('dayOfMonth%3A%20aNumber%0D%0A%09%22%20Set%20the%20day%20of%20month%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23setDate%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime,'asString','asString' ,function (){ var self=this; return self.toString();return self;} ,'converting',unescape('asString%0D%0A%09%22%20Return%20the%20text%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23toString')); smalltalk.bind(smalltalk.DateTime,'printString','printString' ,function (){ var self=this; return self.asString();return self;} ,'printing',unescape('printString%0D%0A%09%22%20Return%20the%20printable%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20asString')); smalltalk.bind(smalltalk.DateTime,'asMilliseconds','asMilliseconds' ,function (){ var self=this; return self.time();return self;} ,'converting',unescape('asMilliseconds%0D%0A%09%22%20Return%20the%20receiver%20as%20milliseconds.%20%22%0D%0A%0D%0A%09%5Eself%20time')); smalltalk.bind(smalltalk.DateTime,'time','time' ,function (){ var self=this; return self.getTime();return self;} ,'accessing',unescape('time%0D%0A%09%22%20Return%20the%20time%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23getTime')); smalltalk.bind(smalltalk.DateTime,'time:','time_' ,function (aNumber){ var self=this; self.setTime(aNumber);return self;} ,'accessing',unescape('time%3A%20aNumber%0D%0A%09%22%20Set%20the%20time%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23setTime%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime,'asDateString','asDateString' ,function (){ var self=this; return self.toDateString();return self;} ,'converting',unescape('asDateString%0D%0A%09%22%20Return%20the%20date%20string%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23toDateString')); smalltalk.bind(smalltalk.DateTime,'asTimeString','asTimeString' ,function (){ var self=this; return self.toTimeString();return self;} ,'converting',unescape('asTimeString%0D%0A%09%22%20Return%20the%20time%20string%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23toTimeString')); smalltalk.bind(smalltalk.DateTime,'asLocaleString','asLocaleString' ,function (){ var self=this; return self.toLocaleString();return self;} ,'converting',unescape('asLocaleString%0D%0A%09%22%20Return%20the%20locale%20string%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23toLocaleString')); smalltalk.bind(smalltalk.DateTime,'asNumber','asNumber' ,function (){ var self=this; return self.asMilliseconds();return self;} ,'converting',unescape('asNumber%0D%0A%09%22%20Return%20the%20receiver%20as%20a%20Number.%20%22%0D%0A%0D%0A%09%5Eself%20asMilliseconds')); smalltalk.bind(smalltalk.DateTime,'hours:','hours_' ,function (aNumber){ var self=this; return self.setHours(aNumber);return self;} ,'accessing',unescape('hours%3A%20aNumber%0D%0A%09%22%20Set%20the%20hours%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23setHours%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime,'minutes:','minutes_' ,function (aNumber){ var self=this; self.setMinutes(aNumber);return self;} ,'accessing',unescape('minutes%3A%20aNumber%0D%0A%09%22%20Set%20the%20minutes%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23setMinutes%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime,'seconds:','seconds_' ,function (aNumber){ var self=this; self.setSeconds(aNumber);return self;} ,'accessing',unescape('seconds%3A%20aNumber%0D%0A%09%22%20Set%20the%20seconds%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23setSeconds%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime,'milliseconds:','milliseconds_' ,function (aNumber){ var self=this; self.setMilliseconds(aNumber);return self;} ,'accessing',unescape('milliseconds%3A%20aNumber%0D%0A%09%22%20Set%20the%20milliseconds%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23setMilliseconds%3A%20aNumber')); smalltalk.bind(smalltalk.DateTime,'hours','hours' ,function (){ var self=this; return self.getHours();return self;} ,'accessing',unescape('hours%0D%0A%09%22%20Return%20the%20hours%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23getHours')); smalltalk.bind(smalltalk.DateTime,'minutes','minutes' ,function (){ var self=this; return self.getMinutes();return self;} ,'accessing',unescape('minutes%0D%0A%09%22%20Return%20the%20minutes%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20getMinutes')); smalltalk.bind(smalltalk.DateTime,'seconds','seconds' ,function (){ var self=this; return self.getSeconds();return self;} ,'accessing',unescape('seconds%0D%0A%09%22%20Return%20the%20seconds%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23getSeconds')); smalltalk.bind(smalltalk.DateTime,'milliseconds','milliseconds' ,function (){ var self=this; return self.getMilliseconds();return self;} ,'accessing',unescape('milliseconds%0D%0A%09%22%20Return%20the%20milliseconds%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23getMilliseconds')); smalltalk.bind(smalltalk.DateTime,'<','_lt' ,function (aDateTime){ var self=this; return self < aDateTime; ;return self;} ,'comparing',unescape('%3C%20aDateTime%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20previous%20to%20aDateTime.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3C%20aDateTime%3B%20%27%7D')); smalltalk.bind(smalltalk.DateTime,'>','_gt' ,function (aDateTime){ var self=this; return self > aDateTime; ;return self;} ,'comparing',unescape('%3E%20aDateTime%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20later%20than%20aDateTime.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3E%20aDateTime%3B%20%27%7D')); smalltalk.bind(smalltalk.DateTime,'<=','_lt_eq' ,function (aDateTime){ var self=this; return self <= aDateTime; ;return self;} ,'comparing',unescape('%3C%3D%20aDateTime%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20previous%20or%20equal%20to%20aDateTime.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3C%3D%20aDateTime%3B%20%27%7D')); smalltalk.bind(smalltalk.DateTime,'>=','_gt_eq' ,function (aDateTime){ var self=this; return self >= aDateTime; ;return self;} ,'comparing',unescape('%3E%3D%20aDateTime%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20later%20or%20equal%20to%20aDateTime.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20%3E%3D%20aDateTime%3B%20%27%7D')); smalltalk.bind(smalltalk.DateTime,'-','_minus' ,function (aDateTime){ var self=this; return self - aDateTime; ;return self;} ,'arithmetic',unescape('-%20aDateTime%0D%0A%09%22%20Return%20the%20result%20of%20operation%20with%20receiver%20and%20aDateTime.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20-%20aDateTime%3B%20%27%7D')); smalltalk.bind(smalltalk.DateTime,'+','_plus' ,function (aDateTime){ var self=this; return self + aDateTime; ;return self;} ,'arithmetic',unescape('+%20aDateTime%0D%0A%09%22%20Return%20the%20result%20of%20operation%20with%20receiver%20and%20aDateTime.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20+%20aDateTime%3B%20%27%7D')); smalltalk.bind(smalltalk.DateTime,'asJSONObject','asJSONObject' ,function (){ var self=this; return self;return self;} ,'converting',unescape('asJSONObject%0D%0A%09%22%20Return%20an%20object%20mapping%20the%20receiver%20to%20JSON%20structure.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.UndefinedObject.$klass,'new','$$new' ,function (){ var self=this; return self.error_("UndefinedObject cant be instantiated.");return self;} ,'instance creation',unescape('new%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20error%3A%20%27UndefinedObject%20cant%20be%20instantiated.%27')); smalltalk.bind(smalltalk.UndefinedObject,'shallowCopy','shallowCopy' ,function (){ var self=this; return self;return self;} ,'copying',unescape('shallowCopy%0D%0A%09%22%20Return%20a%20shallow%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.UndefinedObject,'deepCopy','deepCopy' ,function (){ var self=this; return self;return self;} ,'copying',unescape('deepCopy%0D%0A%09%22%20Return%20a%20deep%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.UndefinedObject,'ifNil:','ifNil_' ,function (aBlock){ var self=this; return aBlock.value();return self;} ,'testing',unescape('ifNil%3A%20aBlock%0D%0A%09%22%20Return%20the%20receiver%20if%20it%20is%20not%20nil%2C%20or%20the%20result%20of%20evaluating%20aBlock%20%28if%20it%20is%20nil%29.%20%22%0D%0A%0D%0A%09%5EaBlock%20value')); smalltalk.bind(smalltalk.UndefinedObject,'ifNotNil:','ifNotNil_' ,function (aBlock){ var self=this; return self;return self;} ,'testing',unescape('ifNotNil%3A%20aBlock%0D%0A%09%22%20Return%20the%20receiver%20if%20it%20is%20nil%2C%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.UndefinedObject,'ifNil:ifNotNil:','ifNil_ifNotNil_' ,function (aBlock,anotherBlock){ var self=this; return aBlock.value();return self;} ,'testing',unescape('ifNil%3A%20aBlock%20ifNotNil%3A%20anotherBlock%0D%0A%09%22%20Return%20the%20receiver%20if%20it%20is%20nil%2C%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%09%5EaBlock%20value')); smalltalk.bind(smalltalk.UndefinedObject,'ifNotNil:ifNil:','ifNotNil_ifNil_' ,function (aBlock,anotherBlock){ var self=this; return anotherBlock.value();return self;} ,'testing',unescape('ifNotNil%3A%20aBlock%20ifNil%3A%20anotherBlock%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20anotherBlock%20if%20teh%20receiver%20is%20nil%2C%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%09%5EanotherBlock%20value')); smalltalk.bind(smalltalk.UndefinedObject,'isNil','isNil' ,function (){ var self=this; return true;return self;} ,'testing',unescape('isNil%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20nil.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.UndefinedObject,'notNil','notNil' ,function (){ var self=this; return false;return self;} ,'testing',unescape('notNil%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20not%20nil.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.UndefinedObject,'printString','printString' ,function (){ var self=this; return "nil";return self;} ,'printing',unescape('printString%0D%0A%09%22%20Return%20the%20text%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27nil%27')); smalltalk.bind(smalltalk.UndefinedObject,'compiler','compiler' ,function (){ var self=this; return smalltalk.Compiler.for_(nil);return self;} ,'printing',unescape('compiler%0D%0A%09%22%20Return%20the%20compiler%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5ECompiler%20for%3A%20nil')); smalltalk.bind(smalltalk.UndefinedObject,'subclass:instanceVariableNames:','subclass_instanceVariableNames_' ,function (aString,anotherString){ var self=this; return self.subclass_instanceVariableNames_category_(aString, anotherString, nil);return self;} ,'class creation',unescape('subclass%3A%20aString%20instanceVariableNames%3A%20anotherString%0D%0A%09%22%20Create%20a%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20anotherString%0D%0A%09%09category%3A%20nil')); smalltalk.bind(smalltalk.UndefinedObject,'subclass:instanceVariableNames:category:','subclass_instanceVariableNames_category_' ,function (aString,aString2,aString3){ var self=this; return smalltalk.ClassBuilder.$$new().superclass_subclass_instanceVariableNames_category_(self, aString, aString2, aString3);return self;} ,'class creation',unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20category%3A%20aString3%0D%0A%09%22%20Create%20a%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EClassBuilder%20new%0D%0A%09%09superclass%3A%20self%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09category%3A%20aString3')); smalltalk.bind(smalltalk.UndefinedObject,'category:','category_' ,function (ignored){ var self=this; return self;} ,'class creation',unescape('category%3A%20ignored%0D%0A%09%22%20BUG%20-%20throw%20an%20error%20in%20ClassBuilder.%20%22%20')); smalltalk.bind(smalltalk.UndefinedObject,'subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:','subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_' ,function (aString,aString2,classVarNames,poolVarNames,aCategory){ var self=this; (((((self.smalltalk()[aString] || nil) || nil) !== nil)).mustBeBoolean()==true ? (function(){return self.print_(unescape("//%20WARNING%3A%20class%20REdefinition%20for%20")._comma(aString));})() : nil); return smalltalk.ClassBuilder.$$new().superclass_subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_(self, aString, aString2, classVarNames, poolVarNames, aCategory);return self;} ,'class creation',unescape('subclass%3A%20aString%0D%0A%09instanceVariableNames%3A%20aString2%0D%0A%09classVariableNames%3A%20classVarNames%0D%0A%09poolDictionaries%3A%20poolVarNames%0D%0A%09category%3A%20aCategory%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%28self%20smalltalk%20basicAt%3A%20aString%29%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09self%20print%3A%20%27//%20WARNING%3A%20class%20REdefinition%20for%20%27%2CaString.%0D%0A%09%09%22%5Eself%20smalltalk%20basicAt%3A%20aString%22%0D%0A%09%5D.%0D%0A%0D%0A%09%22self%20print%3A%20%27//%20Creating%20ROOT%20class%20%27%2CaString.%22%0D%0A%09%5EClassBuilder%20new%0D%0A%09%09superclass%3A%20self%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20poolVarNames%0D%0A%09%09category%3A%20aCategory')); smalltalk.bind(smalltalk.UndefinedObject,'subclass:instanceVariableNames:classVariableNames:poolDictionaries:','subclass_instanceVariableNames_classVariableNames_poolDictionaries_' ,function (aString,aString2,classVarNames,poolVarNames){ var self=this; return self.subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_(aString, aString2, classVarNames, poolVarNames, nil);return self;} ,'class creation',unescape('subclass%3A%20aString%0D%0A%09instanceVariableNames%3A%20aString2%0D%0A%09classVariableNames%3A%20classVarNames%0D%0A%09poolDictionaries%3A%20poolVarNames%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20poolVarNames%0D%0A%09%09category%3A%20nil')); smalltalk.bind(smalltalk.Collection.$klass,'streamClass','streamClass' ,function (){ var self=this; return smalltalk.Stream;return self;} ,'accessing',unescape('streamClass%0D%0A%09%22%20Private%20-%20Return%20the%20support%20for%20streamming%20on%20the%20receiver%27s%20instances.%20%22%0D%0A%0D%0A%09%20%20%20%20%5EStream')); smalltalk.bind(smalltalk.Collection.$klass,'with:','with_' ,function (anObject){ var self=this; return (function($rec){$rec.add_(anObject);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('with%3A%20anObject%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09add%3A%20anObject%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Collection.$klass,'with:with:','with_with_' ,function (anObject,anotherObject){ var self=this; return (function($rec){$rec.add_(anObject);$rec.add_(anotherObject);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('with%3A%20anObject%20with%3A%20anotherObject%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09add%3A%20anObject%3B%0D%0A%09%09add%3A%20anotherObject%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Collection.$klass,'with:with:with:','with_with_with_' ,function (firstObject,secondObject,thirdObject){ var self=this; return (function($rec){$rec.add_(firstObject);$rec.add_(secondObject);$rec.add_(thirdObject);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('with%3A%20firstObject%20with%3A%20secondObject%20with%3A%20thirdObject%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09add%3A%20firstObject%3B%0D%0A%09%09add%3A%20secondObject%3B%0D%0A%09%09add%3A%20thirdObject%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Collection.$klass,'withAll:','withAll_' ,function (aCollection){ var self=this; return (function($rec){$rec.addAll_(aCollection);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('withAll%3A%20aCollection%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09addAll%3A%20aCollection%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Collection,'size','size' ,function (){ var self=this; return self.subclassResponsibility();return self;} ,'accessing',unescape('size%0D%0A%09%22%20Return%20the%20size%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20subclassResponsibility')); smalltalk.bind(smalltalk.Collection,'readStream','readStream' ,function (){ var self=this; return self.stream();return self;} ,'accessing',unescape('readStream%0D%0A%09%22%20Return%20a%20read%20stream%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20stream')); smalltalk.bind(smalltalk.Collection,'writeStream','writeStream' ,function (){ var self=this; return self.stream();return self;} ,'accessing',unescape('writeStream%0D%0A%09%22%20Return%20a%20write%20stream%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20stream')); smalltalk.bind(smalltalk.Collection,'stream','stream' ,function (){ var self=this; return self.streamClass().on_(self);return self;} ,'accessing',unescape('stream%0D%0A%09%22%20Return%20a%20stream%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20streamClass%20on%3A%20self')); smalltalk.bind(smalltalk.Collection,'streamClass','streamClass' ,function (){ var self=this; return self.$klass.streamClass();return self;} ,'accessing',unescape('streamClass%0D%0A%09%22%20Private%20-%20Return%20the%20support%20for%20streamming%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20class%20streamClass')); smalltalk.bind(smalltalk.Collection,'add:','add_' ,function (anObject){ var self=this; return self.subclassResponsibility();return self;} ,'adding/removing',unescape('add%3A%20anObject%0D%0A%09%22%20Add%20anObject%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20subclassResponsibility')); smalltalk.bind(smalltalk.Collection,'addAll:','addAll_' ,function (aCollection){ var self=this; aCollection.do_((function(each){return self.add_(each);})); return aCollection;return self;} ,'adding/removing',unescape('addAll%3A%20aCollection%0D%0A%09%22%20Add%20objects%20in%20aCollection%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09aCollection%20do%3A%20%5B%3Aeach%20%7C%20self%20add%3A%20each%20%5D.%0D%0A%09%5EaCollection')); smalltalk.bind(smalltalk.Collection,',','_comma' ,function (aCollection){ var self=this; return (function($rec){$rec.addAll_(aCollection);return $rec.yourself();})(self.copy());return self;} ,'copying',unescape('%2C%20aCollection%0D%0A%09%22%20Return%20a%20copy%20of%20the%20receiver%20with%20all%20contents%20of%20aCollection.%20%22%0D%0A%0D%0A%09%5Eself%20copy%0D%0A%09%09addAll%3A%20aCollection%3B%20%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Collection,'copyWith:','copyWith_' ,function (anObject){ var self=this; return (function($rec){$rec.add_(anObject);return $rec.yourself();})(self.copy());return self;} ,'copying',unescape('copyWith%3A%20anObject%0D%0A%09%22%20Return%20a%20copy%20of%20the%20receiver%20with%20anObject.%20%22%0D%0A%0D%0A%09%5Eself%20copy%20add%3A%20anObject%3B%20yourself')); smalltalk.bind(smalltalk.Collection,'copyWithAll:','copyWithAll_' ,function (aCollection){ var self=this; return (function($rec){$rec.addAll_(aCollection);return $rec.yourself();})(self.copy());return self;} ,'copying',unescape('copyWithAll%3A%20aCollection%0D%0A%09%22%20Return%20a%20copy%20of%20the%20receiver%20with%20all%20contents%20of%20aCollection.%20%22%0D%0A%0D%0A%09%5Eself%20copy%0D%0A%09%09addAll%3A%20aCollection%3B%20%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Collection,'asArray','asArray' ,function (){ var self=this; var result=nil; var index=nil; result=smalltalk.Array.$$new(); index=(0); self.do_((function(each){index=(index + (1));return result.at_put_(index, each);})); return result;return self;} ,'converting',unescape('asArray%0D%0A%09%22%20Return%20an%20array%20with%20the%20contents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20index%20%7C%0D%0A%09result%20%3A%3D%20Array%20new.%0D%0A%09index%20%3A%3D%200.%0D%0A%09self%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%20%20%20%20index%20%3A%3D%20index%20+%201.%0D%0A%09%20%20%20%20result%20at%3A%20index%20put%3A%20each%0D%0A%09%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Collection,'do:','do_' ,function (aBlock){ var self=this; for(var i=0;i0;$1$--){(function(){((self.atEnd()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "next_", fn: function(){return result}})})();})() : nil);return result.add_(self.next());})()};return nil})(); (function(){throw({name: "stReturn", selector: "next_", fn: function(){return result}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "next_"){return $$ex.fn();} throw($$ex);}} ,'reading',unescape('next%3A%20anInteger%0D%0A%09%22%20Return%20the%20next%20anInteger%20elements%20read%20from%20the%20receiver.%0D%0A%09If%20the%20receiver%20reach%20its%20end%2C%20the%20returned%20collection%20has%20less%20elements.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20collection%20class%20new.%0D%0A%09anInteger%20timesRepeat%3A%20%5B%0D%0A%09%09self%20atEnd%20ifTrue%3A%20%5B%20%5Eresult%20%5D.%0D%0A%09%09result%20add%3A%20self%20next.%0D%0A%09%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Stream,'nextPut:','nextPut_' ,function (anObject){ var self=this; self.position_((self.position() + (1))); self.collection().at_put_(self.position(), anObject); self.readLimit_(self.readLimit().max_(self.position()));return self;} ,'writing',unescape('nextPut%3A%20anObject%0D%0A%09%22%20Put%20anObject%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20position%3A%20self%20position%20+%201.%0D%0A%09self%20collection%20at%3A%20self%20position%20put%3A%20anObject.%0D%0A%09self%20readLimit%3A%20%28self%20readLimit%20max%3A%20self%20position%29')); smalltalk.bind(smalltalk.Stream,'nextPutAll:','nextPutAll_' ,function (aCollection){ var self=this; aCollection.do_((function(each){return self.nextPut_(each);}));return self;} ,'writing',unescape('nextPutAll%3A%20aCollection%0D%0A%09%22%20Put%20aCollection%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09aCollection%20do%3A%20%5B%3Aeach%20%7C%20self%20nextPut%3A%20each%20%5D')); smalltalk.bind(smalltalk.Stream,'cr','cr' ,function (){ var self=this; self.nextPutAll_(smalltalk.String.cr());return self;} ,'writing',unescape('cr%0D%0A%09%22%20Put%20a%20CR%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20nextPutAll%3A%20String%20cr')); smalltalk.bind(smalltalk.Stream,'peek','peek' ,function (){ var self=this; return ((self.atEnd()).mustBeBoolean()==true ? nil : (function(){return self.collection().at_((self.position() + (1)));})());return self;} ,'reading',unescape('peek%0D%0A%09%22%20Return%20the%20next%20readable%20element%20from%20the%20receiver%20without%20advancing%20the%20receiver%3B%20or%20nil.%20%22%0D%0A%0D%0A%09%5Eself%20atEnd%20ifFalse%3A%20%5B%0D%0A%09%20%20%20%20self%20collection%20at%3A%20self%20position%20+%201%0D%0A%09%5D')); smalltalk.bind(smalltalk.Stream,'atEnd','atEnd' ,function (){ var self=this; return self.position()._gt_eq(self.size());return self;} ,'testing',unescape('atEnd%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20at%20end.%20%22%0D%0A%0D%0A%09%5Eself%20position%20%3E%3D%20self%20size')); smalltalk.bind(smalltalk.Stream,'atStart','atStart' ,function (){ var self=this; return self.position()._eq((0));return self;} ,'testing',unescape('atStart%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20at%20start%20position.%20%22%0D%0A%0D%0A%09%5Eself%20position%20%3D%200')); smalltalk.bind(smalltalk.Stream,'isEmpty','isEmpty' ,function (){ var self=this; return self.size()._eq((0));return self;} ,'testing',unescape('isEmpty%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20empty.%20%22%0D%0A%0D%0A%09%5Eself%20size%20%3D%200')); smalltalk.bind(smalltalk.Stream,'upTo:','upTo_' ,function (anObject){ var self=this; var result=nil; result=self.collection().$klass.$$new(); (function(){while(!(function(){return self.atEnd().or_((function(){return self.peek()._eq(anObject);}));})()){(function(){return result.add_(self.next());})()};return nil})(); ((self.atEnd()).mustBeBoolean()==true ? nil : (function(){return self.next();})()); return result;return self;} ,'reading',unescape('upTo%3A%20anObject%0D%0A%09%22%20Return%20the%20elements%20read%20from%20the%20receiver%20upto%20anObject%20%28or%20end%29.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20collection%20class%20new.%0D%0A%09%5B%20self%20atEnd%20or%3A%20%5B%20self%20peek%20%3D%20anObject%20%5D%5D%20whileFalse%3A%20%5B%0D%0A%09%20%20%20%20result%20add%3A%20self%20next%0D%0A%09%5D.%0D%0A%09self%20atEnd%20ifFalse%3A%20%5B%20self%20next%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Stream,'upToEnd','upToEnd' ,function (){ var self=this; var result=nil; result=self.collection().copyFrom_to_((self.position() + (1)), self.readLimit()); self.setToEnd(); return result;return self;} ,'reading',unescape('upToEnd%0D%0A%09%22%20Return%20the%20contents%20of%20the%20receiver%20upto%20end.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20collection%20copyFrom%3A%20self%20position%20+%201%20to%3A%20self%20readLimit.%0D%0A%09self%20setToEnd.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Stream,'nextLine','nextLine' ,function (){ var self=this; try{ var result=nil; result=self.upTo_(smalltalk.String.lf()); ((result.notEmpty().and_((function(){return result.last()._eq(smalltalk.String.cr());}))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "nextLine", fn: function(){return result.copyFrom_to_((1), (result.size() - (1)))}})})();})() : nil); (function(){throw({name: "stReturn", selector: "nextLine", fn: function(){return result}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "nextLine"){return $$ex.fn();} throw($$ex);}} ,'reading',unescape('nextLine%0D%0A%09%22%20Return%20the%20characters%20read%20from%20the%20receiver%20up%20to%20the%20line%20delimiter.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20upTo%3A%20String%20lf.%0D%0A%09%28result%20notEmpty%20and%3A%20%5B%20result%20last%20%3D%20String%20cr%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09%5Eresult%20copyFrom%3A%201%20to%3A%20result%20size%20-%201%0D%0A%09%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Stream,'skipTo:','skipTo_' ,function (anObject){ var self=this; try{ (function(){while(!(function(){return self.atEnd();})()){(function(){return ((self.next()._eq(anObject)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "skipTo_", fn: function(){return true}})})();})() : nil);})()};return nil})(); (function(){throw({name: "stReturn", selector: "skipTo_", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "skipTo_"){return $$ex.fn();} throw($$ex);}} ,'reading',unescape('skipTo%3A%20anObject%0D%0A%09%22%20Advance%20the%20receiver%20upto%20anObject%20%28or%20end%29.%20%22%0D%0A%0D%0A%09%5B%20self%20atEnd%20%5D%20whileFalse%3A%20%5B%0D%0A%09%09self%20next%20%3D%20anObject%20ifTrue%3A%20%5B%20%5Etrue%20%5D.%0D%0A%09%5D.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Stream,'nextChunk','nextChunk' ,function (){ var self=this; var result=nil; result=self.upTo_(unescape("%21")); (function(){while((function(){return self.peek()._eq(unescape("%21"));})()){(function(){self.next();return result=result._comma(unescape("%21"))._comma(self.upTo_(unescape("%21")));})()};return nil})(); return result.trimFirst_((function(c){return (c.asciiValue() <= (32));}));return self;} ,'fileIn',unescape('nextChunk%0D%0A%09%22%20FileIn%20-%20Return%20the%20next%20chunk%20read%20from%20the%20receiver.%0D%0A%09Trailing%20non-printing%20characters%20are%20skipped.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20upTo%3A%20%24%21.%0D%0A%09%5B%20self%20peek%20%3D%20%24%21%20%5D%20whileTrue%3A%20%5B%0D%0A%09%09self%20next.%0D%0A%09%09result%20%3A%3D%20result%2C%20%27%21%27%2C%20%28self%20upTo%3A%20%24%21%29%0D%0A%09%5D.%0D%0A%09%5Eresult%20trimFirst%3A%20%5B%3Ac%7C%20c%20asciiValue%20%3C%3D%2032%20%5D')); smalltalk.bind(smalltalk.Stream,'fileIn','fileIn' ,function (){ var self=this; var scanner=nil; (function(){while(!(function(){return self.atEnd();})()){(function(){return scanner=scanner.scanFrom_(self);})()};return nil})(); return scanner;return self;} ,'fileIn',unescape('fileIn%0D%0A%09%22%20FileIn%20-%20FileIn%20the%20receiver%27s%20contents%20%28in%20chunk%20format%29.%20%22%0D%0A%0D%0A%09%7C%20scanner%20%7C%0D%0A%09%5Bself%20atEnd%5D%20whileFalse%3A%20%5B%20scanner%20%3A%3D%20scanner%20scanFrom%3A%20self%20%5D.%0D%0A%09%5Escanner')); smalltalk.bind(smalltalk.Stream,'nextChunkPut:','nextChunkPut_' ,function (aString){ var self=this; aString.do_((function(c){self.nextPut_(c);return (((c === unescape("%21"))).mustBeBoolean()==true ? (function(){return self.nextPut_(unescape("%21"));})() : nil);})); self.nextPut_(unescape("%21")); return aString;return self;} ,'fileOut',unescape('nextChunkPut%3A%20aString%0D%0A%09%22%20Output%20aString%20in%20chunk%20format.%20%22%0D%0A%0D%0A%09aString%20do%3A%20%5B%20%3Ac%20%7C%0D%0A%09%09self%20nextPut%3A%20c.%0D%0A%09%09c%20%3D%3D%20%24%21%20ifTrue%3A%20%5B%20self%20nextPut%3A%20%24%21%20%5D%0D%0A%09%5D.%0D%0A%09self%20nextPut%3A%20%24%21.%0D%0A%09%5EaString')); smalltalk.bind(smalltalk.Random,'next','next' ,function (){ var self=this; return Math.random();return self;} ,'accessing',unescape('next%0D%0A%09%22%20Return%20the%20next%20random%20number.%20%22%0D%0A%0D%0A%7B%27%09return%20Math.random%28%29%27%7D')); smalltalk.bind(smalltalk.Random,'next:','next_' ,function (anInteger){ var self=this; return (1).to_(anInteger).collect_((function(each){return self.next();}));return self;} ,'accessing',unescape('next%3A%20anInteger%0D%0A%09%22%20Return%20the%20next%20anInteger%20random%20numbers.%20%22%0D%0A%0D%0A%09%5E%281%20to%3A%20anInteger%29%20collect%3A%20%5B%3Aeach%20%7C%20self%20next%20%5D')); smalltalk.bind(smalltalk.Point.$klass,'x:y:','x_y_' ,function (aNumber,anotherNumber){ var self=this; return (function($rec){$rec.x_(aNumber);$rec.y_(anotherNumber);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('x%3A%20aNumber%20y%3A%20anotherNumber%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09x%3A%20aNumber%3B%0D%0A%09%09y%3A%20anotherNumber%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Point,'x','x' ,function (){ var self=this; return self['@x'];return self;} ,'accessing',unescape('x%0D%0A%09%22%20Return%20the%20x%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ex')); smalltalk.bind(smalltalk.Point,'y','y' ,function (){ var self=this; return self['@y'];return self;} ,'accessing',unescape('y%0D%0A%09%22%20Return%20the%20y%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ey')); smalltalk.bind(smalltalk.Point,'y:','y_' ,function (aNumber){ var self=this; self['@y']=aNumber;return self;} ,'accessing',unescape('y%3A%20aNumber%0D%0A%09%22%20Set%20the%20y%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09y%20%3A%3D%20aNumber')); smalltalk.bind(smalltalk.Point,'x:','x_' ,function (aNumber){ var self=this; self['@x']=aNumber;return self;} ,'accessing',unescape('x%3A%20aNumber%0D%0A%09%22%20Set%20the%20x%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09x%20%3A%3D%20aNumber')); smalltalk.bind(smalltalk.Point,'*','_star' ,function (aPoint){ var self=this; try{ ((aPoint.isNumber()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "_star", fn: function(){return self['@x']._star(aPoint)._at(self['@y']._star(aPoint))}})})();})() : nil); (function(){throw({name: "stReturn", selector: "_star", fn: function(){return smalltalk.Point.x_y_(self['@x']._star(aPoint.asPoint().x()), self['@y']._star(aPoint.asPoint().y()))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_star"){return $$ex.fn();} throw($$ex);}} ,'arithmetic',unescape('*%20aPoint%0D%0A%09%22%20Return%20the%20result%20of%20operation%20with%20aPoint.%20%22%0D%0A%0D%0A%09aPoint%20isNumber%20ifTrue%3A%20%5B%20%5Ex%20*%20aPoint%20@%20%28y%20*%20aPoint%29%20%5D.%0D%0A%09%5EPoint%09x%3A%20x%20*%20aPoint%20asPoint%20x%0D%0A%09%09y%3A%20y%20*%20aPoint%20asPoint%20y')); smalltalk.bind(smalltalk.Point,'+','_plus' ,function (aPoint){ var self=this; try{ ((aPoint.isNumber()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "_plus", fn: function(){return self['@x']._plus(aPoint)._at(self['@y']._plus(aPoint))}})})();})() : nil); (function(){throw({name: "stReturn", selector: "_plus", fn: function(){return smalltalk.Point.x_y_(self['@x']._plus(aPoint.asPoint().x()), self['@y']._plus(aPoint.asPoint().y()))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_plus"){return $$ex.fn();} throw($$ex);}} ,'arithmetic',unescape('+%20aPoint%0D%0A%09%22%20Return%20the%20result%20of%20operation%20with%20aPoint.%20%22%0D%0A%0D%0A%09aPoint%20isNumber%20ifTrue%3A%20%5B%20%5Ex%20+%20aPoint%20@%20%28y%20+%20aPoint%29%20%5D.%0D%0A%09%5EPoint%09x%3A%20x%20+%20aPoint%20asPoint%20x%0D%0A%09%09y%3A%20y%20+%20aPoint%20asPoint%20y')); smalltalk.bind(smalltalk.Point,'-','_minus' ,function (aPoint){ var self=this; try{ ((aPoint.isNumber()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "_minus", fn: function(){return self['@x']._minus(aPoint)._at(self['@y']._minus(aPoint))}})})();})() : nil); (function(){throw({name: "stReturn", selector: "_minus", fn: function(){return smalltalk.Point.x_y_(self['@x']._minus(aPoint.asPoint().x()), self['@y']._minus(aPoint.asPoint().y()))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_minus"){return $$ex.fn();} throw($$ex);}} ,'arithmetic',unescape('-%20aPoint%0D%0A%09%22%20Return%20the%20result%20of%20operation%20with%20aPoint.%20%22%0D%0A%0D%0A%09aPoint%20isNumber%20ifTrue%3A%20%5B%20%5Ex%20-%20aPoint%20@%20%28y%20-%20aPoint%29%20%5D.%0D%0A%09%5EPoint%09x%3A%20x%20-%20aPoint%20asPoint%20x%0D%0A%09%09y%3A%20y%20-%20aPoint%20asPoint%20y')); smalltalk.bind(smalltalk.Point,'/','_slash' ,function (aPoint){ var self=this; try{ ((aPoint.isNumber()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "_slash", fn: function(){return self['@x']._slash(aPoint)._at(self['@y']._slash(aPoint))}})})();})() : nil); (function(){throw({name: "stReturn", selector: "_slash", fn: function(){return smalltalk.Point.x_y_(self['@x']._slash(aPoint.asPoint().x()), self['@y']._slash(aPoint.asPoint().y()))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_slash"){return $$ex.fn();} throw($$ex);}} ,'arithmetic',unescape('/%20aPoint%0D%0A%09%22%20Return%20the%20result%20of%20operation%20with%20aPoint.%20%22%0D%0A%0D%0A%09aPoint%20isNumber%20ifTrue%3A%20%5B%20%5Ex%20/%20aPoint%20@%20%28y%20/%20aPoint%29%20%5D.%0D%0A%09%5EPoint%09x%3A%20x%20/%20aPoint%20asPoint%20x%0D%0A%09%09y%3A%20y%20/%20aPoint%20asPoint%20y')); smalltalk.bind(smalltalk.Point,'asPoint','asPoint' ,function (){ var self=this; return self;return self;} ,'converting',unescape('asPoint%0D%0A%09%22%20Return%20the%20receiver%20as%20a%20Point.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Point,'printString','printString' ,function (){ var self=this; return self['@x'].asString()._comma(unescape("%20@%20"))._comma(self['@y'].asString());return self;} ,'printing',unescape('printString%0D%0A%09%22%20Return%20the%20printable%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ex%20asString%20%2C%27%20@%20%27%20%2Cy%20asString')); smalltalk.bind(smalltalk.Point,'toString','toString' ,function (){ var self=this; return self['@x'].toString()._comma(unescape("@"))._comma(self['@y'].toString());return self;} ,'printing',unescape('toString%0D%0A%09%22%20Return%20the%20printable%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ex%20toString%20%2C%27@%27%20%2Cy%20toString')); smalltalk.bind(smalltalk.EvaluableAction,',','_comma' ,function (anAction){ var self=this; return smalltalk.ActionSequence.with_with_(self, anAction);return self;} ,'conversion',unescape('%2C%20anAction%0D%0A%09%22%20Return%20an%20action%20composed%20with%20the%20receiver%20and%20anAction.%20%22%0D%0A%0D%0A%09%5EActionSequence%20with%3A%20self%20with%3A%20anAction')); smalltalk.bind(smalltalk.ActionSequence.$klass,'withAll:','withAll_' ,function (aCollection){ var self=this; return (function($rec){$rec.contents_(aCollection);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('withAll%3A%20aCollection%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09contents%3A%20aCollection%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.ActionSequence.$klass,'with:','with_' ,function (anObject){ var self=this; return self.withAll_(smalltalk.Array.with_(anObject));return self;} ,'instance creation',unescape('with%3A%20anObject%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20withAll%3A%20%28Array%20with%3A%20anObject%29')); smalltalk.bind(smalltalk.ActionSequence.$klass,'with:with:','with_with_' ,function (anObject,bObject){ var self=this; return self.withAll_(smalltalk.Array.with_with_(anObject, bObject));return self;} ,'instance creation',unescape('with%3A%20anObject%20with%3A%20bObject%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20withAll%3A%20%28Array%20with%3A%20anObject%20with%3A%20bObject%29')); smalltalk.bind(smalltalk.ActionSequence.$klass,'with:with:with:','with_with_with_' ,function (anObject,bObject,cObject){ var self=this; return self.withAll_(smalltalk.Array.with_with_with_(anObject, bObject, cObject));return self;} ,'instance creation',unescape('with%3A%20anObject%20with%3A%20bObject%20with%3A%20cObject%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20withAll%3A%20%28Array%20with%3A%20anObject%20with%3A%20bObject%20with%3A%20cObject%29')); smalltalk.bind(smalltalk.ActionSequence,'contents:','contents_' ,function (aCollection){ var self=this; self['@contents']=aCollection;return self;} ,'private',unescape('contents%3A%20aCollection%0D%0A%09%22%20Private%20-%20Set%20the%20contents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09contents%20%3A%3D%20aCollection')); smalltalk.bind(smalltalk.ActionSequence,'contents','contents' ,function (){ var self=this; ((((self['@contents'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self['@contents']=smalltalk.Array.$$new();})() : nil); return self['@contents'];return self;} ,'private',unescape('contents%0D%0A%09%22%20Private%20-%20Return%20the%20contents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09contents%20isNil%20ifTrue%3A%20%5B%20contents%20%3A%3D%20Array%20new%20%5D.%0D%0A%09%5Econtents')); smalltalk.bind(smalltalk.ActionSequence,'isEmpty','isEmpty' ,function (){ var self=this; return ((self['@contents'] || nil) === nil).or_((function(){return self['@contents'].isEmpty();}));return self;} ,'testing',unescape('isEmpty%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20empty.%20%22%0D%0A%0D%0A%09%5Econtents%20isNil%20or%3A%20%5B%20contents%20isEmpty%20%5D')); smalltalk.bind(smalltalk.ActionSequence,'notEmpty','notEmpty' ,function (){ var self=this; return ((self['@contents'] || nil) !== nil).and_((function(){return self['@contents'].notEmpty();}));return self;} ,'testing',unescape('notEmpty%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20not%20empty.%20%22%0D%0A%0D%0A%09%5Econtents%20notNil%20and%3A%20%5B%20contents%20notEmpty%20%5D')); smalltalk.bind(smalltalk.ActionSequence,'asArray','asArray' ,function (){ var self=this; try{ ((self.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "asArray", fn: function(){return []}})})();})() : nil); (function(){throw({name: "stReturn", selector: "asArray", fn: function(){return self['@contents'].asArray()}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "asArray"){return $$ex.fn();} throw($$ex);}} ,'conversion',unescape('asArray%0D%0A%09%22Return%20an%20Array%20containing%20all%20the%20elements%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20isEmpty%20ifTrue%3A%20%5B%20%5E%23%28%29%20%5D.%0D%0A%09%5Econtents%20asArray')); smalltalk.bind(smalltalk.ActionSequence,'asActionSequence','asActionSequence' ,function (){ var self=this; return self;return self;} ,'conversion',unescape('asActionSequence%0D%0A%09%22%20Return%20an%20ActionSequence%20from%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.ActionSequence,',','_comma' ,function (anAction){ var self=this; try{ ((self.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "_comma", fn: function(){return anAction.asActionSequence()}})})();})() : nil); (function(){throw({name: "stReturn", selector: "_comma", fn: function(){return self.$klass.withAll_(self.contents()._comma(anAction.asActionSequence().contents()))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_comma"){return $$ex.fn();} throw($$ex);}} ,'conversion',unescape('%2C%20anAction%0D%0A%09%22%20Return%20an%20action%20composed%20with%20the%20receiver%20and%20anAction.%20%22%0D%0A%0D%0A%09self%20isEmpty%20ifTrue%3A%20%5B%20%5EanAction%20asActionSequence%20%5D.%0D%0A%09%5Eself%20class%20withAll%3A%20self%20contents%20%2C%20anAction%20asActionSequence%20contents')); smalltalk.bind(smalltalk.ActionSequence,'copyWith:','copyWith_' ,function (anObject){ var self=this; return self.$klass.withAll_(self.contents().copyWith_(anObject));return self;} ,'conversion',unescape('copyWith%3A%20anObject%0D%0A%09%22%20Return%20an%20action%20composed%20with%20the%20receiver%20and%20anObject.%20%22%0D%0A%0D%0A%09%5Eself%20class%20withAll%3A%20%28self%20contents%20copyWith%3A%20anObject%29')); smalltalk.bind(smalltalk.ActionSequence,'do:','do_' ,function (aBlock){ var self=this; return ((self.notEmpty()).mustBeBoolean()==true ? (function(){return self.contents().do_(aBlock);})() : nil);return self;} ,'conversion',unescape('do%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20for%20each%20object%20in%20the%20receiver%27s%20contents.%20%22%0D%0A%0D%0A%09%5Eself%20notEmpty%20ifTrue%3A%20%5B%20self%20contents%20do%3A%20aBlock%20%5D')); smalltalk.bind(smalltalk.ActionSequence,'includes:','includes_' ,function (anObject){ var self=this; return self.notEmpty().and_((function(){return self.contents().includes_(anObject);}));return self;} ,'testing',unescape('includes%3A%20anObject%0D%0A%09%22%20Return%20true%20if%20anObject%20is%20in%20receiver%27s%20contents.%20%22%0D%0A%0D%0A%09%5Eself%20notEmpty%20and%3A%20%5B%20self%20contents%20includes%3A%20anObject%20%5D')); smalltalk.bind(smalltalk.ActionSequence,'evaluate','evaluate' ,function (){ var self=this; var result=nil; self.do_((function(each){return result=each.evaluate();})); return result;return self;} ,'evaluation',unescape('evaluate%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09self%20do%3A%20%5B%3Aeach%7C%20result%20%3A%3D%20each%20evaluate%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.ActionSequence,'evaluateWithArguments:','evaluateWithArguments_' ,function (anArray){ var self=this; var result=nil; self.do_((function(each){return result=each.evaluateWithArguments_(anArray);})); return result;return self;} ,'evaluation',unescape('evaluateWithArguments%3A%20anArray%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09self%20do%3A%20%5B%3Aeach%7C%20result%20%3A%3D%20each%20evaluateWithArguments%3A%20anArray%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.ActionSequence,'evaluateFor:','evaluateFor_' ,function (anObject){ var self=this; var result=nil; self.do_((function(each){return result=each.evaluateFor_(anObject);})); return result;return self;} ,'evaluation',unescape('evaluateFor%3A%20anObject%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20anObject.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09self%20do%3A%20%5B%3Aeach%7C%20result%20%3A%3D%20each%20evaluateFor%3A%20anObject%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.ActionSequence,'reduced','reduced' ,function (){ var self=this; return ((self.notEmpty()).mustBeBoolean()==true ? (function(){return ((self['@contents'].size()._eq((1))).mustBeBoolean()==true ? (function(){return self['@contents'].first();})() : (function(){return self;})());})() : nil);return self;} ,'events',unescape('reduced%0D%0A%09%22%20Return%20the%20receiver%20reduced%20to%20minimal%20evaluable%20expression.%20%22%0D%0A%0D%0A%09%5Eself%20notEmpty%20ifTrue%3A%20%5B%0D%0A%09%09contents%20size%20%3D%201%0D%0A%09%09ifTrue%3A%20%5B%20contents%20first%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20self%20%5D%0D%0A%09%5D')); smalltalk.bind(smalltalk.ActionSequence,'evaluateWithSelector:withArguments:','evaluateWithSelector_withArguments_' ,function (aSelector,array){ var self=this; var result=nil; self.do_((function(each){return result=each.receiver().perform_withArguments_(aSelector, array);})); return result;return self;} ,'change/update',unescape('evaluateWithSelector%3A%20aSelector%20withArguments%3A%20array%0D%0A%09%22%20Private%20-%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20aSelector%20and%20arguments%20array.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09self%20do%3A%20%5B%3Aeach%7C%20result%20%3A%3D%20each%20receiver%20perform%3A%20aSelector%20withArguments%3A%20array%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.EventManager.$klass,'eventsTriggered','eventsTriggered' ,function (){ var self=this; ((((self['@eventsTriggered'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self.initializeEventsTriggered();})() : nil); return self['@eventsTriggered'];return self;} ,'events',unescape('eventsTriggered%0D%0A%09%22%20Return%20all%20the%20events%20managed%20by%20instances%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09eventsTriggered%20isNil%20ifTrue%3A%20%5B%20self%20initializeEventsTriggered%20%5D.%0D%0A%09%5EeventsTriggered')); smalltalk.bind(smalltalk.EventManager.$klass,'eventsTriggered:','eventsTriggered_' ,function (aCollection){ var self=this; self['@eventsTriggered']=aCollection;return self;} ,'events',unescape('eventsTriggered%3A%20aCollection%0D%0A%09%22%20Set%20all%20the%20events%20managed%20by%20instances%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09eventsTriggered%20%3A%3D%20aCollection')); smalltalk.bind(smalltalk.EventManager.$klass,'initializeEventsTriggered','initializeEventsTriggered' ,function (){ var self=this; self.eventsTriggered_(self.constructEventsTriggered());return self;} ,'events',unescape('initializeEventsTriggered%0D%0A%09%22%20Private%20-%20Initialize%20all%20the%20events%20managed%20by%20instances%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20eventsTriggered%3A%20self%20constructEventsTriggered')); smalltalk.bind(smalltalk.EventManager,'eventTable','eventTable' ,function (){ var self=this; return ((((self['@handlers'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self.eventTableCreate();})() : (function(){return self['@handlers'];})());return self;} ,'events',unescape('eventTable%0D%0A%09%22%20Private%20-%20Returns%20the%20mapping%20event%20names%20to%20actions%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandlers%20isNil%0D%0A%09%09ifTrue%3A%20%5B%20self%20eventTableCreate%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20handlers%20%5D')); smalltalk.bind(smalltalk.EventManager,'eventTableForEdit','eventTableForEdit' ,function (){ var self=this; ((((self['@handlers'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self['@handlers']=self.eventTableCreate();})() : nil); return self['@handlers'];return self;} ,'events',unescape('eventTableForEdit%0D%0A%09%22%20Private%20-%20Returns%20the%20mapping%20event%20names%20to%20actions%20of%20the%20receiver.%0D%0A%09Set%20the%20internal%20map%20if%20not%20present.%0D%0A%09%22%0D%0A%0D%0A%09handlers%20isNil%20ifTrue%3A%20%5B%20handlers%20%3A%3D%20self%20eventTableCreate%20%5D.%0D%0A%09%5Ehandlers')); smalltalk.bind(smalltalk.EventManager,'releaseEventTable','releaseEventTable' ,function (){ var self=this; self['@handlers']=nil;return self;} ,'events',unescape('releaseEventTable%0D%0A%09%22%20Private%20-%20Release%20the%20event%20table.%20%22%0D%0A%0D%0A%09handlers%20%3A%3D%20nil')); smalltalk.bind(smalltalk.Node,'nodes','nodes' ,function (){ var self=this; ((((self['@nodes'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self['@nodes']=smalltalk.Array.$$new();})() : nil); return self['@nodes'];return self;} ,'accessing',unescape('nodes%0D%0A%09nodes%20isNil%20ifTrue%3A%20%5B%20nodes%20%3A%3D%20Array%20new%20%5D.%0D%0A%09%5Enodes')); smalltalk.bind(smalltalk.Node,'nodes:','nodes_' ,function (aCollection){ var self=this; self['@nodes']=aCollection;return self;} ,'building',unescape('nodes%3A%20aCollection%0D%0A%09nodes%20%3A%3D%20aCollection')); smalltalk.bind(smalltalk.Node,'addNode:','addNode_' ,function (aNode){ var self=this; self.nodes().add_(aNode);return self;} ,'accessing',unescape('addNode%3A%20aNode%0D%0A%09self%20nodes%20add%3A%20aNode')); smalltalk.bind(smalltalk.Node,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitNode%3A%20self')); smalltalk.bind(smalltalk.Node,'acceptMacroAssignment:with:','acceptMacroAssignment_with_' ,function (anExpressionNode,aVisitor){ var self=this; return aVisitor.visitMacroAssignment_to_(self, anExpressionNode);return self;} ,'visiting',unescape('acceptMacroAssignment%3A%20anExpressionNode%20with%3A%20aVisitor%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20can%20resolve%20assignment%20on%20aVisitor.%20%22%0D%0A%0D%0A%09%5EaVisitor%20visitMacroAssignment%3A%20self%20to%3A%20anExpressionNode')); smalltalk.bind(smalltalk.Node,'isSuper','isSuper' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isSuper%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20super.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Node,'hasNumber','hasNumber' ,function (){ var self=this; return false;return self;} ,'testing',unescape('hasNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20has%20a%20numeric%20literal%20value.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Node,'hasString','hasString' ,function (){ var self=this; return false;return self;} ,'testing',unescape('hasString%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20has%20a%20string%20literal%20value.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Node,'isAssignment','isAssignment' ,function (){ var self=this; return false;return self;} ,'testing',unescape('isAssignment%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20an%20assignment%20node.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Node,'messageSendConnector','messageSendConnector' ,function (){ var self=this; return ".";return self;} ,'accessing',unescape('messageSendConnector%0D%0A%09%22%20Return%20the%20binder%20used%20to%20send%20message%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27.%27')); smalltalk.bind(smalltalk.NodeVisitor,'visit:','visit_' ,function (aNode){ var self=this; aNode.accept_(self);return self;} ,'visiting',unescape('visit%3A%20aNode%0D%0A%09aNode%20accept%3A%20self')); smalltalk.bind(smalltalk.NodeVisitor,'visitNode:','visitNode_' ,function (aNode){ var self=this; return self;} ,'visiting',unescape('visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitMethodNode:','visitMethodNode_' ,function (aNode){ var self=this; self.visitNode_(aNode);return self;} ,'visiting',unescape('visitMethodNode%3A%20aNode%0D%0A%09self%20visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitSequenceNode:','visitSequenceNode_' ,function (aNode){ var self=this; self.visitNode_(aNode);return self;} ,'visiting',unescape('visitSequenceNode%3A%20aNode%0D%0A%09self%20visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitBlockSequenceNode:','visitBlockSequenceNode_' ,function (aNode){ var self=this; self.visitSequenceNode_(aNode);return self;} ,'visiting',unescape('visitBlockSequenceNode%3A%20aNode%0D%0A%09self%20visitSequenceNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitBlockNode:','visitBlockNode_' ,function (aNode){ var self=this; self.visitNode_(aNode);return self;} ,'visiting',unescape('visitBlockNode%3A%20aNode%0D%0A%09self%20visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitReturnNode:','visitReturnNode_' ,function (aNode){ var self=this; self.visitNode_(aNode);return self;} ,'visiting',unescape('visitReturnNode%3A%20aNode%0D%0A%09self%20visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitSendNode:','visitSendNode_' ,function (aNode){ var self=this; self.visitNode_(aNode);return self;} ,'visiting',unescape('visitSendNode%3A%20aNode%0D%0A%09self%20visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitCascadeNode:','visitCascadeNode_' ,function (aNode){ var self=this; self.visitNode_(aNode);return self;} ,'visiting',unescape('visitCascadeNode%3A%20aNode%0D%0A%09self%20visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitValueNode:','visitValueNode_' ,function (aNode){ var self=this; self.visitNode_(aNode);return self;} ,'visiting',unescape('visitValueNode%3A%20aNode%0D%0A%09self%20visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitVariableNode:','visitVariableNode_' ,function (aNode){ var self=this; return self;} ,'visiting',unescape('visitVariableNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitAssignmentNode:','visitAssignmentNode_' ,function (aNode){ var self=this; self.visitNode_(aNode);return self;} ,'visiting',unescape('visitAssignmentNode%3A%20aNode%0D%0A%09self%20visitNode%3A%20aNode')); smalltalk.bind(smalltalk.NodeVisitor,'visitMacroAssignment:to:','visitMacroAssignment_to_' ,function (aVariableNode,anExpressionNode){ var self=this; return false;return self;} ,'visiting',unescape('visitMacroAssignment%3A%20aVariableNode%20to%3A%20anExpressionNode%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20generated%20code%20to%20a%20macro%20assignment%20to%20aVariableNode.%0D%0A%09The%20default%20answer%20is%20false.%0D%0A%09This%20method%20can%20be%20reimplemented%20to%20support%20custom/complex%20assignment%20expressions.%0D%0A%09%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.PPFailure.$klass,'reason:at:','reason_at_' ,function (aString,anInteger){ var self=this; return self.$$new().reason_at_(aString, anInteger);return self;} ,'instance creation',unescape('reason%3A%20aString%20at%3A%20anInteger%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%20reason%3A%20aString%20at%3A%20anInteger')); smalltalk.bind(smalltalk.PPFailure,'position','position' ,function (){ var self=this; try{ ((((self['@position'] || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "position", fn: function(){return (0)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "position", fn: function(){return self['@position']}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "position"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('position%0D%0A%09%22%20Return%20the%20position%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09position%20isNil%20ifTrue%3A%20%5B%20%5E0%20%5D.%0D%0A%09%5Eposition')); smalltalk.bind(smalltalk.PPFailure,'position:','position_' ,function (aNumber){ var self=this; self['@position']=aNumber;return self;} ,'accessing',unescape('position%3A%20aNumber%0D%0A%09%22%20Set%20the%20position%20of%20the%20rceiver.%20%22%0D%0A%0D%0A%09position%20%3A%3D%20aNumber')); smalltalk.bind(smalltalk.PPFailure,'reason','reason' ,function (){ var self=this; try{ ((((self['@reason'] || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "reason", fn: function(){return smalltalk.String.$$new()}})})();})() : nil); (function(){throw({name: "stReturn", selector: "reason", fn: function(){return self['@reason']}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "reason"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('reason%0D%0A%09%22%20Return%20the%20reason%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09reason%20isNil%20ifTrue%3A%20%5B%20%5EString%20new%20%5D.%0D%0A%09%5Ereason')); smalltalk.bind(smalltalk.PPFailure,'reason:','reason_' ,function (aString){ var self=this; self['@reason']=aString;return self;} ,'accessing',unescape('reason%3A%20aString%0D%0A%09%22%20Set%20the%20reason%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09reason%20%3A%3D%20aString')); smalltalk.bind(smalltalk.PPFailure,'reason:at:','reason_at_' ,function (aString,anInteger){ var self=this; (function($rec){$rec.reason_(aString);return $rec.position_(anInteger);})(self);return self;} ,'accessing',unescape('reason%3A%20aString%20at%3A%20anInteger%0D%0A%09%22%20Set%20the%20reason%20and%20position%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09reason%3A%20aString%3B%20%0D%0A%09%09position%3A%20anInteger')); smalltalk.bind(smalltalk.PPFailure,'isParseFailure','isParseFailure' ,function (){ var self=this; return true;return self;} ,'testing',unescape('isParseFailure%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20parse%20failure.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.PPFailure,'accept:','accept_' ,function (aCompiler){ var self=this; self.print_("PPFailure: "._comma(self.reason())._comma(" at ")._comma(self.position().asString())); self.error_(unescape("%23accept%3A%20out%20of%20control."));return self;} ,'compiler bug',unescape('accept%3A%20aCompiler%0D%0A%09%22%20Report%20buggy%20send%20in%20compiler.%20%22%0D%0A%0D%0A%09self%20print%3A%20%27PPFailure%3A%20%27%2C%20self%20reason%2C%20%27%20at%20%27%2C%20self%20position%20asString.%0D%0A%09self%20error%3A%20%27%23accept%3A%20out%20of%20control.%27')); smalltalk.bind(smalltalk.PPParser,'initialize','initialize' ,function (){ var self=this; self['@memo']=smalltalk.Dictionary.$$new();return self;} ,'initialization',unescape('initialize%0D%0A%09%22%20Private%20-%20Initialize%20the%20receiver.%20%22%0D%0A%0D%0A%09memo%20%3A%3D%20Dictionary%20new')); smalltalk.bind(smalltalk.PPParser,'memo','memo' ,function (){ var self=this; return self['@memo'];return self;} ,'accessing',unescape('memo%0D%0A%09%22%20Return%20the%20memoized%20information.%20%22%0D%0A%0D%0A%09%5Ememo')); smalltalk.bind(smalltalk.PPParser,'onFailure:','onFailure_' ,function (aBlock){ var self=this; return smalltalk.PPFailureActionParser.on_block_(self, aBlock);return self;} ,'error handling',unescape('onFailure%3A%20aBlock%0D%0A%09%22%20Evaluate%20the%20receiver%20filtering%20parser%20failures.%20%22%0D%0A%0D%0A%09%5EPPFailureActionParser%20on%3A%20self%20block%3A%20aBlock')); smalltalk.bind(smalltalk.PPParser,'flatten','flatten' ,function (){ var self=this; return smalltalk.PPFlattenParser.on_(self);return self;} ,'operations',unescape('flatten%0D%0A%09%22%20Return%20a%20flattened%20version%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPFlattenParser%20on%3A%20self')); smalltalk.bind(smalltalk.PPParser,'withSource','withSource' ,function (){ var self=this; return smalltalk.PPSourceParser.on_(self);return self;} ,'operations',unescape('withSource%0D%0A%09%22%20Return%20a%20source%20parser%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPSourceParser%20on%3A%20self')); smalltalk.bind(smalltalk.PPParser,'==>','_eq_eq_gt' ,function (aBlock){ var self=this; return smalltalk.PPActionParser.on_block_(self, aBlock);return self;} ,'operations',unescape('%3D%3D%3E%20aBlock%0D%0A%09%22%20Return%20an%20action%20parser%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPActionParser%20on%3A%20self%20block%3A%20aBlock')); smalltalk.bind(smalltalk.PPParser,',','_comma' ,function (aParser){ var self=this; return smalltalk.PPSequenceParser.with_with_(self, aParser);return self;} ,'operations',unescape('%2C%20aParser%0D%0A%09%22%20Return%20a%20composed%20version%20of%20the%20receiver%20and%20aParser.%20%22%0D%0A%0D%0A%09%5EPPSequenceParser%20with%3A%20self%20with%3A%20aParser')); smalltalk.bind(smalltalk.PPParser,'/','_slash' ,function (aParser){ var self=this; return smalltalk.PPChoiceParser.with_with_(self, aParser);return self;} ,'operations',unescape('/%20aParser%0D%0A%09%22%20Return%20a%20choice%20composite%20version%20of%20the%20receiver%20and%20aParser.%20%22%0D%0A%0D%0A%09%5EPPChoiceParser%20with%3A%20self%20with%3A%20aParser')); smalltalk.bind(smalltalk.PPParser,'plus','plus' ,function (){ var self=this; return smalltalk.PPRepeatingParser.on_min_(self, (1));return self;} ,'operations',unescape('plus%0D%0A%09%22%20Return%20an%20iterative%20version%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPRepeatingParser%20on%3A%20self%20min%3A%201')); smalltalk.bind(smalltalk.PPParser,'star','star' ,function (){ var self=this; return smalltalk.PPRepeatingParser.on_min_(self, (0));return self;} ,'operations',unescape('star%0D%0A%09%22%20Return%20an%20iterative%20version%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPRepeatingParser%20on%3A%20self%20min%3A%200')); smalltalk.bind(smalltalk.PPParser,'not','not' ,function (){ var self=this; return smalltalk.PPNotParser.on_(self);return self;} ,'operations',unescape('not%0D%0A%09%22%20Return%20the%20negation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPNotParser%20on%3A%20self')); smalltalk.bind(smalltalk.PPParser,'optional','optional' ,function (){ var self=this; return self._slash(smalltalk.PPEpsilonParser.$$new());return self;} ,'operations',unescape('optional%0D%0A%09%22%20Return%20an%20optional%20version%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20/%20PPEpsilonParser%20new')); smalltalk.bind(smalltalk.PPParser,'memoizedParse:','memoizedParse_' ,function (aStream){ var self=this; var start=nil; var end=nil; var node=nil; start=aStream.position(); return self.memo().at_ifPresent_ifAbsent_(start, (function(value){aStream.position_(self.memo().at_(start).second());return value.first();}), (function(){node=self.parse_(aStream);end=aStream.position();self.memo().at_put_(start, smalltalk.Array.with_with_(node, end));return node;}));return self;} ,'operations',unescape('memoizedParse%3A%20aStream%0D%0A%09%22%20Private%20-%20Evaluate%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20start%20end%20node%20%7C%0D%0A%09start%20%3A%3D%20aStream%20position.%0D%0A%09%5Eself%20memo%20at%3A%20start%20%0D%0A%09%20%20%20%20ifPresent%3A%20%5B%3Avalue%20%7C%0D%0A%09%09aStream%20position%3A%20%28self%20memo%20at%3A%20start%29%20second.%0D%0A%09%09value%20first%0D%0A%09%20%20%20%20%5D%20ifAbsent%3A%20%5B%0D%0A%09%09node%20%3A%3D%20self%20parse%3A%20aStream.%0D%0A%09%09end%20%3A%3D%20aStream%20position.%0D%0A%09%09self%20memo%20at%3A%20start%20put%3A%20%28Array%20with%3A%20node%20with%3A%20end%29.%0D%0A%09%09node%0D%0A%09%20%20%20%20%5D')); smalltalk.bind(smalltalk.PPParser,'parse:','parse_' ,function (aStream){ var self=this; self.subclassResponsibility();return self;} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09self%20subclassResponsibility')); smalltalk.bind(smalltalk.PPParser,'parseAll:','parseAll_' ,function (aStream){ var self=this; var result=nil; result=smalltalk.PPSequenceParser.with_with_(self, smalltalk.PPEOFParser.$$new()).memoizedParse_(aStream); return ((result.isParseFailure()).mustBeBoolean()==true ? (function(){return self.error_(result.messageFor_(aStream.contents()));})() : (function(){return result.first();})());return self;} ,'parsing',unescape('parseAll%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20%28PPSequenceParser%0D%0A%09%09with%3A%20self%20with%3A%20PPEOFParser%20new%29%0D%0A%09%09memoizedParse%3A%20aStream.%0D%0A%09%5Eresult%20isParseFailure%20%0D%0A%09%20%20%20%20ifTrue%3A%20%5B%20self%20error%3A%20%28result%20messageFor%3A%20aStream%20contents%29%20%5D%0D%0A%09%20%20%20%20ifFalse%3A%20%5B%20result%20first%20%5D')); smalltalk.bind(smalltalk.SmalltalkParser.$klass,'parse:','parse_' ,function (aStream){ var self=this; return self.$$new().parse_(aStream);return self;} ,'instance creation',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%5Eself%20new%20parse%3A%20aStream%20')); smalltalk.bind(smalltalk.SmalltalkParser,'directive:ws:','directive_ws_' ,function (number,ws){ var self=this; var notImplemented=nil; notImplemented=unescape("%5E%3E").asCharacterParser().star().flatten()._comma(unescape("%3E").asParser())._eq_eq_gt((function(node){return node.first().error_("Compiler directives not implemented.");})); return unescape("%3C").asParser()._comma(ws._comma(notImplemented)._comma(ws))._eq_eq_gt((function(node){return node.second().second();}));return self;} ,'directives',unescape('directive%3A%20number%20ws%3A%20ws%0D%0A%09%22%20Private%20-%20Return%20the%20parser%20for%20directives.%20%22%0D%0A%0D%0A%09%7C%20notImplemented%20%7C%0D%0A%09notImplemented%20%3A%3D%20%27%5E%3E%27%20asCharacterParser%20star%20flatten%2C%20%27%3E%27%20asParser%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%7C%20node%20first%20error%3A%20%27Compiler%20directives%20not%20implemented.%27%20%5D.%0D%0A%0D%0A%09%5E%27%3C%27%20asParser%2C%20%28ws%2C%20notImplemented%2C%20ws%29%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20second%20second%20%5D')); smalltalk.bind(smalltalk.SmalltalkParser,'parse:','parse_' ,function (aStream){ var self=this; return self.parser().parse_(aStream);return self;} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%5Eself%20parser%20parse%3A%20aStream')); smalltalk.bind(smalltalk.SmalltalkParser,'parser','parser' ,function (){ var self=this; var method=nil; var expression=nil; var separator=nil; var comment=nil; var ws=nil; var identifier=nil; var keyword=nil; var globalName=nil; var string=nil; var symbol=nil; var number=nil; var literalArray=nil; var variable=nil; var reference=nil; var globalReference=nil; var literal=nil; var returnExpression=nil; var methodParser=nil; var expressionParser=nil; var keyword=nil; var unarySelector=nil; var binarySelector=nil; var keywordPattern=nil; var unaryPattern=nil; var binaryPattern=nil; var assignment=nil; var temps=nil; var blockParamList=nil; var block=nil; var expression=nil; var expressions=nil; var subexpression=nil; var statements=nil; var sequence=nil; var operand=nil; var unaryMessage=nil; var unarySend=nil; var unaryTail=nil; var binaryMessage=nil; var binarySend=nil; var binaryTail=nil; var keywordMessage=nil; var keywordSend=nil; var keywordPair=nil; var cascade=nil; var message=nil; var jsStatement=nil; var jsIndex=nil; var character=nil; var directive=nil; var arrayLiteral=nil; var binarySelectorChars=nil; var symbolChars=nil; var extendedSymbolChars=nil; var stIdentifier=nil; var jsIdentifier=nil; var noReference=nil; var alienReference=nil; var primitive=nil; var api=nil; binarySelectorChars=unescape("%7C%26%5C%5C+*/%3D%3E%3C%2C@%25%7E-"); symbolChars=unescape("a-zA-Z0-9_"); extendedSymbolChars=symbolChars._comma(":")._comma(binarySelectorChars); separator=smalltalk.String.cr()._comma(smalltalk.String.space())._comma(smalltalk.String.lf())._comma(smalltalk.String.tab()).asChoiceParser(); comment=unescape("%22").asCharacterParser()._comma(unescape("%22").asParser().not()._comma(smalltalk.PPAnyParser.$$new()).star())._comma(unescape("%22").asCharacterParser()).flatten(); ws=separator._slash(comment).star(); string=unescape("%27").asParser()._comma(smalltalk.PPStStringParser.$$new())._eq_eq_gt((function(node){return smalltalk.ValueNode.$$new().value_(node.second());})); stIdentifier=unescape("a-z_").asCharacterParser()._comma(symbolChars.asCharacterParser().star()).flatten(); jsIdentifier=unescape("%23").asParser()._comma(symbolChars.asCharacterParser().plus()).flatten(); identifier=jsIdentifier._slash(stIdentifier); keyword=identifier._comma(":".asParser()).flatten(); globalName=unescape("A-Z").asCharacterParser()._comma(symbolChars.asCharacterParser().star()).flatten(); symbol=unescape("%23").asParser()._comma(extendedSymbolChars.asCharacterParser().plus().flatten())._eq_eq_gt((function(node){return smalltalk.ValueNode.$$new().value_(node.second());})); number=unescape("-0-9").asCharacterParser().plus()._comma(".".asParser()._comma(unescape("0-9").asCharacterParser().plus()).optional())._comma("r".asParser()._comma(unescape("A-Z0-9").asCharacterParser().plus()).optional()).flatten()._eq_eq_gt((function(node){return smalltalk.ValueNode.$$new().value_(node.asNumber());})); character="$".asParser()._comma(smalltalk.PPAnyParser.$$new())._eq_eq_gt((function(node){return smalltalk.ValueNode.$$new().value_(node.at_((2)));})); directive=self.directive_ws_(number, ws); variable=identifier._eq_eq_gt((function(token){return smalltalk.VariableNode.$$new().value_(token);})); noReference=unescape("%23").asParser()._eq_eq_gt((function(token){return smalltalk.NoReceiverNode.$$new();})); literal=smalltalk.PPDelegateParser.$$new(); expression=smalltalk.PPDelegateParser.$$new(); arrayLiteral=literal._slash(variable); literalArray=unescape("%23%28").asParser()._comma(ws._comma(arrayLiteral)._comma(ws).star())._comma(unescape("%29").asParser())._eq_eq_gt((function(node){return smalltalk.ValueNode.$$new().value_(smalltalk.Array.withAll_(node.second().collect_((function(each){return each.second().value();}))));})); globalReference=globalName._eq_eq_gt((function(token){return smalltalk.GlobalReferenceNode.$$new().value_(token);})); alienReference=unescape("%23%7B").asParser()._comma(identifier)._comma(unescape("%7D").asParser())._eq_eq_gt((function(node){return smalltalk.AlienNode.$$new().value_(node.second());})); jsIndex=unescape("%5B").asParser()._comma(expression)._comma(unescape("%5D").asParser())._slash(unescape("%23").asParser()._comma(identifier)); reference=variable._slash(globalReference)._slash(alienReference)._comma(jsIndex.star())._eq_eq_gt((function(nodes){return nodes.first().indexedAs_(nodes);})); binarySelector=unescape("%23").asParser().optional()._comma(binarySelectorChars.asCharacterParser().plus()).flatten(); unarySelector=identifier; keywordPattern=ws._comma(keyword)._comma(ws)._comma(identifier).plus()._eq_eq_gt((function(nodes){return smalltalk.Array.with_with_(nodes.collect_((function(each){return each.at_((2));})).join_(""), nodes.collect_((function(each){return each.at_((4));})));})); binaryPattern=ws._comma(binarySelector)._comma(ws)._comma(identifier)._eq_eq_gt((function(node){return smalltalk.Array.with_with_(node.second(), smalltalk.Array.with_(node.fourth()));})); unaryPattern=ws._comma(unarySelector)._eq_eq_gt((function(node){return smalltalk.Array.with_with_(node.second(), smalltalk.Array.$$new());})); expressions=expression._comma(ws._comma(".".asParser())._comma(ws)._comma(expression)._eq_eq_gt((function(node){return node.fourth();})).star())._eq_eq_gt((function(node){var result=nil; result=smalltalk.Array.with_(node.first());node.second().do_((function(each){return result.add_(each);}));return result;})); assignment=reference._comma(ws)._comma(unescape("%3A%3D").asParser())._comma(ws)._comma(expression)._eq_eq_gt((function(node){return (function($rec){$rec.left_(node.first());return $rec.right_(node.at_((5)));})(smalltalk.AssignmentNode.$$new());})); returnExpression=unescape("%5E").asParser()._comma(ws)._comma(expression)._comma(ws)._comma(".".asParser().optional())._eq_eq_gt((function(node){return (function($rec){$rec.addNode_(node.third());return $rec.yourself();})(smalltalk.ReturnNode.$$new());})); temps=unescape("%7C").asParser()._comma(ws._comma(identifier).star())._comma(ws)._comma(unescape("%7C").asParser())._eq_eq_gt((function(node){return node.second().collect_((function(each){return each.second();}));})); blockParamList=":".asParser()._comma(ws)._comma(identifier)._comma(ws).plus()._comma(unescape("%7C").asParser())._eq_eq_gt((function(node){return node.first().collect_((function(each){return each.third();}));})); subexpression=unescape("%28").asParser()._comma(ws)._comma(expression)._comma(ws)._comma(unescape("%29").asParser())._eq_eq_gt((function(node){return node.third();})); statements=returnExpression._eq_eq_gt((function(node){return smalltalk.Array.with_(node);}))._slash(expressions._comma(ws)._comma(".".asParser())._comma(ws)._comma(returnExpression)._eq_eq_gt((function(node){return (function($rec){$rec.add_(node.at_((5)));return $rec.yourself();})(node.first());})))._slash(expressions._comma(".".asParser().optional())._eq_eq_gt((function(node){return node.first();}))); sequence=temps.optional()._comma(ws)._comma(directive.optional())._comma(ws)._comma(statements.optional())._comma(ws)._eq_eq_gt((function(node){return (function($rec){$rec.directive_(node.third());$rec.temps_(node.first());$rec.nodes_(node.at_((5)));return $rec.yourself();})(smalltalk.ExtendedSequenceNode.$$new());})); block=unescape("%5B").asParser()._comma(ws)._comma(blockParamList.optional())._comma(ws)._comma(sequence.optional())._comma(ws)._comma(unescape("%5D").asParser())._eq_eq_gt((function(node){return (function($rec){$rec.parameters_(node.third());return $rec.addNode_(node.at_((5)).asBlockSequenceNode());})(smalltalk.BlockNode.$$new());})); operand=literal._slash(reference)._slash(noReference)._slash(subexpression); literal.parser_(character._slash(number)._slash(string)._slash(literalArray)._slash(symbol)._slash(block)); unaryMessage=ws._comma(unarySelector)._comma(":".asParser().not())._eq_eq_gt((function(node){return smalltalk.SendNode.$$new().selector_(node.second());})); unaryTail=smalltalk.PPDelegateParser.$$new(); unaryTail.parser_(unaryMessage._comma(unaryTail.optional())._eq_eq_gt((function(node){return (((node.second())||nil)=== nil) ? (function(){return node.first();})() : (function(){return node.second().valueForReceiver_(node.first());})();}))); unarySend=operand._comma(unaryTail.optional())._eq_eq_gt((function(node){return (((node.second())||nil)=== nil) ? (function(){return node.first();})() : (function(){return node.second().valueForReceiver_(node.first());})();})); binaryMessage=ws._comma(binarySelector)._comma(ws)._comma(unarySend._slash(operand))._eq_eq_gt((function(node){return (function($rec){$rec.selector_(node.second());return $rec.arguments_(smalltalk.Array.with_(node.fourth()));})(smalltalk.SendNode.$$new());})); binaryTail=smalltalk.PPDelegateParser.$$new(); binaryTail.parser_(binaryMessage._comma(binaryTail.optional())._eq_eq_gt((function(node){return (((node.second())||nil)=== nil) ? (function(){return node.first();})() : (function(){return node.second().valueForReceiver_(node.first());})();}))); binarySend=unarySend._comma(binaryTail.optional())._eq_eq_gt((function(node){return (((node.second())||nil)=== nil) ? (function(){return node.first();})() : (function(){return node.second().valueForReceiver_(node.first());})();})); keywordPair=keyword._comma(ws)._comma(binarySend); keywordMessage=ws._comma(keywordPair).plus()._eq_eq_gt((function(nodes){return (function($rec){$rec.selector_(nodes.collect_((function(each){return each.second().first();})).join_(""));return $rec.arguments_(nodes.collect_((function(each){return each.second().third();})));})(smalltalk.SendNode.$$new());})); keywordSend=binarySend._comma(keywordMessage)._eq_eq_gt((function(node){return node.second().valueForReceiver_(node.first());})); message=binaryMessage._slash(unaryMessage)._slash(keywordMessage); cascade=keywordSend._slash(binarySend)._comma(ws._comma(unescape("%3B").asParser())._comma(message).plus())._eq_eq_gt((function(node){return node.first().cascadeNodeWithMessages_(node.second().collect_((function(each){return each.third();})));})); jsStatement=unescape("%7B").asParser()._comma(ws)._comma(string)._comma(ws)._comma(unescape("%7D").asParser())._eq_eq_gt((function(node){return (function($rec){$rec.source_(node.third());return $rec.yourself();})(smalltalk.JSStatementNode.$$new());})); expression.parser_(assignment._slash(cascade)._slash(keywordSend)._slash(binarySend)._slash(jsStatement)); method=ws._comma(keywordPattern._slash(binaryPattern)._slash(unaryPattern))._comma(ws)._comma(sequence.optional())._comma(ws).withSource()._eq_eq_gt((function(node){return (function($rec){$rec.selector_(node.first().second().first());$rec.arguments_(node.first().second().second());$rec.addNode_(node.first().fourth());$rec.source_(node.second());return $rec.yourself();})(smalltalk.MethodNode.$$new());})); return method._comma(smalltalk.PPEOFParser.$$new())._eq_eq_gt((function(node){return node.first();}));return self;} ,'parsing',unescape('parser%0D%0A%09%22%20Return%20the%20parser%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20method%20expression%20separator%20comment%20ws%20identifier%20keyword%20globalName%0D%0A%09%20string%20symbol%20number%20literalArray%20variable%20reference%20globalReference%0D%0A%09%20literal%20returnExpression%20methodParser%20expressionParser%20keyword%20unarySelector%0D%0A%09%20binarySelector%20keywordPattern%20unaryPattern%20binaryPattern%20assignment%0D%0A%09%20temps%20blockParamList%20block%20expression%20expressions%20subexpression%0D%0A%09%20statements%20sequence%20operand%20unaryMessage%20unarySend%20unaryTail%0D%0A%09%20binaryMessage%20binarySend%20binaryTail%20keywordMessage%20keywordSend%0D%0A%09%20keywordPair%20cascade%20message%20jsStatement%20jsIndex%0D%0A%09%20character%20directive%20arrayLiteral%0D%0A%09%20binarySelectorChars%20symbolChars%20extendedSymbolChars%0D%0A%09%20stIdentifier%20jsIdentifier%20noReference%20alienReference%0D%0A%09%20primitive%20api%0D%0A%09%7C%0D%0A%09binarySelectorChars%20%3A%3D%20%27%7C%26%5C%5C+*/%3D%3E%3C%2C@%25%7E-%27.%0D%0A%09symbolChars%20%3A%3D%20%27a-zA-Z0-9_%27.%0D%0A%09extendedSymbolChars%20%3A%3D%20symbolChars%20%2C%27%3A%27%20%2C%20binarySelectorChars.%0D%0A%0D%0A%09separator%20%3A%3D%20%28String%20cr%2C%20String%20space%2C%20String%20lf%2C%20String%20tab%29%20asChoiceParser.%0D%0A%09comment%20%3A%3D%20%28%27%22%27%20asCharacterParser%2C%20%28%27%22%27%20asParser%20not%2C%20PPAnyParser%20new%29%20star%2C%20%27%22%27%20asCharacterParser%29%20flatten.%0D%0A%0D%0A%09ws%20%3A%3D%20%28separator%20/%20comment%29%20star.%0D%0A%09%0D%0A%09string%20%3A%3D%20%27%27%27%27%20asParser%20%2C%20PPStStringParser%20new%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%7C%20ValueNode%20new%20value%3A%20node%20second%20%5D.%0D%0A%0D%0A%09stIdentifier%20%3A%3D%20%28%27a-z_%27%20asCharacterParser%2C%20symbolChars%20asCharacterParser%20star%29%20flatten.%0D%0A%09jsIdentifier%20%3A%3D%20%28%27%23%27%20asParser%2C%20symbolChars%20asCharacterParser%20plus%29%20flatten.%0D%0A%09identifier%20%3A%3D%20jsIdentifier%20/%20stIdentifier.%0D%0A%0D%0A%09keyword%20%3A%3D%20%28identifier%2C%20%27%3A%27%20asParser%29%20flatten.%0D%0A%0D%0A%09globalName%20%3A%3D%20%28%27A-Z%27%20asCharacterParser%2C%20symbolChars%20asCharacterParser%20star%29%20flatten.%0D%0A%0D%0A%09symbol%20%3A%3D%20%27%23%27%20asParser%2C%20extendedSymbolChars%20asCharacterParser%20plus%20flatten%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20ValueNode%20new%20value%3A%20node%20second%5D.%0D%0A%0D%0A%09number%20%3A%3D%20%28%27-0-9%27%20asCharacterParser%20plus%0D%0A%09%09%2C%20%28%27.%27%20asParser%2C%20%270-9%27%20asCharacterParser%20plus%29%20optional%0D%0A%09%09%2C%20%28%27r%27%20asParser%2C%20%27A-Z0-9%27%20asCharacterParser%20plus%29%20optional%0D%0A%09%09%29%20flatten%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20ValueNode%20new%20value%3A%20node%20asNumber%20%5D.%0D%0A%0D%0A%09character%20%3A%3D%20%27%24%27%20asParser%2C%20PPAnyParser%20new%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20ValueNode%20new%20value%3A%20%28node%20at%3A%202%29%20%5D.%0D%0A%0D%0A%09directive%20%3A%3D%20self%20directive%3A%20number%20ws%3A%20ws.%0D%0A%0D%0A%09variable%20%3A%3D%20identifier%20%3D%3D%3E%20%5B%3Atoken%20%7C%20VariableNode%20new%20value%3A%20token%20%5D.%0D%0A%09noReference%20%3A%3D%20%27%23%27%20asParser%20%3D%3D%3E%20%5B%3Atoken%20%7C%20NoReceiverNode%20new%20%5D.%0D%0A%09literal%20%3A%3D%20PPDelegateParser%20new.%0D%0A%09expression%20%3A%3D%20PPDelegateParser%20new.%0D%0A%0D%0A%09arrayLiteral%20%3A%3D%20literal%20/%20variable.%0D%0A%09literalArray%20%3A%3D%20%27%23%28%27%20asParser%2C%20%28ws%2C%20arrayLiteral%2C%20ws%29%20star%2C%20%27%29%27%20asParser%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20ValueNode%20new%20value%3A%20%28Array%20withAll%3A%20%28node%20second%20collect%3A%20%5B%3Aeach%20%7C%20each%20second%20value%5D%29%29%20%5D.%0D%0A%0D%0A%09globalReference%20%3A%3D%20globalName%20%3D%3D%3E%20%5B%3Atoken%20%7C%20GlobalReferenceNode%20new%20value%3A%20token%20%5D.%0D%0A%09alienReference%20%3A%3D%20%27%23%7B%27%20asParser%2C%20identifier%2C%20%27%7D%27%20asParser%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20AlienNode%20new%20value%3A%20node%20second%20%5D.%0D%0A%0D%0A%09jsIndex%20%3A%3D%20%27%5B%27%20asParser%2C%20expression%20%2C%27%5D%27%20asParser%0D%0A%09%09/%20%28%27%23%27%20asParser%20%2C%20identifier%29.%0D%0A%09reference%20%3A%3D%20%28variable%20/%20globalReference%20/%20alienReference%29%20%2C%20jsIndex%20star%0D%0A%09%09%3D%3D%3E%20%5B%3Anodes%20%7C%20nodes%20first%20indexedAs%3A%20nodes%20%5D.%0D%0A%0D%0A%09binarySelector%20%3A%3D%20%28%27%23%27%20asParser%20optional%2C%20binarySelectorChars%20asCharacterParser%20plus%29%20flatten.%0D%0A%0D%0A%09unarySelector%20%3A%3D%20identifier.%0D%0A%0D%0A%09keywordPattern%20%3A%3D%20%28ws%2C%20keyword%2C%20ws%2C%20identifier%29%20plus%0D%0A%09%09%3D%3D%3E%20%5B%3Anodes%20%7C%20Array%0D%0A%09%09%09with%3A%20%28%28nodes%20collect%3A%20%5B%3Aeach%20%7C%20each%20at%3A%202%5D%29%20join%3A%20%27%27%29%0D%0A%09%09%09with%3A%20%28nodes%20collect%3A%20%5B%3Aeach%20%7C%20each%20at%3A%204%5D%29%20%5D.%0D%0A%0D%0A%09binaryPattern%20%3A%3D%20ws%2C%20binarySelector%2C%20ws%2C%20identifier%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20Array%20with%3A%20node%20second%20with%3A%20%28Array%20with%3A%20node%20fourth%29%5D.%0D%0A%0D%0A%09unaryPattern%20%3A%3D%20ws%2C%20unarySelector%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20Array%20with%3A%20node%20second%20with%3A%20Array%20new%5D.%0D%0A%09%0D%0A%09expressions%20%3A%3D%20expression%2C%20%28%28ws%2C%20%27.%27%20asParser%2C%20ws%2C%20expression%29%20%3D%3D%3E%20%5B%3Anode%20%7C%20node%20fourth%5D%29%20star%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%7C%20result%20%7C%0D%0A%09%09%20%20%20%20result%20%3A%3D%20Array%20with%3A%20node%20first.%0D%0A%09%09%20%20%20%20node%20second%20do%3A%20%5B%3Aeach%20%7C%20result%20add%3A%20each%20%5D.%0D%0A%09%09%20%20%20%20result%20%5D.%0D%0A%0D%0A%09assignment%20%3A%3D%20reference%2C%20ws%2C%20%27%3A%3D%27%20asParser%2C%20ws%2C%20expression%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20AssignmentNode%20new%20left%3A%20node%20first%3B%20right%3A%20%28node%20at%3A%205%29%5D.%0D%0A%0D%0A%09returnExpression%20%3A%3D%20%27%5E%27%20asParser%2C%20ws%2C%20expression%2C%20ws%2C%20%27.%27%20asParser%20optional%0D%0A%09%20%20%20%20%3D%3D%3E%20%5B%3Anode%20%7C%20ReturnNode%20new%20addNode%3A%20node%20third%3B%20yourself%20%5D.%0D%0A%0D%0A%09temps%20%3A%3D%20%27%7C%27%20asParser%2C%20%28ws%2C%20identifier%29%20star%2C%20ws%2C%20%27%7C%27%20asParser%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20second%20collect%3A%20%5B%3Aeach%20%7C%20each%20second%20%5D%20%5D.%0D%0A%0D%0A%09blockParamList%20%3A%3D%20%28%27%3A%27%20asParser%2C%20ws%2C%20identifier%2C%20ws%29%20plus%2C%20%27%7C%27%20asParser%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20first%20collect%3A%20%5B%3Aeach%20%7C%20each%20third%20%5D%20%5D.%0D%0A%0D%0A%09subexpression%20%3A%3D%20%27%28%27%20asParser%2C%20ws%2C%20expression%2C%20ws%2C%20%27%29%27%20asParser%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20third%20%5D.%0D%0A%0D%0A%09statements%20%3A%3D%20%28returnExpression%20%3D%3D%3E%20%5B%3Anode%20%7C%20Array%20with%3A%20node%5D%29%0D%0A%09%09/%20%28expressions%2C%20ws%2C%20%27.%27%20asParser%2C%20ws%2C%20returnExpression%20%3D%3D%3E%20%5B%3Anode%20%7C%20node%20first%20add%3A%20%28node%20at%3A%205%29%3B%20yourself%20%5D%29%0D%0A%09%09/%20%28expressions%20%2C%20%27.%27%20asParser%20optional%20%3D%3D%3E%20%5B%3Anode%20%7C%20node%20first%20%5D%29.%0D%0A%0D%0A%09sequence%20%3A%3D%20temps%20optional%2C%20ws%2C%20directive%20optional%2C%20ws%2C%20statements%20optional%2C%20ws%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20ExtendedSequenceNode%20new%0D%0A%09%09%09directive%3A%20node%20third%3B%0D%0A%09%09%09temps%3A%20node%20first%3B%0D%0A%09%09%09nodes%3A%20%28node%20at%3A%205%29%3B%0D%0A%09%09%09yourself%20%5D.%0D%0A%0D%0A%09block%20%3A%3D%20%27%5B%27%20asParser%2C%20ws%2C%20blockParamList%20optional%2C%20ws%2C%20sequence%20optional%2C%20ws%2C%20%27%5D%27%20asParser%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%0D%0A%09%09%20%20%20%20BlockNode%20new%0D%0A%09%09%09parameters%3A%20node%20third%3B%0D%0A%09%09%09addNode%3A%20%28node%20at%3A%205%29%20asBlockSequenceNode%5D.%0D%0A%0D%0A%09operand%20%3A%3D%20literal%20/%20reference%20/%20noReference%20/%20subexpression.%0D%0A%0D%0A%09literal%20parser%3A%20character%20/%20number%20/%20string%20/%20literalArray%20/%20symbol%20/%20block.%0D%0A%0D%0A%09unaryMessage%20%3A%3D%20ws%2C%20unarySelector%2C%20%27%3A%27%20asParser%20not%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20SendNode%20new%20selector%3A%20node%20second%5D.%0D%0A%0D%0A%09unaryTail%20%3A%3D%20PPDelegateParser%20new.%0D%0A%09unaryTail%20parser%3A%20%28unaryMessage%2C%20unaryTail%20optional%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20second%0D%0A%09%09%09ifNil%3A%20%5B%20node%20first%20%5D%0D%0A%09%09%09ifNotNil%3A%20%5B%20node%20second%20valueForReceiver%3A%20node%20first%20%5D%20%5D%29.%0D%0A%0D%0A%09unarySend%20%3A%3D%20operand%2C%20unaryTail%20optional%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20second%20%0D%0A%09%09%09ifNil%3A%20%5B%20node%20first%20%5D%0D%0A%09%09%09ifNotNil%3A%20%5B%20node%20second%20valueForReceiver%3A%20node%20first%20%5D%20%5D.%0D%0A%0D%0A%09binaryMessage%20%3A%3D%20ws%2C%20binarySelector%2C%20ws%2C%20%28unarySend%20/%20operand%29%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20SendNode%20new%0D%0A%09%09%09selector%3A%20node%20second%3B%0D%0A%09%09%09arguments%3A%20%28Array%20with%3A%20node%20fourth%29%20%5D.%0D%0A%0D%0A%09binaryTail%20%3A%3D%20PPDelegateParser%20new.%0D%0A%09binaryTail%20parser%3A%20%28binaryMessage%2C%20binaryTail%20optional%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20second%20%0D%0A%09%09%09ifNil%3A%20%5B%20node%20first%20%5D%0D%0A%09%09%09ifNotNil%3A%20%5B%20node%20second%20valueForReceiver%3A%20node%20first%20%5D%20%5D%29.%0D%0A%0D%0A%09binarySend%20%3A%3D%20unarySend%2C%20binaryTail%20optional%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20second%0D%0A%09%09%09ifNil%3A%20%5B%20node%20first%20%5D%0D%0A%09%09%09ifNotNil%3A%20%5B%20node%20second%20valueForReceiver%3A%20node%20first%20%5D%20%5D.%0D%0A%0D%0A%09keywordPair%20%3A%3D%20keyword%2C%20ws%2C%20binarySend.%0D%0A%0D%0A%09keywordMessage%20%3A%3D%20%28ws%2C%20keywordPair%29%20plus%0D%0A%09%09%3D%3D%3E%20%5B%3Anodes%20%7C%20SendNode%20new%0D%0A%09%09%09selector%3A%20%28%28nodes%20collect%3A%20%5B%3Aeach%20%7C%20each%20second%20first%5D%29%20join%3A%20%27%27%29%3B%0D%0A%09%09%09arguments%3A%20%28nodes%20collect%3A%20%5B%3Aeach%20%7C%20each%20second%20third%5D%29%5D.%0D%0A%0D%0A%09keywordSend%20%3A%3D%20binarySend%2C%20keywordMessage%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20second%20valueForReceiver%3A%20node%20first%5D.%0D%0A%0D%0A%09message%20%3A%3D%20binaryMessage%20/%20unaryMessage%20/%20keywordMessage.%0D%0A%0D%0A%09cascade%20%3A%3D%20%28keywordSend%20/%20binarySend%29%2C%20%28ws%2C%20%27%3B%27%20asParser%2C%20message%29%20plus%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20node%20first%20cascadeNodeWithMessages%3A%20%0D%0A%09%09%09%28node%20second%20collect%3A%20%5B%3Aeach%20%7C%20each%20third%5D%29%5D.%0D%0A%0D%0A%09jsStatement%20%3A%3D%20%27%7B%27%20asParser%2C%20ws%2C%20string%2C%20ws%2C%20%27%7D%27%20asParser%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20JSStatementNode%20new%20source%3A%20node%20third%3B%20yourself%20%5D.%0D%0A%0D%0A%09expression%20parser%3A%20assignment%20/%20cascade%20/%20keywordSend%20/%20binarySend%20/%20jsStatement.%0D%0A%0D%0A%09method%20%3A%3D%20%28ws%2C%20%28keywordPattern%20/%20binaryPattern%20/%20unaryPattern%29%2C%20ws%2C%20sequence%20optional%2C%20ws%29%20withSource%0D%0A%09%09%3D%3D%3E%20%5B%3Anode%20%7C%20MethodNode%20new%0D%0A%09%09%09selector%3A%20node%20first%20second%20first%3B%0D%0A%09%09%09arguments%3A%20node%20first%20second%20second%3B%0D%0A%09%09%09addNode%3A%20node%20first%20fourth%3B%0D%0A%09%09%09source%3A%20node%20second%3B%0D%0A%09%09%09yourself%20%5D.%0D%0A%09%0D%0A%09%5Emethod%2C%20PPEOFParser%20new%20%3D%3D%3E%20%5B%3Anode%20%7C%20node%20first%20%5D')); smalltalk.bind(smalltalk.FileInReader,'scanFrom:','scanFrom_' ,function (aStream){ var self=this; return self.implementedBySubclass();return self;} ,'fileIn',unescape('scanFrom%3A%20aStream%0D%0A%09%22%20FileIn%20-%20Return%20the%20result%20of%20evaluating%20the%20next%20chunk%20of%20data%20from%20aStream.%0D%0A%09The%20method%20must%20be%20implemented%20by%20chunk%20readers%20to%20support%20custom%20fileIn%20features.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20implementedBySubclass')); smalltalk.bind(smalltalk.Exporter.$klass,'exportCategory:','exportCategory_' ,function (aString){ var self=this; return self.$$new().exportCategory_(aString);return self;} ,'fileOut',unescape('exportCategory%3A%20aString%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20all%20the%20classes%20in%20category%20aString.%20%22%0D%0A%0D%0A%09%5Eself%20new%20exportCategory%3A%20aString')); smalltalk.bind(smalltalk.Exporter.$klass,'fileOutCategory:','fileOutCategory_' ,function (aString){ var self=this; return self.$$new().fileOutCategory_(aString);return self;} ,'fileOut',unescape('fileOutCategory%3A%20aString%0D%0A%09%22%20Return%20the%20result%20of%20fileOut%20all%20the%20classes%20in%20category%20aString.%20%22%0D%0A%0D%0A%09%5Eself%20new%20fileOutCategory%3A%20aString')); smalltalk.bind(smalltalk.Exporter.$klass,'fileOutAll:','fileOutAll_' ,function (classes){ var self=this; return self.$$new().fileOutAll_(classes);return self;} ,'fileOut',unescape('fileOutAll%3A%20classes%0D%0A%09%22%20Return%20the%20result%20of%20fileOut%20classes.%20%22%0D%0A%0D%0A%09%5Eself%20new%20fileOutAll%3A%20classes')); smalltalk.bind(smalltalk.Exporter.$klass,'fileOutAll','fileOutAll' ,function (){ var self=this; return self.fileOutAll_(smalltalk.Smalltalk.current().classes());return self;} ,'fileOut',unescape('fileOutAll%0D%0A%09%22%20Return%20the%20result%20of%20fileOut%20of%20all%20classes%20in%20the%20system.%20%22%0D%0A%0D%0A%09%5Eself%20fileOutAll%3A%20Smalltalk%20current%20classes')); smalltalk.bind(smalltalk.Exporter,'fileOutCategory:','fileOutCategory_' ,function (aString){ var self=this; var stream=nil; var selection=nil; stream="".writeStream(); selection=((aString.includes_(unescape("-"))).mustBeBoolean()==true ? (function(){return (function(each){return each._eq(aString);});})() : (function(){return (function(each){return each.category().upTo_(unescape("-")).includes_(aString);});})()); self.fileOutAll_on_(smalltalk.Smalltalk.current().classes().select_(selection), stream); return stream.contents();return self;} ,'fileOut',unescape('fileOutCategory%3A%20aString%0D%0A%09%22%20Return%20the%20result%20of%20fileOut%20all%20the%20classes%20in%20category%20aString.%20%22%0D%0A%0D%0A%09%7C%20stream%20selection%20%7C%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09selection%20%3A%3D%20%28aString%20includes%3A%20%24-%29%0D%0A%09%09ifTrue%3A%20%5B%20%5B%3Aeach%7C%20each%20%3D%20aString%20%5D%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20%5B%3Aeach%7C%20%28each%20category%20upTo%3A%20%24-%29%20includes%3A%20aString%20%5D%20%5D.%0D%0A%09self%0D%0A%09%09fileOutAll%3A%20%28Smalltalk%20current%20classes%20select%3A%20selection%29%0D%0A%09%09on%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'fileOut:','fileOut_' ,function (aClass){ var self=this; var stream=nil; stream="".writeStream(); self.fileOut_on_(aClass, stream); return stream.contents();return self;} ,'fileOut',unescape('fileOut%3A%20aClass%0D%0A%09%22%20Return%20fileOut%20definition%20and%20code%20of%20a%20class.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09self%20fileOut%3A%20aClass%20on%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'fileOutClass:','fileOutClass_' ,function (aClass){ var self=this; return self.fileOut_(aClass);return self;} ,'fileOut',unescape('fileOutClass%3A%20aClass%0D%0A%09%22%20Return%20fileOut%20definition%20and%20code%20of%20a%20class.%20%22%0D%0A%0D%0A%09%5Eself%20fileOut%3A%20aClass')); smalltalk.bind(smalltalk.Exporter,'fileOutAll:','fileOutAll_' ,function (classes){ var self=this; var stream=nil; stream="".writeStream(); self.fileOutAll_on_(aClass, stream); return stream.contents();return self;} ,'fileOut',unescape('fileOutAll%3A%20classes%0D%0A%09%22%20Return%20fileOut%20definition%20and%20code%20of%20classes.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09self%20fileOutAll%3A%20aClass%20on%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'fileOutMethod:of:','fileOutMethod_of_' ,function (aMethod,aClass){ var self=this; var stream=nil; stream="".writeStream(); self.fileOutMethod_of_on_(aMethod, aClass, stream); return stream.contents();return self;} ,'fileOut',unescape('fileOutMethod%3A%20aMethod%20of%3A%20aClass%0D%0A%09%22%20Return%20fileOut%20method%20of%20a%20class.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09self%20fileOutMethod%3A%20aMethod%20of%3A%20aClass%20on%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'fileOutAll:on:','fileOutAll_on_' ,function (classes,stream){ var self=this; classes.do_((function(aClass){self.fileOutDefinitionOf_on_(aClass, stream);return self.fileOutDefinitionOf_on_(aClass.$klass, stream);})); stream.cr(); classes.do_((function(aClass){self.fileOutMethodsOf_on_(aClass, stream);return self.fileOutMethodsOf_on_(aClass.$klass, stream);}));return self;} ,'fileOut',unescape('fileOutAll%3A%20classes%20on%3A%20stream%0D%0A%09%22%20FileOut%20definition%20and%20code%20of%20classes%20onto%20stream.%20%22%0D%0A%0D%0A%09classes%20do%3A%20%5B%3AaClass%7C%0D%0A%09%09self%20fileOutDefinitionOf%3A%20aClass%20on%3A%20stream.%0D%0A%09%09self%20fileOutDefinitionOf%3A%20aClass%20class%20on%3A%20stream%0D%0A%09%5D.%09stream%20cr.%0D%0A%09classes%20do%3A%20%5B%3AaClass%7C%0D%0A%09%09self%20fileOutMethodsOf%3A%20aClass%20on%3A%20stream.%0D%0A%09%09self%20fileOutMethodsOf%3A%20aClass%20class%20on%3A%20stream.%0D%0A%09%5D.')); smalltalk.bind(smalltalk.Exporter,'fileOut:on:','fileOut_on_' ,function (aClass,stream){ var self=this; self.fileOutAll_on_(smalltalk.Array.with_(aClass), stream);return self;} ,'fileOut',unescape('fileOut%3A%20aClass%20on%3A%20stream%0D%0A%09%22%20FileOut%20definition%20and%20code%20of%20a%20class%20onto%20stream.%20%22%0D%0A%0D%0A%09self%20fileOutAll%3A%20%28Array%20with%3A%20aClass%29%20on%3A%20stream.')); smalltalk.bind(smalltalk.Exporter,'fileOutDefinitionOf:on:','fileOutDefinitionOf_on_' ,function (aClass,stream){ var self=this; try{ ((aClass.isMetaclass()).mustBeBoolean()==true ? (function(){((self.fileOutStrings_of_on_("instanceVariableNames", aClass, stream)).mustBeBoolean()==true ? (function(){return (function($rec){$rec.nextChunkPut_("");return $rec.cr();})(stream);})() : nil);((self.fileOutArray_of_on_("propertyNames", aClass, stream)).mustBeBoolean()==true ? (function(){return (function($rec){$rec.nextChunkPut_("");return $rec.cr();})(stream);})() : nil);return (function(){throw({name: "stReturn", selector: "fileOutDefinitionOf_on_", fn: function(){return self}})})();})() : nil); (function($rec){$rec.nextPutAll_(aClass.superclass().asString());return $rec.nextPutAll_(unescape("%20subclass%3A%20%23"));})(stream); ((self.fileOutStrings_of_on_("instanceVariableNames", aClass, stream)).mustBeBoolean()==true ? nil : (function(){return (function($rec){$rec.nextPutAll_(aClass.name()._comma(" instanceVariableNames: "));return $rec.nextPutAll_("".printString());})(stream);})()); ((((aClass.classVariables() || nil) !== nil)).mustBeBoolean()==true ? (function(){return (function($rec){$rec.cr();$rec.nextPutAll_(unescape("%09classVariableNames%3A%20"));return $rec.nextPutAll_(aClass.classVariablesString().printString());})(stream);})() : nil); ((((aClass.poolDictionaries() || nil) !== nil)).mustBeBoolean()==true ? (function(){return (function($rec){$rec.cr();$rec.nextPutAll_(unescape("%09poolDictionaries%3A%20"));return $rec.nextPutAll_(aClass.poolDictionariesString().printString());})(stream);})() : nil); (function($rec){$rec.cr();$rec.nextPutAll_(unescape("%09category%3A%20"));return $rec.nextPutAll_(aClass.category().printString());})(stream); (function($rec){$rec.nextChunkPut_("");return $rec.cr();})(stream); ((self.fileOutArray_of_on_("propertyNames", aClass, stream)).mustBeBoolean()==true ? (function(){return (function($rec){$rec.nextChunkPut_("");return $rec.cr();})(stream);})() : nil); ((aClass.comment().notEmpty()).mustBeBoolean()==true ? (function(){stream.nextPutAll_(aClass.name()._comma(" comment: ")._comma(aClass.comment().printString()));return (function($rec){$rec.nextChunkPut_("");return $rec.cr();})(stream);})() : nil);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "fileOutDefinitionOf_on_"){return $$ex.fn();} throw($$ex);}} ,'fileOut',unescape('fileOutDefinitionOf%3A%20aClass%20on%3A%20stream%0D%0A%09%22%20FileOut%20definition%20of%20a%20class%20onto%20stream.%20%22%0D%0A%0D%0A%09aClass%20isMetaclass%20ifTrue%3A%20%5B%0D%0A%09%09%28self%20fileOutStrings%3A%20%23instanceVariableNames%20of%3A%20aClass%20on%3A%20stream%29%20ifTrue%3A%20%5B%0D%0A%09%09%09stream%20nextChunkPut%3A%20%27%27%3Bcr.%0D%0A%09%09%5D.%0D%0A%09%09%28self%20fileOutArray%3A%20%23propertyNames%20of%3A%20aClass%20on%3A%20stream%29%20ifTrue%3A%20%5B%0D%0A%09%09%09stream%20nextChunkPut%3A%20%27%27%3Bcr.%0D%0A%09%09%5D.%0D%0A%09%09%5Eself%0D%0A%09%5D.%0D%0A%0D%0A%09stream%0D%0A%09%09nextPutAll%3A%20aClass%20superclass%20asString%3B%0D%0A%09%09nextPutAll%3A%20%27%20subclass%3A%20%23%27.%0D%0A%09%28self%20fileOutStrings%3A%20%23instanceVariableNames%20of%3A%20aClass%20on%3A%20stream%29%20ifFalse%3A%20%5B%0D%0A%09%09stream%0D%0A%09%09%09nextPutAll%3A%20aClass%20name%2C%27%20instanceVariableNames%3A%20%27%3B%0D%0A%09%09%09nextPutAll%3A%20%27%27%20printString%0D%0A%09%5D.%0D%0A%09aClass%20classVariables%20notNil%20ifTrue%3A%20%5B%0D%0A%09%20%20%20%20stream%09cr%3B%0D%0A%09%09nextPutAll%3A%20%27%09classVariableNames%3A%20%27%3B%0D%0A%09%09nextPutAll%3A%20aClass%20classVariablesString%20printString%0D%0A%09%5D.%0D%0A%09aClass%20poolDictionaries%20notNil%20ifTrue%3A%20%5B%0D%0A%09%20%20%20%20stream%09cr%3B%0D%0A%09%09nextPutAll%3A%20%27%09poolDictionaries%3A%20%27%3B%0D%0A%09%09nextPutAll%3A%20aClass%20poolDictionariesString%20printString%0D%0A%09%5D.%0D%0A%09stream%09%09cr%3B%0D%0A%09%09nextPutAll%3A%20%27%09category%3A%20%27%3B%0D%0A%09%09nextPutAll%3A%20aClass%20category%20printString.%0D%0A%09stream%20nextChunkPut%3A%20%27%27%3Bcr.%0D%0A%09%28self%20fileOutArray%3A%20%23propertyNames%20of%3A%20aClass%20on%3A%20stream%29%20ifTrue%3A%20%5B%0D%0A%09%09stream%20nextChunkPut%3A%20%27%27%3Bcr.%0D%0A%09%5D.%0D%0A%09aClass%20comment%20notEmpty%20ifTrue%3A%20%5B%0D%0A%09%09stream%20nextPutAll%3A%20aClass%20name%2C%27%20comment%3A%20%27%2C%20aClass%20comment%20printString.%0D%0A%09%09stream%20nextChunkPut%3A%20%27%27%3Bcr.%0D%0A%09%5D.')); smalltalk.bind(smalltalk.Exporter,'fileOutStrings:of:on:','fileOutStrings_of_on_' ,function (selector,aClass,stream){ var self=this; try{ var strings=nil; strings=aClass.perform_(selector); ((strings.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "fileOutStrings_of_on_", fn: function(){return false}})})();})() : nil); (function($rec){$rec.nextPutAll_(aClass.name());return $rec.nextPutAll_(" "._comma(selector)._comma(unescape("%3A%20%27")));})(stream); strings.do_((function(each){return stream.nextPutAll_(" "._comma(each));})); stream.nextPutAll_(unescape("%27")); (function(){throw({name: "stReturn", selector: "fileOutStrings_of_on_", fn: function(){return true}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "fileOutStrings_of_on_"){return $$ex.fn();} throw($$ex);}} ,'fileOut',unescape('fileOutStrings%3A%20selector%20of%3A%20aClass%20on%3A%20stream%0D%0A%09%22%20Private%20-%20FileOut%20selector%20strings%20of%20a%20class%20onto%20stream.%0D%0A%09Return%20true%20if%20code%20has%20been%20filedOut.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20strings%20%7C%0D%0A%09strings%20%3A%3D%20aClass%20perform%3A%20selector.%0D%0A%09strings%20isEmpty%20ifTrue%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09stream%0D%0A%09%09nextPutAll%3A%20aClass%20name%3B%0D%0A%09%09nextPutAll%3A%20%27%20%27%2Cselector%2C%27%3A%20%27%27%27.%0D%0A%09strings%20do%3A%20%5B%3Aeach%7C%20stream%20nextPutAll%3A%20%27%20%27%2Ceach%20%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%27%27%27.%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Exporter,'fileOutArray:of:on:','fileOutArray_of_on_' ,function (selector,aClass,stream){ var self=this; try{ var strings=nil; strings=aClass.perform_(selector); ((strings.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "fileOutArray_of_on_", fn: function(){return false}})})();})() : nil); (function($rec){$rec.nextPutAll_(aClass.name());return $rec.nextPutAll_do_(" "._comma(selector)._comma(unescape("%3A%20%23%28").strings()), (function(each){return stream.nextPutAll_(" "._comma(each.printString()));}));})(stream); stream.nextPutAll_(unescape("%29")); (function(){throw({name: "stReturn", selector: "fileOutArray_of_on_", fn: function(){return true}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "fileOutArray_of_on_"){return $$ex.fn();} throw($$ex);}} ,'fileOut',unescape('fileOutArray%3A%20selector%20of%3A%20aClass%20on%3A%20stream%0D%0A%09%22%20Private%20-%20FileOut%20selector%20arrayed%20strings%20of%20a%20class%20onto%20stream.%0D%0A%09Return%20true%20if%20code%20has%20been%20filedOut.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20strings%20%7C%0D%0A%09strings%20%3A%3D%20aClass%20perform%3A%20selector.%0D%0A%09strings%20isEmpty%20ifTrue%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09stream%0D%0A%09%09nextPutAll%3A%20aClass%20name%3B%0D%0A%09%09nextPutAll%3A%20%27%20%27%2Cselector%2C%27%3A%20%23%28%27%0D%0A%09strings%20do%3A%20%5B%3Aeach%7C%20stream%20nextPutAll%3A%20%27%20%27%2Ceach%20printString%20%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%29%27.%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Exporter,'fileOutMethodsOf:on:','fileOutMethodsOf_on_' ,function (aClass,stream){ var self=this; try{ var selectors=nil; selectors=aClass.selectors(); ((selectors.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "fileOutMethodsOf_on_", fn: function(){return self}})})();})() : nil); stream.cr(); selectors.sorted().do_((function(each){return self.fileOutMethod_of_on_(aClass.compiledMethodAt_(each), aClass, stream);}));return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "fileOutMethodsOf_on_"){return $$ex.fn();} throw($$ex);}} ,'fileOut',unescape('fileOutMethodsOf%3A%20aClass%20on%3A%20stream%0D%0A%09%22%20FileOut%20methods%20of%20a%20class%20onto%20stream.%20%22%0D%0A%0D%0A%09%7C%20selectors%20%7C%0D%0A%09selectors%20%3A%3D%20aClass%20selectors.%0D%0A%09selectors%20isEmpty%20ifTrue%3A%20%5B%20%5Eself%20%5D.%0D%0A%09stream%20cr.%0D%0A%09selectors%20sorted%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09self%0D%0A%09%09%09fileOutMethod%3A%20%28aClass%20compiledMethodAt%3A%20each%29%0D%0A%09%09%09of%3A%20aClass%20on%3A%20stream%0D%0A%09%5D.')); smalltalk.bind(smalltalk.Exporter,'fileOutMethod:of:on:','fileOutMethod_of_on_' ,function (aMethod,aClass,stream){ var self=this; (function($rec){$rec.cr();$rec.nextChunkPut_("");$rec.nextChunkPut_(aClass.name()._comma(" methodsFor: ")._comma(aMethod.category().printString()));$rec.cr();$rec.nextChunkPut_(aMethod.source());$rec.nextChunkPut_(" ");return $rec.cr();})(stream);return self;} ,'fileOut',unescape('fileOutMethod%3A%20aMethod%20of%3A%20aClass%20on%3A%20stream%0D%0A%09%22%20FileOut%20method%20of%20a%20class%20onto%20stream.%20%22%0D%0A%0D%0A%09stream%0D%0A%09%09cr%3BnextChunkPut%3A%20%27%27%3B%0D%0A%09%09nextChunkPut%3A%20aClass%20name%2C%20%27%20methodsFor%3A%20%27%2C%20aMethod%20category%20printString%3Bcr%3B%0D%0A%09%09nextChunkPut%3A%20aMethod%20source%3B%0D%0A%09%09nextChunkPut%3A%20%27%20%27%3Bcr')); smalltalk.bind(smalltalk.Exporter,'exportCategory:','exportCategory_' ,function (aString){ var self=this; var stream=nil; stream="".writeStream(); smalltalk.Smalltalk.current().classes().select_((function(each){return each.category()._eq(aString);})).do_((function(each){return stream.nextPutAll_(self.export_(each));})); return stream.contents();return self;} ,'fileOut',unescape('exportCategory%3A%20aString%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20all%20the%20classes%20in%20category%20aString.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09%28Smalltalk%20current%20classes%20%0D%0A%09%20%20%20%20select%3A%20%5B%3Aeach%20%7C%20each%20category%20%3D%20aString%20%5D%29%0D%0A%09%20%20%20%20do%3A%20%5B%3Aeach%20%7C%20stream%20nextPutAll%3A%20%28self%20export%3A%20each%29%20%5D.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'export:','export_' ,function (aClass){ var self=this; var stream=nil; stream="".writeStream(); self.exportDefinitionOf_on_(aClass, stream); stream.cr(); self.exportMethodsOf_on_(aClass, stream); stream.cr(); self.exportMetaDefinitionOf_on_(aClass, stream); self.exportMethodsOf_on_(aClass.$klass, stream); stream.cr(); return stream.contents();return self;} ,'fileOut',unescape('export%3A%20aClass%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20definition%20and%20source%20code%20of%20a%20class.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09self%20exportDefinitionOf%3A%20aClass%20on%3A%20stream.%0D%0A%09stream%20cr.%0D%0A%09self%20exportMethodsOf%3A%20aClass%20on%3A%20stream.%0D%0A%09stream%20cr.%0D%0A%09self%20exportMetaDefinitionOf%3A%20aClass%20on%3A%20stream.%0D%0A%09self%20exportMethodsOf%3A%20aClass%20class%20on%3A%20stream.%0D%0A%09stream%20cr.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'exportDefinitionOf:on:','exportDefinitionOf_on_' ,function (aClass,aStream){ var self=this; (function($rec){$rec.nextPutAll_(unescape("smalltalk.addClass%28%22")._comma(aClass.name())._comma(unescape("%22%2C")));$rec.nextPutAll_(self.smalltalkNameFor_(aClass.superclass()));return $rec.nextPutAll_(unescape("%2C%20%5B"));})(aStream); aClass.instanceVariableNames().do_separatedBy_((function(each){return aStream.nextPutAll_(unescape("%27")._comma(each)._comma(unescape("%27")));}), (function(){return aStream.nextPutAll_(unescape("%2C%20"));})); (function($rec){$rec.nextPutAll_(unescape("%5D%2C%20%27"));$rec.nextPutAll_(aClass.category()._comma(unescape("%27")));return $rec.nextPutAll_(unescape("%29%3B"));})(aStream); ((aClass.comment().isMemberOf_(smalltalk.String).and_((function(){return aClass.comment().notEmpty();}))).mustBeBoolean()==true ? (function(){return (function($rec){$rec.cr();$rec.nextPutAll_(self.smalltalkNameFor_(aClass));$rec.nextPutAll_(unescape(".%24comment%3D"));return $rec.nextPutAll_(unescape("unescape%28%22")._comma(aClass.comment().escaped())._comma(unescape("%22%29")));})(aStream);})() : nil); ((((aClass.classVariables() || nil) !== nil)).mustBeBoolean()==true ? (function(){return (function($rec){$rec.cr();$rec.nextPutAll_(self.smalltalkNameFor_(aClass));$rec.nextPutAll_(unescape(".%24classVariableNames%3D"));return $rec.nextPutAll_(unescape("unescape%28%22")._comma(aClass.classVariablesString().escaped())._comma(unescape("%22%29%3B")));})(aStream);})() : nil); ((((aClass.poolDictionaries() || nil) !== nil)).mustBeBoolean()==true ? (function(){(function($rec){$rec.cr();$rec.nextPutAll_(self.smalltalkNameFor_(aClass));return $rec.nextPutAll_(unescape(".%24poolDictionaries%3D%5B"));})(aStream);aClass.poolDictionaries().do_separatedBy_((function(each){return aStream.nextPutAll_(unescape("%27")._comma(each)._comma(unescape("%27")));}), (function(){return aStream.nextPutAll_(unescape("%2C%20"));}));return aStream.nextPutAll_(unescape("%5D%3B"));})() : nil); ((aClass.propertyNames().notEmpty()).mustBeBoolean()==true ? (function(){(function($rec){$rec.cr();$rec.nextPutAll_(self.smalltalkNameFor_(aClass));return $rec.nextPutAll_(unescape(".%24propertyNames%3D%5B"));})(aStream);aClass.propertyNames().do_separatedBy_((function(each){return aStream.nextPutAll_(unescape("%27")._comma(each)._comma(unescape("%27")));}), (function(){return aStream.nextPutAll_(unescape("%2C%20"));}));return aStream.nextPutAll_(unescape("%5D%3B"));})() : nil);return self;} ,'private',unescape('exportDefinitionOf%3A%20aClass%20on%3A%20aStream%0D%0A%09%22%20Export%20definition%20of%20aClass%20onto%20aStream.%20%22%0D%0A%0D%0A%09aStream%20%0D%0A%09%20%20%20%20nextPutAll%3A%20%27smalltalk.addClass%28%22%27%2C%20aClass%20name%2C%20%27%22%2C%27%3B%0D%0A%09%20%20%20%20nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%20superclass%29%3B%0D%0A%09%20%20%20%20nextPutAll%3A%20%27%2C%20%5B%27.%0D%0A%09aClass%20instanceVariableNames%20%0D%0A%09%20%20%20%20do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20%27%27%27%27%2C%20each%2C%20%27%27%27%27%20%5D%0D%0A%09%20%20%20%20separatedBy%3A%20%5B%20aStream%20nextPutAll%3A%20%27%2C%20%27%20%5D.%0D%0A%09aStream%09%0D%0A%09%20%20%20%20nextPutAll%3A%20%27%5D%2C%20%27%27%27%3B%0D%0A%09%20%20%20%20nextPutAll%3A%20aClass%20category%2C%20%27%27%27%27%3B%0D%0A%09%20%20%20%20nextPutAll%3A%20%27%29%3B%27.%0D%0A%09%28%28aClass%20comment%20isMemberOf%3A%20String%29%20and%3A%20%5BaClass%20comment%20notEmpty%5D%29%20ifTrue%3A%20%5B%0D%0A%09%20%20%20%20aStream%20%0D%0A%09%20%20%20%20%09cr%3B%0D%0A%09%09nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%29%3B%0D%0A%09%09nextPutAll%3A%20%27.%24comment%3D%27%3B%0D%0A%09%09nextPutAll%3A%20%27unescape%28%22%27%2C%20aClass%20comment%20escaped%2C%20%27%22%29%27%0D%0A%09%5D.%0D%0A%09aClass%20classVariables%20notNil%20ifTrue%3A%20%5B%0D%0A%09%20%20%20%20aStream%20%0D%0A%09%20%20%20%20%09cr%3B%0D%0A%09%09nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%29%3B%0D%0A%09%09nextPutAll%3A%20%27.%24classVariableNames%3D%27%3B%0D%0A%09%09nextPutAll%3A%20%27unescape%28%22%27%2C%20aClass%20classVariablesString%20escaped%2C%20%27%22%29%3B%27%0D%0A%09%5D.%0D%0A%09aClass%20poolDictionaries%20notNil%20ifTrue%3A%20%5B%0D%0A%09%20%20%20%20aStream%20%0D%0A%09%20%20%20%20%09cr%3B%0D%0A%09%09nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%29%3B%0D%0A%09%09nextPutAll%3A%20%27.%24poolDictionaries%3D%5B%27.%0D%0A%09%20%20%20%20aClass%20poolDictionaries%0D%0A%09%20%20%20%20%09do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20%27%27%27%27%2C%20each%2C%20%27%27%27%27%20%5D%0D%0A%09%20%20%20%20%09separatedBy%3A%20%5B%20aStream%20nextPutAll%3A%20%27%2C%20%27%20%5D.%0D%0A%09%20%20%20%20aStream%20%20nextPutAll%3A%20%27%5D%3B%27.%0D%0A%09%5D.%0D%0A%09aClass%20propertyNames%20notEmpty%20ifTrue%3A%20%5B%0D%0A%09%20%20%20%20aStream%0D%0A%09%20%20%20%20%09cr%3B%0D%0A%09%09nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%29%3B%0D%0A%09%09nextPutAll%3A%20%27.%24propertyNames%3D%5B%27.%0D%0A%09%20%20%20%20aClass%20propertyNames%0D%0A%09%20%20%20%20%09do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20%27%27%27%27%2C%20each%2C%20%27%27%27%27%20%5D%0D%0A%09%20%20%20%20%09separatedBy%3A%20%5B%20aStream%20nextPutAll%3A%20%27%2C%20%27%20%5D.%0D%0A%09%20%20%20%20aStream%20%20nextPutAll%3A%20%27%5D%3B%27.%0D%0A%09%5D.')); smalltalk.bind(smalltalk.Exporter,'exportMetaDefinitionOf:on:','exportMetaDefinitionOf_on_' ,function (aClass,aStream){ var self=this; ((aClass.$klass.instanceVariableNames().notEmpty()).mustBeBoolean()==true ? (function(){(function($rec){$rec.nextPutAll_(self.smalltalkNameFor_(aClass.$klass));return $rec.nextPutAll_(unescape(".%24iVarNames%20%3D%20%5B"));})(aStream);aClass.$klass.instanceVariableNames().do_separatedBy_((function(each){return aStream.nextPutAll_(unescape("%27")._comma(each)._comma(unescape("%27")));}), (function(){return aStream.nextPutAll_(unescape("%2C"));}));return (function($rec){$rec.nextPutAll_(unescape("%5D%3B"));return $rec.cr();})(aStream);})() : nil); ((aClass.$klass.propertyNames().notEmpty()).mustBeBoolean()==true ? (function(){(function($rec){$rec.nextPutAll_(self.smalltalkNameFor_(aClass.$klass));return $rec.nextPutAll_(unescape(".%24propertyNames%20%3D%20%5B"));})(aStream);aClass.$klass.propertyNames().do_separatedBy_((function(each){return aStream.nextPutAll_(unescape("%27")._comma(each)._comma(unescape("%27")));}), (function(){return aStream.nextPutAll_(unescape("%2C"));}));return (function($rec){$rec.nextPutAll_(unescape("%5D%3B"));return $rec.cr();})(aStream);})() : nil);return self;} ,'private',unescape('exportMetaDefinitionOf%3A%20aClass%20on%3A%20aStream%0D%0A%09%22%20Export%20class%20side%20definition%20of%20aClass%20onto%20aStream.%20%22%0D%0A%0D%0A%09aClass%20class%20instanceVariableNames%20notEmpty%20ifTrue%3A%20%5B%0D%0A%09%09aStream%20%0D%0A%09%09%09nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%20class%29%3B%0D%0A%09%09%09nextPutAll%3A%20%27.%24iVarNames%20%3D%20%5B%27.%0D%0A%09%09aClass%20class%20instanceVariableNames%0D%0A%09%09%09do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20%27%27%27%27%2C%20each%2C%20%27%27%27%27%20%5D%0D%0A%09%09%09separatedBy%3A%20%5B%20aStream%20nextPutAll%3A%20%27%2C%27%20%5D.%0D%0A%09%09aStream%20nextPutAll%3A%20%27%5D%3B%27%3B%20cr.%0D%0A%09%5D.%0D%0A%0D%0A%09aClass%20class%20propertyNames%20notEmpty%20ifTrue%3A%20%5B%0D%0A%09%09aStream%20%0D%0A%09%09%09nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%20class%29%3B%0D%0A%09%09%09nextPutAll%3A%20%27.%24propertyNames%20%3D%20%5B%27.%0D%0A%09%09aClass%20class%20propertyNames%0D%0A%09%09%09do%3A%20%5B%3Aeach%20%7C%20aStream%20nextPutAll%3A%20%27%27%27%27%2C%20each%2C%20%27%27%27%27%20%5D%0D%0A%09%09%09separatedBy%3A%20%5B%20aStream%20nextPutAll%3A%20%27%2C%27%20%5D.%0D%0A%09%09aStream%20nextPutAll%3A%20%27%5D%3B%27%3B%20cr.%0D%0A%09%5D.')); smalltalk.bind(smalltalk.Exporter,'smalltalkNameFor:','smalltalkNameFor_' ,function (aClass){ var self=this; return aClass.compiler().smalltalkNameFor_(aClass);return self;} ,'private',unescape('smalltalkNameFor%3A%20aClass%0D%0A%09%22%20Private%20-%20Return%20the%20global%20name%20of%20aClass%20%28can%20be%20nil%29.%20%22%0D%0A%0D%0A%09%5EaClass%20compiler%20smalltalkNameFor%3A%20aClass')); smalltalk.bind(smalltalk.Exporter,'exportAll','exportAll' ,function (){ var self=this; var categories=nil; categories=smalltalk.Array.$$new(); smalltalk.Smalltalk.current().classes().do_((function(each){return ((categories.includes_(each.category())).mustBeBoolean()==true ? nil : (function(){return categories.add_(each.category());})());})); categories.do_((function(each){return self.exportCategory_(each);}));return self;} ,'fileOut',unescape('exportAll%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20all%20classes%20in%20the%20system.%20%22%0D%0A%0D%0A%09%7C%20categories%20%7C%0D%0A%09categories%20%3A%3D%20Array%20new.%0D%0A%09Smalltalk%20current%20classes%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%09%28categories%20includes%3A%20each%20category%29%20ifFalse%3A%20%5B%0D%0A%09%09%09categories%20add%3A%20each%20category%0D%0A%09%09%5D%0D%0A%09%5D.%0D%0A%09categories%20do%3A%20%5B%3Aeach%20%7C%20self%20exportCategory%3A%20each%20%5D')); smalltalk.bind(smalltalk.Exporter,'exportDefinitionOf:','exportDefinitionOf_' ,function (aClass){ var self=this; var stream=nil; stream=smalltalk.String.$$new().writeStream(); self.exportDefinitionOf_on_(aClass, stream); stream.cr(); return stream.contents();return self;} ,'fileOut',unescape('exportDefinitionOf%3A%20aClass%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20the%20definition%20of%20aClass.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20String%20new%20writeStream.%0D%0A%09self%20exportDefinitionOf%3A%20aClass%20on%3A%20stream.%0D%0A%09stream%20cr.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'exportMetaDefinitionOf:','exportMetaDefinitionOf_' ,function (aClass){ var self=this; var stream=nil; stream=smalltalk.String.$$new().writeStream(); self.exportMetaDefinitionOf_on_(aClass, stream); stream.cr(); return stream.contents();return self;} ,'fileOut',unescape('exportMetaDefinitionOf%3A%20aClass%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20class%20side%20definition%20of%20aClass.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20String%20new%20writeStream.%0D%0A%09self%20exportMetaDefinitionOf%3A%20aClass%20on%3A%20stream.%0D%0A%09stream%20cr.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'exportClasses:on:','exportClasses_on_' ,function (classes,stream){ var self=this; classes.do_((function(aClass){self.exportDefinitionOf_on_(aClass, stream);stream.cr();self.exportMetaDefinitionOf_on_(aClass, stream);return stream.cr();})); stream.cr(); classes.do_((function(aClass){self.exportMethodsOf_on_(aClass.$klass, stream);stream.cr();self.exportMethodsOf_on_(aClass, stream);return stream.cr();}));return self;} ,'fileOut',unescape('exportClasses%3A%20classes%20on%3A%20stream%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20class%20definitions%20onto%20stream.%20%22%0D%0A%0D%0A%09classes%20do%3A%20%5B%3AaClass%7C%0D%0A%09%09self%20exportDefinitionOf%3A%20aClass%20on%3A%20stream.%0D%0A%09%09stream%20cr.%0D%0A%09%09self%20exportMetaDefinitionOf%3A%20aClass%20on%3A%20stream.%0D%0A%09%09stream%20cr.%0D%0A%09%5D.%0D%0A%09stream%20cr.%0D%0A%09classes%20do%3A%20%5B%3AaClass%7C%0D%0A%09%09self%20exportMethodsOf%3A%20aClass%20class%20on%3A%20stream.%0D%0A%09%09stream%20cr.%0D%0A%09%09self%20exportMethodsOf%3A%20aClass%20on%3A%20stream.%0D%0A%09%09stream%20cr.%0D%0A%09%5D.')); smalltalk.bind(smalltalk.Exporter,'exportClasses:','exportClasses_' ,function (classes){ var self=this; var stream=nil; stream=smalltalk.String.$$new().writeStream(); self.exportClasses_on_(classes, stream); return stream.contents();return self;} ,'fileOut',unescape('exportClasses%3A%20classes%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20classes.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20String%20new%20writeStream.%0D%0A%09self%20exportClasses%3A%20classes%20on%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'exportObject:on:','exportObject_on_' ,function (anObject,stream){ var self=this; stream.nextPutAll_(anObject.asJavascript());return self;} ,'fileOut',unescape('exportObject%3A%20anObject%20on%3A%20stream%0D%0A%09%22%20Export%20a%20%28javascript%29literal%20representation%20of%20anObject%20onto%20stream.%20%22%0D%0A%0D%0A%09stream%20nextPutAll%3A%20anObject%20asJavascript.')); smalltalk.bind(smalltalk.Exporter,'exportObject:','exportObject_' ,function (anObject){ var self=this; var stream=nil; stream=smalltalk.String.$$new().writeStream(); self.exportObject_on_(anObject, stream); return stream.contents();return self;} ,'fileOut',unescape('exportObject%3A%20anObject%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20a%20literal%20representation%20of%20anObject.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20String%20new%20writeStream.%0D%0A%09self%20exportObject%3A%20anObject%20on%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'export:method:','export_method_' ,function (aClass,aMethod){ var self=this; var stream=nil; stream=smalltalk.String.$$new().writeStream(); self.export_method_on_(aClass, aMethod, stream); return stream.contents();return self;} ,'fileOut',unescape('export%3A%20aClass%20method%3A%20aMethod%0D%0A%09%22%20Return%20the%20result%20of%20exporting%20aClass%20nethod.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20String%20new%20writeStream.%0D%0A%09self%20export%3A%20aClass%20method%3A%20aMethod%20on%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Exporter,'exportMethodsOf:on:','exportMethodsOf_on_' ,function (aClass,aStream){ var self=this; aClass.methodsDo_((function(each){return self.export_method_on_(aClass, each, aStream);}));return self;} ,'private',unescape('exportMethodsOf%3A%20aClass%20on%3A%20aStream%0D%0A%09%22%20Export%20methods%20of%20aClass%20onto%20aStream.%20%22%0D%0A%0D%0A%09aClass%20methodsDo%3A%20%5B%3Aeach%7C%20self%20export%3A%20aClass%20method%3A%20each%20on%3A%20aStream%20%5D')); smalltalk.bind(smalltalk.Exporter,'export:method:on:','export_method_on_' ,function (aClass,aMethod,aStream){ var self=this; var functionName=nil; var selectorName=nil; var bar=nil; bar=unescape("%27").asString(); functionName=aMethod.selector(); ((functionName.first().isBackSlash()).mustBeBoolean()==true ? (function(){selectorName=unescape("unescape%28")._comma(bar)._comma(aMethod.selector().escaped())._comma(bar)._comma(unescape("%29"));return functionName=unescape("unescape%28")._comma(bar)._comma(functionName.asSelector().escaped())._comma(bar)._comma(unescape("%29"));})() : (function(){selectorName=bar._comma(aMethod.selector())._comma(bar);return functionName=bar._comma(functionName.asSelector())._comma(bar);})()); (function($rec){$rec.nextPutAll_(unescape("smalltalk.bind%28")._comma(self.smalltalkNameFor_(aClass)));$rec.nextPutAll_(unescape("%2C")._comma(selectorName)._comma(unescape("%2C"))._comma(functionName));$rec.cr();$rec.nextPutAll_(unescape("%2C")._comma(aMethod.fn().compiledSource()));return $rec.cr();})(aStream); ((((aMethod.source() || nil) !== nil).and_((function(){return aMethod.source().notEmpty();}))).mustBeBoolean()==true ? (function(){return (function($rec){$rec.nextPutAll_(unescape("%2C%27")._comma(aMethod.category())._comma(unescape("%27%2C")));return $rec.nextPutAll_(unescape("unescape%28%27")._comma(aMethod.source().escaped())._comma(unescape("%27%29")));})(aStream);})() : nil); (function($rec){$rec.nextPutAll_(unescape("%29%3B"));return $rec.cr();})(aStream);return self;} ,'fileOut',unescape('export%3A%20aClass%20method%3A%20aMethod%20on%3A%20aStream%0D%0A%09%22%20Export%20a%20method%20definition%20of%20aClass%20onto%20aStream.%20%22%0D%0A%0D%0A%09%7C%20functionName%20selectorName%20bar%20%7C%0D%0A%09bar%20%3A%3D%20%24%27%20asString.%0D%0A%09functionName%20%3A%3D%20aMethod%20selector.%0D%0A%09functionName%20first%20isBackSlash%20ifTrue%3A%20%5B%0D%0A%09%09selectorName%20%3A%3D%20%27unescape%28%27%2Cbar%2CaMethod%20selector%20escaped%2Cbar%2C%27%29%27.%0D%0A%09%09functionName%20%3A%3D%20%27unescape%28%27%2Cbar%2CfunctionName%20asSelector%20escaped%2Cbar%2C%27%29%27.%0D%0A%09%5D%20ifFalse%3A%20%5B%0D%0A%09%09selectorName%20%3A%3D%20bar%20%2CaMethod%20selector%2C%20bar.%0D%0A%09%09functionName%20%3A%3D%20bar%20%2CfunctionName%20asSelector%2C%20bar.%0D%0A%09%5D.%0D%0A%09aStream%0D%0A%09%09nextPutAll%3A%20%27smalltalk.bind%28%27%2C%20%28self%20smalltalkNameFor%3A%20aClass%29%3B%0D%0A%09%09nextPutAll%3A%20%27%2C%27%2C%20selectorName%2C%20%27%2C%27%2C%20functionName%3B%20cr%3B%0D%0A%09%09nextPutAll%3A%20%27%2C%27%2C%20aMethod%20fn%20compiledSource%3B%20cr.%0D%0A%09%28aMethod%20source%20notNil%20and%3A%20%5B%20aMethod%20source%20notEmpty%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%20%20%20%20aStream%0D%0A%09%09nextPutAll%3A%20%27%2C%27%27%27%2C%20aMethod%20category%2C%20%27%27%27%2C%27%3B%0D%0A%09%09nextPutAll%3A%20%27unescape%28%27%27%27%2C%20aMethod%20source%20escaped%2C%20%27%27%27%29%27.%0D%0A%09%5D.%0D%0A%09aStream%20nextPutAll%3A%20%27%29%3B%27%3B%20cr.')); smalltalk.bind(smalltalk.DoIt,'doIt','doIt' ,function (){ var self=this; return (function(){return smalltalk.Snapshot.outputToFile_(unescape("../u8.image.js"));}).value();return self;} ,'nil',unescape('doIt%20%5E%5B%20Snapshot%20outputToFile%3A%20%27../u8.image.js%27%20%5D%20value')); smalltalk.bind(smalltalk.Snapshot.$klass,'contents','contents' ,function (){ var self=this; return self.$$new().contents();return self;} ,'accessing',unescape('contents%0D%0A%09%22%20Return%20a%20snapshot%20of%20current%20system%20contents.%20%22%0D%0A%0D%0A%09%5Eself%20new%20contents')); smalltalk.bind(smalltalk.Snapshot.$klass,'outputToFile:','outputToFile_' ,function (fileName){ var self=this; self.contents().outputToFile_(fileName);return self;} ,'saveImage',unescape('outputToFile%3A%20fileName%0D%0A%09%22%20Save%20a%20complete%20system%20snapshot%20in%20a%20file%20at%20fileName.%20%22%0D%0A%0D%0A%09self%20contents%20outputToFile%3A%20fileName')); smalltalk.bind(smalltalk.Snapshot,'contents','contents' ,function (){ var self=this; var stream=nil; stream=smalltalk.String.$$new().writeStream(); self.saveImageOn_(stream); return stream.contents();return self;} ,'accessing',unescape('contents%0D%0A%09%22%20Return%20a%20snapshot%20of%20current%20system%20contents.%20%22%0D%0A%0D%0A%09%7C%20stream%20%7C%0D%0A%09stream%20%3A%3D%20String%20new%20writeStream.%0D%0A%09self%20saveImageOn%3A%20stream.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Snapshot,'system','system' ,function (){ var self=this; return self['@system'];return self;} ,'accessing',unescape('system%0D%0A%09%22%20Return%20the%20system%20to%20be%20captured.%20%22%0D%0A%0D%0A%09%5Esystem')); smalltalk.bind(smalltalk.Snapshot,'saveImageOn:','saveImageOn_' ,function (stream){ var self=this; return self.saveImage_on_(smalltalk.Smalltalk.current(), stream);return self;} ,'save image',unescape('saveImageOn%3A%20stream%0D%0A%09%22%20Save%20the%20current%20system%20contents%20onto%20stream.%20%22%0D%0A%0D%0A%09%5Eself%20saveImage%3A%20Smalltalk%20current%20on%3A%20stream')); smalltalk.bind(smalltalk.Snapshot,'saveImage:on:','saveImage_on_' ,function (aSmalltalk,stream){ var self=this; (function($rec){$rec.writeLicense_on_(aSmalltalk, stream);$rec.writeBootOn_(stream);$rec.writePrologueOn_(stream);$rec.writeImageContents_on_(aSmalltalk, stream);$rec.writeEpilogueOn_(stream);return $rec.yourself();})(self);return self;} ,'save image',unescape('saveImage%3A%20aSmalltalk%20on%3A%20stream%0D%0A%09%22%20Save%20aSmalltalk%20system%20contents%20onto%20stream.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09writeLicense%3A%20aSmalltalk%20on%3A%20stream%3B%0D%0A%09%09writeBootOn%3A%20stream%3B%0D%0A%09%09writePrologueOn%3A%20stream%3B%0D%0A%09%09writeImageContents%3A%20aSmalltalk%20on%3A%20stream%3B%0D%0A%09%09writeEpilogueOn%3A%20stream%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Snapshot,'writeLicense:on:','writeLicense_on_' ,function (aSmalltalk,aStream){ var self=this; (function($rec){$rec.nextPutAll_(unescape("/*"));$rec.cr();$rec.nextPutAll_(aSmalltalk.licenseTerms());$rec.cr();$rec.nextPutAll_(unescape("*/"));$rec.cr();return $rec.cr();})(aStream);return self;} ,'writing',unescape('writeLicense%3A%20aSmalltalk%20on%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20license%20terms%20onto%20aStream.%20%22%0D%0A%0D%0A%09aStream%0D%0A%09%09nextPutAll%3A%20%27/*%27%3Bcr%3B%0D%0A%09%09nextPutAll%3A%20aSmalltalk%20licenseTerms%3Bcr%3B%0D%0A%09%09nextPutAll%3A%20%27*/%27%3Bcr%3B%0D%0A%09%09cr')); smalltalk.bind(smalltalk.Snapshot,'writeBootOn:','writeBootOn_' ,function (aStream){ var self=this; self.writeJSGlobals_on_(["StObject", "StBehavior", "StClass", "StMetaclass", "StMethod", "StUndefinedObject"], aStream); self.writeNilDefinitionOn_(aStream); self.writeJSGlobals_on_(["StSystemDictionary"], aStream); self.writeSystemDefinitionOn_(aStream); self.writeKernelMappings_on_([["Object", "StObject"], ["Smalltalk", "StSystemDictionary", "Object"], ["Behavior", "StBehavior", "Object"], ["Class", "StClass", "Behavior"], ["Metaclass", "StMetaclass", "Behavior"], ["CompiledMethod", "StMethod", "Object"], ["Number", "Number", "Object"], ["BlockClosure", "Function", "Object"], ["Boolean", "Boolean", "Object"], ["DateTime", "Date", "Object"], ["UndefinedObject", "StUndefinedObject", "Object"], ["Collection", "undefined", "Object"], ["SequenceableCollection", "undefined", "Collection"], ["String", "String", "SequenceableCollection"], ["Array", "Array", "SequenceableCollection"], ["RegularExpression", "RegExp", "Object"]], aStream);return self;} ,'writing',unescape('writeBootOn%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20boot%20section%20of%20the%20image%20onto%20aStream.%20%22%0D%0A%0D%0A%09self%20writeJSGlobals%3A%20%23%28%0D%0A%09%09%23StObject%20%23StBehavior%20%23StClass%20%23StMetaclass%0D%0A%09%09%23StMethod%0D%0A%09%09%23StUndefinedObject%0D%0A%09%09%29%20on%3A%20aStream.%0D%0A%09self%20writeNilDefinitionOn%3A%20aStream.%0D%0A%09self%20writeJSGlobals%3A%20%23%28%20%23StSystemDictionary%20%29%20on%3A%20aStream.%0D%0A%09self%20writeSystemDefinitionOn%3A%20aStream.%0D%0A%09self%20writeKernelMappings%3A%20%23%28%0D%0A%09%09%23%28%20%23Object%20%23StObject%20%29%0D%0A%09%09%23%28%20%23Smalltalk%20%23StSystemDictionary%20%23Object%29%0D%0A%09%09%23%28%20%23Behavior%20%23StBehavior%20%23Object%29%0D%0A%09%09%23%28%20%23Class%20%23StClass%20%23Behavior%29%0D%0A%09%09%23%28%20%23Metaclass%20%23StMetaclass%20%23Behavior%29%0D%0A%09%09%23%28%20%23CompiledMethod%20%23StMethod%20%23Object%29%0D%0A%09%09%23%28%20%23Number%20%23Number%20%23Object%29%0D%0A%09%09%23%28%20%23BlockClosure%20%23Function%20%23Object%29%0D%0A%09%09%23%28%20%23Boolean%20%23Boolean%20%23Object%29%0D%0A%09%09%23%28%20%23DateTime%20%23Date%20%23Object%29%0D%0A%09%09%23%28%20%23UndefinedObject%20%23StUndefinedObject%20%23Object%29%0D%0A%09%09%23%28%20%23Collection%20%23undefined%20%23Object%29%0D%0A%09%09%23%28%20%23SequenceableCollection%20%23undefined%20%23Collection%29%0D%0A%09%09%23%28%20%23String%20%23String%20%23SequenceableCollection%29%0D%0A%09%09%23%28%20%23Array%20%23Array%20%23SequenceableCollection%29%0D%0A%09%09%23%28%20%23RegularExpression%20%23RegExp%20%23Object%29%0D%0A%09%09%29%20on%3A%20aStream.')); smalltalk.bind(smalltalk.Snapshot,'writePrologueOn:','writePrologueOn_' ,function (aStream){ var self=this; self.writeJSGlobals_on_(["smalltalk.st", "smalltalk.doIt", "fileIn", "fileInJS", "vse", "test", "doit", "exportCategory", "saveImage", "saveImageAs"], aStream); self.write_on_(unescape("smalltalk.%24imageFileName%20%3D%20smalltalk.%24imageFileName%20%20%7C%7C%20%22s8.image.js%22%3B"), aStream);return self;} ,'writing',unescape('writePrologueOn%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20prologue%20section%20of%20the%20image%20onto%20aStream.%20%22%0D%0A%0D%0A%09self%20writeJSGlobals%3A%20%23%28%0D%0A%09%09%27smalltalk.st%27%20%27smalltalk.doIt%27%0D%0A%09%09%23fileIn%20%23fileInJS%0D%0A%09%09%23vse%20%23test%20%23doit%0D%0A%09%09%23exportCategory%0D%0A%09%09%23saveImage%20%23saveImageAs%0D%0A%09%09%29%20on%3A%20aStream.%0D%0A%09self%20write%3A%20%27smalltalk.%24imageFileName%20%3D%20smalltalk.%24imageFileName%20%20%7C%7C%20%22s8.image.js%22%3B%27%20on%3A%20aStream.')); smalltalk.bind(smalltalk.Snapshot,'writeEpilogueOn:','writeEpilogueOn_' ,function (aStream){ var self=this; self.write_on_(unescape("//%20Launching%20S8%20image%20"), aStream); self.write_on_(unescape("smalltalk.launchImage%28%29%3B"), aStream);return self;} ,'writing',unescape('writeEpilogueOn%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20epilogue%20section%20of%20the%20image%20onto%20aStream.%20%22%0D%0A%0D%0A%09self%20write%3A%20%27//%20Launching%20S8%20image%20%27%20on%3A%20aStream.%0D%0A%09self%20write%3A%20%27smalltalk.launchImage%28%29%3B%27%20on%3A%20aStream.')); smalltalk.bind(smalltalk.Snapshot,'write:on:','write_on_' ,function (aString,aStream){ var self=this; (function($rec){$rec.cr();return $rec.nextPutAll_(aString);})(aStream);return self;} ,'writing',unescape('write%3A%20aString%20on%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20aString%20onto%20aStream.%20%22%0D%0A%0D%0A%09aStream%20cr%3B%20nextPutAll%3A%20aString')); smalltalk.bind(smalltalk.Snapshot,'globalNotFound:','globalNotFound_' ,function (aJSGlobal){ var self=this; return self.error_("Global not found: "._comma(aJSGlobal));return self;} ,'error',unescape('globalNotFound%3A%20aJSGlobal%0D%0A%09%22%20Private%20-%20A%20global%20at%20javascript%20level%20has%20not%20been%20found.%20%22%0D%0A%0D%0A%09%5Eself%20error%3A%20%27Global%20not%20found%3A%20%27%2CaJSGlobal')); smalltalk.bind(smalltalk.Snapshot,'writeJSGlobals:on:','writeJSGlobals_on_' ,function (globals,aStream){ var self=this; var jsObject=nil; globals.do_((function(each){jsObject=eval(each);((((jsObject || nil) === nil)).mustBeBoolean()==true ? (function(){return jsObject=self.globalNotFound_(each);})() : nil);return self.write_on_(each._comma(unescape("%20%3D%20"))._comma(jsObject.toString()), aStream);}));return self;} ,'writing',unescape('writeJSGlobals%3A%20globals%20on%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20prologue%20section%20of%20the%20image%20onto%20aStream.%20%22%0D%0A%0D%0A%09%7C%20jsObject%20%7C%0D%0A%09globals%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09jsObject%20%3A%3D%20%23%20%23eval%3A%20each.%0D%0A%09%09jsObject%20isNil%20ifTrue%3A%20%5B%20jsObject%20%3A%3D%20self%20globalNotFound%3A%20each%20%5D.%0D%0A%09%09self%20write%3A%20each%2C%27%20%3D%20%27%2C%20jsObject%20toString%20on%3A%20aStream.%0D%0A%09%5D')); smalltalk.bind(smalltalk.Snapshot,'writeNilDefinitionOn:','writeNilDefinitionOn_' ,function (aStream){ var self=this; self.write_on_(unescape("var%20nil%20%3D%20new%20StUndefinedObject%28%29%3B"), aStream); self.write_on_(unescape("nil.toString%20%3D%20function%28%29%20%7B%20return%20%22nil%22%3B%20%7D"), aStream);return self;} ,'writing',unescape('writeNilDefinitionOn%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20definition%20of%20nil%20object%20onto%20aStream.%20%22%0D%0A%0D%0A%09self%20write%3A%20%27var%20nil%20%3D%20new%20StUndefinedObject%28%29%3B%27%20on%3A%20aStream.%0D%0A%09self%20write%3A%20%27nil.toString%20%3D%20function%28%29%20%7B%20return%20%22nil%22%3B%20%7D%27%20on%3A%20aStream')); smalltalk.bind(smalltalk.Snapshot,'writeSystemDefinitionOn:','writeSystemDefinitionOn_' ,function (aStream){ var self=this; self.write_on_(unescape("var%20smalltalk%20%3D%20new%20StSystemDictionary%28%29%3B"), aStream); self.write_on_(unescape("smalltalk.toString%20%3D%20function%28%29%20%7B%20return%20%22smalltalk%22%3B%20%7D"), aStream); self.write_on_(unescape("smalltalk.OverwriteMethods%20%3D%20smalltalk.OverwriteMethods%20%7C%7C%20nil%3B"), aStream); self.write_on_(unescape("smalltalk.DumpOverwriteMethods%20%3D%20smalltalk.DumpOverwriteMethods%20%7C%7C%20nil%3B"), aStream);return self;} ,'writing',unescape('writeSystemDefinitionOn%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20definition%20of%20smalltalk%20object%20onto%20aStream.%20%22%0D%0A%0D%0A%09self%20write%3A%20%27var%20smalltalk%20%3D%20new%20StSystemDictionary%28%29%3B%27%20on%3A%20aStream.%0D%0A%09self%20write%3A%20%27smalltalk.toString%20%3D%20function%28%29%20%7B%20return%20%22smalltalk%22%3B%20%7D%27%20on%3A%20aStream.%0D%0A%09self%20write%3A%20%27smalltalk.OverwriteMethods%20%3D%20smalltalk.OverwriteMethods%20%7C%7C%20nil%3B%27%20on%3A%20aStream.%0D%0A%09self%20write%3A%20%27smalltalk.DumpOverwriteMethods%20%3D%20smalltalk.DumpOverwriteMethods%20%7C%7C%20nil%3B%27%20on%3A%20aStream.')); smalltalk.bind(smalltalk.Snapshot,'writeKernelMappings:on:','writeKernelMappings_on_' ,function (mappings,aStream){ var self=this; return self.write_mappings_on_("Kernel", mappings, aStream);return self;} ,'writing',unescape('writeKernelMappings%3A%20mappings%20on%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20kernel%20mappings%20onto%20aStream.%20%22%0D%0A%0D%0A%09%5Eself%20write%3A%20%27Kernel%27%20mappings%3A%20mappings%20on%3A%20aStream')); smalltalk.bind(smalltalk.Snapshot,'write:mappings:on:','write_mappings_on_' ,function (category,mappings,aStream){ var self=this; var className=nil; var fn=nil; var superclass=nil; mappings.do_((function(tuple){className=tuple.first();fn=tuple.at_((2));superclass=((tuple.size()._eq((2))).mustBeBoolean()==true ? (function(){return "";})() : (function(){return unescape("%2Csmalltalk.")._comma(tuple.last());})());return self.write_on_(unescape("smalltalk.mapClassName%28")._comma(className.printString())._comma(unescape("%2C"))._comma(category.printString())._comma(unescape("%2C"))._comma(fn.asString())._comma(superclass)._comma(unescape("%29%3B")), aStream);}));return self;} ,'writing',unescape('write%3A%20category%20mappings%3A%20mappings%20on%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20mappings%20onto%20aStream.%20%22%0D%0A%0D%0A%09%7C%20className%20fn%20superclass%20%7C%0D%0A%09mappings%20do%3A%20%5B%3Atuple%7C%0D%0A%09%09className%20%3A%3D%20tuple%20first.%0D%0A%09%09fn%20%3A%3D%20tuple%20at%3A%202.%0D%0A%09%09superclass%20%3A%3D%20tuple%20size%20%3D%202%20ifTrue%3A%20%5B%20%27%27%20%5D%0D%0A%09%09%09ifFalse%3A%20%5B%20%27%2Csmalltalk.%27%2Ctuple%20last%20%5D.%20%0D%0A%09%09self%20write%3A%20%27smalltalk.mapClassName%28%27%0D%0A%09%09%09%09%2CclassName%20printString%2C%20%27%2C%27%0D%0A%09%09%09%09%2Ccategory%20printString%2C%20%27%2C%27%0D%0A%09%09%09%09%2Cfn%20asString%0D%0A%09%09%09%09%2Csuperclass%0D%0A%09%09%09%2C%27%29%3B%27%20on%3A%20aStream.%0D%0A%09%5D')); smalltalk.bind(smalltalk.Snapshot,'writeImageContents:on:','writeImageContents_on_' ,function (aSmalltalk,aStream){ var self=this; var exporter=nil; var globals=nil; var classes=nil; self['@system']=aSmalltalk; exporter=self.exporterFor_(aSmalltalk); globals=self.globalsIn_(aSmalltalk); classes=self.classesToExportFrom_with_(aSmalltalk, exporter).collect_((function(each){return each.aboutToSaveImage_on_(self, aStream);})).select_((function(each){return ((each || nil) !== nil);})); exporter.exportClasses_on_(classes, aStream); self.exportGlobals_with_on_(globals, exporter, aStream); classes.do_((function(each){return each.imageSaved_on_(self, aStream);}));return self;} ,'writing',unescape('writeImageContents%3A%20aSmalltalk%20on%3A%20aStream%0D%0A%09%22%20Private%20-%20Write%20the%20image%20section%20of%20aSmalltalk%20system%20onto%20aStream.%20%22%0D%0A%0D%0A%09%7C%20exporter%20globals%20classes%20%7C%0D%0A%09system%20%3A%3D%20aSmalltalk.%0D%0A%09exporter%20%3A%3D%20self%20exporterFor%3A%20aSmalltalk.%0D%0A%09globals%20%3A%3D%20self%20globalsIn%3A%20aSmalltalk.%0D%0A%09classes%20%3A%3D%20%28%28self%20classesToExportFrom%3A%20aSmalltalk%20with%3A%20exporter%29%0D%0A%09%09collect%3A%20%5B%3Aeach%7C%20each%20aboutToSaveImage%3A%20self%20on%3A%20aStream%20%5D%29%0D%0A%09%09select%3A%20%5B%3Aeach%7C%20each%20notNil%20%5D.%0D%0A%22%09self%20exportGlobalNames%3A%20globals%20keys%20sorted%20in%3A%20aSmalltalk%20on%3A%20aStream.%0D%0A%22%09exporter%20exportClasses%3A%20classes%20on%3A%20aStream.%0D%0A%09self%20exportGlobals%3A%20globals%20with%3A%20exporter%20on%3A%20aStream.%0D%0A%09classes%20do%3A%20%5B%3Aeach%7C%20each%20imageSaved%3A%20self%20on%3A%20aStream%20%5D.')); smalltalk.bind(smalltalk.Snapshot,'exporterFor:','exporterFor_' ,function (aSmalltalk){ var self=this; return smalltalk.Exporter.$$new();return self;} ,'exporting',unescape('exporterFor%3A%20aSmalltalk%0D%0A%09%22%20Private%20-%20Return%20the%20exporter%20to%20use%20to%20write%20contents%20of%20aSmalltalk%20system.%20%22%0D%0A%0D%0A%09%5EExporter%20new')); smalltalk.bind(smalltalk.Snapshot,'globalsIn:','globalsIn_' ,function (aSmalltalk){ var self=this; var result=nil; result=smalltalk.Dictionary.$$new(); aSmalltalk.globalsDo_((function(key){return result.at_put_(key, (aSmalltalk[key] || nil));})); return result;return self;} ,'exporting',unescape('globalsIn%3A%20aSmalltalk%0D%0A%09%22%20Private%20-%20Return%20the%20globals%20defined%20in%20aSmalltalk%20system.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20Dictionary%20new.%0D%0A%09aSmalltalk%20globalsDo%3A%20%5B%3Akey%7C%20result%20at%3A%20key%20put%3A%20%28aSmalltalk%20basicAt%3A%20key%29%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Snapshot,'classesToExportFrom:with:','classesToExportFrom_with_' ,function (aSmalltalk,exporter){ var self=this; return aSmalltalk.classes().select_((function(each){return ((each.superclass() || nil) === nil);})).inject_into_(smalltalk.Array.$$new(), (function(total, each){return total._comma(each.withAllSubclasses());}));return self;} ,'exporting',unescape('classesToExportFrom%3A%20aSmalltalk%20with%3A%20exporter%0D%0A%09%22%20Private%20-%20Return%20the%20classes%20to%20export%20from%20aSmalltalk%20system.%20%22%0D%0A%0D%0A%09%5E%28aSmalltalk%20classes%0D%0A%09%09select%3A%20%5B%3Aeach%7C%20each%20superclass%20isNil%20%5D%29%0D%0A%09%09inject%3A%20Array%20new%20into%3A%20%5B%3Atotal%20%3Aeach%7C%20total%20%2C%20each%20withAllSubclasses%20%5D')); smalltalk.bind(smalltalk.Snapshot,'exportGlobalNames:in:on:','exportGlobalNames_in_on_' ,function (names,aSmalltalk,aStream){ var self=this; names.do_separatedBy_((function(key){return aStream.nextPutAll_("smalltalk."._comma(key));}), (function(){return aStream.nextPutAll_(unescape("%20%2C%20"));})); (function($rec){$rec.nextPutAll_(unescape("%3Dnil%3B"));return $rec.cr();})(aStream);return self;} ,'exporting',unescape('exportGlobalNames%3A%20names%20in%3A%20aSmalltalk%20on%3A%20aStream%0D%0A%09%22%20Private%20-%20Export%20global%20names%20in%20aSmalltalk%20system.%20%22%0D%0A%0D%0A%09names%0D%0A%09%09do%3A%20%5B%3Akey%7C%20aStream%20nextPutAll%3A%20%27smalltalk.%27%2Ckey%20%5D%0D%0A%09%09separatedBy%3A%20%5B%20aStream%20nextPutAll%3A%20%27%20%2C%20%27%20%5D.%0D%0A%09aStream%20nextPutAll%3A%20%27%3Dnil%3B%27%3B%20cr.')); smalltalk.bind(smalltalk.Snapshot,'exportGlobals:with:on:','exportGlobals_with_on_' ,function (globals,exporter,aStream){ var self=this; aStream.cr(); self.write_on_(unescape("smalltalk.initRoots%28%29%3B"), aStream); globals.associationsDo_((function(binding){return self.write_on_("smalltalk."._comma(binding.key())._comma(unescape("%3D"))._comma(exporter.exportObject_(binding.value()))._comma(unescape("%3B")), aStream);}));return self;} ,'exporting',unescape('exportGlobals%3A%20globals%20with%3A%20exporter%20on%3A%20aStream%0D%0A%09%22%20Private%20-%20Export%20global%20objects%20onto%20aStream.%20%22%0D%0A%0D%0A%09aStream%20cr.%0D%0A%09self%20write%3A%20%27smalltalk.initRoots%28%29%3B%27%20on%3A%20aStream.%0D%0A%09globals%20associationsDo%3A%20%5B%3Abinding%7C%0D%0A%09%09self%20write%3A%20%27smalltalk.%27%2Cbinding%20key%2C%27%3D%27%0D%0A%09%09%09%2C%28exporter%20exportObject%3A%20binding%20value%29%0D%0A%09%09%09%2C%27%3B%27%20on%3A%20aStream%0D%0A%09%5D')); smalltalk.bind(smalltalk.SourceManager.$klass,'current','current' ,function (){ var self=this; ((((smalltalk.SourceManager.$klass.classVariableAt_("Current") || nil) === nil)).mustBeBoolean()==true ? (function(){return self.current_(self.$$new());})() : nil); return smalltalk.SourceManager.$klass.classVariableAt_("Current");return self;} ,'current instance',unescape('current%0D%0A%09%22%20Returns%20the%20current%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09Current%20isNil%20ifTrue%3A%20%5B%20self%20current%3A%20self%20new%20%5D.%0D%0A%09%5ECurrent')); smalltalk.bind(smalltalk.SourceManager.$klass,'current:','current_' ,function (aSourceManager){ var self=this; smalltalk.SourceManager.$klass.classVariableAt_put_("Current",aSourceManager); aSourceManager.install();return self;} ,'current instance',unescape('current%3A%20aSourceManager%0D%0A%09%22%20Set%20the%20current%20source%20manager%20of%20the%20system.%20%22%0D%0A%0D%0A%09Current%20%3A%3D%20aSourceManager.%0D%0A%09aSourceManager%20install.')); smalltalk.bind(smalltalk.SourceManager,'install','install' ,function (){ var self=this; return self;} ,'install',unescape('install%0D%0A%09%22%20Private%20-%20Install%20the%20receiver%20as%20the%20source%20manager%20of%20the%20system.%0D%0A%09The%20default%20action%20is%20to%20do%20nothing.%0D%0A%09This%20method%20can%20be%20refined%20by%20subclasses.%0D%0A%09%22')); smalltalk.bind(smalltalk.SourceManager,'methodBound:to:','methodBound_to_' ,function (aMethod,aClass){ var self=this; return self;} ,'method tracking',unescape('methodBound%3A%20aMethod%20to%3A%20aClass%0D%0A%09%22%20Private%20-%20The%20method%20has%20been%20bound%20to%20aClass.%0D%0A%09The%20default%20action%20is%20to%20do%20nothing.%0D%0A%09This%20method%20can%20be%20refined%20to%20track%20method%20changes.%0D%0A%09%22%0D%0A%0D%0A%09%22self%20print%3A%20%27//%20method%20bound%3A%20%27%2CaClass%20name%2C%27%3E%3E%23%27%2CaMethod%20selector.%22')); smalltalk.bind(smalltalk.SourceManager,'aboutToBind:to:','aboutToBind_to_' ,function (aMethod,aClass){ var self=this; return self;} ,'method tracking',unescape('aboutToBind%3A%20aMethod%20to%3A%20aClass%0D%0A%09%22%20Private%20-%20The%20method%20will%20be%20bound%20to%20aClass.%0D%0A%09The%20default%20action%20is%20to%20do%20nothing.%0D%0A%09This%20method%20can%20be%20refined%20to%20track%20method%20changes.%0D%0A%09%22%0D%0A%0D%0A%09%22self%20print%3A%20%27//%20method%20to%20bind%3A%20%27%2CaClass%20name%2C%27%3E%3E%23%27%2CaMethod%20selector.%22')); smalltalk.bind(smalltalk.SourceManager,'methodRemoved:from:','methodRemoved_from_' ,function (aMethod,aClass){ var self=this; return self;} ,'method tracking',unescape('methodRemoved%3A%20aMethod%20from%3A%20aClass%0D%0A%09%22%20Private%20-%20The%20method%20has%20been%20removed%20from%20aClass.%0D%0A%09The%20default%20action%20is%20to%20do%20nothing.%0D%0A%09This%20method%20can%20be%20refined%20to%20track%20method%20changes.%0D%0A%09%22%0D%0A%0D%0A%09%22self%20print%3A%20%27//%20method%20removed%3A%20%27%2CaClass%20name%2C%27%3E%3E%23%27%2CaMethod%20selector.%22')); smalltalk.bind(smalltalk.SourceManager,'aboutToRemove:from:','aboutToRemove_from_' ,function (aMethod,aClass){ var self=this; return self;} ,'method tracking',unescape('aboutToRemove%3A%20aMethod%20from%3A%20aClass%0D%0A%09%22%20Private%20-%20The%20method%20will%20be%20removed%20from%20aClass.%0D%0A%09The%20default%20action%20is%20to%20do%20nothing.%0D%0A%09This%20method%20can%20be%20refined%20to%20track%20method%20changes.%0D%0A%09%22%0D%0A%0D%0A%09%22self%20print%3A%20%27//%20method%20to%20remove%3A%20%27%2CaClass%20name%2C%27%3E%3E%23%27%2CaMethod%20selector.%22')); smalltalk.bind(smalltalk.Transcript.$klass,'current','current' ,function (){ var self=this; ((((self['@current'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self['@current']=self.$$new();})() : nil); return self['@current'];return self;} ,'accessing',unescape('current%0D%0A%09current%20isNil%20ifTrue%3A%20%5B%20current%20%3A%3D%20self%20new%20%5D.%0D%0A%09%5Ecurrent')); smalltalk.bind(smalltalk.Transcript.$klass,'cr','cr' ,function (){ var self=this; return self.current().cr();return self;} ,'io',unescape('cr%0D%0A%09%5Eself%20current%20cr')); smalltalk.bind(smalltalk.Transcript.$klass,'nextPutAll:','nextPutAll_' ,function (aString){ var self=this; return self.current().nextPutAll_(aString);return self;} ,'io',unescape('nextPutAll%3A%20aString%0D%0A%09%5Eself%20current%20nextPutAll%3A%20aString')); smalltalk.bind(smalltalk.Transcript.$klass,'show:','show_' ,function (aString){ var self=this; return self.current().show_(aString);return self;} ,'io',unescape('show%3A%20aString%0D%0A%09%5Eself%20current%20show%3A%20aString')); smalltalk.bind(smalltalk.Transcript,'cr','cr' ,function (){ var self=this; self.stream().cr();return self;} ,'io',unescape('cr%0D%0A%09self%20stream%20cr')); smalltalk.bind(smalltalk.Transcript,'nextPutAll:','nextPutAll_' ,function (aString){ var self=this; return self.stream().nextPutAll_(aString.asString());return self;} ,'io',unescape('nextPutAll%3A%20aString%0D%0A%09%5Eself%20stream%20nextPutAll%3A%20aString%20asString')); smalltalk.bind(smalltalk.Transcript,'show:','show_' ,function (aString){ var self=this; self.stream().nextPutAll_(aString.asString()); self.flush();return self;} ,'io',unescape('show%3A%20aString%0D%0A%09self%20stream%20nextPutAll%3A%20aString%20asString.%0D%0A%09self%20flush.')); smalltalk.bind(smalltalk.Transcript,'flush','flush' ,function (){ var self=this; ((((self['@stream'] || nil) !== nil)).mustBeBoolean()==true ? (function(){self.print_(self['@stream'].contents());return self['@stream']=nil;})() : nil);return self;} ,'io',unescape('flush%0D%0A%09stream%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09self%20print%3A%20stream%20contents.%0D%0A%09%09stream%20%3A%3D%20nil.%0D%0A%09%5D.')); smalltalk.bind(smalltalk.Transcript,'stream','stream' ,function (){ var self=this; ((((self['@stream'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self['@stream']=smalltalk.String.$$new().stream();})() : nil); return self['@stream'];return self;} ,'accessing',unescape('stream%0D%0A%09stream%20isNil%20ifTrue%3A%20%5B%20stream%20%3A%3D%20String%20new%20stream.%20%5D.%0D%0A%09%5Estream')); smalltalk.bind(smalltalk.NativeObject.$klass,'class:implement:comment:as:category:','class_implement_comment_as_category_' ,function (aClass,message,aComment,sourceCode,aCategory){ var self=this; var code=nil; code=unescape("%21%20")._comma(aClass.name())._comma(" methodsFor: ")._comma(aCategory.printString())._comma(unescape("%20%21%0D%0A"))._comma(message)._comma(unescape("%0D%0A%09%22%20"))._comma(aComment)._comma(unescape("%20%22%0D%0A%0D%0A%09"))._comma(sourceCode)._comma(unescape("%21%20%21%0D%0A%0D%0A")); return (function($rec){$rec.fileIn();return $rec.yourself();})(code);return self;} ,'code generation',unescape('class%3A%20aClass%0D%0A%09implement%3A%20message%0D%0A%09comment%3A%20aComment%0D%0A%09as%3A%20sourceCode%0D%0A%09category%3A%20aCategory%0D%0A%09%22%20Private%20-%20Implement%20a%20method%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20code%20%7C%0D%0A%09code%20%3A%3D%20%27%21%20%27%2CaClass%20name%2C%27%20methodsFor%3A%20%27%2C%20aCategory%20printString%2C%27%20%21%0D%0A%27%2Cmessage%2C%27%0D%0A%09%22%20%27%2C%20aComment%2C%20%27%20%22%0D%0A%0D%0A%09%27%2CsourceCode%20%2C%27%21%20%21%0D%0A%0D%0A%27.%09%5Ecode%20fileIn%3B%20yourself')); smalltalk.bind(smalltalk.NativeObject.$klass,'implement:comment:as:category:','implement_comment_as_category_' ,function (message,aComment,sourceCode,aCategory){ var self=this; return self.class_implement_comment_as_category_(self, message, aComment, sourceCode, aCategory);return self;} ,'code generation',unescape('implement%3A%20message%0D%0A%09comment%3A%20aComment%0D%0A%09as%3A%20sourceCode%0D%0A%09category%3A%20aCategory%0D%0A%09%22%20Private%20-%20Implement%20a%20method%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%09class%3A%20self%20implement%3A%20message%0D%0A%09%09comment%3A%20aComment%20as%3A%20sourceCode%0D%0A%09%09category%3A%20aCategory')); smalltalk.bind(smalltalk.NativeObject.$klass,'buildGetter:','buildGetter_' ,function (aSelector){ var self=this; return self.implement_comment_as_category_(aSelector, "Return the "._comma(aSelector)._comma(" of the receiver."), unescape("%5Ehandle%23")._comma(aSelector), "accessing");return self;} ,'code generation',unescape('buildGetter%3A%20aSelector%0D%0A%09%22%20Private%20-%20Build%20%28instance%29%20method%20to%20get%20native%20property.%20%22%0D%0A%09%0D%0A%09%5Eself%0D%0A%09%09implement%3A%20aSelector%0D%0A%09%09comment%3A%20%27Return%20the%20%27%20%2CaSelector%20%2C%27%20of%20the%20receiver.%27%0D%0A%09%09as%3A%20%27%5Ehandle%23%27%20%2CaSelector%20category%3A%20%23accessing')); smalltalk.bind(smalltalk.NativeObject.$klass,'buildSetter:','buildSetter_' ,function (aSelector){ var self=this; return self.implement_comment_as_category_(aSelector._comma(": anObject"), "Set the "._comma(aSelector)._comma(" of the receiver."), unescape("handle%23")._comma(aSelector)._comma(unescape("%20%3A%3D%20anObject")), "accessing");return self;} ,'code generation',unescape('buildSetter%3A%20aSelector%0D%0A%09%22%20Private%20-%20Build%20%28instance%29%20method%20to%20set%20native%20property.%20%22%0D%0A%09%0D%0A%09%5Eself%0D%0A%09%09implement%3A%20aSelector%2C%20%27%3A%20anObject%27%0D%0A%09%09comment%3A%20%27Set%20the%20%27%20%2CaSelector%20%2C%27%20of%20the%20receiver.%27%0D%0A%09%09as%3A%20%27handle%23%27%20%2CaSelector%20%2C%20%27%20%3A%3D%20anObject%27%0D%0A%09%09category%3A%20%23accessing')); smalltalk.bind(smalltalk.NativeObject.$klass,'buildAccessor:','buildAccessor_' ,function (accessor){ var self=this; try{ ((accessor.isString()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "buildAccessor_", fn: function(){return self.buildGetter_(accessor)._comma(self.buildSetter_(accessor))}})})();})() : nil); (function(){throw({name: "stReturn", selector: "buildAccessor_", fn: function(){return accessor.inject_into_(" ", (function(total, tuple){return total._comma(self.implement_comment_as_category_(tuple.first(), tuple.at_((2)), tuple.at_((3)), "accessing"));}))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "buildAccessor_"){return $$ex.fn();} throw($$ex);}} ,'code generation',unescape('buildAccessor%3A%20accessor%0D%0A%09%22%20Private%20-%20Build%20%28instance%29%20method%20to%20access%20native%20property.%20%22%0D%0A%0D%0A%09accessor%20isString%20ifTrue%3A%20%5B%0D%0A%09%09%5E%28self%20buildGetter%3A%20accessor%29%0D%0A%09%09%2C%28self%20buildSetter%3A%20accessor%29%0D%0A%09%5D.%0D%0A%0D%0A%09%5Eaccessor%20inject%3A%20%27%20%27%20into%3A%20%5B%3Atotal%20%3Atuple%7C%0D%0A%09%09total%20%2C%20%28self%0D%0A%09%09%09implement%3A%20tuple%20first%20comment%3A%20%28tuple%20at%3A%202%29%0D%0A%09%09%09as%3A%20%28tuple%20at%3A%203%29%20category%3A%20%23accessing%29%0D%0A%09%5D')); smalltalk.bind(smalltalk.NativeObject.$klass,'buildAccessors:','buildAccessors_' ,function (specs){ var self=this; try{ ((specs.isString()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "buildAccessors_", fn: function(){return self.buildAccessors_(specs.asArrayOfSubstrings())}})})();})() : nil); (function(){throw({name: "stReturn", selector: "buildAccessors_", fn: function(){return specs.inject_into_(" ", (function(total, each){return total._comma(self.buildAccessor_(each));}))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "buildAccessors_"){return $$ex.fn();} throw($$ex);}} ,'code generation',unescape('buildAccessors%3A%20specs%0D%0A%09%22%20Private%20-%20Build%20%28instance%29%20methods%20to%20access%20native%20properties.%20%22%0D%0A%0D%0A%09specs%20isString%20ifTrue%3A%20%5B%20%5Eself%20buildAccessors%3A%20specs%20asArrayOfSubstrings%20%5D.%0D%0A%09%5Especs%20inject%3A%20%27%20%27%20into%3A%20%5B%3Atotal%20%3Aeach%7C%20total%2C%20%28self%20buildAccessor%3A%20each%29%20%5D')); smalltalk.bind(smalltalk.NativeObject.$klass,'buildGetters:','buildGetters_' ,function (specs){ var self=this; try{ ((specs.isString()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "buildGetters_", fn: function(){return self.buildGetters_(specs.asArrayOfSubstrings())}})})();})() : nil); (function(){throw({name: "stReturn", selector: "buildGetters_", fn: function(){return specs.inject_into_(" ", (function(total, each){return total._comma(self.buildGetter_(each));}))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "buildGetters_"){return $$ex.fn();} throw($$ex);}} ,'code generation',unescape('buildGetters%3A%20specs%0D%0A%09%22%20Private%20-%20Build%20%28instance%29%20methods%20to%20get%20native%20properties.%20%22%0D%0A%0D%0A%09specs%20isString%20ifTrue%3A%20%5B%20%5Eself%20buildGetters%3A%20specs%20asArrayOfSubstrings%20%5D.%0D%0A%09%5Especs%20inject%3A%20%27%20%27%20into%3A%20%5B%3Atotal%20%3Aeach%7C%20total%2C%20%28self%20buildGetter%3A%20each%29%20%5D')); smalltalk.bind(smalltalk.NativeObject.$klass,'buildSetters:','buildSetters_' ,function (specs){ var self=this; try{ ((specs.isString()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "buildSetters_", fn: function(){return self.buildSetters_(specs.asArrayOfSubstrings())}})})();})() : nil); (function(){throw({name: "stReturn", selector: "buildSetters_", fn: function(){return specs.inject_into_(" ", (function(total, each){return total._comma(self.buildSetter_(each));}))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "buildSetters_"){return $$ex.fn();} throw($$ex);}} ,'code generation',unescape('buildSetters%3A%20specs%0D%0A%09%22%20Private%20-%20Build%20%28instance%29%20methods%20to%20set%20native%20properties.%20%22%0D%0A%0D%0A%09specs%20isString%20ifTrue%3A%20%5B%20%5Eself%20buildSetters%3A%20specs%20asArrayOfSubstrings%20%5D.%0D%0A%09%5Especs%20inject%3A%20%27%20%27%20into%3A%20%5B%3Atotal%20%3Aeach%7C%20total%2C%20%28self%20buildSetter%3A%20each%29%20%5D')); smalltalk.bind(smalltalk.NativeObject.$klass,'buildTypedAccessor:','buildTypedAccessor_' ,function (tuple){ var self=this; return self.implement_comment_as_category_(tuple.first(), "Return the "._comma(tuple.first())._comma(" of the receiver."), unescape("%5E")._comma(tuple.last())._comma(unescape("%20@%20handle%23"))._comma(tuple.first()), "accessing")._comma(self.implement_comment_as_category_(tuple.first()._comma(": anObject"), "Set the "._comma(tuple.first())._comma(" of the receiver."), unescape("handle%23")._comma(tuple.first())._comma(unescape("%20%3A%3D%20anObject%20handle")), "accessing"));return self;} ,'code generation',unescape('buildTypedAccessor%3A%20tuple%0D%0A%09%22%20Private%20-%20Build%20%28instance%29%20method%20to%20get/set%20property%20from/to%20spec%20array.%20%22%0D%0A%09%0D%0A%09%5E%28self%0D%0A%09%09implement%3A%20tuple%20first%0D%0A%09%09comment%3A%20%27Return%20the%20%27%20%2Ctuple%20first%20%2C%27%20of%20the%20receiver.%27%0D%0A%09%09as%3A%20%27%5E%27%2Ctuple%20last%2C%27%20@%20handle%23%27%20%2Ctuple%20first%20category%3A%20%23accessing%29%0D%0A%09%2C%28self%0D%0A%09%09implement%3A%20tuple%20first%2C%20%27%3A%20anObject%27%0D%0A%09%09comment%3A%20%27Set%20the%20%27%20%2Ctuple%20first%20%2C%27%20of%20the%20receiver.%27%0D%0A%09%09as%3A%20%27handle%23%27%20%2Ctuple%20first%20%2C%20%27%20%3A%3D%20anObject%20handle%27%20category%3A%20%23accessing%0D%0A%09%29')); smalltalk.bind(smalltalk.NativeObject.$klass,'buildTypedAccessors:','buildTypedAccessors_' ,function (tuples){ var self=this; return tuples.inject_into_(" ", (function(total, each){return total._comma(self.buildTypedAccessor_(each));}));return self;} ,'code generation',unescape('buildTypedAccessors%3A%20tuples%0D%0A%09%22%20Private%20-%20Build%20%28instance%29%20methods%20to%20get/set%20property%20from/to%20tuples.%20%22%0D%0A%09%0D%0A%09%5Etuples%20inject%3A%20%27%20%27%20into%3A%20%5B%3Atotal%20%3Aeach%7C%0D%0A%09%09total%20%2C%20%28self%20buildTypedAccessor%3A%20each%29%0D%0A%09%5D')); smalltalk.bind(smalltalk.NativeObject.$klass,'@','_at' ,function (handle){ var self=this; return self.$$new().handle_(handle);return self;} ,'instance creation',unescape('@%20handle%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%20handle%3A%20handle')); smalltalk.bind(smalltalk.NativeObject.$klass,'for:','for_' ,function (handle){ var self=this; return self.$$new().handle_(handle);return self;} ,'instance creation',unescape('for%3A%20handle%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%20handle%3A%20handle')); smalltalk.bind(smalltalk.NativeObject.$klass,'from:','from_' ,function (aNativeObject){ var self=this; return self.$$new().copyFrom_(aNativeObject);return self;} ,'instance creation',unescape('from%3A%20aNativeObject%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%20copyFrom%3A%20aNativeObject')); smalltalk.bind(smalltalk.NativeObject,'as:','as_' ,function (aNativeObjectClass){ var self=this; return aNativeObjectClass.from_(self);return self;} ,'converting',unescape('as%3A%20aNativeObjectClass%0D%0A%09%22%20Return%20the%20receiver%20casted%20to%20aNativeObjectClass.%20%22%0D%0A%0D%0A%09%5EaNativeObjectClass%20from%3A%20self')); smalltalk.bind(smalltalk.NativeObject,'handle','handle' ,function (){ var self=this; ((((self['@handle'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self.initializeHandle();})() : nil); return self['@handle'];return self;} ,'accessing',unescape('handle%0D%0A%09%22%20Return%20the%20native%20handle.%20%22%0D%0A%0D%0A%09handle%20isNil%20ifTrue%3A%20%5B%20self%20initializeHandle%20%5D.%0D%0A%09%5Ehandle')); smalltalk.bind(smalltalk.NativeObject,'handle:','handle_' ,function (anAlien){ var self=this; try{ self['@handle']=anAlien; ((((self['@handle'] || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "handle_", fn: function(){return nil}})})();})() : nil);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "handle_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('handle%3A%20anAlien%0D%0A%09%22%20Set%20the%20native%20handle%20to%20a%20potentialy%20non-StObject.%0D%0A%09Return%20the%20receiver%2C%20or%20nil%20if%20the%20receiver%20is%20void.%0D%0A%09%22%0D%0A%0D%0A%09handle%20%3A%3D%20anAlien.%0D%0A%09handle%20isNil%20ifTrue%3A%20%5B%20%5Enil%20%5D.')); smalltalk.bind(smalltalk.NativeObject,'initializeHandle','initializeHandle' ,function (){ var self=this; return self.implementedBySubclass();return self;} ,'initialize/release',unescape('initializeHandle%0D%0A%09%22%20Private%20-%20Initialize%20the%20native%20handle.%0D%0A%09This%20method%20must%20be%20implemented%20by%20subclasses.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20implementedBySubclass')); smalltalk.bind(smalltalk.NativeObject,'releaseHandle','releaseHandle' ,function (){ var self=this; self['@handle']=nil;return self;} ,'initialize/release',unescape('releaseHandle%0D%0A%09%22%20Private%20-%20Release%20the%20native%20handle.%0D%0A%09The%20default%20implementation%20clear%20handle.%0D%0A%09This%20method%20can%20be%20refined%20by%20subclasses%20to%20free%20external%20resources.%0D%0A%09%22%0D%0A%0D%0A%09handle%20%3A%3D%20nil')); smalltalk.bind(smalltalk.NativeObject,'release','release' ,function (){ var self=this; self.releaseHandle(); return smalltalk.whoImplements(smalltalk.NativeObject,'release').$superclass.$fn.prototype['release'].apply(self, []);return self;} ,'initialize/release',unescape('release%0D%0A%09%22%20Private%20-%20Release%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20releaseHandle.%0D%0A%09%5Esuper%20release')); smalltalk.bind(smalltalk.NativeObject,'copyFrom:','copyFrom_' ,function (aNativeObject){ var self=this; self['@handle']=aNativeObject.handle();return self;} ,'copying',unescape('copyFrom%3A%20aNativeObject%0D%0A%09%22%20Copy%20receiver%27s%20contents%20from%20the%20native%20object.%20%22%0D%0A%0D%0A%09handle%20%3A%3D%20aNativeObject%20handle.')); smalltalk.bind(smalltalk.NativeObject,'asJS','asJS' ,function (){ var self=this; return smalltalk.JS._at(self.handle());return self;} ,'converting',unescape('asJS%0D%0A%09%22%20Convert%20the%20receiver%20to%20JS%20instance%20%28for%20reflection%29.%20%22%0D%0A%0D%0A%09%5EJS%20@%20self%20handle')); smalltalk.bind(smalltalk.U8.$klass,'install:','install_' ,function (id){ var self=this; self._at(id).install();return self;} ,'startup',unescape('install%3A%20id%0D%0A%09%22%20Install%20an%20instance%20of%20the%20receiver%20in%20container.%20%22%0D%0A%0D%0A%09%28self%20@%20id%29%20install')); smalltalk.bind(smalltalk.U8.$klass,'@','_at' ,function (id){ var self=this; try{ self.instances().do_((function(each){return ((each.id()._eq(id)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "_at", fn: function(){return each}})})();})() : nil);})); (function(){throw({name: "stReturn", selector: "_at", fn: function(){return self.instances().add_(self.$$new().id_(id))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_at"){return $$ex.fn();} throw($$ex);}} ,'accessing/instance creation',unescape('@%20id%0D%0A%09%22%20Return%20the%20instance%20of%20the%20receiver%20with%20id.%0D%0A%09If%20there%20is%20no%20instance%20with%20that%20id%2C%20a%20new%20instance%20will%20be%20registered%20and%20returned.%0D%0A%09%22%0D%0A%0D%0A%09self%20instances%20do%3A%20%5B%3Aeach%7C%20each%20id%20%3D%20id%20ifTrue%3A%20%5B%20%5Eeach%20%5D.%20%5D.%0D%0A%09%5Eself%20instances%20add%3A%20%28self%20new%20id%3A%20id%29')); smalltalk.bind(smalltalk.U8.$klass,'instances','instances' ,function (){ var self=this; ((((self['@instances'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self['@instances']=smalltalk.Array.$$new();})() : nil); return self['@instances'];return self;} ,'accessing',unescape('instances%0D%0A%09%22%20Private%20-%20Return%20the%20running%20instances%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09instances%20isNil%20ifTrue%3A%20%5B%20instances%20%3A%3D%20Array%20new%20%5D.%0D%0A%09%5Einstances')); smalltalk.bind(smalltalk.U8.$klass,'tool','tool' ,function (){ var self=this; return ((self.instances().notEmpty()).mustBeBoolean()==true ? (function(){return self.instances().first();})() : nil);return self;} ,'accessing',unescape('tool%0D%0A%09%22%20Private%20-%20Return%20the%20first%20instance%20of%20the%20receiver%20%28or%20nil%29.%20%22%0D%0A%0D%0A%09%5Eself%20instances%20notEmpty%20ifTrue%3A%20%5B%20self%20instances%20first%20%5D')); smalltalk.bind(smalltalk.U8.$klass,'commonExpressions','commonExpressions' ,function (){ var self=this; ((((smalltalk.U8.$klass.classVariableAt_("CommonExpressions") || nil) === nil)).mustBeBoolean()==true ? (function(){return self.initializeCommonExpressions();})() : nil); return smalltalk.U8.$klass.classVariableAt_("CommonExpressions");return self;} ,'workspace',unescape('commonExpressions%0D%0A%09%22%20Private%20-%20Return%20the%20collection%20of%20frequent/common%20expressions.%20%22%0D%0A%0D%0A%09CommonExpressions%20isNil%20ifTrue%3A%20%5B%20self%20initializeCommonExpressions%20%5D.%0D%0A%09%5ECommonExpressions')); smalltalk.bind(smalltalk.U8.$klass,'addExpressions:','addExpressions_' ,function (aCollection){ var self=this; smalltalk.U8.$klass.classVariableAt_put_("CommonExpressions",aCollection._comma(self.commonExpressions()));return self;} ,'workspace',unescape('addExpressions%3A%20aCollection%0D%0A%09%22%20Add%20a%20collection%20of%20frequent/common%20expressions%20to%20durrent%20expressions.%20%22%0D%0A%0D%0A%09CommonExpressions%20%3A%3D%20aCollection%20%2C%20self%20commonExpressions')); smalltalk.bind(smalltalk.U8.$klass,'initializeCommonExpressions','initializeCommonExpressions' ,function (){ var self=this; smalltalk.U8.$klass.classVariableAt_put_("CommonExpressions",[[unescape("%5BU8%5D--Frequent%20expressions--"), ""], ["Object withAllSubclasses...", unescape("Object%20withAllSubclasses%20collect%3A%20%5B%3Aeach%7C%20each%20name%20%5D")], ["aClass selectors", "Object selectors"], ["New class...", unescape("Object%20subclass%3A%20%23MyClass%20instanceVariableNames%3A%20%27%20%20one%20two%20%27%20category%3A%20%27MyCategory%27.")], ["FileOut aClass", "Exporter new fileOut: aClass"], ["FileOut aCategory", unescape("Exporter%20new%20fileOutCategory%3A%20%27Kernel%27.")], [unescape("GUI%20-%20Access%20the%20playgroung%20element"), unescape("U8%20tool%20playground%20innerHTML%3A%20%27%3Ccenter%3EThis%20is%20my%20playground%20area.%3C/center%3E%27.")], [unescape("GUI%20-%20Hide%20the%20playgroung"), unescape("U8%20tool%20playground%20style%20display%3A%20%23none.")], [unescape("GUI%20-%20Show%20the%20playgroung"), "U8 tool playground style display: String new."], [unescape("DOM%20-%20Dynamically%20load%20a%20javascript%20file%20to%20this%20page"), unescape("DOM%20document%20addJavascript%3A%20jsUrl%20onLoad%3A%20%5B%20%23%20%23alert%3A%20%27Script%20loaded.%27%5D")], [unescape("DOM%20-%20Dynamically%20load%20a%20cascaded%20styles%20sheet"), "DOM document addCSS: cssURL"], [unescape("jQuery%20-%20Dynamically%20load%20jQuery%5B1.7.1%5D%20support%20%28from%20Google%27s%20server%29"), unescape("DOM%20document%20addJavascript%3A%20%27http%3A//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js%27%20onLoad%3A%20%5B%20%23%20%23alert%3A%20%27jQuery%20loaded.%27%5D")], [unescape("System%20-%20Snapshot"), "Snapshot contents"], [unescape("System%20-%20Contents"), "Smalltalk current imageContents"]]);return self;} ,'workspace',unescape('initializeCommonExpressions%0D%0A%09%22%20Private%20-%20Initialize%20the%20common%20expressions%20collection.%20%22%0D%0A%0D%0A%09CommonExpressions%20%3A%3D%20%23%28%0D%0A%09%09%23%28%20%27%5BU8%5D--Frequent%20expressions--%27%20%27%27%20%29%0D%0A%09%09%23%28%20%27Object%20withAllSubclasses...%27%20%27Object%20withAllSubclasses%20collect%3A%20%5B%3Aeach%7C%20each%20name%20%5D%27%20%29%0D%0A%09%09%23%28%20%27aClass%20selectors%27%20%27Object%20selectors%27%20%29%0D%0A%09%09%23%28%20%27New%20class...%27%20%27Object%20subclass%3A%20%23MyClass%20instanceVariableNames%3A%20%27%27%20%20one%20two%20%27%27%20category%3A%20%27%27MyCategory%27%27.%27%20%29%0D%0A%09%09%23%28%20%27FileOut%20aClass%27%20%27Exporter%20new%20fileOut%3A%20aClass%27%20%29%0D%0A%09%09%23%28%20%27FileOut%20aCategory%27%20%27Exporter%20new%20fileOutCategory%3A%20%27%27Kernel%27%27.%27%20%29%0D%0A%09%09%23%28%20%27GUI%20-%20Access%20the%20playgroung%20element%27%20%27U8%20tool%20playground%20innerHTML%3A%20%27%27%3Ccenter%3EThis%20is%20my%20playground%20area.%3C/center%3E%27%27.%27%20%29%0D%0A%09%09%23%28%20%27GUI%20-%20Hide%20the%20playgroung%27%20%27U8%20tool%20playground%20style%20display%3A%20%23none.%27%20%29%0D%0A%09%09%23%28%20%27GUI%20-%20Show%20the%20playgroung%27%20%27U8%20tool%20playground%20style%20display%3A%20String%20new.%27%20%29%0D%0A%09%09%23%28%20%27DOM%20-%20Dynamically%20load%20a%20javascript%20file%20to%20this%20page%27%20%27DOM%20document%20addJavascript%3A%20jsUrl%20onLoad%3A%20%5B%20%23%20%23alert%3A%20%27%27Script%20loaded.%27%27%5D%27%20%29%0D%0A%09%09%23%28%20%27DOM%20-%20Dynamically%20load%20a%20cascaded%20styles%20sheet%27%20%27DOM%20document%20addCSS%3A%20cssURL%27%20%29%0D%0A%09%09%23%28%20%27jQuery%20-%20Dynamically%20load%20jQuery%5B1.7.1%5D%20support%20%28from%20Google%27%27s%20server%29%27%20%27DOM%20document%20addJavascript%3A%20%27%27http%3A//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js%27%27%20onLoad%3A%20%5B%20%23%20%23alert%3A%20%27%27jQuery%20loaded.%27%27%5D%27%20%29%0D%0A%09%09%23%28%20%27System%20-%20Snapshot%27%20%27Snapshot%20contents%27%20%29%0D%0A%09%09%23%28%20%27System%20-%20Contents%27%20%27Smalltalk%20current%20imageContents%27%20%29%0D%0A%09%29')); smalltalk.bind(smalltalk.U8.$klass,'initialCodeContents','initialCodeContents' ,function (){ var self=this; ((((smalltalk.U8.$klass.classVariableAt_("InitialCodeContents") || nil) === nil)).mustBeBoolean()==true ? (function(){return self.initializeInitialCodeContents();})() : nil); return smalltalk.U8.$klass.classVariableAt_("InitialCodeContents");return self;} ,'workspace',unescape('initialCodeContents%0D%0A%09%22%20Private%20-%20Initialize%20the%20initial%20contents%20of%20code%20pane.%20%22%0D%0A%0D%0A%09InitialCodeContents%20isNil%20ifTrue%3A%20%5B%20self%20initializeInitialCodeContents%20%5D.%0D%0A%09%5EInitialCodeContents')); smalltalk.bind(smalltalk.U8.$klass,'initialCodeContents:','initialCodeContents_' ,function (aString){ var self=this; smalltalk.U8.$klass.classVariableAt_put_("InitialCodeContents",aString);return self;} ,'workspace',unescape('initialCodeContents%3A%20aString%0D%0A%09%22%20Set%20the%20initial%20contents%20of%20code%20pane.%20%22%0D%0A%0D%0A%09InitialCodeContents%20%3A%3D%20aString')); smalltalk.bind(smalltalk.U8.$klass,'initializeInitialCodeContents','initializeInitialCodeContents' ,function (){ var self=this; self.initialCodeContents_(smalltalk.Smalltalk.at_ifAbsent_("U8Workspace", (function(){return unescape("%0D%0A%22This%20is%20your%20workspace%20panel%2C%0D%0A%20type%20the%20code%20to%20be%20evaluated%20here.%22%0D%0A%09Object%20selectors%20sorted%0D%0A%09");})));return self;} ,'workspace',unescape('initializeInitialCodeContents%0D%0A%09%22%20Private%20-%20Returns%20the%20initial%20contents%20of%20code%20pane.%20%22%0D%0A%0D%0A%09self%20initialCodeContents%3A%20%28Smalltalk%20at%3A%20%23U8Workspace%20ifAbsent%3A%20%5B%20%27%0D%0A%22This%20is%20your%20workspace%20panel%2C%0D%0A%20type%20the%20code%20to%20be%20evaluated%20here.%22%0D%0A%09Object%20selectors%20sorted%0D%0A%09%27%5D%29')); smalltalk.bind(smalltalk.U8,'home','home' ,function (){ var self=this; return unescape("http%3A//u8.smalltalking.net");return self;} ,'accessing',unescape('home%0D%0A%09%22%20Return%20the%20home%20address.%20%22%0D%0A%0D%0A%09%5E%27http%3A//u8.smalltalking.net%27')); smalltalk.bind(smalltalk.U8,'id','id' ,function (){ var self=this; return self['@id'];return self;} ,'accessing',unescape('id%0D%0A%09%22%20Return%20the%20id%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eid')); smalltalk.bind(smalltalk.U8,'id:','id_' ,function (aSymbol){ var self=this; self['@id']=aSymbol;return self;} ,'accessing',unescape('id%3A%20aSymbol%0D%0A%09%22%20Set%20the%20id%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09id%20%3A%3D%20aSymbol')); smalltalk.bind(smalltalk.U8,'useCache','useCache' ,function (){ var self=this; return true;return self;} ,'private',unescape('useCache%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20use%20internal%20cache.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.U8,'withOpenerDo:','withOpenerDo_' ,function (aBlock){ var self=this; var opener=nil; opener=smalltalk.DOM.window().opener(); return ((((opener || nil) !== nil)).mustBeBoolean()==true ? (function(){return aBlock.value_(opener);})() : nil);return self;} ,'private',unescape('withOpenerDo%3A%20aBlock%0D%0A%09%22%20Private%20-%20Evaluate%20aBlock%20with%20the%20opener%20service.%20%22%0D%0A%0D%0A%09%7C%20opener%20%7C%0D%0A%09opener%20%3A%3D%20DOM%20window%20opener.%0D%0A%09%5Eopener%20notNil%20ifTrue%3A%20%5B%20aBlock%20value%3A%20opener%20%5D')); smalltalk.bind(smalltalk.U8,'withContributionIdDo:','withContributionIdDo_' ,function (aBlock){ var self=this; try{ var anId=nil; self.withOpenerDo_((function(opener){anId=(opener.handle()["contributionId"] || nil);return ((((anId || nil) !== nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "withContributionIdDo_", fn: function(){return aBlock.value_(anId)}})})();})() : nil);})); (function(){throw({name: "stReturn", selector: "withContributionIdDo_", fn: function(){return nil}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "withContributionIdDo_"){return $$ex.fn();} throw($$ex);}} ,'private',unescape('withContributionIdDo%3A%20aBlock%0D%0A%09%22%20Private%20-%20Evaluate%20aBlock%20with%20the%20contributionId.%20%22%0D%0A%0D%0A%09%7C%20anId%20%7C%0D%0A%09self%20withOpenerDo%3A%20%5B%3Aopener%7C%0D%0A%09%09anId%20%3A%3D%20opener%20handle%20basicAt%3A%20%23contributionId.%0D%0A%09%09anId%20notNil%20ifTrue%3A%20%5B%20%5EaBlock%20value%3A%20anId%20%5D.%0D%0A%09%5D.%0D%0A%09%5Enil')); smalltalk.bind(smalltalk.U8,'hasContribution','hasContribution' ,function (){ var self=this; try{ self.withContributionIdDo_((function(anId){return (function(){throw({name: "stReturn", selector: "hasContribution", fn: function(){return anId.notEmpty()}})})();})); (function(){throw({name: "stReturn", selector: "hasContribution", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "hasContribution"){return $$ex.fn();} throw($$ex);}} ,'private',unescape('hasContribution%0D%0A%09%22%20Private%20-%20Return%20true%20if%20the%20receiver%20has%20the%20contributionId.%20%22%0D%0A%0D%0A%09self%20withContributionIdDo%3A%20%5B%3AanId%7C%20%5EanId%20notEmpty%20%5D.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.U8,'soleInstance','soleInstance' ,function (){ var self=this; return self.$klass.instances().size()._eq((1));return self;} ,'private',unescape('soleInstance%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20the%20only%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20class%20instances%20size%20%3D%201')); smalltalk.bind(smalltalk.U8,'widgets','widgets' ,function (){ var self=this; ((((self['@widgets'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self['@widgets']=smalltalk.Dictionary.$$new();})() : nil); return self['@widgets'];return self;} ,'private',unescape('widgets%0D%0A%09%22%20Private%20-%20Return%20the%20catched%20widgets%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09widgets%20isNil%20ifTrue%3A%20%5B%20widgets%20%3A%3D%20Dictionary%20new%20%5D.%0D%0A%09%5Ewidgets')); smalltalk.bind(smalltalk.U8,'withChildrenOf:do:','withChildrenOf_do_' ,function (aDOMElement,aBlock){ var self=this; aDOMElement.childNodesDo_((function(each){aBlock.value_(each);return self.withChildrenOf_do_(each, aBlock);}));return self;} ,'private',unescape('withChildrenOf%3A%20aDOMElement%20do%3A%20aBlock%0D%0A%09%22%20Private%20-%20Evaluate%20aBlock%20for%20children%20of%20aDOMElement%20recursivelly.%20%22%0D%0A%0D%0A%09aDOMElement%20childNodesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09aBlock%20value%3A%20each.%0D%0A%09%09self%20withChildrenOf%3A%20each%20do%3A%20aBlock.%0D%0A%09%5D')); smalltalk.bind(smalltalk.U8,'container','container' ,function (){ var self=this; return smalltalk.DOM.document().getElementById_(self.id());return self;} ,'private',unescape('container%0D%0A%09%22%20Private%20-%20Return%20the%20DOMElement%20containing%20the%20GUI%20of%20receiver.%20%22%0D%0A%0D%0A%09%5EDOM%20document%20getElementById%3A%20self%20id')); smalltalk.bind(smalltalk.U8,'widgetNamed:','widgetNamed_' ,function (aSymbol){ var self=this; try{ ((self.soleInstance()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "widgetNamed_", fn: function(){return smalltalk.DOM.document().getElementById_(aSymbol)}})})();})() : nil); self.withChildrenOf_do_(self.container(), (function(each){return ((aSymbol._eq(each.id())).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "widgetNamed_", fn: function(){return each}})})();})() : nil);})); (function(){throw({name: "stReturn", selector: "widgetNamed_", fn: function(){return self.error_(unescape("Missing%20widget%20named%20%23")._comma(aSymbol))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "widgetNamed_"){return $$ex.fn();} throw($$ex);}} ,'private',unescape('widgetNamed%3A%20aSymbol%0D%0A%09%22%20Private%20-%20Return%20the%20widget%20with%20id%20aSymbol%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20soleInstance%20ifTrue%3A%20%5B%20%22we%20use%20global%20lookup%20if%20possible%22%0D%0A%09%09%5EDOM%20document%20getElementById%3A%20aSymbol%0D%0A%09%5D.%0D%0A%09self%20withChildrenOf%3A%20self%20container%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09aSymbol%20%3D%20each%20id%20ifTrue%3A%20%5B%20%5Eeach%20%5D.%0D%0A%09%5D.%0D%0A%09%5Eself%20error%3A%20%27Missing%20widget%20named%20%23%27%2CaSymbol%20')); smalltalk.bind(smalltalk.U8,'@','_at' ,function (aSymbol){ var self=this; try{ ((self.useCache()).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "_at", fn: function(){return self.widgetNamed_(aSymbol)}})})();})()); (function(){throw({name: "stReturn", selector: "_at", fn: function(){return self.widgets().at_ifAbsentPut_(aSymbol, (function(){return self.widgetNamed_(aSymbol);}))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_at"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('@%20aSymbol%0D%0A%09%22%20Private%20-%20Return%20the%20HTML%20element%20with%20id%20aSymbol%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20useCache%20ifFalse%3A%20%5B%20%5Eself%20widgetNamed%3A%20aSymbol%20%5D.%0D%0A%09%5Eself%20widgets%20at%3A%20aSymbol%20ifAbsentPut%3A%20%5B%20self%20widgetNamed%3A%20aSymbol%20%5D')); smalltalk.bind(smalltalk.U8,'playground','playground' ,function (){ var self=this; return self._at("playground");return self;} ,'private',unescape('playground%0D%0A%09%22%20Private%20-%20Return%20the%20DOMElement%20for%20playground%20embedding.%20%22%0D%0A%0D%0A%09%5Eself%20@%20%23playground')); smalltalk.bind(smalltalk.U8,'showLicense','showLicense' ,function (){ var self=this; (function(){return self._at("license").innerHTML_(unescape("%3Cpre%3E")._comma(smalltalk.Smalltalk.current().licenseTerms())._comma(unescape("%3C/pre%3E%0D%0A%09%3Cbr%3E%3Cb%3ENote%3A%3C/b%3E%20To%20change%20this%20text%20edit%20the%20methods%20at%20Smalltalk%23license...%0D%0A%09%3Cbr%3E%3Ca%20href%3D%22"))._comma(self.home())._comma(unescape("/termsOfUse.aspx%22%20target%3D%22U8tou%22%3EPlease%20read%20the%20terms%20of%20use%20before%20saving%20this%20image.%3C/a%3E")));}).on_do_(smalltalk.Error, (function(){return self.show_("MIT Licensed");}));return self;} ,'private',unescape('showLicense%0D%0A%09%22%20Private%20-%20Show%20the%20license%20terms.%20%22%0D%0A%0D%0A%09%5B%20self%20@%20%23license%20innerHTML%3A%20%27%3Cpre%3E%27%2CSmalltalk%20current%20licenseTerms%2C%27%3C/pre%3E%0D%0A%09%3Cbr%3E%3Cb%3ENote%3A%3C/b%3E%20To%20change%20this%20text%20edit%20the%20methods%20at%20Smalltalk%23license...%0D%0A%09%3Cbr%3E%3Ca%20href%3D%22%27%2Cself%20home%2C%27/termsOfUse.aspx%22%20target%3D%22U8tou%22%3EPlease%20read%20the%20terms%20of%20use%20before%20saving%20this%20image.%3C/a%3E%27%0D%0A%09%5D%20on%3A%20Error%20do%3A%20%5B%20self%20show%3A%20%27MIT%20Licensed%27%20%5D.')); smalltalk.bind(smalltalk.U8,'install','install' ,function (){ var self=this; self.container().innerHTML_(self.html()); self.open();return self;} ,'startup',unescape('install%0D%0A%09%22%20Install%20the%20receiver%20in%20element%20with%20id.%20%22%0D%0A%0D%0A%09self%20container%20innerHTML%3A%20self%20html.%0D%0A%09self%20open.')); smalltalk.bind(smalltalk.U8,'html','html' ,function (){ var self=this; return self.saveImageHTML()._comma(self.workspaceHTML())._comma(self.quickViewHTML())._comma(self.transcriptHTML());return self;} ,'gui',unescape('html%0D%0A%09%22%20Return%20the%20HTML%20code%20for%20widgets%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20saveImageHTML%0D%0A%09%09%2Cself%20workspaceHTML%0D%0A%09%09%2Cself%20quickViewHTML%0D%0A%09%09%2Cself%20transcriptHTML')); smalltalk.bind(smalltalk.U8,'reference','reference' ,function (){ var self=this; return unescape("%28U8%20@%20%23")._comma(self.id().asString())._comma(unescape("%29%20"));return self;} ,'gui',unescape('reference%0D%0A%09%22%20Private%20-%20Self%20reference.%20%22%0D%0A%0D%0A%09%5E%27%28U8%20@%20%23%27%2Cself%20id%20asString%2C%27%29%20%27')); smalltalk.bind(smalltalk.U8,'with:event:do:','with_event_do_' ,function (anID,eventName,aString){ var self=this; var element=nil; element=self._at(anID).handle(); element[eventName]=self.scriptSending_(aString);return self;} ,'gui',unescape('with%3A%20anID%20event%3A%20eventName%20do%3A%20aString%0D%0A%09%22%20Private%20-%20Evaluate%20code%20in%20aString%20on%20HTML%20event%20named%20eventName%20triggered%20by%20aDOMElement.%20%22%0D%0A%0D%0A%22Do%20NOT%20work%20on%20IE%20-%20See%20https%3A//developer.mozilla.org/en/DOM/element.addEventListener%0D%0A%09self%20@%20anID%0D%0A%09%09setAttribute%3A%20eventName%0D%0A%09%09to%3A%20%28self%20codeSending%3A%20aString%29.%0D%0AWe%20use%20OLD%20mechanism%20to%20set%20handler.%0D%0A%22%09%7C%20element%20%7C%0D%0A%09element%20%3A%3D%20%28self%20@%20anID%29%20handle.%0D%0A%09element%5BeventName%5D%20%3A%3D%20%28self%20scriptSending%3A%20aString%29.%20')); smalltalk.bind(smalltalk.U8,'open','open' ,function (){ var self=this; self.initializeWorkspace(); self.initializeQuickView(); self.updateQuickView(); self.initializeSaveImage(); (function(aString){return (function(){return self.show_(aString);}).on_do_(smalltalk.Error, (function(err){return self.show_(err);}));}).installAs_("print"); self.showLicense(); self.print_(self.reference()._comma(unescape("Installed%21")));return self;} ,'gui',unescape('open%0D%0A%09%22%20Open%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20initializeWorkspace.%0D%0A%09self%20initializeQuickView.%0D%0A%09self%20updateQuickView.%0D%0A%09self%20initializeSaveImage.%09%09%0D%0A%09%5B%3AaString%7C%20%5B%20self%20show%3A%20aString%20%5D%20on%3A%20Error%20do%3A%20%5B%3Aerr%7C%20self%20show%3A%20err%20%5D%20%5D%20installAs%3A%20%23print.%0D%0A%09self%20showLicense.%0D%0A%09self%20print%3A%20self%20reference%2C%27Installed%21%27.')); smalltalk.bind(smalltalk.U8,'show:','show_' ,function (aString){ var self=this; try{ var element=nil; var maxSize=nil; var stream=nil; var newLine=nil; var old=nil; element=self._at("transcriptView"); ((((aString || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "show_", fn: function(){return element.innerHTML_("")}})})();})() : nil); maxSize=((1024) * (2)); newLine=unescape("%3Cbr%20/%3E"); old=element.innerHTML(); ((old.size()._gt(maxSize)).mustBeBoolean()==true ? (function(){stream=old.copyFrom_to_((old.size()._minus(maxSize) + (1)), old.size()).stream();return old="..."._comma((function($rec){$rec.upTo_(newLine);return $rec.upTo_(smalltalk.Object.$$new());})(stream));})() : nil); element.innerHTML_(old._comma(newLine)._comma(aString));return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "show_"){return $$ex.fn();} throw($$ex);}} ,'transcript',unescape('show%3A%20aString%0D%0A%09%22%20Output%20aString%20on%20transcript.%20%22%0D%0A%0D%0A%09%7C%20element%20maxSize%20stream%20newLine%20old%20%7C%0D%0A%09element%20%3A%3D%20self%20@%20%23transcriptView.%0D%0A%09aString%20isNil%20ifTrue%3A%20%5B%20%5Eelement%20innerHTML%3A%20%27%27%20%5D.%0D%0A%09maxSize%20%3A%3D%201024%20*%202.%0D%0A%09newLine%20%3A%3D%20%27%3Cbr%20/%3E%27.%0D%0A%09old%20%3A%3D%20element%20innerHTML.%0D%0A%09old%20size%20%3E%20maxSize%20ifTrue%3A%20%5B%0D%0A%09%09stream%20%3A%3D%20%28old%20copyFrom%3A%20old%20size%20-%20maxSize%20+%201%20to%3A%20old%20size%29%20stream.%0D%0A%09%09old%20%3A%3D%20%27...%27%2C%28stream%20upTo%3A%20newLine%3B%20upTo%3A%20Object%20new%29.%0D%0A%09%5D.%0D%0A%09element%20innerHTML%3A%20old%20%2CnewLine%20%2CaString.')); smalltalk.bind(smalltalk.U8,'clearTranscript','clearTranscript' ,function (){ var self=this; return self.show_(nil);return self;} ,'transcript',unescape('clearTranscript%0D%0A%09%22%20Clear%20the%20transcript%20view.%20%22%0D%0A%0D%0A%09%5Eself%20show%3A%20nil')); smalltalk.bind(smalltalk.U8,'codeSending:to:','codeSending_to_' ,function (messageString,aReceiverString){ var self=this; return unescape("%27")._comma(aReceiverString)._comma(messageString)._comma(unescape("%27"))._comma(unescape(".doIt%28%29"));return self;} ,'quickView',unescape('codeSending%3A%20messageString%20to%3A%20aReceiverString%0D%0A%09%22%20Private%20-%20Return%20the%20script%20code%20to%20route%20message%20aReceiverString.%20%22%0D%0A%0D%0A%09%5E%24%27%20%2CaReceiverString%20%2CmessageString%20%2C%24%27%20%2C%27.doIt%28%29%27')); smalltalk.bind(smalltalk.U8,'codeSending:','codeSending_' ,function (messageString){ var self=this; return self.codeSending_to_(messageString, self.reference());return self;} ,'quickView',unescape('codeSending%3A%20messageString%0D%0A%09%22%20Private%20-%20Return%20the%20script%20code%20to%20route%20message%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20codeSending%3A%20messageString%20to%3A%20self%20reference')); smalltalk.bind(smalltalk.U8,'scriptSending:','scriptSending_' ,function (messageString){ var self=this; return unescape("%5B")._comma(self.reference())._comma(messageString)._comma(unescape("%5D")).doIt();return self;} ,'quickView',unescape('scriptSending%3A%20messageString%0D%0A%09%22%20Private%20-%20Return%20the%20script%20code%20to%20route%20message%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%28%27%5B%27%20%2Cself%20reference%20%2CmessageString%20%2C%27%5D%27%29%20doIt')); smalltalk.bind(smalltalk.U8,'updateClassList','updateClassList' ,function (){ var self=this; var list=nil; var mask=nil; var names=nil; var options=nil; list=self._at("classList"); mask=self._at("classMask").value(); list.removeAll(); names=smalltalk.Smalltalk.current().classes().collect_((function(each){return each.name();})); ((((mask || nil) !== nil)).mustBeBoolean()==true ? (function(){return names=names.select_((function(each){return each.match_(mask);}));})() : nil); options=[unescape("%22%5BU8%5D--class%20selector--%22")]._comma(names.sorted()).collect_((function(each){return smalltalk.DOMOption.text_value_(each, each);})); options.do_((function(option){return list.add_(option);}));return self;} ,'quickView',unescape('updateClassList%0D%0A%09%22%20Private%20-%20Update%20the%20class%20view%20widget.%20%22%0D%0A%0D%0A%09%7C%20list%20mask%20names%20options%20%7C%0D%0A%09list%20%3A%3D%20self%20@%20%23classList.%0D%0A%09mask%20%3A%3D%20%28self%20@%20%23classMask%29%20value.%0D%0A%09list%20removeAll.%0D%0A%09names%20%3A%3D%20Smalltalk%20current%20classes%20collect%3A%20%5B%3Aeach%7C%20each%20name%20%5D.%0D%0A%09mask%20notNil%20ifTrue%3A%20%5B%20names%20%3A%3D%20names%20select%3A%20%5B%3Aeach%7C%20each%20match%3A%20mask%20%5D%20%5D.%0D%0A%09options%20%3A%3D%20%23%28%20%27%22%5BU8%5D--class%20selector--%22%27%20%29%20%2C%20names%20sorted%0D%0A%09%09collect%3A%20%5B%3Aeach%7C%20DOMOption%20text%3A%20each%20value%3A%20each%20%5D.%0D%0A%09options%20do%3A%20%5B%3Aoption%7C%20list%20add%3A%20option%20%5D.')); smalltalk.bind(smalltalk.U8,'updateMethodList','updateMethodList' ,function (){ var self=this; try{ var list=nil; var option=nil; var aClass=nil; var mask=nil; var addItem=nil; var addSelectors=nil; var selection=nil; list=self._at("classList"); option=list.selectedOption(); ((((option || nil) === nil).or_((function(){aClass=option.value().doIt();return ((aClass || nil) === nil);}))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "updateMethodList", fn: function(){return self._at("methodList").removeAll()}})})();})() : nil); mask=self._at("methodMask").value(); list=self._at("methodList"); list.removeAll(); addItem=(function(what){return list.add_(smalltalk.DOMOption.text_value_(what, what));}); addSelectors=(function(cls, title){selection=((((mask || nil) === nil)).mustBeBoolean()==true ? (function(){return cls.selectors();})() : (function(){return cls.selectors().select_((function(each){return each.match_(mask);}));})());return ((selection.notEmpty()).mustBeBoolean()==true ? (function(){addItem.value_(title);return selection.sorted().do_((function(selector){return addItem.value_(cls.name()._comma(unescape("%3E%3E%23"))._comma(selector));}));})() : nil);}); addItem.value_(unescape("%22")._comma(aClass.name())._comma(unescape("...%22"))); addItem.value_(aClass.name()._comma(unescape("%22%20--%20fileOut%20--%20%22"))); ((aClass.allSuperclasses().notEmpty()).mustBeBoolean()==true ? (function(){addItem.value_(unescape("%22--superclasses--%22"));return aClass.allSuperclasses().do_((function(each){return addItem.value_(each.name());}));})() : nil); (function($rec){$rec.value_value_(aClass, unescape("%22--%20instance%20methods%20--%22"));return $rec.value_value_(aClass.$klass, unescape("%22--%20class%20methods%20--%22"));})(addSelectors); ((aClass.subclasses().notEmpty()).mustBeBoolean()==true ? (function(){addItem.value_(unescape("%22--subclasses--%22"));return aClass.subclasses().do_((function(each){return addItem.value_(each.name());}));})() : nil);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "updateMethodList"){return $$ex.fn();} throw($$ex);}} ,'quickView',unescape('updateMethodList%0D%0A%09%22%20Private%20-%20Update%20the%20methods%20view%20widget.%20%22%0D%0A%0D%0A%09%7C%20list%20option%20aClass%20mask%20addItem%20addSelectors%20selection%20%7C%0D%0A%09list%20%3A%3D%20self%20@%20%23classList.%0D%0A%09option%20%3A%3D%20list%20selectedOption.%0D%0A%09%28option%20isNil%20or%3A%20%5B%0D%0A%09%09aClass%20%3A%3D%20option%20value%20doIt.%20aClass%20isNil%20%5D%29%0D%0A%09%09ifTrue%3A%20%5B%20%5E%28self%20@%20%23methodList%29%20removeAll%20%5D.%0D%0A%09mask%20%3A%3D%20%28self%20@%20%23methodMask%29%20value.%0D%0A%09list%20%3A%3D%20self%20@%20%23methodList.%0D%0A%09list%20removeAll.%0D%0A%09addItem%20%3A%3D%20%5B%3Awhat%7C%20list%20add%3A%20%28DOMOption%20text%3A%20what%20value%3A%20what%29%20%5D.%0D%0A%09addSelectors%20%3A%3D%20%5B%3Acls%20%3Atitle%7C%0D%0A%09%09selection%20%3A%3D%20mask%20isNil%20ifTrue%3A%20%5B%20cls%20selectors%20%5D%20ifFalse%3A%20%5B%0D%0A%09%09%09cls%20selectors%20select%3A%20%5B%3Aeach%7C%20each%20match%3A%20mask%20%5D.%0D%0A%09%09%5D.%0D%0A%09%09selection%20notEmpty%20ifTrue%3A%20%5B%0D%0A%09%09%09addItem%20value%3A%20title.%0D%0A%09%09%09selection%20sorted%20do%3A%20%5B%3Aselector%7C%0D%0A%09%09%09%09addItem%20value%3A%20cls%20name%20%2C%27%3E%3E%23%27%20%2Cselector%0D%0A%09%09%09%5D.%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09addItem%20value%3A%20%27%22%27%2CaClass%20name%2C%27...%22%27.%0D%0A%09addItem%20value%3A%20aClass%20name%2C%27%22%20--%20fileOut%20--%20%22%27.%0D%0A%09aClass%20allSuperclasses%20notEmpty%20ifTrue%3A%20%5B%0D%0A%09%09addItem%20value%3A%20%27%22--superclasses--%22%27.%0D%0A%09%09aClass%20allSuperclasses%20do%3A%20%5B%3Aeach%7C%20addItem%20value%3A%20each%20name%20%5D.%0D%0A%09%5D.%0D%0A%09addSelectors%0D%0A%09%09value%3A%20aClass%20value%3A%20%27%22--%20instance%20methods%20--%22%27%3B%0D%0A%09%09value%3A%20aClass%20class%20value%3A%20%27%22--%20class%20methods%20--%22%27.%0D%0A%09aClass%20subclasses%20notEmpty%20ifTrue%3A%20%5B%0D%0A%09%09addItem%20value%3A%20%27%22--subclasses--%22%27.%0D%0A%09%09aClass%20subclasses%20do%3A%20%5B%3Aeach%7C%20addItem%20value%3A%20each%20name%20%5D.%0D%0A%09%5D.')); smalltalk.bind(smalltalk.U8,'quickFileOutClassNamed:','quickFileOutClassNamed_' ,function (className){ var self=this; try{ var sourceCode=nil; ((((className || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "quickFileOutClassNamed_", fn: function(){return self}})})();})() : nil); sourceCode="Exporter new fileOut: "._comma(className); (function($rec){$rec.value_(sourceCode);$rec.value_(sourceCode.doIt());return $rec.yourself();})(self._at("result"));return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "quickFileOutClassNamed_"){return $$ex.fn();} throw($$ex);}} ,'quickView',unescape('quickFileOutClassNamed%3A%20className%0D%0A%09%22%20FileOut%20smalltalk%20code%20of%20class%20named%20className.%20%22%0D%0A%0D%0A%09%7C%20sourceCode%20%7C%0D%0A%09className%20isNil%20ifTrue%3A%20%5B%20%5Eself%20%5D.%0D%0A%09sourceCode%20%3A%3D%20%27Exporter%20new%20fileOut%3A%20%27%20%2CclassName.%0D%0A%09%28self%20@%20%23result%29%0D%0A%09%09value%3A%20sourceCode%3B%0D%0A%09%09value%3A%20sourceCode%20doIt%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.U8,'quickFileOutMethod:','quickFileOutMethod_' ,function (spec){ var self=this; try{ var what=nil; ((((spec || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "quickFileOutMethod_", fn: function(){return self}})})();})() : nil); what=spec.doIt(); ((((what || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "quickFileOutMethod_", fn: function(){return self}})})();})() : nil); ((what.isClass()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "quickFileOutMethod_", fn: function(){return self.quickFileOutClassNamed_(spec)}})})();})() : nil); sourceCode=unescape("Exporter%20new%20fileOutMethod%3A%20%28")._comma(spec)._comma(unescape("%29%20of%3A%20"))._comma(spec.upTo_(unescape("%3E"))); (function($rec){$rec.value_(sourceCode);$rec.value_(sourceCode.doIt());return $rec.yourself();})(self._at("result"));return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "quickFileOutMethod_"){return $$ex.fn();} throw($$ex);}} ,'quickView',unescape('quickFileOutMethod%3A%20spec%0D%0A%09%22%20FileOut%20smalltalk%20code%20of%20method%20in%20spec%20string.%20%22%0D%0A%0D%0A%09%7C%20what%20%7C%0D%0A%09spec%20isNil%20ifTrue%3A%20%5B%20%5Eself%20%5D.%0D%0A%09what%20%3A%3D%20spec%20doIt.%0D%0A%09what%20isNil%20ifTrue%3A%20%5B%20%5Eself%20%5D.%0D%0A%09what%20isClass%20ifTrue%3A%20%5B%20%5Eself%20quickFileOutClassNamed%3A%20spec%20%5D.%0D%0A%09sourceCode%20%3A%3D%20%27Exporter%20new%20fileOutMethod%3A%20%28%27%20%2Cspec%20%2C%27%29%20of%3A%20%27%20%2C%28spec%20upTo%3A%20%24%3E%29.%0D%0A%09%28self%20@%20%23result%29%0D%0A%09%09value%3A%20sourceCode%3B%0D%0A%09%09value%3A%20sourceCode%20doIt%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.U8,'classListUpdate','classListUpdate' ,function (){ var self=this; var option=nil; option=self._at("classList").selectedOption(); ((((option || nil) !== nil)).mustBeBoolean()==true ? (function(){return nil;})() : nil); self.updateMethodList();return self;} ,'quickView',unescape('classListUpdate%0D%0A%09%22%20The%20classList%20has%20changed%2C%20update%20GUI%20reflecting%20change.%20%22%0D%0A%0D%0A%09%7C%20option%20%7C%0D%0A%09option%20%3A%3D%20%28self%20@%20%23classList%29%20selectedOption.%0D%0A%09option%20notNil%20ifTrue%3A%20%5B%20%22self%20quickFileOutClassNamed%3A%20option%20value%22%20%5D.%0D%0A%09self%20updateMethodList.')); smalltalk.bind(smalltalk.U8,'methodListUpdate','methodListUpdate' ,function (){ var self=this; var option=nil; option=self._at("methodList").selectedOption(); ((((option || nil) !== nil)).mustBeBoolean()==true ? (function(){return self.quickFileOutMethod_(option.value());})() : nil);return self;} ,'quickView',unescape('methodListUpdate%0D%0A%09%22%20The%20methodList%20has%20changed%2C%20update%20GUI%20reflecting%20change.%20%22%0D%0A%0D%0A%09%7C%20option%20%7C%0D%0A%09option%20%3A%3D%20%28self%20@%20%23methodList%29%20selectedOption.%0D%0A%09option%20notNil%20ifTrue%3A%20%5B%20self%20quickFileOutMethod%3A%20option%20value%20%5D.')); smalltalk.bind(smalltalk.U8,'updateQuickView','updateQuickView' ,function (){ var self=this; (function($rec){$rec.updateClassList();$rec.updateMethodList();return $rec.yourself();})(self);return self;} ,'quickView',unescape('updateQuickView%0D%0A%09%22%20Fill%20the%20QuickView%20widgets.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09updateClassList%3B%0D%0A%09%09updateMethodList%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.U8,'initializeQuickView','initializeQuickView' ,function (){ var self=this; self.with_event_do_("transcriptReset", "onclick", "clearTranscript"); self.with_event_do_("classMask", "onchange", "updateQuickView"); self.with_event_do_("classMaskChanged", "onclick", "updateQuickView"); self.with_event_do_("classList", "onchange", "classListUpdate"); self.with_event_do_("methodMask", "onchange", "updateMethodList"); self.with_event_do_("methodMaskChanged", "onclick", "updateMethodList"); self.with_event_do_("methodList", "onchange", "methodListUpdate");return self;} ,'quickView',unescape('initializeQuickView%0D%0A%09%22%20Private%20-%20Initialize%20the%20QuickView%20widgets.%20%22%0D%0A%0D%0A%09self%20with%3A%20%23transcriptReset%20event%3A%20%27onclick%27%20do%3A%20%23clearTranscript.%0D%0A%09self%20with%3A%20%23classMask%20event%3A%20%27onchange%27%20do%3A%20%23updateQuickView.%0D%0A%09self%20with%3A%20%23classMaskChanged%20event%3A%20%27onclick%27%20do%3A%20%23updateQuickView.%0D%0A%09self%20with%3A%20%23classList%20event%3A%20%27onchange%27%20do%3A%20%23classListUpdate.%0D%0A%09self%20with%3A%20%23methodMask%20event%3A%20%27onchange%27%20do%3A%20%23updateMethodList.%0D%0A%09self%20with%3A%20%23methodMaskChanged%20event%3A%20%27onclick%27%20do%3A%20%23updateMethodList.%0D%0A%09self%20with%3A%20%23methodList%20event%3A%20%27onchange%27%20do%3A%20%23methodListUpdate.')); smalltalk.bind(smalltalk.U8,'saveImage','saveImage' ,function (){ var self=this; var req=nil; var params=nil; (function($rec){$rec.clearTranscript();return $rec.show_(unescape("%3Cdiv%3ESaving%20Image...%3C/div%3E"));})(self); smalltalk.Smalltalk.at_put_("U8Contribution", self._at("title").value()); smalltalk.Smalltalk.at_put_("U8ContributionURL", smalltalk.DOM.document().url()); smalltalk.Smalltalk.at_put_("U8Workspace", self._at("code").value()); req=smalltalk.XMLHttpRequest.$$new(); req.open_url_async_("POST", unescape("../../../saveImage.ashx"), false); params=unescape("contributionId%3D")._comma(self._at("contributionId").value())._comma(unescape("%26image%3D"))._comma(smalltalk.Snapshot.contents().asEncodedURI()); req.setRequestHeader_to_(unescape("Content-type"), unescape("application/x-www-form-urlencoded")); req.setRequestHeader_to_(unescape("Content-length"), params.size()); req.setRequestHeader_to_("Connection", "close"); req.send_(params); self.show_(unescape("%3Cdiv%3E")._comma(req.responseText())._comma(unescape("%3C/div%3E")));return self;} ,'workspace',unescape('saveImage%0D%0A%09%22%20Save%20image%20contents.%20%22%0D%0A%09%0D%0A%09%7C%20req%20params%20%7C%0D%0A%09%0D%0A%09self%20clearTranscript%3B%20show%3A%20%27%3Cdiv%3ESaving%20Image...%3C/div%3E%27.%0D%0A%09%0D%0A%09Smalltalk%20at%3A%20%23U8Contribution%20put%3A%20%28self%20@%20%23title%29%20value.%0D%0A%09Smalltalk%20at%3A%20%23U8ContributionURL%20put%3A%20DOM%20document%20url.%0D%0A%09Smalltalk%20at%3A%20%23U8Workspace%20put%3A%20%28self%20@%20%23code%29%20value.%0D%0A%09%0D%0A%09req%20%3A%3D%20XMLHttpRequest%20new.%0D%0A%09req%20open%3A%20%23POST%20url%3A%20%27../../../saveImage.ashx%27%20async%3A%20false.%0D%0A%09params%20%3A%3D%20%27contributionId%3D%27%2C%20%28self%20@%20%23contributionId%29%20value%2C%20%27%26image%3D%27%2C%20Snapshot%20contents%20asEncodedURI.%0D%0A%09req%20setRequestHeader%3A%20%27Content-type%27%20to%3A%20%27application/x-www-form-urlencoded%27.%0D%0A%09req%20setRequestHeader%3A%20%27Content-length%27%20to%3A%20params%20size.%0D%0A%09req%20setRequestHeader%3A%20%27Connection%27%20to%3A%20%27close%27.%0D%0A%09req%20send%3A%20params.%0D%0A%0D%0A%09self%20show%3A%20%27%3Cdiv%3E%27%2C%20req%20responseText%2C%20%27%3C/div%3E%27.')); smalltalk.bind(smalltalk.U8,'save','save' ,function (){ var self=this; self.saveImage();return self;} ,'workspace',unescape('save%0D%0A%09%22%20Save%20image%20contents.%20%22%0D%0A%0D%0A%09self%20saveImage')); smalltalk.bind(smalltalk.U8,'saveAndQuit','saveAndQuit' ,function (){ var self=this; self.saveImage(); self.quit();return self;} ,'workspace',unescape('saveAndQuit%0D%0A%09%22%20Save%20image%20contents%20and%20quit.%20%22%0D%0A%09%0D%0A%09self%20saveImage.%0D%0A%09self%20quit')); smalltalk.bind(smalltalk.U8,'quit','quit' ,function (){ var self=this; (function($rec){$rec.clearTranscript();$rec.show_(unescape("%3Ch1%3EThank%20you%20for%20%3Ca%20href%3D%22")._comma(self.home())._comma(unescape("%22%3Eworking%20with%20U8%3C/a%3E%21%3C/h1%3E")));return $rec.yourself();})(self); smalltalk.DOM.window().close();return self;} ,'workspace',unescape('quit%0D%0A%09%22%20Save%20image%20contents%20and%20quit.%20%22%0D%0A%0D%0A%09self%0D%0A%09%09clearTranscript%3B%0D%0A%09%09show%3A%20%27%3Ch1%3EThank%20you%20for%20%3Ca%20href%3D%22%27%2Cself%20home%2C%27%22%3Eworking%20with%20U8%3C/a%3E%21%3C/h1%3E%27%3B%0D%0A%09%09yourself.%0D%0A%09DOM%20window%20close.')); smalltalk.bind(smalltalk.U8,'showIt','showIt' ,function (){ var self=this; self._at("result").value_(self._at("code").value().doIt());return self;} ,'workspace',unescape('showIt%0D%0A%09%22%20Evaluate%20contents%20of%20code%20pane.%20%22%0D%0A%0D%0A%09%28self%20@%20%23result%29%20value%3A%20%28self%20@%20%23code%29%20value%20doIt')); smalltalk.bind(smalltalk.U8,'fileItIn','fileItIn' ,function (){ var self=this; self._at("result").value_(self._at("code").value().fileIn());return self;} ,'workspace',unescape('fileItIn%0D%0A%09%22%20FileIn%20contents%20of%20code%20pane.%20%22%0D%0A%0D%0A%09%28self%20@%20%23result%29%20value%3A%20%28self%20@%20%23code%29%20value%20fileIn')); smalltalk.bind(smalltalk.U8,'evalIt','evalIt' ,function (){ var self=this; self._at("result").value_(eval(self._at("code").value()));return self;} ,'workspace',unescape('evalIt%0D%0A%09%22%20Evaluate%20%28javascript%29%20contents%20of%20code%20pane.%20%22%0D%0A%0D%0A%09%28self%20@%20%23result%29%20value%3A%20%28%23%20%23eval%3A%20%28self%20@%20%23code%29%20value%29')); smalltalk.bind(smalltalk.U8,'frequentSelectorChanged','frequentSelectorChanged' ,function (){ var self=this; var option=nil; option=self._at("frequentSelector").selectedOption(); ((((option || nil) !== nil)).mustBeBoolean()==true ? (function(){return self._at("code").value_(option.value());})() : nil);return self;} ,'workspace',unescape('frequentSelectorChanged%0D%0A%09%22%20The%20user%20selected%20an%20item%20of%20frequent%20expressions.%20%22%0D%0A%0D%0A%09%7C%20option%20%7C%0D%0A%09option%20%3A%3D%20%28self%20@%20%23frequentSelector%29%20selectedOption.%0D%0A%09option%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09%28self%20@%20%23code%29%20value%3A%20option%20value%0D%0A%09%5D')); smalltalk.bind(smalltalk.U8,'initializeWorkspace','initializeWorkspace' ,function (){ var self=this; var frequent=nil; self.with_event_do_("showIt", "onclick", "showIt"); self.with_event_do_("fileItIn", "onclick", "fileItIn"); self.with_event_do_("evalIt", "onclick", "evalIt"); self.with_event_do_("frequentSelector", "onchange", "frequentSelectorChanged"); frequent=self._at("frequentSelector"); self.$klass.commonExpressions().do_((function(tuple){return frequent.add_(smalltalk.DOMOption.text_value_(tuple.first(), tuple.last()));}));return self;} ,'workspace',unescape('initializeWorkspace%0D%0A%09%22%20Private%20-%20Initialize%20the%20workspace%20widgets.%20%22%0D%0A%0D%0A%09%7C%20frequent%20%7C%0D%0A%09self%20with%3A%20%23showIt%20event%3A%20%27onclick%27%20do%3A%20%23showIt.%0D%0A%09self%20with%3A%20%23fileItIn%20event%3A%20%27onclick%27%20do%3A%20%23fileItIn.%0D%0A%09self%20with%3A%20%23evalIt%20event%3A%20%27onclick%27%20do%3A%20%23evalIt.%0D%0A%0D%0A%09self%20with%3A%20%23frequentSelector%20event%3A%20%27onchange%27%20do%3A%20%23frequentSelectorChanged.%0D%0A%09frequent%20%3A%3D%20self%20@%20%23frequentSelector.%0D%0A%09self%20class%20commonExpressions%20do%3A%20%5B%3Atuple%7C%0D%0A%09%09frequent%20add%3A%20%28DOMOption%20text%3A%20tuple%20first%20value%3A%20tuple%20last%29%0D%0A%09%5D.')); smalltalk.bind(smalltalk.U8,'quickViewHTML','quickViewHTML' ,function (){ var self=this; return unescape("%0D%0A%3Cform%20name%3D%22quickView%22%3E%0D%0A%09%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cfont%20size%3D+2%3E%0D%0A%09%3Ctextarea%20id%3D%22classMask%22%20rows%3D1%20cols%3D7%3E%3C/textArea%3E%0D%0A%09%3Cinput%20type%3D%22button%22%20id%3D%22classMaskChanged%22%20value%3D%22%3E%3E%22%3E%0D%0A%09%3Cselect%20id%3D%22classList%22%20size%3D1%3E%3C/select%3E%0D%0A%09%3C/font%3E%3C/td%3E%3Ctd%3E%3Cfont%20size%3D+2%3E%0D%0A%09%3Ctextarea%20id%3D%22methodMask%22%20rows%3D1%20cols%3D7%3E%3C/textArea%3E%0D%0A%09%3Cinput%20type%3D%22button%22%20id%3D%22methodMaskChanged%22%20value%3D%22%3E%3E%22%3E%0D%0A%09%3Cselect%20id%3D%22methodList%22%20size%3D1%3E%0D%0A%09%3C/select%3E%0D%0A%09%3C/font%3E%3C/td%3E%3C/tr%3E%3C/table%3E%0D%0A%3C/form%3E");return self;} ,'views',unescape('quickViewHTML%0D%0A%09%22%20Private%20-%20Return%20the%20HTML%20code%20for%20workspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27%0D%0A%3Cform%20name%3D%22quickView%22%3E%0D%0A%09%3Ctable%3E%3Ctr%3E%3Ctd%3E%3Cfont%20size%3D+2%3E%0D%0A%09%3Ctextarea%20id%3D%22classMask%22%20rows%3D1%20cols%3D7%3E%3C/textArea%3E%0D%0A%09%3Cinput%20type%3D%22button%22%20id%3D%22classMaskChanged%22%20value%3D%22%3E%3E%22%3E%0D%0A%09%3Cselect%20id%3D%22classList%22%20size%3D1%3E%3C/select%3E%0D%0A%09%3C/font%3E%3C/td%3E%3Ctd%3E%3Cfont%20size%3D+2%3E%0D%0A%09%3Ctextarea%20id%3D%22methodMask%22%20rows%3D1%20cols%3D7%3E%3C/textArea%3E%0D%0A%09%3Cinput%20type%3D%22button%22%20id%3D%22methodMaskChanged%22%20value%3D%22%3E%3E%22%3E%0D%0A%09%3Cselect%20id%3D%22methodList%22%20size%3D1%3E%0D%0A%09%3C/select%3E%0D%0A%09%3C/font%3E%3C/td%3E%3C/tr%3E%3C/table%3E%0D%0A%3C/form%3E%27')); smalltalk.bind(smalltalk.U8,'initializeSaveImage','initializeSaveImage' ,function (){ var self=this; self.withOpenerDo_((function(opener){self.withContributionIdDo_((function(anId){return self._at("contributionId").value_(anId);}));self._at("title").value_((opener.handle()["title"] || nil));self.with_event_do_("saveImage", "onclick", "save");return self.with_event_do_("saveAndQuit", "onclick", "saveAndQuit");})); self.with_event_do_("quit", "onclick", "quit");return self;} ,'workspace',unescape('initializeSaveImage%0D%0A%09%22%20Private%20-%20Initialize%20the%20save%20image%20widgets.%20%22%0D%0A%0D%0A%09self%20withOpenerDo%3A%20%5B%3Aopener%7C%0D%0A%09%09self%20withContributionIdDo%3A%20%5B%3AanId%7C%20%28self%20@%20%23contributionId%29%20value%3A%20anId%20%5D.%0D%0A%09%09%28self%20@%20%23title%29%20value%3A%20%28opener%20handle%20basicAt%3A%20%23title%29.%0D%0A%09%09self%20with%3A%20%23saveImage%20event%3A%20%27onclick%27%20do%3A%20%23save.%0D%0A%09%09self%20with%3A%20%23saveAndQuit%20event%3A%20%27onclick%27%20do%3A%20%23saveAndQuit.%0D%0A%09%5D.%0D%0A%09self%20with%3A%20%23quit%20event%3A%20%27onclick%27%20do%3A%20%23quit.')); smalltalk.bind(smalltalk.U8,'transcriptHTML','transcriptHTML' ,function (){ var self=this; return unescape("%0D%0A%3Cform%20name%3D%22transcriptForm%22%3E%3Chr%3E%0D%0A%09%3Ctable%3E%3Ctr%3E%3Ctd%3E%0D%0A%09%3Cinput%20type%3D%22button%22%20value%3D%22Clear%22%20id%3D%22transcriptReset%22%20onClick%3D%22%22%3E%3C/td%3E%3Ctd%3E%0D%0A%09%3Cdiv%20id%3D%22transcriptView%22%3E%5BTranscript%5D%3C/div%3E%0D%0A%09%3C/td%3E%3C/tr%3E%3C/table%3E%0D%0A%3C/form%3E");return self;} ,'views',unescape('transcriptHTML%0D%0A%09%22%20Private%20-%20Return%20the%20HTML%20code%20for%20workspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27%0D%0A%3Cform%20name%3D%22transcriptForm%22%3E%3Chr%3E%0D%0A%09%3Ctable%3E%3Ctr%3E%3Ctd%3E%0D%0A%09%3Cinput%20type%3D%22button%22%20value%3D%22Clear%22%20id%3D%22transcriptReset%22%20onClick%3D%22%22%3E%3C/td%3E%3Ctd%3E%0D%0A%09%3Cdiv%20id%3D%22transcriptView%22%3E%5BTranscript%5D%3C/div%3E%0D%0A%09%3C/td%3E%3C/tr%3E%3C/table%3E%0D%0A%3C/form%3E%27')); smalltalk.bind(smalltalk.U8,'workspaceHTML','workspaceHTML' ,function (){ var self=this; return unescape("%0D%0A%3Cform%3E%0D%0A%09%3Ctable%3E%0D%0A%09%3Ctr%3E%3Ctd%3E%3Ctextarea%20id%3D%22code%22%20rows%3D15%20cols%3D67%3E")._comma(self.$klass.initialCodeContents())._comma(unescape("%3C/textArea%3E%3Cbr%3E%0D%0A%09%3C/td%3E%3Ctd%3E%3Ctextarea%20id%3D%22result%22%20rows%3D15%20cols%3D60%3E%20%3C/textarea%3E%3Cbr%3E%3C/td%3E%3C/tr%3E%0D%0A%09%3Ctr%3E%3Ctd%20colspan%3D2%3E%3Cfont%20size%3D+2%3E%3Cb%3E%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22showIt%22%20value%3D%22showIt%22%3E%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22fileItIn%22%20value%3D%22fileIn%22%3E%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22evalIt%22%20value%3D%22javascript%22%3E%0D%0A%09%09%3Cselect%20id%3D%22frequentSelector%22%20size%3D%221%22%3E%3C/select%3E%0D%0A%09%3C/b%3E%3C/font%3E%3C/td%3E%3C/tr%3E%0D%0A%09%3C/table%3E%0D%0A%3C/form%3E"));return self;} ,'views',unescape('workspaceHTML%0D%0A%09%22%20Private%20-%20Return%20the%20HTML%20code%20for%20workspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27%0D%0A%3Cform%3E%0D%0A%09%3Ctable%3E%0D%0A%09%3Ctr%3E%3Ctd%3E%3Ctextarea%20id%3D%22code%22%20rows%3D15%20cols%3D67%3E%27%20%2Cself%20class%20initialCodeContents%20%2C%27%3C/textArea%3E%3Cbr%3E%0D%0A%09%3C/td%3E%3Ctd%3E%3Ctextarea%20id%3D%22result%22%20rows%3D15%20cols%3D60%3E%20%3C/textarea%3E%3Cbr%3E%3C/td%3E%3C/tr%3E%0D%0A%09%3Ctr%3E%3Ctd%20colspan%3D2%3E%3Cfont%20size%3D+2%3E%3Cb%3E%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22showIt%22%20value%3D%22showIt%22%3E%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22fileItIn%22%20value%3D%22fileIn%22%3E%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22evalIt%22%20value%3D%22javascript%22%3E%0D%0A%09%09%3Cselect%20id%3D%22frequentSelector%22%20size%3D%221%22%3E%3C/select%3E%0D%0A%09%3C/b%3E%3C/font%3E%3C/td%3E%3C/tr%3E%0D%0A%09%3C/table%3E%0D%0A%3C/form%3E%27')); smalltalk.bind(smalltalk.U8,'saveImageHTML','saveImageHTML' ,function (){ var self=this; var options=nil; ((self.hasContribution()).mustBeBoolean()==true ? (function(){return options=unescape("%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22saveImage%22%20value%3D%22Save%20Image%22%20/%3E%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22saveAndQuit%22%20value%3D%22Save%20%26%20Quit%22%20/%3E");})() : (function(){return options=unescape("%0D%0A%09%09%3Ca%20href%3D%22")._comma(self.home())._comma(unescape("%22%3ERegister%20Now%21%3C/a%3E%20%28to%20enable%20saveImage%29"));})()); return unescape("%3Cinput%20type%3D%22hidden%22%20name%3D%22title%22%20id%3D%22title%22%20value%3D%22%22/%3E%0D%0A%09%09%3Cinput%20type%3D%22hidden%22%20name%3D%22contributionId%22%20id%3D%22contributionId%22%20value%3D%22%22/%3E")._comma(options)._comma(unescape("%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22quit%22%20value%3D%22Quit%22%20/%3E%3Cbr/%3E"));return self;} ,'views',unescape('saveImageHTML%0D%0A%09%22%20Private%20-%20Return%20the%20HTML%20toolbar%20for%20save%20image%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20options%20%7C%0D%0A%09self%20hasContribution%20ifTrue%3A%20%5B%0D%0A%09%09options%20%3A%3D%20%27%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22saveImage%22%20value%3D%22Save%20Image%22%20/%3E%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22saveAndQuit%22%20value%3D%22Save%20%26%20Quit%22%20/%3E%27%0D%0A%09%5D%20ifFalse%3A%20%5B%0D%0A%09%09options%20%3A%3D%20%20%27%0D%0A%09%09%3Ca%20href%3D%22%27%2Cself%20home%2C%27%22%3ERegister%20Now%21%3C/a%3E%20%28to%20enable%20saveImage%29%27%0D%0A%09%5D.%0D%0A%09%5E%27%3Cinput%20type%3D%22hidden%22%20name%3D%22title%22%20id%3D%22title%22%20value%3D%22%22/%3E%0D%0A%09%09%3Cinput%20type%3D%22hidden%22%20name%3D%22contributionId%22%20id%3D%22contributionId%22%20value%3D%22%22/%3E%27%0D%0A%09%09%2Coptions%2C%27%0D%0A%09%09%3Cinput%20type%3D%22button%22%20id%3D%22quit%22%20value%3D%22Quit%22%20/%3E%3Cbr/%3E%27')); smalltalk.bind(smalltalk.Class.$klass,'categories','categories' ,function (){ var self=this; return smalltalk.Smalltalk.current().classes().collect_((function(each){return each.category();})).asSet();return self;} ,'export',unescape('categories%0D%0A%09%22%20Return%20a%20collection%20with%20all%20defined%20categories.%20%22%0D%0A%0D%0A%09%5E%28Smalltalk%20current%20classes%20collect%3A%20%5B%3Aeach%20%7C%20each%20category%20%5D%29%20asSet')); smalltalk.bind(smalltalk.Class.$klass,'uncategorized','uncategorized' ,function (){ var self=this; return smalltalk.Smalltalk.current().classes().select_((function(each){return each.category()._eq("unclassified");}));return self;} ,'export',unescape('uncategorized%0D%0A%09%22%20Return%20a%20collection%20with%20classes%20without%20category.%20%22%0D%0A%0D%0A%09%5ESmalltalk%20current%20classes%20select%3A%20%5B%3Aeach%20%7C%20each%20category%20%3D%20%27unclassified%27%20%5D')); smalltalk.bind(smalltalk.Class,'category','category' ,function (){ var self=this; return (self["$category"] || nil);return self;} ,'accessing',unescape('category%0D%0A%09%22%20Return%20the%20category%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24category%27')); smalltalk.bind(smalltalk.Class,'category:','category_' ,function (aString){ var self=this; (self["$category"]=(aString));return self;} ,'accessing',unescape('category%3A%20aString%0D%0A%09%22%20Set%20the%20category%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20basicAt%3A%20%27%24category%27%20put%3A%20aString')); smalltalk.bind(smalltalk.Class,'classVariables','classVariables' ,function (){ var self=this; try{ var deferred=nil; deferred=(self["$classVariableNames"] || (function(){return (function(){throw({name: "stReturn", selector: "classVariables", fn: function(){return (self["$classVariables"] || nil)}})})();}).value()); self.basicDelete_("$classVariableNames"); self.classVariableNames_(deferred); (function(){throw({name: "stReturn", selector: "classVariables", fn: function(){return (self["$classVariables"] || nil)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "classVariables"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('classVariables%0D%0A%09%22%20Return%20the%20class%20variables%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20deferred%20%7C%0D%0A%09deferred%20%3A%3D%20self%20basicAt%3A%20%27%24classVariableNames%27%20ifAbsent%3A%20%5B%0D%0A%09%09%5Eself%20basicAt%3A%20%27%24classVariables%27%0D%0A%09%5D.%0D%0A%09self%20basicDelete%3A%20%27%24classVariableNames%27.%0D%0A%09self%20classVariableNames%3A%20deferred.%0D%0A%09%5Eself%20basicAt%3A%20%27%24classVariables%27')); smalltalk.bind(smalltalk.Class,'classVariables:','classVariables_' ,function (aDictionary){ var self=this; try{ ((((aDictionary || nil) !== nil).and_((function(){return aDictionary.isEmpty();}))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "classVariables_", fn: function(){return self.classVariables_(nil)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "classVariables_", fn: function(){return (self["$classVariables"]=(aDictionary))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "classVariables_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('classVariables%3A%20aDictionary%0D%0A%09%22%20Set%20the%20class%20variables%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%28aDictionary%20notNil%20and%3A%20%5B%20aDictionary%20isEmpty%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09%5Eself%20classVariables%3A%20nil%0D%0A%09%5D.%0D%0A%09%5Eself%20basicAt%3A%20%27%24classVariables%27%20put%3A%20aDictionary')); smalltalk.bind(smalltalk.Class,'poolDictionaries','poolDictionaries' ,function (){ var self=this; return (self["$poolDictionaries"] || nil);return self;} ,'accessing',unescape('poolDictionaries%0D%0A%09%22%20Return%20the%20poolDictionaries%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27%24poolDictionaries%27')); smalltalk.bind(smalltalk.Class,'poolDictionaries:','poolDictionaries_' ,function (anArray){ var self=this; try{ ((((anArray || nil) !== nil).and_((function(){return anArray.isEmpty();}))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "poolDictionaries_", fn: function(){return self.poolDictionaries_(nil)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "poolDictionaries_", fn: function(){return (self["$poolDictionaries"]=(anArray))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "poolDictionaries_"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('poolDictionaries%3A%20anArray%0D%0A%09%22%20Set%20the%20poolDictionaries%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%28anArray%20notNil%20and%3A%20%5B%20anArray%20isEmpty%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09%5Eself%20poolDictionaries%3A%20nil%0D%0A%09%5D.%0D%0A%09%5Eself%20basicAt%3A%20%27%24poolDictionaries%27%20put%3A%20anArray')); smalltalk.bind(smalltalk.Class,'classVariableNames','classVariableNames' ,function (){ var self=this; return ((((self.classVariables() || nil) === nil)).mustBeBoolean()==true ? (function(){return smalltalk.Array.$$new();})() : (function(){return self.classVariables().keys();})());return self;} ,'accessing',unescape('classVariableNames%0D%0A%09%22%20Return%20the%20class%20variable%20names%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20classVariables%20isNil%0D%0A%09%09ifTrue%3A%20%5B%20Array%20new%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20self%20classVariables%20keys%20%5D')); smalltalk.bind(smalltalk.Class,'classVariablesString','classVariablesString' ,function (){ var self=this; return self.classVariableNames().inject_into_("", (function(total, each){return total._comma(each)._comma(" ");})).trimBlanks();return self;} ,'accessing',unescape('classVariablesString%0D%0A%09%22%20Return%20the%20class%20variable%20names%20of%20the%20receiver%20as%20aString.%20%22%0D%0A%0D%0A%09%5E%28self%20classVariableNames%20inject%3A%20%27%27%0D%0A%09%09into%3A%20%5B%3Atotal%20%3Aeach%7C%20total%20%2C%20each%20%2C%20%27%20%27%20%5D%0D%0A%09%09%29%20trimBlanks')); smalltalk.bind(smalltalk.Class,'poolDictionaryNames','poolDictionaryNames' ,function (){ var self=this; return ((((self.poolDictionaries() || nil) === nil)).mustBeBoolean()==true ? (function(){return smalltalk.Array.$$new();})() : (function(){return self.poolDictionaries();})());return self;} ,'accessing',unescape('poolDictionaryNames%0D%0A%09%22%20Return%20the%20pool%20dictionary%20names%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20poolDictionaries%20isNil%0D%0A%09%09ifTrue%3A%20%5B%20Array%20new%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20self%20poolDictionaries%20%5D')); smalltalk.bind(smalltalk.Class,'poolDictionariesString','poolDictionariesString' ,function (){ var self=this; return self.poolDictionaryNames().inject_into_("", (function(total, each){return total._comma(each)._comma(" ");})).trimBlanks();return self;} ,'accessing',unescape('poolDictionariesString%0D%0A%09%22%20Return%20the%20poolDictionary%20names%20of%20the%20receiver%20as%20aString.%20%22%0D%0A%0D%0A%09%5E%28self%20poolDictionaryNames%20inject%3A%20%27%27%0D%0A%09%09into%3A%20%5B%3Atotal%20%3Aeach%7C%20total%20%2C%20each%20%2C%20%27%20%27%20%5D%0D%0A%09%09%29%20trimBlanks')); smalltalk.bind(smalltalk.Class,'classVariableNames:','classVariableNames_' ,function (classVarNames){ var self=this; try{ var names=nil; var dictionary=nil; var old=nil; ((((classVarNames || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "classVariableNames_", fn: function(){return self.classVariables_(nil)}})})();})() : nil); names=((classVarNames.isString()).mustBeBoolean()==true ? (function(){return classVarNames.asArrayOfSubstrings();})() : (function(){return classVarNames;})()); dictionary=smalltalk.Dictionary.$$new(); old=self.classVariables(); ((((old || nil) === nil)).mustBeBoolean()==true ? (function(){return old=dictionary;})() : nil); names.do_((function(each){return dictionary.at_put_(each, old.at_ifAbsent_(each, (function(){return nil;})));})); self.classVariables_(dictionary);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "classVariableNames_"){return $$ex.fn();} throw($$ex);}} ,'class creation',unescape('classVariableNames%3A%20classVarNames%0D%0A%09%22%20Set%20the%20variable%20names%20defined%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20names%20dictionary%20old%20%7C%0D%0A%09classVarNames%20isNil%20ifTrue%3A%20%5B%20%5Eself%20classVariables%3A%20nil%20%5D.%0D%0A%09names%20%3A%3D%20classVarNames%20isString%0D%0A%09%09ifTrue%3A%20%5B%20classVarNames%20asArrayOfSubstrings%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20classVarNames%20%5D.%0D%0A%09dictionary%20%3A%3D%20Dictionary%20new.%0D%0A%09old%20%3A%3D%20self%20classVariables.%20old%20isNil%20ifTrue%3A%20%5B%20old%20%3A%3D%20dictionary%20%5D.%0D%0A%09names%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09dictionary%20at%3A%20each%20put%3A%20%28old%20at%3A%20each%20ifAbsent%3A%20%5B%20nil%20%5D%29%0D%0A%09%5D.%0D%0A%09self%20classVariables%3A%20dictionary.')); smalltalk.bind(smalltalk.Class,'poolDictionaryNames:','poolDictionaryNames_' ,function (poolVarNames){ var self=this; self.poolDictionaries_(((poolVarNames.isString()).mustBeBoolean()==true ? (function(){return poolVarNames.asArrayOfSubstrings();})() : (function(){return poolVarNames;})()));return self;} ,'class creation',unescape('poolDictionaryNames%3A%20poolVarNames%0D%0A%09%22%20Set%20the%20pool%20dictionary%20names%20known%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20poolDictionaries%3A%20%28poolVarNames%20isString%0D%0A%09%09ifTrue%3A%20%5B%20poolVarNames%20asArrayOfSubstrings%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20poolVarNames%20%5D%29.')); smalltalk.bind(smalltalk.Class,'subclass:instanceVariableNames:','subclass_instanceVariableNames_' ,function (aString,aString2){ var self=this; return self.subclass_instanceVariableNames_classVariableNames_(aString, aString2, "");return self;} ,'class creation',unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'subclass:instanceVariableNames:category:','subclass_instanceVariableNames_category_' ,function (aString,aString2,aString3){ var self=this; return smalltalk.ClassBuilder.$$new().superclass_subclass_instanceVariableNames_category_(self, aString, aString2, aString3);return self;} ,'class creation',unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20category%3A%20aString3%0D%0A%09%22%20Create%20a%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EClassBuilder%20new%0D%0A%09%09superclass%3A%20self%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09category%3A%20aString3')); smalltalk.bind(smalltalk.Class,'isClass','isClass' ,function (){ var self=this; return true;return self;} ,'testing',unescape('isClass%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20Class.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Class,'printString','printString' ,function (){ var self=this; return self.name();return self;} ,'printing',unescape('printString%0D%0A%09%22%20Return%20a%20printable%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20name')); smalltalk.bind(smalltalk.Class,'rename:','rename_' ,function (aString){ var self=this; delete smalltalk[self.$className]; self.$className = aString; smalltalk[aString] = self; ;return self;} ,'accessing',unescape('rename%3A%20aString%0D%0A%09%22%20Rename%20the%20receiver%20to%20aString.%20%22%0D%0A%0D%0A%7B%27%09delete%20smalltalk%5Bself.%24className%5D%3B%0D%0A%09self.%24className%20%3D%20aString%3B%0D%0A%09smalltalk%5BaString%5D%20%3D%20self%3B%20%27%7D')); smalltalk.bind(smalltalk.Class,'variableByteSubclass:classVariableNames:poolDictionaries:','variableByteSubclass_classVariableNames_poolDictionaries_' ,function (aString,classVarNames,poolVarNames){ var self=this; self.print_(unescape("//%20WARNING%3A%20")._comma(aString)._comma(" defined as variableByteSubclass:...")); return self.subclass_instanceVariableNames_classVariableNames_poolDictionaries_(aString, "", classVarNames, poolVarNames);return self;} ,'class creation',unescape('variableByteSubclass%3A%20aString%0D%0A%09classVariableNames%3A%20classVarNames%0D%0A%09poolDictionaries%3A%20poolVarNames%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20print%3A%20%27//%20WARNING%3A%20%27%2CaString%2C%27%20defined%20as%20variableByteSubclass%3A...%27.%0D%0A%09%5Eself%20%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20%27%27%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20poolVarNames')); smalltalk.bind(smalltalk.Class,'variableSubclass:instanceVariableNames:classVariableNames:poolDictionaries:','variableSubclass_instanceVariableNames_classVariableNames_poolDictionaries_' ,function (aString,aString2,classVarNames,poolVarNames){ var self=this; self.print_(unescape("//%20WARNING%3A%20")._comma(aString)._comma(" defined as variableSubclass:...")); return self.subclass_instanceVariableNames_classVariableNames_poolDictionaries_(aString, aString2, classVarNames, poolVarNames);return self;} ,'class creation',unescape('variableSubclass%3A%20aString%0D%0A%09instanceVariableNames%3A%20aString2%0D%0A%09classVariableNames%3A%20classVarNames%0D%0A%09poolDictionaries%3A%20poolVarNames%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20print%3A%20%27//%20WARNING%3A%20%27%2CaString%2C%27%20defined%20as%20variableSubclass%3A...%27.%0D%0A%09%5Eself%20%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20poolVarNames')); smalltalk.bind(smalltalk.Class,'subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:','subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_' ,function (aString,aString2,classVarNames,poolVarNames,aCategory){ var self=this; (((((self.smalltalk()[aString] || nil) || nil) !== nil)).mustBeBoolean()==true ? (function(){return self.print_(unescape("//%20WARNING%3A%20class%20REdefinition%20for%20")._comma(aString));})() : nil); return smalltalk.ClassBuilder.$$new().superclass_subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_(self, aString, aString2, classVarNames, poolVarNames, aCategory);return self;} ,'class creation',unescape('subclass%3A%20aString%0D%0A%09instanceVariableNames%3A%20aString2%0D%0A%09classVariableNames%3A%20classVarNames%0D%0A%09poolDictionaries%3A%20poolVarNames%0D%0A%09category%3A%20aCategory%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%28self%20smalltalk%20basicAt%3A%20aString%29%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09self%20print%3A%20%27//%20WARNING%3A%20class%20REdefinition%20for%20%27%2CaString.%0D%0A%09%09%22%5Eself%20smalltalk%20basicAt%3A%20aString%22%0D%0A%09%5D.%0D%0A%0D%0A%09%22self%20print%3A%20%27//%20Creating%20%27%2CaString.%22%0D%0A%09%5EClassBuilder%20new%0D%0A%09%09superclass%3A%20self%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20poolVarNames%0D%0A%09%09category%3A%20aCategory')); smalltalk.bind(smalltalk.Class,'subclass:instanceVariableNames:classVariableNames:poolDictionaries:','subclass_instanceVariableNames_classVariableNames_poolDictionaries_' ,function (aString,aString2,classVarNames,poolVarNames){ var self=this; return self.subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_(aString, aString2, classVarNames, poolVarNames, nil);return self;} ,'class creation',unescape('subclass%3A%20aString%0D%0A%09instanceVariableNames%3A%20aString2%0D%0A%09classVariableNames%3A%20classVarNames%0D%0A%09poolDictionaries%3A%20poolVarNames%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20poolVarNames%0D%0A%09%09category%3A%20nil')); smalltalk.bind(smalltalk.Class,'variableByteSubclass:classVariableNames:','variableByteSubclass_classVariableNames_' ,function (aString,classVarNames){ var self=this; return self.variableByteSubclass_classVariableNames_poolDictionaries_(aString, classVarNames, "");return self;} ,'class creation',unescape('variableByteSubclass%3A%20aString%20classVariableNames%3A%20classVarNames%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09variableByteSubclass%3A%20aString%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'variableByteSubclass:poolDictionaries:','variableByteSubclass_poolDictionaries_' ,function (aString,aString2){ var self=this; return self.variableByteSubclass_classVariableNames_poolDictionaries_(aString, "", aString2);return self;} ,'class creation',unescape('variableByteSubclass%3A%20aString%20poolDictionaries%3A%20aString2%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09variableByteSubclass%3A%20aString%0D%0A%09%09classVariableNames%3A%20%27%27%0D%0A%09%09poolDictionaries%3A%20aString2')); smalltalk.bind(smalltalk.Class,'variableByteSubclass:','variableByteSubclass_' ,function (aString){ var self=this; return self.variableByteSubclass_classVariableNames_(aString, "");return self;} ,'class creation',unescape('variableByteSubclass%3A%20aString%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09variableByteSubclass%3A%20aString%0D%0A%09%09classVariableNames%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'variableSubclass:instanceVariableNames:classVariableNames:','variableSubclass_instanceVariableNames_classVariableNames_' ,function (aString,aString2,classVarNames){ var self=this; return self.variableSubclass_instanceVariableNames_classVariableNames_poolDictionaries_(aString, aString2, classVarNames, "");return self;} ,'class creation',unescape('variableSubclass%3A%20aString%0D%0A%09instanceVariableNames%3A%20aString2%0D%0A%09classVariableNames%3A%20classVarNames%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%0D%0A%09%09variableSubclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'variableSubclass:instanceVariableNames:','variableSubclass_instanceVariableNames_' ,function (aString,aString2){ var self=this; return self.variableSubclass_instanceVariableNames_classVariableNames_(aString, aString2, "");return self;} ,'class creation',unescape('variableSubclass%3A%20aString%20instanceVariableNames%3A%20aString2%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%0D%0A%09%09variableSubclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'variableSubclass:classVariableNames:','variableSubclass_classVariableNames_' ,function (aString,aString2){ var self=this; return self.variableSubclass_instanceVariableNames_classVariableNames_(aString, "", aString2);return self;} ,'class creation',unescape('variableSubclass%3A%20aString%20classVariableNames%3A%20aString2%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%0D%0A%09%09variableSubclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20%27%27%0D%0A%09%09classVariableNames%3A%20aString2')); smalltalk.bind(smalltalk.Class,'variableSubclass:poolDictionaries:','variableSubclass_poolDictionaries_' ,function (aString,aString2){ var self=this; return self.variableSubclass_instanceVariableNames_classVariableNames_poolDictionaries_(aString, "", "", aString2);return self;} ,'class creation',unescape('variableSubclass%3A%20aString%20poolDictionaries%3A%20aString2%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%0D%0A%09%09variableSubclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20%27%27%0D%0A%09%09classVariableNames%3A%20%27%27%0D%0A%09%09poolDictionaries%3A%20aString2')); smalltalk.bind(smalltalk.Class,'variableSubclass:','variableSubclass_' ,function (aString){ var self=this; return self.variableSubclass_instanceVariableNames_(aString, "");return self;} ,'class creation',unescape('variableSubclass%3A%20aString%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%0D%0A%09%09variableSubclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'subclass:instanceVariableNames:classVariableNames:','subclass_instanceVariableNames_classVariableNames_' ,function (aString,aString2,classVarNames){ var self=this; return self.subclass_instanceVariableNames_classVariableNames_poolDictionaries_(aString, aString2, classVarNames, "");return self;} ,'class creation',unescape('subclass%3A%20aString%0D%0A%09instanceVariableNames%3A%20aString2%0D%0A%09classVariableNames%3A%20classVarNames%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20classVarNames%0D%0A%09%09poolDictionaries%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'subclass:instanceVariableNames:poolDictionaries:','subclass_instanceVariableNames_poolDictionaries_' ,function (aString,aString2,aString3){ var self=this; return self.subclass_instanceVariableNames_classVariableNames_poolDictionaries_(aString, aString2, "", aString3);return self;} ,'class creation',unescape('subclass%3A%20aString%0D%0A%09instanceVariableNames%3A%20aString2%0D%0A%09poolDictionaries%3A%20aString3%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20aString2%0D%0A%09%09classVariableNames%3A%20%27%27%0D%0A%09%09poolDictionaries%3A%20aString3')); smalltalk.bind(smalltalk.Class,'subclass:classVariableNames:','subclass_classVariableNames_' ,function (aString,aString2){ var self=this; return self.subclass_instanceVariableNames_classVariableNames_poolDictionaries_(aString, "", aString2, "");return self;} ,'class creation',unescape('subclass%3A%20aString%20classVariableNames%3A%20aString2%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20%27%27%0D%0A%09%09classVariableNames%3A%20aString2%0D%0A%09%09poolDictionaries%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'subclass:poolDictionaries:','subclass_poolDictionaries_' ,function (aString,aString2){ var self=this; return self.subclass_instanceVariableNames_classVariableNames_poolDictionaries_(aString, "", "", aString2);return self;} ,'class creation',unescape('subclass%3A%20aString%20poolDictionaries%3A%20aString2%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20%27%27%0D%0A%09%09classVariableNames%3A%20%27%27%0D%0A%09%09poolDictionaries%3A%20aString2')); smalltalk.bind(smalltalk.Class,'subclass:','subclass_' ,function (aString){ var self=this; return self.subclass_instanceVariableNames_(aString, "");return self;} ,'class creation',unescape('subclass%3A%20aString%0D%0A%09%22%20Create%20a%20new%20subclass%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09subclass%3A%20aString%0D%0A%09%09instanceVariableNames%3A%20%27%27')); smalltalk.bind(smalltalk.Class,'launch','launch' ,function (){ var self=this; return self;} ,'startup',unescape('launch%0D%0A%09%22%20Private%20-%20The%20system%20has%20been%20launched%20and%20start%20execution.%0D%0A%09The%20default%20action%20is%20to%20do%20nothing.%0D%0A%09Subclasses%20can%20refine%20this%20method%20to%20execute%20actions%20on%20startup.%0D%0A%09%22')); smalltalk.bind(smalltalk.Class,'aboutToSaveImage:on:','aboutToSaveImage_on_' ,function (snapshot,stream){ var self=this; return self;return self;} ,'snapshot',unescape('aboutToSaveImage%3A%20snapshot%20on%3A%20stream%0D%0A%09%22%20Private%20-%20A%20system%20snapshot%20will%20be%20taken%2C%20the%20receiver%20can%20prepare%20the%20contents%20to%20be%20stored%20on%20snapshot.%0D%0A%09Must%20return%20the%20receiver%20or%20a%20replacement%20to%20act%20as%20the%20receiver%20when%20persisting%20data.%0D%0A%09The%20default%20action%20return%20the%20receiver.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.Class,'imageSaved:on:','imageSaved_on_' ,function (snapshot,stream){ var self=this; return self;} ,'snapshot',unescape('imageSaved%3A%20snapshot%20on%3A%20stream%0D%0A%09%22%20Private%20-%20A%20system%20snapshot%20has%20been%20taken%2C%20the%20receiver%20can%20restore%20state.%0D%0A%09The%20default%20action%20do%20nothing.%0D%0A%09This%20method%20can%20be%20refined%20by%20the%20subclasses.%0D%0A%09%22')); smalltalk.bind(smalltalk.Class,'aboutToExit:','aboutToExit_' ,function (aSystemDictionary){ var self=this; return self;} ,'snapshot',unescape('aboutToExit%3A%20aSystemDictionary%0D%0A%09%22%20Private%20-%20A%20system%20will%20exit%2C%20and%20the%20receiver%20can%20act%20in%20concecuence%20executing%20actions%20just%20before%20exiting.%0D%0A%09The%20default%20action%20do%20nothing.%0D%0A%09This%20method%20can%20be%20refined%20by%20the%20subclasses.%0D%0A%09%22')); smalltalk.bind(smalltalk.Metaclass,'instanceClass','instanceClass' ,function (){ var self=this; return self['@instanceClass'];return self;} ,'accessing',unescape('instanceClass%0D%0A%09%22%20Return%20the%20instance%20class%20of%20receiver.%20%22%0D%0A%0D%0A%09%5EinstanceClass')); smalltalk.bind(smalltalk.Metaclass,'instanceVariableNames:','instanceVariableNames_' ,function (aCollection){ var self=this; smalltalk.ClassBuilder.$$new().class_instanceVariableNames_(self, aCollection);return self;} ,'accessing',unescape('instanceVariableNames%3A%20aCollection%0D%0A%09%22%20Set%20the%20instance%20variable%20names%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09ClassBuilder%20new%0D%0A%09%09class%3A%20self%0D%0A%09%09instanceVariableNames%3A%20aCollection')); smalltalk.bind(smalltalk.Metaclass,'isMetaclass','isMetaclass' ,function (){ var self=this; return true;return self;} ,'testing',unescape('isMetaclass%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20a%20metaclass.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Metaclass,'printString','printString' ,function (){ var self=this; return self.instanceClass().name()._comma(" class");return self;} ,'printing',unescape('printString%0D%0A%09%22%20Return%20a%20printable%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20instanceClass%20name%2C%20%27%20class%27')); smalltalk.bind(smalltalk.Metaclass,'poolDictionaries','poolDictionaries' ,function (){ var self=this; return self.instanceClass().poolDictionaries();return self;} ,'accessing',unescape('poolDictionaries%0D%0A%09%22%20Return%20the%20poolDictionaries%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20instanceClass%20poolDictionaries')); smalltalk.bind(smalltalk.Metaclass,'classVariables','classVariables' ,function (){ var self=this; return self.instanceClass().classVariables();return self;} ,'accessing',unescape('classVariables%0D%0A%09%22%20Return%20the%20class%20variables%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20instanceClass%20classVariables')); smalltalk.bind(smalltalk.SequenceableCollection,'at:','at_' ,function (anIndex){ var self=this; return self.at_ifAbsent_(anIndex, (function(){return self.errorNotFound();}));return self;} ,'accessing',unescape('at%3A%20anIndex%0D%0A%09%22%20Return%20the%20object%20in%20the%20receiver%20at%20anIndex%20position.%20%22%0D%0A%0D%0A%09%5Eself%20at%3A%20anIndex%20ifAbsent%3A%20%5B%20self%20errorNotFound%20%5D')); smalltalk.bind(smalltalk.SequenceableCollection,'at:ifAbsent:','at_ifAbsent_' ,function (anIndex,aBlock){ var self=this; return self.subclassResponsibility();return self;} ,'accessing',unescape('at%3A%20anIndex%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20object%20in%20the%20receiver%20at%20anIndex%20position%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%09%5Eself%20subclassResponsibility')); smalltalk.bind(smalltalk.SequenceableCollection,'at:put:','at_put_' ,function (anIndex,anObject){ var self=this; return self.subclassResponsibility();return self;} ,'accessing',unescape('at%3A%20anIndex%20put%3A%20anObject%0D%0A%09%22%20Set%20the%20object%20in%20the%20receiver%20at%20anIndex%20position.%20%22%0D%0A%0D%0A%09%5Eself%20subclassResponsibility')); smalltalk.bind(smalltalk.SequenceableCollection,'copyFrom:to:','copyFrom_to_' ,function (anIndex,anotherIndex){ var self=this; return self.subclassResponsibility();return self;} ,'copying',unescape('copyFrom%3A%20anIndex%20to%3A%20anotherIndex%0D%0A%09%22%20Return%20a%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20subclassResponsibility')); smalltalk.bind(smalltalk.SequenceableCollection,'indexOf:ifAbsent:','indexOf_ifAbsent_' ,function (anObject,aBlock){ var self=this; var i = self.length; while (i--) { if (self[i]._eq(anObject)) { return i + 1; } } return aBlock();;return self;} ,'query',unescape('indexOf%3A%20anObject%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20position%20of%20anObject%20in%20the%20receiver%2C%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%7B%27%09var%20i%20%3D%20self.length%3B%0D%0A%09while%20%28i--%29%20%7B%0D%0A%09%09if%20%28self%5Bi%5D._eq%28anObject%29%29%20%7B%20return%20i%20+%201%3B%20%7D%09%0D%0A%09%7D%0D%0A%09return%20aBlock%28%29%3B%27%7D')); smalltalk.bind(smalltalk.SequenceableCollection,'indexOf:','indexOf_' ,function (anObject){ var self=this; return self.indexOf_ifAbsent_(anObject, (function(){return ((0) - (1));}));return self;} ,'query',unescape('indexOf%3A%20anObject%0D%0A%09%22%20Return%20the%20position%20of%20anObject%20in%20the%20receiver%2C%20or%20-1.%20%22%0D%0A%0D%0A%09%5Eself%20indexOf%3A%20anObject%20ifAbsent%3A%20%5B%200%20-%201%20%5D')); smalltalk.bind(smalltalk.SequenceableCollection,'first','first' ,function (){ var self=this; return self.at_((1));return self;} ,'accessing',unescape('first%0D%0A%09%22%20Return%20the%20object%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20at%3A%201')); smalltalk.bind(smalltalk.SequenceableCollection,'fourth','fourth' ,function (){ var self=this; return self.at_((4));return self;} ,'accessing',unescape('fourth%0D%0A%09%22%20Return%20the%20object%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20at%3A%204')); smalltalk.bind(smalltalk.SequenceableCollection,'last','last' ,function (){ var self=this; return self.at_(self.size());return self;} ,'accessing',unescape('last%0D%0A%09%22%20Return%20the%20object%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20at%3A%20self%20size')); smalltalk.bind(smalltalk.SequenceableCollection,'second','second' ,function (){ var self=this; return self.at_((2));return self;} ,'accessing',unescape('second%0D%0A%09%22%20Return%20the%20object%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20at%3A%202')); smalltalk.bind(smalltalk.SequenceableCollection,'third','third' ,function (){ var self=this; return self.at_((3));return self;} ,'accessing',unescape('third%0D%0A%09%22%20Return%20the%20object%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20at%3A%203')); smalltalk.bind(smalltalk.SequenceableCollection,'removeLast','removeLast' ,function (){ var self=this; return self.remove_(self.last());return self;} ,'adding/removing',unescape('removeLast%0D%0A%09%22%20Remove%20the%20last%20object%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20remove%3A%20self%20last')); smalltalk.bind(smalltalk.SequenceableCollection,'removeFirst','removeFirst' ,function (){ var self=this; return self.remove_(self.first());return self;} ,'adding/removing',unescape('removeFirst%0D%0A%09%22%20Remove%20the%20first%20object%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20remove%3A%20self%20first')); smalltalk.bind(smalltalk.SequenceableCollection,'addLast:','addLast_' ,function (anObject){ var self=this; return self.add_(anObject);return self;} ,'adding/removing',unescape('addLast%3A%20anObject%0D%0A%09%22%20Add%20the%20object%20in%20the%20receiver%20%28at%20end%29.%20%22%0D%0A%0D%0A%09%5Eself%20add%3A%20anObject')); smalltalk.bind(smalltalk.SequenceableCollection,'withIndexDo:','withIndexDo_' ,function (aBlock){ var self=this; for(var i=0;i (0));return self;} ,'testing',unescape('includes%3A%20anObject%0D%0A%09%22%20Return%20true%20if%20anObject%20is%20in%20receiver%27s%20contents.%20%22%0D%0A%0D%0A%09%5E%28self%20indexOf%3A%20anObject%29%20%3E%200')); smalltalk.bind(smalltalk.String,'withIndexDo:','withIndexDo_' ,function (aBlock){ var self=this; for(var i=0;i (1));})()){(function(){return result=(result + (1));})()};return nil})(); (function(){throw({name: "stReturn", selector: "occurrencesOf_", fn: function(){return result}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "occurrencesOf_"){return $$ex.fn();} throw($$ex);}} ,'query',unescape('occurrencesOf%3A%20aString%0D%0A%09%22%20Return%20the%20times%20aString%20can%20be%20found%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20index%20%7C%0D%0A%09aString%20isString%20ifFalse%3A%20%5B%0D%0A%09%09result%20%3A%3D%20%28self%20%23match%3A%20aString%29%20%7C%7C%20nil.%0D%0A%09%09%5Eresult%20isNil%0D%0A%09%09%09ifTrue%3A%20%5B%200%20%5D%0D%0A%09%09%09ifFalse%3A%20%5B%20result%20basicAt%3A%20%27length%27%20%5D%0D%0A%09%5D.%0D%0A%09aString%20size%20%3D%201%20ifTrue%3A%20%5B%0D%0A%09%09result%20%3A%3D%20%28self%20%23match%3A%20%28RegularExpression%0D%0A%09%09%09%09fromString%3A%20%27%5B%27%2CaString%2C%27%5D%27%0D%0A%09%09%09%09flag%3A%20%27g%27%29%0D%0A%09%09%09%09%29%20%7C%7C%20nil.%0D%0A%09%09%5Eresult%20isNil%0D%0A%09%09%09ifTrue%3A%20%5B%200%20%5D%0D%0A%09%09%09ifFalse%3A%20%5B%20result%20basicAt%3A%20%27length%27%20%5D%0D%0A%09%5D.%0D%0A%09result%20%3A%3D%200.%20index%20%3A%3D%200.%0D%0A%09%5B%09index%20%3A%3D%20self%20indexOf%3A%20aString%20startingAt%3A%20index%20+%201.%0D%0A%09%09index%20%3E%201%20%5D%20whileTrue%3A%20%5B%20result%20%3A%3D%20result%20+%201%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.String,'escaped','escaped' ,function (){ var self=this; return escape(self);return self;} ,'converting',unescape('escaped%0D%0A%09%22%20Return%20the%20receiver%20with%20escape%20codes.%20%22%0D%0A%0D%0A%09%5E%23%20%23escape%3A%20self')); smalltalk.bind(smalltalk.String,'unescaped','unescaped' ,function (){ var self=this; return unescape(self);return self;} ,'converting',unescape('unescaped%0D%0A%09%22%20Return%20the%20receiver%20from%20escape%20codes.%20%22%0D%0A%0D%0A%09%5E%23%20%23unescape%3A%20self')); smalltalk.bind(smalltalk.String,'asEncodedURI','asEncodedURI' ,function (){ var self=this; return encodeURIComponent(self);return self;} ,'converting',unescape('asEncodedURI%0D%0A%09%22%20Return%20the%20receiver%20encoded%20as%20an%20URI%20component.%0D%0A%09Encodes%20special%20characters%20and%20it%20encodes%20the%20following%20characters%3A%20%2C%20/%20%3F%20%3A%20@%20%26%20%3D%20+%20%24%20%23%0D%0A%09%22%0D%0A%0D%0A%09%5E%23%20%23encodeURIComponent%3A%20self')); smalltalk.bind(smalltalk.String,'asDecodedURI','asDecodedURI' ,function (){ var self=this; return decodeURIComponent(self);return self;} ,'converting',unescape('asDecodedURI%0D%0A%09%22%20Return%20the%20receiver%20decoded%20as%20an%20URI%20component.%20%22%0D%0A%0D%0A%09%5E%23%20%23decodeURIComponent%3A%20self')); smalltalk.bind(smalltalk.String,'add:','add_' ,function (anObject){ var self=this; return self.errorReadOnly();return self;} ,'adding/removing',unescape('add%3A%20anObject%0D%0A%09%22%20Add%20anObject%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20errorReadOnly')); smalltalk.bind(smalltalk.String,',','_comma' ,function (aString){ var self=this; return self + aString;return self;} ,'copying',unescape('%2C%20aString%0D%0A%09%22%20Return%20a%20copy%20of%20the%20receiver%20with%20aString%20appended.%20%22%0D%0A%0D%0A%7B%27%09return%20self%20+%20aString%27%7D')); smalltalk.bind(smalltalk.String,'copyFrom:to:','copyFrom_to_' ,function (anIndex,anotherIndex){ var self=this; return self.substring((anIndex - (1)), anotherIndex);return self;} ,'copying',unescape('copyFrom%3A%20anIndex%20to%3A%20anotherIndex%0D%0A%09%22%20Return%20the%20receiver%20between%20limits.%20%22%0D%0A%0D%0A%09%5Eself%20%23substring%3A%20anIndex%20-%201%20to%3A%20anotherIndex')); smalltalk.bind(smalltalk.String,'shallowCopy','shallowCopy' ,function (){ var self=this; return self.$klass.fromString_(self);return self;} ,'copying',unescape('shallowCopy%0D%0A%09%22%20Return%20a%20shallow%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20class%20fromString%3A%20self')); smalltalk.bind(smalltalk.String,'deepCopy','deepCopy' ,function (){ var self=this; return self.shallowCopy();return self;} ,'copying',unescape('deepCopy%0D%0A%09%22%20Return%20a%20deep%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20shallowCopy')); smalltalk.bind(smalltalk.String,'indexOf:','indexOf_' ,function (aString){ var self=this; return (self.indexOf(aString) + (1));return self;} ,'accessing',unescape('indexOf%3A%20aString%0D%0A%09%22%20Return%20the%20position%20of%20first%20occurrence%20of%20aString%20%28or%200%20if%20not%20present%29.%20%22%0D%0A%0D%0A%09%5E%28self%20%23indexOf%3A%20aString%29%20+%201')); smalltalk.bind(smalltalk.String,'indexOf:ifAbsent:','indexOf_ifAbsent_' ,function (aString,aBlock){ var self=this; var result=nil; result=self.indexOf_(aString); return result._eq((0)).ifTrue_ifFalse_(aBlock, (function(){return result;}));return self;} ,'accessing',unescape('indexOf%3A%20aString%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20position%20of%20first%20occurrence%20of%20aString%20%28or%20the%20result%20of%20evaluating%20aBlock%29.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20indexOf%3A%20aString.%0D%0A%09%5Eresult%20%3D%200%20ifTrue%3A%20aBlock%20ifFalse%3A%20%5B%20result%20%5D')); smalltalk.bind(smalltalk.String,'indexOf:startingAt:','indexOf_startingAt_' ,function (aString,position){ var self=this; return (self.indexOf(aString, (position - (1))) + (1));return self;} ,'accessing',unescape('indexOf%3A%20aString%20startingAt%3A%20position%0D%0A%09%22%20Return%20the%20position%20of%20first%20occurrence%20of%20aString%20after%20position%20%28or%200%20if%20not%20present%29.%20%22%0D%0A%0D%0A%09%5E%28self%20%23indexOf%3A%20aString%20from%3A%20position%20-%201%29%20+%201')); smalltalk.bind(smalltalk.String,'lastIndexOf:','lastIndexOf_' ,function (aString){ var self=this; return (self.lastIndexOf(aString) + (1));return self;} ,'accessing',unescape('lastIndexOf%3A%20aString%0D%0A%09%22%20Return%20the%20position%20of%20last%20occurrence%20of%20aString%20%28or%200%20if%20not%20present%29.%20%22%0D%0A%0D%0A%09%5E%28self%20%23lastIndexOf%3A%20aString%29%20+%201')); smalltalk.bind(smalltalk.String,'lastIndexOf:ifAbsent:','lastIndexOf_ifAbsent_' ,function (aString,aBlock){ var self=this; var result=nil; result=self.lastIndexOf_(aString); return result._eq((0)).ifTrue_ifFalse_(aBlock, (function(){return result;}));return self;} ,'accessing',unescape('lastIndexOf%3A%20aString%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20position%20of%20last%20occurrence%20of%20aString%20%28or%20the%20result%20of%20evaluating%20aBlock%29.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20lastIndexOf%3A%20aString.%0D%0A%09%5Eresult%20%3D%200%20ifTrue%3A%20aBlock%20ifFalse%3A%20%5B%20result%20%5D')); smalltalk.bind(smalltalk.String,'lastIndexOf:startingAt:','lastIndexOf_startingAt_' ,function (aString,position){ var self=this; return (self.lastIndexOf(aString, (position - (1))) + (1));return self;} ,'accessing',unescape('lastIndexOf%3A%20aString%20startingAt%3A%20position%0D%0A%09%22%20Return%20the%20position%20of%20last%20occurrence%20of%20aString%20before%20position%20%28or%200%20if%20not%20present%29.%20%22%0D%0A%0D%0A%09%5E%28self%20%23lastIndexOf%3A%20aString%20from%3A%20position%20-%201%29%20+%201')); smalltalk.bind(smalltalk.String,'upTo:startingAt:','upTo_startingAt_' ,function (aString,position){ var self=this; var index=nil; index=self.indexOf_startingAt_(aString, position); index=((index._eq((0))).mustBeBoolean()==true ? (function(){return self.size();})() : (function(){return (index - (1));})()); return self.copyFrom_to_(position, index);return self;} ,'accessing',unescape('upTo%3A%20aString%20startingAt%3A%20position%0D%0A%09%22%20Return%20the%20receiver%20upto%20first%20occurrence%20of%20aString%20after%20position.%20%22%0D%0A%0D%0A%09%7C%20index%20%7C%0D%0A%09index%20%3A%3D%20self%20indexOf%3A%20aString%20startingAt%3A%20position.%0D%0A%09index%20%3A%3D%20index%20%3D%200%20ifTrue%3A%20%5B%20self%20size%20%5D%20ifFalse%3A%20%5B%20index%20-%201%20%5D.%0D%0A%09%5Eself%20copyFrom%3A%20position%20to%3A%20index')); smalltalk.bind(smalltalk.String,'upTo:','upTo_' ,function (aCharacter){ var self=this; return self.upTo_startingAt_(aCharacter, (1));return self;} ,'accessing',unescape('upTo%3A%20aCharacter%0D%0A%09%22%20Return%20the%20receiver%20upto%20first%20occurrence%20of%20aCharacter.%20%22%0D%0A%0D%0A%09%5Eself%20upTo%3A%20aCharacter%20startingAt%3A%201')); smalltalk.bind(smalltalk.String,'asJavascriptName','asJavascriptName' ,function (){ var self=this; try{ ((self.first()._eq("_")).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "asJavascriptName", fn: function(){return self}})})();})() : nil); ((smalltalk.String.reservedWords().includes_(self)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "asJavascriptName", fn: function(){return "$$"._comma(self)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "asJavascriptName", fn: function(){return self}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "asJavascriptName"){return $$ex.fn();} throw($$ex);}} ,'converting',unescape('asJavascriptName%0D%0A%09%22%20Private%20-%20Return%20the%20receiver%20as%20a%20valid%20javascript%20name.%20%22%0D%0A%0D%0A%09self%20first%20%3D%20%24_%20ifTrue%3A%20%5B%20%5Eself%20%5D.%0D%0A%09%28String%20reservedWords%20includes%3A%20self%29%20ifTrue%3A%20%5B%20%5E%27%24%24%27%2Cself%20%5D.%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.String,'asSelector','asSelector' ,function (){ var self=this; try{ var selector=nil; ((self.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "asSelector", fn: function(){return "$"}})})();})() : nil); ((self.match_(unescape("%5E%23"))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "asSelector", fn: function(){return self.upTo_startingAt_(":", (2))}})})();})() : nil); ((self.isBackSlash()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "asSelector", fn: function(){return "_bk"}})})();})() : nil); return self .replace(/:/g,"_") .replace(/[+]/g,"_plus") .replace(/-/g,"_minus") .replace(/[*]/g,"_star") .replace(/[/]/g,"_slash") .replace(/[|]/g,"_bar") .replace(/[&]/g,"_amp") .replace(/>/g,"_gt") .replace(/','_gt' ,function (aString){ var self=this; return String(self) > aString; ;return self;} ,'comparing',unescape('%3E%20aString%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20greater%20than%20aString.%20%22%0D%0A%0D%0A%7B%27%09return%20String%28self%29%20%3E%20aString%3B%20%27%7D')); smalltalk.bind(smalltalk.String,'<','_lt' ,function (aString){ var self=this; return String(self) < aString;return self;} ,'comparing',unescape('%3C%20aString%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20smaller%20than%20aString.%20%22%0D%0A%0D%0A%7B%27%09return%20String%28self%29%20%3C%20aString%27%7D')); smalltalk.bind(smalltalk.String,'>=','_gt_eq' ,function (aString){ var self=this; return String(self) >= aString;return self;} ,'comparing',unescape('%3E%3D%20aString%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20greater%20than%20or%20equal%20to%20aString.%20%22%0D%0A%0D%0A%7B%27%09return%20String%28self%29%20%3E%3D%20aString%27%7D')); smalltalk.bind(smalltalk.String,'<=','_lt_eq' ,function (aString){ var self=this; return String(self) <= aString;return self;} ,'comparing',unescape('%3C%3D%20aString%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20smaller%20than%20or%20equal%20to%20aString.%20%22%0D%0A%0D%0A%7B%27%09return%20String%28self%29%20%3C%3D%20aString%27%7D')); smalltalk.bind(smalltalk.String,'remove:','remove_' ,function (anObject){ var self=this; return self.errorReadOnly();return self;} ,'adding/removing',unescape('remove%3A%20anObject%0D%0A%09%22%20Remove%20anObject%20from%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20errorReadOnly')); smalltalk.bind(smalltalk.String,'printNl','printNl' ,function (){ var self=this; if (typeof(console) != "undefined") { console.log(self) } else { print(self); };return self;} ,'printing',unescape('printNl%0D%0A%09%22%20Debug%20-%20Print%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09if%20%28typeof%28console%29%20%21%3D%20%22undefined%22%29%20%7B%20console.log%28self%29%20%7D%20else%20%7B%20print%28self%29%3B%20%7D%27%7D')); smalltalk.bind(smalltalk.String,'asJSONObject','asJSONObject' ,function (){ var self=this; return self;return self;} ,'converting',unescape('asJSONObject%0D%0A%09%22%20Return%20an%20object%20mapping%20the%20receiver%20to%20JSON%20structure.%20%22%0D%0A%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.String,'isCharacter','isCharacter' ,function (){ var self=this; return self.length == 1; ;return self;} ,'conversion',unescape('isCharacter%0D%0A%09%22%20Characters%20-%20Implemented%20to%20support%20Character%20protocoll%20for%20one-character%20Strings.%20%22%0D%0A%0D%0A%7B%27%09%20return%20self.length%20%3D%3D%201%3B%20%27%7D')); smalltalk.bind(smalltalk.String,'asciiValue','asciiValue' ,function (){ var self=this; return self.charCodeAt((0));return self;} ,'conversion',unescape('asciiValue%0D%0A%09%22%20Characters%20-%20Return%20the%20number%20corresponding%20to%20the%20ASCII%20encoding%20of%20the%20first%20character%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23charCodeAt%3A%200')); smalltalk.bind(smalltalk.String,'isSeparator','isSeparator' ,function (){ var self=this; return (new RegExp("\\s")).test(self); ;return self;} ,'query',unescape('isSeparator%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20character%20is%20either%20a%0D%0A%09space%2C%20tab%2C%20carriage-return%2C%20line-feed%2C%20form-feed%0D%0A%09character%2C%20or%20double-byte%20space%2C%20else%20answer%20false.%22%0D%0A%0D%0A%7B%27%09%20return%20%28new%20RegExp%28%22%5C%5Cs%22%29%29.test%28self%29%3B%20%27%7D')); smalltalk.bind(smalltalk.String,'asAsciiZ','asAsciiZ' ,function (){ var self=this; return self._comma(self.$klass.zero());return self;} ,'converting',unescape('asAsciiZ%0D%0A%09%22%20Return%20the%20receiver%20with%20ascii%20zero%20appended.%20%22%0D%0A%0D%0A%09%5Eself%20%2C%20self%20class%20zero')); smalltalk.bind(smalltalk.String,'trimFirst:last:','trimFirst_last_' ,function (firstBlock,lastBlock){ var self=this; try{ var start=nil; var stop=nil; start=(1); stop=self.size(); (function(){while((function(){((start._gt(stop)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "trimFirst_last_", fn: function(){return smalltalk.String.$$new()}})})();})() : nil);return firstBlock.value_(self.at_(start));})()){(function(){return start=(start + (1));})()};return nil})(); (function(){while((function(){((stop._lt(start)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "trimFirst_last_", fn: function(){return smalltalk.String.$$new()}})})();})() : nil);return lastBlock.value_(self.at_(stop));})()){(function(){return stop=(stop - (1));})()};return nil})(); (function(){throw({name: "stReturn", selector: "trimFirst_last_", fn: function(){return self.copyFrom_to_(start, stop)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "trimFirst_last_"){return $$ex.fn();} throw($$ex);}} ,'selection',unescape('trimFirst%3A%20firstBlock%20last%3A%20lastBlock%0D%0A%09%22%20Return%20a%20String%20containing%20the%20result%20of%20trimming%20characters%20matching%20blocks%20from%20both%20sides%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20start%20stop%20%7C%0D%0A%09start%20%3A%3D%201.%20stop%20%3A%3D%20self%20size.%0D%0A%09%5B%09start%20%3E%20stop%20ifTrue%3A%20%5B%20%5EString%20new%20%5D.%0D%0A%09%09firstBlock%20value%3A%20%28self%20at%3A%20start%29%0D%0A%09%5D%20whileTrue%3A%20%5B%20start%20%3A%3D%20start%20+%201%20%5D.%0D%0A%09%5B%09stop%20%3C%20start%20ifTrue%3A%20%5B%20%5EString%20new%20%5D.%0D%0A%09%09lastBlock%20value%3A%20%28self%20at%3A%20stop%29%0D%0A%09%5D%20whileTrue%3A%20%5B%20stop%20%3A%3D%20stop%20-%201%20%5D.%0D%0A%09%5Eself%20copyFrom%3A%20start%20to%3A%20stop')); smalltalk.bind(smalltalk.String,'trim:','trim_' ,function (aBlock){ var self=this; return self.trimFirst_last_(aBlock, aBlock);return self;} ,'selection',unescape('trim%3A%20aBlock%0D%0A%09%22%20Return%20a%20String%20containing%20the%20result%20of%20trimming%20characters%20matching%20aBlock%20from%20both%20sides%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20trimFirst%3A%20aBlock%20last%3A%20aBlock')); smalltalk.bind(smalltalk.String,'trimFirst:','trimFirst_' ,function (aBlock){ var self=this; return self.trimFirst_last_(aBlock, (function(c){return false;}));return self;} ,'selection',unescape('trimFirst%3A%20aBlock%0D%0A%09%22%20Return%20a%20String%20containing%20the%20result%20of%20trimming%20characters%20matching%20aBlock%20from%20start%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20trimFirst%3A%20aBlock%20last%3A%20%5B%3Ac%7C%20false%20%5D')); smalltalk.bind(smalltalk.String,'trimLast:','trimLast_' ,function (aBlock){ var self=this; return self.trimFirst_last_((function(c){return false;}), aBlock);return self;} ,'selection',unescape('trimLast%3A%20aBlock%0D%0A%09%22%20Return%20a%20String%20containing%20the%20result%20of%20trimming%20characters%20matching%20aBlock%20from%20end%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20trimFirst%3A%20%5B%3Ac%7C%20false%20%5D%20last%3A%20aBlock')); smalltalk.bind(smalltalk.String,'trimBlanks','trimBlanks' ,function (){ var self=this; return self.trim_((function(c){return c.isSeparator();}));return self;} ,'selection',unescape('trimBlanks%0D%0A%09%22%20Return%20a%20String%20containing%20the%20receiver%20string%20with%20leading%20and%20trailing%20blanks%20removed.%20%22%0D%0A%0D%0A%09%5Eself%20trim%3A%20%5B%3Ac%7C%20c%20isSeparator%20%5D')); smalltalk.bind(smalltalk.String,'evaluateFor:','evaluateFor_' ,function (anObject){ var self=this; return anObject.perform_(self);return self;} ,'evaluation',unescape('evaluateFor%3A%20anObject%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20anObject.%20%22%0D%0A%0D%0A%09%5EanObject%20perform%3A%20self')); smalltalk.bind(smalltalk.String,'asParser','asParser' ,function (){ var self=this; return smalltalk.PPStringParser.$$new().string_(self);return self;} ,'converting',unescape('asParser%0D%0A%09%22%20Return%20a%20paser%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPStringParser%20new%20string%3A%20self')); smalltalk.bind(smalltalk.String,'asChoiceParser','asChoiceParser' ,function (){ var self=this; return smalltalk.PPChoiceParser.withAll_(self.asArray().collect_((function(each){return each.asParser();})));return self;} ,'converting',unescape('asChoiceParser%0D%0A%09%22%20Return%20a%20paser%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPChoiceParser%20withAll%3A%20%28self%20asArray%20collect%3A%20%5B%3Aeach%20%7C%20each%20asParser%5D%29')); smalltalk.bind(smalltalk.String,'asCharacterParser','asCharacterParser' ,function (){ var self=this; return smalltalk.PPCharacterParser.$$new().string_(self);return self;} ,'converting',unescape('asCharacterParser%0D%0A%09%22%20Return%20a%20paser%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EPPCharacterParser%20new%20string%3A%20self')); smalltalk.bind(smalltalk.String,'showIt','showIt' ,function (){ var self=this; return self.print_(self.evaluate());return self;} ,'evaluating',unescape('showIt%0D%0A%09%22%20Show/Print%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20print%3A%20self%20evaluate')); smalltalk.bind(smalltalk.String,'evaluate','evaluate' ,function (){ var self=this; return smalltalk.Compiler.evaluate_(self);return self;} ,'evaluating',unescape('evaluate%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5ECompiler%20evaluate%3A%20self')); smalltalk.bind(smalltalk.String,'doIt','doIt' ,function (){ var self=this; return smalltalk.Compiler.doIt_(self);return self;} ,'evaluating',unescape('doIt%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20or%20the%20error%20occurred%20during%20compilation%20or%20evaluation.%20%22%0D%0A%0D%0A%09%5ECompiler%20doIt%3A%20self')); smalltalk.bind(smalltalk.String,'fileIn','fileIn' ,function (){ var self=this; return self.stream().fileIn();return self;} ,'fileIn',unescape('fileIn%0D%0A%09%22%20FileIn%20the%20contents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20stream%20fileIn')); smalltalk.bind(smalltalk.String,'outputToFile:','outputToFile_' ,function (fileName){ var self=this; return fileWrite(fileName, self, "wb");return self;} ,'io',unescape('outputToFile%3A%20fileName%0D%0A%09%22%20Save%20the%20receiver%27s%20contents%20onto%20a%20file%20at%20fileName.%20%22%0D%0A%0D%0A%09%5E%23%20%23fileWrite%3A%20fileName%20string%3A%20self%20mode%3A%20%27wb%27')); smalltalk.bind(smalltalk.String,'appendToFile:','appendToFile_' ,function (fileName){ var self=this; return fileWrite(fileName, self, "ab");return self;} ,'io',unescape('appendToFile%3A%20fileName%0D%0A%09%22%20Append%20the%20receiver%27s%20contents%20onto%20a%20file%20at%20fileName.%20%22%0D%0A%0D%0A%09%5E%23%20%23fileWrite%3A%20fileName%20string%3A%20self%20mode%3A%20%27ab%27')); smalltalk.bind(smalltalk.String,'anchor:','anchor_' ,function (aName){ var self=this; return ((((aName || nil) === nil)).mustBeBoolean()==true ? (function(){return self.anchor();})() : (function(){return self.anchor(aName);})());return self;} ,'conversion',unescape('anchor%3A%20aName%0D%0A%09%22%20Return%20the%20string%20code%20for%20the%20HTML%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EaName%20isNil%0D%0A%09ifTrue%3A%20%5B%20self%20anchor%20%5D%0D%0A%09ifFalse%3A%20%5B%20self%20%23anchor%3A%20aName%20%5D')); smalltalk.bind(smalltalk.String,'fontColor:','fontColor_' ,function (aColor){ var self=this; return self.fontcolor(aColor);return self;} ,'conversion',unescape('fontColor%3A%20aColor%0D%0A%09%22%20Return%20the%20string%20code%20for%20the%20HTML%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23fontcolor%3A%20aColor')); smalltalk.bind(smalltalk.String,'fontSize:','fontSize_' ,function (aSize){ var self=this; return self.fontsize(aSize);return self;} ,'conversion',unescape('fontSize%3A%20aSize%0D%0A%09%22%20Return%20the%20string%20code%20for%20the%20HTML%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23fontsize%3A%20aSize')); smalltalk.bind(smalltalk.String,'link:','link_' ,function (url){ var self=this; return self.link(url);return self;} ,'conversion',unescape('link%3A%20url%0D%0A%09%22%20Return%20the%20string%20code%20for%20the%20HTML%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20%23link%3A%20url')); smalltalk.bind(smalltalk.Array,'size','size' ,function (){ var self=this; return self.length;return self;} ,'accessing',unescape('size%0D%0A%09%22%20Return%20the%20size%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20self.length%27%7D')); smalltalk.bind(smalltalk.Array,'at:put:','at_put_' ,function (anIndex,anObject){ var self=this; return self[anIndex - 1] = anObject;return self;} ,'accessing',unescape('at%3A%20anIndex%20put%3A%20anObject%0D%0A%09%22%20Return%20the%20contents%20of%20the%20receiver%20at%20anIndex.%20%22%0D%0A%0D%0A%7B%27%09return%20self%5BanIndex%20-%201%5D%20%3D%20anObject%27%7D')); smalltalk.bind(smalltalk.Array,'at:ifAbsent:','at_ifAbsent_' ,function (anIndex,aBlock){ var self=this; var value = self[anIndex - 1]; if(value === undefined) { return aBlock(); } return value;;return self;} ,'accessing',unescape('at%3A%20anIndex%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20contents%20of%20the%20receiver%20at%20anIndex%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%7B%27%09var%20value%20%3D%20self%5BanIndex%20-%201%5D%3B%0D%0A%09if%28value%20%3D%3D%3D%20undefined%29%20%7B%20return%20aBlock%28%29%3B%20%7D%0D%0A%09return%20value%3B%27%7D')); smalltalk.bind(smalltalk.Array,'add:','add_' ,function (anObject){ var self=this; self.push(anObject); return anObject;return self;} ,'adding/removing',unescape('add%3A%20anObject%0D%0A%09%22%20Add%20anObject%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23push%3A%20anObject.%0D%0A%09%5EanObject')); smalltalk.bind(smalltalk.Array,'isArray','isArray' ,function (){ var self=this; return true;return self;} ,'testing',unescape('isArray%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20an%20Array.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Array,'shallowCopy','shallowCopy' ,function (){ var self=this; var result=nil; result=self.$klass.$$new(); self.do_((function(each){return result.add_(each);})); return result;return self;} ,'copying',unescape('shallowCopy%0D%0A%09%22%20Return%20a%20shallow%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20class%20new.%0D%0A%09self%20do%3A%20%5B%3Aeach%20%7C%20result%20add%3A%20each%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Array,'deepCopy','deepCopy' ,function (){ var self=this; var result=nil; result=self.$klass.$$new(); self.do_((function(each){return result.add_(each.deepCopy());})); return result;return self;} ,'copying',unescape('deepCopy%0D%0A%09%22%20Return%20a%20deep%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20class%20new.%0D%0A%09self%20do%3A%20%5B%3Aeach%20%7C%20result%20add%3A%20each%20deepCopy%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Array,'copyFrom:to:','copyFrom_to_' ,function (anIndex,anotherIndex){ var self=this; var result=nil; result=self.$klass.$$new(); anIndex.to_do_(anotherIndex, (function(each){return result.add_(self.at_(each));})); return result;return self;} ,'copying',unescape('copyFrom%3A%20anIndex%20to%3A%20anotherIndex%0D%0A%09%22%20Return%20the%20receiver%20contents%20in%20the%20interval.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20class%20new.%0D%0A%09anIndex%20to%3A%20anotherIndex%20do%3A%20%5B%3Aeach%20%7C%20result%20add%3A%20%28self%20at%3A%20each%29%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Array,'join:','join_' ,function (aString){ var self=this; return self.join(aString);return self;} ,'enumerating',unescape('join%3A%20aString%0D%0A%09%22%20Return%20a%20string%20with%20the%20receiver%27s%20contents%20separated%20by%20aString.%20%22%0D%0A%0D%0A%09%5Eself%20%23join%3A%20aString')); smalltalk.bind(smalltalk.Array,'asJavascript','asJavascript' ,function (){ var self=this; return unescape("%5B")._comma(self.collect_((function(each){return each.asJavascript();})).join_(unescape("%2C%20")))._comma(unescape("%5D"));return self;} ,'converting',unescape('asJavascript%0D%0A%09%22%20Return%20the%20javascript%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27%5B%27%2C%20%28%28self%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJavascript%5D%29%20join%3A%20%27%2C%20%27%29%2C%20%20%27%5D%27')); smalltalk.bind(smalltalk.Array,'sortJS','sortJS' ,function (){ var self=this; return self.basicPerform_("sort");return self;} ,'enumerating',unescape('sortJS%0D%0A%09%22%20OBSOLETE%20-%20This%20method%20must%20not%20be%20implemented/used.%20%22%0D%0A%0D%0A%09%5Eself%20basicPerform%3A%20%27sort%27')); smalltalk.bind(smalltalk.Array,'sort:','sort_' ,function (aBlock){ var self=this; return self.sort(function(a, b) { if(aBlock(a,b)) {return -1} else {return 1} }) ;return self;} ,'enumerating',unescape('sort%3A%20aBlock%0D%0A%09%22%20Sort%20%28inplace%29%20the%20receiver%27s%20contents%20with%20aBlock.%20%22%0D%0A%0D%0A%7B%27%09return%20self.sort%28function%28a%2C%20b%29%20%7B%0D%0A%09%09if%28aBlock%28a%2Cb%29%29%20%7Breturn%20-1%7D%20else%20%7Breturn%201%7D%0D%0A%09%7D%29%20%27%7D')); smalltalk.bind(smalltalk.Array,'remove:','remove_' ,function (anObject){ var self=this; for(var i=0;i (1000))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "printString", fn: function(){return result._comma(unescape("...%29"))}})})();})() : nil);return result=result._comma(each.printString())._comma(" ");})); (function(){throw({name: "stReturn", selector: "printString", fn: function(){return result._comma(unescape("%29"))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "printString"){return $$ex.fn();} throw($$ex);}} ,'printing',unescape('printString%0D%0A%09%22%20DEBUG%20-%20Temporary%20printing%20method%20%28must%20check%20for%20recursion%29.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20%27%23%28%20%27.%0D%0A%09self%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09result%20size%20%3E%201000%20ifTrue%3A%20%5B%20%5Eresult%2C%27...%29%27%20%5D.%0D%0A%09%09result%20%3A%3D%20result%20%2C%20each%20printString%2C%27%20%27%0D%0A%09%5D.%0D%0A%09%5Eresult%2C%27%29%27')); smalltalk.bind(smalltalk.Array,'asJSONObject','asJSONObject' ,function (){ var self=this; return self.collect_((function(each){return each.asJSONObject();}));return self;} ,'converting',unescape('asJSONObject%0D%0A%09%22%20Return%20an%20object%20mapping%20the%20receiver%20to%20JSON%20structure.%20%22%0D%0A%0D%0A%09%5Eself%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJSONObject%20%5D')); smalltalk.bind(smalltalk.Array,'size','size' ,function (){ var self=this; return self.length;return self;} ,'accessing',unescape('size%0D%0A%09%22%20Return%20the%20size%20of%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09return%20self.length%27%7D')); smalltalk.bind(smalltalk.Array,'at:put:','at_put_' ,function (anIndex,anObject){ var self=this; return self[anIndex - 1] = anObject;return self;} ,'accessing',unescape('at%3A%20anIndex%20put%3A%20anObject%0D%0A%09%22%20Return%20the%20contents%20of%20the%20receiver%20at%20anIndex.%20%22%0D%0A%0D%0A%7B%27%09return%20self%5BanIndex%20-%201%5D%20%3D%20anObject%27%7D')); smalltalk.bind(smalltalk.Array,'at:ifAbsent:','at_ifAbsent_' ,function (anIndex,aBlock){ var self=this; var value = self[anIndex - 1]; if(value === undefined) { return aBlock(); } return value;;return self;} ,'accessing',unescape('at%3A%20anIndex%20ifAbsent%3A%20aBlock%0D%0A%09%22%20Return%20the%20contents%20of%20the%20receiver%20at%20anIndex%20or%20the%20result%20of%20evaluating%20aBlock.%20%22%0D%0A%0D%0A%7B%27%09var%20value%20%3D%20self%5BanIndex%20-%201%5D%3B%0D%0A%09if%28value%20%3D%3D%3D%20undefined%29%20%7B%20return%20aBlock%28%29%3B%20%7D%0D%0A%09return%20value%3B%27%7D')); smalltalk.bind(smalltalk.Array,'add:','add_' ,function (anObject){ var self=this; self.push(anObject); return anObject;return self;} ,'adding/removing',unescape('add%3A%20anObject%0D%0A%09%22%20Add%20anObject%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20%23push%3A%20anObject.%0D%0A%09%5EanObject')); smalltalk.bind(smalltalk.Array,'isArray','isArray' ,function (){ var self=this; return true;return self;} ,'testing',unescape('isArray%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20an%20Array.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Array,'shallowCopy','shallowCopy' ,function (){ var self=this; var result=nil; result=self.$klass.$$new(); self.do_((function(each){return result.add_(each);})); return result;return self;} ,'copying',unescape('shallowCopy%0D%0A%09%22%20Return%20a%20shallow%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20class%20new.%0D%0A%09self%20do%3A%20%5B%3Aeach%20%7C%20result%20add%3A%20each%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Array,'deepCopy','deepCopy' ,function (){ var self=this; var result=nil; result=self.$klass.$$new(); self.do_((function(each){return result.add_(each.deepCopy());})); return result;return self;} ,'copying',unescape('deepCopy%0D%0A%09%22%20Return%20a%20deep%20copy%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20class%20new.%0D%0A%09self%20do%3A%20%5B%3Aeach%20%7C%20result%20add%3A%20each%20deepCopy%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Array,'copyFrom:to:','copyFrom_to_' ,function (anIndex,anotherIndex){ var self=this; var result=nil; result=self.$klass.$$new(); anIndex.to_do_(anotherIndex, (function(each){return result.add_(self.at_(each));})); return result;return self;} ,'copying',unescape('copyFrom%3A%20anIndex%20to%3A%20anotherIndex%0D%0A%09%22%20Return%20the%20receiver%20contents%20in%20the%20interval.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20self%20class%20new.%0D%0A%09anIndex%20to%3A%20anotherIndex%20do%3A%20%5B%3Aeach%20%7C%20result%20add%3A%20%28self%20at%3A%20each%29%20%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Array,'join:','join_' ,function (aString){ var self=this; return self.join(aString);return self;} ,'enumerating',unescape('join%3A%20aString%0D%0A%09%22%20Return%20a%20string%20with%20the%20receiver%27s%20contents%20separated%20by%20aString.%20%22%0D%0A%0D%0A%09%5Eself%20%23join%3A%20aString')); smalltalk.bind(smalltalk.Array,'asJavascript','asJavascript' ,function (){ var self=this; return unescape("%5B")._comma(self.collect_((function(each){return each.asJavascript();})).join_(unescape("%2C%20")))._comma(unescape("%5D"));return self;} ,'converting',unescape('asJavascript%0D%0A%09%22%20Return%20the%20javascript%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27%5B%27%2C%20%28%28self%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJavascript%5D%29%20join%3A%20%27%2C%20%27%29%2C%20%20%27%5D%27')); smalltalk.bind(smalltalk.Array,'sortJS','sortJS' ,function (){ var self=this; return self.basicPerform_("sort");return self;} ,'enumerating',unescape('sortJS%0D%0A%09%22%20OBSOLETE%20-%20This%20method%20must%20not%20be%20implemented/used.%20%22%0D%0A%0D%0A%09%5Eself%20basicPerform%3A%20%27sort%27')); smalltalk.bind(smalltalk.Array,'sort:','sort_' ,function (aBlock){ var self=this; return self.sort(function(a, b) { if(aBlock(a,b)) {return -1} else {return 1} }) ;return self;} ,'enumerating',unescape('sort%3A%20aBlock%0D%0A%09%22%20Sort%20%28inplace%29%20the%20receiver%27s%20contents%20with%20aBlock.%20%22%0D%0A%0D%0A%7B%27%09return%20self.sort%28function%28a%2C%20b%29%20%7B%0D%0A%09%09if%28aBlock%28a%2Cb%29%29%20%7Breturn%20-1%7D%20else%20%7Breturn%201%7D%0D%0A%09%7D%29%20%27%7D')); smalltalk.bind(smalltalk.Array,'remove:','remove_' ,function (anObject){ var self=this; for(var i=0;i (1000))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "printString", fn: function(){return result._comma(unescape("...%29"))}})})();})() : nil);return result=result._comma(each.printString())._comma(" ");})); (function(){throw({name: "stReturn", selector: "printString", fn: function(){return result._comma(unescape("%29"))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "printString"){return $$ex.fn();} throw($$ex);}} ,'printing',unescape('printString%0D%0A%09%22%20DEBUG%20-%20Temporary%20printing%20method%20%28must%20check%20for%20recursion%29.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09result%20%3A%3D%20%27%23%28%20%27.%0D%0A%09self%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09result%20size%20%3E%201000%20ifTrue%3A%20%5B%20%5Eresult%2C%27...%29%27%20%5D.%0D%0A%09%09result%20%3A%3D%20result%20%2C%20each%20printString%2C%27%20%27%0D%0A%09%5D.%0D%0A%09%5Eresult%2C%27%29%27')); smalltalk.bind(smalltalk.Array,'asJSONObject','asJSONObject' ,function (){ var self=this; return self.collect_((function(each){return each.asJSONObject();}));return self;} ,'converting',unescape('asJSONObject%0D%0A%09%22%20Return%20an%20object%20mapping%20the%20receiver%20to%20JSON%20structure.%20%22%0D%0A%0D%0A%09%5Eself%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJSONObject%20%5D')); smalltalk.bind(smalltalk.Error.$klass,'signal:','signal_' ,function (aString){ var self=this; return (function($rec){$rec.messageText_(aString);return $rec.signal();})(self.$$new());return self;} ,'instance creation',unescape('signal%3A%20aString%0D%0A%09%22%20Signal%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09messageText%3A%20aString%3B%0D%0A%09%09signal')); smalltalk.bind(smalltalk.Error,'nativeException','nativeException' ,function (){ var self=this; return (self[unescape("@nativeException")] || nil);return self;} ,'native error handling',unescape('nativeException%0D%0A%09%22%20Private%2C%20Internal%20-%20Return%20the%20native%20exception%20associated%20with%20the%20receiver%20%28or%20nil%29.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27@nativeException%27')); smalltalk.bind(smalltalk.Error,'nativeException:','nativeException_' ,function ($$native){ var self=this; return (self[unescape("@nativeException")]=($$native));return self;} ,'native error handling',unescape('nativeException%3A%20native%0D%0A%09%22%20Private%2C%20Internal%20-%20Set%20the%20native%20exception%20associated%20with%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20basicAt%3A%20%27@nativeException%27%20put%3A%20native')); smalltalk.bind(smalltalk.Error,'stack','stack' ,function (){ var self=this; var ex=nil; ex=self.nativeException(); return ((((ex || nil) !== nil)).mustBeBoolean()==true ? (function(){return ex.stack;})() : nil);return self;} ,'stack-trace',unescape('stack%0D%0A%09%22%20Return%20a%20stack%20trace%20string%20%28or%20nil%29.%20%22%0D%0A%0D%0A%09%7C%20ex%20%7C%0D%0A%09ex%20%3A%3D%20self%20nativeException.%0D%0A%09%5Eex%20notNil%20ifTrue%3A%20%5B%20ex%23stack%20%5D')); smalltalk.bind(smalltalk.MessageNotUnderstood,'message','message' ,function (){ var self=this; return self['@message'];return self;} ,'accessing',unescape('message%0D%0A%09%22%20Return%20the%20message%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Emessage')); smalltalk.bind(smalltalk.MessageNotUnderstood,'message:','message_' ,function (aMessage){ var self=this; self['@message']=aMessage;return self;} ,'accessing',unescape('message%3A%20aMessage%0D%0A%09%22%20Set%20the%20message%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09message%20%3A%3D%20aMessage')); smalltalk.bind(smalltalk.MessageNotUnderstood,'receiver','receiver' ,function (){ var self=this; return self['@receiver'];return self;} ,'accessing',unescape('receiver%0D%0A%09%22%20Return%20the%20receiver%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ereceiver')); smalltalk.bind(smalltalk.MessageNotUnderstood,'receiver:','receiver_' ,function (anObject){ var self=this; self['@receiver']=anObject;return self;} ,'accessing',unescape('receiver%3A%20anObject%0D%0A%09%22%20Set%20the%20receiver%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09receiver%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.MessageNotUnderstood,'messageText','messageText' ,function (){ var self=this; return self.receiver().asString()._comma(unescape("%20does%20not%20understand%20%23"))._comma(self.message().selector());return self;} ,'accessing',unescape('messageText%0D%0A%09%22%20Return%20the%20message%20text%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20receiver%20asString%2C%20%27%20does%20not%20understand%20%23%27%2C%20self%20message%20selector')); smalltalk.bind(smalltalk.StringStream,'next:','next_' ,function (anInteger){ var self=this; var start=nil; var result=nil; var stop=nil; start=self.position(); stop=start._plus(anInteger).min_(self.readLimit()); result=self.collection().copyFrom_to_((start + (1)), stop); self.position_(stop); return result;return self;} ,'reading',unescape('next%3A%20anInteger%0D%0A%09%22%20Return%20the%20next%20anInteger%20elements%20read%20from%20the%20receiver.%0D%0A%09If%20the%20receiver%20reach%20its%20end%2C%20the%20returned%20collection%20has%20less%20elements.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20start%20result%20stop%20%7C%0D%0A%09start%20%3A%3D%20self%20position.%0D%0A%09stop%20%3A%3D%20start%20+%20anInteger%20min%3A%20self%20readLimit.%0D%0A%09result%20%3A%3D%20self%20collection%20copyFrom%3A%20start%20+%201%20to%3A%20stop.%0D%0A%09self%20position%3A%20stop.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.StringStream,'nextPut:','nextPut_' ,function (aString){ var self=this; self.nextPutAll_(aString);return self;} ,'writing',unescape('nextPut%3A%20aString%0D%0A%09%22%20Put%20aString%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20nextPutAll%3A%20aString')); smalltalk.bind(smalltalk.StringStream,'nextPutAll:','nextPutAll_' ,function (aString){ var self=this; var result=nil; var substring=nil; substring=self.collection().copyFrom_to_((1), self.position()); result=((substring.isEmpty()).mustBeBoolean()==true ? (function(){return aString;})() : (function(){return substring._comma(aString);})()); substring=self.collection().copyFrom_to_((self.position() + (1))._plus(aString.size()), self.collection().size()); result=((substring.isEmpty()).mustBeBoolean()==true ? (function(){return result;})() : (function(){return result._comma(substring);})()); self.collection_(result); self.position_(self.position()._plus(aString.size())); self.readLimit_(self.readLimit().max_(self.position()));return self;} ,'writing',unescape('nextPutAll%3A%20aString%0D%0A%09%22%20Put%20aString%20onto%20the%20receiver%20at%20current%20position%3B%20expanding%20internal%20contents.%20%22%0D%0A%0D%0A%09%7C%20result%20substring%20%7C%0D%0A%09substring%20%3A%3D%20self%20collection%20copyFrom%3A%201%20to%3A%20self%20position.%0D%0A%09result%20%3A%3D%20substring%20isEmpty%20ifTrue%3A%20%5B%20aString%20%5D%20ifFalse%3A%20%5B%20substring%20%2C%20aString%20%5D.%0D%0A%09substring%20%3A%3D%20self%20collection%0D%0A%09%09copyFrom%3A%20self%20position%20+%201%20+%20aString%20size%0D%0A%09%09to%3A%20self%20collection%20size.%0D%0A%09result%20%3A%3D%20substring%20isEmpty%20ifTrue%3A%20%5B%20result%20%5D%20ifFalse%3A%20%5B%20result%20%2C%20substring%20%5D.%0D%0A%09%0D%0A%09self%20collection%3A%20result.%0D%0A%09self%20position%3A%20self%20position%20+%20aString%20size.%0D%0A%09self%20readLimit%3A%20%28self%20readLimit%20max%3A%20self%20position%29')); smalltalk.bind(smalltalk.StringStream,'skipTo:','skipTo_' ,function (anObject){ var self=this; try{ var index=nil; ((anObject.isString()).mustBeBoolean()==true ? nil : (function(){self.setToEnd();return (function(){throw({name: "stReturn", selector: "skipTo_", fn: function(){return false}})})();})()); index=self.collection().indexOf_startingAt_(anObject, (self.position() + (1))); ((index.between_and_((self.position() + (1)), self.readLimit())).mustBeBoolean()==true ? (function(){self.position_((index._plus(anObject.size()) - (1)));return (function(){throw({name: "stReturn", selector: "skipTo_", fn: function(){return true}})})();})() : nil); self.setToEnd(); (function(){throw({name: "stReturn", selector: "skipTo_", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "skipTo_"){return $$ex.fn();} throw($$ex);}} ,'reading',unescape('skipTo%3A%20anObject%0D%0A%09%22%20Advance%20the%20receiver%20upto%20anObject%20%28or%20end%29.%20%22%0D%0A%0D%0A%09%7C%20index%20%7C%0D%0A%09anObject%20isString%20ifFalse%3A%20%5B%20self%20setToEnd.%20%5Efalse%20%5D.%0D%0A%09index%20%3A%3D%20self%20collection%20indexOf%3A%20anObject%20startingAt%3A%20self%20position%20+%201.%0D%0A%09%28index%20between%3A%20self%20position%20+%201%20and%3A%20self%20readLimit%29%20ifTrue%3A%20%5B%0D%0A%09%09self%20position%3A%20index%20+%20anObject%20size%20-%201.%0D%0A%09%09%5Etrue%0D%0A%09%5D.%0D%0A%09self%20setToEnd.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.StringStream,'upTo:','upTo_' ,function (anObject){ var self=this; try{ var start=nil; var found=nil; start=(self.position() + (1)); ((anObject.isString()).mustBeBoolean()==true ? nil : (function(){self.setToEnd();return (function(){throw({name: "stReturn", selector: "upTo_", fn: function(){return self.collection().copyFrom_to_(start, self.readLimit())}})})();})()); found=((self.skipTo_(anObject)).mustBeBoolean()==true ? (function(){return anObject.size();})() : (function(){return (0);})()); (function(){throw({name: "stReturn", selector: "upTo_", fn: function(){return self.collection().copyFrom_to_(start, self.position()._minus(found))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "upTo_"){return $$ex.fn();} throw($$ex);}} ,'reading',unescape('upTo%3A%20anObject%0D%0A%09%22%20Return%20the%20elements%20read%20from%20the%20receiver%20upto%20anObject%20%28or%20end%29.%20%22%0D%0A%0D%0A%09%7C%20start%20found%20%7C%0D%0A%09start%20%3A%3D%20self%20position%20+%201.%0D%0A%09anObject%20isString%20ifFalse%3A%20%5B%0D%0A%09%09self%20setToEnd.%0D%0A%09%09%5Eself%20collection%20copyFrom%3A%20start%20to%3A%20self%20readLimit%0D%0A%09%5D.%0D%0A%09found%20%3A%3D%20%28self%20skipTo%3A%20anObject%29%20ifTrue%3A%20%5B%20anObject%20size%20%5D%20ifFalse%3A%20%5B%200%20%5D.%0D%0A%09%5Eself%20collection%20copyFrom%3A%20start%20to%3A%20self%20position%20-%20found')); smalltalk.bind(smalltalk.Message.$klass,'selector:arguments:','selector_arguments_' ,function (aString,anArray){ var self=this; return (function($rec){$rec.selector_(aString);$rec.arguments_(anArray);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('selector%3A%20aString%20arguments%3A%20anArray%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09selector%3A%20aString%3B%0D%0A%09%09arguments%3A%20anArray%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Message.$klass,'receiver:selector:arguments:','receiver_selector_arguments_' ,function (anObject,aString,anArray){ var self=this; return (function($rec){$rec.receiver_(anObject);$rec.selector_(aString);$rec.arguments_(anArray);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('receiver%3A%20anObject%20selector%3A%20aString%20arguments%3A%20anArray%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09receiver%3A%20anObject%3B%0D%0A%09%09selector%3A%20aString%3B%0D%0A%09%09arguments%3A%20anArray%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Message,'selector','selector' ,function (){ var self=this; return self['@selector'];return self;} ,'accessing',unescape('selector%0D%0A%09%22%20Return%20the%20selector%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eselector')); smalltalk.bind(smalltalk.Message,'selector:','selector_' ,function (aString){ var self=this; self['@selector']=aString;return self;} ,'accessing',unescape('selector%3A%20aString%0D%0A%09%22%20Set%20the%20selector%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09selector%20%3A%3D%20aString')); smalltalk.bind(smalltalk.Message,'arguments:','arguments_' ,function (anArray){ var self=this; self['@arguments']=anArray;return self;} ,'accessing',unescape('arguments%3A%20anArray%0D%0A%09%22%20Set%20the%20arguments%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09arguments%20%3A%3D%20anArray')); smalltalk.bind(smalltalk.Message,'arguments','arguments' ,function (){ var self=this; return self['@arguments'];return self;} ,'accessing',unescape('arguments%0D%0A%09%22%20Return%20the%20arguments%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Earguments')); smalltalk.bind(smalltalk.Message,'receiver','receiver' ,function (){ var self=this; return self['@receiver'];return self;} ,'accessing',unescape('receiver%0D%0A%09%22%20Return%20the%20receiver%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ereceiver')); smalltalk.bind(smalltalk.Message,'receiver:','receiver_' ,function (anObject){ var self=this; self['@receiver']=anObject;return self;} ,'accessing',unescape('receiver%3A%20anObject%0D%0A%09%22%20Set%20the%20receiver%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09receiver%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.Message,'perform','perform' ,function (){ var self=this; return self.receiver().perform_withArguments_(self.selector(), self.arguments());return self;} ,'private',unescape('perform%0D%0A%09%22%20Return%20the%20result%20of%20sending%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20receiver%0D%0A%09%09perform%3A%20self%20selector%0D%0A%09%09withArguments%3A%20self%20arguments')); smalltalk.bind(smalltalk.Message,'evaluate','evaluate' ,function (){ var self=this; return self.perform();return self;} ,'evaluation',unescape('evaluate%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20perform')); smalltalk.bind(smalltalk.Message,'evaluateFor:','evaluateFor_' ,function (anObject){ var self=this; return self.evaluateWithArguments_(smalltalk.Array.with_(anObject));return self;} ,'evaluation',unescape('evaluateFor%3A%20anObject%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver%20with%20anObject.%20%22%0D%0A%0D%0A%09%5Eself%20evaluateWithArguments%3A%20%28Array%20with%3A%20anObject%29')); smalltalk.bind(smalltalk.Message,'evaluateWithArguments:','evaluateWithArguments_' ,function (anArray){ var self=this; return self.receiver().perform_withArguments_(self.selector(), self.collectArguments_(anArray));return self;} ,'evaluation',unescape('evaluateWithArguments%3A%20anArray%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20receiver%0D%0A%09%09perform%3A%20self%20selector%0D%0A%09%09withArguments%3A%20%28self%20collectArguments%3A%20anArray%29')); smalltalk.bind(smalltalk.Message,'initializeArguments','initializeArguments' ,function (){ var self=this; self['@arguments']=smalltalk.Array.new_(self.selector().argumentCount());return self;} ,'private',unescape('initializeArguments%0D%0A%09%22%20Private%20-%20Initialize%20the%20arguments%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09arguments%20%3A%3D%20Array%20new%3A%20self%20selector%20argumentCount')); smalltalk.bind(smalltalk.Message,'argumentCount','argumentCount' ,function (){ var self=this; ((((self['@arguments'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self.initializeArguments();})() : nil); return self['@arguments'].size();return self;} ,'private',unescape('argumentCount%0D%0A%09%22%20Return%20the%20number%20of%20arguments%20required%20to%20evaluate%20the%20receiver.%20%22%0D%0A%0D%0A%09arguments%20isNil%20ifTrue%3A%20%5B%20self%20initializeArguments%20%5D.%0D%0A%09%5Earguments%20size')); smalltalk.bind(smalltalk.Message,'collectArguments:','collectArguments_' ,function (evaluationArguments){ var self=this; try{ ((self['@arguments'].size()._eq(evaluationArguments.size())).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "collectArguments_", fn: function(){return evaluationArguments}})})();})() : nil); (function(){throw({name: "stReturn", selector: "collectArguments_", fn: function(){return evaluationArguments.copyFrom_to_((1), self.argumentsCount().min_(evaluationArguments.size()))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "collectArguments_"){return $$ex.fn();} throw($$ex);}} ,'private',unescape('collectArguments%3A%20evaluationArguments%0D%0A%09%22%20Private%20-%20Return%20the%20arguments%20to%20evaluate%20the%20receiver.%20%22%0D%0A%0D%0A%09arguments%20size%20%3D%20evaluationArguments%20size%20ifTrue%3A%20%5B%20%5EevaluationArguments%20%5D.%0D%0A%09%5EevaluationArguments%20copyFrom%3A%201%20to%3A%20%28self%20argumentsCount%20min%3A%20evaluationArguments%20size%29')); smalltalk.bind(smalltalk.LinkMessage,'resultAction','resultAction' ,function (){ var self=this; return self['@resultAction'];return self;} ,'accessing',unescape('resultAction%0D%0A%09%22%20Return%20the%20resultAction%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EresultAction')); smalltalk.bind(smalltalk.LinkMessage,'resultAction:','resultAction_' ,function (anObject){ var self=this; self['@resultAction']=anObject;return self;} ,'accessing',unescape('resultAction%3A%20anObject%0D%0A%09%22%20Set%20the%20resultAction%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09resultAction%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.LinkMessage,'evaluate','evaluate' ,function (){ var self=this; return self.evaluateWithArguments_([]);return self;} ,'evaluation',unescape('evaluate%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20evaluateWithArguments%3A%20%23%28%29')); smalltalk.bind(smalltalk.LinkMessage,'collectArguments:','collectArguments_' ,function (evaluationArguments){ var self=this; return self.arguments().collect_((function(each){return each.evaluateWithArguments_(evaluationArguments);}));return self;} ,'evaluation',unescape('collectArguments%3A%20evaluationArguments%0D%0A%09%22%20Private%20-%20Return%20the%20arguments%20to%20evaluate%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20arguments%20collect%3A%20%5B%3Aeach%7C%20each%20evaluateWithArguments%3A%20evaluationArguments%20%5D')); smalltalk.bind(smalltalk.MethodNode,'selector','selector' ,function (){ var self=this; return self['@selector'];return self;} ,'accessing',unescape('selector%0D%0A%09%5Eselector')); smalltalk.bind(smalltalk.MethodNode,'selector:','selector_' ,function (aString){ var self=this; self['@selector']=aString;return self;} ,'accessing',unescape('selector%3A%20aString%0D%0A%09selector%20%3A%3D%20aString')); smalltalk.bind(smalltalk.MethodNode,'arguments','arguments' ,function (){ var self=this; return ((((self['@arguments'] || nil) === nil)).mustBeBoolean()==true ? (function(){return [];})() : (function(){return self['@arguments'];})());return self;} ,'accessing',unescape('arguments%0D%0A%09%5Earguments%20isNil%20ifTrue%3A%20%5B%20%23%28%29%20%5D%20ifFalse%3A%20%5B%20arguments%20%5D')); smalltalk.bind(smalltalk.MethodNode,'arguments:','arguments_' ,function (aCollection){ var self=this; self['@arguments']=aCollection;return self;} ,'accessing',unescape('arguments%3A%20aCollection%0D%0A%09arguments%20%3A%3D%20aCollection')); smalltalk.bind(smalltalk.MethodNode,'source','source' ,function (){ var self=this; return self['@source'];return self;} ,'accessing',unescape('source%0D%0A%09%5Esource')); smalltalk.bind(smalltalk.MethodNode,'source:','source_' ,function (aString){ var self=this; self['@source']=aString;return self;} ,'accessing',unescape('source%3A%20aString%0D%0A%09source%20%3A%3D%20aString')); smalltalk.bind(smalltalk.MethodNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitMethodNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitMethodNode%3A%20self')); smalltalk.bind(smalltalk.SendNode,'selector','selector' ,function (){ var self=this; return self['@selector'];return self;} ,'accessing',unescape('selector%0D%0A%09%5Eselector')); smalltalk.bind(smalltalk.SendNode,'selector:','selector_' ,function (aString){ var self=this; self['@selector']=aString;return self;} ,'accessing',unescape('selector%3A%20aString%0D%0A%09selector%20%3A%3D%20aString')); smalltalk.bind(smalltalk.SendNode,'arguments','arguments' ,function (){ var self=this; return ((((self['@arguments'] || nil) === nil)).mustBeBoolean()==true ? (function(){return [];})() : (function(){return self['@arguments'];})());return self;} ,'accessing',unescape('arguments%0D%0A%09%5Earguments%20isNil%20ifTrue%3A%20%5B%20%23%28%29%20%5D%20ifFalse%3A%20%5B%20arguments%20%5D')); smalltalk.bind(smalltalk.SendNode,'arguments:','arguments_' ,function (aCollection){ var self=this; self['@arguments']=aCollection;return self;} ,'accessing',unescape('arguments%3A%20aCollection%0D%0A%09arguments%20%3A%3D%20aCollection')); smalltalk.bind(smalltalk.SendNode,'receiver','receiver' ,function (){ var self=this; return self['@receiver'];return self;} ,'accessing',unescape('receiver%0D%0A%09%5Ereceiver')); smalltalk.bind(smalltalk.SendNode,'receiver:','receiver_' ,function (aNode){ var self=this; self['@receiver']=aNode;return self;} ,'accessing',unescape('receiver%3A%20aNode%0D%0A%09receiver%20%3A%3D%20aNode')); smalltalk.bind(smalltalk.SendNode,'valueForReceiver:','valueForReceiver_' ,function (anObject){ var self=this; return (function($rec){$rec.receiver_((((self.receiver())||nil)=== nil) ? (function(){return anObject;})() : (function(){return self.receiver().valueForReceiver_(anObject);})());$rec.selector_(self.selector());$rec.arguments_(self.arguments());return $rec.yourself();})(smalltalk.SendNode.$$new());return self;} ,'accessing',unescape('valueForReceiver%3A%20anObject%0D%0A%09%5ESendNode%20new%0D%0A%09%20%20%20%20receiver%3A%20%28self%20receiver%20%0D%0A%09%09ifNil%3A%20%5BanObject%5D%0D%0A%09%09ifNotNil%3A%20%5Bself%20receiver%20valueForReceiver%3A%20anObject%5D%29%3B%0D%0A%09%20%20%20%20selector%3A%20self%20selector%3B%0D%0A%09%20%20%20%20arguments%3A%20self%20arguments%3B%0D%0A%09%20%20%20%20yourself')); smalltalk.bind(smalltalk.SendNode,'cascadeNodeWithMessages:','cascadeNodeWithMessages_' ,function (aCollection){ var self=this; var first=nil; first=(function($rec){$rec.selector_(self.selector());$rec.arguments_(self.arguments());return $rec.yourself();})(smalltalk.SendNode.$$new()); return (function($rec){$rec.receiver_(self.receiver());$rec.nodes_(smalltalk.Array.with_(first)._comma(aCollection));return $rec.yourself();})(smalltalk.CascadeNode.$$new());return self;} ,'accessing',unescape('cascadeNodeWithMessages%3A%20aCollection%0D%0A%09%7C%20first%20%7C%0D%0A%09first%20%3A%3D%20SendNode%20new%0D%0A%09%20%20%20%20selector%3A%20self%20selector%3B%0D%0A%09%20%20%20%20arguments%3A%20self%20arguments%3B%0D%0A%09%20%20%20%20yourself.%0D%0A%09%5ECascadeNode%20new%0D%0A%09%20%20%20%20receiver%3A%20self%20receiver%3B%0D%0A%09%20%20%20%20nodes%3A%20%28Array%20with%3A%20first%29%2C%20aCollection%3B%0D%0A%09%20%20%20%20yourself')); smalltalk.bind(smalltalk.SendNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitSendNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitSendNode%3A%20self')); smalltalk.bind(smalltalk.CascadeNode,'receiver','receiver' ,function (){ var self=this; return self['@receiver'];return self;} ,'accessing',unescape('receiver%0D%0A%09%5Ereceiver')); smalltalk.bind(smalltalk.CascadeNode,'receiver:','receiver_' ,function (aNode){ var self=this; self['@receiver']=aNode;return self;} ,'accessing',unescape('receiver%3A%20aNode%0D%0A%09receiver%20%3A%3D%20aNode')); smalltalk.bind(smalltalk.CascadeNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitCascadeNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitCascadeNode%3A%20self')); smalltalk.bind(smalltalk.AssignmentNode,'left','left' ,function (){ var self=this; return self['@left'];return self;} ,'accessing',unescape('left%0D%0A%09%5Eleft')); smalltalk.bind(smalltalk.AssignmentNode,'left:','left_' ,function (aNode){ var self=this; self['@left']=aNode;return self;} ,'accessing',unescape('left%3A%20aNode%0D%0A%09left%20%3A%3D%20aNode')); smalltalk.bind(smalltalk.AssignmentNode,'right','right' ,function (){ var self=this; return self['@right'];return self;} ,'accessing',unescape('right%0D%0A%09%5Eright')); smalltalk.bind(smalltalk.AssignmentNode,'right:','right_' ,function (aNode){ var self=this; self['@right']=aNode;return self;} ,'accessing',unescape('right%3A%20aNode%0D%0A%09right%20%3A%3D%20aNode')); smalltalk.bind(smalltalk.AssignmentNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitAssignmentNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitAssignmentNode%3A%20self')); smalltalk.bind(smalltalk.AssignmentNode,'isAssignment','isAssignment' ,function (){ var self=this; return true;return self;} ,'testing',unescape('isAssignment%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20an%20assignment%20node.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.BlockNode,'parameters','parameters' ,function (){ var self=this; ((((self['@parameters'] || nil) === nil)).mustBeBoolean()==true ? (function(){return self['@parameters']=smalltalk.Array.$$new();})() : nil); return self['@parameters'];return self;} ,'accessing',unescape('parameters%0D%0A%09parameters%20isNil%20ifTrue%3A%20%5B%20parameters%20%3A%3D%20Array%20new%20%5D.%0D%0A%09%5Eparameters')); smalltalk.bind(smalltalk.BlockNode,'parameters:','parameters_' ,function (aCollection){ var self=this; self['@parameters']=aCollection;return self;} ,'accessing',unescape('parameters%3A%20aCollection%0D%0A%09parameters%20%3A%3D%20aCollection')); smalltalk.bind(smalltalk.BlockNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitBlockNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitBlockNode%3A%20self')); smalltalk.bind(smalltalk.SequenceNode,'temps','temps' ,function (){ var self=this; return ((((self['@temps'] || nil) === nil)).mustBeBoolean()==true ? (function(){return [];})() : (function(){return self['@temps'];})());return self;} ,'accessing',unescape('temps%0D%0A%09%5Etemps%20isNil%20ifTrue%3A%20%5B%20%23%28%29%20%5D%20ifFalse%3A%20%5B%20temps%20%5D')); smalltalk.bind(smalltalk.SequenceNode,'temps:','temps_' ,function (aCollection){ var self=this; self['@temps']=aCollection;return self;} ,'accessing',unescape('temps%3A%20aCollection%0D%0A%09temps%20%3A%3D%20aCollection')); smalltalk.bind(smalltalk.SequenceNode,'asBlockSequenceNode','asBlockSequenceNode' ,function (){ var self=this; return (function($rec){$rec.nodes_(self.nodes());$rec.temps_(self.temps());return $rec.yourself();})(smalltalk.BlockSequenceNode.$$new());return self;} ,'testing',unescape('asBlockSequenceNode%0D%0A%09%5EBlockSequenceNode%20new%0D%0A%09%20%20%20%20nodes%3A%20self%20nodes%3B%0D%0A%09%20%20%20%20temps%3A%20self%20temps%3B%0D%0A%09%20%20%20%20yourself')); smalltalk.bind(smalltalk.SequenceNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitSequenceNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitSequenceNode%3A%20self')); smalltalk.bind(smalltalk.ReturnNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitReturnNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitReturnNode%3A%20self')); smalltalk.bind(smalltalk.ValueNode,'value','value' ,function (){ var self=this; return self['@value'];return self;} ,'accessing',unescape('value%0D%0A%09%5Evalue')); smalltalk.bind(smalltalk.ValueNode,'value:','value_' ,function (anObject){ var self=this; self['@value']=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.ValueNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitValueNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitValueNode%3A%20self')); smalltalk.bind(smalltalk.ValueNode,'hasNumber','hasNumber' ,function (){ var self=this; return self['@value'].isNumber();return self;} ,'testing',unescape('hasNumber%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20has%20a%20numeric%20literal%20value.%20%22%0D%0A%0D%0A%09%5Evalue%20isNumber')); smalltalk.bind(smalltalk.ValueNode,'hasString','hasString' ,function (){ var self=this; return self['@value'].isString();return self;} ,'testing',unescape('hasString%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20has%20a%20string%20literal%20value.%20%22%0D%0A%0D%0A%09%5Evalue%20isString')); smalltalk.bind(smalltalk.JSStatementNode,'source','source' ,function (){ var self=this; return (function(){var $1$;return ((($1$ = self['@source'])||nil)=== nil) ? (function(){return "";})() : $1$;})();return self;} ,'accessing',unescape('source%0D%0A%09%5Esource%20ifNil%3A%20%5B%27%27%5D')); smalltalk.bind(smalltalk.JSStatementNode,'source:','source_' ,function (aString){ var self=this; self['@source']=aString;return self;} ,'accessing',unescape('source%3A%20aString%0D%0A%09source%20%3A%3D%20aString')); smalltalk.bind(smalltalk.JSStatementNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitJSStatementNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitJSStatementNode%3A%20self')); smalltalk.bind(smalltalk.BlockSequenceNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitBlockSequenceNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitBlockSequenceNode%3A%20self')); smalltalk.bind(smalltalk.ExtendedSequenceNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitExtendedSequenceNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09%22%20Accept%20aVisitor.%20%22%0D%0A%0D%0A%09aVisitor%20visitExtendedSequenceNode%3A%20self')); smalltalk.bind(smalltalk.ExtendedSequenceNode,'directive','directive' ,function (){ var self=this; return self['@directive'];return self;} ,'accessing',unescape('directive%0D%0A%09%22%20Return%20the%20directive%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Edirective')); smalltalk.bind(smalltalk.ExtendedSequenceNode,'directive:','directive_' ,function (aDirective){ var self=this; self['@directive']=aDirective;return self;} ,'accessing',unescape('directive%3A%20aDirective%0D%0A%09%22%20Set%20the%20directive%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09directive%20%3A%3D%20aDirective')); smalltalk.bind(smalltalk.VariableNode,'localNameIn:','localNameIn_' ,function (aCompiler){ var self=this; return aCompiler.localName_(self.value());return self;} ,'accessing',unescape('localNameIn%3A%20aCompiler%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver%20to%20be%20used%20by%20aCompiler%20locally.%20%22%0D%0A%0D%0A%09%5EaCompiler%20localName%3A%20self%20value%20')); smalltalk.bind(smalltalk.VariableNode,'needsVerification','needsVerification' ,function (){ var self=this; return false;return self;} ,'testing',unescape('needsVerification%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20need%20verification.%20%22%0D%0A%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.VariableNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitVariableNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitVariableNode%3A%20self')); smalltalk.bind(smalltalk.VariableNode,'isSuper','isSuper' ,function (){ var self=this; return self['@value']._eq("super");return self;} ,'testing',unescape('isSuper%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20super.%20%22%0D%0A%0D%0A%09%5Evalue%20%3D%20%27super%27')); smalltalk.bind(smalltalk.VariableNode,'indices','indices' ,function (){ var self=this; return ((((self['@indices'] || nil) === nil)).mustBeBoolean()==true ? (function(){return smalltalk.Array.$$new();})() : (function(){return self['@indices'];})());return self;} ,'accessing',unescape('indices%0D%0A%09%22%20Return%20the%20indexing%20references%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eindices%20isNil%20ifTrue%3A%20%5B%20Array%20new%20%5D%20ifFalse%3A%20%5B%20indices%20%5D')); smalltalk.bind(smalltalk.VariableNode,'indexedAs:','indexedAs_' ,function (chain){ var self=this; self['@indices']=(((chain.size() > (1)).and_((function(){return chain.second().notEmpty();}))).mustBeBoolean()==true ? (function(){return chain.second().collect_((function(tuple){return ((tuple.second().isString()).mustBeBoolean()==true ? (function(){return smalltalk.ValueNode.$$new().value_(tuple.second());})() : (function(){return tuple.second();})());}));})() : nil); return self;return self;} ,'visiting',unescape('indexedAs%3A%20chain%0D%0A%09%22%20The%20receiver%20has%20indexing%20references%20defined%20by%20chain.%20%22%0D%0A%0D%0A%09indices%20%3A%3D%20%28chain%20size%20%3E%201%20and%3A%20%5B%20chain%20second%20notEmpty%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09chain%20second%20collect%3A%20%5B%3Atuple%7C%0D%0A%09%09%09tuple%20second%20isString%0D%0A%09%09%09ifTrue%3A%20%5B%20ValueNode%20new%20value%3A%20tuple%20second%20%5D%0D%0A%09%09%09ifFalse%3A%20%5B%20tuple%20second%20%5D%0D%0A%09%09%5D%0D%0A%09%5D.%0D%0A%09%22self%20print%3A%20%27-%27%2Cself%20value%20asString%2C%27-%3E%3E-indices%3D%27%2C%20self%20indices%20asString.%22%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.GlobalReferenceNode,'accept:','accept_' ,function (aVisitor){ var self=this; aVisitor.visitGlobalReferenceNode_(self);return self;} ,'visiting',unescape('accept%3A%20aVisitor%0D%0A%09aVisitor%20visitGlobalReferenceNode%3A%20self')); smalltalk.bind(smalltalk.NoReceiverNode,'accept:','accept_' ,function (aVisitor){ var self=this; return self;} ,'visiting',unescape('accept%3A%20aVisitor')); smalltalk.bind(smalltalk.NoReceiverNode,'messageSendConnector','messageSendConnector' ,function (){ var self=this; return smalltalk.String.$$new();return self;} ,'accessing',unescape('messageSendConnector%0D%0A%09%22%20Return%20the%20binder%20used%20to%20send%20message%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EString%20new')); smalltalk.bind(smalltalk.AlienNode,'localNameIn:','localNameIn_' ,function (aCompiler){ var self=this; return self.value();return self;} ,'accessing',unescape('localNameIn%3A%20aCompiler%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver%20to%20be%20used%20by%20aCompiler%20locally.%20%22%0D%0A%0D%0A%09%5Eself%20value%20')); smalltalk.bind(smalltalk.Compiler.$klass,'evaluate:','evaluate_' ,function (smalltalkExpression){ var self=this; return self.$$new().evaluate_(smalltalkExpression);return self;} ,'evaluation',unescape('evaluate%3A%20smalltalkExpression%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20smalltalk%20expression%20in%20a%20global%20context.%20%22%0D%0A%0D%0A%09%5Eself%20new%20evaluate%3A%20smalltalkExpression')); smalltalk.bind(smalltalk.Compiler.$klass,'doIt:','doIt_' ,function (smalltalkExpression){ var self=this; var result=nil; (function(){return result=self.evaluate_(smalltalkExpression);}).on_do_(smalltalk.Error, (function(error){result=((error.isString()).mustBeBoolean()==true ? (function(){return error;})() : (function(){return error.$klass.name()._comma(": ")._comma(error.messageText().asString());})());return self.print_(unescape("//%20")._comma(result));})); return result;return self;} ,'evaluation',unescape('doIt%3A%20smalltalkExpression%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20smalltalk%20expression%20in%20a%20global%20context%20or%20a%20description%20of%20an%20error%20situation%20occurred%20evaluating%20the%20code.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09%5B%20result%20%3A%3D%20self%20evaluate%3A%20smalltalkExpression%20%5D%20on%3A%20Error%20do%3A%20%5B%3Aerror%7C%0D%0A%09%09result%20%3A%3D%20error%20isString%20ifTrue%3A%20%5B%20error%20%5D%0D%0A%09%09%09ifFalse%3A%20%5B%20error%20class%20name%2C%27%3A%20%27%2C%20error%20messageText%20asString%20%5D.%0D%0A%09%09self%20print%3A%20%27//%20%27%2C%20result.%20%22try%20to%20emmit%20error%20on%20default%20output%22%0D%0A%09%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.Compiler.$klass,'for:','for_' ,function (aBehavior){ var self=this; return (function($rec){$rec.currentClass_(aBehavior);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('for%3A%20aBehavior%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09currentClass%3A%20aBehavior%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.Compiler.$klass,'smalltalkNameFor:','smalltalkNameFor_' ,function (aClass){ var self=this; try{ ((((aClass || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "smalltalkNameFor_", fn: function(){return "undefined"}})})();})() : nil); (function(){throw({name: "stReturn", selector: "smalltalkNameFor_", fn: function(){return "smalltalk."._comma(((aClass.isMetaclass()).mustBeBoolean()==true ? (function(){return aClass.instanceClass().name()._comma(".$klass");})() : (function(){return aClass.name();})()))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "smalltalkNameFor_"){return $$ex.fn();} throw($$ex);}} ,'private',unescape('smalltalkNameFor%3A%20aClass%0D%0A%09%22%20Private%20-%20Return%20the%20global%20name%20of%20aClass%20%28can%20be%20nil%29.%20%22%0D%0A%0D%0A%09aClass%20isNil%20ifTrue%3A%20%5B%20%5E%27undefined%27%20%5D.%0D%0A%09%5E%27smalltalk.%27%2C%20%28aClass%20isMetaclass%0D%0A%09%20%20%20%20ifTrue%3A%20%5B%20aClass%20instanceClass%20name%2C%20%27.%24klass%27%20%5D%0D%0A%09%20%20%20%20ifFalse%3A%20%5B%20aClass%20name%20%5D%29')); smalltalk.bind(smalltalk.Compiler,'evaluate:','evaluate_' ,function (smalltalkExpression){ var self=this; return self.loadExpression_(smalltalkExpression);return self;} ,'evaluation',unescape('evaluate%3A%20smalltalkExpression%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20the%20smalltalk%20expression%20in%20current%20context.%20%22%0D%0A%0D%0A%09%5Eself%20loadExpression%3A%20smalltalkExpression')); smalltalk.bind(smalltalk.Compiler,'currentClass','currentClass' ,function (){ var self=this; return self['@currentClass'];return self;} ,'accessing',unescape('currentClass%0D%0A%09%22%20Return%20the%20current%20class%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EcurrentClass')); smalltalk.bind(smalltalk.Compiler,'currentClass:','currentClass_' ,function (aClass){ var self=this; self['@currentClass']=aClass;return self;} ,'accessing',unescape('currentClass%3A%20aClass%0D%0A%09%22%20Set%20the%20current%20class%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09currentClass%20%3A%3D%20aClass')); smalltalk.bind(smalltalk.Compiler,'recompile:','recompile_' ,function (aClass){ var self=this; aClass.methodDictionary().do_((function(each){var method=nil; method=self.load_forClass_(each.source(), aClass);method.category_(each.category());return aClass.addCompiledMethod_(method);})); ((aClass.isMetaclass()).mustBeBoolean()==true ? nil : (function(){return self.recompile_(aClass.$klass);})());return self;} ,'compiling',unescape('recompile%3A%20aClass%0D%0A%09%22%20Re-compile%20all%20the%20methods%20defined%20by%20aClass.%20%22%0D%0A%0D%0A%09aClass%20methodDictionary%20do%3A%20%5B%3Aeach%20%7C%7C%20method%20%7C%0D%0A%09%09method%20%3A%3D%20self%20load%3A%20each%20source%20forClass%3A%20aClass.%0D%0A%09%09method%20category%3A%20each%20category.%0D%0A%09%09aClass%20addCompiledMethod%3A%20method%0D%0A%09%5D.%0D%0A%09aClass%20isMetaclass%20ifFalse%3A%20%5B%20self%20recompile%3A%20aClass%20class%20%5D')); smalltalk.bind(smalltalk.Compiler,'loadExpression:','loadExpression_' ,function (smalltalkExpression){ var self=this; smalltalk.DoIt.addCompiledMethod_(self.eval_(self.compileExpression_(smalltalkExpression))); return smalltalk.DoIt.$$new().doIt();return self;} ,'compiling',unescape('loadExpression%3A%20smalltalkExpression%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20a%20smalltalk%20expression%20in%20a%20global%20context.%20%22%0D%0A%0D%0A%09DoIt%20addCompiledMethod%3A%20%28self%20eval%3A%20%28self%20compileExpression%3A%20smalltalkExpression%29%29.%0D%0A%09%5EDoIt%20new%20doIt')); smalltalk.bind(smalltalk.Compiler,'load:forClass:','load_forClass_' ,function (aString,aClass){ var self=this; var jsSource=nil; jsSource=self.compile_forClass_(aString, aClass); return self.eval_(jsSource);return self;} ,'compiling',unescape('load%3A%20aString%20forClass%3A%20aClass%0D%0A%09%22%20Return%20the%20evaluating%20aString%20for%20currentClass.%20%22%0D%0A%0D%0A%09%7C%20jsSource%20%7C%0D%0A%09jsSource%20%3A%3D%20self%20compile%3A%20aString%20forClass%3A%20aClass.%0D%0A%09%22DEBUG%20-%20self%20print%3A%20jsSource.%20%22%0D%0A%09%5Eself%20eval%3A%20jsSource')); smalltalk.bind(smalltalk.Compiler,'compile:forClass:','compile_forClass_' ,function (aString,aClass){ var self=this; self.currentClass_(aClass); return self.compile_(aString);return self;} ,'compiling',unescape('compile%3A%20aString%20forClass%3A%20aClass%0D%0A%09%22%20Return%20the%20result%20of%20compiling%20aString%20for%20aClass.%20%22%0D%0A%0D%0A%09self%20currentClass%3A%20aClass.%0D%0A%09%5Eself%20compile%3A%20aString')); smalltalk.bind(smalltalk.Compiler,'compileExpression:','compileExpression_' ,function (smalltalkExpression){ var self=this; self.currentClass_(smalltalk.DoIt); return self.compileNode_(self.parseExpression_(smalltalkExpression));return self;} ,'compiling',unescape('compileExpression%3A%20smalltalkExpression%0D%0A%09%22%20Return%20the%20result%20of%20compiling%20aString%20for%20DoIt.%20%22%0D%0A%0D%0A%09self%20currentClass%3A%20DoIt.%0D%0A%09%5Eself%20compileNode%3A%20%28self%20parseExpression%3A%20smalltalkExpression%29')); smalltalk.bind(smalltalk.Compiler,'eval:','eval_' ,function (javascriptExpression){ var self=this; return eval(javascriptExpression);return self;} ,'compiling',unescape('eval%3A%20javascriptExpression%0D%0A%09%22%20Return%20the%20result%20of%20evaluating%20a%20javascript%20expression%20in%20a%20global%20context.%20%22%0D%0A%0D%0A%09%5E%23%20%23eval%3A%20javascriptExpression')); smalltalk.bind(smalltalk.Compiler,'compile:','compile_' ,function (aString){ var self=this; return self.compileNode_(self.parse_(aString));return self;} ,'compiling',unescape('compile%3A%20aString%0D%0A%09%22%20Return%20the%20result%20of%20compiling%20aString%20for%20currentClass.%20%22%0D%0A%0D%0A%09%5Eself%20compileNode%3A%20%28self%20parse%3A%20aString%29')); smalltalk.bind(smalltalk.Compiler,'initialize','initialize' ,function (){ var self=this; smalltalk.whoImplements(smalltalk.Compiler,'initialize').$superclass.$fn.prototype['initialize'].apply(self, []); self['@stream']="".writeStream(); self['@unknownVariables']=[]; self['@tempVariables']=[];return self;} ,'initialization',unescape('initialize%0D%0A%09%22%20Private%20-%20Initialize%20the%20receiver.%20%22%0D%0A%0D%0A%09super%20initialize.%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09unknownVariables%20%3A%3D%20%23%28%29.%0D%0A%09tempVariables%20%3A%3D%20%23%28%29')); smalltalk.bind(smalltalk.Compiler,'smalltalkNameFor:','smalltalkNameFor_' ,function (aClass){ var self=this; return self.$klass.smalltalkNameFor_(aClass);return self;} ,'private',unescape('smalltalkNameFor%3A%20aClass%0D%0A%09%22%20Private%20-%20Return%20the%20global%20name%20of%20aClass%20%28can%20be%20nil%29.%20%22%0D%0A%0D%0A%09%5Eself%20class%20smalltalkNameFor%3A%20aClass')); smalltalk.bind(smalltalk.Compiler,'parser','parser' ,function (){ var self=this; return smalltalk.SmalltalkParser.$$new();return self;} ,'private',unescape('parser%0D%0A%09%22%20Private%20-%20Return%20the%20parser%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5ESmalltalkParser%20new')); smalltalk.bind(smalltalk.Compiler,'compileNode:','compileNode_' ,function (aNode){ var self=this; self['@stream']="".writeStream(); self.visit_(aNode); return self['@stream'].contents();return self;} ,'private',unescape('compileNode%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20the%20generated%20code%20for%20aNode.%20%22%0D%0A%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09self%20visit%3A%20aNode.%0D%0A%09%5Estream%20contents')); smalltalk.bind(smalltalk.Compiler,'localName:','localName_' ,function (aName){ var self=this; try{ ((self.pseudoVariables().includes_(aName)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "localName_", fn: function(){return aName}})})();})() : nil); (function(){throw({name: "stReturn", selector: "localName_", fn: function(){return aName.asSelector()}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "localName_"){return $$ex.fn();} throw($$ex);}} ,'local names',unescape('localName%3A%20aName%0D%0A%09%22%20Private%20-%20Return%20a%20valid%20%28javascript%29%20name%20for%20local%20name.%20%22%0D%0A%0D%0A%09%28self%20pseudoVariables%20includes%3A%20aName%29%20ifTrue%3A%20%5B%20%5EaName%20%5D.%0D%0A%09%5EaName%20asSelector')); smalltalk.bind(smalltalk.Compiler,'visit:','visit_' ,function (aNode){ var self=this; aNode.accept_(self);return self;} ,'visiting',unescape('visit%3A%20aNode%0D%0A%09aNode%20accept%3A%20self')); smalltalk.bind(smalltalk.Compiler,'visitLocalAssignment:','visitLocalAssignment_' ,function (aNode){ var self=this; self['@stream'].nextPutAll_(unescape("%28")); self.visit_(aNode); self['@stream'].nextPutAll_(unescape("%29"));return self;} ,'visiting',unescape('visitLocalAssignment%3A%20aNode%0D%0A%09%22%20Private%20-%20Visit%20a%20node%20that%20is%20an%20assignment%20in%20a%20local%20expression.%20%22%0D%0A%0D%0A%09stream%20nextPutAll%3A%20%27%28%27.%0D%0A%09self%20visit%3A%20aNode.%0D%0A%09stream%20nextPutAll%3A%20%27%29%27.')); smalltalk.bind(smalltalk.Compiler,'visitArgument:','visitArgument_' ,function (aNode){ var self=this; try{ ((aNode.isAssignment()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitArgument_", fn: function(){return self.visitLocalAssignment_(aNode)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "visitArgument_", fn: function(){return self.visit_(aNode)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitArgument_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitArgument%3A%20aNode%0D%0A%09%22%20Private%20-%20Visit%20the%20argument%20emmitting%20output.%20%22%0D%0A%0D%0A%09aNode%20isAssignment%20ifTrue%3A%20%5B%20%5Eself%20visitLocalAssignment%3A%20aNode.%20%5D.%0D%0A%09%5Eself%20visit%3A%20aNode')); smalltalk.bind(smalltalk.Compiler,'visitReceiver:','visitReceiver_' ,function (aNode){ var self=this; try{ ((aNode.isAssignment()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitReceiver_", fn: function(){return self.visitLocalAssignment_(aNode)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "visitReceiver_", fn: function(){return self.visit_(aNode)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitReceiver_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitReceiver%3A%20aNode%0D%0A%09%22%20Private%20-%20Visit%20the%20node%20%28as%20receiver%29%20emmitting%20output.%20%22%0D%0A%0D%0A%09aNode%20isAssignment%20ifTrue%3A%20%5B%20%5Eself%20visitLocalAssignment%3A%20aNode.%20%5D.%0D%0A%09%5Eself%20visit%3A%20aNode')); smalltalk.bind(smalltalk.Compiler,'generatedCodeFor:','generatedCodeFor_' ,function (aBlock){ var self=this; var backup=nil; var result=nil; backup=self['@stream']; self['@stream']="".writeStream(); aBlock.value(); result=self['@stream'].contents(); self['@stream']=backup; return result;return self;} ,'code generation',unescape('generatedCodeFor%3A%20aBlock%0D%0A%09%22%20Private%20-%20Return%20the%20code%20generated%20during%20evaluation%20of%20aBlock.%20%22%0D%0A%0D%0A%09%7C%20backup%20result%20%7C%0D%0A%09backup%20%3A%3D%20stream.%0D%0A%09stream%20%3A%3D%20%27%27%20writeStream.%0D%0A%09aBlock%20value.%0D%0A%09result%20%3A%3D%20stream%20contents.%0D%0A%09stream%20%3A%3D%20backup.%0D%0A%09%5Eresult%20')); smalltalk.bind(smalltalk.Compiler,'generateCodeFor:','generateCodeFor_' ,function (aNode){ var self=this; var code=nil; self['@functionName']=aNode.selector().asSelector(); self['@stream'].nextPutAll_(unescape("function%28")); aNode.arguments().do_separatedBy_((function(each){self['@tempVariables'].add_(each);return self['@stream'].nextPutAll_(self.localName_(each));}), (function(){return self['@stream'].nextPutAll_(unescape("%2C"));})); (function($rec){$rec.nextPutAll_(unescape("%29%7B%20var%20self%3Dthis%3B"));return $rec.cr();})(self['@stream']); code=self.generatedCodeFor_((function(){aNode.nodes().do_((function(each){return self.visit_(each);}));return self['@stream'].nextPutAll_(unescape("return%20self%3B"));})); ((self['@earlyReturn']).mustBeBoolean()==true ? (function(){(function($rec){$rec.nextPutAll_(unescape("try%7B"));return $rec.cr();})(self['@stream']);(function($rec){$rec.nextPutAll_(code);return $rec.cr();})(self['@stream']);return self['@stream'].nextPutAll_(unescape("%7D%20catch%28%24%24ex%29%20%7Bif%28%24%24ex.name%20%3D%3D%3D%20%22stReturn%22%20%26%26%20%24%24ex.selector%20%3D%3D%3D%20%22")._comma(self['@functionName'])._comma(unescape("%22%29%7Breturn%20%24%24ex.fn%28%29%3B%7D%20throw%28%24%24ex%29%3B%7D")));})() : (function(){return self['@stream'].nextPutAll_(code);})()); self['@stream'].nextPutAll_(unescape("%7D"));return self;} ,'code generation',unescape('generateCodeFor%3A%20aNode%0D%0A%09%22%20Private%20-%20Generate%20code%20of%20javascript%20function%20from%20aNode%20contents.%20%22%0D%0A%0D%0A%09%7C%20code%20%7C%0D%0A%09functionName%20%3A%3D%20aNode%20selector%20asSelector.%0D%0A%09stream%20nextPutAll%3A%20%27function%28%27.%0D%0A%09aNode%20arguments%20do%3A%20%5B%3Aeach%20%7C%20%0D%0A%09%09tempVariables%20add%3A%20each.%0D%0A%09%09stream%20nextPutAll%3A%20%28self%20localName%3A%20each%29%20%5D%0D%0A%09%20%20%20%20separatedBy%3A%20%5B%20stream%20nextPutAll%3A%20%27%2C%27%20%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%29%7B%20var%20self%3Dthis%3B%27%3B%20cr.%0D%0A%09code%20%3A%3D%20self%20generatedCodeFor%3A%20%5B%0D%0A%09%09aNode%20nodes%20do%3A%20%5B%3Aeach%20%7C%20self%20visit%3A%20each%20%5D.%0D%0A%09%09stream%20nextPutAll%3A%20%27return%20self%3B%27.%0D%0A%09%5D.%0D%0A%09earlyReturn%20ifTrue%3A%20%5B%0D%0A%09%09stream%20nextPutAll%3A%20%27try%7B%27%3B%20cr.%0D%0A%09%09stream%20nextPutAll%3A%20code%3B%20cr.%0D%0A%09%09stream%20nextPutAll%3A%20%27%7D%20catch%28%24%24ex%29%20%7Bif%28%24%24ex.name%20%3D%3D%3D%20%22stReturn%22%20%26%26%20%24%24ex.selector%20%3D%3D%3D%20%22%27%0D%0A%09%09%09%2C%20functionName%20%2C%20%27%22%29%7Breturn%20%24%24ex.fn%28%29%3B%7D%20throw%28%24%24ex%29%3B%7D%27%0D%0A%09%5D%20ifFalse%3A%20%5B%0D%0A%09%09stream%20nextPutAll%3A%20code%0D%0A%09%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%7D%27')); smalltalk.bind(smalltalk.Compiler,'visitMethodNode:','visitMethodNode_' ,function (aNode){ var self=this; self['@nestedBlocks']=(0); self['@earlyReturn']=false; self['@unknownVariables']=[]; self['@tempVariables']=[]; (function($rec){$rec.nextPutAll_(unescape("smalltalk.newMethod%28"));$rec.nextPutAll_(unescape("%22")._comma(aNode.selector())._comma(unescape("%22%2C")));return $rec.cr();})(self['@stream']); self.generateCodeFor_(aNode); ((true).mustBeBoolean()==true ? (function(){return self['@stream'].nextPutAll_(unescape("%2Cunescape%28%22")._comma(aNode.source().escaped())._comma(unescape("%22%29")));})() : nil); self['@stream'].nextPutAll_(unescape("%29"));return self;} ,'visiting',unescape('visitMethodNode%3A%20aNode%0D%0A%09nestedBlocks%20%3A%3D%200.%0D%0A%09earlyReturn%20%3A%3D%20false.%0D%0A%09unknownVariables%20%3A%3D%20%23%28%29.%0D%0A%09tempVariables%20%3A%3D%20%23%28%29.%0D%0A%09stream%20%0D%0A%09%09nextPutAll%3A%20%27smalltalk.newMethod%28%27%3B%0D%0A%09%09nextPutAll%3A%20%27%22%27%2C%20aNode%20selector%2C%20%27%22%2C%27%3B%20cr.%0D%0A%09self%20generateCodeFor%3A%20aNode.%0D%0A%09true%20ifTrue%3A%20%5B%0D%0A%09%09stream%20nextPutAll%3A%20%27%2Cunescape%28%22%27%2C%20aNode%20source%20escaped%2C%20%27%22%29%27%0D%0A%09%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%29%27')); smalltalk.bind(smalltalk.Compiler,'visitBlockNode:','visitBlockNode_' ,function (aNode){ var self=this; self['@stream'].nextPutAll_(unescape("%28function%28")); aNode.parameters().do_separatedBy_((function(each){self['@tempVariables'].add_(each);return self['@stream'].nextPutAll_(self.localName_(each));}), (function(){return self['@stream'].nextPutAll_(unescape("%2C%20"));})); self['@stream'].nextPutAll_(unescape("%29%7B")); aNode.nodes().do_((function(each){return self.visit_(each);})); self['@stream'].nextPutAll_(unescape("%7D%29"));return self;} ,'visiting',unescape('visitBlockNode%3A%20aNode%0D%0A%09stream%20nextPutAll%3A%20%27%28function%28%27.%0D%0A%09aNode%20parameters%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%09tempVariables%20add%3A%20each.%0D%0A%09%09stream%20nextPutAll%3A%20%28self%20localName%3A%20each%29%0D%0A%09%09%5D%20separatedBy%3A%20%5Bstream%20nextPutAll%3A%20%27%2C%20%27%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%29%7B%27.%0D%0A%09aNode%20nodes%20do%3A%20%5B%3Aeach%20%7C%20self%20visit%3A%20each%20%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%7D%29%27')); smalltalk.bind(smalltalk.Compiler,'visitSequenceNode:','visitSequenceNode_' ,function (aNode){ var self=this; aNode.temps().do_((function(each){self['@tempVariables'].add_(each);return (function($rec){$rec.nextPutAll_("var "._comma(self.localName_(each))._comma(unescape("%3Dnil%3B")));return $rec.cr();})(self['@stream']);})); aNode.nodes().do_separatedBy_((function(each){self.visit_(each);return self['@stream'].nextPutAll_(unescape("%3B"));}), (function(){return self['@stream'].cr();}));return self;} ,'visiting',unescape('visitSequenceNode%3A%20aNode%0D%0A%09aNode%20temps%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%09tempVariables%20add%3A%20each.%0D%0A%09%09stream%20nextPutAll%3A%20%27var%20%27%2C%20%28self%20localName%3A%20each%29%2C%20%27%3Dnil%3B%27%3B%20cr%0D%0A%09%5D.%0D%0A%09aNode%20nodes%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%09self%20visit%3A%20each.%0D%0A%09%09stream%20nextPutAll%3A%20%27%3B%27%0D%0A%09%5D%20separatedBy%3A%20%5Bstream%20cr%5D')); smalltalk.bind(smalltalk.Compiler,'visitExtendedSequenceNode:','visitExtendedSequenceNode_' ,function (aNode){ var self=this; ((((aNode.directive() || nil) !== nil)).mustBeBoolean()==true ? (function(){return (function($rec){$rec.nextPutAll_(aNode.directive().asJavascript_for_on_(self['@functionName'], self, self['@stream']));return $rec.cr();})(self['@stream']);})() : nil); return self.visitSequenceNode_(aNode);return self;} ,'visiting',unescape('visitExtendedSequenceNode%3A%20aNode%0D%0A%09%22%20Private%20-%20Visit%20a%20directive%20node.%20%22%0D%0A%0D%0A%09aNode%20directive%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09stream%20nextPutAll%3A%20%28aNode%20directive%0D%0A%09%09%09asJavascript%3A%20functionName%0D%0A%09%09%09for%3A%20self%20on%3A%20stream%29%3B%20cr.%0D%0A%09%5D.%0D%0A%09%5Eself%20visitSequenceNode%3A%20aNode')); smalltalk.bind(smalltalk.Compiler,'visitBlockSequenceNode:','visitBlockSequenceNode_' ,function (aNode){ var self=this; var index=nil; self['@nestedBlocks']=(self['@nestedBlocks'] + (1)); ((aNode.nodes().isEmpty()).mustBeBoolean()==true ? (function(){return self['@stream'].nextPutAll_(unescape("return%20nil%3B"));})() : (function(){aNode.temps().do_((function(each){self['@tempVariables'].add_(each);return (function($rec){$rec.nextPutAll_("var "._comma(self.localName_(each))._comma(unescape("%3Dnil%3B")));return $rec.cr();})(self['@stream']);}));index=(0);return aNode.nodes().do_((function(each){index=(index + (1));((index._eq(aNode.nodes().size())).mustBeBoolean()==true ? (function(){return self['@stream'].nextPutAll_("return ");})() : nil);self.visit_(each);return self['@stream'].nextPutAll_(unescape("%3B"));}));})()); self['@nestedBlocks']=(self['@nestedBlocks'] - (1));return self;} ,'visiting',unescape('visitBlockSequenceNode%3A%20aNode%0D%0A%09%7C%20index%20%7C%0D%0A%09nestedBlocks%20%3A%3D%20nestedBlocks%20+%201.%0D%0A%09aNode%20nodes%20isEmpty%0D%0A%09%20%20%20%20ifTrue%3A%20%5B%20stream%20nextPutAll%3A%20%27return%20nil%3B%27%20%5D%0D%0A%09%20%20%20%20ifFalse%3A%20%5B%0D%0A%09%09aNode%20temps%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%09%20%20%20%20tempVariables%20add%3A%20each.%0D%0A%09%09%20%20%20%20stream%20nextPutAll%3A%20%27var%20%27%2C%20%28self%20localName%3A%20each%29%2C%20%27%3Dnil%3B%27%3Bcr%0D%0A%09%09%5D.%0D%0A%09%09index%20%3A%3D%200.%0D%0A%09%09aNode%20nodes%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%09%20%20%20%20index%20%3A%3D%20index%20+%201.%0D%0A%09%09%20%20%20%20index%20%3D%20aNode%20nodes%20size%20ifTrue%3A%20%5B%0D%0A%09%09%09stream%20nextPutAll%3A%20%27return%20%27%5D.%0D%0A%09%09%20%20%20%20self%20visit%3A%20each.%0D%0A%09%09%20%20%20%20stream%20nextPutAll%3A%20%27%3B%27%5D%5D.%0D%0A%09nestedBlocks%20%3A%3D%20nestedBlocks%20-%201')); smalltalk.bind(smalltalk.Compiler,'visitReturnNode:','visitReturnNode_' ,function (aNode){ var self=this; (((self['@nestedBlocks'] > (0))).mustBeBoolean()==true ? (function(){return self['@earlyReturn']=true;})() : nil); ((self['@earlyReturn']).mustBeBoolean()==true ? (function(){return (function($rec){$rec.nextPutAll_(unescape("%28function%28%29%7Bthrow%28"));$rec.nextPutAll_(unescape("%7Bname%3A%20%22stReturn%22%2C%20selector%3A%20%22"));$rec.nextPutAll_(self['@functionName']);return $rec.nextPutAll_(unescape("%22%2C%20fn%3A%20function%28%29%7Breturn%20"));})(self['@stream']);})() : (function(){return self['@stream'].nextPutAll_("return ");})()); aNode.nodes().do_((function(each){return self.visit_(each);})); ((self['@earlyReturn']).mustBeBoolean()==true ? (function(){return self['@stream'].nextPutAll_(unescape("%7D%7D%29%7D%29%28%29"));})() : nil);return self;} ,'visiting',unescape('visitReturnNode%3A%20aNode%0D%0A%09nestedBlocks%20%3E%200%20ifTrue%3A%20%5B%20earlyReturn%20%3A%3D%20true%20%5D.%0D%0A%09earlyReturn%20ifTrue%3A%20%5B%0D%0A%09%09stream%0D%0A%09%09%20%20%20%20nextPutAll%3A%20%27%28function%28%29%7Bthrow%28%27%3B%0D%0A%09%09%20%20%20%20nextPutAll%3A%20%27%7Bname%3A%20%22stReturn%22%2C%20selector%3A%20%22%27%3B%0D%0A%09%09%20%20%20%20nextPutAll%3A%20functionName%3B%0D%0A%09%09%20%20%20%20nextPutAll%3A%20%27%22%2C%20fn%3A%20function%28%29%7Breturn%20%27%5D%0D%0A%09%20%20%20%20ifFalse%3A%20%5B%20stream%20nextPutAll%3A%20%27return%20%27%20%5D.%0D%0A%09aNode%20nodes%20do%3A%20%5B%3Aeach%20%7C%20self%20visit%3A%20each%20%5D.%0D%0A%09earlyReturn%20ifTrue%3A%20%5B%20stream%20nextPutAll%3A%20%27%7D%7D%29%7D%29%28%29%27%20%5D')); smalltalk.bind(smalltalk.Compiler,'visitGlobalReferenceNode:','visitGlobalReferenceNode_' ,function (aNode){ var self=this; try{ var aName=nil; var aClass=nil; aName=aNode.value(); aClass=self.currentClass(); aClass.classVariableNamesDo_((function(each){return ((each._eq(aName)).mustBeBoolean()==true ? (function(){(function($rec){$rec.nextPutAll_(self.smalltalkNameFor_(aClass));$rec.nextPutAll_(unescape(".classVariableAt_%28%22"));$rec.nextPutAll_(aName);return $rec.nextPutAll_(unescape("%22%29"));})(self['@stream']);return (function(){throw({name: "stReturn", selector: "visitGlobalReferenceNode_", fn: function(){return self}})})();})() : nil);})); self.currentClass().sharedPoolsAndNamesDo_((function(poolName, pool){return ((pool.includesKey_(aName)).mustBeBoolean()==true ? (function(){(function($rec){$rec.nextPutAll_(unescape("smalltalk.poolDictionary_%28%22"));$rec.nextPutAll_(poolName);$rec.nextPutAll_(unescape("%22%29.at_%28%22"));$rec.nextPutAll_(aName);return $rec.nextPutAll_(unescape("%22%29"));})(self['@stream']);return (function(){throw({name: "stReturn", selector: "visitGlobalReferenceNode_", fn: function(){return self}})})();})() : nil);})); (function($rec){$rec.nextPutAll_("smalltalk.");return $rec.nextPutAll_(aNode.value());})(self['@stream']);return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitGlobalReferenceNode_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitGlobalReferenceNode%3A%20aNode%0D%0A%0D%0A%09%7C%20aName%20aClass%20%7C%0D%0A%09aName%20%3A%3D%20aNode%20value.%0D%0A%09aClass%20%3A%3D%20self%20currentClass.%0D%0A%09aClass%20classVariableNamesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09each%20%3D%20aName%20ifTrue%3A%20%5B%0D%0A%09%09%09stream%0D%0A%09%09%09%09nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%29%3B%0D%0A%09%09%09%09nextPutAll%3A%20%27.classVariableAt_%28%22%27%3B%0D%0A%09%09%09%09nextPutAll%3A%20aName%3B%0D%0A%09%09%09%09nextPutAll%3A%20%27%22%29%27.%0D%0A%09%09%09%5Eself%0D%0A%09%09%5D%0D%0A%09%5D.%0D%0A%09self%20currentClass%20sharedPoolsAndNamesDo%3A%20%5B%3ApoolName%20%3Apool%7C%0D%0A%09%09%28pool%20includesKey%3A%20aName%29%20ifTrue%3A%20%5B%0D%0A%09%09%09stream%0D%0A%09%09%09%09nextPutAll%3A%20%27smalltalk.poolDictionary_%28%22%27%3B%0D%0A%09%09%09%09nextPutAll%3A%20poolName%3B%0D%0A%09%09%09%09nextPutAll%3A%20%27%22%29.at_%28%22%27%3B%0D%0A%09%09%09%09nextPutAll%3A%20aName%3B%0D%0A%09%09%09%09nextPutAll%3A%20%27%22%29%27.%0D%0A%09%09%09%5Eself%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%0D%0A%09stream%20%0D%0A%09%09nextPutAll%3A%20%27smalltalk.%27%3B%0D%0A%09%09nextPutAll%3A%20aNode%20value.')); smalltalk.bind(smalltalk.Compiler,'hasBlockArguments:','hasBlockArguments_' ,function (aNode){ var self=this; try{ aNode.arguments().do_((function(each){return ((each.isKindOf_(smalltalk.BlockNode)).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "hasBlockArguments_", fn: function(){return false}})})();})());})); (function(){throw({name: "stReturn", selector: "hasBlockArguments_", fn: function(){return true}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "hasBlockArguments_"){return $$ex.fn();} throw($$ex);}} ,'optimization',unescape('hasBlockArguments%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20arguments%20of%20aNode%20are%20blocks.%20%22%0D%0A%0D%0A%09aNode%20arguments%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09%28each%20isKindOf%3A%20BlockNode%29%20ifFalse%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09%5D.%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Compiler,'hasBlockNoArguments:','hasBlockNoArguments_' ,function (aNode){ var self=this; try{ ((self.hasBlockArguments_(aNode)).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "hasBlockNoArguments_", fn: function(){return false}})})();})()); aNode.arguments().do_((function(each){return ((each.parameters().isEmpty()).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "hasBlockNoArguments_", fn: function(){return false}})})();})());})); (function(){throw({name: "stReturn", selector: "hasBlockNoArguments_", fn: function(){return true}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "hasBlockNoArguments_"){return $$ex.fn();} throw($$ex);}} ,'optimization',unescape('hasBlockNoArguments%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20arguments%20of%20aNode%20are%20blocks%20with%20no%20parameters.%20%22%0D%0A%0D%0A%09%28self%20hasBlockArguments%3A%20aNode%29%20ifFalse%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09aNode%20arguments%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09each%20parameters%20isEmpty%20ifFalse%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09%5D.%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Compiler,'hasBlockOneArguments:','hasBlockOneArguments_' ,function (aNode){ var self=this; try{ ((self.hasBlockArguments_(aNode)).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "hasBlockOneArguments_", fn: function(){return false}})})();})()); aNode.arguments().do_((function(each){return ((each.parameters().size()._eq((1))).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "hasBlockOneArguments_", fn: function(){return false}})})();})());})); (function(){throw({name: "stReturn", selector: "hasBlockOneArguments_", fn: function(){return true}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "hasBlockOneArguments_"){return $$ex.fn();} throw($$ex);}} ,'optimization',unescape('hasBlockOneArguments%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20arguments%20of%20aNode%20are%20blocks%20with%20ONE%20parameter.%20%22%0D%0A%0D%0A%09%28self%20hasBlockArguments%3A%20aNode%29%20ifFalse%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09aNode%20arguments%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09each%20parameters%20size%20%3D%201%20ifFalse%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09%5D.%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Compiler,'hasNumber:','hasNumber_' ,function (aNode){ var self=this; return self.receiverHasNumber_(aNode).or_((function(){return self.argumentsHasNumber_(aNode);}));return self;} ,'optimization',unescape('hasNumber%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20the%20receiver%20or%20arguments%20in%20aNode%20has%20numeric%20value.%20%22%0D%0A%0D%0A%09%5E%28self%20receiverHasNumber%3A%20aNode%29%20or%3A%20%5B%0D%0A%09%09self%20argumentsHasNumber%3A%20aNode%0D%0A%09%5D')); smalltalk.bind(smalltalk.Compiler,'receiverHasNumber:','receiverHasNumber_' ,function (aNode){ var self=this; return aNode.receiver().hasNumber();return self;} ,'optimization',unescape('receiverHasNumber%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20the%20receiver%20of%20aNode%20is%20a%20number.%20%22%0D%0A%0D%0A%09%5EaNode%20receiver%20hasNumber')); smalltalk.bind(smalltalk.Compiler,'argumentsHasNumber:','argumentsHasNumber_' ,function (aNode){ var self=this; try{ aNode.arguments().do_((function(each){return ((each.hasNumber()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "argumentsHasNumber_", fn: function(){return true}})})();})() : nil);})); (function(){throw({name: "stReturn", selector: "argumentsHasNumber_", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "argumentsHasNumber_"){return $$ex.fn();} throw($$ex);}} ,'optimization',unescape('argumentsHasNumber%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20any%20argument%20of%20of%20aNode%20is%20a%20number.%20%22%0D%0A%0D%0A%09aNode%20arguments%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09each%20hasNumber%20ifTrue%3A%20%5B%20%5Etrue%20%5D%0D%0A%09%5D.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Compiler,'arg1HasNumber:','arg1HasNumber_' ,function (aNode){ var self=this; return aNode.arguments().at_((1)).hasNumber();return self;} ,'optimization',unescape('arg1HasNumber%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20argument%20of%20aNode%20is%20a%20number.%20%22%0D%0A%0D%0A%09%5E%28aNode%20arguments%20at%3A%201%29%20hasNumber')); smalltalk.bind(smalltalk.Compiler,'arg2HasNumber:','arg2HasNumber_' ,function (aNode){ var self=this; return aNode.arguments().at_((2)).hasNumber();return self;} ,'optimization',unescape('arg2HasNumber%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20argument%20of%20aNode%20is%20a%20number.%20%22%0D%0A%0D%0A%09%5E%28aNode%20arguments%20at%3A%202%29%20hasNumber')); smalltalk.bind(smalltalk.Compiler,'arg3HasNumber:','arg3HasNumber_' ,function (aNode){ var self=this; return aNode.arguments().at_((3)).hasNumber();return self;} ,'optimization',unescape('arg3HasNumber%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20argument%20of%20aNode%20is%20a%20number.%20%22%0D%0A%0D%0A%09%5E%28aNode%20arguments%20at%3A%203%29%20hasNumber')); smalltalk.bind(smalltalk.Compiler,'receiverIsBlockNoArguments:','receiverIsBlockNoArguments_' ,function (aNode){ var self=this; return aNode.receiver().isKindOf_(smalltalk.BlockNode).and_((function(){return aNode.receiver().parameters().isEmpty();}));return self;} ,'optimization',unescape('receiverIsBlockNoArguments%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20receiver%20of%20aNode%20is%20block%20with%20no%20arguments.%20%22%0D%0A%0D%0A%09%5E%28aNode%20receiver%20isKindOf%3A%20BlockNode%29%20and%3A%20%5B%0D%0A%09%09aNode%20receiver%20parameters%20isEmpty%0D%0A%09%5D')); smalltalk.bind(smalltalk.Compiler,'allBlockNoArguments:','allBlockNoArguments_' ,function (aNode){ var self=this; return self.receiverIsBlockNoArguments_(aNode).and_((function(){return self.hasBlockNoArguments_(aNode);}));return self;} ,'optimization',unescape('allBlockNoArguments%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20receiver%20and%20arguments%20of%20aNode%20are%20blocks%20with%20no%20arguments.%20%22%0D%0A%0D%0A%09%5E%28self%20receiverIsBlockNoArguments%3A%20aNode%29%20and%3A%20%5B%0D%0A%09%09self%20hasBlockNoArguments%3A%20aNode%0D%0A%09%5D')); smalltalk.bind(smalltalk.Compiler,'matchOptimizedCondition:with:','matchOptimizedCondition_with_' ,function (condition,aNode){ var self=this; try{ ((["hasNumber:", "receiverHasNumber", "argumentsHasNumber:", "arg1HasNumber:", "arg2HasNumber:", "arg3HasNumber:", "hasBlockArguments:", "hasBlockNoArguments:", "hasBlockOneArguments:", "allBlockNoArguments:", "receiverIsBlockNoArguments:"].includes_(condition)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "matchOptimizedCondition_with_", fn: function(){return self.perform_withArguments_(condition, smalltalk.Array.with_(aNode))}})})();})() : nil); ((condition._eq("true")).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "matchOptimizedCondition_with_", fn: function(){return true}})})();})() : nil); ((condition._eq("false")).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "matchOptimizedCondition_with_", fn: function(){return false}})})();})() : nil); ((condition.isMemberOf_(smalltalk.Array)).mustBeBoolean()==true ? (function(){condition.detect_ifNone_((function(one){return false._eq(self.matchOptimizedCondition_with_(one, aNode));}), (function(){return (function(){throw({name: "stReturn", selector: "matchOptimizedCondition_with_", fn: function(){return true}})})();}));return (function(){throw({name: "stReturn", selector: "matchOptimizedCondition_with_", fn: function(){return false}})})();})() : nil); self.print_(unescape("%3E%3E%3E%20unknown%20optimize-condition%3A%20")._comma(condition.asString())); (function(){throw({name: "stReturn", selector: "matchOptimizedCondition_with_", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "matchOptimizedCondition_with_"){return $$ex.fn();} throw($$ex);}} ,'optimization',unescape('matchOptimizedCondition%3A%20condition%20with%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20aNode%20matches%20the%20condition.%20%22%0D%0A%0D%0A%09%28%23%28%0D%0A%09%23hasNumber%3A%20%23receiverHasNumber%20%23argumentsHasNumber%3A%0D%0A%09%23arg1HasNumber%3A%20%23arg2HasNumber%3A%20%23arg3HasNumber%3A%0D%0A%09%23hasBlockArguments%3A%20%23hasBlockNoArguments%3A%20%23hasBlockOneArguments%3A%0D%0A%09%23allBlockNoArguments%3A%20%23receiverIsBlockNoArguments%3A%0D%0A%09%29%20includes%3A%20condition%29%20ifTrue%3A%20%5B%0D%0A%09%09%5Eself%20perform%3A%20condition%20withArguments%3A%20%28Array%20with%3A%20aNode%29%0D%0A%09%5D.%0D%0A%09condition%20%3D%20%23true%20ifTrue%3A%20%5B%20%5Etrue%20%5D.%0D%0A%09condition%20%3D%20%23false%20ifTrue%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09%28condition%20isMemberOf%3A%20Array%29%20ifTrue%3A%20%5B%0D%0A%09%09condition%20detect%3A%20%5B%3Aone%7C%0D%0A%09%09%09false%20%3D%20%28self%20matchOptimizedCondition%3A%20one%20with%3A%20aNode%29%0D%0A%09%09%5D%20ifNone%3A%20%5B%20%5Etrue%20%5D.%0D%0A%09%09%5Efalse%0D%0A%09%5D.%0D%0A%09self%20print%3A%20%27%3E%3E%3E%20unknown%20optimize-condition%3A%20%27%2Ccondition%20asString.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Compiler,'optimizationMap','optimizationMap' ,function (){ var self=this; return [[(0), [["class", unescape("%25receiver%25.%24klass")], ["isNil", unescape("%28%28%25receiver%25%20%7C%7C%20nil%29%20%3D%3D%3D%20nil%29")], ["notNil", unescape("%28%28%25receiver%25%20%7C%7C%20nil%29%20%21%3D%3D%20nil%29")], ["whileTrue", "receiverIsBlockNoArguments:", unescape("%28function%28%29%7Bwhile%28%25receiver%25%28%29%29%7B%7D%3Breturn%20nil%7D%29%28%29")], ["whileFalse", "receiverIsBlockNoArguments:", unescape("%28function%28%29%7Bwhile%28%21%25receiver%25%28%29%29%7B%7D%3Breturn%20nil%7D%29%28%29")]]], [(1), [["ifTrue:", "hasBlockNoArguments:", unescape("%28%28%25receiver%25%29.mustBeBoolean%28%29%3D%3Dtrue%20%3F%20%25arg1%25%28%29%20%3A%20nil%29")], ["ifFalse:", "hasBlockNoArguments:", unescape("%28%28%25receiver%25%29.mustBeBoolean%28%29%3D%3Dtrue%20%3F%20nil%20%3A%20%25arg1%25%28%29%29")], ["whileTrue:", "allBlockNoArguments:", unescape("%28function%28%29%7Bwhile%28%25receiver%25%28%29%29%7B%25arg1%25%28%29%7D%3Breturn%20nil%7D%29%28%29")], ["whileFalse:", "allBlockNoArguments:", unescape("%28function%28%29%7Bwhile%28%21%25receiver%25%28%29%29%7B%25arg1%25%28%29%7D%3Breturn%20nil%7D%29%28%29")], ["ifNil:", "hasBlockArguments:", unescape("%28function%28%29%7Bvar%20%241%24%3Breturn%20%28%28%28%241%24%20%3D%20%25receiver%25%29%7C%7Cnil%29%3D%3D%3D%20nil%29%20%3F%20%25arg1%25%28%29%20%3A%20%241%24%3B%7D%29%28%29")], ["ifNotNil:", "hasBlockArguments:", unescape("%28function%28%29%7Bvar%20%241%24%3Breturn%20%28%28%28%241%24%20%3D%20%25receiver%25%29%7C%7Cnil%29%21%3D%3D%20nil%29%20%3F%20%25arg1%25%28%29%20%3A%20%241%24%3B%7D%29%28%29")], [unescape("+"), "hasNumber:", unescape("%28%25receiver%25%20+%20%25arg1%25%29")], [unescape("-"), "hasNumber:", unescape("%28%25receiver%25%20-%20%25arg1%25%29")], [unescape("*"), "hasNumber:", unescape("%28%25receiver%25%20*%20%25arg1%25%29")], [unescape("/"), "hasNumber:", unescape("%28%25receiver%25%20/%20%25arg1%25%29")], [unescape("%3E"), "hasNumber:", unescape("%28%25receiver%25%20%3E%20%25arg1%25%29")], [unescape("%3C"), "hasNumber:", unescape("%28%25receiver%25%20%3C%20%25arg1%25%29")], [unescape("%3E%3D"), "hasNumber:", unescape("%28%25receiver%25%20%3E%3D%20%25arg1%25%29")], [unescape("%3C%3D"), "hasNumber:", unescape("%28%25receiver%25%20%3C%3D%20%25arg1%25%29")], [unescape("%3D%3D"), unescape("%28%25receiver%25%20%3D%3D%3D%20%25arg1%25%29")], [unescape("%3D%3D%3D"), unescape("%28%25receiver%25%20%3D%3D%3D%20%25arg1%25%29")], [unescape("%7C%7C"), unescape("%28%25receiver%25%20%7C%7C%20%25arg1%25%29")], ["basicAt:", unescape("%28%25receiver%25%5B%25arg1%25%5D%20%7C%7C%20nil%29")], ["timesRepeat:", "hasBlockNoArguments:", unescape("%28function%28%29%7Bfor%28%241%24%3D%25receiver%25%3B%241%24%3E0%3B%241%24--%29%7B%25arg1%25%28%29%7D%3Breturn%20nil%7D%29%28%29")]]], [(2), [["ifTrue:ifFalse:", "hasBlockNoArguments:", unescape("%28%28%25receiver%25%29.mustBeBoolean%28%29%3D%3Dtrue%20%3F%20%25arg1%25%28%29%20%3A%20%25arg2%25%28%29%29")], ["ifFalse:ifTrue:", "hasBlockNoArguments:", unescape("%28%28%25receiver%25%29.mustBeBoolean%28%29%3D%3Dtrue%20%3F%20%25arg2%25%28%29%20%3A%20%25arg1%25%28%29%29")], ["ifNil:ifNotNil:", "hasBlockNoArguments:", unescape("%28%28%28%25receiver%25%29%7C%7Cnil%29%3D%3D%3D%20nil%29%20%3F%20%25arg1%25%28%29%20%3A%20%25arg2%25%28%29")], ["ifNotNil:ifNil:", "hasBlockNoArguments:", unescape("%28%28%28%25receiver%25%29%7C%7Cnil%29%21%3D%3D%20nil%29%20%3F%20%25arg1%25%28%29%20%3A%20%25arg2%25%28%29")], ["basicAt:ifAbsent:", unescape("%28%25receiver%25%5B%25arg1%25%5D%20%7C%7C%20%25arg2%25.value%28%29%29")], ["basicAt:put:", unescape("%28%25receiver%25%5B%25arg1%25%5D%3D%28%25arg2%25%29%29")]]]];return self;} ,'optimization',unescape('optimizationMap%0D%0A%09%22%20Private%20-%20Return%20the%20message%20optimization%20map.%22%0D%0A%0D%0A%09%5E%23%28%0D%0A%09%09%23%28%200%20%23%28%09%22selectors%20without%20arguments%22%0D%0A%09%09%09%23%28%20%23class%09%27%25receiver%25.%24klass%27%20%29%0D%0A%09%09%09%23%28%20%23isNil%09%27%28%28%25receiver%25%20%7C%7C%20nil%29%20%3D%3D%3D%20nil%29%27%20%29%0D%0A%09%09%09%23%28%20%23notNil%09%27%28%28%25receiver%25%20%7C%7C%20nil%29%20%21%3D%3D%20nil%29%27%20%29%0D%0A%09%09%09%23%28%20%23whileTrue%20%23receiverIsBlockNoArguments%3A%20%27%28function%28%29%7Bwhile%28%25receiver%25%28%29%29%7B%7D%3Breturn%20nil%7D%29%28%29%27%20%29%0D%0A%09%09%09%23%28%20%23whileFalse%20%23receiverIsBlockNoArguments%3A%20%27%28function%28%29%7Bwhile%28%21%25receiver%25%28%29%29%7B%7D%3Breturn%20nil%7D%29%28%29%27%20%29%0D%0A%09%09%29%20%29%0D%0A%09%09%23%28%201%20%23%28%20%22one%20argument%20selectors%20and%20operations%22%0D%0A%09%09%09%23%28%20%23ifTrue%3A%20%23hasBlockNoArguments%3A%20%27%28%28%25receiver%25%29.mustBeBoolean%28%29%3D%3Dtrue%20%3F%20%25arg1%25%28%29%20%3A%20nil%29%27%20%29%0D%0A%09%09%09%23%28%20%23ifFalse%3A%20%23hasBlockNoArguments%3A%20%27%28%28%25receiver%25%29.mustBeBoolean%28%29%3D%3Dtrue%20%3F%20nil%20%3A%20%25arg1%25%28%29%29%27%20%29%0D%0A%09%09%09%23%28%20%23whileTrue%3A%20%23allBlockNoArguments%3A%20%27%28function%28%29%7Bwhile%28%25receiver%25%28%29%29%7B%25arg1%25%28%29%7D%3Breturn%20nil%7D%29%28%29%27%20%29%0D%0A%09%09%09%23%28%20%23whileFalse%3A%20%23allBlockNoArguments%3A%20%27%28function%28%29%7Bwhile%28%21%25receiver%25%28%29%29%7B%25arg1%25%28%29%7D%3Breturn%20nil%7D%29%28%29%27%20%29%0D%0A%09%09%09%23%28%20%23ifNil%3A%20%23hasBlockArguments%3A%20%27%28function%28%29%7Bvar%20%241%24%3Breturn%20%28%28%28%241%24%20%3D%20%25receiver%25%29%7C%7Cnil%29%3D%3D%3D%20nil%29%20%3F%20%25arg1%25%28%29%20%3A%20%241%24%3B%7D%29%28%29%27%20%29%0D%0A%09%09%09%23%28%20%23ifNotNil%3A%20%23hasBlockArguments%3A%20%27%28function%28%29%7Bvar%20%241%24%3Breturn%20%28%28%28%241%24%20%3D%20%25receiver%25%29%7C%7Cnil%29%21%3D%3D%20nil%29%20%3F%20%25arg1%25%28%29%20%3A%20%241%24%3B%7D%29%28%29%27%20%29%0D%0A%09%09%09%23%28%20%23+%20%23hasNumber%3A%20%27%28%25receiver%25%20+%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23-%20%23hasNumber%3A%20%27%28%25receiver%25%20-%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23*%20%23hasNumber%3A%20%27%28%25receiver%25%20*%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23/%20%23hasNumber%3A%20%27%28%25receiver%25%20/%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23%3E%20%23hasNumber%3A%20%27%28%25receiver%25%20%3E%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23%3C%20%23hasNumber%3A%20%27%28%25receiver%25%20%3C%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23%3E%3D%20%23hasNumber%3A%20%27%28%25receiver%25%20%3E%3D%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23%3C%3D%20%23hasNumber%3A%20%27%28%25receiver%25%20%3C%3D%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23%3D%3D%09%27%28%25receiver%25%20%3D%3D%3D%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23%3D%3D%3D%09%27%28%25receiver%25%20%3D%3D%3D%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23%7C%7C%09%27%28%25receiver%25%20%7C%7C%20%25arg1%25%29%27%20%29%0D%0A%09%09%09%23%28%20%23basicAt%3A%09%27%28%25receiver%25%5B%25arg1%25%5D%20%7C%7C%20nil%29%27%20%29%0D%0A%09%09%09%23%28%20%23timesRepeat%3A%20%23hasBlockNoArguments%3A%20%27%28function%28%29%7Bfor%28%241%24%3D%25receiver%25%3B%241%24%3E0%3B%241%24--%29%7B%25arg1%25%28%29%7D%3Breturn%20nil%7D%29%28%29%27%20%29%0D%0A%09%09%29%20%29%0D%0A%09%09%23%28%202%20%23%28%20%22two%20argument%20messages%20and%20operations%22%0D%0A%09%09%09%23%28%20%23ifTrue%3AifFalse%3A%20%23hasBlockNoArguments%3A%20%27%28%28%25receiver%25%29.mustBeBoolean%28%29%3D%3Dtrue%20%3F%20%25arg1%25%28%29%20%3A%20%25arg2%25%28%29%29%27%20%29%0D%0A%09%09%09%23%28%20%23ifFalse%3AifTrue%3A%20%23hasBlockNoArguments%3A%20%27%28%28%25receiver%25%29.mustBeBoolean%28%29%3D%3Dtrue%20%3F%20%25arg2%25%28%29%20%3A%20%25arg1%25%28%29%29%27%20%29%0D%0A%09%09%09%23%28%20%23ifNil%3AifNotNil%3A%20%23hasBlockNoArguments%3A%20%27%28%28%28%25receiver%25%29%7C%7Cnil%29%3D%3D%3D%20nil%29%20%3F%20%25arg1%25%28%29%20%3A%20%25arg2%25%28%29%27%20%29%0D%0A%09%09%09%23%28%20%23ifNotNil%3AifNil%3A%20%23hasBlockNoArguments%3A%20%27%28%28%28%25receiver%25%29%7C%7Cnil%29%21%3D%3D%20nil%29%20%3F%20%25arg1%25%28%29%20%3A%20%25arg2%25%28%29%27%20%29%0D%0A%09%09%09%23%28%20%23basicAt%3AifAbsent%3A%20%27%28%25receiver%25%5B%25arg1%25%5D%20%7C%7C%20%25arg2%25.value%28%29%29%27%20%29%0D%0A%09%09%09%23%28%20%23basicAt%3Aput%3A%20%27%28%25receiver%25%5B%25arg1%25%5D%3D%28%25arg2%25%29%29%27%20%29%0D%0A%09%09%29%20%29%0D%0A%09%29')); smalltalk.bind(smalltalk.Compiler,'optimize:macro:','optimize_macro_' ,function (aNode,template){ var self=this; var input=nil; input=template.readStream(); input.do_((function($$char){return (($$char._eq(unescape("%25"))).mustBeBoolean()==true ? (function(){return self.visitMacroIn_with_(input, aNode);})() : (function(){return self['@stream'].nextPutAll_($$char.asString());})());}));return self;} ,'optimization',unescape('optimize%3A%20aNode%20macro%3A%20template%0D%0A%09%22%20Private%20-%20Generate%20the%20code%20for%20aNode%20using%20a%20macro%20template.%0D%0A%09Dump%20code%20expanding%20variables%20in%20macro%20template.%0D%0A%09Variables%20are%20defined%20between%20%25%25%0D%0A%09%22%0D%0A%0D%0A%09%7C%20input%20%7C%0D%0A%09input%20%3A%3D%20template%20readStream.%0D%0A%09input%20do%3A%20%5B%3Achar%7C%0D%0A%09%09char%20%3D%20%24%25%0D%0A%09%09ifTrue%3A%20%5B%20self%20visitMacroIn%3A%20input%20with%3A%20aNode%20%5D%0D%0A%09%09ifFalse%3A%20%5B%20stream%20nextPutAll%3A%20char%20asString%20%5D%0D%0A%09%5D')); smalltalk.bind(smalltalk.Compiler,'isOperation:','isOperation_' ,function (aNode){ var self=this; return aNode.arguments().size()._eq((1)).and_((function(){return (aNode.selector().size() > (1)).and_((function(){return aNode.selector().first()._eq(unescape("%23")).and_((function(){return unescape("%7C%26%5C%5C+*/%3D%3E%3C%2C@%25%7E-").includes_(aNode.selector().at_((2)));}));}));}));return self;} ,'operations',unescape('isOperation%3A%20aNode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20aNode%20is%20an%20operation.%20%22%0D%0A%0D%0A%09%22self%20print%3A%20%27//%20isOperation%3A%20%27%2CaNode%20selector%2C%27%28%27%2CaNode%20selector%20asSelector%2C%27%29%20argSize%3D%27%2CaNode%20arguments%20size%20asString.%22%0D%0A%09%5EaNode%20arguments%20size%20%3D%201%20and%3A%20%5B%0D%0A%09%09aNode%20selector%20size%20%3E%201%20and%3A%20%5B%0D%0A%09%09aNode%20selector%20first%20%3D%20%24%23%20and%3A%20%5B%0D%0A%09%09%27%7C%26%5C%5C+*/%3D%3E%3C%2C@%25%7E-%27%20includes%3A%20%28aNode%20selector%20at%3A%202%29%0D%0A%09%09%5D%5D%5D')); smalltalk.bind(smalltalk.Compiler,'visitNormalSend:','visitNormalSend_' ,function (aNode){ var self=this; self.visitReceiver_(aNode.receiver()); (function($rec){$rec.nextPutAll_(aNode.receiver().messageSendConnector());$rec.nextPutAll_(aNode.selector().asSelector());return $rec.nextPutAll_(unescape("%28"));})(self['@stream']); self.visitSendArguments_(aNode); self['@stream'].nextPutAll_(unescape("%29"));return self;} ,'visiting',unescape('visitNormalSend%3A%20aNode%0D%0A%09%22%20Generate%20code%20for%20direct/inlined%20message%20send.%22%0D%0A%0D%0A%09self%20visitReceiver%3A%20aNode%20receiver.%0D%0A%09stream%0D%0A%09%09nextPutAll%3A%20aNode%20receiver%20messageSendConnector%3B%0D%0A%09%09nextPutAll%3A%20aNode%20selector%20asSelector%3B%0D%0A%09%09nextPutAll%3A%20%27%28%27.%0D%0A%09self%20visitSendArguments%3A%20aNode.%0D%0A%09stream%09nextPutAll%3A%20%27%29%27.')); smalltalk.bind(smalltalk.Compiler,'visitInlined:','visitInlined_' ,function (aNode){ var self=this; try{ ((aNode.isKindOf_(smalltalk.BlockNode)).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "visitInlined_", fn: function(){return self.error_(unescape("Invalid%20block%20node%20%28")._comma(aNode.asString())._comma(unescape("%29.")))}})})();})()); aNode.nodes().do_((function(each){return self.visit_(each);}));return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitInlined_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitInlined%3A%20aNode%0D%0A%09%22%20Private%20-%20Encode%20aNode%20as%20inlined%20sequence%20of%20statements.%20%22%0D%0A%0D%0A%09%28aNode%20isKindOf%3A%20BlockNode%29%20ifFalse%3A%20%5B%0D%0A%09%09%5Eself%20error%3A%20%27Invalid%20block%20node%20%28%27%2CaNode%20asString%2C%27%29.%27%0D%0A%09%5D.%0D%0A%09aNode%20nodes%20do%3A%20%5B%3Aeach%20%7C%20self%20visit%3A%20each%20%5D.')); smalltalk.bind(smalltalk.Compiler,'visitMacroIn:with:','visitMacroIn_with_' ,function (input,aNode){ var self=this; try{ var varName=nil; var $$char=nil; var args=nil; varName=smalltalk.String.$$new(); (function(){while(!(function(){$$char=input.next();return $$char._eq(unescape("%25"));})()){(function(){return varName=varName._comma($$char.asString());})()};return nil})(); ((varName._eq("receiver")).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitMacroIn_with_", fn: function(){return self.visitReceiver_(aNode.receiver())}})})();})() : nil); (((varName.size() > (3)).and_((function(){return varName.copyFrom_to_((1), (3))._eq("arg");}))).mustBeBoolean()==true ? (function(){args=aNode.arguments();return (1).to_do_(args.size(), (function(i){return (("arg"._comma(i.asString())._eq(varName)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitMacroIn_with_", fn: function(){return self.visit_(args.at_(i))}})})();})() : nil);}));})() : nil); ((varName._eq("inlinedReceiver")).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitMacroIn_with_", fn: function(){return self.visitInlined_(aNode.receiver())}})})();})() : nil); (((varName.size() > (7)).and_((function(){return varName.copyFrom_to_((1), (7))._eq("inlined");}))).mustBeBoolean()==true ? (function(){args=aNode.arguments();return (1).to_do_(args.size(), (function(i){return (("inlined"._comma(i.asString())._eq(varName)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitMacroIn_with_", fn: function(){return self.visitInlined_(args.at_(i))}})})();})() : nil);}));})() : nil); (function(){throw({name: "stReturn", selector: "visitMacroIn_with_", fn: function(){return self.error_(unescape("Invalid%20macro%20variable%5B")._comma(varName)._comma(unescape("%5D.")))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitMacroIn_with_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitMacroIn%3A%20input%20with%3A%20aNode%0D%0A%09%22%20Private%20-%20Dump%20the%20value%20of%20next%20variable%20defined%20in%20input%20onto%20receiver%27s%20stream.%20%22%0D%0A%0D%0A%09%7C%20varName%20char%20args%20%7C%0D%0A%09varName%20%3A%3D%20String%20new.%0D%0A%09%5B%20char%20%3A%3D%20input%20next.%20char%20%3D%20%24%25%5D%20whileFalse%3A%20%5B%0D%0A%09%09varName%20%3A%3D%20varName%20%2C%20char%20asString%0D%0A%09%5D.%0D%0A%0D%0A%09varName%20%3D%20%27receiver%27%20ifTrue%3A%20%5B%20%5Eself%20visitReceiver%3A%20aNode%20receiver%20%5D.%0D%0A%09%28varName%20size%20%3E%203%20and%3A%20%5B%20%28varName%20copyFrom%3A%201%20to%3A%203%29%20%3D%20%27arg%27%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09args%20%3A%3D%20aNode%20arguments.%0D%0A%09%091%20to%3A%20args%20size%20do%3A%20%5B%3Ai%7C%0D%0A%09%09%09%27arg%27%2Ci%20asString%20%3D%20varName%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%5Eself%20visit%3A%20%28args%20at%3A%20i%29%0D%0A%09%09%09%5D.%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09varName%20%3D%20%27inlinedReceiver%27%20ifTrue%3A%20%5B%20%5Eself%20visitInlined%3A%20aNode%20receiver%20%5D.%0D%0A%09%28varName%20size%20%3E%207%20and%3A%20%5B%20%28varName%20copyFrom%3A%201%20to%3A%207%29%20%3D%20%27inlined%27%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09args%20%3A%3D%20aNode%20arguments.%0D%0A%09%091%20to%3A%20args%20size%20do%3A%20%5B%3Ai%7C%0D%0A%09%09%09%27inlined%27%2Ci%20asString%20%3D%20varName%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%5Eself%20visitInlined%3A%20%28args%20at%3A%20i%29%0D%0A%09%09%09%5D.%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09%5Eself%20error%3A%20%27Invalid%20macro%20variable%5B%27%2CvarName%2C%27%5D.%27')); smalltalk.bind(smalltalk.Compiler,'visitOptimizedNode:as:','visitOptimizedNode_as_' ,function (aNode,mapping){ var self=this; try{ ((mapping.size()._eq((2)).and_((function(){return mapping.last().isString();}))).mustBeBoolean()==true ? (function(){self.optimize_macro_(aNode, mapping.last());return (function(){throw({name: "stReturn", selector: "visitOptimizedNode_as_", fn: function(){return true}})})();})() : nil); ((mapping.size()._eq((3)).and_((function(){return mapping.last().isString();}))).mustBeBoolean()==true ? (function(){((self.matchOptimizedCondition_with_(mapping.at_((2)), aNode)).mustBeBoolean()==true ? (function(){return self.optimize_macro_(aNode, mapping.last());})() : (function(){return (function(){throw({name: "stReturn", selector: "visitOptimizedNode_as_", fn: function(){return false}})})();})());return (function(){throw({name: "stReturn", selector: "visitOptimizedNode_as_", fn: function(){return true}})})();})() : nil); self.print_(unescape("%3E%3E%3E%20compiler%20optimization")._comma(unescape("%20for%20%23"))._comma(aNode.selector())._comma(unescape("%20-%20not%20implemented%20yet.%20Mapping%3D"))._comma(mapping.asString())); (function(){throw({name: "stReturn", selector: "visitOptimizedNode_as_", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitOptimizedNode_as_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitOptimizedNode%3A%20aNode%20as%3A%20mapping%0D%0A%09%22%20Private%20-%20Generate%20the%20code%20for%20aNode%20using%20custom%20mapping.%0D%0A%09Return%20true%20if%20the%20code%20can%20be%20generated.%0D%0A%09If%20the%20optimization%20fails%2C%20the%20receiver%27s%20stream%20MUST%20be%20leaved%20intact%20to%20ensure%20correct%20code%20generation.%0D%0A%09%22%0D%0A%0D%0A%09%28mapping%20size%20%3D%202%20and%3A%20%5Bmapping%20last%20isString%5D%29%20ifTrue%3A%20%5B%20%22%28selector%20macro%29%22%0D%0A%09%09self%20optimize%3A%20aNode%20macro%3A%20mapping%20last.%0D%0A%09%09%5Etrue%0D%0A%09%5D.%0D%0A%09%28mapping%20size%20%3D%203%20and%3A%20%5Bmapping%20last%20isString%5D%29%20ifTrue%3A%20%5B%22%28selector%20condition%20macro%29%22%0D%0A%09%09%28self%20matchOptimizedCondition%3A%20%28mapping%20at%3A2%29%20with%3A%20aNode%29%0D%0A%09%09%09ifTrue%3A%20%5B%20self%20optimize%3A%20aNode%20macro%3A%20mapping%20last%20%5D%0D%0A%09%09%09ifFalse%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09%09%5Etrue%0D%0A%09%5D.%0D%0A%0D%0A%09self%20print%3A%20%27%3E%3E%3E%20compiler%20optimization%27%0D%0A%09%09%2C%27%20for%20%23%27%2CaNode%20selector%0D%0A%09%09%2C%27%20-%20not%20implemented%20yet.%20Mapping%3D%27%0D%0A%09%09%2Cmapping%20asString.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Compiler,'visitOptimizedSend:with:','visitOptimizedSend_with_' ,function (aNode,mapping){ var self=this; try{ mapping.do_((function(tuple){return ((tuple.first().isNumber().and_((function(){return tuple.first()._eq(aNode.arguments().size());}))).mustBeBoolean()==true ? (function(){return ((self.visitOptimizedSend_with_(aNode, tuple.last())).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitOptimizedSend_with_", fn: function(){return true}})})();})() : nil);})() : (function(){return ((tuple.first()._eq(aNode.selector())).mustBeBoolean()==true ? (function(){return ((self.visitOptimizedNode_as_(aNode, tuple)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitOptimizedSend_with_", fn: function(){return true}})})();})() : nil);})() : nil);})());})); (function(){throw({name: "stReturn", selector: "visitOptimizedSend_with_", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitOptimizedSend_with_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitOptimizedSend%3A%20aNode%20with%3A%20mapping%0D%0A%09%22%20Private%20-%20Try%20to%20generate%20optimal%20code%20for%20aNode%20using%20mapping.%0D%0A%09Return%20true%20if%20the%20code%20has%20been%20generated.%0D%0A%09Leave%20the%20code%20stream%20intact%20if%20the%20optimization%20do%20not%20apply.%0D%0A%09%22%0D%0A%0D%0A%09mapping%20do%3A%20%5B%3Atuple%7C%0D%0A%09%09%28tuple%20first%20isNumber%20and%3A%20%5B%20tuple%20first%20%3D%20aNode%20arguments%20size%20%5D%29%0D%0A%09%09ifTrue%3A%20%5B%20%22arguments%20size%20matching%20-%20recurse%20to%20selector%20matching%22%0D%0A%09%09%09%28self%20visitOptimizedSend%3A%20aNode%20with%3A%20tuple%20last%29%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%5Etrue%0D%0A%09%09%09%5D.%0D%0A%09%09%5D%20ifFalse%3A%20%5B%20%22selector%20matching%20-%20try%20to%20apply%20optimization%22%0D%0A%09%09%09tuple%20first%20%3D%20aNode%20selector%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%28self%20visitOptimizedNode%3A%20aNode%20as%3A%20tuple%29%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%09%5Etrue%0D%0A%09%09%09%09%5D.%0D%0A%09%09%09%5D.%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Compiler,'emmitOptimalCode','emmitOptimalCode' ,function (){ var self=this; return true;return self;} ,'visiting',unescape('emmitOptimalCode%0D%0A%09%22%20Private%20-%20Return%20true%20if%20the%20receiver%20try%20to%20optimize%20code.%20%22%0D%0A%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.Compiler,'visitOptimizedSend:','visitOptimizedSend_' ,function (aNode){ var self=this; return self.emmitOptimalCode().and_((function(){return self.visitOptimizedSend_with_(aNode, self.optimizationMap());}));return self;} ,'visiting',unescape('visitOptimizedSend%3A%20aNode%0D%0A%09%22%20Private%20-%20Try%20to%20generate%20optimal%20code%20for%20aNode%20using%20default%20optimization%20map.%0D%0A%09Return%20true%20if%20optimization%20was%20successfull.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20emmitOptimalCode%20and%3A%20%5B%0D%0A%09%09self%20visitOptimizedSend%3A%20aNode%20with%3A%20self%20optimizationMap%0D%0A%09%5D')); smalltalk.bind(smalltalk.Compiler,'visitSendArguments:','visitSendArguments_' ,function (aNode){ var self=this; aNode.arguments().do_separatedBy_((function(each){return self.visitArgument_(each);}), (function(){return self['@stream'].nextPutAll_(unescape("%2C%20"));}));return self;} ,'visiting',unescape('visitSendArguments%3A%20aNode%0D%0A%09aNode%20arguments%20%0D%0A%09%20%20%20%20do%3A%20%5B%3Aeach%20%7C%20self%20visitArgument%3A%20each%20%5D%0D%0A%09%20%20%20%20separatedBy%3A%20%5B%20stream%20nextPutAll%3A%20%27%2C%20%27%20%5D.')); smalltalk.bind(smalltalk.Compiler,'visitSendToSuper:','visitSendToSuper_' ,function (aNode){ var self=this; (function($rec){$rec.nextPutAll_(unescape("smalltalk.whoImplements%28")._comma(self.smalltalkNameFor_(self['@currentClass']))._comma(unescape("%2C%27"))._comma(aNode.selector().asSelector())._comma(unescape("%27%29.%24superclass.%24fn.prototype%5B%27")));$rec.nextPutAll_(aNode.selector().asSelector());return $rec.nextPutAll_(unescape("%27%5D.apply%28self%2C%20%5B"));})(self['@stream']); self.visitSendArguments_(aNode); self['@stream'].nextPutAll_(unescape("%5D%29"));return self;} ,'visiting',unescape('visitSendToSuper%3A%20aNode%0D%0A%09stream%20%0D%0A%09%09nextPutAll%3A%20%27smalltalk.whoImplements%28%27%0D%0A%09%09%09%2C%28self%20smalltalkNameFor%3A%20currentClass%29%0D%0A%09%09%09%2C%27%2C%27%27%27%2CaNode%20selector%20asSelector%0D%0A%09%09%09%2C%27%27%27%29.%24superclass.%24fn.prototype%5B%27%27%27%3B%0D%0A%09%09nextPutAll%3A%20aNode%20selector%20asSelector%3B%0D%0A%09%09nextPutAll%3A%20%27%27%27%5D.apply%28self%2C%20%5B%27.%0D%0A%09self%20visitSendArguments%3A%20aNode.%0D%0A%09stream%20nextPutAll%3A%20%27%5D%29%27.')); smalltalk.bind(smalltalk.Compiler,'visitOperation:','visitOperation_' ,function (aNode){ var self=this; self['@stream'].nextPutAll_(unescape("%28")); self.visitReceiver_(aNode.receiver()); self['@stream'].nextPutAll_(unescape("%29")); self['@stream'].nextPutAll_(aNode.selector().asSelector()); self.visitSendArguments_(aNode);return self;} ,'visiting',unescape('visitOperation%3A%20aNode%0D%0A%09%22%20Private%20-%20aNode%20is%20an%20operation%20and%20selector%20is%20mapped%20to%20target%20operation.%20%22%0D%0A%0D%0A%09stream%20nextPutAll%3A%20%27%28%27.%0D%0A%09self%20visitReceiver%3A%20aNode%20receiver.%0D%0A%09stream%20nextPutAll%3A%20%27%29%27.%0D%0A%09stream%20nextPutAll%3A%20aNode%20selector%20asSelector.%0D%0A%09self%20visitSendArguments%3A%20aNode.')); smalltalk.bind(smalltalk.Compiler,'visitSendNode:','visitSendNode_' ,function (aNode){ var self=this; try{ ((aNode.receiver().isSuper()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitSendNode_", fn: function(){return self.visitSendToSuper_(aNode)}})})();})() : nil); ((self.visitOptimizedSend_(aNode)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitSendNode_", fn: function(){return self}})})();})() : nil); ((self.isOperation_(aNode)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitSendNode_", fn: function(){return self.visitOperation_(aNode)}})})();})() : nil); (function(){throw({name: "stReturn", selector: "visitSendNode_", fn: function(){return self.visitNormalSend_(aNode)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitSendNode_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitSendNode%3A%20aNode%0D%0A%09aNode%20receiver%20isSuper%20ifTrue%3A%20%5B%20%5Eself%20visitSendToSuper%3A%20aNode%20%5D.%0D%0A%09%28self%20visitOptimizedSend%3A%20aNode%29%20ifTrue%3A%20%5B%20%5Eself%20%5D.%0D%0A%09%28self%20isOperation%3A%20aNode%29%20ifTrue%3A%20%5B%20%5Eself%20visitOperation%3A%20aNode%20%5D.%0D%0A%09%5Eself%20visitNormalSend%3A%20aNode')); smalltalk.bind(smalltalk.Compiler,'visitCascadeNode:','visitCascadeNode_' ,function (aNode){ var self=this; var index=nil; index=(0); ((self['@tempVariables'].includes_("$rec")).mustBeBoolean()==true ? nil : (function(){return self['@tempVariables'].add_("$rec");})()); self['@stream'].nextPutAll_(unescape("%28function%28%24rec%29%7B")); aNode.nodes().do_((function(each){index=(index + (1));((index._eq(aNode.nodes().size())).mustBeBoolean()==true ? (function(){return self['@stream'].nextPutAll_("return ");})() : nil);each.receiver_(smalltalk.VariableNode.$$new().value_("$rec"));self.visit_(each);return self['@stream'].nextPutAll_(unescape("%3B"));})); self['@stream'].nextPutAll_(unescape("%7D%29%28")); self.visit_(aNode.receiver()); self['@stream'].nextPutAll_(unescape("%29"));return self;} ,'visiting',unescape('visitCascadeNode%3A%20aNode%0D%0A%09%7C%20index%20%7C%0D%0A%09index%20%3A%3D%200.%0D%0A%09%28tempVariables%20includes%3A%20%27%24rec%27%29%20ifFalse%3A%20%5B%20tempVariables%20add%3A%20%27%24rec%27%20%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%28function%28%24rec%29%7B%27.%0D%0A%09aNode%20nodes%20do%3A%20%5B%3Aeach%20%7C%0D%0A%09%20%20%20%20index%20%3A%3D%20index%20+%201.%0D%0A%09%20%20%20%20index%20%3D%20aNode%20nodes%20size%20ifTrue%3A%20%5B%20stream%20nextPutAll%3A%20%27return%20%27%20%5D.%0D%0A%09%20%20%20%20each%20receiver%3A%20%28VariableNode%20new%20value%3A%20%27%24rec%27%29.%0D%0A%09%20%20%20%20self%20visit%3A%20each.%0D%0A%09%20%20%20%20stream%20nextPutAll%3A%20%27%3B%27%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%7D%29%28%27.%0D%0A%09self%20visit%3A%20aNode%20receiver.%0D%0A%09stream%20nextPutAll%3A%20%27%29%27')); smalltalk.bind(smalltalk.Compiler,'visitValueNode:','visitValueNode_' ,function (aNode){ var self=this; self['@stream'].nextPutAll_(aNode.value().asJavascript());return self;} ,'visiting',unescape('visitValueNode%3A%20aNode%0D%0A%09stream%20nextPutAll%3A%20aNode%20value%20asJavascript')); smalltalk.bind(smalltalk.Compiler,'visitJSStatementNode:','visitJSStatementNode_' ,function (aNode){ var self=this; self['@stream'].nextPutAll_(aNode.source().value().replace_with_(unescape("%27%27"), unescape("%27")));return self;} ,'visiting',unescape('visitJSStatementNode%3A%20aNode%0D%0A%09stream%20nextPutAll%3A%20%28aNode%20source%20value%20replace%3A%20%27%27%27%27%27%27%20with%3A%20%27%27%27%27%29')); smalltalk.bind(smalltalk.Compiler,'visitMacroAssignment:','visitMacroAssignment_' ,function (aNode){ var self=this; return aNode.left().acceptMacroAssignment_with_(aNode.right(), self);return self;} ,'visiting',unescape('visitMacroAssignment%3A%20aNode%0D%0A%09%5EaNode%20left%20acceptMacroAssignment%3A%20aNode%20right%20with%3A%20self')); smalltalk.bind(smalltalk.Compiler,'visitAssignmentNode:','visitAssignmentNode_' ,function (aNode){ var self=this; try{ ((self.visitMacroAssignment_(aNode)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitAssignmentNode_", fn: function(){return self}})})();})() : nil); self.visit_(aNode.left()); self['@stream'].nextPutAll_(unescape("%3D")); self.visit_(aNode.right());return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitAssignmentNode_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitAssignmentNode%3A%20aNode%0D%0A%0D%0A%09%28self%20visitMacroAssignment%3A%20aNode%29%20ifTrue%3A%20%5B%20%5Eself%20%5D.%0D%0A%09self%20visit%3A%20aNode%20left.%0D%0A%09stream%20nextPutAll%3A%20%27%3D%27.%0D%0A%09self%20visit%3A%20aNode%20right.')); smalltalk.bind(smalltalk.Compiler,'visitClassVariableAssignment:in:to:','visitClassVariableAssignment_in_to_' ,function (aClassVariableName,aClass,anExpressionNode){ var self=this; (function($rec){$rec.nextPutAll_(self.smalltalkNameFor_(aClass));$rec.nextPutAll_(unescape(".classVariableAt_put_%28%22"));$rec.nextPutAll_(aClassVariableName);return $rec.nextPutAll_(unescape("%22%2C"));})(self['@stream']); self.visit_(anExpressionNode); self['@stream'].nextPutAll_(unescape("%29"));return self;} ,'visiting',unescape('visitClassVariableAssignment%3A%20aClassVariableName%20in%3A%20aClass%20to%3A%20anExpressionNode%0D%0A%0D%0A%09stream%0D%0A%09%09nextPutAll%3A%20%28self%20smalltalkNameFor%3A%20aClass%29%3B%0D%0A%09%09nextPutAll%3A%20%27.classVariableAt_put_%28%22%27%3B%0D%0A%09%09nextPutAll%3A%20aClassVariableName%3B%20nextPutAll%3A%20%27%22%2C%27.%0D%0A%09self%20visit%3A%20anExpressionNode.%0D%0A%09stream%09nextPutAll%3A%20%27%29%27')); smalltalk.bind(smalltalk.Compiler,'visitPoolVariableAssignment:in:to:','visitPoolVariableAssignment_in_to_' ,function (aName,poolName,anExpressionNode){ var self=this; (function($rec){$rec.nextPutAll_(unescape("smalltalk.poolDictionary_%28%22"));$rec.nextPutAll_(poolName);$rec.nextPutAll_(unescape("%22%29.at_put_%28%22"));$rec.nextPutAll_(aName);return $rec.nextPutAll_(unescape("%22%2C"));})(self['@stream']); self.visit_(anExpressionNode); self['@stream'].nextPutAll_(unescape("%29"));return self;} ,'visiting',unescape('visitPoolVariableAssignment%3A%20aName%20in%3A%20poolName%20to%3A%20anExpressionNode%0D%0A%0D%0A%09stream%0D%0A%09%09nextPutAll%3A%20%27smalltalk.poolDictionary_%28%22%27%3B%0D%0A%09%09nextPutAll%3A%20poolName%3B%20nextPutAll%3A%20%27%22%29.at_put_%28%22%27%3B%0D%0A%09%09nextPutAll%3A%20aName%3B%20nextPutAll%3A%20%27%22%2C%27.%0D%0A%09self%20visit%3A%20anExpressionNode.%0D%0A%09stream%09nextPutAll%3A%20%27%29%27')); smalltalk.bind(smalltalk.Compiler,'visitMacroAssignment:to:','visitMacroAssignment_to_' ,function (aVariableNode,anExpressionNode){ var self=this; try{ var aName=nil; ((aVariableNode.indices().notEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "visitMacroAssignment_to_", fn: function(){return false}})})();})() : nil); aName=aVariableNode.value(); self.currentClass().classVariableNamesDo_((function(each){return ((each._eq(aName)).mustBeBoolean()==true ? (function(){self.visitClassVariableAssignment_in_to_(each, self.currentClass(), anExpressionNode);return (function(){throw({name: "stReturn", selector: "visitMacroAssignment_to_", fn: function(){return true}})})();})() : nil);})); self.currentClass().sharedPoolsAndNamesDo_((function(poolName, pool){return ((pool.includesKey_(aName)).mustBeBoolean()==true ? (function(){self.visitPoolVariableAssignment_in_to_(aName, poolName, anExpressionNode);return (function(){throw({name: "stReturn", selector: "visitMacroAssignment_to_", fn: function(){return true}})})();})() : nil);})); (function(){throw({name: "stReturn", selector: "visitMacroAssignment_to_", fn: function(){return false}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitMacroAssignment_to_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitMacroAssignment%3A%20aVariableNode%20to%3A%20anExpressionNode%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20generated%20code%20to%20a%20macro%20assignment%20to%20aVariableNode.%20%22%0D%0A%0D%0A%09%7C%20aName%20%7C%0D%0A%09aVariableNode%20indices%20notEmpty%20ifTrue%3A%20%5B%20%5Efalse%20%5D.%0D%0A%09aName%20%3A%3D%20aVariableNode%20value.%0D%0A%09self%20currentClass%20classVariableNamesDo%3A%20%5B%3Aeach%7C%0D%0A%09%09each%20%3D%20aName%20ifTrue%3A%20%5B%0D%0A%09%09%09self%20visitClassVariableAssignment%3A%20each%0D%0A%09%09%09%09in%3A%20self%20currentClass%0D%0A%09%09%09%09to%3A%20anExpressionNode.%0D%0A%09%09%09%5Etrue%0D%0A%09%09%5D%0D%0A%09%5D.%0D%0A%09self%20currentClass%20sharedPoolsAndNamesDo%3A%20%5B%3ApoolName%20%3Apool%7C%0D%0A%09%09%28pool%20includesKey%3A%20aName%29%20ifTrue%3A%20%5B%0D%0A%09%09%09self%20visitPoolVariableAssignment%3A%20aName%0D%0A%09%09%09%09in%3A%20poolName%0D%0A%09%09%09%09to%3A%20anExpressionNode.%0D%0A%09%09%09%5Etrue%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09%5Efalse')); smalltalk.bind(smalltalk.Compiler,'codeToAccessProperty:','codeToAccessProperty_' ,function (aName){ var self=this; return unescape("self%5B%27")._comma(aName)._comma(unescape("%27%5D"));return self;} ,'code generation',unescape('codeToAccessProperty%3A%20aName%0D%0A%09%22%20Private%20-%20Return%20the%20source%20code%20to%20access%20property%20aName.%20%22%0D%0A%0D%0A%09%5E%27self%5B%27%27%27%2CaName%2C%27%27%27%5D%27')); smalltalk.bind(smalltalk.Compiler,'codeToAccessInstanceVariable:','codeToAccessInstanceVariable_' ,function (aName){ var self=this; return self.codeToAccessProperty_(unescape("@")._comma(aName));return self;} ,'code generation',unescape('codeToAccessInstanceVariable%3A%20aName%0D%0A%09%22%20Private%20-%20Return%20the%20source%20code%20to%20access%20instance%20variable%20aName.%20%22%0D%0A%0D%0A%09%5Eself%20codeToAccessProperty%3A%20%27@%27%2C%20aName')); smalltalk.bind(smalltalk.Compiler,'visitNode:index:','visitNode_index_' ,function (aNode,index){ var self=this; try{ var selector=nil; ((index.isMemberOf_(smalltalk.ValueNode).and_((function(){return index.hasString();}))).mustBeBoolean()==true ? (function(){selector=index.value().asSelector();return ((selector.includes_(" ").or_((function(){return selector.includes_("_");}))).mustBeBoolean()==true ? nil : (function(){(function($rec){$rec.nextPutAll_(".");return $rec.nextPutAll_(selector);})(self['@stream']);return (function(){throw({name: "stReturn", selector: "visitNode_index_", fn: function(){return self}})})();})());})() : nil); self['@stream'].nextPutAll_(unescape("%5B")); self.visit_(index); self['@stream'].nextPutAll_(unescape("%5D"));return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "visitNode_index_"){return $$ex.fn();} throw($$ex);}} ,'visiting',unescape('visitNode%3A%20aNode%20index%3A%20index%0D%0A%09%22%20Private%20-%20Generate%20code%20for%20direct%20property%20access.%20%22%0D%0A%0D%0A%09%7C%20selector%20%7C%0D%0A%09%28%28index%20isMemberOf%3A%20ValueNode%29%20and%3A%20%5B%20index%20hasString%20%5D%29%20ifTrue%3A%20%5B%0D%0A%09%09selector%20%3A%3D%20index%20value%20asSelector.%0D%0A%09%09%28%28selector%20includes%3A%20%24%20%29%20or%3A%20%5B%20selector%20includes%3A%20%24_%20%5D%29%20ifFalse%3A%20%5B%0D%0A%09%09%09stream%20nextPutAll%3A%20%27.%27%3B%20nextPutAll%3A%20selector.%0D%0A%09%09%09%5Eself%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09stream%20nextPutAll%3A%20%27%5B%27.%0D%0A%09self%20visit%3A%20index.%0D%0A%09stream%20nextPutAll%3A%20%27%5D%27.')); smalltalk.bind(smalltalk.Compiler,'visitNodeIndices:','visitNodeIndices_' ,function (aNode){ var self=this; aNode.indices().do_((function(each){return self.visitNode_index_(aNode, each);}));return self;} ,'visiting',unescape('visitNodeIndices%3A%20aNode%0D%0A%09%22%20Private%20-%20Generate%20code%20for%20direct%20property%20access.%20%22%0D%0A%0D%0A%09aNode%20indices%20do%3A%20%5B%3Aeach%7C%20self%20visitNode%3A%20aNode%20index%3A%20each%20%5D.')); smalltalk.bind(smalltalk.Compiler,'visitVariableNode:','visitVariableNode_' ,function (aNode){ var self=this; var code=nil; code=self.currentClass().codeFor_accessing_(self, aNode); ((((code || nil) !== nil)).mustBeBoolean()==true ? (function(){return self['@stream'].nextPutAll_(code);})() : (function(){((aNode.needsVerification()).mustBeBoolean()==true ? (function(){return ((self.knownVariables().includes_(aNode.value())).mustBeBoolean()==true ? nil : (function(){self.print_(unescape("//%3E%3E%3E%20Unknown%20variable%3A%20")._comma(aNode.value().asString()));return self['@unknownVariables'].add_(aNode.value());})());})() : nil);return self['@stream'].nextPutAll_(aNode.localNameIn_(self));})()); self.visitNodeIndices_(aNode);return self;} ,'visiting',unescape('visitVariableNode%3A%20aNode%0D%0A%09%22%20Generate%20code%20to%20access%20variable%20aNode.%20%22%0D%0A%0D%0A%09%7C%20code%20%7C%0D%0A%09code%20%3A%3D%20self%20currentClass%20codeFor%3A%20self%20accessing%3A%20aNode.%0D%0A%09code%20notNil%0D%0A%09ifTrue%3A%20%5Bstream%20nextPutAll%3A%20code%20%5D%0D%0A%09ifFalse%3A%20%5B%0D%0A%09%09aNode%20needsVerification%20ifTrue%3A%20%5B%0D%0A%09%09%09%28self%20knownVariables%20includes%3A%20aNode%20value%29%20ifFalse%3A%20%5B%0D%0Aself%20print%3A%20%27//%3E%3E%3E%20Unknown%20variable%3A%20%27%2CaNode%20value%20asString.%0D%0A%09%09%09%09unknownVariables%20add%3A%20aNode%20value%0D%0A%09%09%09%5D.%0D%0A%09%09%5D.%0D%0A%09%09stream%20nextPutAll%3A%20%28aNode%20localNameIn%3A%20self%29%0D%0A%09%5D.%0D%0A%09self%20visitNodeIndices%3A%20aNode.')); smalltalk.bind(smalltalk.Compiler,'parse:','parse_' ,function (aString){ var self=this; return self.parser().parse_(aString.readStream());return self;} ,'parsing',unescape('parse%3A%20aString%0D%0A%20%20%20%20%5Eself%20parser%20parse%3A%20aString%20readStream')); smalltalk.bind(smalltalk.Compiler,'parseExpression:','parseExpression_' ,function (aString){ var self=this; return self.parse_(unescape("doIt%20%5E%5B")._comma(aString)._comma(unescape("%5D%20value")));return self;} ,'parsing',unescape('parseExpression%3A%20aString%0D%0A%20%20%20%20%5Eself%20parse%3A%20%27doIt%20%5E%5B%27%2C%20aString%2C%20%27%5D%20value%27')); smalltalk.bind(smalltalk.Compiler,'unknownVariables','unknownVariables' ,function (){ var self=this; return self['@unknownVariables'];return self;} ,'accessing',unescape('unknownVariables%0D%0A%09%5EunknownVariables')); smalltalk.bind(smalltalk.Compiler,'pseudoVariables','pseudoVariables' ,function (){ var self=this; return ["self", "super", "true", "false", "nil", "thisContext"];return self;} ,'accessing',unescape('pseudoVariables%0D%0A%09%5E%23%28%27self%27%20%27super%27%20%27true%27%20%27false%27%20%27nil%27%20%27thisContext%27%29')); smalltalk.bind(smalltalk.Compiler,'tempVariables','tempVariables' ,function (){ var self=this; return self['@tempVariables'];return self;} ,'accessing',unescape('tempVariables%0D%0A%09%5EtempVariables%20%22copy%22')); smalltalk.bind(smalltalk.Compiler,'knownVariables','knownVariables' ,function (){ var self=this; return self.pseudoVariables()._comma(self.tempVariables());return self;} ,'accessing',unescape('knownVariables%0D%0A%09%5Eself%20pseudoVariables%20%2C%20self%20tempVariables')); smalltalk.bind(smalltalk.PPEOFParser,'parse:','parse_' ,function (aStream){ var self=this; try{ ((aStream.atEnd()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return nil}})})();})() : nil); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return smalltalk.PPFailure.reason_at_("EOF expected", aStream.position())}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09aStream%20atEnd%20ifTrue%3A%20%5B%20%5Enil%20%5D%20.%0D%0A%09%5EPPFailure%20reason%3A%20%27EOF%20expected%27%20at%3A%20aStream%20position')); smalltalk.bind(smalltalk.PPAnyParser,'parse:','parse_' ,function (aStream){ var self=this; try{ ((aStream.atEnd()).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return aStream.next()}})})();})()); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return smalltalk.PPFailure.reason_at_("did not expect EOF", aStream.position())}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09aStream%20atEnd%20ifFalse%3A%20%5B%20%5EaStream%20next%20%5D.%0D%0A%09%5EPPFailure%20reason%3A%20%27did%20not%20expect%20EOF%27%20at%3A%20aStream%20position')); smalltalk.bind(smalltalk.PPEpsilonParser,'parse:','parse_' ,function (aStream){ var self=this; return nil;return self;} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%5Enil')); smalltalk.bind(smalltalk.PPStringParser,'string','string' ,function (){ var self=this; return self['@string'];return self;} ,'accessing',unescape('string%0D%0A%09%22%20Return%20the%20string%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Estring')); smalltalk.bind(smalltalk.PPStringParser,'string:','string_' ,function (aString){ var self=this; self['@string']=aString;return self;} ,'accessing',unescape('string%3A%20aString%0D%0A%09%22%20Set%20the%20string%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09string%20%3A%3D%20aString')); smalltalk.bind(smalltalk.PPStringParser,'parse:','parse_' ,function (aStream){ var self=this; try{ var position=nil; var result=nil; position=aStream.position(); result=aStream.next_(self.string().size()); ((result._eq(self.string())).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return result}})})();})() : nil); aStream.position_(position); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return smalltalk.PPFailure.reason_at_("Expected "._comma(self.string())._comma(" but got ")._comma(result.printString()), position)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20position%20result%20%7C%0D%0A%09position%20%3A%3D%20aStream%20position.%0D%0A%09result%20%3A%3D%20aStream%20next%3A%20self%20string%20size.%0D%0A%09result%20%3D%20self%20string%20ifTrue%3A%20%5B%20%5Eresult%20%5D.%0D%0A%09aStream%20position%3A%20position.%0D%0A%09%5EPPFailure%0D%0A%09%09reason%3A%20%27Expected%20%27%2C%20self%20string%0D%0A%09%09%09%2C%27%20but%20got%20%27%2C%20result%20printString%0D%0A%09%09at%3A%20position')); smalltalk.bind(smalltalk.PPStStringParser,'parse:','parse_' ,function (aStream){ var self=this; try{ var position=nil; var result=nil; position=aStream.position(); result=""; (function(){while(!(function(){result=result._comma(aStream.upTo_(unescape("%27")));return aStream.atEnd();})()){(function(){((aStream.peek()._eq(unescape("%27"))).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return result}})})();})());return result=result._comma(aStream.next());})()};return nil})(); ((aStream.position()._gt(position)).mustBeBoolean()==true ? (function(){aStream.position_((aStream.position() - (1)));return ((aStream.next()._eq(unescape("%27"))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return result}})})();})() : nil);})() : nil); aStream.position_(position); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return smalltalk.PPFailure.reason_at_("Unfinished String", position)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20position%20result%20%7C%0D%0A%09position%20%3A%3D%20aStream%20position.%0D%0A%09result%20%3A%3D%20%27%27.%0D%0A%09%5B%20result%20%3A%3D%20result%20%2C%20%28aStream%20upTo%3A%20%24%27%29.%0D%0A%09%20%20aStream%20atEnd%20%5D%20whileFalse%3A%20%5B%0D%0A%09%09aStream%20peek%20%3D%20%24%27%20ifFalse%3A%20%5B%20%5Eresult%20%5D.%0D%0A%09%09result%20%3A%3D%20result%20%2CaStream%20next.%0D%0A%09%5D.%0D%0A%09aStream%20position%20%3E%20position%20ifTrue%3A%20%5B%0D%0A%09%09aStream%20position%3A%20aStream%20position%20-%201.%0D%0A%09%09aStream%20next%20%3D%20%24%27%20ifTrue%3A%20%5B%20%5Eresult%20%5D.%0D%0A%09%5D.%0D%0A%09aStream%20position%3A%20position.%0D%0A%09%5EPPFailure%20reason%3A%20%27Unfinished%20String%27%20at%3A%20position')); smalltalk.bind(smalltalk.PPCharacterParser,'string:','string_' ,function (aString){ var self=this; self['@regexp']=smalltalk.RegularExpression.fromString_(unescape("%5B")._comma(aString)._comma(unescape("%5D")));return self;} ,'accessing',unescape('string%3A%20aString%0D%0A%09%22%20Set%20the%20string%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09regexp%20%3A%3D%20RegularExpression%20fromString%3A%20%27%5B%27%2C%20aString%2C%20%27%5D%27')); smalltalk.bind(smalltalk.PPCharacterParser,'parse:','parse_' ,function (aStream){ var self=this; try{ ((((aStream.peek() || nil) !== nil).and_((function(){return self.match_(aStream.peek());}))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return aStream.next()}})})();})() : nil); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return smalltalk.PPFailure.reason_at_("Could not match", aStream.position())}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%28aStream%20peek%20notNil%0D%0A%09and%3A%20%5B%20self%20match%3A%20aStream%20peek%20%5D%29%0D%0A%09ifTrue%3A%20%5B%20%5EaStream%20next%20%5D.%0D%0A%0D%0A%09%5EPPFailure%20reason%3A%20%27Could%20not%20match%27%20at%3A%20aStream%20position')); smalltalk.bind(smalltalk.PPCharacterParser,'match:','match_' ,function (aString){ var self=this; return aString.match_(self['@regexp']);return self;} ,'private',unescape('match%3A%20aString%0D%0A%09%22%20Match%20the%20receiver%20to%20string.%20%22%0D%0A%0D%0A%09%5EaString%20match%3A%20regexp')); smalltalk.bind(smalltalk.PPListParser.$klass,'withAll:','withAll_' ,function (aCollection){ var self=this; return (function($rec){$rec.parsers_(aCollection);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('withAll%3A%20aCollection%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%20%20%20%20%5Eself%20new%0D%0A%09%09parsers%3A%20aCollection%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.PPListParser.$klass,'with:with:','with_with_' ,function (aParser,anotherParser){ var self=this; return self.withAll_(smalltalk.Array.with_with_(aParser, anotherParser));return self;} ,'instance creation',unescape('with%3A%20aParser%20with%3A%20anotherParser%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20withAll%3A%20%28Array%20with%3A%20aParser%20with%3A%20anotherParser%29')); smalltalk.bind(smalltalk.PPListParser,'parsers','parsers' ,function (){ var self=this; try{ ((((self['@parsers'] || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parsers", fn: function(){return []}})})();})() : nil); (function(){throw({name: "stReturn", selector: "parsers", fn: function(){return self['@parsers']}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parsers"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('parsers%0D%0A%09%22%20Return%20the%20parsers%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09parsers%20isNil%20ifTrue%3A%20%5B%20%5E%23%28%29%20%5D.%0D%0A%09%5Eparsers')); smalltalk.bind(smalltalk.PPListParser,'parsers:','parsers_' ,function (aCollection){ var self=this; self['@parsers']=aCollection;return self;} ,'accessing',unescape('parsers%3A%20aCollection%0D%0A%09%22%20Set%20the%20parsers%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09parsers%20%3A%3D%20aCollection')); smalltalk.bind(smalltalk.PPListParser,'copyWith:','copyWith_' ,function (aParser){ var self=this; return self.$klass.withAll_(self.parsers().copyWith_(aParser));return self;} ,'copying',unescape('copyWith%3A%20aParser%0D%0A%09%22%20Return%20a%20copy%20of%20the%20receiver%20with%20aParser.%20%22%0D%0A%0D%0A%09%5Eself%20class%20withAll%3A%20%28self%20parsers%20copyWith%3A%20aParser%29')); smalltalk.bind(smalltalk.PPDelegateParser.$klass,'on:','on_' ,function (aParser){ var self=this; return (function($rec){$rec.parser_(aParser);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('on%3A%20aParser%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%20%20%20%20%5Eself%20new%0D%0A%09%09parser%3A%20aParser%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.PPDelegateParser,'parser','parser' ,function (){ var self=this; return self['@parser'];return self;} ,'accessing',unescape('parser%0D%0A%09%22%20Return%20the%20parser%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eparser')); smalltalk.bind(smalltalk.PPDelegateParser,'parser:','parser_' ,function (aParser){ var self=this; self['@parser']=aParser;return self;} ,'accessing',unescape('parser%3A%20aParser%0D%0A%09%22%20Set%20the%20parser%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09parser%20%3A%3D%20aParser')); smalltalk.bind(smalltalk.PPDelegateParser,'parse:','parse_' ,function (aStream){ var self=this; return self.parser().memoizedParse_(aStream);return self;} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%5Eself%20parser%20memoizedParse%3A%20aStream')); smalltalk.bind(smalltalk.PPSequenceParser,',','_comma' ,function (aRule){ var self=this; return self.copyWith_(aRule);return self;} ,'copying',unescape('%2C%20aRule%0D%0A%09%22%20Return%20a%20copy%20of%20the%20receiver%20with%20aRule.%20%22%0D%0A%0D%0A%09%5Eself%20copyWith%3A%20aRule')); smalltalk.bind(smalltalk.PPSequenceParser,'parse:','parse_' ,function (aStream){ var self=this; try{ var start=nil; var result=nil; var element=nil; start=aStream.position(); result=[]; self.parsers().detect_ifNone_((function(each){element=each.memoizedParse_(aStream);result.add_(element);return element.isParseFailure();}), (function(){return nil;})); ((element.isParseFailure()).mustBeBoolean()==true ? (function(){aStream.position_(start);return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return element}})})();})() : nil); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return result}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20start%20result%20element%20%7C%0D%0A%09start%20%3A%3D%20aStream%20position.%0D%0A%09result%20%3A%3D%20%23%28%29.%0D%0A%09self%20parsers%20detect%3A%20%5B%3Aeach%20%7C%0D%0A%09%09element%20%3A%3D%20each%20memoizedParse%3A%20aStream.%0D%0A%09%09result%20add%3A%20element.%0D%0A%09%09element%20isParseFailure%0D%0A%09%5D%20ifNone%3A%20%5B%5D.%0D%0A%09element%20isParseFailure%20ifTrue%3A%20%5B%0D%0A%09%09aStream%20position%3A%20start.%0D%0A%09%09%5Eelement%0D%0A%09%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.PPChoiceParser,'/','_slash' ,function (aRule){ var self=this; return self.copyWith_(aRule);return self;} ,'copying',unescape('/%20aRule%0D%0A%09%22%20Return%20the%20receiver%20composed%20with%20aRule.%20%22%0D%0A%0D%0A%09%5Eself%20copyWith%3A%20aRule')); smalltalk.bind(smalltalk.PPChoiceParser,'parse:','parse_' ,function (aStream){ var self=this; var result=nil; self.parsers().detect_ifNone_((function(each){result=each.memoizedParse_(aStream);return result.isParseFailure().not();}), (function(){return nil;})); return result;return self;} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20result%20%7C%0D%0A%09self%20parsers%20detect%3A%20%5B%3Aeach%20%7C%0D%0A%09%09result%20%3A%3D%20each%20memoizedParse%3A%20aStream.%0D%0A%09%09result%20isParseFailure%20not%0D%0A%09%5D%20ifNone%3A%20%5B%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.PPAndParser,'parse:','parse_' ,function (aStream){ var self=this; return self.basicParse_(aStream);return self;} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%5Eself%20basicParse%3A%20aStream')); smalltalk.bind(smalltalk.PPAndParser,'basicParse:','basicParse_' ,function (aStream){ var self=this; var element=nil; var position=nil; position=aStream.position(); element=self.parser().memoizedParse_(aStream); aStream.position_(position); return element;return self;} ,'parsing',unescape('basicParse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20element%20position%20%7C%0D%0A%09position%20%3A%3D%20aStream%20position.%0D%0A%09element%20%3A%3D%20self%20parser%20memoizedParse%3A%20aStream.%0D%0A%09aStream%20position%3A%20position.%0D%0A%09%5Eelement')); smalltalk.bind(smalltalk.PPActionParser.$klass,'on:block:','on_block_' ,function (aParser,aBlock){ var self=this; return (function($rec){$rec.parser_(aParser);$rec.block_(aBlock);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('on%3A%20aParser%20block%3A%20aBlock%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09parser%3A%20aParser%3B%0D%0A%09%09block%3A%20aBlock%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.PPActionParser,'block','block' ,function (){ var self=this; return self['@block'];return self;} ,'accessing',unescape('block%0D%0A%09%22%20Return%20the%20block%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eblock')); smalltalk.bind(smalltalk.PPActionParser,'block:','block_' ,function (aBlock){ var self=this; self['@block']=aBlock;return self;} ,'accessing',unescape('block%3A%20aBlock%0D%0A%09%22%20Set%20the%20block%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09block%20%3A%3D%20aBlock')); smalltalk.bind(smalltalk.PPActionParser,'parse:','parse_' ,function (aStream){ var self=this; try{ var element=nil; element=self.parser().memoizedParse_(aStream); ((element.isParseFailure()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return element}})})();})() : nil); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return self.block().value_(element)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20element%20%7C%0D%0A%09element%20%3A%3D%20self%20parser%20memoizedParse%3A%20aStream.%0D%0A%09element%20isParseFailure%20ifTrue%3A%20%5B%20%5Eelement%20%5D.%0D%0A%09%5Eself%20block%20value%3A%20element')); smalltalk.bind(smalltalk.PPFlattenParser,'parse:','parse_' ,function (aStream){ var self=this; try{ var start=nil; var element=nil; start=aStream.position(); element=self.parser().memoizedParse_(aStream); ((element.isParseFailure()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return element}})})();})() : nil); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return aStream.collection().copyFrom_to_((start + (1)), aStream.position())}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20start%20element%20%7C%0D%0A%09start%20%3A%3D%20aStream%20position.%0D%0A%09element%20%3A%3D%20self%20parser%20memoizedParse%3A%20aStream.%0D%0A%09element%20isParseFailure%20ifTrue%3A%20%5B%20%5Eelement%20%5D.%0D%0A%09%5EaStream%20collection%20%0D%0A%09%09copyFrom%3A%20start%20+%201%20%0D%0A%09%09to%3A%20aStream%20position')); smalltalk.bind(smalltalk.PPSourceParser,'parse:','parse_' ,function (aStream){ var self=this; try{ var start=nil; var element=nil; var result=nil; start=aStream.position(); element=self.parser().memoizedParse_(aStream); ((element.isParseFailure()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return element}})})();})() : nil); result=aStream.collection().copyFrom_to_((start + (1)), aStream.position()); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return smalltalk.Array.with_with_(element, result)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20start%20element%20result%20%7C%0D%0A%09start%20%3A%3D%20aStream%20position.%0D%0A%09element%20%3A%3D%20self%20parser%20memoizedParse%3A%20aStream.%0D%0A%09element%20isParseFailure%20ifTrue%3A%20%5B%20%5Eelement%20%5D.%0D%0A%09result%20%3A%3D%20aStream%20collection%0D%0A%09%09copyFrom%3A%20start%20+%201%0D%0A%09%09to%3A%20aStream%20position.%0D%0A%09%5EArray%20with%3A%20element%20with%3A%20result')); smalltalk.bind(smalltalk.PPRepeatingParser.$klass,'on:min:','on_min_' ,function (aParser,aNumber){ var self=this; return (function($rec){$rec.parser_(aParser);$rec.min_(aNumber);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('on%3A%20aParser%20min%3A%20aNumber%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09parser%3A%20aParser%3B%0D%0A%09%09min%3A%20aNumber%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.PPRepeatingParser,'min','min' ,function (){ var self=this; return self['@min'];return self;} ,'accessing',unescape('min%0D%0A%09%22%20Return%20the%20min%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Emin')); smalltalk.bind(smalltalk.PPRepeatingParser,'min:','min_' ,function (aNumber){ var self=this; self['@min']=aNumber;return self;} ,'accessing',unescape('min%3A%20aNumber%0D%0A%09%22%20Set%20the%20min%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09min%20%3A%3D%20aNumber')); smalltalk.bind(smalltalk.PPRepeatingParser,'parse:','parse_' ,function (aStream){ var self=this; try{ var start=nil; var element=nil; var result=nil; var failure=nil; start=aStream.position(); result=smalltalk.Array.$$new(); (function(){while((function(){return result.size()._lt(self.min()).and_((function(){return ((failure || nil) === nil);}));})()){(function(){element=self.parser().memoizedParse_(aStream);return ((element.isParseFailure()).mustBeBoolean()==true ? (function(){aStream.position_(start);return failure=element;})() : (function(){return result.addLast_(element);})());})()};return nil})(); ((((failure || nil) !== nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return failure}})})();})() : nil); (function(){while((function(){return ((failure || nil) === nil);})()){(function(){element=self.parser().memoizedParse_(aStream);return ((element.isParseFailure()).mustBeBoolean()==true ? (function(){return failure=element;})() : (function(){return result.addLast_(element);})());})()};return nil})(); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return result}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20start%20element%20result%20failure%20%7C%0D%0A%09start%20%3A%3D%20aStream%20position.%0D%0A%09result%20%3A%3D%20Array%20new.%0D%0A%09%5B%20%28result%20size%20%3C%20self%20min%29%20and%3A%20%5B%20failure%20isNil%20%5D%0D%0A%09%5D%20whileTrue%3A%20%5B%0D%0A%09%20%20%20%20element%20%3A%3D%20self%20parser%20memoizedParse%3A%20aStream.%0D%0A%09%20%20%20%20element%20isParseFailure%0D%0A%09%09ifFalse%3A%20%5B%20result%20addLast%3A%20element%20%5D%0D%0A%09%09ifTrue%3A%20%5B%20aStream%20position%3A%20start.%0D%0A%09%09%09%20%20failure%20%3A%3D%20element%20%5D%0D%0A%09%5D.%0D%0A%09failure%20notNil%20ifTrue%3A%20%5B%20%5Efailure%20%5D.%0D%0A%09%5Bfailure%20isNil%5D%20whileTrue%3A%20%5B%0D%0A%09%09element%20%3A%3D%20self%20parser%20memoizedParse%3A%20aStream.%0D%0A%09%20%09element%20isParseFailure%0D%0A%09%09%09ifTrue%3A%20%5B%20failure%20%3A%3D%20element%20%5D%0D%0A%09%09%09ifFalse%3A%20%5B%20result%20addLast%3A%20element%20%5D%0D%0A%09%5D.%0D%0A%09%5Eresult')); smalltalk.bind(smalltalk.PPNotParser,'parse:','parse_' ,function (aStream){ var self=this; try{ var element=nil; element=self.basicParse_(aStream); ((element.isParseFailure()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return nil}})})();})() : nil); (function(){throw({name: "stReturn", selector: "parse_", fn: function(){return smalltalk.PPFailure.reason_at_(element, aStream.position())}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "parse_"){return $$ex.fn();} throw($$ex);}} ,'parsing',unescape('parse%3A%20aStream%0D%0A%09%22%20Parse%20contents%20in%20stream.%20%22%0D%0A%0D%0A%09%7C%20element%20%7C%0D%0A%09element%20%3A%3D%20self%20basicParse%3A%20aStream.%0D%0A%09element%20isParseFailure%20ifTrue%3A%20%5B%20%5Enil%20%5D.%0D%0A%09%5EPPFailure%20reason%3A%20element%20at%3A%20aStream%20position')); smalltalk.bind(smalltalk.ChunkReader.$klass,'doing:until:','doing_until_' ,function (aBlock,terminationBlock){ var self=this; return (function($rec){$rec.actionBlock_(aBlock);$rec.terminationBlock_(terminationBlock);return $rec.yourself();})(self.$$new());return self;} ,'instance creation',unescape('doing%3A%20aBlock%20until%3A%20terminationBlock%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%0D%0A%09%09actionBlock%3A%20aBlock%3B%0D%0A%09%09terminationBlock%3A%20terminationBlock%3B%0D%0A%09%09yourself')); smalltalk.bind(smalltalk.ChunkReader.$klass,'doing:','doing_' ,function (aBlock){ var self=this; return self.doing_until_(aBlock, (function(){return true;}));return self;} ,'instance creation',unescape('doing%3A%20aBlock%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20doing%3A%20aBlock%20until%3A%20%5B%20true%20%5D')); smalltalk.bind(smalltalk.ChunkReader.$klass,'until:','until_' ,function (terminationBlock){ var self=this; return self.doing_until_(nil, terminationBlock);return self;} ,'instance creation',unescape('until%3A%20terminationBlock%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20doing%3A%20nil%20until%3A%20terminationBlock')); smalltalk.bind(smalltalk.ChunkReader.$klass,'ignore','ignore' ,function (){ var self=this; return self.$$new();return self;} ,'instance creation',unescape('ignore%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%0D%0A%09The%20returned%20reader%20will%20ignore/absorb%20next%20chunk.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20new')); smalltalk.bind(smalltalk.ChunkReader.$klass,'javascriptChunk','javascriptChunk' ,function (){ var self=this; return self.doing_((function(aStream){return eval(aStream.nextChunk());}));return self;} ,'instance creation',unescape('javascriptChunk%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%0D%0A%09The%20returned%20reader%20will%20evaluate%20next%20chunk%20as%20javascript%20code%20%28in%20global%20context%29.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20doing%3A%20%5B%3AaStream%7C%20%23%20%23eval%3A%20aStream%20nextChunk%20%5D')); smalltalk.bind(smalltalk.ChunkReader.$klass,'javascript','javascript' ,function (){ var self=this; return self.doing_((function(aStream){return eval(aStream.upToEnd());}));return self;} ,'instance creation',unescape('javascript%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%0D%0A%09The%20returned%20reader%20will%20evaluate%20following%20contents%20as%20javascript%20code%20%28in%20global%20context%29.%0D%0A%09The%20stream%20will%20be%20consumed%20up%20to%20end.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20doing%3A%20%5B%3AaStream%7C%20%23%20%23eval%3A%20aStream%20upToEnd%20%5D')); smalltalk.bind(smalltalk.ChunkReader,'actionBlock','actionBlock' ,function (){ var self=this; return self['@actionBlock'];return self;} ,'accessing',unescape('actionBlock%0D%0A%09%22%20Return%20the%20actionBlock%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EactionBlock')); smalltalk.bind(smalltalk.ChunkReader,'actionBlock:','actionBlock_' ,function (aBlock){ var self=this; self['@actionBlock']=aBlock;return self;} ,'accessing',unescape('actionBlock%3A%20aBlock%0D%0A%09%22%20Set%20the%20actionBlock%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09actionBlock%20%3A%3D%20aBlock')); smalltalk.bind(smalltalk.ChunkReader,'terminationBlock','terminationBlock' ,function (){ var self=this; return self['@terminationBlock'];return self;} ,'accessing',unescape('terminationBlock%0D%0A%09%22%20Return%20the%20terminationBlock%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EterminationBlock')); smalltalk.bind(smalltalk.ChunkReader,'terminationBlock:','terminationBlock_' ,function (aBlock){ var self=this; self['@terminationBlock']=aBlock;return self;} ,'accessing',unescape('terminationBlock%3A%20aBlock%0D%0A%09%22%20Set%20the%20terminationBlock%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09terminationBlock%20%3A%3D%20aBlock')); smalltalk.bind(smalltalk.ChunkReader,'scanFrom:','scanFrom_' ,function (aStream){ var self=this; try{ var chunk=nil; ((((self.actionBlock() || nil) === nil)).mustBeBoolean()==true ? (function(){chunk=aStream.nextChunk();return ((chunk.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "scanFrom_", fn: function(){return nil}})})();})() : nil);})() : (function(){return self.actionBlock().value_(aStream);})()); ((((self.terminationBlock() || nil) === nil).or_((function(){return (self.terminationBlock().value() === true);}))).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "scanFrom_", fn: function(){return nil}})})();})() : nil); (function(){throw({name: "stReturn", selector: "scanFrom_", fn: function(){return self}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "scanFrom_"){return $$ex.fn();} throw($$ex);}} ,'fileIn',unescape('scanFrom%3A%20aStream%0D%0A%09%22%20Scan%20the%20next%20chunk%20of%20data%20from%20aStream.%20%22%0D%0A%0D%0A%09%7C%20chunk%20%7C%0D%0A%09self%20actionBlock%20isNil%20ifTrue%3A%20%5B%0D%0A%09%09chunk%20%3A%3D%20aStream%20nextChunk.%0D%0A%09%09chunk%20isEmpty%20ifTrue%3A%20%5B%20%5Enil%20%5D.%0D%0A%09%5D%20ifFalse%3A%20%5B%20self%20actionBlock%20value%3A%20aStream%20%5D.%0D%0A%09%28self%20terminationBlock%20isNil%0D%0A%09%09or%3A%20%5B%20self%20terminationBlock%20value%20%3D%3D%20true%20%5D%29%0D%0A%09%09ifTrue%3A%20%5B%20%5Enil%20%5D.%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.ClassCategoryReader,'class:category:','class_category_' ,function (aClass,aString){ var self=this; self['@class']=aClass; self['@category']=aString;return self;} ,'accessing',unescape('class%3A%20aClass%20category%3A%20aString%0D%0A%09%22%20Private%20-%20Set%20the%20class%20and%20category%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09class%20%3A%3D%20aClass.%0D%0A%09category%20%3A%3D%20aString')); smalltalk.bind(smalltalk.ClassCategoryReader,'scanFrom:','scanFrom_' ,function (aStream){ var self=this; try{ var chunk=nil; chunk=aStream.nextChunk(); ((chunk.isEmpty()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "scanFrom_", fn: function(){return nil}})})();})() : nil); self.compileMethod_(chunk); (function(){throw({name: "stReturn", selector: "scanFrom_", fn: function(){return self}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "scanFrom_"){return $$ex.fn();} throw($$ex);}} ,'fileIn',unescape('scanFrom%3A%20aStream%0D%0A%09%22%20Scan%20the%20next%20chunk%20of%20data%20from%20aStream.%20%22%0D%0A%0D%0A%09%7C%20chunk%20%7C%0D%0A%09chunk%20%3A%3D%20aStream%20nextChunk.%0D%0A%09chunk%20isEmpty%20ifTrue%3A%20%5B%20%5Enil%20%5D.%0D%0A%09self%20compileMethod%3A%20chunk.%0D%0A%09%5Eself')); smalltalk.bind(smalltalk.ClassCategoryReader,'compileMethod:','compileMethod_' ,function (aString){ var self=this; var method=nil; method=self['@class'].compiler().load_forClass_(aString, self['@class']); method.category_(self['@category']); self['@class'].addCompiledMethod_(method);return self;} ,'private',unescape('compileMethod%3A%20aString%0D%0A%09%22%20Compile%20aString%20as%20a%20method%20source.%20%22%0D%0A%0D%0A%09%7C%20method%20%7C%0D%0A%09method%20%3A%3D%20class%20compiler%20load%3A%20aString%20forClass%3A%20class.%0D%0A%09method%20category%3A%20category.%0D%0A%09class%20addCompiledMethod%3A%20method')); smalltalk.bind(smalltalk.ClassCommentReader,'class:','class_' ,function (aClass){ var self=this; self['@class']=aClass;return self;} ,'accessing',unescape('class%3A%20aClass%0D%0A%09%22%20Set%20the%20destination%20class%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09class%20%3A%3D%20aClass')); smalltalk.bind(smalltalk.ClassCommentReader,'scanFrom:','scanFrom_' ,function (aStream){ var self=this; self.comment_(aStream.nextChunk()); return nil;return self;} ,'fileIn',unescape('scanFrom%3A%20aStream%0D%0A%09%22%20FileIn%20-%20Parse%20next%20chunk%20in%20aStream%20as%20a%20comment%20for%20target%20class.%20%22%0D%0A%0D%0A%09self%20comment%3A%20aStream%20nextChunk.%0D%0A%09%5Enil')); smalltalk.bind(smalltalk.ClassCommentReader,'comment:','comment_' ,function (aString){ var self=this; self['@class'].comment_(((aString.isEmpty()).mustBeBoolean()==true ? nil : (function(){return aString;})()));return self;} ,'private',unescape('comment%3A%20aString%0D%0A%09%22%20Set%20the%20comment%20of%20target%20class.%20%22%0D%0A%0D%0A%09class%20comment%3A%20%28aString%20isEmpty%20ifFalse%3A%20%5B%20aString%20%5D%29')); smalltalk.bind(smalltalk.CancelFileInReader,'scanFrom:','scanFrom_' ,function (aStream){ var self=this; aStream.setToEnd(); return nil;return self;} ,'fileIn',unescape('scanFrom%3A%20aStream%0D%0A%09%22%20Consume/Ignore%20contents%20in%20aStream.%20%22%0D%0A%0D%0A%09aStream%20setToEnd.%0D%0A%09%5Enil')); smalltalk.bind(smalltalk.JS.$klass,'typeOf:','typeOf_' ,function (jsObject){ var self=this; return typeof jsObject; ;return self;} ,'accessing',unescape('typeOf%3A%20jsObject%0D%0A%09%22%20Return%20the%20type%20of%20%28javascript%29Object.%20%22%0D%0A%0D%0A%7B%27%09return%20typeof%20jsObject%3B%20%27%7D')); smalltalk.bind(smalltalk.JS,'jsObject','jsObject' ,function (){ var self=this; return Object; ;return self;} ,'private',unescape('jsObject%0D%0A%09%22%20Private%20-%20Return%20the%20%28javascript%29Object.%20%22%0D%0A%0D%0A%7B%27%09return%20Object%3B%20%27%7D')); smalltalk.bind(smalltalk.JS,'prototype','prototype' ,function (){ var self=this; return self.$klass._at(self.jsObject().getPrototypeOf(self['@handle']));return self;} ,'accessing',unescape('prototype%0D%0A%09%22%20Return%20the%20prototype%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20class%20@%20%28self%20jsObject%20%23getPrototypeOf%3A%20handle%29')); smalltalk.bind(smalltalk.JS,'propertyNames','propertyNames' ,function (){ var self=this; return self.jsObject().keys(self['@handle']);return self;} ,'accessing',unescape('propertyNames%0D%0A%09%22%20Return%20the%20property%20names%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20jsObject%20%23keys%3A%20handle')); smalltalk.bind(smalltalk.JS,'ownPropertyNames','ownPropertyNames' ,function (){ var self=this; return self.jsObject().getOwnPropertyNames(self['@handle']);return self;} ,'accessing',unescape('ownPropertyNames%0D%0A%09%22%20Return%20the%20owned%20property%20names%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20jsObject%20%23getOwnPropertyNames%3A%20handle')); smalltalk.bind(smalltalk.JS,'functionNames','functionNames' ,function (){ var self=this; return self.propertyNames().select_((function(each){return (smalltalk.JS.typeOf_(self['@handle'][each]) === "function");}));return self;} ,'accessing',unescape('functionNames%0D%0A%09%22%20Return%20the%20names%20of%20property%20of%20the%20receiver%20of%20type%20function.%20%22%0D%0A%0D%0A%09%5Eself%20propertyNames%20select%3A%20%5B%3Aeach%7C%20%28JS%20typeOf%3A%20handle%5Beach%5D%29%20%3D%3D%20%23function%20%5D')); smalltalk.bind(smalltalk.JS,'ownFunctionNames','ownFunctionNames' ,function (){ var self=this; return self.ownPropertyNames().select_((function(each){return (smalltalk.JS.typeOf_(self['@handle'][each]) === "function");}));return self;} ,'accessing',unescape('ownFunctionNames%0D%0A%09%22%20Return%20the%20names%20of%20functions%20owned/implemented%20by%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20ownPropertyNames%20select%3A%20%5B%3Aeach%7C%20%28JS%20typeOf%3A%20handle%5Beach%5D%29%20%3D%3D%20%23function%20%5D')); smalltalk.bind(smalltalk.JS,'hasOwnProperty:','hasOwnProperty_' ,function (aName){ var self=this; return self.jsObject().hasOwnProperty(self['@handle'], aName);return self;} ,'query',unescape('hasOwnProperty%3A%20aName%0D%0A%09%22%20Return%20true%20if%20receiver%20own%20a%20property%20named%20aName.%20%22%0D%0A%0D%0A%09%5Eself%20jsObject%20%23hasOwnProperty%3A%20handle%20named%3A%20aName')); smalltalk.bind(smalltalk.JS,'delete:','delete_' ,function (aName){ var self=this; delete handle[aName]; ;return self;} ,'actions',unescape('delete%3A%20aName%0D%0A%09%22%20Delete%20the%20property%20named%20aName%20in%20the%20receiver.%20%22%0D%0A%0D%0A%7B%27%09delete%20handle%5BaName%5D%3B%09%27%7D')); smalltalk.bind(smalltalk.JS,'defineProperty:value:writable:enumerable:configurable:','defineProperty_value_writable_enumerable_configurable_' ,function (aName,aValue,writable,enumerable,configurable){ var self=this; return self.defineProperty_as_(aName, smalltalk.Array.with_with_with_with_(smalltalk.Array.with_with_("value", aValue), smalltalk.Array.with_with_("writable", writable), smalltalk.Array.with_with_("enumerable", enumerable), smalltalk.Array.with_with_("configurable", configurable)));return self;} ,'properties',unescape('defineProperty%3A%20aName%0D%0A%09value%3A%20aValue%0D%0A%09writable%3A%20writable%0D%0A%09enumerable%3A%20enumerable%0D%0A%09configurable%3A%20configurable%0D%0A%09%22%20Define%20the%20property%20named%20aName%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20defineProperty%3A%20aName%20as%3A%20%28%20Array%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23value%20with%3A%20aValue%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23writable%20with%3A%20writable%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23enumerable%20with%3A%20enumerable%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23configurable%20with%3A%20configurable%29%0D%0A%09%29')); smalltalk.bind(smalltalk.JS,'defineAccessor:get:set:enumerable:configurable:','defineAccessor_get_set_enumerable_configurable_' ,function (aName,aBlock,oneArgumentBlock,enumerable,configurable){ var self=this; return self.defineProperty_as_(aName, smalltalk.Array.with_with_with_with_(smalltalk.Array.with_with_("get", aBlock), smalltalk.Array.with_with_("set", oneArgumentBlock), smalltalk.Array.with_with_("enumerable", enumerable), smalltalk.Array.with_with_("configurable", configurable)));return self;} ,'properties',unescape('defineAccessor%3A%20aName%0D%0A%09get%3A%20aBlock%0D%0A%09set%3A%20oneArgumentBlock%0D%0A%09enumerable%3A%20enumerable%0D%0A%09configurable%3A%20configurable%0D%0A%09%22%20Define%20the%20Accessor%20property%20named%20aName%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20defineProperty%3A%20aName%20as%3A%20%28%20Array%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23get%20with%3A%20aBlock%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23set%20with%3A%20oneArgumentBlock%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23enumerable%20with%3A%20enumerable%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23configurable%20with%3A%20configurable%29%0D%0A%09%29')); smalltalk.bind(smalltalk.JS,'defineProperty:value:writable:enumerable:','defineProperty_value_writable_enumerable_' ,function (aName,aValue,writable,enumerable){ var self=this; return self.defineProperty_as_(aName, smalltalk.Array.with_with_with_(smalltalk.Array.with_with_("value", aValue), smalltalk.Array.with_with_("writable", writable), smalltalk.Array.with_with_("enumerable", enumerable)));return self;} ,'properties',unescape('defineProperty%3A%20aName%0D%0A%09value%3A%20aValue%0D%0A%09writable%3A%20writable%0D%0A%09enumerable%3A%20enumerable%0D%0A%09%22%20Define%20the%20property%20named%20aName%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20defineProperty%3A%20aName%20as%3A%20%28%20Array%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23value%20with%3A%20aValue%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23writable%20with%3A%20writable%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23enumerable%20with%3A%20enumerable%29%0D%0A%09%29')); smalltalk.bind(smalltalk.JS,'defineProperty:value:writable:','defineProperty_value_writable_' ,function (aName,aValue,writable){ var self=this; return self.defineProperty_as_(aName, smalltalk.Array.with_with_(smalltalk.Array.with_with_("value", aValue), smalltalk.Array.with_with_("writable", writable)));return self;} ,'properties',unescape('defineProperty%3A%20aName%0D%0A%09value%3A%20aValue%0D%0A%09writable%3A%20writable%0D%0A%09%22%20Define%20the%20property%20named%20aName%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20defineProperty%3A%20aName%20as%3A%20%28%20Array%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23value%20with%3A%20aValue%29%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23writable%20with%3A%20writable%29%0D%0A%09%29')); smalltalk.bind(smalltalk.JS,'defineProperty:value:','defineProperty_value_' ,function (aName,aValue){ var self=this; return self.defineProperty_as_(aName, smalltalk.Array.with_(smalltalk.Array.with_with_("value", aValue)));return self;} ,'properties',unescape('defineProperty%3A%20aName%20value%3A%20aValue%0D%0A%09%22%20Define%20the%20property%20named%20aName%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20defineProperty%3A%20aName%20as%3A%20%28%20Array%0D%0A%09%09with%3A%20%28Array%20with%3A%20%23value%20with%3A%20aValue%29%0D%0A%09%29')); smalltalk.bind(smalltalk.JS,'defineProperty:','defineProperty_' ,function (aName){ var self=this; return self.defineProperty_as_(aName, smalltalk.Object.$$new());return self;} ,'properties',unescape('defineProperty%3A%20aName%0D%0A%09%22%20Define%20the%20property%20named%20aName%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20defineProperty%3A%20aName%20as%3A%20Object%20new')); smalltalk.bind(smalltalk.JS,'defineProperty:as:','defineProperty_as_' ,function (aName,descriptor){ var self=this; try{ ((descriptor.isArray()).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "defineProperty_as_", fn: function(){return self.defineProperty_as_(aName, descriptor.inject_into_(smalltalk.Object.$$new(), (function(result, tuple){((((tuple.last() || nil) !== nil)).mustBeBoolean()==true ? (function(){return (result[tuple.first()]=(tuple.last()));})() : nil);return result;})))}})})();})() : nil); (function(){throw({name: "stReturn", selector: "defineProperty_as_", fn: function(){return self.jsObject().defineProperty(self['@handle'], aName, descriptor)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "defineProperty_as_"){return $$ex.fn();} throw($$ex);}} ,'properties',unescape('defineProperty%3A%20aName%20as%3A%20descriptor%0D%0A%09%22%20Define%20the%20property%20named%20aName%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09descriptor%20isArray%20ifTrue%3A%20%5B%0D%0A%09%09%5Eself%20defineProperty%3A%20aName%20as%3A%20%28descriptor%0D%0A%09%09%09inject%3A%20Object%20new%20into%3A%20%5B%3Aresult%20%3Atuple%7C%0D%0A%09%09%09%09tuple%20last%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%09result%20basicAt%3A%20tuple%20first%20put%3A%20tuple%20last%0D%0A%09%09%09%09%5D.%0D%0A%09%09%09%09result%0D%0A%09%09%09%5D%29%0D%0A%09%5D.%0D%0A%09%0D%0A%09%5Eself%20jsObject%20%23defineProperty%3A%20handle%20named%3A%20aName%20as%3A%20descriptor')); smalltalk.bind(smalltalk.JS,'defineProperties:','defineProperties_' ,function (descriptors){ var self=this; self.jsObject().defineProperties(self['@handle'], descriptors);return self;} ,'properties',unescape('defineProperties%3A%20descriptors%0D%0A%09%22%20Define%20the%20properties%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20jsObject%20%23defineProperties%3A%20handle%20as%3A%20descriptors')); smalltalk.bind(smalltalk.JS,'preventExtensions','preventExtensions' ,function (){ var self=this; self.jsObject().preventExtensions(self['@handle']);return self;} ,'actions',unescape('preventExtensions%0D%0A%09%22%20Set%20the%20receiver%20as%20non-extensible.%20%22%0D%0A%0D%0A%09self%20jsObject%20%23preventExtensions%3A%20handle')); smalltalk.bind(smalltalk.JS,'freeze','freeze' ,function (){ var self=this; self.jsObject().freeze(self['@handle']);return self;} ,'actions',unescape('freeze%0D%0A%09%22%20Prevents%20the%20modification%20of%20existing%20property%20attributes%20and%20values%2C%20and%20prevents%20the%20addition%20of%20new%20properties.%20%22%0D%0A%0D%0A%09self%20jsObject%20%23freeze%3A%20handle')); smalltalk.bind(smalltalk.JS,'seal','seal' ,function (){ var self=this; self.jsObject().seal(self['@handle']);return self;} ,'actions',unescape('seal%0D%0A%09%22%20Prevents%20the%20modification%20of%20attributes%20of%20existing%20properties%2C%20and%20prevents%20the%20addition%20of%20new%20properties.%20%22%0D%0A%0D%0A%09self%20jsObject%20%23seal%3A%20handle')); smalltalk.bind(smalltalk.JS,'isExtensible','isExtensible' ,function (){ var self=this; self.jsObject().isExtensible(self['@handle']);return self;} ,'query',unescape('isExtensible%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20extensible.%20%22%0D%0A%0D%0A%09self%20jsObject%20%23isExtensible%3A%20handle')); smalltalk.bind(smalltalk.JS,'isSealed','isSealed' ,function (){ var self=this; self.jsObject().isSealed(self['@handle']);return self;} ,'query',unescape('isSealed%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20sealed.%20%22%0D%0A%0D%0A%09self%20jsObject%20%23isSealed%3A%20handle')); smalltalk.bind(smalltalk.JS,'isFrozen','isFrozen' ,function (){ var self=this; self.jsObject().isFrozen(self['@handle']);return self;} ,'query',unescape('isFrozen%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20frozen.%20%22%0D%0A%0D%0A%09self%20jsObject%20%23isFrozen%3A%20handle')); smalltalk.bind(smalltalk.JS,'create:with:','create_with_' ,function (prototype,descriptors){ var self=this; return self.$klass._at(self.jsObject().create(prototype, descriptors));return self;} ,'creation',unescape('create%3A%20prototype%20with%3A%20descriptors%0D%0A%09%22%20Return%20a%20JS%20object%20that%20has%20been%20created%20with%20the%20specified%20prototype%2C%20and%20that%20optionally%20contains%20specified%20properties.%20%22%0D%0A%0D%0A%09%5Eself%20class%20@%20%28self%20jsObject%20%23create%3A%20prototype%20with%3A%20descriptors%29')); smalltalk.bind(smalltalk.JS,'createWith:','createWith_' ,function (descriptors){ var self=this; return self.create_with_(self['@handle'], descriptors);return self;} ,'creation',unescape('createWith%3A%20descriptors%0D%0A%09%22%20Return%20a%20JS%20object%20that%20has%20been%20created%20with%20the%20handle%20prototype%2C%20and%20that%20optionally%20contains%20specified%20properties.%20%22%0D%0A%0D%0A%09%5Eself%20create%3A%20handle%20with%3A%20descriptors')); smalltalk.bind(smalltalk.DOM.$klass,'window','window' ,function (){ var self=this; return smalltalk.BrowserWindow.$$default();return self;} ,'accessing',unescape('window%0D%0A%09%22%20Return%20the%20browser%20window.%20%22%0D%0A%0D%0A%09%5EBrowserWindow%20default')); smalltalk.bind(smalltalk.DOM.$klass,'document','document' ,function (){ var self=this; return smalltalk.DOMDocument.$$default();return self;} ,'accessing',unescape('document%0D%0A%09%22%20Return%20the%20browser%20document.%20%22%0D%0A%0D%0A%09%5EDOMDocument%20default')); smalltalk.bind(smalltalk.DOM.$klass,'history','history' ,function (){ var self=this; return smalltalk.BrowserHistory.$$default();return self;} ,'accessing',unescape('history%0D%0A%09%22%20Return%20the%20browser%20history.%20%22%0D%0A%0D%0A%09%5EBrowserHistory%20default')); smalltalk.bind(smalltalk.DOM.$klass,'navigator','navigator' ,function (){ var self=this; return smalltalk.BrowserNavigator.$$default();return self;} ,'accessing',unescape('navigator%0D%0A%09%22%20Return%20the%20browser%20navigator.%20%22%0D%0A%0D%0A%09%5EBrowserNavigator%20default')); smalltalk.bind(smalltalk.DOM.$klass,'screen','screen' ,function (){ var self=this; return smalltalk.BrowserScreen.$$default();return self;} ,'accessing',unescape('screen%0D%0A%09%22%20Return%20the%20browser%20history.%20%22%0D%0A%0D%0A%09%5EBrowserScreen%20default')); smalltalk.bind(smalltalk.DOM.$klass,'location','location' ,function (){ var self=this; return smalltalk.BrowserLocation.$$default();return self;} ,'accessing',unescape('location%0D%0A%09%22%20Return%20the%20browser%20location.%20%22%0D%0A%0D%0A%09%5EBrowserLocation%20default')); smalltalk.bind(smalltalk.DOM,'array:of:do:','array_of_do_' ,function (nativeArray,nativeClass,aBlock){ var self=this; return ((((nativeArray || nil) !== nil)).mustBeBoolean()==true ? (function(){return (0).to_((nativeArray.length - (1))).collect_((function(index){return aBlock.evaluateWith_(nativeClass._at(nativeArray[index]));}));})() : nil);return self;} ,'private',unescape('array%3A%20nativeArray%20of%3A%20nativeClass%20do%3A%20aBlock%0D%0A%09%22%20Private%20-%20Return%20a%20copy%20of%20nativeArray%20as%20anArray%20of%20instances%20of%20nativeClass.%20%22%0D%0A%0D%0A%09%5EnativeArray%20notNil%20ifTrue%3A%20%5B%0D%0A%09%09%280%20to%3A%20nativeArray%23length%20-%201%29%20collect%3A%20%5B%3Aindex%7C%0D%0A%09%09%09aBlock%20evaluateWith%3A%20nativeClass%20@%20nativeArray%5Bindex%5D%0D%0A%09%09%5D%0D%0A%09%5D')); smalltalk.bind(smalltalk.DOM,'array:of:at:','array_of_at_' ,function (nativeArray,nativeClass,indexOrName){ var self=this; return nativeClass._at(nativeArray[indexOrName]);return self;} ,'private',unescape('array%3A%20nativeArray%20of%3A%20nativeClass%20at%3A%20indexOrName%0D%0A%09%22%20Private%20-%20Return%20the%20element%20of%20class%20nativeClass%20at%20index%28or%20name%29%20position%20of%20nativeArray.%0D%0A%09WARNING%3A%20in%20case%20of%20using%20integer%20index%2C%20it%20must%20be%20zero%20indexed%20value.%0D%0A%09%22%0D%0A%0D%0A%09%5EnativeClass%20@%20nativeArray%5BindexOrName%5D')); smalltalk.bind(smalltalk.DOM,'array:of:','array_of_' ,function (nativeArray,nativeClass){ var self=this; return self.array_of_do_(nativeArray, nativeClass, (function(each){return each;}));return self;} ,'private',unescape('array%3A%20nativeArray%20of%3A%20nativeClass%0D%0A%09%22%20Private%20-%20Return%20a%20copy%20of%20nativeArray%20as%20anArray%20of%20instances%20of%20nativeClass.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20nativeArray%20of%3A%20nativeClass%20do%3A%20%5B%3Aeach%7C%20each%20%5D')); smalltalk.bind(smalltalk.DOM,'window','window' ,function (){ var self=this; return self.$klass.window();return self;} ,'accessing',unescape('window%0D%0A%09%22%20Return%20the%20browser%20window.%20%22%0D%0A%0D%0A%09%5Eself%20class%20window')); smalltalk.bind(smalltalk.DOM,'document','document' ,function (){ var self=this; return self.$klass.document();return self;} ,'accessing',unescape('document%0D%0A%09%22%20Return%20the%20browser%20document.%20%22%0D%0A%0D%0A%09%5Eself%20class%20document')); smalltalk.bind(smalltalk.DOM,'history','history' ,function (){ var self=this; return self.$klass.history();return self;} ,'accessing',unescape('history%0D%0A%09%22%20Return%20the%20browser%20history.%20%22%0D%0A%0D%0A%09%5Eself%20class%20history')); smalltalk.bind(smalltalk.DOM,'location','location' ,function (){ var self=this; return self.$klass.location();return self;} ,'accessing',unescape('location%0D%0A%09%22%20Return%20the%20browser%20location.%20%22%0D%0A%0D%0A%09%5Eself%20class%20location')); smalltalk.bind(smalltalk.DOM,'screen','screen' ,function (){ var self=this; return self.$klass.screen();return self;} ,'accessing',unescape('screen%0D%0A%09%22%20Return%20the%20browser%20screen.%20%22%0D%0A%0D%0A%09%5Eself%20class%20screen')); smalltalk.bind(smalltalk.DOM,'navigator','navigator' ,function (){ var self=this; return self.$klass.navigator();return self;} ,'accessing',unescape('navigator%0D%0A%09%22%20Return%20the%20browser%20navigator.%20%22%0D%0A%0D%0A%09%5Eself%20class%20navigator')); smalltalk.bind(smalltalk.XMLHttpRequest,'onreadystatechange','onreadystatechange' ,function (){ var self=this; return self['@handle'].onreadystatechange;return self;} ,'accessing',unescape('onreadystatechange%0D%0A%09%22%20Return%20the%20onreadystatechange%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23onreadystatechange')); smalltalk.bind(smalltalk.XMLHttpRequest,'onreadystatechange:','onreadystatechange_' ,function (anObject){ var self=this; self['@handle'].onreadystatechange=anObject;return self;} ,'accessing',unescape('onreadystatechange%3A%20anObject%0D%0A%09%22%20Set%20the%20onreadystatechange%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23onreadystatechange%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.XMLHttpRequest,'readyState','readyState' ,function (){ var self=this; return self['@handle'].readyState;return self;} ,'accessing',unescape('readyState%0D%0A%09%22%20Return%20the%20readyState%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23readyState')); smalltalk.bind(smalltalk.XMLHttpRequest,'readyState:','readyState_' ,function (anObject){ var self=this; self['@handle'].readyState=anObject;return self;} ,'accessing',unescape('readyState%3A%20anObject%0D%0A%09%22%20Set%20the%20readyState%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23readyState%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.XMLHttpRequest,'responseText','responseText' ,function (){ var self=this; return self['@handle'].responseText;return self;} ,'accessing',unescape('responseText%0D%0A%09%22%20Return%20the%20responseText%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23responseText')); smalltalk.bind(smalltalk.XMLHttpRequest,'responseText:','responseText_' ,function (anObject){ var self=this; self['@handle'].responseText=anObject;return self;} ,'accessing',unescape('responseText%3A%20anObject%0D%0A%09%22%20Set%20the%20responseText%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23responseText%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.XMLHttpRequest,'responseXML','responseXML' ,function (){ var self=this; return self['@handle'].responseXML;return self;} ,'accessing',unescape('responseXML%0D%0A%09%22%20Return%20the%20responseXML%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23responseXML')); smalltalk.bind(smalltalk.XMLHttpRequest,'responseXML:','responseXML_' ,function (anObject){ var self=this; self['@handle'].responseXML=anObject;return self;} ,'accessing',unescape('responseXML%3A%20anObject%0D%0A%09%22%20Set%20the%20responseXML%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23responseXML%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.XMLHttpRequest,'status','status' ,function (){ var self=this; return self['@handle'].status;return self;} ,'accessing',unescape('status%0D%0A%09%22%20Return%20the%20status%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23status')); smalltalk.bind(smalltalk.XMLHttpRequest,'status:','status_' ,function (anObject){ var self=this; self['@handle'].status=anObject;return self;} ,'accessing',unescape('status%3A%20anObject%0D%0A%09%22%20Set%20the%20status%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23status%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.XMLHttpRequest,'statusText','statusText' ,function (){ var self=this; return self['@handle'].statusText;return self;} ,'accessing',unescape('statusText%0D%0A%09%22%20Return%20the%20statusText%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23statusText')); smalltalk.bind(smalltalk.XMLHttpRequest,'statusText:','statusText_' ,function (anObject){ var self=this; self['@handle'].statusText=anObject;return self;} ,'accessing',unescape('statusText%3A%20anObject%0D%0A%09%22%20Set%20the%20statusText%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23statusText%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.XMLHttpRequest,'initializeHandle','initializeHandle' ,function (){ var self=this; (function(){return self['@handle']= new XMLHttpRequest(); ;}).on_do_(smalltalk.Error, (function(){return ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP", "Msxml2.XMLHTTP.4.0"].detect_ifNone_((function(one){(function(){return self['@handle']= new ActiveXObject(one); ;}).on_do_(smalltalk.Error, (function(){return nil;}));return ((self['@handle'] || nil) !== nil);}), (function(){return self.error_("XmlHTTP not available.");}));}));return self;} ,'initialize/release',unescape('initializeHandle%0D%0A%09%22%20Private%20-%20Initialize%20the%20native%20handle.%20%22%0D%0A%0D%0A%09%5B%20handle%20%3A%3D%20%7B%27%20new%20XMLHttpRequest%28%29%3B%20%27%7D%20%5D%20on%3A%20Error%20do%3A%20%5B%0D%0A%09%09%23%28%20%27Msxml2.XMLHTTP%27%20%27Microsoft.XMLHTTP%27%20%27Msxml2.XMLHTTP.4.0%27%20%29%20detect%3A%20%5B%3Aone%7C%0D%0A%09%09%09%5B%20handle%20%3A%3D%20%7B%27%20new%20ActiveXObject%28one%29%3B%20%27%7D%20%5D%20on%3A%20Error%20do%3A%20%5B%20%5D.%0D%0A%09%09%09handle%20notNil%0D%0A%09%09%5D%20ifNone%3A%20%5B%20self%20error%3A%20%27XmlHTTP%20not%20available.%27%20%5D%0D%0A%09%5D.')); smalltalk.bind(smalltalk.XMLHttpRequest,'state','state' ,function (){ var self=this; return ["not initialized", "connected", "received", "processing", "finished"].at_((self.readyState() + (1)));return self;} ,'accessing',unescape('state%0D%0A%09%22%20Return%20the%20state%20string%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%23%28%0D%0A%09%27not%20initialized%27%0D%0A%09%23connected%09%23received%0D%0A%09%23processing%09%23finished%0D%0A%09%29%20at%3A%20self%20readyState%20+%201')); smalltalk.bind(smalltalk.XMLHttpRequest,'abort','abort' ,function (){ var self=this; return self.handle().abort();return self;} ,'processing',unescape('abort%0D%0A%09%22%20Cancel%20the%20current%20request.%20%22%0D%0A%0D%0A%09%5Eself%20handle%20abort')); smalltalk.bind(smalltalk.XMLHttpRequest,'allResponseHeaders','allResponseHeaders' ,function (){ var self=this; return self.handle().getAllResponseHeaders();return self;} ,'accessing',unescape('allResponseHeaders%0D%0A%09%22%20Return%20header%20information.%20%22%0D%0A%0D%0A%09%5Eself%20handle%20getAllResponseHeaders')); smalltalk.bind(smalltalk.XMLHttpRequest,'responseHeader:','responseHeader_' ,function (headerName){ var self=this; return self.handle().getResponseHeader(headerName);return self;} ,'accessing',unescape('responseHeader%3A%20headerName%0D%0A%09%22%20Return%20specific%20header%20information.%20%22%0D%0A%0D%0A%09%5Eself%20handle%20%23getResponseHeader%3A%20headerName')); smalltalk.bind(smalltalk.XMLHttpRequest,'open:url:async:userName:password:','open_url_async_userName_password_' ,function (method,url,async,uname,pswd){ var self=this; return self.handle().open(method, url, async, uname, pswd);return self;} ,'processing',unescape('open%3A%20method%20url%3A%20url%20async%3A%20async%20userName%3A%20uname%20password%3A%20pswd%0D%0A%09%22%20Specifies%20the%20type%20of%20request%2C%20the%20URL%2C%20if%20the%20request%20should%20be%20handled%20asynchronously%20or%20not%2C%20and%20attributes%20of%20a%20request.%0D%0A%09method%3A%20the%20type%20of%20request%3A%20GET%20or%20POST%0D%0A%09url%3A%20the%20location%20of%20the%20file%20on%20the%20server%0D%0A%09async%3A%20true%20%28asynchronous%29%20or%20false%20%28synchronous%29%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20handle%20%23open%3A%20method%20url%3A%20url%20async%3A%20async%20userName%3A%20uname%20password%3A%20pswd')); smalltalk.bind(smalltalk.XMLHttpRequest,'open:url:async:','open_url_async_' ,function (method,url,async){ var self=this; return self.handle().open(method, url, async);return self;} ,'processing',unescape('open%3A%20method%20url%3A%20url%20async%3A%20async%0D%0A%09%22%20Specifies%20the%20type%20of%20request%2C%20the%20URL%2C%20if%20the%20request%20should%20be%20handled%20asynchronously%20or%20not.%20%22%0D%0A%0D%0A%09%5Eself%20handle%20%23open%3A%20method%20url%3A%20url%20async%3A%20async')); smalltalk.bind(smalltalk.XMLHttpRequest,'send:','send_' ,function (aString){ var self=this; return self.handle().send(aString);return self;} ,'processing',unescape('send%3A%20aString%0D%0A%09%22%20Sends%20the%20request%20off%20to%20the%20server.%0D%0A%09aString%3A%20Only%20used%20for%20POST%20requests.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20handle%20%23send%3A%20aString')); smalltalk.bind(smalltalk.XMLHttpRequest,'isReady','isReady' ,function (){ var self=this; return (4)._eq(self.readyState()).and_((function(){return (200)._eq(self.status());}));return self;} ,'query',unescape('isReady%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20is%20in%20ready%20state%20and%20status%20is%20ok.%20%22%0D%0A%0D%0A%09%5E4%20%3D%20self%20readyState%20and%3A%20%5B%20200%20%3D%20self%20status%20%5D')); smalltalk.bind(smalltalk.XMLHttpRequest,'send','send' ,function (){ var self=this; return self.handle().send();return self;} ,'processing',unescape('send%0D%0A%09%22%20Sends%20the%20request%20off%20to%20the%20server.%20%22%0D%0A%0D%0A%09%5Eself%20handle%20send')); smalltalk.bind(smalltalk.XMLHttpRequest,'setRequestHeader:to:','setRequestHeader_to_' ,function (headerName,value){ var self=this; return self.handle().setRequestHeader(headerName, value);return self;} ,'accessing',unescape('setRequestHeader%3A%20headerName%20to%3A%20value%0D%0A%09%22%20Adds%20a%20label/value%20pair%20to%20the%20header%20to%20be%20sent.%20%22%0D%0A%0D%0A%09%5Eself%20handle%20%23setRequestHeader%3A%20headerName%20to%3A%20value')); smalltalk.bind(smalltalk.XMLHttpRequest,'send:doing:','send_doing_' ,function (aString,aBlock){ var self=this; self.onreadystatechange_(aBlock); return self.send_(aString);return self;} ,'processing',unescape('send%3A%20aString%20doing%3A%20aBlock%0D%0A%09%22%20Sends%20the%20request%20off%20to%20the%20server%20and%20evaluates%20aBlock%20on%20each%20state%20change.%20%22%0D%0A%0D%0A%09self%20onreadystatechange%3A%20aBlock.%0D%0A%09%5Eself%20send%3A%20aString')); smalltalk.bind(smalltalk.XMLHttpRequest,'sendDoing:','sendDoing_' ,function (aBlock){ var self=this; self.onreadystatechange_(aBlock); return self.send();return self;} ,'processing',unescape('sendDoing%3A%20aBlock%0D%0A%09%22%20Sends%20the%20request%20off%20to%20the%20server%20and%20evaluates%20aBlock%20on%20each%20state%20change.%20%22%0D%0A%0D%0A%09self%20onreadystatechange%3A%20aBlock.%0D%0A%09%5Eself%20send')); smalltalk.bind(smalltalk.DOMDocument.$klass,'default','$$default' ,function (){ var self=this; return self._at(document);return self;} ,'accessing',unescape('default%0D%0A%09%22%20Return%20the%20default/global%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20@%20%23%7Bdocument%7D')); smalltalk.bind(smalltalk.DOMDocument,'cookie','cookie' ,function (){ var self=this; return self['@handle'].cookie;return self;} ,'accessing',unescape('cookie%0D%0A%09%22%20Return%20the%20cookie%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cookie')); smalltalk.bind(smalltalk.DOMDocument,'documentMode','documentMode' ,function (){ var self=this; return self['@handle'].documentMode;return self;} ,'accessing',unescape('documentMode%0D%0A%09%22%20Return%20the%20documentMode%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23documentMode')); smalltalk.bind(smalltalk.DOMDocument,'domain','domain' ,function (){ var self=this; return self['@handle'].domain;return self;} ,'accessing',unescape('domain%0D%0A%09%22%20Return%20the%20domain%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23domain')); smalltalk.bind(smalltalk.DOMDocument,'lastModified','lastModified' ,function (){ var self=this; return self['@handle'].lastModified;return self;} ,'accessing',unescape('lastModified%0D%0A%09%22%20Return%20the%20lastModified%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23lastModified')); smalltalk.bind(smalltalk.DOMDocument,'readyState','readyState' ,function (){ var self=this; return self['@handle'].readyState;return self;} ,'accessing',unescape('readyState%0D%0A%09%22%20Return%20the%20readyState%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23readyState')); smalltalk.bind(smalltalk.DOMDocument,'referrer','referrer' ,function (){ var self=this; return self['@handle'].referrer;return self;} ,'accessing',unescape('referrer%0D%0A%09%22%20Return%20the%20referrer%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23referrer')); smalltalk.bind(smalltalk.DOMDocument,'title','title' ,function (){ var self=this; return self['@handle'].title;return self;} ,'accessing',unescape('title%0D%0A%09%22%20Return%20the%20title%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23title')); smalltalk.bind(smalltalk.DOMDocument,'anchors','anchors' ,function (){ var self=this; return self.array_of_(self['@handle'].anchors, smalltalk.DOMAnchor);return self;} ,'accessing',unescape('anchors%0D%0A%09%22%20Return%20the%20anchors%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23anchors%20of%3A%20DOMAnchor')); smalltalk.bind(smalltalk.DOMDocument,'anchorsDo:','anchorsDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].anchors, smalltalk.DOMAnchor, aBlock);return self;} ,'accessing',unescape('anchorsDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20anchors%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23anchors%20of%3A%20DOMAnchor%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMDocument,'anchorAt:','anchorAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].anchors, smalltalk.DOMAnchor, index);return self;} ,'accessing',unescape('anchorAt%3A%20index%0D%0A%09%22%20Return%20the%20anchor%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23anchors%20of%3A%20DOMAnchor%20at%3A%20index')); smalltalk.bind(smalltalk.DOMDocument,'forms','forms' ,function (){ var self=this; return self.array_of_(self['@handle'].forms, smalltalk.DOMForm);return self;} ,'accessing',unescape('forms%0D%0A%09%22%20Return%20the%20forms%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23forms%20of%3A%20DOMForm')); smalltalk.bind(smalltalk.DOMDocument,'formAt:','formAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].forms, smalltalk.DOMForm, index);return self;} ,'accessing',unescape('formAt%3A%20index%0D%0A%09%22%20Return%20the%20form%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23forms%20of%3A%20DOMForm%20at%3A%20index')); smalltalk.bind(smalltalk.DOMDocument,'formsDo:','formsDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].forms, smalltalk.DOMForm, aBlock);return self;} ,'accessing',unescape('formsDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20forms%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23forms%20of%3A%20DOMForm%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMDocument,'images','images' ,function (){ var self=this; return self.array_of_(self['@handle'].images, smalltalk.DOMImage);return self;} ,'accessing',unescape('images%0D%0A%09%22%20Return%20the%20images%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23images%20of%3A%20DOMImage')); smalltalk.bind(smalltalk.DOMDocument,'imagesDo:','imagesDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].images, smalltalk.DOMImage, aBlock);return self;} ,'accessing',unescape('imagesDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20images%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23images%20of%3A%20DOMImage%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMDocument,'imageAt:','imageAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].images, smalltalk.DOMImage, index);return self;} ,'accessing',unescape('imageAt%3A%20index%0D%0A%09%22%20Return%20the%20image%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23images%20of%3A%20DOMImage%20at%3A%20index')); smalltalk.bind(smalltalk.DOMDocument,'links','links' ,function (){ var self=this; return self.array_of_(self['@handle'].links, smalltalk.DOMLink);return self;} ,'accessing',unescape('links%0D%0A%09%22%20Return%20the%20links%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23links%20of%3A%20DOMLink')); smalltalk.bind(smalltalk.DOMDocument,'linksDo:','linksDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].links, smalltalk.DOMLink, aBlock);return self;} ,'accessing',unescape('linksDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20links%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23links%20of%3A%20DOMLink%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMDocument,'linkAt:','linkAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].links, smalltalk.DOMLink, index);return self;} ,'accessing',unescape('linkAt%3A%20index%0D%0A%09%22%20Return%20the%20link%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23links%20of%3A%20DOMLink%20at%3A%20index')); smalltalk.bind(smalltalk.DOMDocument,'head','head' ,function (){ var self=this; return self.getElementsByTagName_("head").first();return self;} ,'accessing',unescape('head%0D%0A%09%22%20Return%20the%20first%20head%20element%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%28self%20getElementsByTagName%3A%20%23head%29%20first')); smalltalk.bind(smalltalk.DOMDocument,'body','body' ,function (){ var self=this; return self.getElementsByTagName_("body").first();return self;} ,'accessing',unescape('body%0D%0A%09%22%20Return%20the%20first%20head%20element%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%28self%20getElementsByTagName%3A%20%23body%29%20first')); smalltalk.bind(smalltalk.DOMDocument,'add:script:onLoad:','add_script_onLoad_' ,function (type,anURL,aBlock){ var self=this; var script=nil; script=self.createElement_("script").handle(); script.type=type; script.onload=aBlock; script.src=anURL; self.head().appendChild_(smalltalk.DOMElement._at(script));return self;} ,'accessing',unescape('add%3A%20type%20script%3A%20anURL%20onLoad%3A%20aBlock%0D%0A%09%22%20Append%20a%20script%20of%20specified%20type%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20script%20%7C%0D%0A%09script%20%3A%3D%20%28self%20createElement%3A%20%23script%29%20handle.%0D%0A%09script%23type%20%20%20%3A%3D%20type.%0A%0D%0A%09script%23onload%20%3A%3D%20aBlock.%0D%0A%09script%23src%20%20%20%20%3A%3D%20anURL.%0D%0A%09self%20%0Ahead%20appendChild%3A%20DOMElement%20@%20script.')); smalltalk.bind(smalltalk.DOMDocument,'addJavascript:onLoad:','addJavascript_onLoad_' ,function (jsURL,aBlock){ var self=this; return self.add_script_onLoad_(unescape("text/javascript"), jsURL, aBlock);return self;} ,'accessing',unescape('addJavascript%3A%20jsURL%20onLoad%3A%20aBlock%0D%0A%09%22%20Append%20a%20javascript%20script%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20add%3A%20%27text/javascript%27%20script%3A%20jsURL%20onLoad%3A%20aBlock')); smalltalk.bind(smalltalk.DOMDocument,'addCSS:','addCSS_' ,function (cssURL){ var self=this; var node=nil; node=self.createElement_("link"); (function($rec){$rec.type_(unescape("text/css"));$rec.rel_("stylesheet");$rec.href_(cssURL);return $rec.media_("screen");})(node); self.head().appendChild_(node);return self;} ,'accessing',unescape('addCSS%3A%20cssURL%0D%0A%09%22%20Append%20a%20cascading%20style%20sheet%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%7C%20node%20%7C%0D%0A%09node%20%3A%3D%20self%20createElement%3A%20%23link.%0D%0A%09node%0A%0D%0A%09%09type%3A%20%27text/css%27%3B%0A%0D%0A%09%09rel%3A%20%23stylesheet%3B%0A%0D%0A%09%09href%3A%20cssURL%3B%0D%0A%09%09media%3A%20%27screen%27.%0D%0A%09self%20head%20appendChild%3A%20node.%0A')); smalltalk.bind(smalltalk.DOMDocument,'url','url' ,function (){ var self=this; return (self['@handle']["URL"] || nil);return self;} ,'accessing',unescape('url%0D%0A%09%22%20Return%20the%20URL%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20basicAt%3A%20%23URL')); smalltalk.bind(smalltalk.DOMDocument,'open:replace:','open_replace_' ,function (mimeType,replace){ var self=this; return smalltalk.BrowserDocument._at(self['@handle'].open(mimeType));return self;} ,'io',unescape('open%3A%20mimeType%20replace%3A%20replace%0D%0A%09%22%20Opens%20an%20output%20stream%20to%20collect%20the%20output%20from%20%23write%3A%20or%20%23writeln%3A.%0D%0A%09Once%20all%20the%20writes%20are%20performed%2C%20%23close%20causes%20any%20output%20written%20to%20the%20output%20stream%20to%20be%20displayed.%0D%0A%09Note%3A%20If%20a%20document%20already%20exists%20in%20the%20target%2C%20it%20will%20be%20cleared.%0D%0A%09%22%0D%0A%0D%0A%09%5EBrowserDocument%20@%20%28handle%20%23open%3A%20mimeType%29')); smalltalk.bind(smalltalk.DOMDocument,'open','open' ,function (){ var self=this; return smalltalk.BrowserDocument._at(self['@handle'].open());return self;} ,'io',unescape('open%0D%0A%09%22%20A%20new%20window%20%28about%3Ablank%29%20is%20displayed.%20%22%0D%0A%0D%0A%09%5EBrowserDocument%20@%20handle%20open')); smalltalk.bind(smalltalk.DOMDocument,'close','close' ,function (){ var self=this; return self['@handle'].close();return self;} ,'io',unescape('close%0D%0A%09%22%20Close%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20close')); smalltalk.bind(smalltalk.DOMDocument,'write:','write_' ,function (anObject){ var self=this; return self['@handle'].write(anObject);return self;} ,'io',unescape('write%3A%20anObject%0D%0A%09%22%20Output%20anObject%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23write%3A%20anObject')); smalltalk.bind(smalltalk.DOMDocument,'writeln:','writeln_' ,function (anObject){ var self=this; return self['@handle'].writeln(anObject);return self;} ,'io',unescape('writeln%3A%20anObject%0D%0A%09%22%20Output%20anObject%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23writeln%3A%20anObject')); smalltalk.bind(smalltalk.DOMDocument,'nextPut:','nextPut_' ,function (anObject){ var self=this; return self.write_(anObject);return self;} ,'io',unescape('nextPut%3A%20anObject%0D%0A%09%22%20Output%20anObject%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20write%3A%20anObject')); smalltalk.bind(smalltalk.DOMDocument,'nextPutAll:','nextPutAll_' ,function (anObject){ var self=this; return self.write_(anObject);return self;} ,'io',unescape('nextPutAll%3A%20anObject%0D%0A%09%22%20Output%20anObject%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20write%3A%20anObject')); smalltalk.bind(smalltalk.DOMDocument,'cr','cr' ,function (){ var self=this; return self.writeln_("");return self;} ,'io',unescape('cr%0D%0A%09%22%20Output%20a%20new%20line%20onto%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20writeln%3A%20%27%27')); smalltalk.bind(smalltalk.DOMDocument,'get:byId:','get_byId_' ,function (aDOMElementClass,id){ var self=this; return aDOMElementClass._at(self['@handle'].getElementById(id));return self;} ,'accessing',unescape('get%3A%20aDOMElementClass%20byId%3A%20id%0D%0A%09%22%20Return%20the%20first%20element%20in%20the%20receiver%20with%20id%20as%20an%20instance%20of%20aDOMElementClass.%20%22%0D%0A%0D%0A%09%5EaDOMElementClass%20@%20%28handle%20%23getElementById%3A%20id%29')); smalltalk.bind(smalltalk.DOMDocument,'getElementById:','getElementById_' ,function (id){ var self=this; return self.get_byId_(smalltalk.DOMElement, id);return self;} ,'accessing',unescape('getElementById%3A%20id%0D%0A%09%22%20Return%20the%20first%20element%20in%20the%20receiver%20with%20id.%20%22%0D%0A%0D%0A%09%5Eself%20get%3A%20DOMElement%20byId%3A%20id')); smalltalk.bind(smalltalk.DOMDocument,'@','_at' ,function (id){ var self=this; return self.getElementById_(id);return self;} ,'accessing',unescape('@%20id%0D%0A%09%22%20Return%20the%20element%20in%20the%20receiver%20with%20id.%20%22%0D%0A%0D%0A%09%5Eself%20getElementById%3A%20id')); smalltalk.bind(smalltalk.DOMDocument,'get:byName:','get_byName_' ,function (aDOMElementClass,aName){ var self=this; return aDOMElementClass._at(self['@handle'].getElementByName(aName));return self;} ,'accessing',unescape('get%3A%20aDOMElementClass%20byName%3A%20aName%0D%0A%09%22%20Return%20the%20first%20element%20in%20the%20receiver%20with%20name%20aName%20as%20an%20instance%20of%20aDOMElementClass.%20%22%0D%0A%0D%0A%09%5EaDOMElementClass%20@%20%28handle%20%23getElementByName%3A%20aName%29')); smalltalk.bind(smalltalk.DOMDocument,'get:byTagName:do:','get_byTagName_do_' ,function (aDOMElementClass,tagName,aBlock){ var self=this; return self.array_of_do_(self['@handle'].getElementsByTagName(tagName), aDOMElementClass, aBlock);return self;} ,'accessing',unescape('get%3A%20aDOMElementClass%20byTagName%3A%20tagName%20do%3A%20aBlock%0D%0A%09%22%20Private%20-%20Return%20the%20elements%20collection%20matching%20tag%20tagName.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09array%3A%20%28handle%20%23getElementsByTagName%3A%20tagName%29%0D%0A%09%09of%3A%20aDOMElementClass%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMDocument,'get:byTagName:','get_byTagName_' ,function (aDOMElementClass,tagName){ var self=this; return self.array_of_(self['@handle'].getElementsByTagName(tagName), aDOMElementClass);return self;} ,'accessing',unescape('get%3A%20aDOMElementClass%20byTagName%3A%20tagName%0D%0A%09%22%20Private%20-%20Return%20the%20elements%20collection%20matching%20tag%20tagName.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09array%3A%20%28handle%20%23getElementsByTagName%3A%20tagName%29%0D%0A%09%09of%3A%20aDOMElementClass')); smalltalk.bind(smalltalk.DOMDocument,'getElementsByTagName:','getElementsByTagName_' ,function (tagName){ var self=this; return self.get_byTagName_(smalltalk.DOMElement, tagName);return self;} ,'accessing',unescape('getElementsByTagName%3A%20tagName%0D%0A%09%22%20Return%20anArray%20with%20the%20elements%20matching%20tag%20tagName.%20%22%0D%0A%0D%0A%09%5Eself%20get%3A%20DOMElement%20byTagName%3A%20tagName')); smalltalk.bind(smalltalk.DOMDocument,'withElementsTagged:do:','withElementsTagged_do_' ,function (tagName,aBlock){ var self=this; return self.get_byTagName_do_(smalltalk.DOMElement, tagName, aBlock);return self;} ,'accessing',unescape('withElementsTagged%3A%20tagName%20do%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20with%20the%20elements%20matching%20tag%20tagName.%20%22%0D%0A%0D%0A%09%5Eself%20get%3A%20DOMElement%20byTagName%3A%20tagName%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMDocument,'createAttribute:','createAttribute_' ,function (aName){ var self=this; return smalltalk.DOMAttribute._at(self['@handle'].createAttribute(aName));return self;} ,'creation',unescape('createAttribute%3A%20aName%0D%0A%09%22%20Return%20a%20DOMAttribute%20of%20given%20name%20aName.%20%22%0D%0A%0D%0A%09%5EDOMAttribute%20@%20%28handle%20%23createAttribute%3A%20aName%29')); smalltalk.bind(smalltalk.DOMDocument,'createcreateCDATASection:','createcreateCDATASection_' ,function (data){ var self=this; return smalltalk.DOMElement._at(self['@handle'].createCDATASection(data));return self;} ,'creation',unescape('createcreateCDATASection%3A%20data%0D%0A%09%22%20Return%20a%20data%20section%20with%20data.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20%28handle%20%23createCDATASection%3A%20data%29')); smalltalk.bind(smalltalk.DOMDocument,'createComment:','createComment_' ,function (data){ var self=this; return smalltalk.DOMElement._at(self['@handle'].createComment(data));return self;} ,'creation',unescape('createComment%3A%20data%0D%0A%09%22%20Return%20a%20comment%20with%20data.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20%28handle%20%23createComment%3A%20data%29')); smalltalk.bind(smalltalk.DOMDocument,'createDocumentFragment','createDocumentFragment' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].createDocumentFragment());return self;} ,'creation',unescape('createDocumentFragment%0D%0A%09%22%20Return%20a%20new%20document%20fragment.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%20createDocumentFragment')); smalltalk.bind(smalltalk.DOMDocument,'createElement:','createElement_' ,function (tagName){ var self=this; return smalltalk.DOMElement._at(self.createElementHandle_(tagName));return self;} ,'creation',unescape('createElement%3A%20tagName%0D%0A%09%22%20Return%20a%20DOMElement%20tagged%20with%20tagName.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20%28self%20createElementHandle%3A%20tagName%29')); smalltalk.bind(smalltalk.DOMDocument,'createElementHandle:','createElementHandle_' ,function (tagName){ var self=this; return self['@handle'].createElement(tagName);return self;} ,'creation',unescape('createElementHandle%3A%20tagName%0D%0A%09%22%20Private%20-%20Return%20a%20DOMElement%20handle%20tagged%20with%20tagName.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23createElement%3A%20tagName')); smalltalk.bind(smalltalk.DOMElement.$klass,'tagMap','tagMap' ,function (){ var self=this; ((((smalltalk.DOMElement.$klass.classVariableAt_("TagMap") || nil) === nil)).mustBeBoolean()==true ? (function(){return smalltalk.DOMElement.$klass.classVariableAt_put_("TagMap",smalltalk.Dictionary.$$new());})() : nil); return smalltalk.DOMElement.$klass.classVariableAt_("TagMap");return self;} ,'private-mapping',unescape('tagMap%0D%0A%09%22%20Private%20-%20Return%20the%20map%20to%20use%20to%20create%20concrete%20instances%20from%20handles.%20%22%0D%0A%0D%0A%09TagMap%20isNil%20ifTrue%3A%20%5B%20TagMap%20%3A%3D%20Dictionary%20new%20%5D.%0D%0A%09%5ETagMap')); smalltalk.bind(smalltalk.DOMElement.$klass,'supportFor:tagged:','supportFor_tagged_' ,function (handle,tagName){ var self=this; try{ ((((tagName || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "supportFor_tagged_", fn: function(){return smalltalk.DOMElement}})})();})() : nil); (function(){throw({name: "stReturn", selector: "supportFor_tagged_", fn: function(){return self.tagMap().at_ifAbsentPut_(tagName, (function(){return smalltalk.DOMElement.allSubclasses().detect_ifNone_((function(one){return one.canHandle_tagged_(handle, tagName);}), (function(){return smalltalk.DOMElement;}));}))}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "supportFor_tagged_"){return $$ex.fn();} throw($$ex);}} ,'private-mapping',unescape('supportFor%3A%20handle%20tagged%3A%20tagName%0D%0A%09%22%20Private%20-%20Return%20the%20support%20for%20element%20tagged%20with%20tagName.%0D%0A%09We%20use%20internal%20map%20cache%20to%20make%20concrete%20instantiation%20faster.%0D%0A%09Return%20a%20concrete%20class%20to%20wrap%20handle%2C%20or%20DOMElement%20in%20case%20of%20unknown%20tagName.%0D%0A%09%22%0D%0A%0D%0A%09tagName%20isNil%20ifTrue%3A%20%5B%20%5EDOMElement%20%5D.%0D%0A%09%5Eself%20tagMap%20at%3A%20tagName%20ifAbsentPut%3A%20%5B%0D%0A%09%09DOMElement%20allSubclasses%0D%0A%09%09%09detect%3A%20%5B%3Aone%7C%20one%20canHandle%3A%20handle%20tagged%3A%20tagName%20%5D%0D%0A%09%09%09ifNone%3A%20%5B%20DOMElement%20%5D%0D%0A%09%5D')); smalltalk.bind(smalltalk.DOMElement.$klass,'isTagged','isTagged' ,function (){ var self=this; return ((self.tagName() || nil) !== nil);return self;} ,'HTML',unescape('isTagged%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20handle%20tagged%20elements.%20%22%0D%0A%0D%0A%09%5Eself%20tagName%20notNil')); smalltalk.bind(smalltalk.DOMElement.$klass,'tagName','tagName' ,function (){ var self=this; return nil;return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver%20%28or%20nil%29.%0D%0A%09Return%20nil%20by%20default.%0D%0A%09This%20method%20must%20be%20refined%20by%20concrete%20subclasses.%0D%0A%09%22%0D%0A%0D%0A%09%5Enil')); smalltalk.bind(smalltalk.DOMElement.$klass,'canHandle:tagged:','canHandle_tagged_' ,function (handle,tagName){ var self=this; return self.isTagged().and_((function(){return tagName._eq(self.tagName());}));return self;} ,'private-mapping',unescape('canHandle%3A%20handle%20tagged%3A%20tagName%0D%0A%09%22%20Return%20true%20if%20instances%20of%20the%20receiver%20can%20handle%20elements%20tagged%20with%20tagName.%0D%0A%09This%20method%20can%20be%20refined%20in%20concrete%20subclasses%20to%20implement%20custom%20handling%20of%20HTML%20elements.%0D%0A%09%22%0D%0A%0D%0A%09%5Eself%20isTagged%20and%3A%20%5B%20tagName%20%3D%20self%20tagName%20%5D')); smalltalk.bind(smalltalk.DOMElement.$klass,'@','_at' ,function (handle){ var self=this; try{ var tagName=nil; var support=nil; (((self === smalltalk.DOMElement)).mustBeBoolean()==true ? nil : (function(){return (function(){throw({name: "stReturn", selector: "_at", fn: function(){return self.for_(handle)}})})();})()); tagName=(handle.tagName || nil); support=self.supportFor_tagged_(handle, tagName); (((support === smalltalk.DOMInputElement)).mustBeBoolean()==true ? (function(){return support.allSubclasses().do_((function(each){return ((each.canHandle_tagged_(handle, tagName)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "_at", fn: function(){return each.for_(handle)}})})();})() : nil);}));})() : nil); (function(){throw({name: "stReturn", selector: "_at", fn: function(){return support.for_(handle)}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "_at"){return $$ex.fn();} throw($$ex);}} ,'instance creation',unescape('@%20handle%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%0D%0A%09A%20concrete%20implementation%20for%20tag%20%28in%20handle%29%20will%20be%20used%20if%20appropiate.%0D%0A%09%22%0D%0A%0D%0A%09%7C%20tagName%20support%20%7C%0D%0A%09self%20%3D%3D%20DOMElement%20ifFalse%3A%20%5B%20%5Eself%20for%3A%20handle%20%5D.%0D%0A%09tagName%20%3A%3D%20handle%23tagName%20%7C%7C%20nil.%0D%0A%09support%20%3A%3D%20self%20supportFor%3A%20handle%20tagged%3A%20tagName.%0D%0A%09support%20%3D%3D%20DOMInputElement%20ifTrue%3A%20%5B%20%22we%20need%20more%20concrete%20instance%22%0D%0A%09%09support%20allSubclasses%20do%3A%20%5B%3Aeach%7C%0D%0A%09%09%09%28each%20canHandle%3A%20handle%20tagged%3A%20tagName%29%20ifTrue%3A%20%5B%0D%0A%09%09%09%09%5Eeach%20for%3A%20handle%0D%0A%09%09%09%5D.%0D%0A%09%09%5D.%0D%0A%09%5D.%0D%0A%09%5Esupport%20for%3A%20handle')); smalltalk.bind(smalltalk.DOMElement,'accessKey','accessKey' ,function (){ var self=this; return self['@handle'].accessKey;return self;} ,'accessing',unescape('accessKey%0D%0A%09%22%20Return%20the%20accessKey%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23accessKey')); smalltalk.bind(smalltalk.DOMElement,'accessKey:','accessKey_' ,function (anObject){ var self=this; self['@handle'].accessKey=anObject;return self;} ,'accessing',unescape('accessKey%3A%20anObject%0D%0A%09%22%20Set%20the%20accessKey%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23accessKey%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'className','className' ,function (){ var self=this; return self['@handle'].className;return self;} ,'accessing',unescape('className%0D%0A%09%22%20Return%20the%20className%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23className')); smalltalk.bind(smalltalk.DOMElement,'className:','className_' ,function (anObject){ var self=this; self['@handle'].className=anObject;return self;} ,'accessing',unescape('className%3A%20anObject%0D%0A%09%22%20Set%20the%20className%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23className%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'clientWidth','clientWidth' ,function (){ var self=this; return self['@handle'].clientWidth;return self;} ,'accessing',unescape('clientWidth%0D%0A%09%22%20Return%20the%20clientWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23clientWidth')); smalltalk.bind(smalltalk.DOMElement,'clientWidth:','clientWidth_' ,function (anObject){ var self=this; self['@handle'].clientWidth=anObject;return self;} ,'accessing',unescape('clientWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20clientWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23clientWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'clientHeight','clientHeight' ,function (){ var self=this; return self['@handle'].clientHeight;return self;} ,'accessing',unescape('clientHeight%0D%0A%09%22%20Return%20the%20clientHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23clientHeight')); smalltalk.bind(smalltalk.DOMElement,'clientHeight:','clientHeight_' ,function (anObject){ var self=this; self['@handle'].clientHeight=anObject;return self;} ,'accessing',unescape('clientHeight%3A%20anObject%0D%0A%09%22%20Set%20the%20clientHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23clientHeight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'dir','dir' ,function (){ var self=this; return self['@handle'].dir;return self;} ,'accessing',unescape('dir%0D%0A%09%22%20Return%20the%20dir%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23dir')); smalltalk.bind(smalltalk.DOMElement,'dir:','dir_' ,function (anObject){ var self=this; self['@handle'].dir=anObject;return self;} ,'accessing',unescape('dir%3A%20anObject%0D%0A%09%22%20Set%20the%20dir%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23dir%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'disabled','disabled' ,function (){ var self=this; return self['@handle'].disabled;return self;} ,'accessing',unescape('disabled%0D%0A%09%22%20Return%20the%20disabled%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23disabled')); smalltalk.bind(smalltalk.DOMElement,'disabled:','disabled_' ,function (anObject){ var self=this; self['@handle'].disabled=anObject;return self;} ,'accessing',unescape('disabled%3A%20anObject%0D%0A%09%22%20Set%20the%20disabled%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23disabled%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'height','height' ,function (){ var self=this; return self['@handle'].height;return self;} ,'accessing',unescape('height%0D%0A%09%22%20Return%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23height')); smalltalk.bind(smalltalk.DOMElement,'height:','height_' ,function (anObject){ var self=this; self['@handle'].height=anObject;return self;} ,'accessing',unescape('height%3A%20anObject%0D%0A%09%22%20Set%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23height%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'width','width' ,function (){ var self=this; return self['@handle'].width;return self;} ,'accessing',unescape('width%0D%0A%09%22%20Return%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23width')); smalltalk.bind(smalltalk.DOMElement,'width:','width_' ,function (anObject){ var self=this; self['@handle'].width=anObject;return self;} ,'accessing',unescape('width%3A%20anObject%0D%0A%09%22%20Set%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23width%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'id','id' ,function (){ var self=this; return self['@handle'].id;return self;} ,'accessing',unescape('id%0D%0A%09%22%20Return%20the%20id%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23id')); smalltalk.bind(smalltalk.DOMElement,'id:','id_' ,function (anObject){ var self=this; self['@handle'].id=anObject;return self;} ,'accessing',unescape('id%3A%20anObject%0D%0A%09%22%20Set%20the%20id%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23id%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'innerHTML','innerHTML' ,function (){ var self=this; return self['@handle'].innerHTML;return self;} ,'accessing',unescape('innerHTML%0D%0A%09%22%20Return%20the%20innerHTML%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23innerHTML')); smalltalk.bind(smalltalk.DOMElement,'innerHTML:','innerHTML_' ,function (anObject){ var self=this; self['@handle'].innerHTML=anObject;return self;} ,'accessing',unescape('innerHTML%3A%20anObject%0D%0A%09%22%20Set%20the%20innerHTML%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23innerHTML%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'lang','lang' ,function (){ var self=this; return self['@handle'].lang;return self;} ,'accessing',unescape('lang%0D%0A%09%22%20Return%20the%20lang%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23lang')); smalltalk.bind(smalltalk.DOMElement,'lang:','lang_' ,function (anObject){ var self=this; self['@handle'].lang=anObject;return self;} ,'accessing',unescape('lang%3A%20anObject%0D%0A%09%22%20Set%20the%20lang%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23lang%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'tabIndex','tabIndex' ,function (){ var self=this; return self['@handle'].tabIndex;return self;} ,'accessing',unescape('tabIndex%0D%0A%09%22%20Return%20the%20tabIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23tabIndex')); smalltalk.bind(smalltalk.DOMElement,'tabIndex:','tabIndex_' ,function (anObject){ var self=this; self['@handle'].tabIndex=anObject;return self;} ,'accessing',unescape('tabIndex%3A%20anObject%0D%0A%09%22%20Set%20the%20tabIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23tabIndex%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'title','title' ,function (){ var self=this; return self['@handle'].title;return self;} ,'accessing',unescape('title%0D%0A%09%22%20Return%20the%20title%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23title')); smalltalk.bind(smalltalk.DOMElement,'title:','title_' ,function (anObject){ var self=this; self['@handle'].title=anObject;return self;} ,'accessing',unescape('title%3A%20anObject%0D%0A%09%22%20Set%20the%20title%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23title%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMElement,'firstChild','firstChild' ,function (){ var self=this; return self['@handle'].firstChild;return self;} ,'accessing',unescape('firstChild%0D%0A%09%22%20Return%20the%20firstChild%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23firstChild')); smalltalk.bind(smalltalk.DOMElement,'lastChild','lastChild' ,function (){ var self=this; return self['@handle'].lastChild;return self;} ,'accessing',unescape('lastChild%0D%0A%09%22%20Return%20the%20lastChild%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23lastChild')); smalltalk.bind(smalltalk.DOMElement,'length','length' ,function (){ var self=this; return self['@handle'].length;return self;} ,'accessing',unescape('length%0D%0A%09%22%20Return%20the%20length%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23length')); smalltalk.bind(smalltalk.DOMElement,'tagName','tagName' ,function (){ var self=this; return self['@handle'].tagName;return self;} ,'accessing',unescape('tagName%0D%0A%09%22%20Return%20the%20tagName%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23tagName')); smalltalk.bind(smalltalk.DOMElement,'nodeName','nodeName' ,function (){ var self=this; return self['@handle'].nodeName;return self;} ,'accessing',unescape('nodeName%0D%0A%09%22%20Return%20the%20nodeName%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23nodeName')); smalltalk.bind(smalltalk.DOMElement,'nodeType','nodeType' ,function (){ var self=this; return self['@handle'].nodeType;return self;} ,'accessing',unescape('nodeType%0D%0A%09%22%20Return%20the%20nodeType%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23nodeType')); smalltalk.bind(smalltalk.DOMElement,'nodeValue','nodeValue' ,function (){ var self=this; return self['@handle'].nodeValue;return self;} ,'accessing',unescape('nodeValue%0D%0A%09%22%20Return%20the%20nodeValue%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23nodeValue')); smalltalk.bind(smalltalk.DOMElement,'offsetParent','offsetParent' ,function (){ var self=this; return self['@handle'].offsetParent;return self;} ,'accessing',unescape('offsetParent%0D%0A%09%22%20Return%20the%20offsetParent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23offsetParent')); smalltalk.bind(smalltalk.DOMElement,'offsetLeft','offsetLeft' ,function (){ var self=this; return self['@handle'].offsetLeft;return self;} ,'accessing',unescape('offsetLeft%0D%0A%09%22%20Return%20the%20offsetLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23offsetLeft')); smalltalk.bind(smalltalk.DOMElement,'offsetTop','offsetTop' ,function (){ var self=this; return self['@handle'].offsetTop;return self;} ,'accessing',unescape('offsetTop%0D%0A%09%22%20Return%20the%20offsetTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23offsetTop')); smalltalk.bind(smalltalk.DOMElement,'offsetWidth','offsetWidth' ,function (){ var self=this; return self['@handle'].offsetWidth;return self;} ,'accessing',unescape('offsetWidth%0D%0A%09%22%20Return%20the%20offsetWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23offsetWidth')); smalltalk.bind(smalltalk.DOMElement,'offsetHeight','offsetHeight' ,function (){ var self=this; return self['@handle'].offsetHeight;return self;} ,'accessing',unescape('offsetHeight%0D%0A%09%22%20Return%20the%20offsetHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23offsetHeight')); smalltalk.bind(smalltalk.DOMElement,'scrollLeft','scrollLeft' ,function (){ var self=this; return self['@handle'].scrollLeft;return self;} ,'accessing',unescape('scrollLeft%0D%0A%09%22%20Return%20the%20scrollLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23scrollLeft')); smalltalk.bind(smalltalk.DOMElement,'scrollTop','scrollTop' ,function (){ var self=this; return self['@handle'].scrollTop;return self;} ,'accessing',unescape('scrollTop%0D%0A%09%22%20Return%20the%20scrollTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23scrollTop')); smalltalk.bind(smalltalk.DOMElement,'scrollWidth','scrollWidth' ,function (){ var self=this; return self['@handle'].scrollWidth;return self;} ,'accessing',unescape('scrollWidth%0D%0A%09%22%20Return%20the%20scrollWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23scrollWidth')); smalltalk.bind(smalltalk.DOMElement,'scrollHeight','scrollHeight' ,function (){ var self=this; return self['@handle'].scrollHeight;return self;} ,'accessing',unescape('scrollHeight%0D%0A%09%22%20Return%20the%20scrollHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23scrollHeight')); smalltalk.bind(smalltalk.DOMElement,'attributes','attributes' ,function (){ var self=this; return self.array_of_(self['@handle'].attributes, smalltalk.DOMAttribute);return self;} ,'accessing',unescape('attributes%0D%0A%09%22%20Return%20the%20attributes%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23attributes%20of%3A%20DOMAttribute')); smalltalk.bind(smalltalk.DOMElement,'attributeAt:','attributeAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].attributes, smalltalk.DOMAttribute, index);return self;} ,'accessing',unescape('attributeAt%3A%20index%0D%0A%09%22%20Return%20the%20attribute%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23attributes%20of%3A%20DOMAttribute%20at%3A%20index')); smalltalk.bind(smalltalk.DOMElement,'attributesDo:','attributesDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].attributes, smalltalk.DOMAttribute, aBlock);return self;} ,'accessing',unescape('attributesDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20attributes%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23attributes%20of%3A%20DOMAttribute%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMElement,'childNodes','childNodes' ,function (){ var self=this; return self.array_of_(self['@handle'].childNodes, smalltalk.DOMElement);return self;} ,'accessing',unescape('childNodes%0D%0A%09%22%20Return%20the%20childNodes%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23childNodes%20of%3A%20DOMElement')); smalltalk.bind(smalltalk.DOMElement,'childNodesDo:','childNodesDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].childNodes, smalltalk.DOMElement, aBlock);return self;} ,'accessing',unescape('childNodesDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20childNodes%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23childNodes%20of%3A%20DOMElement%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMElement,'childNodeAt:','childNodeAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].childNodes, smalltalk.DOMElement, index);return self;} ,'accessing',unescape('childNodeAt%3A%20index%0D%0A%09%22%20Return%20the%20childNode%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23childNodes%20of%3A%20DOMElement%20at%3A%20index')); smalltalk.bind(smalltalk.DOMElement,'clientExtent','clientExtent' ,function (){ var self=this; return self.clientWidth()._at(self.clientHeight());return self;} ,'accessing',unescape('clientExtent%0D%0A%09%22%20Return%20the%20viewable%20extent%20of%20the%20receiver%20on%20a%20page%20%28not%20including%20borders%2C%20margins%2C%20or%20scrollbars%29.%20%22%0D%0A%0D%0A%09%5Eself%20clientWidth%20@%20self%20clientHeight')); smalltalk.bind(smalltalk.DOMElement,'scroll','scroll' ,function (){ var self=this; return self.scrollLeftTop().extent_(self.scrollExtent());return self;} ,'accessing',unescape('scroll%0D%0A%09%22%20Return%20the%20scroll%20rectangle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20scrollLeftTop%20extent%3A%20self%20scrollExtent')); smalltalk.bind(smalltalk.DOMElement,'scrollLeftTop','scrollLeftTop' ,function (){ var self=this; return self.scrollLeft()._at(self.scrollTop());return self;} ,'accessing',unescape('scrollLeftTop%0D%0A%09%22%20Return%20the%20scroll%20leftTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20scrollLeft%20@%20self%20scrollTop')); smalltalk.bind(smalltalk.DOMElement,'scrollExtent','scrollExtent' ,function (){ var self=this; return self.scrollWidth()._at(self.scrollHeight());return self;} ,'accessing',unescape('scrollExtent%0D%0A%09%22%20Return%20the%20scroll%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20scrollWidth%20@%20self%20scrollHeight')); smalltalk.bind(smalltalk.DOMElement,'extent','extent' ,function (){ var self=this; return self.width()._at(self.height());return self;} ,'accessing',unescape('extent%0D%0A%09%22%20Return%20the%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20width%20@%20self%20height')); smalltalk.bind(smalltalk.DOMElement,'offset','offset' ,function (){ var self=this; return self.offsetLeftTop().extent_(self.offsetExtent());return self;} ,'accessing',unescape('offset%0D%0A%09%22%20Return%20the%20offset%20rectangle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20offsetLeftTop%20extent%3A%20self%20offsetExtent')); smalltalk.bind(smalltalk.DOMElement,'offsetLeftTop','offsetLeftTop' ,function (){ var self=this; return self.offsetLeft()._at(self.offsetTop());return self;} ,'accessing',unescape('offsetLeftTop%0D%0A%09%22%20Return%20the%20offset%20leftTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20offsetLeft%20@%20self%20offsetTop')); smalltalk.bind(smalltalk.DOMElement,'offsetExtent','offsetExtent' ,function (){ var self=this; return self.offsetWidth()._at(self.offsetHeight());return self;} ,'accessing',unescape('offsetExtent%0D%0A%09%22%20Return%20the%20offset%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20offsetWidth%20@%20self%20offsetHeight')); smalltalk.bind(smalltalk.DOMElement,'nextSibling','nextSibling' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].nextSibling);return self;} ,'accessing',unescape('nextSibling%0D%0A%09%22%20Return%20the%20next%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%23nextSibling')); smalltalk.bind(smalltalk.DOMElement,'previousSibling','previousSibling' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].previousSibling);return self;} ,'accessing',unescape('previousSibling%0D%0A%09%22%20Return%20the%20previous%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%23previousSibling')); smalltalk.bind(smalltalk.DOMElement,'parentNode','parentNode' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].parentNode);return self;} ,'accessing',unescape('parentNode%0D%0A%09%22%20Return%20the%20parent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%23parentNode')); smalltalk.bind(smalltalk.DOMElement,'ownerDocument','ownerDocument' ,function (){ var self=this; return smalltalk.DOMDocument._at(self['@handle'].ownerDocument);return self;} ,'accessing',unescape('ownerDocument%0D%0A%09%22%20Return%20the%20root%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMDocument%20@%20handle%23ownerDocument')); smalltalk.bind(smalltalk.DOMElement,'innerHtml:','innerHtml_' ,function (text){ var self=this; return self.innerHTML_(text);return self;} ,'inserting',unescape('innerHtml%3A%20text%0D%0A%09%22%20Set%20the%20contents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20innerHTML%3A%20text')); smalltalk.bind(smalltalk.DOMElement,'innerHtml','innerHtml' ,function (){ var self=this; return self.innerHTML();return self;} ,'inserting',unescape('innerHtml%0D%0A%09%22%20Return%20the%20contents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20innerHTML')); smalltalk.bind(smalltalk.DOMElement,'toString','toString' ,function (){ var self=this; return self.$klass.name()._comma(unescape("@"))._comma(self['@handle'].toString());return self;} ,'conversion',unescape('toString%0D%0A%09%22%20Return%20a%20string%20representation%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20class%20name%2C%27@%27%2Chandle%20toString')); smalltalk.bind(smalltalk.DOMElement,'blur','blur' ,function (){ var self=this; return self['@handle'].blur();return self;} ,'actions',unescape('blur%0D%0A%09%22%20Removes%20focus%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20blur')); smalltalk.bind(smalltalk.DOMElement,'focus','focus' ,function (){ var self=this; return self['@handle'].focus();return self;} ,'actions',unescape('focus%0D%0A%09%22%20Gives%20focus%20to%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20focus')); smalltalk.bind(smalltalk.DOMElement,'click','click' ,function (){ var self=this; return self['@handle'].click();return self;} ,'actions',unescape('click%0D%0A%09%22%20Executes%20a%20click%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20click')); smalltalk.bind(smalltalk.DOMElement,'appendChild:','appendChild_' ,function (aDOMElement){ var self=this; return self['@handle'].appendChild(aDOMElement.handle());return self;} ,'actions',unescape('appendChild%3A%20aDOMElement%0D%0A%09%22%20Adds%20a%20new%20element%20to%20the%20end%20of%20the%20children%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23appendChild%3A%20aDOMElement%20handle')); smalltalk.bind(smalltalk.DOMElement,'cloneNode:','cloneNode_' ,function (includeAll){ var self=this; return self['@handle'].cloneNode(includeAll);return self;} ,'actions',unescape('cloneNode%3A%20includeAll%0D%0A%09%22%20If%20the%20Boolean%20parameter%20is%20set%20to%20true%2C%20the%20cloned%20node%20clones%20all%20the%20child%20nodes%20of%20the%20original%20node%20as%20well.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23cloneNode%3A%20includeAll')); smalltalk.bind(smalltalk.DOMElement,'get:byTagName:do:','get_byTagName_do_' ,function (aDOMElementClass,tagName,aBlock){ var self=this; return self.array_of_do_(self['@handle'].getElementsByTagName(tagName), aDOMElementClass, aBlock);return self;} ,'accessing',unescape('get%3A%20aDOMElementClass%20byTagName%3A%20tagName%20do%3A%20aBlock%0D%0A%09%22%20Private%20-%20Return%20the%20elements%20collection%20matching%20tag%20tagName.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09array%3A%20%28handle%20%23getElementsByTagName%3A%20tagName%29%0D%0A%09%09of%3A%20aDOMElementClass%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMElement,'get:byTagName:','get_byTagName_' ,function (aDOMElementClass,tagName){ var self=this; return self.array_of_(self['@handle'].getElementsByTagName(tagName), aDOMElementClass);return self;} ,'accessing',unescape('get%3A%20aDOMElementClass%20byTagName%3A%20tagName%0D%0A%09%22%20Private%20-%20Return%20the%20elements%20collection%20matching%20tag%20tagName.%20%22%0D%0A%0D%0A%09%5Eself%0D%0A%09%09array%3A%20%28handle%20%23getElementsByTagName%3A%20tagName%29%0D%0A%09%09of%3A%20aDOMElementClass')); smalltalk.bind(smalltalk.DOMElement,'getElementsByTagName:','getElementsByTagName_' ,function (tagName){ var self=this; return self.get_byTagName_(smalltalk.DOMElement, tagName);return self;} ,'accessing',unescape('getElementsByTagName%3A%20tagName%0D%0A%09%22%20Return%20anArray%20with%20the%20elements%20matching%20tag%20tagName.%20%22%0D%0A%0D%0A%09%5Eself%20get%3A%20DOMElement%20byTagName%3A%20tagName')); smalltalk.bind(smalltalk.DOMElement,'withElementsTagged:do:','withElementsTagged_do_' ,function (tagName,aBlock){ var self=this; return self.get_byTagName_do_(smalltalk.DOMElement, tagName, aBlock);return self;} ,'accessing',unescape('withElementsTagged%3A%20tagName%20do%3A%20aBlock%0D%0A%09%22%20Evaluate%20aBlock%20with%20the%20elements%20matching%20tag%20tagName.%20%22%0D%0A%0D%0A%09%5Eself%20get%3A%20DOMElement%20byTagName%3A%20tagName%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMElement,'style','style' ,function (){ var self=this; return smalltalk.DOMStyle._at(self['@handle'].style);return self;} ,'accessing',unescape('style%0D%0A%09%22%20Return%20the%20style%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMStyle%20@%20handle%23style')); smalltalk.bind(smalltalk.DOMElement,'style:','style_' ,function (aDOMStyle){ var self=this; self['@handle'].style=aDOMStyle.handle();return self;} ,'accessing',unescape('style%3A%20aDOMStyle%0D%0A%09%22%20Set%20the%20style%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23style%20%3A%3D%20aDOMStyle%20handle')); smalltalk.bind(smalltalk.DOMElement,'hasChildNodes','hasChildNodes' ,function (){ var self=this; return self['@handle'].hasChildNodes();return self;} ,'accessing',unescape('hasChildNodes%0D%0A%09%22%20Return%20true%20if%20the%20receiver%20hasChildNodes.%20%22%0D%0A%0D%0A%09%5Ehandle%20hasChildNodes')); smalltalk.bind(smalltalk.DOMElement,'insert:before:','insert_before_' ,function (newChild,refchild){ var self=this; self['@handle'].insertBefore(newchild, refchild);return self;} ,'actions',unescape('insert%3A%20newChild%20before%3A%20refchild%0D%0A%09%22%20Insert%20new%20child%20element%20in%20the%20receiver%20just%20before%20reference.%20%22%0D%0A%0D%0A%09handle%20%23insertBefore%3A%20newchild%20with%3A%20refchild')); smalltalk.bind(smalltalk.DOMElement,'item:','item_' ,function (index){ var self=this; return smalltalk.DOMElement._at(self['@handle'].item(index));return self;} ,'accessing',unescape('item%3A%20index%0D%0A%09%22%20Return%20item%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20%28handle%20%23item%3A%20index%29')); smalltalk.bind(smalltalk.DOMElement,'item:as:','item_as_' ,function (index,aDOMElementClass){ var self=this; return aDOMElementClass._at(self['@handle'].item(index));return self;} ,'accessing',unescape('item%3A%20index%20as%3A%20aDOMElementClass%0D%0A%09%22%20Return%20item%20at%20index%20in%20the%20receiver%20as%20an%20instance%20of%20aDOMElementClass.%20%22%0D%0A%0D%0A%09%5EaDOMElementClass%20@%20%28handle%20%23item%3A%20index%29')); smalltalk.bind(smalltalk.DOMElement,'normalize','normalize' ,function (){ var self=this; self['@handle'].normalize();return self;} ,'actions',unescape('normalize%0D%0A%09%22%20Puts%20all%20text%20nodes%20underneath%20this%20element%20%28including%20attributes%29%20into%20a%20normal%20form%20where%20only%20structure%20%28e.g.%2C%20elements%2C%20comments%2C%20processing%20instructions%2C%20CDATA%20sections%2C%20and%20entity%20references%29%20separates%20Text%20nodes%2C%20i.e.%2C%20there%20are%20neither%20adjacent%20Text%20nodes%20nor%20empty%20Text%20nodes.%20%22%0D%0A%0D%0A%09handle%20normalize')); smalltalk.bind(smalltalk.DOMElement,'getAttribute:','getAttribute_' ,function (aName){ var self=this; return self['@handle'].getAttribute(aName);return self;} ,'accessing',unescape('getAttribute%3A%20aName%0D%0A%09%22%20Return%20the%20value%20of%20an%20attribute.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23getAttribute%3A%20aName')); smalltalk.bind(smalltalk.DOMElement,'setAttribute:to:','setAttribute_to_' ,function (aName,value){ var self=this; return self['@handle'].setAttribute(aName, value);return self;} ,'accessing',unescape('setAttribute%3A%20aName%20to%3A%20value%0D%0A%09%22%20Set%20the%20value%20of%20an%20attribute.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23setAttribute%3A%20aName%20to%3A%20value')); smalltalk.bind(smalltalk.DOMElement,'removeAttribute:','removeAttribute_' ,function (aName){ var self=this; return self['@handle'].removeAttribute(aName);return self;} ,'accessing',unescape('removeAttribute%3A%20aName%0D%0A%09%22%20Remove%20the%20attribute%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23removeAttribute%3A%20aName')); smalltalk.bind(smalltalk.DOMElement,'removeChild:','removeChild_' ,function (anElement){ var self=this; return self['@handle'].removeChild(anElement);return self;} ,'accessing',unescape('removeChild%3A%20anElement%0D%0A%09%22%20Remove%20the%20node%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23removeChild%3A%20anElement')); smalltalk.bind(smalltalk.DOMElement,'replace:child:','replace_child_' ,function (newNode,oldNode){ var self=this; return self['@handle'].replaceChild(newNode, oldNode);return self;} ,'accessing',unescape('replace%3A%20newNode%20child%3A%20oldNode%0D%0A%09%22%20Replace%20the%20node%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23replaceChild%3A%20newNode%20old%3A%20oldNode')); smalltalk.bind(smalltalk.DOMElement,'replace:with:','replace_with_' ,function (oldNode,newNode){ var self=this; return self['@handle'].replaceChild(newNode, oldNode);return self;} ,'accessing',unescape('replace%3A%20oldNode%20with%3A%20newNode%0D%0A%09%22%20Replace%20the%20node%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23replaceChild%3A%20newNode%20old%3A%20oldNode')); smalltalk.bind(smalltalk.BrowserWindow.$klass,'default','$$default' ,function (){ var self=this; return self._at(window);return self;} ,'accessing',unescape('default%0D%0A%09%22%20Return%20the%20default/global%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20@%20%23%7Bwindow%7D')); smalltalk.bind(smalltalk.BrowserWindow,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.BrowserWindow,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.BrowserWindow,'outerHeight','outerHeight' ,function (){ var self=this; return self['@handle'].outerHeight;return self;} ,'accessing',unescape('outerHeight%0D%0A%09%22%20Return%20the%20outerHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23outerHeight')); smalltalk.bind(smalltalk.BrowserWindow,'outerHeight:','outerHeight_' ,function (anObject){ var self=this; self['@handle'].outerHeight=anObject;return self;} ,'accessing',unescape('outerHeight%3A%20anObject%0D%0A%09%22%20Set%20the%20outerHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23outerHeight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.BrowserWindow,'outerWidth','outerWidth' ,function (){ var self=this; return self['@handle'].outerWidth;return self;} ,'accessing',unescape('outerWidth%0D%0A%09%22%20Return%20the%20outerWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23outerWidth')); smalltalk.bind(smalltalk.BrowserWindow,'outerWidth:','outerWidth_' ,function (anObject){ var self=this; self['@handle'].outerWidth=anObject;return self;} ,'accessing',unescape('outerWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20outerWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23outerWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.BrowserWindow,'innerHeight','innerHeight' ,function (){ var self=this; return self['@handle'].innerHeight;return self;} ,'accessing',unescape('innerHeight%0D%0A%09%22%20Return%20the%20innerHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23innerHeight')); smalltalk.bind(smalltalk.BrowserWindow,'innerHeight:','innerHeight_' ,function (anObject){ var self=this; self['@handle'].innerHeight=anObject;return self;} ,'accessing',unescape('innerHeight%3A%20anObject%0D%0A%09%22%20Set%20the%20innerHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23innerHeight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.BrowserWindow,'innerWidth','innerWidth' ,function (){ var self=this; return self['@handle'].innerWidth;return self;} ,'accessing',unescape('innerWidth%0D%0A%09%22%20Return%20the%20innerWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23innerWidth')); smalltalk.bind(smalltalk.BrowserWindow,'innerWidth:','innerWidth_' ,function (anObject){ var self=this; self['@handle'].innerWidth=anObject;return self;} ,'accessing',unescape('innerWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20innerWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23innerWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.BrowserWindow,'pageXOffset','pageXOffset' ,function (){ var self=this; return self['@handle'].pageXOffset;return self;} ,'accessing',unescape('pageXOffset%0D%0A%09%22%20Return%20the%20pageXOffset%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23pageXOffset')); smalltalk.bind(smalltalk.BrowserWindow,'pageYOffset','pageYOffset' ,function (){ var self=this; return self['@handle'].pageYOffset;return self;} ,'accessing',unescape('pageYOffset%0D%0A%09%22%20Return%20the%20pageYOffset%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23pageYOffset')); smalltalk.bind(smalltalk.BrowserWindow,'screenLeft','screenLeft' ,function (){ var self=this; return self['@handle'].screenLeft;return self;} ,'accessing',unescape('screenLeft%0D%0A%09%22%20Return%20the%20screenLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23screenLeft')); smalltalk.bind(smalltalk.BrowserWindow,'screenTop','screenTop' ,function (){ var self=this; return self['@handle'].screenTop;return self;} ,'accessing',unescape('screenTop%0D%0A%09%22%20Return%20the%20screenTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23screenTop')); smalltalk.bind(smalltalk.BrowserWindow,'screenX','screenX' ,function (){ var self=this; return self['@handle'].screenX;return self;} ,'accessing',unescape('screenX%0D%0A%09%22%20Return%20the%20screenX%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23screenX')); smalltalk.bind(smalltalk.BrowserWindow,'screenY','screenY' ,function (){ var self=this; return self['@handle'].screenY;return self;} ,'accessing',unescape('screenY%0D%0A%09%22%20Return%20the%20screenY%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23screenY')); smalltalk.bind(smalltalk.BrowserWindow,'closed','closed' ,function (){ var self=this; return self['@handle'].closed;return self;} ,'query',unescape('closed%0D%0A%09%22%20Return%20a%20Boolean%20value%20indicating%20whether%20a%20window%20has%20been%20closed%20or%20not.%20%22%0D%0A%0D%0A%09%5Ehandle%23closed')); smalltalk.bind(smalltalk.BrowserWindow,'defaultStatus','defaultStatus' ,function (){ var self=this; return self['@handle'].defaultStatus;return self;} ,'accessing',unescape('defaultStatus%0D%0A%09%22%20Return%20the%20default%20text%20in%20the%20statusbar%20of%20a%20window.%20%22%0D%0A%0D%0A%09%5Ehandle%23defaultStatus')); smalltalk.bind(smalltalk.BrowserWindow,'defaultStatus:','defaultStatus_' ,function (status){ var self=this; return self['@handle'].defaultStatus=status;return self;} ,'accessing',unescape('defaultStatus%3A%20status%0D%0A%09%22%20Set%20the%20default%20text%20in%20the%20statusbar%20of%20a%20window.%20%22%0D%0A%0D%0A%09%5Ehandle%23defaultStatus%20%3A%3D%20status')); smalltalk.bind(smalltalk.BrowserWindow,'document','document' ,function (){ var self=this; return smalltalk.DOMDocument.for_(self['@handle'].document);return self;} ,'accessing',unescape('document%0D%0A%09%22%20Return%20the%20Document%20object%20of%20the%20window.%20%22%0D%0A%0D%0A%09%5EDOMDocument%20for%3A%20handle%23document')); smalltalk.bind(smalltalk.BrowserWindow,'screen','screen' ,function (){ var self=this; return smalltalk.BrowserScreen._at(self['@handle'].screen);return self;} ,'accessing',unescape('screen%0D%0A%09%22%20Return%20the%20screen%20information.%20%22%0D%0A%0D%0A%09%5EBrowserScreen%20@%20handle%23screen')); smalltalk.bind(smalltalk.BrowserWindow,'frames','frames' ,function (){ var self=this; return self.array_of_(self['@handle'].frames, smalltalk.DOMFrame);return self;} ,'accessing',unescape('frames%0D%0A%09%22%20Return%20the%20frames%20%28including%20iframes%29%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23frames%20of%3A%20DOMFrame')); smalltalk.bind(smalltalk.BrowserWindow,'frameAt:','frameAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].frames, smalltalk.DOMFrame, index);return self;} ,'accessing',unescape('frameAt%3A%20index%0D%0A%09%22%20Return%20the%20frame%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23frames%20of%3A%20DOMFrame%20at%3A%20index')); smalltalk.bind(smalltalk.BrowserWindow,'framesDo:','framesDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].frames, smalltalk.DOMFrame, aBlock);return self;} ,'accessing',unescape('framesDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20frames%20%28including%20iframes%29%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23frames%20of%3A%20DOMFrame%20do%3A%20aBlock')); smalltalk.bind(smalltalk.BrowserWindow,'requestAnimationFrame:','requestAnimationFrame_' ,function (callbackBlock){ var self=this; try{ var impl=nil; impl=((((self['@handle'].requestAnimationFrame || self['@handle'].webkitRequestAnimationFrame) || self['@handle'].msRequestAnimationFrame) || self['@handle'].mozRequestAnimationFrame) || self['@handle'].oRequestAnimationFrame); ((((impl || nil) === nil)).mustBeBoolean()==true ? (function(){return (function(){throw({name: "stReturn", selector: "requestAnimationFrame_", fn: function(){return self.setTimeout_with_(callbackBlock, ((1000) / (60)))}})})();})() : nil); return impl(callbackBlock) ;return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "requestAnimationFrame_"){return $$ex.fn();} throw($$ex);}} ,'animation',unescape('requestAnimationFrame%3A%20callbackBlock%0D%0A%09%22%20Schedule%20a%20repaint%20of%20the%20window%20for%20the%20next%20animation%20frame.%20%22%0D%0A%0D%0A%09%7C%20impl%20%7C%0D%0A%09impl%20%3A%3D%20handle%23requestAnimationFrame%0D%0A%09%09%7C%7C%20handle%23webkitRequestAnimationFrame%0D%0A%09%09%7C%7C%20handle%23msRequestAnimationFrame%0D%0A%09%09%7C%7C%20handle%23mozRequestAnimationFrame%0D%0A%09%09%7C%7C%20handle%23oRequestAnimationFrame.%0D%0A%09impl%20isNil%20ifTrue%3A%20%5B%0D%0A%09%09%5Eself%20setTimeout%3A%20callbackBlock%20with%3A%201000%20/%2060%0D%0A%09%5D.%0D%0A%7B%27%09return%20impl%28callbackBlock%29%20%27%7D')); smalltalk.bind(smalltalk.BrowserWindow,'length','length' ,function (){ var self=this; return self['@handle'].length;return self;} ,'accessing',unescape('length%0D%0A%09%22%20Return%20the%20number%20of%20frames%20%28including%20iframes%29%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23length')); smalltalk.bind(smalltalk.BrowserWindow,'size','size' ,function (){ var self=this; return self.length();return self;} ,'accessing',unescape('size%0D%0A%09%22%20Return%20the%20number%20of%20frames%20%28including%20iframes%29%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20length')); smalltalk.bind(smalltalk.BrowserWindow,'history','history' ,function (){ var self=this; return smalltalk.BrowserHistory._at(self['@handle'].history);return self;} ,'accessing',unescape('history%0D%0A%09%22%20Return%20the%20history%20of%20URLs%20visited%20by%20the%20user%20%28within%20a%20browser%20window%29.%20%22%0D%0A%0D%0A%09%5EBrowserHistory%20@%20handle%23history')); smalltalk.bind(smalltalk.BrowserWindow,'navigator','navigator' ,function (){ var self=this; return smalltalk.BrowserNavigator._at(self['@handle'].navigator);return self;} ,'accessing',unescape('navigator%0D%0A%09%22%20Return%20information%20about%20the%20browser.%20%22%0D%0A%0D%0A%09%5EBrowserNavigator%20@%20handle%23navigator')); smalltalk.bind(smalltalk.BrowserWindow,'inner','inner' ,function (){ var self=this; return self.innerWidth()._at(self.innerHeight());return self;} ,'accessing',unescape('inner%0D%0A%09%22%20Return%20the%20inner%20extent%20of%20the%20receiver%27s%20content%20area%20%28in%20pixels%29.%20%22%0D%0A%0D%0A%09%5Eself%20innerWidth%20@%20self%20innerHeight')); smalltalk.bind(smalltalk.BrowserWindow,'inner:','inner_' ,function (aPoint){ var self=this; (function($rec){$rec.innerWidth_(aPoint.x());return $rec.innerHeight_(aPoint.y());})(self);return self;} ,'accessing',unescape('inner%3A%20aPoint%0D%0A%09%22%20Set%20the%20inner%20extent%20of%20the%20receiver%27s%20content%20area%20%28in%20pixels%29.%20%22%0D%0A%0D%0A%09self%20innerWidth%3A%20aPoint%20x%3B%20innerHeight%3A%20aPoint%20y')); smalltalk.bind(smalltalk.BrowserWindow,'outer','outer' ,function (){ var self=this; return self.outerWidth()._at(self.outerHeight());return self;} ,'accessing',unescape('outer%0D%0A%09%22%20Return%20the%20outer%20extent%20of%20the%20receiver%27s%20content%20area%20%28in%20pixels%29.%20%22%0D%0A%0D%0A%09%5Eself%20outerWidth%20@%20self%20outerHeight')); smalltalk.bind(smalltalk.BrowserWindow,'outer:','outer_' ,function (aPoint){ var self=this; (function($rec){$rec.outerWidth_(aPoint.x());return $rec.outerHeight_(aPoint.y());})(self);return self;} ,'accessing',unescape('outer%3A%20aPoint%0D%0A%09%22%20Set%20the%20outer%20extent%20of%20the%20receiver%27s%20content%20area%20%28in%20pixels%29.%20%22%0D%0A%0D%0A%09self%20outerWidth%3A%20aPoint%20x%3B%20outerHeight%3A%20aPoint%20y')); smalltalk.bind(smalltalk.BrowserWindow,'pageOffset','pageOffset' ,function (){ var self=this; return self.pageXOffset()._at(self.pageYOffset());return self;} ,'accessing',unescape('pageOffset%0D%0A%09%22%20Return%20the%20amount%20pixels%20the%20current%20document%20has%20been%20scrolled%20from%20the%20upper%20left%20corner%20of%20the%20window.%20%22%0D%0A%0D%0A%09%5Eself%20pageXOffset%20@%20self%20pageYOffset')); smalltalk.bind(smalltalk.BrowserWindow,'screenExtent','screenExtent' ,function (){ var self=this; return self.screenX()._at(self.screenY());return self;} ,'accessing',unescape('screenExtent%0D%0A%09%22%20Return%20the%20screen%20extent%20in%20pixels.%20%22%0D%0A%0D%0A%09%5Eself%20screenX%20@%20self%20screenY')); smalltalk.bind(smalltalk.BrowserWindow,'screenLeftTop','screenLeftTop' ,function (){ var self=this; return self.screenLeft()._at(self.screenTop());return self;} ,'accessing',unescape('screenLeftTop%0D%0A%09%22%20Return%20the%20screen%20leftTop%20in%20pixels.%20%22%0D%0A%0D%0A%09%5Eself%20screenLeft%20@%20self%20screenTop')); smalltalk.bind(smalltalk.BrowserWindow,'boundingBox','boundingBox' ,function (){ var self=this; return self.screenLeftTop().extent_(self.screenExtent());return self;} ,'accessing',unescape('boundingBox%0D%0A%09%22%20Return%20the%20screen%20bounds%20in%20pixels.%20%22%0D%0A%0D%0A%09%5Eself%20screenLeftTop%20extent%3A%20self%20screenExtent')); smalltalk.bind(smalltalk.BrowserWindow,'location','location' ,function (){ var self=this; return smalltalk.BrowserLocation._at(self['@handle'].location);return self;} ,'accessing',unescape('location%0D%0A%09%22%20Return%20the%20Location%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EBrowserLocation%20@%20handle%23location')); smalltalk.bind(smalltalk.BrowserWindow,'opener','opener' ,function (){ var self=this; return smalltalk.BrowserWindow._at(self['@handle'].opener);return self;} ,'accessing',unescape('opener%0D%0A%09%22%20Return%20the%20window%20that%20created%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EBrowserWindow%20@%20handle%23opener')); smalltalk.bind(smalltalk.BrowserWindow,'parent','parent' ,function (){ var self=this; return smalltalk.BrowserWindow._at(self['@handle'].parent);return self;} ,'accessing',unescape('parent%0D%0A%09%22%20Return%20the%20parent%20window%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EBrowserWindow%20@%20handle%23parent')); smalltalk.bind(smalltalk.BrowserWindow,'top','top' ,function (){ var self=this; return smalltalk.BrowserWindow._at(self['@handle'].top);return self;} ,'accessing',unescape('top%0D%0A%09%22%20Return%20the%20topmost%20window%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EBrowserWindow%20@%20handle%23top')); smalltalk.bind(smalltalk.BrowserWindow,'status:','status_' ,function (aStatus){ var self=this; self['@handle'].status=aStatus;return self;} ,'accessing',unescape('status%3A%20aStatus%0D%0A%09%22%20Set%20the%20text%20in%20the%20status%20bar%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23status%20%3A%3D%20aStatus')); smalltalk.bind(smalltalk.BrowserWindow,'alert:','alert_' ,function (message){ var self=this; return self['@handle'].alert(message);return self;} ,'navigation',unescape('alert%3A%20message%0D%0A%09%22%20Display%20an%20alert%20box%20with%20a%20specified%20message%20and%20an%20OK%20button.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23alert%3A%20message')); smalltalk.bind(smalltalk.BrowserWindow,'blur','blur' ,function (){ var self=this; return self['@handle'].blur();return self;} ,'navigation',unescape('blur%0D%0A%09%22%20Remove%20focus%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20blur')); smalltalk.bind(smalltalk.BrowserWindow,'clearInterval:','clearInterval_' ,function (id){ var self=this; return self['@handle'].clearInterval(id);return self;} ,'navigation',unescape('clearInterval%3A%20id%0D%0A%09%22%20Clear%20the%20timer%20interval.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23clearInterval%3A%20id')); smalltalk.bind(smalltalk.BrowserWindow,'clearTimeout:','clearTimeout_' ,function (id){ var self=this; return self['@handle'].clearTimeout(id);return self;} ,'navigation',unescape('clearTimeout%3A%20id%0D%0A%09%22%20Clear%20the%20timer%20interval.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23clearTimeout%3A%20id')); smalltalk.bind(smalltalk.BrowserWindow,'setInterval:with:lang:','setInterval_with_lang_' ,function (code,milliseconds,lang){ var self=this; return self['@handle'].setInterval(code, milliseconds, lang);return self;} ,'navigation',unescape('setInterval%3A%20code%20with%3A%20milliseconds%20lang%3A%20lang%0D%0A%09%22%20Set%20the%20timer%20interval.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23setInterval%3A%20code%20with%3A%20milliseconds%20with%3A%20lang')); smalltalk.bind(smalltalk.BrowserWindow,'setInterval:with:','setInterval_with_' ,function (code,milliseconds){ var self=this; return self['@handle'].setInterval(code, milliseconds);return self;} ,'navigation',unescape('setInterval%3A%20code%20with%3A%20milliseconds%0D%0A%09%22%20Set%20the%20timer%20interval.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23setInterval%3A%20code%20with%3A%20milliseconds')); smalltalk.bind(smalltalk.BrowserWindow,'setTimeout:with:lang:','setTimeout_with_lang_' ,function (code,milliseconds,lang){ var self=this; return self['@handle'].setTimeout(code, milliseconds, lang);return self;} ,'navigation',unescape('setTimeout%3A%20code%20with%3A%20milliseconds%20lang%3A%20lang%0D%0A%09%22%20Set%20the%20timer%20interval.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23setTimeout%3A%20code%20with%3A%20milliseconds%20with%3A%20lang')); smalltalk.bind(smalltalk.BrowserWindow,'setTimeout:with:','setTimeout_with_' ,function (code,milliseconds){ var self=this; return self['@handle'].setTimeout(code, milliseconds);return self;} ,'navigation',unescape('setTimeout%3A%20code%20with%3A%20milliseconds%0D%0A%09%22%20Set%20the%20timer%20interval.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23setTimeout%3A%20code%20with%3A%20milliseconds')); smalltalk.bind(smalltalk.BrowserWindow,'close','close' ,function (){ var self=this; return self['@handle'].close();return self;} ,'navigation',unescape('close%0D%0A%09%22%20Close%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20close')); smalltalk.bind(smalltalk.BrowserWindow,'confirm:','confirm_' ,function (message){ var self=this; return self['@handle'].confirm(message);return self;} ,'navigation',unescape('confirm%3A%20message%0D%0A%09%22%20Open%20a%20confirmation%20box.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23confirm%3A%20message')); smalltalk.bind(smalltalk.BrowserWindow,'focus','focus' ,function (){ var self=this; return self['@handle'].focus();return self;} ,'navigation',unescape('focus%0D%0A%09%22%20Set%20the%20focus%20on%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20focus')); smalltalk.bind(smalltalk.BrowserWindow,'moveBy:y:','moveBy_y_' ,function (x,y){ var self=this; return self['@handle'].moveBy(x, y);return self;} ,'navigation',unescape('moveBy%3A%20x%20y%3A%20y%0D%0A%09%22%20Move%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23moveBy%3A%20x%20y%3A%20y')); smalltalk.bind(smalltalk.BrowserWindow,'moveTo:y:','moveTo_y_' ,function (x,y){ var self=this; return self['@handle'].moveTo(x, y);return self;} ,'navigation',unescape('moveTo%3A%20x%20y%3A%20y%0D%0A%09%22%20Move%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23moveTo%3A%20x%20y%3A%20y')); smalltalk.bind(smalltalk.BrowserWindow,'resizeBy:y:','resizeBy_y_' ,function (x,y){ var self=this; return self['@handle'].resizeBy(x, y);return self;} ,'navigation',unescape('resizeBy%3A%20x%20y%3A%20y%0D%0A%09%22%20Resize%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23resizeBy%3A%20x%20y%3A%20y')); smalltalk.bind(smalltalk.BrowserWindow,'resizeTo:y:','resizeTo_y_' ,function (x,y){ var self=this; return self['@handle'].resizeTo(x, y);return self;} ,'navigation',unescape('resizeTo%3A%20x%20y%3A%20y%0D%0A%09%22%20Resize%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23resizeTo%3A%20x%20y%3A%20y')); smalltalk.bind(smalltalk.BrowserWindow,'scrollBy:y:','scrollBy_y_' ,function (x,y){ var self=this; return self['@handle'].scrollBy(x, y);return self;} ,'navigation',unescape('scrollBy%3A%20x%20y%3A%20y%0D%0A%09%22%20Scroll%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23scrollBy%3A%20x%20y%3A%20y')); smalltalk.bind(smalltalk.BrowserWindow,'scrollTo:y:','scrollTo_y_' ,function (x,y){ var self=this; return self['@handle'].scrollTo(x, y);return self;} ,'navigation',unescape('scrollTo%3A%20x%20y%3A%20y%0D%0A%09%22%20Scroll%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23scrollTo%3A%20x%20y%3A%20y')); smalltalk.bind(smalltalk.BrowserWindow,'moveBy:','moveBy_' ,function (aPoint){ var self=this; return self['@handle'].moveBy(aPoint.x(), aPoint.y());return self;} ,'navigation',unescape('moveBy%3A%20aPoint%0D%0A%09%22%20Move%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23moveBy%3A%20aPoint%20x%20y%3A%20aPoint%20y')); smalltalk.bind(smalltalk.BrowserWindow,'moveTo:','moveTo_' ,function (aPoint){ var self=this; return self['@handle'].moveTo(aPoint.x(), aPoint.y());return self;} ,'navigation',unescape('moveTo%3A%20aPoint%0D%0A%09%22%20Move%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23moveTo%3A%20aPoint%20x%20y%3A%20aPoint%20y')); smalltalk.bind(smalltalk.BrowserWindow,'resizeBy:','resizeBy_' ,function (aPoint){ var self=this; return self['@handle'].resizeBy(aPoint.x(), aPoint.y());return self;} ,'navigation',unescape('resizeBy%3A%20aPoint%0D%0A%09%22%20Resize%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23resizeBy%3A%20aPoint%20x%20y%3A%20aPoint%20y')); smalltalk.bind(smalltalk.BrowserWindow,'resizeTo:','resizeTo_' ,function (aPoint){ var self=this; return self['@handle'].resizeTo(aPoint.x(), aPoint.y());return self;} ,'navigation',unescape('resizeTo%3A%20aPoint%0D%0A%09%22%20Resize%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23resizeTo%3A%20aPoint%20x%20y%3A%20aPoint%20y')); smalltalk.bind(smalltalk.BrowserWindow,'scrollBy:','scrollBy_' ,function (aPoint){ var self=this; return self['@handle'].scrollBy(aPoint.x(), aPoint.y());return self;} ,'navigation',unescape('scrollBy%3A%20aPoint%0D%0A%09%22%20Scroll%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23scrollBy%3A%20aPoint%20x%20y%3A%20aPoint%20y')); smalltalk.bind(smalltalk.BrowserWindow,'scrollTo:','scrollTo_' ,function (aPoint){ var self=this; return self['@handle'].scrollTo(aPoint.x(), aPoint.y());return self;} ,'navigation',unescape('scrollTo%3A%20aPoint%0D%0A%09%22%20Scroll%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23scrollTo%3A%20aPoint%20x%20y%3A%20aPoint%20y')); smalltalk.bind(smalltalk.BrowserWindow,'open:name:specs:replace:','open_name_specs_replace_' ,function (url,name,specs,replace){ var self=this; return smalltalk.BrowserWindow._at(self['@handle'].open(url, name, specs, replace));return self;} ,'navigation',unescape('open%3A%20url%20name%3A%20name%20specs%3A%20specs%20replace%3A%20replace%0D%0A%09%22%20Opens%20a%20new%20browser%20window.%0D%0A%09More%20information%20at%20http%3A//www.w3schools.com/jsref/met_win_open.asp%0D%0A%09%22%0D%0A%0D%0A%09%5EBrowserWindow%20@%20%28handle%20%23open%3A%20url%20name%3A%20name%20specs%3A%20specs%20replace%3A%20replace%29')); smalltalk.bind(smalltalk.BrowserWindow,'open:name:specs:','open_name_specs_' ,function (url,name,specs){ var self=this; return smalltalk.BrowserWindow._at(self['@handle'].open(url, name, specs));return self;} ,'navigation',unescape('open%3A%20url%20name%3A%20name%20specs%3A%20specs%0D%0A%09%22%20Opens%20a%20new%20browser%20window.%0D%0A%09More%20information%20at%20http%3A//www.w3schools.com/jsref/met_win_open.asp%0D%0A%09%22%0D%0A%0D%0A%09%5EBrowserWindow%20@%20%28handle%20%23open%3A%20url%20name%3A%20name%20specs%3A%20specs%29')); smalltalk.bind(smalltalk.BrowserWindow,'open:name:','open_name_' ,function (url,name){ var self=this; return smalltalk.BrowserWindow._at(self['@handle'].open(url, name));return self;} ,'navigation',unescape('open%3A%20url%20name%3A%20name%0D%0A%09%22%20Opens%20a%20new%20browser%20window.%0D%0A%09More%20information%20at%20http%3A//www.w3schools.com/jsref/met_win_open.asp%0D%0A%09%22%0D%0A%0D%0A%09%5EBrowserWindow%20@%20%28handle%20%23open%3A%20url%20name%3A%20name%29')); smalltalk.bind(smalltalk.BrowserWindow,'open:','open_' ,function (url){ var self=this; return smalltalk.BrowserWindow._at(self['@handle'].open(url));return self;} ,'navigation',unescape('open%3A%20url%0D%0A%09%22%20Opens%20a%20new%20browser%20window.%0D%0A%09More%20information%20at%20http%3A//www.w3schools.com/jsref/met_win_open.asp%0D%0A%09%22%0D%0A%0D%0A%09%5EBrowserWindow%20@%20%28handle%20%23open%3A%20url%29')); smalltalk.bind(smalltalk.BrowserWindow,'open','open' ,function (){ var self=this; return smalltalk.BrowserWindow._at(self['@handle'].open());return self;} ,'navigation',unescape('open%0D%0A%09%22%20Opens%20a%20new%20browser%20window.%0D%0A%09More%20information%20at%20http%3A//www.w3schools.com/jsref/met_win_open.asp%0D%0A%09%22%0D%0A%0D%0A%09%5EBrowserWindow%20@%20handle%20open')); smalltalk.bind(smalltalk.BrowserWindow,'print','print' ,function (){ var self=this; return self['@handle'].print();return self;} ,'navigation',unescape('print%0D%0A%09%22%20Print%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20print')); smalltalk.bind(smalltalk.BrowserWindow,'prompt:defaultText:','prompt_defaultText_' ,function (message,text){ var self=this; return self['@handle'].prompt(message, text);return self;} ,'navigation',unescape('prompt%3A%20message%20defaultText%3A%20text%0D%0A%09%22%20Open%20a%20Prompter.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23prompt%3A%20message%20defaultText%3A%20text')); smalltalk.bind(smalltalk.BrowserWindow,'prompt:','prompt_' ,function (message){ var self=this; return self['@handle'].prompt(message);return self;} ,'navigation',unescape('prompt%3A%20message%0D%0A%09%22%20Open%20a%20Prompter.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23prompt%3A%20message')); smalltalk.bind(smalltalk.BrowserHistory.$klass,'default','$$default' ,function (){ var self=this; return self._at(history);return self;} ,'accessing',unescape('default%0D%0A%09%22%20Return%20the%20default/global%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20@%20%23%7Bhistory%7D')); smalltalk.bind(smalltalk.BrowserHistory,'length','length' ,function (){ var self=this; return self['@handle'].length;return self;} ,'accessing',unescape('length%0D%0A%09%22%20Returns%20the%20number%20of%20URLs%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23length')); smalltalk.bind(smalltalk.BrowserHistory,'size','size' ,function (){ var self=this; return self.length();return self;} ,'accessing',unescape('size%0D%0A%09%22%20Returns%20the%20number%20of%20URLs%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20length')); smalltalk.bind(smalltalk.BrowserHistory,'back','back' ,function (){ var self=this; return self['@handle'].back();return self;} ,'navigation',unescape('back%0D%0A%09%22%20Load%20the%20previous%20URL%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20back')); smalltalk.bind(smalltalk.BrowserHistory,'forward','forward' ,function (){ var self=this; return self['@handle'].forward();return self;} ,'navigation',unescape('forward%0D%0A%09%22%20Load%20the%20next%20URL%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20forward')); smalltalk.bind(smalltalk.BrowserHistory,'next','next' ,function (){ var self=this; return self.forward();return self;} ,'navigation',unescape('next%0D%0A%09%22%20Load%20the%20next%20URL%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20forward')); smalltalk.bind(smalltalk.BrowserHistory,'go:','go_' ,function (location){ var self=this; return self['@handle'].go(location);return self;} ,'navigation',unescape('go%3A%20location%0D%0A%09%22%20Load%20the%20page%20in%20the%20receiver.%0D%0A%09The%20parameter%20can%20either%20be%20a%20number%20which%20goes%20to%20the%20URL%20within%20the%20specific%20position%20%28-1%20goes%20back%20one%20page%2C%201%20goes%20forward%20one%20page%29%2C%20or%20a%20string.%0D%0A%09The%20string%20must%20be%20a%20partial%20or%20full%20URL%2C%20and%20it%20will%20go%20to%20the%20first%20URL%20that%20matches%20the%20string.%0D%0A%09%22%0D%0A%0D%0A%09%5Ehandle%20%23go%3A%20location')); smalltalk.bind(smalltalk.BrowserLocation.$klass,'default','$$default' ,function (){ var self=this; return self._at(location);return self;} ,'accessing',unescape('default%0D%0A%09%22%20Return%20the%20default/global%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20@%20%23%7Blocation%7D')); smalltalk.bind(smalltalk.BrowserLocation,'hash','hash' ,function (){ var self=this; return self['@handle'].hash;return self;} ,'accessing',unescape('hash%0D%0A%09%22%20Return%20the%20hash%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23hash')); smalltalk.bind(smalltalk.BrowserLocation,'host','host' ,function (){ var self=this; return self['@handle'].host;return self;} ,'accessing',unescape('host%0D%0A%09%22%20Return%20the%20host%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23host')); smalltalk.bind(smalltalk.BrowserLocation,'hostname','hostname' ,function (){ var self=this; return self['@handle'].hostname;return self;} ,'accessing',unescape('hostname%0D%0A%09%22%20Return%20the%20hostname%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23hostname')); smalltalk.bind(smalltalk.BrowserLocation,'href','href' ,function (){ var self=this; return self['@handle'].href;return self;} ,'accessing',unescape('href%0D%0A%09%22%20Return%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23href')); smalltalk.bind(smalltalk.BrowserLocation,'pathname','pathname' ,function (){ var self=this; return self['@handle'].pathname;return self;} ,'accessing',unescape('pathname%0D%0A%09%22%20Return%20the%20pathname%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23pathname')); smalltalk.bind(smalltalk.BrowserLocation,'port','port' ,function (){ var self=this; return self['@handle'].port;return self;} ,'accessing',unescape('port%0D%0A%09%22%20Return%20the%20port%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23port')); smalltalk.bind(smalltalk.BrowserLocation,'protocol','protocol' ,function (){ var self=this; return self['@handle'].protocol;return self;} ,'accessing',unescape('protocol%0D%0A%09%22%20Return%20the%20protocol%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23protocol')); smalltalk.bind(smalltalk.BrowserLocation,'search','search' ,function (){ var self=this; return self['@handle'].search;return self;} ,'accessing',unescape('search%0D%0A%09%22%20Return%20the%20search%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23search')); smalltalk.bind(smalltalk.BrowserLocation,'assign:','assign_' ,function (url){ var self=this; return self['@handle'].assign(url);return self;} ,'navigation',unescape('assign%3A%20url%0D%0A%09%22%20Loads%20a%20new%20document.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23assign%3A%20url')); smalltalk.bind(smalltalk.BrowserLocation,'reload','reload' ,function (){ var self=this; return self['@handle'].reload();return self;} ,'navigation',unescape('reload%0D%0A%09%22%20Reload%20current%20document.%20%22%0D%0A%0D%0A%09%5Ehandle%20reload')); smalltalk.bind(smalltalk.BrowserLocation,'replace:','replace_' ,function (url){ var self=this; return self['@handle'].replace(url);return self;} ,'navigation',unescape('replace%3A%20url%0D%0A%09%22%20Replace%20with%20new%20document.%20%22%0D%0A%0D%0A%09%5Ehandle%20%23replace%3A%20url')); smalltalk.bind(smalltalk.BrowserNavigator.$klass,'default','$$default' ,function (){ var self=this; return self._at(navigator);return self;} ,'accessing',unescape('default%0D%0A%09%22%20Return%20the%20default/global%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20@%20%23%7Bnavigator%7D')); smalltalk.bind(smalltalk.BrowserNavigator,'appCodeName','appCodeName' ,function (){ var self=this; return self['@handle'].appCodeName;return self;} ,'accessing',unescape('appCodeName%0D%0A%09%22%20Return%20the%20appCodeName%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23appCodeName')); smalltalk.bind(smalltalk.BrowserNavigator,'appName','appName' ,function (){ var self=this; return self['@handle'].appName;return self;} ,'accessing',unescape('appName%0D%0A%09%22%20Return%20the%20appName%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23appName')); smalltalk.bind(smalltalk.BrowserNavigator,'appVersion','appVersion' ,function (){ var self=this; return self['@handle'].appVersion;return self;} ,'accessing',unescape('appVersion%0D%0A%09%22%20Return%20the%20appVersion%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23appVersion')); smalltalk.bind(smalltalk.BrowserNavigator,'platform','platform' ,function (){ var self=this; return self['@handle'].platform;return self;} ,'accessing',unescape('platform%0D%0A%09%22%20Return%20the%20platform%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23platform')); smalltalk.bind(smalltalk.BrowserNavigator,'userAgent','userAgent' ,function (){ var self=this; return self['@handle'].userAgent;return self;} ,'accessing',unescape('userAgent%0D%0A%09%22%20Return%20the%20userAgent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23userAgent')); smalltalk.bind(smalltalk.BrowserNavigator,'cookieEnabled','cookieEnabled' ,function (){ var self=this; return self['@handle'].cookieEnabled;return self;} ,'accessing',unescape('cookieEnabled%0D%0A%09%22%20Return%20the%20cookieEnabled%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cookieEnabled')); smalltalk.bind(smalltalk.BrowserNavigator,'javaEnabled','javaEnabled' ,function (){ var self=this; return self['@handle'].javaEnabled();return self;} ,'navigation',unescape('javaEnabled%0D%0A%09%22%20Specifies%20whether%20or%20not%20the%20browser%20has%20Java%20enabled.%20%22%0D%0A%0D%0A%09%5Ehandle%20javaEnabled')); smalltalk.bind(smalltalk.BrowserNavigator,'taintEnabled','taintEnabled' ,function (){ var self=this; return self['@handle'].taintEnabled();return self;} ,'navigation',unescape('taintEnabled%0D%0A%09%22%20Specifies%20whether%20or%20not%20the%20browser%20hashas%20data%20tainting%20enabled.%20%22%0D%0A%0D%0A%09%5Ehandle%20taintEnabled')); smalltalk.bind(smalltalk.BrowserScreen.$klass,'default','$$default' ,function (){ var self=this; return self._at(screen);return self;} ,'accessing',unescape('default%0D%0A%09%22%20Return%20the%20default/global%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20@%20%23%7Bscreen%7D')); smalltalk.bind(smalltalk.BrowserScreen,'width','width' ,function (){ var self=this; return self['@handle'].width;return self;} ,'accessing',unescape('width%0D%0A%09%22%20Return%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23width')); smalltalk.bind(smalltalk.BrowserScreen,'height','height' ,function (){ var self=this; return self['@handle'].height;return self;} ,'accessing',unescape('height%0D%0A%09%22%20Return%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23height')); smalltalk.bind(smalltalk.BrowserScreen,'pixelDepth','pixelDepth' ,function (){ var self=this; return self['@handle'].pixelDepth;return self;} ,'accessing',unescape('pixelDepth%0D%0A%09%22%20Return%20the%20pixelDepth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23pixelDepth')); smalltalk.bind(smalltalk.BrowserScreen,'colorDepth','colorDepth' ,function (){ var self=this; return self['@handle'].colorDepth;return self;} ,'accessing',unescape('colorDepth%0D%0A%09%22%20Return%20the%20colorDepth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23colorDepth')); smalltalk.bind(smalltalk.BrowserScreen,'availWidth','availWidth' ,function (){ var self=this; return self['@handle'].availWidth;return self;} ,'accessing',unescape('availWidth%0D%0A%09%22%20Return%20the%20availWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23availWidth')); smalltalk.bind(smalltalk.BrowserScreen,'availHeight','availHeight' ,function (){ var self=this; return self['@handle'].availHeight;return self;} ,'accessing',unescape('availHeight%0D%0A%09%22%20Return%20the%20availHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23availHeight')); smalltalk.bind(smalltalk.BrowserScreen,'avail','avail' ,function (){ var self=this; return self.availWidth()._at(self.availHeight());return self;} ,'measure',unescape('avail%0D%0A%09%22%20Return%20the%20extent%20of%20the%20receiver%20%28excluding%20taskbar%29.%20%22%0D%0A%0D%0A%09%5Eself%20availWidth%20@%20self%20availHeight')); smalltalk.bind(smalltalk.BrowserScreen,'extent','extent' ,function (){ var self=this; return self.width()._at(self.height());return self;} ,'measure',unescape('extent%0D%0A%09%22%20Return%20the%20extent%20of%20the%20receiver%20%28excluding%20taskbar%29.%20%22%0D%0A%0D%0A%09%5Eself%20width%20@%20self%20height')); smalltalk.bind(smalltalk.DOMAnchor.$klass,'tagName','tagName' ,function (){ var self=this; return "A";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27A%27')); smalltalk.bind(smalltalk.DOMAnchor,'charset','charset' ,function (){ var self=this; return self['@handle'].charset;return self;} ,'accessing',unescape('charset%0D%0A%09%22%20Return%20the%20charset%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23charset')); smalltalk.bind(smalltalk.DOMAnchor,'charset:','charset_' ,function (anObject){ var self=this; self['@handle'].charset=anObject;return self;} ,'accessing',unescape('charset%3A%20anObject%0D%0A%09%22%20Set%20the%20charset%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23charset%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMAnchor,'href','href' ,function (){ var self=this; return self['@handle'].href;return self;} ,'accessing',unescape('href%0D%0A%09%22%20Return%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23href')); smalltalk.bind(smalltalk.DOMAnchor,'href:','href_' ,function (anObject){ var self=this; self['@handle'].href=anObject;return self;} ,'accessing',unescape('href%3A%20anObject%0D%0A%09%22%20Set%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23href%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMAnchor,'hreflang','hreflang' ,function (){ var self=this; return self['@handle'].hreflang;return self;} ,'accessing',unescape('hreflang%0D%0A%09%22%20Return%20the%20hreflang%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23hreflang')); smalltalk.bind(smalltalk.DOMAnchor,'hreflang:','hreflang_' ,function (anObject){ var self=this; self['@handle'].hreflang=anObject;return self;} ,'accessing',unescape('hreflang%3A%20anObject%0D%0A%09%22%20Set%20the%20hreflang%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23hreflang%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMAnchor,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMAnchor,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMAnchor,'rel','rel' ,function (){ var self=this; return self['@handle'].rel;return self;} ,'accessing',unescape('rel%0D%0A%09%22%20Return%20the%20rel%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rel')); smalltalk.bind(smalltalk.DOMAnchor,'rel:','rel_' ,function (anObject){ var self=this; self['@handle'].rel=anObject;return self;} ,'accessing',unescape('rel%3A%20anObject%0D%0A%09%22%20Set%20the%20rel%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23rel%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMAnchor,'rev','rev' ,function (){ var self=this; return self['@handle'].rev;return self;} ,'accessing',unescape('rev%0D%0A%09%22%20Return%20the%20rev%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rev')); smalltalk.bind(smalltalk.DOMAnchor,'rev:','rev_' ,function (anObject){ var self=this; self['@handle'].rev=anObject;return self;} ,'accessing',unescape('rev%3A%20anObject%0D%0A%09%22%20Set%20the%20rev%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23rev%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMAnchor,'target','target' ,function (){ var self=this; return self['@handle'].target;return self;} ,'accessing',unescape('target%0D%0A%09%22%20Return%20the%20target%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23target')); smalltalk.bind(smalltalk.DOMAnchor,'target:','target_' ,function (anObject){ var self=this; self['@handle'].target=anObject;return self;} ,'accessing',unescape('target%3A%20anObject%0D%0A%09%22%20Set%20the%20target%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23target%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMAnchor,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMAnchor,'type:','type_' ,function (anObject){ var self=this; self['@handle'].type=anObject;return self;} ,'accessing',unescape('type%3A%20anObject%0D%0A%09%22%20Set%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23type%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea.$klass,'tagName','tagName' ,function (){ var self=this; return "AREA";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27AREA%27')); smalltalk.bind(smalltalk.DOMArea,'alt','alt' ,function (){ var self=this; return self['@handle'].alt;return self;} ,'accessing',unescape('alt%0D%0A%09%22%20Return%20the%20alt%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23alt')); smalltalk.bind(smalltalk.DOMArea,'alt:','alt_' ,function (anObject){ var self=this; self['@handle'].alt=anObject;return self;} ,'accessing',unescape('alt%3A%20anObject%0D%0A%09%22%20Set%20the%20alt%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23alt%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'coords','coords' ,function (){ var self=this; return self['@handle'].coords;return self;} ,'accessing',unescape('coords%0D%0A%09%22%20Return%20the%20coords%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23coords')); smalltalk.bind(smalltalk.DOMArea,'coords:','coords_' ,function (anObject){ var self=this; self['@handle'].coords=anObject;return self;} ,'accessing',unescape('coords%3A%20anObject%0D%0A%09%22%20Set%20the%20coords%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23coords%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'hash','hash' ,function (){ var self=this; return self['@handle'].hash;return self;} ,'accessing',unescape('hash%0D%0A%09%22%20Return%20the%20hash%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23hash')); smalltalk.bind(smalltalk.DOMArea,'hash:','hash_' ,function (anObject){ var self=this; self['@handle'].hash=anObject;return self;} ,'accessing',unescape('hash%3A%20anObject%0D%0A%09%22%20Set%20the%20hash%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23hash%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'host','host' ,function (){ var self=this; return self['@handle'].host;return self;} ,'accessing',unescape('host%0D%0A%09%22%20Return%20the%20host%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23host')); smalltalk.bind(smalltalk.DOMArea,'host:','host_' ,function (anObject){ var self=this; self['@handle'].host=anObject;return self;} ,'accessing',unescape('host%3A%20anObject%0D%0A%09%22%20Set%20the%20host%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23host%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'hostname','hostname' ,function (){ var self=this; return self['@handle'].hostname;return self;} ,'accessing',unescape('hostname%0D%0A%09%22%20Return%20the%20hostname%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23hostname')); smalltalk.bind(smalltalk.DOMArea,'hostname:','hostname_' ,function (anObject){ var self=this; self['@handle'].hostname=anObject;return self;} ,'accessing',unescape('hostname%3A%20anObject%0D%0A%09%22%20Set%20the%20hostname%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23hostname%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'href','href' ,function (){ var self=this; return self['@handle'].href;return self;} ,'accessing',unescape('href%0D%0A%09%22%20Return%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23href')); smalltalk.bind(smalltalk.DOMArea,'href:','href_' ,function (anObject){ var self=this; self['@handle'].href=anObject;return self;} ,'accessing',unescape('href%3A%20anObject%0D%0A%09%22%20Set%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23href%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'noHref','noHref' ,function (){ var self=this; return self['@handle'].noHref;return self;} ,'accessing',unescape('noHref%0D%0A%09%22%20Return%20the%20noHref%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23noHref')); smalltalk.bind(smalltalk.DOMArea,'noHref:','noHref_' ,function (anObject){ var self=this; self['@handle'].noHref=anObject;return self;} ,'accessing',unescape('noHref%3A%20anObject%0D%0A%09%22%20Set%20the%20noHref%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23noHref%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'pathname','pathname' ,function (){ var self=this; return self['@handle'].pathname;return self;} ,'accessing',unescape('pathname%0D%0A%09%22%20Return%20the%20pathname%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23pathname')); smalltalk.bind(smalltalk.DOMArea,'pathname:','pathname_' ,function (anObject){ var self=this; self['@handle'].pathname=anObject;return self;} ,'accessing',unescape('pathname%3A%20anObject%0D%0A%09%22%20Set%20the%20pathname%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23pathname%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'port','port' ,function (){ var self=this; return self['@handle'].port;return self;} ,'accessing',unescape('port%0D%0A%09%22%20Return%20the%20port%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23port')); smalltalk.bind(smalltalk.DOMArea,'port:','port_' ,function (anObject){ var self=this; self['@handle'].port=anObject;return self;} ,'accessing',unescape('port%3A%20anObject%0D%0A%09%22%20Set%20the%20port%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23port%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'protocol','protocol' ,function (){ var self=this; return self['@handle'].protocol;return self;} ,'accessing',unescape('protocol%0D%0A%09%22%20Return%20the%20protocol%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23protocol')); smalltalk.bind(smalltalk.DOMArea,'protocol:','protocol_' ,function (anObject){ var self=this; self['@handle'].protocol=anObject;return self;} ,'accessing',unescape('protocol%3A%20anObject%0D%0A%09%22%20Set%20the%20protocol%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23protocol%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'search','search' ,function (){ var self=this; return self['@handle'].search;return self;} ,'accessing',unescape('search%0D%0A%09%22%20Return%20the%20search%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23search')); smalltalk.bind(smalltalk.DOMArea,'search:','search_' ,function (anObject){ var self=this; self['@handle'].search=anObject;return self;} ,'accessing',unescape('search%3A%20anObject%0D%0A%09%22%20Set%20the%20search%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23search%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'shape','shape' ,function (){ var self=this; return self['@handle'].shape;return self;} ,'accessing',unescape('shape%0D%0A%09%22%20Return%20the%20shape%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23shape')); smalltalk.bind(smalltalk.DOMArea,'shape:','shape_' ,function (anObject){ var self=this; self['@handle'].shape=anObject;return self;} ,'accessing',unescape('shape%3A%20anObject%0D%0A%09%22%20Set%20the%20shape%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23shape%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMArea,'target','target' ,function (){ var self=this; return self['@handle'].target;return self;} ,'accessing',unescape('target%0D%0A%09%22%20Return%20the%20target%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23target')); smalltalk.bind(smalltalk.DOMArea,'target:','target_' ,function (anObject){ var self=this; self['@handle'].target=anObject;return self;} ,'accessing',unescape('target%3A%20anObject%0D%0A%09%22%20Set%20the%20target%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23target%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMBase.$klass,'tagName','tagName' ,function (){ var self=this; return "BASE";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27BASE%27')); smalltalk.bind(smalltalk.DOMBase,'href','href' ,function (){ var self=this; return self['@handle'].href;return self;} ,'accessing',unescape('href%0D%0A%09%22%20Return%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23href')); smalltalk.bind(smalltalk.DOMBase,'href:','href_' ,function (anObject){ var self=this; self['@handle'].href=anObject;return self;} ,'accessing',unescape('href%3A%20anObject%0D%0A%09%22%20Set%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23href%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMBase,'target','target' ,function (){ var self=this; return self['@handle'].target;return self;} ,'accessing',unescape('target%0D%0A%09%22%20Return%20the%20target%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23target')); smalltalk.bind(smalltalk.DOMBase,'target:','target_' ,function (anObject){ var self=this; self['@handle'].target=anObject;return self;} ,'accessing',unescape('target%3A%20anObject%0D%0A%09%22%20Set%20the%20target%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23target%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMBody.$klass,'tagName','tagName' ,function (){ var self=this; return "BODY";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27BODY%27')); smalltalk.bind(smalltalk.DOMBody,'aLink','aLink' ,function (){ var self=this; return self['@handle'].aLink;return self;} ,'accessing',unescape('aLink%0D%0A%09%22%20Return%20the%20aLink%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23aLink')); smalltalk.bind(smalltalk.DOMBody,'aLink:','aLink_' ,function (anObject){ var self=this; self['@handle'].aLink=anObject;return self;} ,'accessing',unescape('aLink%3A%20anObject%0D%0A%09%22%20Set%20the%20aLink%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23aLink%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMBody,'background','background' ,function (){ var self=this; return self['@handle'].background;return self;} ,'accessing',unescape('background%0D%0A%09%22%20Return%20the%20background%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23background')); smalltalk.bind(smalltalk.DOMBody,'background:','background_' ,function (anObject){ var self=this; self['@handle'].background=anObject;return self;} ,'accessing',unescape('background%3A%20anObject%0D%0A%09%22%20Set%20the%20background%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23background%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMBody,'bgColor','bgColor' ,function (){ var self=this; return self['@handle'].bgColor;return self;} ,'accessing',unescape('bgColor%0D%0A%09%22%20Return%20the%20bgColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23bgColor')); smalltalk.bind(smalltalk.DOMBody,'bgColor:','bgColor_' ,function (anObject){ var self=this; self['@handle'].bgColor=anObject;return self;} ,'accessing',unescape('bgColor%3A%20anObject%0D%0A%09%22%20Set%20the%20bgColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23bgColor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMBody,'link','link' ,function (){ var self=this; return self['@handle'].link;return self;} ,'accessing',unescape('link%0D%0A%09%22%20Return%20the%20link%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23link')); smalltalk.bind(smalltalk.DOMBody,'link:','link_' ,function (anObject){ var self=this; self['@handle'].link=anObject;return self;} ,'accessing',unescape('link%3A%20anObject%0D%0A%09%22%20Set%20the%20link%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23link%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMBody,'text','text' ,function (){ var self=this; return self['@handle'].text;return self;} ,'accessing',unescape('text%0D%0A%09%22%20Return%20the%20text%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23text')); smalltalk.bind(smalltalk.DOMBody,'text:','text_' ,function (anObject){ var self=this; self['@handle'].text=anObject;return self;} ,'accessing',unescape('text%3A%20anObject%0D%0A%09%22%20Set%20the%20text%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23text%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMBody,'vLink','vLink' ,function (){ var self=this; return self['@handle'].vLink;return self;} ,'accessing',unescape('vLink%0D%0A%09%22%20Return%20the%20vLink%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23vLink')); smalltalk.bind(smalltalk.DOMBody,'vLink:','vLink_' ,function (anObject){ var self=this; self['@handle'].vLink=anObject;return self;} ,'accessing',unescape('vLink%3A%20anObject%0D%0A%09%22%20Set%20the%20vLink%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23vLink%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMButton.$klass,'tagName','tagName' ,function (){ var self=this; return "BUTTON";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27BUTTON%27')); smalltalk.bind(smalltalk.DOMButton,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMButton,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMButton,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMButton,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMButton,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMButton,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMForm.$klass,'tagName','tagName' ,function (){ var self=this; return "FORM";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27FORM%27')); smalltalk.bind(smalltalk.DOMForm,'acceptCharset','acceptCharset' ,function (){ var self=this; return self['@handle'].acceptCharset;return self;} ,'accessing',unescape('acceptCharset%0D%0A%09%22%20Return%20the%20acceptCharset%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23acceptCharset')); smalltalk.bind(smalltalk.DOMForm,'acceptCharset:','acceptCharset_' ,function (anObject){ var self=this; self['@handle'].acceptCharset=anObject;return self;} ,'accessing',unescape('acceptCharset%3A%20anObject%0D%0A%09%22%20Set%20the%20acceptCharset%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23acceptCharset%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMForm,'action','action' ,function (){ var self=this; return self['@handle'].action;return self;} ,'accessing',unescape('action%0D%0A%09%22%20Return%20the%20action%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23action')); smalltalk.bind(smalltalk.DOMForm,'action:','action_' ,function (anObject){ var self=this; self['@handle'].action=anObject;return self;} ,'accessing',unescape('action%3A%20anObject%0D%0A%09%22%20Set%20the%20action%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23action%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMForm,'enctype','enctype' ,function (){ var self=this; return self['@handle'].enctype;return self;} ,'accessing',unescape('enctype%0D%0A%09%22%20Return%20the%20enctype%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23enctype')); smalltalk.bind(smalltalk.DOMForm,'enctype:','enctype_' ,function (anObject){ var self=this; self['@handle'].enctype=anObject;return self;} ,'accessing',unescape('enctype%3A%20anObject%0D%0A%09%22%20Set%20the%20enctype%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23enctype%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMForm,'method','method' ,function (){ var self=this; return self['@handle'].method;return self;} ,'accessing',unescape('method%0D%0A%09%22%20Return%20the%20method%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23method')); smalltalk.bind(smalltalk.DOMForm,'method:','method_' ,function (anObject){ var self=this; self['@handle'].method=anObject;return self;} ,'accessing',unescape('method%3A%20anObject%0D%0A%09%22%20Set%20the%20method%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23method%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMForm,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMForm,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMForm,'target','target' ,function (){ var self=this; return self['@handle'].target;return self;} ,'accessing',unescape('target%0D%0A%09%22%20Return%20the%20target%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23target')); smalltalk.bind(smalltalk.DOMForm,'target:','target_' ,function (anObject){ var self=this; self['@handle'].target=anObject;return self;} ,'accessing',unescape('target%3A%20anObject%0D%0A%09%22%20Set%20the%20target%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23target%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMForm,'length','length' ,function (){ var self=this; return self['@handle'].length;return self;} ,'accessing',unescape('length%0D%0A%09%22%20Return%20the%20length%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23length')); smalltalk.bind(smalltalk.DOMForm,'elements','elements' ,function (){ var self=this; return self.array_of_(self['@handle'].elements, smalltalk.DOMElement);return self;} ,'accessing',unescape('elements%0D%0A%09%22%20Return%20the%20elements%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23elements%20of%3A%20DOMElement')); smalltalk.bind(smalltalk.DOMForm,'elementAt:','elementAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].elements, smalltalk.DOMElement, index);return self;} ,'accessing',unescape('elementAt%3A%20index%0D%0A%09%22%20Return%20the%20element%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23elements%20of%3A%20DOMElement%20at%3A%20index')); smalltalk.bind(smalltalk.DOMForm,'elementsDo:','elementsDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].elements, smalltalk.DOMElement, aBlock);return self;} ,'accessing',unescape('elementsDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20elements%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23elements%20of%3A%20DOMElement%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMForm,'reset','reset' ,function (){ var self=this; return self['@handle'].reset();return self;} ,'accessing',unescape('reset%0D%0A%09%22%20Reset%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20reset')); smalltalk.bind(smalltalk.DOMForm,'submit','submit' ,function (){ var self=this; return self['@handle'].submit();return self;} ,'accessing',unescape('submit%0D%0A%09%22%20Submit%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%20submit')); smalltalk.bind(smalltalk.DOMFrame.$klass,'tagName','tagName' ,function (){ var self=this; return "FRAME";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27FRAME%27')); smalltalk.bind(smalltalk.DOMFrame,'align','align' ,function (){ var self=this; return self['@handle'].align;return self;} ,'accessing',unescape('align%0D%0A%09%22%20Return%20the%20align%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23align')); smalltalk.bind(smalltalk.DOMFrame,'align:','align_' ,function (anObject){ var self=this; self['@handle'].align=anObject;return self;} ,'accessing',unescape('align%3A%20anObject%0D%0A%09%22%20Set%20the%20align%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23align%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'frameBorder','frameBorder' ,function (){ var self=this; return self['@handle'].frameBorder;return self;} ,'accessing',unescape('frameBorder%0D%0A%09%22%20Return%20the%20frameBorder%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23frameBorder')); smalltalk.bind(smalltalk.DOMFrame,'frameBorder:','frameBorder_' ,function (anObject){ var self=this; self['@handle'].frameBorder=anObject;return self;} ,'accessing',unescape('frameBorder%3A%20anObject%0D%0A%09%22%20Set%20the%20frameBorder%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23frameBorder%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'height','height' ,function (){ var self=this; return self['@handle'].height;return self;} ,'accessing',unescape('height%0D%0A%09%22%20Return%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23height')); smalltalk.bind(smalltalk.DOMFrame,'height:','height_' ,function (anObject){ var self=this; self['@handle'].height=anObject;return self;} ,'accessing',unescape('height%3A%20anObject%0D%0A%09%22%20Set%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23height%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'longDesc','longDesc' ,function (){ var self=this; return self['@handle'].longDesc;return self;} ,'accessing',unescape('longDesc%0D%0A%09%22%20Return%20the%20longDesc%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23longDesc')); smalltalk.bind(smalltalk.DOMFrame,'longDesc:','longDesc_' ,function (anObject){ var self=this; self['@handle'].longDesc=anObject;return self;} ,'accessing',unescape('longDesc%3A%20anObject%0D%0A%09%22%20Set%20the%20longDesc%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23longDesc%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'marginHeight','marginHeight' ,function (){ var self=this; return self['@handle'].marginHeight;return self;} ,'accessing',unescape('marginHeight%0D%0A%09%22%20Return%20the%20marginHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23marginHeight')); smalltalk.bind(smalltalk.DOMFrame,'marginHeight:','marginHeight_' ,function (anObject){ var self=this; self['@handle'].marginHeight=anObject;return self;} ,'accessing',unescape('marginHeight%3A%20anObject%0D%0A%09%22%20Set%20the%20marginHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23marginHeight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'marginWidth','marginWidth' ,function (){ var self=this; return self['@handle'].marginWidth;return self;} ,'accessing',unescape('marginWidth%0D%0A%09%22%20Return%20the%20marginWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23marginWidth')); smalltalk.bind(smalltalk.DOMFrame,'marginWidth:','marginWidth_' ,function (anObject){ var self=this; self['@handle'].marginWidth=anObject;return self;} ,'accessing',unescape('marginWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20marginWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23marginWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMFrame,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'noResize','noResize' ,function (){ var self=this; return self['@handle'].noResize;return self;} ,'accessing',unescape('noResize%0D%0A%09%22%20Return%20the%20noResize%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23noResize')); smalltalk.bind(smalltalk.DOMFrame,'noResize:','noResize_' ,function (anObject){ var self=this; self['@handle'].noResize=anObject;return self;} ,'accessing',unescape('noResize%3A%20anObject%0D%0A%09%22%20Set%20the%20noResize%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23noResize%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'scrolling','scrolling' ,function (){ var self=this; return self['@handle'].scrolling;return self;} ,'accessing',unescape('scrolling%0D%0A%09%22%20Return%20the%20scrolling%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23scrolling')); smalltalk.bind(smalltalk.DOMFrame,'scrolling:','scrolling_' ,function (anObject){ var self=this; self['@handle'].scrolling=anObject;return self;} ,'accessing',unescape('scrolling%3A%20anObject%0D%0A%09%22%20Set%20the%20scrolling%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23scrolling%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'src','src' ,function (){ var self=this; return self['@handle'].src;return self;} ,'accessing',unescape('src%0D%0A%09%22%20Return%20the%20src%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23src')); smalltalk.bind(smalltalk.DOMFrame,'src:','src_' ,function (anObject){ var self=this; self['@handle'].src=anObject;return self;} ,'accessing',unescape('src%3A%20anObject%0D%0A%09%22%20Set%20the%20src%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23src%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'width','width' ,function (){ var self=this; return self['@handle'].width;return self;} ,'accessing',unescape('width%0D%0A%09%22%20Return%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23width')); smalltalk.bind(smalltalk.DOMFrame,'width:','width_' ,function (anObject){ var self=this; self['@handle'].width=anObject;return self;} ,'accessing',unescape('width%3A%20anObject%0D%0A%09%22%20Set%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23width%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrame,'extent','extent' ,function (){ var self=this; return self.width()._at(self.height());return self;} ,'accessing',unescape('extent%0D%0A%09%22%20Returns%20the%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20width%20@%20self%20height')); smalltalk.bind(smalltalk.DOMFrame,'extent:','extent_' ,function (aPoint){ var self=this; (function($rec){$rec.width_(aPoint.x());return $rec.height_(aPoint.y());})(self);return self;} ,'accessing',unescape('extent%3A%20aPoint%0D%0A%09%22%20Set%20the%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20width%3A%20aPoint%20x%3B%20height%3A%20aPoint%20y')); smalltalk.bind(smalltalk.DOMFrame,'marginExtent','marginExtent' ,function (){ var self=this; return self.marginWidth()._at(self.marginHeight());return self;} ,'accessing',unescape('marginExtent%0D%0A%09%22%20Returns%20the%20extent%20of%20margin%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20marginWidth%20@%20self%20marginHeight')); smalltalk.bind(smalltalk.DOMFrame,'marginExtent:','marginExtent_' ,function (aPoint){ var self=this; (function($rec){$rec.marginWidth_(aPoint.x());return $rec.marginHeight_(aPoint.y());})(self);return self;} ,'accessing',unescape('marginExtent%3A%20aPoint%0D%0A%09%22%20Set%20the%20extent%20of%20margin%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20marginWidth%3A%20aPoint%20x%3B%20marginHeight%3A%20aPoint%20y')); smalltalk.bind(smalltalk.DOMFrame,'contentDocument','contentDocument' ,function (){ var self=this; return smalltalk.DOMDocument._at(self['@handle'].contentDocument);return self;} ,'accessing',unescape('contentDocument%0D%0A%09%22%20Returns%20the%20document%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMDocument%20@%20handle%23contentDocument')); smalltalk.bind(smalltalk.DOMFrame,'contentWindow','contentWindow' ,function (){ var self=this; return smalltalk.DOMWindow._at(self['@handle'].contentWindow);return self;} ,'accessing',unescape('contentWindow%0D%0A%09%22%20Returns%20the%20window%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMWindow%20@%20handle%23contentWindow')); smalltalk.bind(smalltalk.DOMFrameset.$klass,'tagName','tagName' ,function (){ var self=this; return "FRAMESET";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27FRAMESET%27')); smalltalk.bind(smalltalk.DOMFrameset,'cols','cols' ,function (){ var self=this; return self['@handle'].cols;return self;} ,'accessing',unescape('cols%0D%0A%09%22%20Return%20the%20cols%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cols')); smalltalk.bind(smalltalk.DOMFrameset,'cols:','cols_' ,function (anObject){ var self=this; self['@handle'].cols=anObject;return self;} ,'accessing',unescape('cols%3A%20anObject%0D%0A%09%22%20Set%20the%20cols%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23cols%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrameset,'rows','rows' ,function (){ var self=this; return self['@handle'].rows;return self;} ,'accessing',unescape('rows%0D%0A%09%22%20Return%20the%20rows%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rows')); smalltalk.bind(smalltalk.DOMFrameset,'rows:','rows_' ,function (anObject){ var self=this; self['@handle'].rows=anObject;return self;} ,'accessing',unescape('rows%3A%20anObject%0D%0A%09%22%20Set%20the%20rows%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23rows%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMFrameset,'complete','complete' ,function (){ var self=this; return self['@handle'].complete;return self;} ,'accessing',unescape('complete%0D%0A%09%22%20Return%20the%20complete%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23complete')); smalltalk.bind(smalltalk.DOMImage.$klass,'tagName','tagName' ,function (){ var self=this; return "IMG";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27IMG%27')); smalltalk.bind(smalltalk.DOMImage,'align','align' ,function (){ var self=this; return self['@handle'].align;return self;} ,'accessing',unescape('align%0D%0A%09%22%20Return%20the%20align%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23align')); smalltalk.bind(smalltalk.DOMImage,'align:','align_' ,function (anObject){ var self=this; self['@handle'].align=anObject;return self;} ,'accessing',unescape('align%3A%20anObject%0D%0A%09%22%20Set%20the%20align%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23align%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'alt','alt' ,function (){ var self=this; return self['@handle'].alt;return self;} ,'accessing',unescape('alt%0D%0A%09%22%20Return%20the%20alt%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23alt')); smalltalk.bind(smalltalk.DOMImage,'alt:','alt_' ,function (anObject){ var self=this; self['@handle'].alt=anObject;return self;} ,'accessing',unescape('alt%3A%20anObject%0D%0A%09%22%20Set%20the%20alt%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23alt%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'border','border' ,function (){ var self=this; return self['@handle'].border;return self;} ,'accessing',unescape('border%0D%0A%09%22%20Return%20the%20border%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23border')); smalltalk.bind(smalltalk.DOMImage,'border:','border_' ,function (anObject){ var self=this; self['@handle'].border=anObject;return self;} ,'accessing',unescape('border%3A%20anObject%0D%0A%09%22%20Set%20the%20border%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23border%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'height','height' ,function (){ var self=this; return self['@handle'].height;return self;} ,'accessing',unescape('height%0D%0A%09%22%20Return%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23height')); smalltalk.bind(smalltalk.DOMImage,'height:','height_' ,function (anObject){ var self=this; self['@handle'].height=anObject;return self;} ,'accessing',unescape('height%3A%20anObject%0D%0A%09%22%20Set%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23height%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'hspace','hspace' ,function (){ var self=this; return self['@handle'].hspace;return self;} ,'accessing',unescape('hspace%0D%0A%09%22%20Return%20the%20hspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23hspace')); smalltalk.bind(smalltalk.DOMImage,'hspace:','hspace_' ,function (anObject){ var self=this; self['@handle'].hspace=anObject;return self;} ,'accessing',unescape('hspace%3A%20anObject%0D%0A%09%22%20Set%20the%20hspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23hspace%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'longDesc','longDesc' ,function (){ var self=this; return self['@handle'].longDesc;return self;} ,'accessing',unescape('longDesc%0D%0A%09%22%20Return%20the%20longDesc%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23longDesc')); smalltalk.bind(smalltalk.DOMImage,'longDesc:','longDesc_' ,function (anObject){ var self=this; self['@handle'].longDesc=anObject;return self;} ,'accessing',unescape('longDesc%3A%20anObject%0D%0A%09%22%20Set%20the%20longDesc%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23longDesc%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'lowscr','lowscr' ,function (){ var self=this; return self['@handle'].lowscr;return self;} ,'accessing',unescape('lowscr%0D%0A%09%22%20Return%20the%20lowscr%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23lowscr')); smalltalk.bind(smalltalk.DOMImage,'lowscr:','lowscr_' ,function (anObject){ var self=this; self['@handle'].lowscr=anObject;return self;} ,'accessing',unescape('lowscr%3A%20anObject%0D%0A%09%22%20Set%20the%20lowscr%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23lowscr%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMImage,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'src','src' ,function (){ var self=this; return self['@handle'].src;return self;} ,'accessing',unescape('src%0D%0A%09%22%20Return%20the%20src%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23src')); smalltalk.bind(smalltalk.DOMImage,'src:','src_' ,function (anObject){ var self=this; self['@handle'].src=anObject;return self;} ,'accessing',unescape('src%3A%20anObject%0D%0A%09%22%20Set%20the%20src%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23src%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'useMap','useMap' ,function (){ var self=this; return self['@handle'].useMap;return self;} ,'accessing',unescape('useMap%0D%0A%09%22%20Return%20the%20useMap%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23useMap')); smalltalk.bind(smalltalk.DOMImage,'useMap:','useMap_' ,function (anObject){ var self=this; self['@handle'].useMap=anObject;return self;} ,'accessing',unescape('useMap%3A%20anObject%0D%0A%09%22%20Set%20the%20useMap%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23useMap%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'vspace','vspace' ,function (){ var self=this; return self['@handle'].vspace;return self;} ,'accessing',unescape('vspace%0D%0A%09%22%20Return%20the%20vspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23vspace')); smalltalk.bind(smalltalk.DOMImage,'vspace:','vspace_' ,function (anObject){ var self=this; self['@handle'].vspace=anObject;return self;} ,'accessing',unescape('vspace%3A%20anObject%0D%0A%09%22%20Set%20the%20vspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23vspace%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'width','width' ,function (){ var self=this; return self['@handle'].width;return self;} ,'accessing',unescape('width%0D%0A%09%22%20Return%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23width')); smalltalk.bind(smalltalk.DOMImage,'width:','width_' ,function (anObject){ var self=this; self['@handle'].width=anObject;return self;} ,'accessing',unescape('width%3A%20anObject%0D%0A%09%22%20Set%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23width%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMImage,'extent','extent' ,function (){ var self=this; return self.width()._at(self.height());return self;} ,'accessing',unescape('extent%0D%0A%09%22%20Returns%20the%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20width%20@%20self%20height')); smalltalk.bind(smalltalk.DOMImage,'extent:','extent_' ,function (aPoint){ var self=this; (function($rec){$rec.width_(aPoint.x());return $rec.height_(aPoint.y());})(self);return self;} ,'accessing',unescape('extent%3A%20aPoint%0D%0A%09%22%20Set%20the%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20width%3A%20aPoint%20x%3B%20height%3A%20aPoint%20y')); smalltalk.bind(smalltalk.DOMImage,'spaceExtent','spaceExtent' ,function (){ var self=this; return self.hspace()._at(self.vspace());return self;} ,'accessing',unescape('spaceExtent%0D%0A%09%22%20Returns%20the%20space%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20hspace%20@%20self%20vspace')); smalltalk.bind(smalltalk.DOMImage,'spaceExtent:','spaceExtent_' ,function (aPoint){ var self=this; (function($rec){$rec.hspace_(aPoint.x());return $rec.vspace_(aPoint.y());})(self);return self;} ,'accessing',unescape('spaceExtent%3A%20aPoint%0D%0A%09%22%20Set%20the%20space%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20hspace%3A%20aPoint%20x%3B%20vspace%3A%20aPoint%20y')); smalltalk.bind(smalltalk.DOMInputElement.$klass,'tagName','tagName' ,function (){ var self=this; return "INPUT";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27INPUT%27')); smalltalk.bind(smalltalk.DOMObject.$klass,'tagName','tagName' ,function (){ var self=this; return "OBJECT";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27OBJECT%27')); smalltalk.bind(smalltalk.DOMObject,'align','align' ,function (){ var self=this; return self['@handle'].align;return self;} ,'accessing',unescape('align%0D%0A%09%22%20Return%20the%20align%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23align')); smalltalk.bind(smalltalk.DOMObject,'align:','align_' ,function (anObject){ var self=this; self['@handle'].align=anObject;return self;} ,'accessing',unescape('align%3A%20anObject%0D%0A%09%22%20Set%20the%20align%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23align%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'archive','archive' ,function (){ var self=this; return self['@handle'].archive;return self;} ,'accessing',unescape('archive%0D%0A%09%22%20Return%20the%20archive%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23archive')); smalltalk.bind(smalltalk.DOMObject,'archive:','archive_' ,function (anObject){ var self=this; self['@handle'].archive=anObject;return self;} ,'accessing',unescape('archive%3A%20anObject%0D%0A%09%22%20Set%20the%20archive%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23archive%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'border','border' ,function (){ var self=this; return self['@handle'].border;return self;} ,'accessing',unescape('border%0D%0A%09%22%20Return%20the%20border%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23border')); smalltalk.bind(smalltalk.DOMObject,'border:','border_' ,function (anObject){ var self=this; self['@handle'].border=anObject;return self;} ,'accessing',unescape('border%3A%20anObject%0D%0A%09%22%20Set%20the%20border%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23border%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'code','code' ,function (){ var self=this; return self['@handle'].code;return self;} ,'accessing',unescape('code%0D%0A%09%22%20Return%20the%20code%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23code')); smalltalk.bind(smalltalk.DOMObject,'code:','code_' ,function (anObject){ var self=this; self['@handle'].code=anObject;return self;} ,'accessing',unescape('code%3A%20anObject%0D%0A%09%22%20Set%20the%20code%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23code%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'codeBase','codeBase' ,function (){ var self=this; return self['@handle'].codeBase;return self;} ,'accessing',unescape('codeBase%0D%0A%09%22%20Return%20the%20codeBase%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23codeBase')); smalltalk.bind(smalltalk.DOMObject,'codeBase:','codeBase_' ,function (anObject){ var self=this; self['@handle'].codeBase=anObject;return self;} ,'accessing',unescape('codeBase%3A%20anObject%0D%0A%09%22%20Set%20the%20codeBase%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23codeBase%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'codeType','codeType' ,function (){ var self=this; return self['@handle'].codeType;return self;} ,'accessing',unescape('codeType%0D%0A%09%22%20Return%20the%20codeType%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23codeType')); smalltalk.bind(smalltalk.DOMObject,'codeType:','codeType_' ,function (anObject){ var self=this; self['@handle'].codeType=anObject;return self;} ,'accessing',unescape('codeType%3A%20anObject%0D%0A%09%22%20Set%20the%20codeType%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23codeType%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'data','data' ,function (){ var self=this; return self['@handle'].data;return self;} ,'accessing',unescape('data%0D%0A%09%22%20Return%20the%20data%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23data')); smalltalk.bind(smalltalk.DOMObject,'data:','data_' ,function (anObject){ var self=this; self['@handle'].data=anObject;return self;} ,'accessing',unescape('data%3A%20anObject%0D%0A%09%22%20Set%20the%20data%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23data%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'declare','declare' ,function (){ var self=this; return self['@handle'].declare;return self;} ,'accessing',unescape('declare%0D%0A%09%22%20Return%20the%20declare%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23declare')); smalltalk.bind(smalltalk.DOMObject,'declare:','declare_' ,function (anObject){ var self=this; self['@handle'].declare=anObject;return self;} ,'accessing',unescape('declare%3A%20anObject%0D%0A%09%22%20Set%20the%20declare%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23declare%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'height','height' ,function (){ var self=this; return self['@handle'].height;return self;} ,'accessing',unescape('height%0D%0A%09%22%20Return%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23height')); smalltalk.bind(smalltalk.DOMObject,'height:','height_' ,function (anObject){ var self=this; self['@handle'].height=anObject;return self;} ,'accessing',unescape('height%3A%20anObject%0D%0A%09%22%20Set%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23height%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'hspace','hspace' ,function (){ var self=this; return self['@handle'].hspace;return self;} ,'accessing',unescape('hspace%0D%0A%09%22%20Return%20the%20hspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23hspace')); smalltalk.bind(smalltalk.DOMObject,'hspace:','hspace_' ,function (anObject){ var self=this; self['@handle'].hspace=anObject;return self;} ,'accessing',unescape('hspace%3A%20anObject%0D%0A%09%22%20Set%20the%20hspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23hspace%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMObject,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'standby','standby' ,function (){ var self=this; return self['@handle'].standby;return self;} ,'accessing',unescape('standby%0D%0A%09%22%20Return%20the%20standby%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23standby')); smalltalk.bind(smalltalk.DOMObject,'standby:','standby_' ,function (anObject){ var self=this; self['@handle'].standby=anObject;return self;} ,'accessing',unescape('standby%3A%20anObject%0D%0A%09%22%20Set%20the%20standby%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23standby%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMObject,'type:','type_' ,function (anObject){ var self=this; self['@handle'].type=anObject;return self;} ,'accessing',unescape('type%3A%20anObject%0D%0A%09%22%20Set%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23type%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'useMap','useMap' ,function (){ var self=this; return self['@handle'].useMap;return self;} ,'accessing',unescape('useMap%0D%0A%09%22%20Return%20the%20useMap%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23useMap')); smalltalk.bind(smalltalk.DOMObject,'useMap:','useMap_' ,function (anObject){ var self=this; self['@handle'].useMap=anObject;return self;} ,'accessing',unescape('useMap%3A%20anObject%0D%0A%09%22%20Set%20the%20useMap%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23useMap%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'vspace','vspace' ,function (){ var self=this; return self['@handle'].vspace;return self;} ,'accessing',unescape('vspace%0D%0A%09%22%20Return%20the%20vspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23vspace')); smalltalk.bind(smalltalk.DOMObject,'vspace:','vspace_' ,function (anObject){ var self=this; self['@handle'].vspace=anObject;return self;} ,'accessing',unescape('vspace%3A%20anObject%0D%0A%09%22%20Set%20the%20vspace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23vspace%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'width','width' ,function (){ var self=this; return self['@handle'].width;return self;} ,'accessing',unescape('width%0D%0A%09%22%20Return%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23width')); smalltalk.bind(smalltalk.DOMObject,'width:','width_' ,function (anObject){ var self=this; self['@handle'].width=anObject;return self;} ,'accessing',unescape('width%3A%20anObject%0D%0A%09%22%20Set%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23width%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMObject,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMObject,'extent','extent' ,function (){ var self=this; return self.width()._at(self.height());return self;} ,'accessing',unescape('extent%0D%0A%09%22%20Returns%20the%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20width%20@%20self%20height')); smalltalk.bind(smalltalk.DOMObject,'extent:','extent_' ,function (aPoint){ var self=this; (function($rec){$rec.width_(aPoint.x());return $rec.height_(aPoint.y());})(self);return self;} ,'accessing',unescape('extent%3A%20aPoint%0D%0A%09%22%20Set%20the%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20width%3A%20aPoint%20x%3B%20height%3A%20aPoint%20y')); smalltalk.bind(smalltalk.DOMObject,'spaceExtent','spaceExtent' ,function (){ var self=this; return self.hspace()._at(self.vspace());return self;} ,'accessing',unescape('spaceExtent%0D%0A%09%22%20Returns%20the%20space%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20hspace%20@%20self%20vspace')); smalltalk.bind(smalltalk.DOMObject,'spaceExtent:','spaceExtent_' ,function (aPoint){ var self=this; (function($rec){$rec.hspace_(aPoint.x());return $rec.vspace_(aPoint.y());})(self);return self;} ,'accessing',unescape('spaceExtent%3A%20aPoint%0D%0A%09%22%20Set%20the%20space%20extent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09self%20hspace%3A%20aPoint%20x%3B%20vspace%3A%20aPoint%20y')); smalltalk.bind(smalltalk.DOMOption.$klass,'tagName','tagName' ,function (){ var self=this; return "OPTION";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27OPTION%27')); smalltalk.bind(smalltalk.DOMOption.$klass,'text:value:','text_value_' ,function (text,value){ var self=this; return self.$$new().text_value_(text, value);return self;} ,'instance creation',unescape('text%3A%20text%20value%3A%20value%0D%0A%09%22%20Return%20an%20instance%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20new%20text%3A%20text%20value%3A%20value%20')); smalltalk.bind(smalltalk.DOMOption,'index','index' ,function (){ var self=this; return self['@handle'].index;return self;} ,'accessing',unescape('index%0D%0A%09%22%20Return%20the%20index%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23index')); smalltalk.bind(smalltalk.DOMOption,'index:','index_' ,function (anObject){ var self=this; self['@handle'].index=anObject;return self;} ,'accessing',unescape('index%3A%20anObject%0D%0A%09%22%20Set%20the%20index%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23index%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMOption,'selected','selected' ,function (){ var self=this; return self['@handle'].selected;return self;} ,'accessing',unescape('selected%0D%0A%09%22%20Return%20the%20selected%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23selected')); smalltalk.bind(smalltalk.DOMOption,'selected:','selected_' ,function (anObject){ var self=this; self['@handle'].selected=anObject;return self;} ,'accessing',unescape('selected%3A%20anObject%0D%0A%09%22%20Set%20the%20selected%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23selected%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMOption,'text','text' ,function (){ var self=this; return self['@handle'].text;return self;} ,'accessing',unescape('text%0D%0A%09%22%20Return%20the%20text%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23text')); smalltalk.bind(smalltalk.DOMOption,'text:','text_' ,function (anObject){ var self=this; self['@handle'].text=anObject;return self;} ,'accessing',unescape('text%3A%20anObject%0D%0A%09%22%20Set%20the%20text%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23text%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMOption,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMOption,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMOption,'defaultSelected','defaultSelected' ,function (){ var self=this; return self['@handle'].defaultSelected;return self;} ,'accessing',unescape('defaultSelected%0D%0A%09%22%20Return%20the%20defaultSelected%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23defaultSelected')); smalltalk.bind(smalltalk.DOMOption,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMOption,'text:value:','text_value_' ,function (text,value){ var self=this; self.handle(); (function($rec){$rec.text_(text);return $rec.value_(value);})(self);return self;} ,'accessing',unescape('text%3A%20text%20value%3A%20value%0D%0A%09%22%20Set%20the%20receiver%27s%20text%20and%20value.%20%22%0D%0A%0D%0A%09self%20handle.%20%22ensure%20valid%20handle%22%0D%0A%09self%20text%3A%20text%3B%20value%3A%20value.')); smalltalk.bind(smalltalk.DOMOption,'initializeHandle','initializeHandle' ,function (){ var self=this; self['@handle']= new Option(); ;return self;} ,'initialize/release',unescape('initializeHandle%0D%0A%09%22%20Private%20-%20Initialize%20the%20native%20handle.%20%22%0D%0A%0D%0A%09handle%20%3A%3D%20%7B%27%20new%20Option%28%29%3B%20%27%7D.')); smalltalk.bind(smalltalk.DOMSelect.$klass,'tagName','tagName' ,function (){ var self=this; return "SELECT";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27SELECT%27')); smalltalk.bind(smalltalk.DOMSelect,'multiple','multiple' ,function (){ var self=this; return self['@handle'].multiple;return self;} ,'accessing',unescape('multiple%0D%0A%09%22%20Return%20the%20multiple%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23multiple')); smalltalk.bind(smalltalk.DOMSelect,'multiple:','multiple_' ,function (anObject){ var self=this; self['@handle'].multiple=anObject;return self;} ,'accessing',unescape('multiple%3A%20anObject%0D%0A%09%22%20Set%20the%20multiple%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23multiple%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMSelect,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMSelect,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMSelect,'selectedIndex','selectedIndex' ,function (){ var self=this; return self['@handle'].selectedIndex;return self;} ,'accessing',unescape('selectedIndex%0D%0A%09%22%20Return%20the%20selectedIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23selectedIndex')); smalltalk.bind(smalltalk.DOMSelect,'selectedIndex:','selectedIndex_' ,function (anObject){ var self=this; self['@handle'].selectedIndex=anObject;return self;} ,'accessing',unescape('selectedIndex%3A%20anObject%0D%0A%09%22%20Set%20the%20selectedIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23selectedIndex%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMSelect,'size','size' ,function (){ var self=this; return self['@handle'].size;return self;} ,'accessing',unescape('size%0D%0A%09%22%20Return%20the%20size%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23size')); smalltalk.bind(smalltalk.DOMSelect,'size:','size_' ,function (anObject){ var self=this; self['@handle'].size=anObject;return self;} ,'accessing',unescape('size%3A%20anObject%0D%0A%09%22%20Set%20the%20size%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23size%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMSelect,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMSelect,'length','length' ,function (){ var self=this; return self['@handle'].length;return self;} ,'accessing',unescape('length%0D%0A%09%22%20Return%20the%20length%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23length')); smalltalk.bind(smalltalk.DOMSelect,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMSelect,'options','options' ,function (){ var self=this; return self.array_of_(self['@handle'].options, smalltalk.DOMOption);return self;} ,'accessing',unescape('options%0D%0A%09%22%20Return%20the%20options%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23options%20of%3A%20DOMOption')); smalltalk.bind(smalltalk.DOMSelect,'optionsDo:','optionsDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].options, smalltalk.DOMOption, aBlock);return self;} ,'accessing',unescape('optionsDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20options%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23options%20of%3A%20DOMOption%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMSelect,'optionAt:','optionAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].options, smalltalk.DOMOption, index);return self;} ,'accessing',unescape('optionAt%3A%20index%0D%0A%09%22%20Return%20the%20option%20of%20the%20receiver%20at%20index%20position%20%28ONE%20indexed%29.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23options%20of%3A%20DOMOption%20at%3A%20index')); smalltalk.bind(smalltalk.DOMSelect,'selectedOption','selectedOption' ,function (){ var self=this; var selectedIndex=nil; selectedIndex=self.selectedIndex(); return (((selectedIndex >= (0))).mustBeBoolean()==true ? (function(){return self.optionAt_(selectedIndex);})() : nil);return self;} ,'accessing',unescape('selectedOption%0D%0A%09%22%20Return%20the%20selected%20option%20of%20the%20receiver%20%28or%20nil%29.%20%22%0D%0A%0D%0A%09%7C%20selectedIndex%20%7C%0D%0A%09selectedIndex%20%3A%3D%20self%20selectedIndex.%0D%0A%09%5EselectedIndex%20%3E%3D%200%20ifTrue%3A%20%5B%20self%20optionAt%3A%20selectedIndex%20%5D')); smalltalk.bind(smalltalk.DOMSelect,'add:before:','add_before_' ,function (anOption,another){ var self=this; self['@handle'].add(anOption.handle(), another);return self;} ,'accessing',unescape('add%3A%20anOption%20before%3A%20another%0D%0A%09%22%20Add%20an%20option%20to%20the%20options%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%20%23add%3A%20anOption%20handle%20before%3A%20another')); smalltalk.bind(smalltalk.DOMSelect,'add:','add_' ,function (anOption){ var self=this; return self.addLast_(anOption);return self;} ,'accessing',unescape('add%3A%20anOption%0D%0A%09%22%20Add%20an%20option%20at%20end%20of%20the%20options%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20addLast%3A%20anOption')); smalltalk.bind(smalltalk.DOMSelect,'addLast:','addLast_' ,function (anOption){ var self=this; self['@handle'].add(anOption.handle());return self;} ,'accessing',unescape('addLast%3A%20anOption%0D%0A%09%22%20Add%20an%20option%20at%20end%20of%20the%20options%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%20%23add%3A%20anOption%20handle')); smalltalk.bind(smalltalk.DOMSelect,'remove:','remove_' ,function (index){ var self=this; self['@handle'].remove(index);return self;} ,'accessing',unescape('remove%3A%20index%0D%0A%09%22%20Remove%20option%20at%20index%20%28zero%20indexed%29%20from%20the%20options%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%20%23remove%3A%20index')); smalltalk.bind(smalltalk.DOMSelect,'removeAll','removeAll' ,function (){ var self=this; (function(){while((function(){return self.notEmpty();})()){(function(){return self.remove_((0));})()};return nil})();return self;} ,'accessing',unescape('removeAll%0D%0A%09%22%20Remove%20all%20the%20options%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Bself%20notEmpty%5D%20whileTrue%3A%20%5B%20self%20remove%3A%200%20%5D')); smalltalk.bind(smalltalk.DOMSelect,'isEmpty','isEmpty' ,function (){ var self=this; try{ self.optionsDo_((function(option){return (function(){throw({name: "stReturn", selector: "isEmpty", fn: function(){return false}})})();})); (function(){throw({name: "stReturn", selector: "isEmpty", fn: function(){return true}})})();return self; } catch($$ex) {if($$ex.name === "stReturn" && $$ex.selector === "isEmpty"){return $$ex.fn();} throw($$ex);}} ,'accessing',unescape('isEmpty%0D%0A%09%22%20Returns%20true%20if%20the%20receiver%20is%20empty.%20%22%0D%0A%0D%0A%09self%20optionsDo%3A%20%5B%3Aoption%7C%20%5Efalse%20%5D.%0D%0A%09%5Etrue')); smalltalk.bind(smalltalk.DOMSelect,'notEmpty','notEmpty' ,function (){ var self=this; return self.isEmpty().not();return self;} ,'accessing',unescape('notEmpty%0D%0A%09%22%20Returns%20true%20if%20the%20receiver%20has%20at%20least%20one%20option.%20%22%0D%0A%0D%0A%09%5Eself%20isEmpty%20not')); smalltalk.bind(smalltalk.DOMSelect,'removeIndex:','removeIndex_' ,function (index){ var self=this; return self.remove_((index - (1)));return self;} ,'accessing',unescape('removeIndex%3A%20index%0D%0A%09%22%20Remove%20option%20at%20index%20%28ONE%20indexed%29%20from%20the%20options%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20remove%3A%20index%20-%201')); smalltalk.bind(smalltalk.DOMStyle.$klass,'tagName','tagName' ,function (){ var self=this; return "STYLE";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27STYLE%27')); smalltalk.bind(smalltalk.DOMStyle,'background','background' ,function (){ var self=this; return self['@handle'].background;return self;} ,'accessing',unescape('background%0D%0A%09%22%20Return%20the%20background%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23background')); smalltalk.bind(smalltalk.DOMStyle,'background:','background_' ,function (anObject){ var self=this; self['@handle'].background=anObject;return self;} ,'accessing',unescape('background%3A%20anObject%0D%0A%09%22%20Set%20the%20background%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23background%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'backgroundAttachment','backgroundAttachment' ,function (){ var self=this; return self['@handle'].backgroundAttachment;return self;} ,'accessing',unescape('backgroundAttachment%0D%0A%09%22%20Return%20the%20backgroundAttachment%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23backgroundAttachment')); smalltalk.bind(smalltalk.DOMStyle,'backgroundAttachment:','backgroundAttachment_' ,function (anObject){ var self=this; self['@handle'].backgroundAttachment=anObject;return self;} ,'accessing',unescape('backgroundAttachment%3A%20anObject%0D%0A%09%22%20Set%20the%20backgroundAttachment%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23backgroundAttachment%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'backgroundColor','backgroundColor' ,function (){ var self=this; return self['@handle'].backgroundColor;return self;} ,'accessing',unescape('backgroundColor%0D%0A%09%22%20Return%20the%20backgroundColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23backgroundColor')); smalltalk.bind(smalltalk.DOMStyle,'backgroundColor:','backgroundColor_' ,function (anObject){ var self=this; self['@handle'].backgroundColor=anObject;return self;} ,'accessing',unescape('backgroundColor%3A%20anObject%0D%0A%09%22%20Set%20the%20backgroundColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23backgroundColor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'backgroundImage','backgroundImage' ,function (){ var self=this; return self['@handle'].backgroundImage;return self;} ,'accessing',unescape('backgroundImage%0D%0A%09%22%20Return%20the%20backgroundImage%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23backgroundImage')); smalltalk.bind(smalltalk.DOMStyle,'backgroundImage:','backgroundImage_' ,function (anObject){ var self=this; self['@handle'].backgroundImage=anObject;return self;} ,'accessing',unescape('backgroundImage%3A%20anObject%0D%0A%09%22%20Set%20the%20backgroundImage%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23backgroundImage%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'backgroundPosition','backgroundPosition' ,function (){ var self=this; return self['@handle'].backgroundPosition;return self;} ,'accessing',unescape('backgroundPosition%0D%0A%09%22%20Return%20the%20backgroundPosition%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23backgroundPosition')); smalltalk.bind(smalltalk.DOMStyle,'backgroundPosition:','backgroundPosition_' ,function (anObject){ var self=this; self['@handle'].backgroundPosition=anObject;return self;} ,'accessing',unescape('backgroundPosition%3A%20anObject%0D%0A%09%22%20Set%20the%20backgroundPosition%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23backgroundPosition%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'backgroundRepeat','backgroundRepeat' ,function (){ var self=this; return self['@handle'].backgroundRepeat;return self;} ,'accessing',unescape('backgroundRepeat%0D%0A%09%22%20Return%20the%20backgroundRepeat%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23backgroundRepeat')); smalltalk.bind(smalltalk.DOMStyle,'backgroundRepeat:','backgroundRepeat_' ,function (anObject){ var self=this; self['@handle'].backgroundRepeat=anObject;return self;} ,'accessing',unescape('backgroundRepeat%3A%20anObject%0D%0A%09%22%20Set%20the%20backgroundRepeat%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23backgroundRepeat%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'border','border' ,function (){ var self=this; return self['@handle'].border;return self;} ,'accessing',unescape('border%0D%0A%09%22%20Return%20the%20border%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23border')); smalltalk.bind(smalltalk.DOMStyle,'border:','border_' ,function (anObject){ var self=this; self['@handle'].border=anObject;return self;} ,'accessing',unescape('border%3A%20anObject%0D%0A%09%22%20Set%20the%20border%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23border%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderColor','borderColor' ,function (){ var self=this; return self['@handle'].borderColor;return self;} ,'accessing',unescape('borderColor%0D%0A%09%22%20Return%20the%20borderColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderColor')); smalltalk.bind(smalltalk.DOMStyle,'borderColor:','borderColor_' ,function (anObject){ var self=this; self['@handle'].borderColor=anObject;return self;} ,'accessing',unescape('borderColor%3A%20anObject%0D%0A%09%22%20Set%20the%20borderColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderColor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderStyle','borderStyle' ,function (){ var self=this; return self['@handle'].borderStyle;return self;} ,'accessing',unescape('borderStyle%0D%0A%09%22%20Return%20the%20borderStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderStyle')); smalltalk.bind(smalltalk.DOMStyle,'borderStyle:','borderStyle_' ,function (anObject){ var self=this; self['@handle'].borderStyle=anObject;return self;} ,'accessing',unescape('borderStyle%3A%20anObject%0D%0A%09%22%20Set%20the%20borderStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderStyle%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderWidth','borderWidth' ,function (){ var self=this; return self['@handle'].borderWidth;return self;} ,'accessing',unescape('borderWidth%0D%0A%09%22%20Return%20the%20borderWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderWidth')); smalltalk.bind(smalltalk.DOMStyle,'borderWidth:','borderWidth_' ,function (anObject){ var self=this; self['@handle'].borderWidth=anObject;return self;} ,'accessing',unescape('borderWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20borderWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderBottom','borderBottom' ,function (){ var self=this; return self['@handle'].borderBottom;return self;} ,'accessing',unescape('borderBottom%0D%0A%09%22%20Return%20the%20borderBottom%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderBottom')); smalltalk.bind(smalltalk.DOMStyle,'borderBottom:','borderBottom_' ,function (anObject){ var self=this; self['@handle'].borderBottom=anObject;return self;} ,'accessing',unescape('borderBottom%3A%20anObject%0D%0A%09%22%20Set%20the%20borderBottom%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderBottom%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderBottomColor','borderBottomColor' ,function (){ var self=this; return self['@handle'].borderBottomColor;return self;} ,'accessing',unescape('borderBottomColor%0D%0A%09%22%20Return%20the%20borderBottomColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderBottomColor')); smalltalk.bind(smalltalk.DOMStyle,'borderBottomColor:','borderBottomColor_' ,function (anObject){ var self=this; self['@handle'].borderBottomColor=anObject;return self;} ,'accessing',unescape('borderBottomColor%3A%20anObject%0D%0A%09%22%20Set%20the%20borderBottomColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderBottomColor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderBottomStyle','borderBottomStyle' ,function (){ var self=this; return self['@handle'].borderBottomStyle;return self;} ,'accessing',unescape('borderBottomStyle%0D%0A%09%22%20Return%20the%20borderBottomStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderBottomStyle')); smalltalk.bind(smalltalk.DOMStyle,'borderBottomStyle:','borderBottomStyle_' ,function (anObject){ var self=this; self['@handle'].borderBottomStyle=anObject;return self;} ,'accessing',unescape('borderBottomStyle%3A%20anObject%0D%0A%09%22%20Set%20the%20borderBottomStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderBottomStyle%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderBottomWidth','borderBottomWidth' ,function (){ var self=this; return self['@handle'].borderBottomWidth;return self;} ,'accessing',unescape('borderBottomWidth%0D%0A%09%22%20Return%20the%20borderBottomWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderBottomWidth')); smalltalk.bind(smalltalk.DOMStyle,'borderBottomWidth:','borderBottomWidth_' ,function (anObject){ var self=this; self['@handle'].borderBottomWidth=anObject;return self;} ,'accessing',unescape('borderBottomWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20borderBottomWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderBottomWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderLeft','borderLeft' ,function (){ var self=this; return self['@handle'].borderLeft;return self;} ,'accessing',unescape('borderLeft%0D%0A%09%22%20Return%20the%20borderLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderLeft')); smalltalk.bind(smalltalk.DOMStyle,'borderLeft:','borderLeft_' ,function (anObject){ var self=this; self['@handle'].borderLeft=anObject;return self;} ,'accessing',unescape('borderLeft%3A%20anObject%0D%0A%09%22%20Set%20the%20borderLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderLeft%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderLeftColor','borderLeftColor' ,function (){ var self=this; return self['@handle'].borderLeftColor;return self;} ,'accessing',unescape('borderLeftColor%0D%0A%09%22%20Return%20the%20borderLeftColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderLeftColor')); smalltalk.bind(smalltalk.DOMStyle,'borderLeftColor:','borderLeftColor_' ,function (anObject){ var self=this; self['@handle'].borderLeftColor=anObject;return self;} ,'accessing',unescape('borderLeftColor%3A%20anObject%0D%0A%09%22%20Set%20the%20borderLeftColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderLeftColor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderLeftStyle','borderLeftStyle' ,function (){ var self=this; return self['@handle'].borderLeftStyle;return self;} ,'accessing',unescape('borderLeftStyle%0D%0A%09%22%20Return%20the%20borderLeftStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderLeftStyle')); smalltalk.bind(smalltalk.DOMStyle,'borderLeftStyle:','borderLeftStyle_' ,function (anObject){ var self=this; self['@handle'].borderLeftStyle=anObject;return self;} ,'accessing',unescape('borderLeftStyle%3A%20anObject%0D%0A%09%22%20Set%20the%20borderLeftStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderLeftStyle%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderLeftWidth','borderLeftWidth' ,function (){ var self=this; return self['@handle'].borderLeftWidth;return self;} ,'accessing',unescape('borderLeftWidth%0D%0A%09%22%20Return%20the%20borderLeftWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderLeftWidth')); smalltalk.bind(smalltalk.DOMStyle,'borderLeftWidth:','borderLeftWidth_' ,function (anObject){ var self=this; self['@handle'].borderLeftWidth=anObject;return self;} ,'accessing',unescape('borderLeftWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20borderLeftWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderLeftWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderRight','borderRight' ,function (){ var self=this; return self['@handle'].borderRight;return self;} ,'accessing',unescape('borderRight%0D%0A%09%22%20Return%20the%20borderRight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderRight')); smalltalk.bind(smalltalk.DOMStyle,'borderRight:','borderRight_' ,function (anObject){ var self=this; self['@handle'].borderRight=anObject;return self;} ,'accessing',unescape('borderRight%3A%20anObject%0D%0A%09%22%20Set%20the%20borderRight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderRight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderRightColor','borderRightColor' ,function (){ var self=this; return self['@handle'].borderRightColor;return self;} ,'accessing',unescape('borderRightColor%0D%0A%09%22%20Return%20the%20borderRightColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderRightColor')); smalltalk.bind(smalltalk.DOMStyle,'borderRightColor:','borderRightColor_' ,function (anObject){ var self=this; self['@handle'].borderRightColor=anObject;return self;} ,'accessing',unescape('borderRightColor%3A%20anObject%0D%0A%09%22%20Set%20the%20borderRightColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderRightColor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderRightStyle','borderRightStyle' ,function (){ var self=this; return self['@handle'].borderRightStyle;return self;} ,'accessing',unescape('borderRightStyle%0D%0A%09%22%20Return%20the%20borderRightStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderRightStyle')); smalltalk.bind(smalltalk.DOMStyle,'borderRightStyle:','borderRightStyle_' ,function (anObject){ var self=this; self['@handle'].borderRightStyle=anObject;return self;} ,'accessing',unescape('borderRightStyle%3A%20anObject%0D%0A%09%22%20Set%20the%20borderRightStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderRightStyle%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderRightWidth','borderRightWidth' ,function (){ var self=this; return self['@handle'].borderRightWidth;return self;} ,'accessing',unescape('borderRightWidth%0D%0A%09%22%20Return%20the%20borderRightWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderRightWidth')); smalltalk.bind(smalltalk.DOMStyle,'borderRightWidth:','borderRightWidth_' ,function (anObject){ var self=this; self['@handle'].borderRightWidth=anObject;return self;} ,'accessing',unescape('borderRightWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20borderRightWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderRightWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderTop','borderTop' ,function (){ var self=this; return self['@handle'].borderTop;return self;} ,'accessing',unescape('borderTop%0D%0A%09%22%20Return%20the%20borderTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderTop')); smalltalk.bind(smalltalk.DOMStyle,'borderTop:','borderTop_' ,function (anObject){ var self=this; self['@handle'].borderTop=anObject;return self;} ,'accessing',unescape('borderTop%3A%20anObject%0D%0A%09%22%20Set%20the%20borderTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderTop%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderTopColor','borderTopColor' ,function (){ var self=this; return self['@handle'].borderTopColor;return self;} ,'accessing',unescape('borderTopColor%0D%0A%09%22%20Return%20the%20borderTopColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderTopColor')); smalltalk.bind(smalltalk.DOMStyle,'borderTopColor:','borderTopColor_' ,function (anObject){ var self=this; self['@handle'].borderTopColor=anObject;return self;} ,'accessing',unescape('borderTopColor%3A%20anObject%0D%0A%09%22%20Set%20the%20borderTopColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderTopColor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderTopStyle','borderTopStyle' ,function (){ var self=this; return self['@handle'].borderTopStyle;return self;} ,'accessing',unescape('borderTopStyle%0D%0A%09%22%20Return%20the%20borderTopStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderTopStyle')); smalltalk.bind(smalltalk.DOMStyle,'borderTopStyle:','borderTopStyle_' ,function (anObject){ var self=this; self['@handle'].borderTopStyle=anObject;return self;} ,'accessing',unescape('borderTopStyle%3A%20anObject%0D%0A%09%22%20Set%20the%20borderTopStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderTopStyle%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderTopWidth','borderTopWidth' ,function (){ var self=this; return self['@handle'].borderTopWidth;return self;} ,'accessing',unescape('borderTopWidth%0D%0A%09%22%20Return%20the%20borderTopWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderTopWidth')); smalltalk.bind(smalltalk.DOMStyle,'borderTopWidth:','borderTopWidth_' ,function (anObject){ var self=this; self['@handle'].borderTopWidth=anObject;return self;} ,'accessing',unescape('borderTopWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20borderTopWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderTopWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'outline','outline' ,function (){ var self=this; return self['@handle'].outline;return self;} ,'accessing',unescape('outline%0D%0A%09%22%20Return%20the%20outline%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23outline')); smalltalk.bind(smalltalk.DOMStyle,'outline:','outline_' ,function (anObject){ var self=this; self['@handle'].outline=anObject;return self;} ,'accessing',unescape('outline%3A%20anObject%0D%0A%09%22%20Set%20the%20outline%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23outline%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'outlineColor','outlineColor' ,function (){ var self=this; return self['@handle'].outlineColor;return self;} ,'accessing',unescape('outlineColor%0D%0A%09%22%20Return%20the%20outlineColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23outlineColor')); smalltalk.bind(smalltalk.DOMStyle,'outlineColor:','outlineColor_' ,function (anObject){ var self=this; self['@handle'].outlineColor=anObject;return self;} ,'accessing',unescape('outlineColor%3A%20anObject%0D%0A%09%22%20Set%20the%20outlineColor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23outlineColor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'outlineStyle','outlineStyle' ,function (){ var self=this; return self['@handle'].outlineStyle;return self;} ,'accessing',unescape('outlineStyle%0D%0A%09%22%20Return%20the%20outlineStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23outlineStyle')); smalltalk.bind(smalltalk.DOMStyle,'outlineStyle:','outlineStyle_' ,function (anObject){ var self=this; self['@handle'].outlineStyle=anObject;return self;} ,'accessing',unescape('outlineStyle%3A%20anObject%0D%0A%09%22%20Set%20the%20outlineStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23outlineStyle%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'outlineWidth','outlineWidth' ,function (){ var self=this; return self['@handle'].outlineWidth;return self;} ,'accessing',unescape('outlineWidth%0D%0A%09%22%20Return%20the%20outlineWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23outlineWidth')); smalltalk.bind(smalltalk.DOMStyle,'outlineWidth:','outlineWidth_' ,function (anObject){ var self=this; self['@handle'].outlineWidth=anObject;return self;} ,'accessing',unescape('outlineWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20outlineWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23outlineWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'listStyle','listStyle' ,function (){ var self=this; return self['@handle'].listStyle;return self;} ,'accessing',unescape('listStyle%0D%0A%09%22%20Return%20the%20listStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23listStyle')); smalltalk.bind(smalltalk.DOMStyle,'listStyle:','listStyle_' ,function (anObject){ var self=this; self['@handle'].listStyle=anObject;return self;} ,'accessing',unescape('listStyle%3A%20anObject%0D%0A%09%22%20Set%20the%20listStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23listStyle%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'listStyleImage','listStyleImage' ,function (){ var self=this; return self['@handle'].listStyleImage;return self;} ,'accessing',unescape('listStyleImage%0D%0A%09%22%20Return%20the%20listStyleImage%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23listStyleImage')); smalltalk.bind(smalltalk.DOMStyle,'listStyleImage:','listStyleImage_' ,function (anObject){ var self=this; self['@handle'].listStyleImage=anObject;return self;} ,'accessing',unescape('listStyleImage%3A%20anObject%0D%0A%09%22%20Set%20the%20listStyleImage%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23listStyleImage%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'listStylePosition','listStylePosition' ,function (){ var self=this; return self['@handle'].listStylePosition;return self;} ,'accessing',unescape('listStylePosition%0D%0A%09%22%20Return%20the%20listStylePosition%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23listStylePosition')); smalltalk.bind(smalltalk.DOMStyle,'listStylePosition:','listStylePosition_' ,function (anObject){ var self=this; self['@handle'].listStylePosition=anObject;return self;} ,'accessing',unescape('listStylePosition%3A%20anObject%0D%0A%09%22%20Set%20the%20listStylePosition%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23listStylePosition%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'listStyleType','listStyleType' ,function (){ var self=this; return self['@handle'].listStyleType;return self;} ,'accessing',unescape('listStyleType%0D%0A%09%22%20Return%20the%20listStyleType%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23listStyleType')); smalltalk.bind(smalltalk.DOMStyle,'listStyleType:','listStyleType_' ,function (anObject){ var self=this; self['@handle'].listStyleType=anObject;return self;} ,'accessing',unescape('listStyleType%3A%20anObject%0D%0A%09%22%20Set%20the%20listStyleType%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23listStyleType%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'margin','margin' ,function (){ var self=this; return self['@handle'].margin;return self;} ,'accessing',unescape('margin%0D%0A%09%22%20Return%20the%20margin%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23margin')); smalltalk.bind(smalltalk.DOMStyle,'margin:','margin_' ,function (anObject){ var self=this; self['@handle'].margin=anObject;return self;} ,'accessing',unescape('margin%3A%20anObject%0D%0A%09%22%20Set%20the%20margin%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23margin%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'marginBottom','marginBottom' ,function (){ var self=this; return self['@handle'].marginBottom;return self;} ,'accessing',unescape('marginBottom%0D%0A%09%22%20Return%20the%20marginBottom%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23marginBottom')); smalltalk.bind(smalltalk.DOMStyle,'marginBottom:','marginBottom_' ,function (anObject){ var self=this; self['@handle'].marginBottom=anObject;return self;} ,'accessing',unescape('marginBottom%3A%20anObject%0D%0A%09%22%20Set%20the%20marginBottom%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23marginBottom%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'marginLeft','marginLeft' ,function (){ var self=this; return self['@handle'].marginLeft;return self;} ,'accessing',unescape('marginLeft%0D%0A%09%22%20Return%20the%20marginLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23marginLeft')); smalltalk.bind(smalltalk.DOMStyle,'marginLeft:','marginLeft_' ,function (anObject){ var self=this; self['@handle'].marginLeft=anObject;return self;} ,'accessing',unescape('marginLeft%3A%20anObject%0D%0A%09%22%20Set%20the%20marginLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23marginLeft%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'marginTop','marginTop' ,function (){ var self=this; return self['@handle'].marginTop;return self;} ,'accessing',unescape('marginTop%0D%0A%09%22%20Return%20the%20marginTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23marginTop')); smalltalk.bind(smalltalk.DOMStyle,'marginTop:','marginTop_' ,function (anObject){ var self=this; self['@handle'].marginTop=anObject;return self;} ,'accessing',unescape('marginTop%3A%20anObject%0D%0A%09%22%20Set%20the%20marginTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23marginTop%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'marginRight','marginRight' ,function (){ var self=this; return self['@handle'].marginRight;return self;} ,'accessing',unescape('marginRight%0D%0A%09%22%20Return%20the%20marginRight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23marginRight')); smalltalk.bind(smalltalk.DOMStyle,'marginRight:','marginRight_' ,function (anObject){ var self=this; self['@handle'].marginRight=anObject;return self;} ,'accessing',unescape('marginRight%3A%20anObject%0D%0A%09%22%20Set%20the%20marginRight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23marginRight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'padding','padding' ,function (){ var self=this; return self['@handle'].padding;return self;} ,'accessing',unescape('padding%0D%0A%09%22%20Return%20the%20padding%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23padding')); smalltalk.bind(smalltalk.DOMStyle,'padding:','padding_' ,function (anObject){ var self=this; self['@handle'].padding=anObject;return self;} ,'accessing',unescape('padding%3A%20anObject%0D%0A%09%22%20Set%20the%20padding%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23padding%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'paddingBottom','paddingBottom' ,function (){ var self=this; return self['@handle'].paddingBottom;return self;} ,'accessing',unescape('paddingBottom%0D%0A%09%22%20Return%20the%20paddingBottom%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23paddingBottom')); smalltalk.bind(smalltalk.DOMStyle,'paddingBottom:','paddingBottom_' ,function (anObject){ var self=this; self['@handle'].paddingBottom=anObject;return self;} ,'accessing',unescape('paddingBottom%3A%20anObject%0D%0A%09%22%20Set%20the%20paddingBottom%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23paddingBottom%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'paddingLeft','paddingLeft' ,function (){ var self=this; return self['@handle'].paddingLeft;return self;} ,'accessing',unescape('paddingLeft%0D%0A%09%22%20Return%20the%20paddingLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23paddingLeft')); smalltalk.bind(smalltalk.DOMStyle,'paddingLeft:','paddingLeft_' ,function (anObject){ var self=this; self['@handle'].paddingLeft=anObject;return self;} ,'accessing',unescape('paddingLeft%3A%20anObject%0D%0A%09%22%20Set%20the%20paddingLeft%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23paddingLeft%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'paddingTop','paddingTop' ,function (){ var self=this; return self['@handle'].paddingTop;return self;} ,'accessing',unescape('paddingTop%0D%0A%09%22%20Return%20the%20paddingTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23paddingTop')); smalltalk.bind(smalltalk.DOMStyle,'paddingTop:','paddingTop_' ,function (anObject){ var self=this; self['@handle'].paddingTop=anObject;return self;} ,'accessing',unescape('paddingTop%3A%20anObject%0D%0A%09%22%20Set%20the%20paddingTop%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23paddingTop%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'paddingRight','paddingRight' ,function (){ var self=this; return self['@handle'].paddingRight;return self;} ,'accessing',unescape('paddingRight%0D%0A%09%22%20Return%20the%20paddingRight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23paddingRight')); smalltalk.bind(smalltalk.DOMStyle,'paddingRight:','paddingRight_' ,function (anObject){ var self=this; self['@handle'].paddingRight=anObject;return self;} ,'accessing',unescape('paddingRight%3A%20anObject%0D%0A%09%22%20Set%20the%20paddingRight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23paddingRight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'cssText','cssText' ,function (){ var self=this; return self['@handle'].cssText;return self;} ,'accessing',unescape('cssText%0D%0A%09%22%20Return%20the%20cssText%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cssText')); smalltalk.bind(smalltalk.DOMStyle,'cssText:','cssText_' ,function (anObject){ var self=this; self['@handle'].cssText=anObject;return self;} ,'accessing',unescape('cssText%3A%20anObject%0D%0A%09%22%20Set%20the%20cssText%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23cssText%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'bottom','bottom' ,function (){ var self=this; return self['@handle'].bottom;return self;} ,'accessing',unescape('bottom%0D%0A%09%22%20Return%20the%20bottom%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23bottom')); smalltalk.bind(smalltalk.DOMStyle,'bottom:','bottom_' ,function (anObject){ var self=this; self['@handle'].bottom=anObject;return self;} ,'accessing',unescape('bottom%3A%20anObject%0D%0A%09%22%20Set%20the%20bottom%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23bottom%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'left','left' ,function (){ var self=this; return self['@handle'].left;return self;} ,'accessing',unescape('left%0D%0A%09%22%20Return%20the%20left%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23left')); smalltalk.bind(smalltalk.DOMStyle,'left:','left_' ,function (anObject){ var self=this; self['@handle'].left=anObject;return self;} ,'accessing',unescape('left%3A%20anObject%0D%0A%09%22%20Set%20the%20left%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23left%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'right','right' ,function (){ var self=this; return self['@handle'].right;return self;} ,'accessing',unescape('right%0D%0A%09%22%20Return%20the%20right%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23right')); smalltalk.bind(smalltalk.DOMStyle,'right:','right_' ,function (anObject){ var self=this; self['@handle'].right=anObject;return self;} ,'accessing',unescape('right%3A%20anObject%0D%0A%09%22%20Set%20the%20right%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23right%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'top','top' ,function (){ var self=this; return self['@handle'].top;return self;} ,'accessing',unescape('top%0D%0A%09%22%20Return%20the%20top%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23top')); smalltalk.bind(smalltalk.DOMStyle,'top:','top_' ,function (anObject){ var self=this; self['@handle'].top=anObject;return self;} ,'accessing',unescape('top%3A%20anObject%0D%0A%09%22%20Set%20the%20top%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23top%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'height','height' ,function (){ var self=this; return self['@handle'].height;return self;} ,'accessing',unescape('height%0D%0A%09%22%20Return%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23height')); smalltalk.bind(smalltalk.DOMStyle,'height:','height_' ,function (anObject){ var self=this; self['@handle'].height=anObject;return self;} ,'accessing',unescape('height%3A%20anObject%0D%0A%09%22%20Set%20the%20height%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23height%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'width','width' ,function (){ var self=this; return self['@handle'].width;return self;} ,'accessing',unescape('width%0D%0A%09%22%20Return%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23width')); smalltalk.bind(smalltalk.DOMStyle,'width:','width_' ,function (anObject){ var self=this; self['@handle'].width=anObject;return self;} ,'accessing',unescape('width%3A%20anObject%0D%0A%09%22%20Set%20the%20width%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23width%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'clear','clear' ,function (){ var self=this; return self['@handle'].clear;return self;} ,'accessing',unescape('clear%0D%0A%09%22%20Return%20the%20clear%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23clear')); smalltalk.bind(smalltalk.DOMStyle,'clear:','clear_' ,function (anObject){ var self=this; self['@handle'].clear=anObject;return self;} ,'accessing',unescape('clear%3A%20anObject%0D%0A%09%22%20Set%20the%20clear%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23clear%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'clip','clip' ,function (){ var self=this; return self['@handle'].clip;return self;} ,'accessing',unescape('clip%0D%0A%09%22%20Return%20the%20clip%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23clip')); smalltalk.bind(smalltalk.DOMStyle,'clip:','clip_' ,function (anObject){ var self=this; self['@handle'].clip=anObject;return self;} ,'accessing',unescape('clip%3A%20anObject%0D%0A%09%22%20Set%20the%20clip%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23clip%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'cssFloat','cssFloat' ,function (){ var self=this; return self['@handle'].cssFloat;return self;} ,'accessing',unescape('cssFloat%0D%0A%09%22%20Return%20the%20cssFloat%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cssFloat')); smalltalk.bind(smalltalk.DOMStyle,'cssFloat:','cssFloat_' ,function (anObject){ var self=this; self['@handle'].cssFloat=anObject;return self;} ,'accessing',unescape('cssFloat%3A%20anObject%0D%0A%09%22%20Set%20the%20cssFloat%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23cssFloat%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'cursor','cursor' ,function (){ var self=this; return self['@handle'].cursor;return self;} ,'accessing',unescape('cursor%0D%0A%09%22%20Return%20the%20cursor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cursor')); smalltalk.bind(smalltalk.DOMStyle,'cursor:','cursor_' ,function (anObject){ var self=this; self['@handle'].cursor=anObject;return self;} ,'accessing',unescape('cursor%3A%20anObject%0D%0A%09%22%20Set%20the%20cursor%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23cursor%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'display','display' ,function (){ var self=this; return self['@handle'].display;return self;} ,'accessing',unescape('display%0D%0A%09%22%20Return%20the%20display%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23display')); smalltalk.bind(smalltalk.DOMStyle,'display:','display_' ,function (anObject){ var self=this; self['@handle'].display=anObject;return self;} ,'accessing',unescape('display%3A%20anObject%0D%0A%09%22%20Set%20the%20display%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23display%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'minHeight','minHeight' ,function (){ var self=this; return self['@handle'].minHeight;return self;} ,'accessing',unescape('minHeight%0D%0A%09%22%20Return%20the%20minHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23minHeight')); smalltalk.bind(smalltalk.DOMStyle,'minHeight:','minHeight_' ,function (anObject){ var self=this; self['@handle'].minHeight=anObject;return self;} ,'accessing',unescape('minHeight%3A%20anObject%0D%0A%09%22%20Set%20the%20minHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23minHeight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'maxHeight','maxHeight' ,function (){ var self=this; return self['@handle'].maxHeight;return self;} ,'accessing',unescape('maxHeight%0D%0A%09%22%20Return%20the%20maxHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23maxHeight')); smalltalk.bind(smalltalk.DOMStyle,'maxHeight:','maxHeight_' ,function (anObject){ var self=this; self['@handle'].maxHeight=anObject;return self;} ,'accessing',unescape('maxHeight%3A%20anObject%0D%0A%09%22%20Set%20the%20maxHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23maxHeight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'minWidth','minWidth' ,function (){ var self=this; return self['@handle'].minWidth;return self;} ,'accessing',unescape('minWidth%0D%0A%09%22%20Return%20the%20minWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23minWidth')); smalltalk.bind(smalltalk.DOMStyle,'minWidth:','minWidth_' ,function (anObject){ var self=this; self['@handle'].minWidth=anObject;return self;} ,'accessing',unescape('minWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20minWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23minWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'maxWidth','maxWidth' ,function (){ var self=this; return self['@handle'].maxWidth;return self;} ,'accessing',unescape('maxWidth%0D%0A%09%22%20Return%20the%20maxWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23maxWidth')); smalltalk.bind(smalltalk.DOMStyle,'maxWidth:','maxWidth_' ,function (anObject){ var self=this; self['@handle'].maxWidth=anObject;return self;} ,'accessing',unescape('maxWidth%3A%20anObject%0D%0A%09%22%20Set%20the%20maxWidth%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23maxWidth%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'overflow','overflow' ,function (){ var self=this; return self['@handle'].overflow;return self;} ,'accessing',unescape('overflow%0D%0A%09%22%20Return%20the%20overflow%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23overflow')); smalltalk.bind(smalltalk.DOMStyle,'overflow:','overflow_' ,function (anObject){ var self=this; self['@handle'].overflow=anObject;return self;} ,'accessing',unescape('overflow%3A%20anObject%0D%0A%09%22%20Set%20the%20overflow%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23overflow%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'position','position' ,function (){ var self=this; return self['@handle'].position;return self;} ,'accessing',unescape('position%0D%0A%09%22%20Return%20the%20position%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23position')); smalltalk.bind(smalltalk.DOMStyle,'position:','position_' ,function (anObject){ var self=this; self['@handle'].position=anObject;return self;} ,'accessing',unescape('position%3A%20anObject%0D%0A%09%22%20Set%20the%20position%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23position%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'verticalAlign','verticalAlign' ,function (){ var self=this; return self['@handle'].verticalAlign;return self;} ,'accessing',unescape('verticalAlign%0D%0A%09%22%20Return%20the%20verticalAlign%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23verticalAlign')); smalltalk.bind(smalltalk.DOMStyle,'verticalAlign:','verticalAlign_' ,function (anObject){ var self=this; self['@handle'].verticalAlign=anObject;return self;} ,'accessing',unescape('verticalAlign%3A%20anObject%0D%0A%09%22%20Set%20the%20verticalAlign%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23verticalAlign%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'visibility','visibility' ,function (){ var self=this; return self['@handle'].visibility;return self;} ,'accessing',unescape('visibility%0D%0A%09%22%20Return%20the%20visibility%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23visibility')); smalltalk.bind(smalltalk.DOMStyle,'visibility:','visibility_' ,function (anObject){ var self=this; self['@handle'].visibility=anObject;return self;} ,'accessing',unescape('visibility%3A%20anObject%0D%0A%09%22%20Set%20the%20visibility%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23visibility%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'zIndex','zIndex' ,function (){ var self=this; return self['@handle'].zIndex;return self;} ,'accessing',unescape('zIndex%0D%0A%09%22%20Return%20the%20zIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23zIndex')); smalltalk.bind(smalltalk.DOMStyle,'zIndex:','zIndex_' ,function (anObject){ var self=this; self['@handle'].zIndex=anObject;return self;} ,'accessing',unescape('zIndex%3A%20anObject%0D%0A%09%22%20Set%20the%20zIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23zIndex%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'orphans','orphans' ,function (){ var self=this; return self['@handle'].orphans;return self;} ,'accessing',unescape('orphans%0D%0A%09%22%20Return%20the%20orphans%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23orphans')); smalltalk.bind(smalltalk.DOMStyle,'orphans:','orphans_' ,function (anObject){ var self=this; self['@handle'].orphans=anObject;return self;} ,'accessing',unescape('orphans%3A%20anObject%0D%0A%09%22%20Set%20the%20orphans%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23orphans%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'pageBreakAfter','pageBreakAfter' ,function (){ var self=this; return self['@handle'].pageBreakAfter;return self;} ,'accessing',unescape('pageBreakAfter%0D%0A%09%22%20Return%20the%20pageBreakAfter%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23pageBreakAfter')); smalltalk.bind(smalltalk.DOMStyle,'pageBreakAfter:','pageBreakAfter_' ,function (anObject){ var self=this; self['@handle'].pageBreakAfter=anObject;return self;} ,'accessing',unescape('pageBreakAfter%3A%20anObject%0D%0A%09%22%20Set%20the%20pageBreakAfter%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23pageBreakAfter%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'pageBreakBefore','pageBreakBefore' ,function (){ var self=this; return self['@handle'].pageBreakBefore;return self;} ,'accessing',unescape('pageBreakBefore%0D%0A%09%22%20Return%20the%20pageBreakBefore%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23pageBreakBefore')); smalltalk.bind(smalltalk.DOMStyle,'pageBreakBefore:','pageBreakBefore_' ,function (anObject){ var self=this; self['@handle'].pageBreakBefore=anObject;return self;} ,'accessing',unescape('pageBreakBefore%3A%20anObject%0D%0A%09%22%20Set%20the%20pageBreakBefore%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23pageBreakBefore%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'pageBreakInside','pageBreakInside' ,function (){ var self=this; return self['@handle'].pageBreakInside;return self;} ,'accessing',unescape('pageBreakInside%0D%0A%09%22%20Return%20the%20pageBreakInside%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23pageBreakInside')); smalltalk.bind(smalltalk.DOMStyle,'pageBreakInside:','pageBreakInside_' ,function (anObject){ var self=this; self['@handle'].pageBreakInside=anObject;return self;} ,'accessing',unescape('pageBreakInside%3A%20anObject%0D%0A%09%22%20Set%20the%20pageBreakInside%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23pageBreakInside%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'windows','windows' ,function (){ var self=this; return self['@handle'].windows;return self;} ,'accessing',unescape('windows%0D%0A%09%22%20Return%20the%20windows%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23windows')); smalltalk.bind(smalltalk.DOMStyle,'windows:','windows_' ,function (anObject){ var self=this; self['@handle'].windows=anObject;return self;} ,'accessing',unescape('windows%3A%20anObject%0D%0A%09%22%20Set%20the%20windows%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23windows%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderCollapse','borderCollapse' ,function (){ var self=this; return self['@handle'].borderCollapse;return self;} ,'accessing',unescape('borderCollapse%0D%0A%09%22%20Return%20the%20borderCollapse%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderCollapse')); smalltalk.bind(smalltalk.DOMStyle,'borderCollapse:','borderCollapse_' ,function (anObject){ var self=this; self['@handle'].borderCollapse=anObject;return self;} ,'accessing',unescape('borderCollapse%3A%20anObject%0D%0A%09%22%20Set%20the%20borderCollapse%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderCollapse%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'borderSpacing','borderSpacing' ,function (){ var self=this; return self['@handle'].borderSpacing;return self;} ,'accessing',unescape('borderSpacing%0D%0A%09%22%20Return%20the%20borderSpacing%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23borderSpacing')); smalltalk.bind(smalltalk.DOMStyle,'borderSpacing:','borderSpacing_' ,function (anObject){ var self=this; self['@handle'].borderSpacing=anObject;return self;} ,'accessing',unescape('borderSpacing%3A%20anObject%0D%0A%09%22%20Set%20the%20borderSpacing%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23borderSpacing%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'captionSide','captionSide' ,function (){ var self=this; return self['@handle'].captionSide;return self;} ,'accessing',unescape('captionSide%0D%0A%09%22%20Return%20the%20captionSide%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23captionSide')); smalltalk.bind(smalltalk.DOMStyle,'captionSide:','captionSide_' ,function (anObject){ var self=this; self['@handle'].captionSide=anObject;return self;} ,'accessing',unescape('captionSide%3A%20anObject%0D%0A%09%22%20Set%20the%20captionSide%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23captionSide%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'emptyCells','emptyCells' ,function (){ var self=this; return self['@handle'].emptyCells;return self;} ,'accessing',unescape('emptyCells%0D%0A%09%22%20Return%20the%20emptyCells%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23emptyCells')); smalltalk.bind(smalltalk.DOMStyle,'emptyCells:','emptyCells_' ,function (anObject){ var self=this; self['@handle'].emptyCells=anObject;return self;} ,'accessing',unescape('emptyCells%3A%20anObject%0D%0A%09%22%20Set%20the%20emptyCells%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23emptyCells%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'tableLayout','tableLayout' ,function (){ var self=this; return self['@handle'].tableLayout;return self;} ,'accessing',unescape('tableLayout%0D%0A%09%22%20Return%20the%20tableLayout%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23tableLayout')); smalltalk.bind(smalltalk.DOMStyle,'tableLayout:','tableLayout_' ,function (anObject){ var self=this; self['@handle'].tableLayout=anObject;return self;} ,'accessing',unescape('tableLayout%3A%20anObject%0D%0A%09%22%20Set%20the%20tableLayout%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23tableLayout%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'color','color' ,function (){ var self=this; return self['@handle'].color;return self;} ,'accessing',unescape('color%0D%0A%09%22%20Return%20the%20color%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23color')); smalltalk.bind(smalltalk.DOMStyle,'color:','color_' ,function (anObject){ var self=this; self['@handle'].color=anObject;return self;} ,'accessing',unescape('color%3A%20anObject%0D%0A%09%22%20Set%20the%20color%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23color%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'direction','direction' ,function (){ var self=this; return self['@handle'].direction;return self;} ,'accessing',unescape('direction%0D%0A%09%22%20Return%20the%20direction%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23direction')); smalltalk.bind(smalltalk.DOMStyle,'direction:','direction_' ,function (anObject){ var self=this; self['@handle'].direction=anObject;return self;} ,'accessing',unescape('direction%3A%20anObject%0D%0A%09%22%20Set%20the%20direction%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23direction%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'font','font' ,function (){ var self=this; return self['@handle'].font;return self;} ,'accessing',unescape('font%0D%0A%09%22%20Return%20the%20font%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23font')); smalltalk.bind(smalltalk.DOMStyle,'font:','font_' ,function (anObject){ var self=this; self['@handle'].font=anObject;return self;} ,'accessing',unescape('font%3A%20anObject%0D%0A%09%22%20Set%20the%20font%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23font%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'fontFamily','fontFamily' ,function (){ var self=this; return self['@handle'].fontFamily;return self;} ,'accessing',unescape('fontFamily%0D%0A%09%22%20Return%20the%20fontFamily%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23fontFamily')); smalltalk.bind(smalltalk.DOMStyle,'fontFamily:','fontFamily_' ,function (anObject){ var self=this; self['@handle'].fontFamily=anObject;return self;} ,'accessing',unescape('fontFamily%3A%20anObject%0D%0A%09%22%20Set%20the%20fontFamily%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23fontFamily%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'fontSizeAdjust','fontSizeAdjust' ,function (){ var self=this; return self['@handle'].fontSizeAdjust;return self;} ,'accessing',unescape('fontSizeAdjust%0D%0A%09%22%20Return%20the%20fontSizeAdjust%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23fontSizeAdjust')); smalltalk.bind(smalltalk.DOMStyle,'fontSizeAdjust:','fontSizeAdjust_' ,function (anObject){ var self=this; self['@handle'].fontSizeAdjust=anObject;return self;} ,'accessing',unescape('fontSizeAdjust%3A%20anObject%0D%0A%09%22%20Set%20the%20fontSizeAdjust%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23fontSizeAdjust%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'fontStyle','fontStyle' ,function (){ var self=this; return self['@handle'].fontStyle;return self;} ,'accessing',unescape('fontStyle%0D%0A%09%22%20Return%20the%20fontStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23fontStyle')); smalltalk.bind(smalltalk.DOMStyle,'fontStyle:','fontStyle_' ,function (anObject){ var self=this; self['@handle'].fontStyle=anObject;return self;} ,'accessing',unescape('fontStyle%3A%20anObject%0D%0A%09%22%20Set%20the%20fontStyle%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23fontStyle%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'fontVariant','fontVariant' ,function (){ var self=this; return self['@handle'].fontVariant;return self;} ,'accessing',unescape('fontVariant%0D%0A%09%22%20Return%20the%20fontVariant%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23fontVariant')); smalltalk.bind(smalltalk.DOMStyle,'fontVariant:','fontVariant_' ,function (anObject){ var self=this; self['@handle'].fontVariant=anObject;return self;} ,'accessing',unescape('fontVariant%3A%20anObject%0D%0A%09%22%20Set%20the%20fontVariant%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23fontVariant%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'fontWeight','fontWeight' ,function (){ var self=this; return self['@handle'].fontWeight;return self;} ,'accessing',unescape('fontWeight%0D%0A%09%22%20Return%20the%20fontWeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23fontWeight')); smalltalk.bind(smalltalk.DOMStyle,'fontWeight:','fontWeight_' ,function (anObject){ var self=this; self['@handle'].fontWeight=anObject;return self;} ,'accessing',unescape('fontWeight%3A%20anObject%0D%0A%09%22%20Set%20the%20fontWeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23fontWeight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'letterSpacing','letterSpacing' ,function (){ var self=this; return self['@handle'].letterSpacing;return self;} ,'accessing',unescape('letterSpacing%0D%0A%09%22%20Return%20the%20letterSpacing%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23letterSpacing')); smalltalk.bind(smalltalk.DOMStyle,'letterSpacing:','letterSpacing_' ,function (anObject){ var self=this; self['@handle'].letterSpacing=anObject;return self;} ,'accessing',unescape('letterSpacing%3A%20anObject%0D%0A%09%22%20Set%20the%20letterSpacing%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23letterSpacing%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'lineHeight','lineHeight' ,function (){ var self=this; return self['@handle'].lineHeight;return self;} ,'accessing',unescape('lineHeight%0D%0A%09%22%20Return%20the%20lineHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23lineHeight')); smalltalk.bind(smalltalk.DOMStyle,'lineHeight:','lineHeight_' ,function (anObject){ var self=this; self['@handle'].lineHeight=anObject;return self;} ,'accessing',unescape('lineHeight%3A%20anObject%0D%0A%09%22%20Set%20the%20lineHeight%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23lineHeight%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'quotes','quotes' ,function (){ var self=this; return self['@handle'].quotes;return self;} ,'accessing',unescape('quotes%0D%0A%09%22%20Return%20the%20quotes%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23quotes')); smalltalk.bind(smalltalk.DOMStyle,'quotes:','quotes_' ,function (anObject){ var self=this; self['@handle'].quotes=anObject;return self;} ,'accessing',unescape('quotes%3A%20anObject%0D%0A%09%22%20Set%20the%20quotes%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23quotes%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'textAlign','textAlign' ,function (){ var self=this; return self['@handle'].textAlign;return self;} ,'accessing',unescape('textAlign%0D%0A%09%22%20Return%20the%20textAlign%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23textAlign')); smalltalk.bind(smalltalk.DOMStyle,'textAlign:','textAlign_' ,function (anObject){ var self=this; self['@handle'].textAlign=anObject;return self;} ,'accessing',unescape('textAlign%3A%20anObject%0D%0A%09%22%20Set%20the%20textAlign%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23textAlign%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'textDecoration','textDecoration' ,function (){ var self=this; return self['@handle'].textDecoration;return self;} ,'accessing',unescape('textDecoration%0D%0A%09%22%20Return%20the%20textDecoration%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23textDecoration')); smalltalk.bind(smalltalk.DOMStyle,'textDecoration:','textDecoration_' ,function (anObject){ var self=this; self['@handle'].textDecoration=anObject;return self;} ,'accessing',unescape('textDecoration%3A%20anObject%0D%0A%09%22%20Set%20the%20textDecoration%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23textDecoration%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'textIndent','textIndent' ,function (){ var self=this; return self['@handle'].textIndent;return self;} ,'accessing',unescape('textIndent%0D%0A%09%22%20Return%20the%20textIndent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23textIndent')); smalltalk.bind(smalltalk.DOMStyle,'textIndent:','textIndent_' ,function (anObject){ var self=this; self['@handle'].textIndent=anObject;return self;} ,'accessing',unescape('textIndent%3A%20anObject%0D%0A%09%22%20Set%20the%20textIndent%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23textIndent%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'textShadow','textShadow' ,function (){ var self=this; return self['@handle'].textShadow;return self;} ,'accessing',unescape('textShadow%0D%0A%09%22%20Return%20the%20textShadow%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23textShadow')); smalltalk.bind(smalltalk.DOMStyle,'textShadow:','textShadow_' ,function (anObject){ var self=this; self['@handle'].textShadow=anObject;return self;} ,'accessing',unescape('textShadow%3A%20anObject%0D%0A%09%22%20Set%20the%20textShadow%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23textShadow%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'textTransform','textTransform' ,function (){ var self=this; return self['@handle'].textTransform;return self;} ,'accessing',unescape('textTransform%0D%0A%09%22%20Return%20the%20textTransform%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23textTransform')); smalltalk.bind(smalltalk.DOMStyle,'textTransform:','textTransform_' ,function (anObject){ var self=this; self['@handle'].textTransform=anObject;return self;} ,'accessing',unescape('textTransform%3A%20anObject%0D%0A%09%22%20Set%20the%20textTransform%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23textTransform%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'unicodeBidi','unicodeBidi' ,function (){ var self=this; return self['@handle'].unicodeBidi;return self;} ,'accessing',unescape('unicodeBidi%0D%0A%09%22%20Return%20the%20unicodeBidi%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23unicodeBidi')); smalltalk.bind(smalltalk.DOMStyle,'unicodeBidi:','unicodeBidi_' ,function (anObject){ var self=this; self['@handle'].unicodeBidi=anObject;return self;} ,'accessing',unescape('unicodeBidi%3A%20anObject%0D%0A%09%22%20Set%20the%20unicodeBidi%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23unicodeBidi%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'whiteSpace','whiteSpace' ,function (){ var self=this; return self['@handle'].whiteSpace;return self;} ,'accessing',unescape('whiteSpace%0D%0A%09%22%20Return%20the%20whiteSpace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23whiteSpace')); smalltalk.bind(smalltalk.DOMStyle,'whiteSpace:','whiteSpace_' ,function (anObject){ var self=this; self['@handle'].whiteSpace=anObject;return self;} ,'accessing',unescape('whiteSpace%3A%20anObject%0D%0A%09%22%20Set%20the%20whiteSpace%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23whiteSpace%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMStyle,'wordSpacing','wordSpacing' ,function (){ var self=this; return self['@handle'].wordSpacing;return self;} ,'accessing',unescape('wordSpacing%0D%0A%09%22%20Return%20the%20wordSpacing%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23wordSpacing')); smalltalk.bind(smalltalk.DOMStyle,'wordSpacing:','wordSpacing_' ,function (anObject){ var self=this; self['@handle'].wordSpacing=anObject;return self;} ,'accessing',unescape('wordSpacing%3A%20anObject%0D%0A%09%22%20Set%20the%20wordSpacing%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23wordSpacing%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTable.$klass,'tagName','tagName' ,function (){ var self=this; return "TABLE";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27TABLE%27')); smalltalk.bind(smalltalk.DOMTable,'cellPadding','cellPadding' ,function (){ var self=this; return self['@handle'].cellPadding;return self;} ,'accessing',unescape('cellPadding%0D%0A%09%22%20Return%20the%20cellPadding%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cellPadding')); smalltalk.bind(smalltalk.DOMTable,'cellPadding:','cellPadding_' ,function (anObject){ var self=this; self['@handle'].cellPadding=anObject;return self;} ,'accessing',unescape('cellPadding%3A%20anObject%0D%0A%09%22%20Set%20the%20cellPadding%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23cellPadding%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTable,'cellSpacing','cellSpacing' ,function (){ var self=this; return self['@handle'].cellSpacing;return self;} ,'accessing',unescape('cellSpacing%0D%0A%09%22%20Return%20the%20cellSpacing%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cellSpacing')); smalltalk.bind(smalltalk.DOMTable,'cellSpacing:','cellSpacing_' ,function (anObject){ var self=this; self['@handle'].cellSpacing=anObject;return self;} ,'accessing',unescape('cellSpacing%3A%20anObject%0D%0A%09%22%20Set%20the%20cellSpacing%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23cellSpacing%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTable,'frame','frame' ,function (){ var self=this; return self['@handle'].frame;return self;} ,'accessing',unescape('frame%0D%0A%09%22%20Return%20the%20frame%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23frame')); smalltalk.bind(smalltalk.DOMTable,'frame:','frame_' ,function (anObject){ var self=this; self['@handle'].frame=anObject;return self;} ,'accessing',unescape('frame%3A%20anObject%0D%0A%09%22%20Set%20the%20frame%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23frame%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTable,'rules','rules' ,function (){ var self=this; return self['@handle'].rules;return self;} ,'accessing',unescape('rules%0D%0A%09%22%20Return%20the%20rules%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rules')); smalltalk.bind(smalltalk.DOMTable,'rules:','rules_' ,function (anObject){ var self=this; self['@handle'].rules=anObject;return self;} ,'accessing',unescape('rules%3A%20anObject%0D%0A%09%22%20Set%20the%20rules%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23rules%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTable,'summary','summary' ,function (){ var self=this; return self['@handle'].summary;return self;} ,'accessing',unescape('summary%0D%0A%09%22%20Return%20the%20summary%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23summary')); smalltalk.bind(smalltalk.DOMTable,'summary:','summary_' ,function (anObject){ var self=this; self['@handle'].summary=anObject;return self;} ,'accessing',unescape('summary%3A%20anObject%0D%0A%09%22%20Set%20the%20summary%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23summary%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTable,'caption','caption' ,function (){ var self=this; return self['@handle'].caption;return self;} ,'accessing',unescape('caption%0D%0A%09%22%20Return%20the%20caption%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23caption')); smalltalk.bind(smalltalk.DOMTable,'cells','cells' ,function (){ var self=this; return self.array_of_(self['@handle'].cells, smalltalk.DOMTD);return self;} ,'accessing',unescape('cells%0D%0A%09%22%20Return%20the%20cells%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23cells%20of%3A%20DOMTD')); smalltalk.bind(smalltalk.DOMTable,'cellsDo:','cellsDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].cells, smalltalk.DOMTD, aBlock);return self;} ,'accessing',unescape('cellsDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20cells%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23cells%20of%3A%20DOMTD%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMTable,'cellAt:','cellAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].cells, smalltalk.DOMTD, index);return self;} ,'accessing',unescape('cellAt%3A%20index%0D%0A%09%22%20Return%20the%20cell%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23cells%20of%3A%20DOMTD%20at%3A%20index')); smalltalk.bind(smalltalk.DOMTable,'rows','rows' ,function (){ var self=this; return self.array_of_(self['@handle'].rows, smalltalk.DOMTR);return self;} ,'accessing',unescape('rows%0D%0A%09%22%20Return%20the%20rows%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23rows%20of%3A%20DOMTR')); smalltalk.bind(smalltalk.DOMTable,'rowsDo:','rowsDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].rows, smalltalk.DOMTR, aBlock);return self;} ,'accessing',unescape('rowsDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20rows%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23rows%20of%3A%20DOMTR%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMTable,'rowAt:','rowAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].rows, smalltalk.DOMTR, index);return self;} ,'accessing',unescape('rowAt%3A%20index%0D%0A%09%22%20Return%20the%20row%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23rows%20of%3A%20DOMTR%20at%3A%20index')); smalltalk.bind(smalltalk.DOMTable,'tBodies','tBodies' ,function (){ var self=this; return self.array_of_(self['@handle'].tBodies, smalltalk.DOMTbody);return self;} ,'accessing',unescape('tBodies%0D%0A%09%22%20Return%20the%20tBodies%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23tBodies%20of%3A%20DOMTbody')); smalltalk.bind(smalltalk.DOMTable,'tBodiesDo:','tBodiesDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].tBodies, smalltalk.DOMTbody, aBlock);return self;} ,'accessing',unescape('tBodiesDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20tBodies%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23tBodies%20of%3A%20DOMTbody%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMTable,'tBodyAt:','tBodyAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].tBodies, smalltalk.DOMTbody, index);return self;} ,'accessing',unescape('tBodyAt%3A%20index%0D%0A%09%22%20Return%20the%20tBody%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23tBodies%20of%3A%20DOMTbody%20at%3A%20index')); smalltalk.bind(smalltalk.DOMTable,'tFoot','tFoot' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].tFoot);return self;} ,'accessing',unescape('tFoot%0D%0A%09%22%20Return%20the%20tFoot%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%23tFoot')); smalltalk.bind(smalltalk.DOMTable,'tHead','tHead' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].tHead);return self;} ,'accessing',unescape('tHead%0D%0A%09%22%20Return%20the%20tHead%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%23tHead')); smalltalk.bind(smalltalk.DOMTable,'createCaption','createCaption' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].createCaption);return self;} ,'accessing',unescape('createCaption%0D%0A%09%22%20Return%20the%20caption%20of%20the%20receiver%20%28create%20a%20new%20element%20if%20needed%29.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%23createCaption')); smalltalk.bind(smalltalk.DOMTable,'createTFoot','createTFoot' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].createTFoot);return self;} ,'accessing',unescape('createTFoot%0D%0A%09%22%20Return%20the%20foot%20of%20the%20receiver%20%28create%20a%20new%20element%20if%20needed%29.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%23createTFoot')); smalltalk.bind(smalltalk.DOMTable,'createTHead','createTHead' ,function (){ var self=this; return smalltalk.DOMElement._at(self['@handle'].createTHead);return self;} ,'accessing',unescape('createTHead%0D%0A%09%22%20Return%20the%20head%20of%20the%20receiver%20%28create%20a%20new%20element%20if%20needed%29.%20%22%0D%0A%0D%0A%09%5EDOMElement%20@%20handle%23createTHead')); smalltalk.bind(smalltalk.DOMTable,'deleteCaption','deleteCaption' ,function (){ var self=this; self['@handle'].deleteCaption();return self;} ,'accessing',unescape('deleteCaption%0D%0A%09%22%20Delete%20the%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%20deleteCaption')); smalltalk.bind(smalltalk.DOMTable,'deleteTFoot','deleteTFoot' ,function (){ var self=this; self['@handle'].deleteTFoot();return self;} ,'accessing',unescape('deleteTFoot%0D%0A%09%22%20Delete%20the%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%20deleteTFoot')); smalltalk.bind(smalltalk.DOMTable,'deleteTHead','deleteTHead' ,function (){ var self=this; self['@handle'].deleteTHead();return self;} ,'accessing',unescape('deleteTHead%0D%0A%09%22%20Delete%20the%20element%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%20deleteTHead')); smalltalk.bind(smalltalk.DOMTable,'insertRow:','insertRow_' ,function (index){ var self=this; return smalltalk.DOMTR._at(self['@handle'].inserRow(index));return self;} ,'accessing',unescape('insertRow%3A%20index%0D%0A%09%22%20Insert%20a%20row%20in%20the%20receiver%20at%20index%28zero%20indexed%29%20position.%0D%0A%09index%20specifies%20the%20position%20of%20the%20row%20to%20insert%20%28starts%20at%200%29.%0D%0A%09The%20value%20of%20-1%20can%20also%20be%20used%3B%20which%20result%20in%20that%20the%20new%20row%20will%20be%20inserted%20at%20the%20last%20position.%0D%0A%09%22%0D%0A%0D%0A%09%5EDOMTR%20@%20%28handle%20%23inserRow%3A%20index%29')); smalltalk.bind(smalltalk.DOMTable,'insertRowAt:','insertRowAt_' ,function (index){ var self=this; return smalltalk.DOMTR._at(self['@handle'].inserRow((index - (1))));return self;} ,'accessing',unescape('insertRowAt%3A%20index%0D%0A%09%22%20Insert%20a%20row%20in%20the%20receiver%20at%20index%28ONE%20indexed%29%20position.%20%22%0D%0A%0D%0A%09%5EDOMTR%20@%20%28handle%20%23inserRow%3A%20index%20-%201%29')); smalltalk.bind(smalltalk.DOMTD.$klass,'tagName','tagName' ,function (){ var self=this; return "TD";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27TD%27')); smalltalk.bind(smalltalk.DOMTD,'abbr','abbr' ,function (){ var self=this; return self['@handle'].abbr;return self;} ,'accessing',unescape('abbr%0D%0A%09%22%20Return%20the%20abbr%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23abbr')); smalltalk.bind(smalltalk.DOMTD,'abbr:','abbr_' ,function (anObject){ var self=this; self['@handle'].abbr=anObject;return self;} ,'accessing',unescape('abbr%3A%20anObject%0D%0A%09%22%20Set%20the%20abbr%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23abbr%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTD,'axis','axis' ,function (){ var self=this; return self['@handle'].axis;return self;} ,'accessing',unescape('axis%0D%0A%09%22%20Return%20the%20axis%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23axis')); smalltalk.bind(smalltalk.DOMTD,'axis:','axis_' ,function (anObject){ var self=this; self['@handle'].axis=anObject;return self;} ,'accessing',unescape('axis%3A%20anObject%0D%0A%09%22%20Set%20the%20axis%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23axis%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTD,'ch','ch' ,function (){ var self=this; return self['@handle'].ch;return self;} ,'accessing',unescape('ch%0D%0A%09%22%20Return%20the%20ch%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23ch')); smalltalk.bind(smalltalk.DOMTD,'ch:','ch_' ,function (anObject){ var self=this; self['@handle'].ch=anObject;return self;} ,'accessing',unescape('ch%3A%20anObject%0D%0A%09%22%20Set%20the%20ch%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23ch%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTD,'chOff','chOff' ,function (){ var self=this; return self['@handle'].chOff;return self;} ,'accessing',unescape('chOff%0D%0A%09%22%20Return%20the%20chOff%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23chOff')); smalltalk.bind(smalltalk.DOMTD,'chOff:','chOff_' ,function (anObject){ var self=this; self['@handle'].chOff=anObject;return self;} ,'accessing',unescape('chOff%3A%20anObject%0D%0A%09%22%20Set%20the%20chOff%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23chOff%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTD,'colSpan','colSpan' ,function (){ var self=this; return self['@handle'].colSpan;return self;} ,'accessing',unescape('colSpan%0D%0A%09%22%20Return%20the%20colSpan%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23colSpan')); smalltalk.bind(smalltalk.DOMTD,'colSpan:','colSpan_' ,function (anObject){ var self=this; self['@handle'].colSpan=anObject;return self;} ,'accessing',unescape('colSpan%3A%20anObject%0D%0A%09%22%20Set%20the%20colSpan%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23colSpan%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTD,'headers','headers' ,function (){ var self=this; return self['@handle'].headers;return self;} ,'accessing',unescape('headers%0D%0A%09%22%20Return%20the%20headers%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23headers')); smalltalk.bind(smalltalk.DOMTD,'headers:','headers_' ,function (anObject){ var self=this; self['@handle'].headers=anObject;return self;} ,'accessing',unescape('headers%3A%20anObject%0D%0A%09%22%20Set%20the%20headers%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23headers%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTD,'rowSpan','rowSpan' ,function (){ var self=this; return self['@handle'].rowSpan;return self;} ,'accessing',unescape('rowSpan%0D%0A%09%22%20Return%20the%20rowSpan%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rowSpan')); smalltalk.bind(smalltalk.DOMTD,'rowSpan:','rowSpan_' ,function (anObject){ var self=this; self['@handle'].rowSpan=anObject;return self;} ,'accessing',unescape('rowSpan%3A%20anObject%0D%0A%09%22%20Set%20the%20rowSpan%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23rowSpan%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTD,'vAlign','vAlign' ,function (){ var self=this; return self['@handle'].vAlign;return self;} ,'accessing',unescape('vAlign%0D%0A%09%22%20Return%20the%20vAlign%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23vAlign')); smalltalk.bind(smalltalk.DOMTD,'vAlign:','vAlign_' ,function (anObject){ var self=this; self['@handle'].vAlign=anObject;return self;} ,'accessing',unescape('vAlign%3A%20anObject%0D%0A%09%22%20Set%20the%20vAlign%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23vAlign%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTD,'cellIndex','cellIndex' ,function (){ var self=this; return self['@handle'].cellIndex;return self;} ,'accessing',unescape('cellIndex%0D%0A%09%22%20Return%20the%20cellIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cellIndex')); smalltalk.bind(smalltalk.DOMTR.$klass,'tagName','tagName' ,function (){ var self=this; return "TR";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27TR%27')); smalltalk.bind(smalltalk.DOMTR,'ch','ch' ,function (){ var self=this; return self['@handle'].ch;return self;} ,'accessing',unescape('ch%0D%0A%09%22%20Return%20the%20ch%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23ch')); smalltalk.bind(smalltalk.DOMTR,'ch:','ch_' ,function (anObject){ var self=this; self['@handle'].ch=anObject;return self;} ,'accessing',unescape('ch%3A%20anObject%0D%0A%09%22%20Set%20the%20ch%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23ch%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTR,'chOff','chOff' ,function (){ var self=this; return self['@handle'].chOff;return self;} ,'accessing',unescape('chOff%0D%0A%09%22%20Return%20the%20chOff%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23chOff')); smalltalk.bind(smalltalk.DOMTR,'chOff:','chOff_' ,function (anObject){ var self=this; self['@handle'].chOff=anObject;return self;} ,'accessing',unescape('chOff%3A%20anObject%0D%0A%09%22%20Set%20the%20chOff%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23chOff%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTR,'vAlign','vAlign' ,function (){ var self=this; return self['@handle'].vAlign;return self;} ,'accessing',unescape('vAlign%0D%0A%09%22%20Return%20the%20vAlign%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23vAlign')); smalltalk.bind(smalltalk.DOMTR,'vAlign:','vAlign_' ,function (anObject){ var self=this; self['@handle'].vAlign=anObject;return self;} ,'accessing',unescape('vAlign%3A%20anObject%0D%0A%09%22%20Set%20the%20vAlign%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23vAlign%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTR,'rowIndex','rowIndex' ,function (){ var self=this; return self['@handle'].rowIndex;return self;} ,'accessing',unescape('rowIndex%0D%0A%09%22%20Return%20the%20rowIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rowIndex')); smalltalk.bind(smalltalk.DOMTR,'sectionRowIndex','sectionRowIndex' ,function (){ var self=this; return self['@handle'].sectionRowIndex;return self;} ,'accessing',unescape('sectionRowIndex%0D%0A%09%22%20Return%20the%20sectionRowIndex%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23sectionRowIndex')); smalltalk.bind(smalltalk.DOMTR,'cells','cells' ,function (){ var self=this; return self.array_of_(self['@handle'].cells, smalltalk.DOMTD);return self;} ,'accessing',unescape('cells%0D%0A%09%22%20Return%20the%20cells%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23cells%20of%3A%20DOMTD')); smalltalk.bind(smalltalk.DOMTR,'cellsDo:','cellsDo_' ,function (aBlock){ var self=this; return self.array_of_do_(self['@handle'].cells, smalltalk.DOMTD, aBlock);return self;} ,'accessing',unescape('cellsDo%3A%20aBlock%0D%0A%09%22%20Return%20the%20cells%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23cells%20of%3A%20DOMTD%20do%3A%20aBlock')); smalltalk.bind(smalltalk.DOMTR,'cellAt:','cellAt_' ,function (index){ var self=this; return self.array_of_at_(self['@handle'].cells, smalltalk.DOMTD, index);return self;} ,'accessing',unescape('cellAt%3A%20index%0D%0A%09%22%20Return%20the%20cell%20at%20index%20in%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Eself%20array%3A%20handle%23cells%20of%3A%20DOMTD%20at%3A%20index')); smalltalk.bind(smalltalk.DOMTR,'deleteCell:','deleteCell_' ,function (index){ var self=this; self['@handle'].deleteCell(index);return self;} ,'insert/delete',unescape('deleteCell%3A%20index%0D%0A%09%22%20Delete%20the%20element%20of%20the%20receiver%20at%20index%28zero%20indexed%29%20position.%20%22%0D%0A%0D%0A%09handle%20%23deleteCell%3A%20index')); smalltalk.bind(smalltalk.DOMTR,'deleteCellAt:','deleteCellAt_' ,function (index){ var self=this; return self.deleteCell_((index - (1)));return self;} ,'insert/delete',unescape('deleteCellAt%3A%20index%0D%0A%09%22%20Delete%20the%20element%20of%20the%20receiver%20at%20index%28ONE%20indexed%29%20position.%20%22%0D%0A%0D%0A%09%5Eself%20deleteCell%3A%20index%20-%201')); smalltalk.bind(smalltalk.DOMTR,'insertCell:','insertCell_' ,function (index){ var self=this; return smalltalk.DOMTD._at(self['@handle'].inserCell(index));return self;} ,'accessing',unescape('insertCell%3A%20index%0D%0A%09%22%20Insert%20a%20cell%20in%20the%20receiver%20at%20index%28zero%20indexed%29%20position.%0D%0A%09index%20specifies%20the%20position%20of%20the%20row%20to%20insert%20%28starts%20at%200%29.%0D%0A%09The%20value%20of%20-1%20can%20also%20be%20used%3B%20which%20result%20in%20insertion%20at%20the%20last%20position.%0D%0A%09%22%0D%0A%0D%0A%09%5EDOMTD%20@%20%28handle%20%23inserCell%3A%20index%29')); smalltalk.bind(smalltalk.DOMTR,'insertCellAt:','insertCellAt_' ,function (index){ var self=this; return smalltalk.DOMTD._at(self['@handle'].inserCell((index - (1))));return self;} ,'accessing',unescape('insertCellAt%3A%20index%0D%0A%09%22%20Insert%20a%20cellin%20the%20receiver%20at%20index%28ONE%20indexed%29%20position.%20%22%0D%0A%0D%0A%09%5EDOMTD%20@%20%28handle%20%23inserCell%3A%20index%20-%201%29')); smalltalk.bind(smalltalk.DOMTbody.$klass,'tagName','tagName' ,function (){ var self=this; return "TBODY";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27TBODY%27')); smalltalk.bind(smalltalk.DOMLink.$klass,'tagName','tagName' ,function (){ var self=this; return "LINK";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27LINK%27')); smalltalk.bind(smalltalk.DOMLink,'charset','charset' ,function (){ var self=this; return self['@handle'].charset;return self;} ,'accessing',unescape('charset%0D%0A%09%22%20Return%20the%20charset%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23charset')); smalltalk.bind(smalltalk.DOMLink,'charset:','charset_' ,function (anObject){ var self=this; self['@handle'].charset=anObject;return self;} ,'accessing',unescape('charset%3A%20anObject%0D%0A%09%22%20Set%20the%20charset%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23charset%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMLink,'href','href' ,function (){ var self=this; return self['@handle'].href;return self;} ,'accessing',unescape('href%0D%0A%09%22%20Return%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23href')); smalltalk.bind(smalltalk.DOMLink,'href:','href_' ,function (anObject){ var self=this; self['@handle'].href=anObject;return self;} ,'accessing',unescape('href%3A%20anObject%0D%0A%09%22%20Set%20the%20href%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23href%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMLink,'hreflang','hreflang' ,function (){ var self=this; return self['@handle'].hreflang;return self;} ,'accessing',unescape('hreflang%0D%0A%09%22%20Return%20the%20hreflang%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23hreflang')); smalltalk.bind(smalltalk.DOMLink,'hreflang:','hreflang_' ,function (anObject){ var self=this; self['@handle'].hreflang=anObject;return self;} ,'accessing',unescape('hreflang%3A%20anObject%0D%0A%09%22%20Set%20the%20hreflang%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23hreflang%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMLink,'media','media' ,function (){ var self=this; return self['@handle'].media;return self;} ,'accessing',unescape('media%0D%0A%09%22%20Return%20the%20media%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23media')); smalltalk.bind(smalltalk.DOMLink,'media:','media_' ,function (anObject){ var self=this; self['@handle'].media=anObject;return self;} ,'accessing',unescape('media%3A%20anObject%0D%0A%09%22%20Set%20the%20media%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23media%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMLink,'rel','rel' ,function (){ var self=this; return self['@handle'].rel;return self;} ,'accessing',unescape('rel%0D%0A%09%22%20Return%20the%20rel%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rel')); smalltalk.bind(smalltalk.DOMLink,'rel:','rel_' ,function (anObject){ var self=this; self['@handle'].rel=anObject;return self;} ,'accessing',unescape('rel%3A%20anObject%0D%0A%09%22%20Set%20the%20rel%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23rel%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMLink,'rev','rev' ,function (){ var self=this; return self['@handle'].rev;return self;} ,'accessing',unescape('rev%0D%0A%09%22%20Return%20the%20rev%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rev')); smalltalk.bind(smalltalk.DOMLink,'rev:','rev_' ,function (anObject){ var self=this; self['@handle'].rev=anObject;return self;} ,'accessing',unescape('rev%3A%20anObject%0D%0A%09%22%20Set%20the%20rev%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23rev%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMLink,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMLink,'type:','type_' ,function (anObject){ var self=this; self['@handle'].type=anObject;return self;} ,'accessing',unescape('type%3A%20anObject%0D%0A%09%22%20Set%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23type%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMMeta.$klass,'tagName','tagName' ,function (){ var self=this; return "META";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27META%27')); smalltalk.bind(smalltalk.DOMMeta,'content','content' ,function (){ var self=this; return self['@handle'].content;return self;} ,'accessing',unescape('content%0D%0A%09%22%20Return%20the%20content%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23content')); smalltalk.bind(smalltalk.DOMMeta,'content:','content_' ,function (anObject){ var self=this; self['@handle'].content=anObject;return self;} ,'accessing',unescape('content%3A%20anObject%0D%0A%09%22%20Set%20the%20content%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23content%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMMeta,'httpEquiv','httpEquiv' ,function (){ var self=this; return self['@handle'].httpEquiv;return self;} ,'accessing',unescape('httpEquiv%0D%0A%09%22%20Return%20the%20httpEquiv%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23httpEquiv')); smalltalk.bind(smalltalk.DOMMeta,'httpEquiv:','httpEquiv_' ,function (anObject){ var self=this; self['@handle'].httpEquiv=anObject;return self;} ,'accessing',unescape('httpEquiv%3A%20anObject%0D%0A%09%22%20Set%20the%20httpEquiv%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23httpEquiv%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMMeta,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMMeta,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMMeta,'scheme','scheme' ,function (){ var self=this; return self['@handle'].scheme;return self;} ,'accessing',unescape('scheme%0D%0A%09%22%20Return%20the%20scheme%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23scheme')); smalltalk.bind(smalltalk.DOMMeta,'scheme:','scheme_' ,function (anObject){ var self=this; self['@handle'].scheme=anObject;return self;} ,'accessing',unescape('scheme%3A%20anObject%0D%0A%09%22%20Set%20the%20scheme%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23scheme%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTextarea.$klass,'tagName','tagName' ,function (){ var self=this; return "TEXTAREA";return self;} ,'HTML',unescape('tagName%0D%0A%09%22%20Return%20the%20tag%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5E%27TEXTAREA%27')); smalltalk.bind(smalltalk.DOMTextarea,'cols','cols' ,function (){ var self=this; return self['@handle'].cols;return self;} ,'accessing',unescape('cols%0D%0A%09%22%20Return%20the%20cols%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23cols')); smalltalk.bind(smalltalk.DOMTextarea,'cols:','cols_' ,function (anObject){ var self=this; self['@handle'].cols=anObject;return self;} ,'accessing',unescape('cols%3A%20anObject%0D%0A%09%22%20Set%20the%20cols%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23cols%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTextarea,'rows','rows' ,function (){ var self=this; return self['@handle'].rows;return self;} ,'accessing',unescape('rows%0D%0A%09%22%20Return%20the%20rows%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23rows')); smalltalk.bind(smalltalk.DOMTextarea,'rows:','rows_' ,function (anObject){ var self=this; self['@handle'].rows=anObject;return self;} ,'accessing',unescape('rows%3A%20anObject%0D%0A%09%22%20Set%20the%20rows%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23rows%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTextarea,'defaultValue','defaultValue' ,function (){ var self=this; return self['@handle'].defaultValue;return self;} ,'accessing',unescape('defaultValue%0D%0A%09%22%20Return%20the%20defaultValue%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23defaultValue')); smalltalk.bind(smalltalk.DOMTextarea,'defaultValue:','defaultValue_' ,function (anObject){ var self=this; self['@handle'].defaultValue=anObject;return self;} ,'accessing',unescape('defaultValue%3A%20anObject%0D%0A%09%22%20Set%20the%20defaultValue%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23defaultValue%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTextarea,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMTextarea,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTextarea,'readOnly','readOnly' ,function (){ var self=this; return self['@handle'].readOnly;return self;} ,'accessing',unescape('readOnly%0D%0A%09%22%20Return%20the%20readOnly%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23readOnly')); smalltalk.bind(smalltalk.DOMTextarea,'readOnly:','readOnly_' ,function (anObject){ var self=this; self['@handle'].readOnly=anObject;return self;} ,'accessing',unescape('readOnly%3A%20anObject%0D%0A%09%22%20Set%20the%20readOnly%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23readOnly%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTextarea,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMTextarea,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMTextarea,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMTextarea,'form','form' ,function (){ var self=this; return smalltalk.DOMForm._at(self['@handle'].form);return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5EDOMForm%20@%20handle%23form')); smalltalk.bind(smalltalk.DOMTextarea,'select','select' ,function (){ var self=this; self['@handle'].select();return self;} ,'actions',unescape('select%0D%0A%09%22%20Selects%20the%20entire%20contents%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%20select')); smalltalk.bind(smalltalk.DOMInputButton.$klass,'canHandle:tagged:','canHandle_tagged_' ,function (handle,tagName){ var self=this; return tagName._eq("INPUT").and_((function(){return handle.type._eq("button");}));return self;} ,'private-mapping',unescape('canHandle%3A%20handle%20tagged%3A%20tagName%0D%0A%09%22%20Return%20true%20if%20instances%20of%20the%20receiver%20can%20handle%20elements%20tagged%20with%20tagName.%20%22%0D%0A%0D%0A%09%5EtagName%20%3D%20%27INPUT%27%20and%3A%20%5B%20handle%23type%20%3D%20%27button%27%20%5D')); smalltalk.bind(smalltalk.DOMInputButton,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMInputButton,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputButton,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMInputButton,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputButton,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMInputButton,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMInputCheckbox.$klass,'canHandle:tagged:','canHandle_tagged_' ,function (handle,tagName){ var self=this; return tagName._eq("INPUT").and_((function(){return handle.type._eq("checkbox");}));return self;} ,'private-mapping',unescape('canHandle%3A%20handle%20tagged%3A%20tagName%0D%0A%09%22%20Return%20true%20if%20instances%20of%20the%20receiver%20can%20handle%20elements%20tagged%20with%20tagName.%20%22%0D%0A%0D%0A%09%5EtagName%20%3D%20%27INPUT%27%20and%3A%20%5B%20handle%23type%20%3D%20%27checkbox%27%20%5D')); smalltalk.bind(smalltalk.DOMInputCheckbox,'checked','checked' ,function (){ var self=this; return self['@handle'].checked;return self;} ,'accessing',unescape('checked%0D%0A%09%22%20Return%20the%20checked%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23checked')); smalltalk.bind(smalltalk.DOMInputCheckbox,'checked:','checked_' ,function (anObject){ var self=this; self['@handle'].checked=anObject;return self;} ,'accessing',unescape('checked%3A%20anObject%0D%0A%09%22%20Set%20the%20checked%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23checked%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputCheckbox,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMInputCheckbox,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputCheckbox,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMInputCheckbox,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputCheckbox,'defaultChecked','defaultChecked' ,function (){ var self=this; return self['@handle'].defaultChecked;return self;} ,'accessing',unescape('defaultChecked%0D%0A%09%22%20Return%20the%20defaultChecked%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23defaultChecked')); smalltalk.bind(smalltalk.DOMInputCheckbox,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMInputCheckbox,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMInputFile.$klass,'canHandle:tagged:','canHandle_tagged_' ,function (handle,tagName){ var self=this; return tagName._eq("INPUT").and_((function(){return handle.type._eq("file");}));return self;} ,'private-mapping',unescape('canHandle%3A%20handle%20tagged%3A%20tagName%0D%0A%09%22%20Return%20true%20if%20instances%20of%20the%20receiver%20can%20handle%20elements%20tagged%20with%20tagName.%20%22%0D%0A%0D%0A%09%5EtagName%20%3D%20%27INPUT%27%20and%3A%20%5B%20handle%23type%20%3D%20%27file%27%20%5D')); smalltalk.bind(smalltalk.DOMInputFile,'accept','accept' ,function (){ var self=this; return self['@handle'].accept;return self;} ,'accessing',unescape('accept%0D%0A%09%22%20Return%20the%20accept%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23accept')); smalltalk.bind(smalltalk.DOMInputFile,'accept:','accept_' ,function (anObject){ var self=this; self['@handle'].accept=anObject;return self;} ,'accessing',unescape('accept%3A%20anObject%0D%0A%09%22%20Set%20the%20accept%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23accept%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputFile,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMInputFile,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputFile,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMInputFile,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputFile,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMInputFile,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMInputHidden.$klass,'canHandle:tagged:','canHandle_tagged_' ,function (handle,tagName){ var self=this; return tagName._eq("INPUT").and_((function(){return handle.type._eq("hidden");}));return self;} ,'private-mapping',unescape('canHandle%3A%20handle%20tagged%3A%20tagName%0D%0A%09%22%20Return%20true%20if%20instances%20of%20the%20receiver%20can%20handle%20elements%20tagged%20with%20tagName.%20%22%0D%0A%0D%0A%09%5EtagName%20%3D%20%27INPUT%27%20and%3A%20%5B%20handle%23type%20%3D%20%27hidden%27%20%5D')); smalltalk.bind(smalltalk.DOMInputHidden,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMInputHidden,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputHidden,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMInputHidden,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputHidden,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMInputHidden,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMInputRadio.$klass,'canHandle:tagged:','canHandle_tagged_' ,function (handle,tagName){ var self=this; return tagName._eq("INPUT").and_((function(){return handle.type._eq("radio");}));return self;} ,'private-mapping',unescape('canHandle%3A%20handle%20tagged%3A%20tagName%0D%0A%09%22%20Return%20true%20if%20instances%20of%20the%20receiver%20can%20handle%20elements%20tagged%20with%20tagName.%20%22%0D%0A%0D%0A%09%5EtagName%20%3D%20%27INPUT%27%20and%3A%20%5B%20handle%23type%20%3D%20%27radio%27%20%5D')); smalltalk.bind(smalltalk.DOMInputRadio,'checked','checked' ,function (){ var self=this; return self['@handle'].checked;return self;} ,'accessing',unescape('checked%0D%0A%09%22%20Return%20the%20checked%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23checked')); smalltalk.bind(smalltalk.DOMInputRadio,'checked:','checked_' ,function (anObject){ var self=this; self['@handle'].checked=anObject;return self;} ,'accessing',unescape('checked%3A%20anObject%0D%0A%09%22%20Set%20the%20checked%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23checked%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputRadio,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMInputRadio,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputRadio,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMInputRadio,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputRadio,'defaultChecked','defaultChecked' ,function (){ var self=this; return self['@handle'].defaultChecked;return self;} ,'accessing',unescape('defaultChecked%0D%0A%09%22%20Return%20the%20defaultChecked%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23defaultChecked')); smalltalk.bind(smalltalk.DOMInputRadio,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMInputRadio,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMInputText.$klass,'canHandle:tagged:','canHandle_tagged_' ,function (handle,tagName){ var self=this; return tagName._eq("INPUT").and_((function(){return handle.type._eq("text");}));return self;} ,'private-mapping',unescape('canHandle%3A%20handle%20tagged%3A%20tagName%0D%0A%09%22%20Return%20true%20if%20instances%20of%20the%20receiver%20can%20handle%20elements%20tagged%20with%20tagName.%20%22%0D%0A%0D%0A%09%5EtagName%20%3D%20%27INPUT%27%20and%3A%20%5B%20handle%23type%20%3D%20%27text%27%20%5D')); smalltalk.bind(smalltalk.DOMInputText,'name','name' ,function (){ var self=this; return self['@handle'].name;return self;} ,'accessing',unescape('name%0D%0A%09%22%20Return%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23name')); smalltalk.bind(smalltalk.DOMInputText,'name:','name_' ,function (anObject){ var self=this; self['@handle'].name=anObject;return self;} ,'accessing',unescape('name%3A%20anObject%0D%0A%09%22%20Set%20the%20name%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23name%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputText,'value','value' ,function (){ var self=this; return self['@handle'].value;return self;} ,'accessing',unescape('value%0D%0A%09%22%20Return%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23value')); smalltalk.bind(smalltalk.DOMInputText,'value:','value_' ,function (anObject){ var self=this; self['@handle'].value=anObject;return self;} ,'accessing',unescape('value%3A%20anObject%0D%0A%09%22%20Set%20the%20value%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23value%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputText,'defaultValue','defaultValue' ,function (){ var self=this; return self['@handle'].defaultValue;return self;} ,'accessing',unescape('defaultValue%0D%0A%09%22%20Return%20the%20defaultValue%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23defaultValue')); smalltalk.bind(smalltalk.DOMInputText,'defaultValue:','defaultValue_' ,function (anObject){ var self=this; self['@handle'].defaultValue=anObject;return self;} ,'accessing',unescape('defaultValue%3A%20anObject%0D%0A%09%22%20Set%20the%20defaultValue%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23defaultValue%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputText,'maxLength','maxLength' ,function (){ var self=this; return self['@handle'].maxLength;return self;} ,'accessing',unescape('maxLength%0D%0A%09%22%20Return%20the%20maxLength%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23maxLength')); smalltalk.bind(smalltalk.DOMInputText,'maxLength:','maxLength_' ,function (anObject){ var self=this; self['@handle'].maxLength=anObject;return self;} ,'accessing',unescape('maxLength%3A%20anObject%0D%0A%09%22%20Set%20the%20maxLength%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23maxLength%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputText,'readOnly','readOnly' ,function (){ var self=this; return self['@handle'].readOnly;return self;} ,'accessing',unescape('readOnly%0D%0A%09%22%20Return%20the%20readOnly%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23readOnly')); smalltalk.bind(smalltalk.DOMInputText,'readOnly:','readOnly_' ,function (anObject){ var self=this; self['@handle'].readOnly=anObject;return self;} ,'accessing',unescape('readOnly%3A%20anObject%0D%0A%09%22%20Set%20the%20readOnly%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23readOnly%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputText,'size','size' ,function (){ var self=this; return self['@handle'].size;return self;} ,'accessing',unescape('size%0D%0A%09%22%20Return%20the%20size%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23size')); smalltalk.bind(smalltalk.DOMInputText,'size:','size_' ,function (anObject){ var self=this; self['@handle'].size=anObject;return self;} ,'accessing',unescape('size%3A%20anObject%0D%0A%09%22%20Set%20the%20size%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%23size%20%3A%3D%20anObject')); smalltalk.bind(smalltalk.DOMInputText,'form','form' ,function (){ var self=this; return self['@handle'].form;return self;} ,'accessing',unescape('form%0D%0A%09%22%20Return%20the%20form%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23form')); smalltalk.bind(smalltalk.DOMInputText,'type','type' ,function (){ var self=this; return self['@handle'].type;return self;} ,'accessing',unescape('type%0D%0A%09%22%20Return%20the%20type%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09%5Ehandle%23type')); smalltalk.bind(smalltalk.DOMInputText,'select','select' ,function (){ var self=this; self['@handle'].select();return self;} ,'actions',unescape('select%0D%0A%09%22%20Select%20the%20text%20of%20the%20receiver.%20%22%0D%0A%0D%0A%09handle%20select')); smalltalk.initRoots(); smalltalk.$imageFileName="u8.image.js"; smalltalk.OverwriteMethods=true; smalltalk.DumpOverwriteMethods=nil; smalltalk.U8Contribution="Basic U8 image."; smalltalk.U8ContributionURL=unescape("http%3A//u8.smalltalking.net/u8.html"); // Launching S8 image smalltalk.launchImage();