123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950 |
- smalltalk.addPackage('Kernel-Classes', {});
- smalltalk.addClass('Behavior', smalltalk.Object, [], 'Kernel-Classes');
- smalltalk.addMethod(
- unescape('_new'),
- smalltalk.method({
- selector: unescape('new'),
- category: 'instance creation',
- fn: function (){
- var self=this;
- return smalltalk.send(smalltalk.send(self, "_basicNew", []), "_initialize", []);
- return self;},
- args: [],
- source: unescape('new%0A%09%5Eself%20basicNew%20initialize'),
- messageSends: ["initialize", "basicNew"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_basicNew'),
- smalltalk.method({
- selector: unescape('basicNew'),
- category: 'instance creation',
- fn: function (){
- var self=this;
- return new self.fn();
- return self;},
- args: [],
- source: unescape('basicNew%0A%09%3Creturn%20new%20self.fn%28%29%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_name'),
- smalltalk.method({
- selector: unescape('name'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return self.className || nil;
- return self;},
- args: [],
- source: unescape('name%0A%09%3Creturn%20self.className%20%7C%7C%20nil%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_superclass'),
- smalltalk.method({
- selector: unescape('superclass'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return self.superclass || nil;
- return self;},
- args: [],
- source: unescape('superclass%0A%09%3Creturn%20self.superclass%20%7C%7C%20nil%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_subclasses'),
- smalltalk.method({
- selector: unescape('subclasses'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.subclasses(self);
- return self;},
- args: [],
- source: unescape('subclasses%0A%09%3Creturn%20smalltalk.subclasses%28self%29%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_allSubclasses'),
- smalltalk.method({
- selector: unescape('allSubclasses'),
- category: 'accessing',
- fn: function (){
- var self=this;
- var result=nil;
- result=smalltalk.send(self, "_subclasses", []);
- smalltalk.send(smalltalk.send(self, "_subclasses", []), "_do_", [(function(each){return smalltalk.send(result, "_addAll_", [smalltalk.send(each, "_allSubclasses", [])]);})]);
- return result;
- return self;},
- args: [],
- source: unescape('allSubclasses%0A%09%7C%20result%20%7C%0A%09result%20%3A%3D%20self%20subclasses.%0A%09self%20subclasses%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20result%20addAll%3A%20each%20allSubclasses%5D.%0A%09%5Eresult'),
- messageSends: ["subclasses", "do:", "addAll:", "allSubclasses"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_withAllSubclasses'),
- smalltalk.method({
- selector: unescape('withAllSubclasses'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return (function($rec){smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_allSubclasses", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Array || Array), "_with_", [self]));
- return self;},
- args: [],
- source: unescape('withAllSubclasses%0A%09%5E%28Array%20with%3A%20self%29%20addAll%3A%20self%20allSubclasses%3B%20yourself'),
- messageSends: ["addAll:", "allSubclasses", "yourself", "with:"],
- referencedClasses: ["Array"]
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_prototype'),
- smalltalk.method({
- selector: unescape('prototype'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return self.fn.prototype;
- return self;},
- args: [],
- source: unescape('prototype%0A%09%3Creturn%20self.fn.prototype%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_methodDictionary'),
- smalltalk.method({
- selector: unescape('methodDictionary'),
- category: 'accessing',
- fn: function (){
- var self=this;
- var dict = smalltalk.Dictionary._new();
- var methods = self.fn.prototype.methods;
- for(var i in methods) {
- if(methods[i].selector) {
- dict._at_put_(methods[i].selector, methods[i]);
- }
- };
- return dict;
- return self;},
- args: [],
- source: unescape('methodDictionary%0A%09%3Cvar%20dict%20%3D%20smalltalk.Dictionary._new%28%29%3B%0A%09var%20methods%20%3D%20self.fn.prototype.methods%3B%0A%09for%28var%20i%20in%20methods%29%20%7B%0A%09%09if%28methods%5Bi%5D.selector%29%20%7B%0A%09%09%09dict._at_put_%28methods%5Bi%5D.selector%2C%20methods%5Bi%5D%29%3B%0A%09%09%7D%0A%09%7D%3B%0A%09return%20dict%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_methodsFor_'),
- smalltalk.method({
- selector: unescape('methodsFor%3A'),
- category: 'accessing',
- fn: function (aString){
- var self=this;
- return (function($rec){smalltalk.send($rec, "_class_category_", [self, aString]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.ClassCategoryReader || ClassCategoryReader), "_new", []));
- return self;},
- args: ["aString"],
- source: unescape('methodsFor%3A%20aString%0A%09%5EClassCategoryReader%20new%0A%09%20%20%20%20class%3A%20self%20category%3A%20aString%3B%0A%09%20%20%20%20yourself'),
- messageSends: ["class:category:", "yourself", "new"],
- referencedClasses: ["ClassCategoryReader"]
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_addCompiledMethod_'),
- smalltalk.method({
- selector: unescape('addCompiledMethod%3A'),
- category: 'accessing',
- fn: function (aMethod){
- var self=this;
- smalltalk.addMethod(aMethod.selector._asSelector(), aMethod, self);
- return self;},
- args: ["aMethod"],
- source: unescape('addCompiledMethod%3A%20aMethod%0A%09%3Csmalltalk.addMethod%28aMethod.selector._asSelector%28%29%2C%20aMethod%2C%20self%29%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_instanceVariableNames'),
- smalltalk.method({
- selector: unescape('instanceVariableNames'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return self.iVarNames;
- return self;},
- args: [],
- source: unescape('instanceVariableNames%0A%09%3Creturn%20self.iVarNames%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_comment'),
- smalltalk.method({
- selector: unescape('comment'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return (($receiver = smalltalk.send(self, "_basicAt_", ["comment"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
- return self;},
- args: [],
- source: unescape('comment%0A%20%20%20%20%5E%28self%20basicAt%3A%20%27comment%27%29%20ifNil%3A%20%5B%27%27%5D'),
- messageSends: ["ifNil:", "basicAt:"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_comment_'),
- smalltalk.method({
- selector: unescape('comment%3A'),
- category: 'accessing',
- fn: function (aString){
- var self=this;
- smalltalk.send(self, "_basicAt_put_", ["comment", aString]);
- return self;},
- args: ["aString"],
- source: unescape('comment%3A%20aString%0A%20%20%20%20self%20basicAt%3A%20%27comment%27%20put%3A%20aString'),
- messageSends: ["basicAt:put:"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_commentStamp'),
- smalltalk.method({
- selector: unescape('commentStamp'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return (function($rec){smalltalk.send($rec, "_class_", [self]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.ClassCommentReader || ClassCommentReader), "_new", []));
- return self;},
- args: [],
- source: unescape('commentStamp%0A%20%20%20%20%5EClassCommentReader%20new%0A%09class%3A%20self%3B%0A%09yourself'),
- messageSends: ["class:", "yourself", "new"],
- referencedClasses: ["ClassCommentReader"]
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_removeCompiledMethod_'),
- smalltalk.method({
- selector: unescape('removeCompiledMethod%3A'),
- category: 'accessing',
- fn: function (aMethod){
- var self=this;
- delete self.fn.prototype[aMethod.selector._asSelector()];
- delete self.fn.prototype.methods[aMethod.selector];
- smalltalk.init(self);;
- return self;},
- args: ["aMethod"],
- source: unescape('removeCompiledMethod%3A%20aMethod%0A%09%3Cdelete%20self.fn.prototype%5BaMethod.selector._asSelector%28%29%5D%3B%0A%09delete%20self.fn.prototype.methods%5BaMethod.selector%5D%3B%0A%09smalltalk.init%28self%29%3B%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_inheritsFrom_'),
- smalltalk.method({
- selector: unescape('inheritsFrom%3A'),
- category: 'instance creation',
- fn: function (aClass){
- var self=this;
- return smalltalk.send(smalltalk.send(aClass, "_allSubclasses", []), "_includes_", [self]);
- return self;},
- args: ["aClass"],
- source: unescape('inheritsFrom%3A%20aClass%0A%09%5EaClass%20allSubclasses%20includes%3A%20self'),
- messageSends: ["includes:", "allSubclasses"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_protocols'),
- smalltalk.method({
- selector: unescape('protocols'),
- category: 'accessing',
- fn: function (){
- var self=this;
- var protocols=nil;
- protocols=smalltalk.send((smalltalk.Array || Array), "_new", []);
- smalltalk.send(smalltalk.send(self, "_methodDictionary", []), "_do_", [(function(each){return ((($receiver = smalltalk.send(protocols, "_includes_", [smalltalk.send(each, "_category", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(protocols, "_add_", [smalltalk.send(each, "_category", [])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(protocols, "_add_", [smalltalk.send(each, "_category", [])]);})]));})]);
- return smalltalk.send(protocols, "_sort", []);
- return self;},
- args: [],
- source: unescape('protocols%0A%20%20%20%20%7C%20protocols%20%7C%0A%20%20%20%20protocols%20%3A%3D%20Array%20new.%0A%20%20%20%20self%20methodDictionary%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20%28protocols%20includes%3A%20each%20category%29%20ifFalse%3A%20%5B%0A%09%09protocols%20add%3A%20each%20category%5D%5D.%0A%20%20%20%20%5Eprotocols%20sort'),
- messageSends: ["new", "do:", "methodDictionary", "ifFalse:", "includes:", "category", "add:", "sort"],
- referencedClasses: ["Array"]
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_protocolsDo_'),
- smalltalk.method({
- selector: unescape('protocolsDo%3A'),
- category: 'accessing',
- fn: function (aBlock){
- var self=this;
- var methodsByCategory=nil;
- methodsByCategory=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []);
- smalltalk.send(smalltalk.send(smalltalk.send(self, "_methodDictionary", []), "_values", []), "_do_", [(function(m){return smalltalk.send(smalltalk.send(methodsByCategory, "_at_ifAbsentPut_", [smalltalk.send(m, "_category", []), (function(){return smalltalk.send((smalltalk.Array || Array), "_new", []);})]), "_add_", [m]);})]);
- smalltalk.send(smalltalk.send(self, "_protocols", []), "_do_", [(function(category){return smalltalk.send(aBlock, "_value_value_", [category, smalltalk.send(methodsByCategory, "_at_", [category])]);})]);
- return self;},
- args: ["aBlock"],
- source: unescape('protocolsDo%3A%20aBlock%0A%09%22Execute%20aBlock%20for%20each%20method%20category%20with%0A%09its%20collection%20of%20methods%20in%20the%20sort%20order%20of%20category%20name.%22%0A%0A%09%7C%20methodsByCategory%20%7C%0A%09methodsByCategory%20%3A%3D%20Dictionary%20new.%0A%09self%20methodDictionary%20values%20do%3A%20%5B%3Am%20%7C%0A%09%09%28methodsByCategory%20at%3A%20m%20category%20ifAbsentPut%3A%20%5BArray%20new%5D%29%0A%20%09%09%09add%3A%20m%5D.%20%0A%09self%20protocols%20do%3A%20%5B%3Acategory%20%7C%0A%09%09aBlock%20value%3A%20category%20value%3A%20%28methodsByCategory%20at%3A%20category%29%5D'),
- messageSends: ["new", "do:", "values", "methodDictionary", "add:", "at:ifAbsentPut:", "category", "protocols", "value:value:", "at:"],
- referencedClasses: ["Dictionary", "Array"]
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_allInstanceVariableNames'),
- smalltalk.method({
- selector: unescape('allInstanceVariableNames'),
- category: 'accessing',
- fn: function (){
- var self=this;
- var result=nil;
- result=smalltalk.send(smalltalk.send(self, "_instanceVariableNames", []), "_copy", []);
- (($receiver = smalltalk.send(self, "_superclass", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(result, "_addAll_", [smalltalk.send(smalltalk.send(self, "_superclass", []), "_allInstanceVariableNames", [])]);})() : nil;
- return result;
- return self;},
- args: [],
- source: unescape('allInstanceVariableNames%0A%09%7C%20result%20%7C%0A%09result%20%3A%3D%20self%20instanceVariableNames%20copy.%0A%09self%20superclass%20ifNotNil%3A%20%5B%0A%09%20%20%20%20result%20addAll%3A%20self%20superclass%20allInstanceVariableNames%5D.%0A%09%5Eresult'),
- messageSends: ["copy", "instanceVariableNames", "ifNotNil:", "superclass", "addAll:", "allInstanceVariableNames"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_methodAt_'),
- smalltalk.method({
- selector: unescape('methodAt%3A'),
- category: 'accessing',
- fn: function (aString){
- var self=this;
- return smalltalk.methods(self)[aString];
- return self;},
- args: ["aString"],
- source: unescape('methodAt%3A%20aString%0A%09%3Creturn%20smalltalk.methods%28self%29%5BaString%5D%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_methodsFor_stamp_'),
- smalltalk.method({
- selector: unescape('methodsFor%3Astamp%3A'),
- category: 'accessing',
- fn: function (aString, aStamp){
- var self=this;
- return smalltalk.send(self, "_methodsFor_", [aString]);
- return self;},
- args: ["aString", "aStamp"],
- source: unescape('methodsFor%3A%20aString%20stamp%3A%20aStamp%0A%09%22Added%20for%20compatibility%2C%20right%20now%20ignores%20stamp.%22%0A%09%5Eself%20methodsFor%3A%20aString'),
- messageSends: ["methodsFor:"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_commentStamp_prior_'),
- smalltalk.method({
- selector: unescape('commentStamp%3Aprior%3A'),
- category: 'accessing',
- fn: function (aStamp, prior){
- var self=this;
- return smalltalk.send(self, "_commentStamp", []);
- return self;},
- args: ["aStamp", "prior"],
- source: unescape('commentStamp%3A%20aStamp%20prior%3A%20prior%0A%20%20%20%20%20%20%20%20%5Eself%20commentStamp'),
- messageSends: ["commentStamp"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_compile_'),
- smalltalk.method({
- selector: unescape('compile%3A'),
- category: 'compiling',
- fn: function (aString){
- var self=this;
- smalltalk.send(self, "_compile_category_", [aString, ""]);
- return self;},
- args: ["aString"],
- source: unescape('compile%3A%20aString%0A%09self%20compile%3A%20aString%20category%3A%20%27%27'),
- messageSends: ["compile:category:"],
- referencedClasses: []
- }),
- smalltalk.Behavior);
- smalltalk.addMethod(
- unescape('_compile_category_'),
- smalltalk.method({
- selector: unescape('compile%3Acategory%3A'),
- category: 'compiling',
- fn: function (aString, anotherString){
- var self=this;
- var method=nil;
- method=smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [aString, self]);
- smalltalk.send(method, "_category_", [anotherString]);
- smalltalk.send(self, "_addCompiledMethod_", [method]);
- return self;},
- args: ["aString", "anotherString"],
- source: unescape('compile%3A%20aString%20category%3A%20anotherString%0A%09%7C%20method%20%7C%0A%09method%20%3A%3D%20Compiler%20new%20load%3A%20aString%20forClass%3A%20self.%0A%09method%20category%3A%20anotherString.%0A%09self%20addCompiledMethod%3A%20method'),
- messageSends: ["load:forClass:", "new", "category:", "addCompiledMethod:"],
- referencedClasses: ["Compiler"]
- }),
- smalltalk.Behavior);
- smalltalk.addClass('Class', smalltalk.Behavior, [], 'Kernel-Classes');
- smalltalk.addMethod(
- unescape('_category'),
- smalltalk.method({
- selector: unescape('category'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return (($receiver = smalltalk.send(self, "_package", [])) == nil || $receiver == undefined) ? (function(){return "Unclassified";})() : (function(){return smalltalk.send(smalltalk.send(self, "_package", []), "_name", []);})();
- return self;},
- args: [],
- source: unescape('category%0A%09%5Eself%20package%20ifNil%3A%20%5B%27Unclassified%27%5D%20ifNotNil%3A%20%5Bself%20package%20name%5D'),
- messageSends: ["ifNil:ifNotNil:", "package", "name"],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_subclass_instanceVariableNames_'),
- smalltalk.method({
- selector: unescape('subclass%3AinstanceVariableNames%3A'),
- category: 'class creation',
- fn: function (aString, anotherString){
- var self=this;
- return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, anotherString, nil]);
- return self;},
- args: ["aString", "anotherString"],
- source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20anotherString%0A%09%22Kept%20for%20compatibility.%22%0A%09%5Eself%20subclass%3A%20aString%20instanceVariableNames%3A%20anotherString%20package%3A%20nil'),
- messageSends: ["subclass:instanceVariableNames:package:"],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_subclass_instanceVariableNames_category_'),
- smalltalk.method({
- selector: unescape('subclass%3AinstanceVariableNames%3Acategory%3A'),
- category: 'class creation',
- fn: function (aString, aString2, aString3){
- var self=this;
- smalltalk.send(self, "_deprecatedAPI", []);
- return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
- return self;},
- args: ["aString", "aString2", "aString3"],
- source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20category%3A%20aString3%0A%09%22Kept%20for%20compatibility.%22%0A%09self%20deprecatedAPI.%0A%09%5Eself%20subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3'),
- messageSends: ["deprecatedAPI", "subclass:instanceVariableNames:package:"],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_isClass'),
- smalltalk.method({
- selector: unescape('isClass'),
- category: 'testing',
- fn: function (){
- var self=this;
- return true;
- return self;},
- args: [],
- source: unescape('isClass%0A%09%5Etrue'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_printString'),
- smalltalk.method({
- selector: unescape('printString'),
- category: 'printing',
- fn: function (){
- var self=this;
- return smalltalk.send(self, "_name", []);
- return self;},
- args: [],
- source: unescape('printString%0A%09%5Eself%20name'),
- messageSends: ["name"],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_rename_'),
- smalltalk.method({
- selector: unescape('rename%3A'),
- category: 'accessing',
- fn: function (aString){
- var self=this;
- smalltalk[aString] = self;
- delete smalltalk[self.className];
- self.className = aString;
- ;
- return self;},
- args: ["aString"],
- source: unescape('rename%3A%20aString%0A%09%3C%0A%09%09smalltalk%5BaString%5D%20%3D%20self%3B%0A%09%09delete%20smalltalk%5Bself.className%5D%3B%0A%09%09self.className%20%3D%20aString%3B%0A%09%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_'),
- smalltalk.method({
- selector: unescape('subclass%3AinstanceVariableNames%3AclassVariableNames%3ApoolDictionaries%3Acategory%3A'),
- category: 'class creation',
- fn: function (aString, aString2, classVars, pools, aString3){
- var self=this;
- return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
- return self;},
- args: ["aString", "aString2", "classVars", "pools", "aString3"],
- source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20classVariableNames%3A%20classVars%20poolDictionaries%3A%20pools%20category%3A%20aString3%0A%09%22Just%20ignore%20class%20variables%20and%20pools.%20Added%20for%20compatibility.%22%0A%09%5Eself%20subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3'),
- messageSends: ["subclass:instanceVariableNames:package:"],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_package'),
- smalltalk.method({
- selector: unescape('package'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return self.pkg;
- return self;},
- args: [],
- source: unescape('package%0A%09%3Creturn%20self.pkg%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_package_'),
- smalltalk.method({
- selector: unescape('package%3A'),
- category: 'accessing',
- fn: function (aPackage){
- var self=this;
- self.pkg = aPackage;
- return self;},
- args: ["aPackage"],
- source: unescape('package%3A%20aPackage%0A%09%3Cself.pkg%20%3D%20aPackage%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Class);
- smalltalk.addMethod(
- unescape('_subclass_instanceVariableNames_package_'),
- smalltalk.method({
- selector: unescape('subclass%3AinstanceVariableNames%3Apackage%3A'),
- category: 'class creation',
- fn: function (aString, aString2, aString3){
- var self=this;
- return smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_superclass_subclass_instanceVariableNames_package_", [self, smalltalk.send(aString, "_asString", []), aString2, aString3]);
- return self;},
- args: ["aString", "aString2", "aString3"],
- source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3%0A%09%5EClassBuilder%20new%0A%09%20%20%20%20superclass%3A%20self%20subclass%3A%20aString%20asString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3'),
- messageSends: ["superclass:subclass:instanceVariableNames:package:", "new", "asString"],
- referencedClasses: ["ClassBuilder"]
- }),
- smalltalk.Class);
- smalltalk.addClass('Metaclass', smalltalk.Behavior, [], 'Kernel-Classes');
- smalltalk.addMethod(
- unescape('_instanceClass'),
- smalltalk.method({
- selector: unescape('instanceClass'),
- category: 'accessing',
- fn: function (){
- var self=this;
- return self.instanceClass;
- return self;},
- args: [],
- source: unescape('instanceClass%0A%09%3Creturn%20self.instanceClass%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Metaclass);
- smalltalk.addMethod(
- unescape('_instanceVariableNames_'),
- smalltalk.method({
- selector: unescape('instanceVariableNames%3A'),
- category: 'accessing',
- fn: function (aCollection){
- var self=this;
- smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_class_instanceVariableNames_", [self, aCollection]);
- return self;},
- args: ["aCollection"],
- source: unescape('instanceVariableNames%3A%20aCollection%0A%09ClassBuilder%20new%0A%09%20%20%20%20class%3A%20self%20instanceVariableNames%3A%20aCollection'),
- messageSends: ["class:instanceVariableNames:", "new"],
- referencedClasses: ["ClassBuilder"]
- }),
- smalltalk.Metaclass);
- smalltalk.addMethod(
- unescape('_isMetaclass'),
- smalltalk.method({
- selector: unescape('isMetaclass'),
- category: 'testing',
- fn: function (){
- var self=this;
- return true;
- return self;},
- args: [],
- source: unescape('isMetaclass%0A%09%5Etrue'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.Metaclass);
- smalltalk.addMethod(
- unescape('_printString'),
- smalltalk.method({
- selector: unescape('printString'),
- category: 'printing',
- fn: function (){
- var self=this;
- return smalltalk.send(smalltalk.send(smalltalk.send(self, "_instanceClass", []), "_name", []), "__comma", [" class"]);
- return self;},
- args: [],
- source: unescape('printString%0A%09%5Eself%20instanceClass%20name%2C%20%27%20class%27'),
- messageSends: [unescape("%2C"), "name", "instanceClass"],
- referencedClasses: []
- }),
- smalltalk.Metaclass);
- smalltalk.addClass('ClassBuilder', smalltalk.Object, [], 'Kernel-Classes');
- smalltalk.addMethod(
- unescape('_superclass_subclass_'),
- smalltalk.method({
- selector: unescape('superclass%3Asubclass%3A'),
- category: 'class creation',
- fn: function (aClass, aString){
- var self=this;
- return smalltalk.send(self, "_superclass_subclass_instanceVariableNames_package_", [aClass, aString, "", nil]);
- return self;},
- args: ["aClass", "aString"],
- source: unescape('superclass%3A%20aClass%20subclass%3A%20aString%0A%09%5Eself%20superclass%3A%20aClass%20subclass%3A%20aString%20instanceVariableNames%3A%20%27%27%20package%3A%20nil'),
- messageSends: ["superclass:subclass:instanceVariableNames:package:"],
- referencedClasses: []
- }),
- smalltalk.ClassBuilder);
- smalltalk.addMethod(
- unescape('_class_instanceVariableNames_'),
- smalltalk.method({
- selector: unescape('class%3AinstanceVariableNames%3A'),
- category: 'class creation',
- fn: function (aClass, aString){
- var self=this;
- ((($receiver = smalltalk.send(aClass, "_isMetaclass", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self, "_error_", [smalltalk.send(smalltalk.send(aClass, "_name", []), "__comma", [" is not a metaclass"])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self, "_error_", [smalltalk.send(smalltalk.send(aClass, "_name", []), "__comma", [" is not a metaclass"])]);})]));
- smalltalk.send(aClass, "_basicAt_put_", ["iVarNames", smalltalk.send(self, "_instanceVariableNamesFor_", [aString])]);
- smalltalk.send(self, "_setupClass_", [aClass]);
- return self;},
- args: ["aClass", "aString"],
- source: unescape('class%3A%20aClass%20instanceVariableNames%3A%20aString%0A%09aClass%20isMetaclass%20ifFalse%3A%20%5Bself%20error%3A%20aClass%20name%2C%20%27%20is%20not%20a%20metaclass%27%5D.%0A%09aClass%20basicAt%3A%20%27iVarNames%27%20put%3A%20%28self%20instanceVariableNamesFor%3A%20aString%29.%0A%09self%20setupClass%3A%20aClass'),
- messageSends: ["ifFalse:", "isMetaclass", "error:", unescape("%2C"), "name", "basicAt:put:", "instanceVariableNamesFor:", "setupClass:"],
- referencedClasses: []
- }),
- smalltalk.ClassBuilder);
- smalltalk.addMethod(
- unescape('_instanceVariableNamesFor_'),
- smalltalk.method({
- selector: unescape('instanceVariableNamesFor%3A'),
- category: 'private',
- fn: function (aString){
- var self=this;
- return smalltalk.send(smalltalk.send(aString, "_tokenize_", [" "]), "_reject_", [(function(each){return smalltalk.send(each, "_isEmpty", []);})]);
- return self;},
- args: ["aString"],
- source: unescape('instanceVariableNamesFor%3A%20aString%0A%09%5E%28aString%20tokenize%3A%20%27%20%27%29%20reject%3A%20%5B%3Aeach%20%7C%20each%20isEmpty%5D'),
- messageSends: ["reject:", "tokenize:", "isEmpty"],
- referencedClasses: []
- }),
- smalltalk.ClassBuilder);
- smalltalk.addMethod(
- unescape('_addSubclassOf_named_instanceVariableNames_'),
- smalltalk.method({
- selector: unescape('addSubclassOf%3Anamed%3AinstanceVariableNames%3A'),
- category: 'private',
- fn: function (aClass, aString, aCollection){
- var self=this;
- smalltalk.addClass(aString, aClass, aCollection);
- return smalltalk[aString];
- return self;},
- args: ["aClass", "aString", "aCollection"],
- source: unescape('addSubclassOf%3A%20aClass%20named%3A%20aString%20instanceVariableNames%3A%20aCollection%0A%09%3Csmalltalk.addClass%28aString%2C%20aClass%2C%20aCollection%29%3B%0A%09%20%20%20%20return%20smalltalk%5BaString%5D%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.ClassBuilder);
- smalltalk.addMethod(
- unescape('_setupClass_'),
- smalltalk.method({
- selector: unescape('setupClass%3A'),
- category: 'private',
- fn: function (aClass){
- var self=this;
- smalltalk.init(aClass);;
- return self;},
- args: ["aClass"],
- source: unescape('setupClass%3A%20aClass%0A%09%3Csmalltalk.init%28aClass%29%3B%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.ClassBuilder);
- smalltalk.addMethod(
- unescape('_superclass_subclass_instanceVariableNames_package_'),
- smalltalk.method({
- selector: unescape('superclass%3Asubclass%3AinstanceVariableNames%3Apackage%3A'),
- category: 'class creation',
- fn: function (aClass, aString, aString2, aString3){
- var self=this;
- var newClass=nil;
- newClass=smalltalk.send(self, "_addSubclassOf_named_instanceVariableNames_package_", [aClass, aString, smalltalk.send(self, "_instanceVariableNamesFor_", [aString2]), (($receiver = aString3) == nil || $receiver == undefined) ? (function(){return "unclassified";})() : $receiver]);
- smalltalk.send(self, "_setupClass_", [newClass]);
- return newClass;
- return self;},
- args: ["aClass", "aString", "aString2", "aString3"],
- source: unescape('superclass%3A%20aClass%20subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3%0A%09%7C%20newClass%20%7C%0A%09newClass%20%3A%3D%20self%20addSubclassOf%3A%20aClass%0A%09%09%09%09named%3A%20aString%20instanceVariableNames%3A%20%28self%20instanceVariableNamesFor%3A%20aString2%29%0A%09%09%09%09package%3A%20%28aString3%20ifNil%3A%20%5B%27unclassified%27%5D%29.%0A%09self%20setupClass%3A%20newClass.%0A%09%5EnewClass'),
- messageSends: ["addSubclassOf:named:instanceVariableNames:package:", "instanceVariableNamesFor:", "ifNil:", "setupClass:"],
- referencedClasses: []
- }),
- smalltalk.ClassBuilder);
- smalltalk.addMethod(
- unescape('_addSubclassOf_named_instanceVariableNames_package_'),
- smalltalk.method({
- selector: unescape('addSubclassOf%3Anamed%3AinstanceVariableNames%3Apackage%3A'),
- category: 'private',
- fn: function (aClass, aString, aCollection, packageName){
- var self=this;
- smalltalk.addClass(aString, aClass, aCollection, packageName);
- return smalltalk[aString];
- return self;},
- args: ["aClass", "aString", "aCollection", "packageName"],
- source: unescape('addSubclassOf%3A%20aClass%20named%3A%20aString%20instanceVariableNames%3A%20aCollection%20package%3A%20packageName%0A%09%3Csmalltalk.addClass%28aString%2C%20aClass%2C%20aCollection%2C%20packageName%29%3B%0A%09%20%20%20%20return%20smalltalk%5BaString%5D%3E'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.ClassBuilder);
- smalltalk.addMethod(
- unescape('_copyClass_named_'),
- smalltalk.method({
- selector: unescape('copyClass%3Anamed%3A'),
- category: 'private',
- fn: function (aClass, aString){
- var self=this;
- var newClass=nil;
- newClass=smalltalk.send(self, "_addSubclassOf_named_instanceVariableNames_package_", [smalltalk.send(aClass, "_superclass", []), aString, smalltalk.send(aClass, "_instanceVariableNames", []), smalltalk.send(smalltalk.send(aClass, "_package", []), "_name", [])]);
- smalltalk.send(self, "_setupClass_", [newClass]);
- smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_values", []), "_do_", [(function(each){smalltalk.send(newClass, "_addCompiledMethod_", [smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [smalltalk.send(each, "_source", []), newClass])]);return smalltalk.send(smalltalk.send(smalltalk.send(newClass, "_methodDictionary", []), "_at_", [smalltalk.send(each, "_selector", [])]), "_category_", [smalltalk.send(each, "_category", [])]);})]);
- smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_methodDictionary", []), "_values", []), "_do_", [(function(each){smalltalk.send(smalltalk.send(newClass, "_class", []), "_addCompiledMethod_", [smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [smalltalk.send(each, "_source", []), smalltalk.send(newClass, "_class", [])])]);return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(newClass, "_class", []), "_methodDictionary", []), "_at_", [smalltalk.send(each, "_selector", [])]), "_category_", [smalltalk.send(each, "_category", [])]);})]);
- smalltalk.send(self, "_setupClass_", [newClass]);
- return newClass;
- return self;},
- args: ["aClass", "aString"],
- source: unescape('copyClass%3A%20aClass%20named%3A%20aString%0A%09%7C%20newClass%20%7C%0A%0A%09newClass%20%3A%3D%20self%20%0A%09%09addSubclassOf%3A%20aClass%20superclass%0A%09%09named%3A%20aString%20%0A%09%09instanceVariableNames%3A%20aClass%20instanceVariableNames%20%0A%09%09package%3A%20aClass%20package%20name.%0A%0A%09self%20setupClass%3A%20newClass.%0A%0A%09aClass%20methodDictionary%20values%20do%3A%20%5B%3Aeach%20%7C%0A%09%09newClass%20addCompiledMethod%3A%20%28Compiler%20new%20load%3A%20each%20source%20forClass%3A%20newClass%29.%0A%09%09%28newClass%20methodDictionary%20at%3A%20each%20selector%29%20category%3A%20each%20category%5D.%0A%0A%09aClass%20class%20methodDictionary%20values%20do%3A%20%5B%3Aeach%20%7C%0A%09%09newClass%20class%20addCompiledMethod%3A%20%28Compiler%20new%20load%3A%20each%20source%20forClass%3A%20newClass%20class%29.%0A%09%09%28newClass%20class%20methodDictionary%20at%3A%20each%20selector%29%20category%3A%20each%20category%5D.%0A%0A%09self%20setupClass%3A%20newClass.%0A%09%5EnewClass'),
- messageSends: ["addSubclassOf:named:instanceVariableNames:package:", "superclass", "instanceVariableNames", "name", "package", "setupClass:", "do:", "values", "methodDictionary", "addCompiledMethod:", "load:forClass:", "new", "source", "category:", "at:", "selector", "category", "class"],
- referencedClasses: ["Compiler"]
- }),
- smalltalk.ClassBuilder);
- smalltalk.addClass('ClassCategoryReader', smalltalk.Object, ['class', 'category', 'chunkParser'], 'Kernel-Classes');
- smalltalk.addMethod(
- unescape('_initialize'),
- smalltalk.method({
- selector: unescape('initialize'),
- category: 'initialization',
- fn: function (){
- var self=this;
- smalltalk.send(self, "_initialize", [], smalltalk.Object);
- self['@chunkParser']=smalltalk.send((smalltalk.ChunkParser || ChunkParser), "_new", []);
- return self;},
- args: [],
- source: unescape('initialize%0A%09super%20initialize.%0A%09chunkParser%20%3A%3D%20ChunkParser%20new.'),
- messageSends: ["initialize", "new"],
- referencedClasses: ["ChunkParser"]
- }),
- smalltalk.ClassCategoryReader);
- smalltalk.addMethod(
- unescape('_class_category_'),
- smalltalk.method({
- selector: unescape('class%3Acategory%3A'),
- category: 'accessing',
- fn: function (aClass, aString){
- var self=this;
- self['@class']=aClass;
- self['@category']=aString;
- return self;},
- args: ["aClass", "aString"],
- source: unescape('class%3A%20aClass%20category%3A%20aString%0A%09class%20%3A%3D%20aClass.%0A%09category%20%3A%3D%20aString'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.ClassCategoryReader);
- smalltalk.addMethod(
- unescape('_scanFrom_'),
- smalltalk.method({
- selector: unescape('scanFrom%3A'),
- category: 'fileIn',
- fn: function (aChunkParser){
- var self=this;
- var chunk=nil;
- (function(){while(!(function(){chunk=smalltalk.send(aChunkParser, "_nextChunk", []);return smalltalk.send(chunk, "_isEmpty", []);})()) {(function(){return smalltalk.send(self, "_compileMethod_", [chunk]);})()}})();
- return self;},
- args: ["aChunkParser"],
- source: unescape('scanFrom%3A%20aChunkParser%0A%09%7C%20chunk%20%7C%0A%09%5Bchunk%20%3A%3D%20aChunkParser%20nextChunk.%0A%09chunk%20isEmpty%5D%20whileFalse%3A%20%5B%0A%09%20%20%20%20self%20compileMethod%3A%20chunk%5D'),
- messageSends: ["whileFalse:", "nextChunk", "isEmpty", "compileMethod:"],
- referencedClasses: []
- }),
- smalltalk.ClassCategoryReader);
- smalltalk.addMethod(
- unescape('_compileMethod_'),
- smalltalk.method({
- selector: unescape('compileMethod%3A'),
- category: 'private',
- fn: function (aString){
- var self=this;
- var method=nil;
- method=smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [aString, self['@class']]);
- smalltalk.send(method, "_category_", [self['@category']]);
- smalltalk.send(self['@class'], "_addCompiledMethod_", [method]);
- return self;},
- args: ["aString"],
- source: unescape('compileMethod%3A%20aString%0A%09%7C%20method%20%7C%0A%09method%20%3A%3D%20Compiler%20new%20load%3A%20aString%20forClass%3A%20class.%0A%09method%20category%3A%20category.%0A%09class%20addCompiledMethod%3A%20method'),
- messageSends: ["load:forClass:", "new", "category:", "addCompiledMethod:"],
- referencedClasses: ["Compiler"]
- }),
- smalltalk.ClassCategoryReader);
- smalltalk.addClass('ClassCommentReader', smalltalk.Object, ['class', 'chunkParser'], 'Kernel-Classes');
- smalltalk.addMethod(
- unescape('_class_'),
- smalltalk.method({
- selector: unescape('class%3A'),
- category: 'accessing',
- fn: function (aClass){
- var self=this;
- self['@class']=aClass;
- return self;},
- args: ["aClass"],
- source: unescape('class%3A%20aClass%0A%09class%20%3A%3D%20aClass'),
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.ClassCommentReader);
- smalltalk.addMethod(
- unescape('_scanFrom_'),
- smalltalk.method({
- selector: unescape('scanFrom%3A'),
- category: 'fileIn',
- fn: function (aChunkParser){
- var self=this;
- var chunk=nil;
- chunk=smalltalk.send(aChunkParser, "_nextChunk", []);
- ((($receiver = smalltalk.send(chunk, "_isEmpty", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self, "_setComment_", [chunk]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self, "_setComment_", [chunk]);})]));
- return self;},
- args: ["aChunkParser"],
- source: unescape('scanFrom%3A%20aChunkParser%0A%09%7C%20chunk%20%7C%0A%09chunk%20%3A%3D%20aChunkParser%20nextChunk.%0A%09chunk%20isEmpty%20ifFalse%3A%20%5B%0A%09%20%20%20%20self%20setComment%3A%20chunk%5D.'),
- messageSends: ["nextChunk", "ifFalse:", "isEmpty", "setComment:"],
- referencedClasses: []
- }),
- smalltalk.ClassCommentReader);
- smalltalk.addMethod(
- unescape('_initialize'),
- smalltalk.method({
- selector: unescape('initialize'),
- category: 'initialization',
- fn: function (){
- var self=this;
- smalltalk.send(self, "_initialize", [], smalltalk.Object);
- self['@chunkParser']=smalltalk.send((smalltalk.ChunkParser || ChunkParser), "_new", []);
- return self;},
- args: [],
- source: unescape('initialize%0A%09super%20initialize.%0A%09chunkParser%20%3A%3D%20ChunkParser%20new.'),
- messageSends: ["initialize", "new"],
- referencedClasses: ["ChunkParser"]
- }),
- smalltalk.ClassCommentReader);
- smalltalk.addMethod(
- unescape('_setComment_'),
- smalltalk.method({
- selector: unescape('setComment%3A'),
- category: 'private',
- fn: function (aString){
- var self=this;
- smalltalk.send(self['@class'], "_comment_", [aString]);
- return self;},
- args: ["aString"],
- source: unescape('setComment%3A%20aString%0A%20%20%20%20class%20comment%3A%20aString'),
- messageSends: ["comment:"],
- referencedClasses: []
- }),
- smalltalk.ClassCommentReader);
|