Kernel-Classes.deploy.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677
  1. smalltalk.addPackage('Kernel-Classes', {});
  2. smalltalk.addClass('ClassCommentReader', smalltalk.Object, ['class', 'chunkParser'], 'Kernel-Classes');
  3. smalltalk.addMethod(
  4. unescape('_class_'),
  5. smalltalk.method({
  6. selector: unescape('class%3A'),
  7. fn: function (aClass){
  8. var self=this;
  9. (self['@class']=aClass);
  10. return self;}
  11. }),
  12. smalltalk.ClassCommentReader);
  13. smalltalk.addMethod(
  14. unescape('_scanFrom_'),
  15. smalltalk.method({
  16. selector: unescape('scanFrom%3A'),
  17. fn: function (aChunkParser){
  18. var self=this;
  19. var chunk=nil;
  20. (chunk=smalltalk.send(aChunkParser, "_nextChunk", []));
  21. ((($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]);})]));
  22. return self;}
  23. }),
  24. smalltalk.ClassCommentReader);
  25. smalltalk.addMethod(
  26. unescape('_initialize'),
  27. smalltalk.method({
  28. selector: unescape('initialize'),
  29. fn: function (){
  30. var self=this;
  31. smalltalk.send(self, "_initialize", [], smalltalk.Object);
  32. (self['@chunkParser']=smalltalk.send((smalltalk.ChunkParser || ChunkParser), "_new", []));
  33. return self;}
  34. }),
  35. smalltalk.ClassCommentReader);
  36. smalltalk.addMethod(
  37. unescape('_setComment_'),
  38. smalltalk.method({
  39. selector: unescape('setComment%3A'),
  40. fn: function (aString){
  41. var self=this;
  42. smalltalk.send(self['@class'], "_comment_", [aString]);
  43. return self;}
  44. }),
  45. smalltalk.ClassCommentReader);
  46. smalltalk.addClass('ClassCategoryReader', smalltalk.Object, ['class', 'category', 'chunkParser'], 'Kernel-Classes');
  47. smalltalk.addMethod(
  48. unescape('_initialize'),
  49. smalltalk.method({
  50. selector: unescape('initialize'),
  51. fn: function (){
  52. var self=this;
  53. smalltalk.send(self, "_initialize", [], smalltalk.Object);
  54. (self['@chunkParser']=smalltalk.send((smalltalk.ChunkParser || ChunkParser), "_new", []));
  55. return self;}
  56. }),
  57. smalltalk.ClassCategoryReader);
  58. smalltalk.addMethod(
  59. unescape('_class_category_'),
  60. smalltalk.method({
  61. selector: unescape('class%3Acategory%3A'),
  62. fn: function (aClass, aString){
  63. var self=this;
  64. (self['@class']=aClass);
  65. (self['@category']=aString);
  66. return self;}
  67. }),
  68. smalltalk.ClassCategoryReader);
  69. smalltalk.addMethod(
  70. unescape('_scanFrom_'),
  71. smalltalk.method({
  72. selector: unescape('scanFrom%3A'),
  73. fn: function (aChunkParser){
  74. var self=this;
  75. var chunk=nil;
  76. (function(){while(!(function(){(chunk=smalltalk.send(aChunkParser, "_nextChunk", []));return smalltalk.send(chunk, "_isEmpty", []);})()) {(function(){return smalltalk.send(self, "_compileMethod_", [chunk]);})()}})();
  77. return self;}
  78. }),
  79. smalltalk.ClassCategoryReader);
  80. smalltalk.addMethod(
  81. unescape('_compileMethod_'),
  82. smalltalk.method({
  83. selector: unescape('compileMethod%3A'),
  84. fn: function (aString){
  85. var self=this;
  86. var method=nil;
  87. var compiler=nil;
  88. (method=smalltalk.send((compiler=smalltalk.send((smalltalk.Compiler || Compiler), "_new", [])), "_load_forClass_", [aString, self['@class']]));
  89. smalltalk.send(method, "_category_", [self['@category']]);
  90. smalltalk.send(self['@class'], "_addCompiledMethod_", [method]);
  91. smalltalk.send(compiler, "_setupClass_", [self['@class']]);
  92. return self;}
  93. }),
  94. smalltalk.ClassCategoryReader);
  95. smalltalk.addClass('ClassBuilder', smalltalk.Object, [], 'Kernel-Classes');
  96. smalltalk.addMethod(
  97. unescape('_superclass_subclass_'),
  98. smalltalk.method({
  99. selector: unescape('superclass%3Asubclass%3A'),
  100. fn: function (aClass, aString){
  101. var self=this;
  102. return smalltalk.send(self, "_superclass_subclass_instanceVariableNames_package_", [aClass, aString, "", nil]);
  103. return self;}
  104. }),
  105. smalltalk.ClassBuilder);
  106. smalltalk.addMethod(
  107. unescape('_class_instanceVariableNames_'),
  108. smalltalk.method({
  109. selector: unescape('class%3AinstanceVariableNames%3A'),
  110. fn: function (aClass, aString){
  111. var self=this;
  112. ((($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"])]);})]));
  113. smalltalk.send(aClass, "_basicAt_put_", ["iVarNames", smalltalk.send(self, "_instanceVariableNamesFor_", [aString])]);
  114. smalltalk.send(self, "_setupClass_", [aClass]);
  115. return self;}
  116. }),
  117. smalltalk.ClassBuilder);
  118. smalltalk.addMethod(
  119. unescape('_instanceVariableNamesFor_'),
  120. smalltalk.method({
  121. selector: unescape('instanceVariableNamesFor%3A'),
  122. fn: function (aString){
  123. var self=this;
  124. return smalltalk.send(smalltalk.send(aString, "_tokenize_", [" "]), "_reject_", [(function(each){return smalltalk.send(each, "_isEmpty", []);})]);
  125. return self;}
  126. }),
  127. smalltalk.ClassBuilder);
  128. smalltalk.addMethod(
  129. unescape('_addSubclassOf_named_instanceVariableNames_'),
  130. smalltalk.method({
  131. selector: unescape('addSubclassOf%3Anamed%3AinstanceVariableNames%3A'),
  132. fn: function (aClass, aString, aCollection){
  133. var self=this;
  134. smalltalk.addClass(aString, aClass, aCollection);
  135. return smalltalk[aString];
  136. return self;}
  137. }),
  138. smalltalk.ClassBuilder);
  139. smalltalk.addMethod(
  140. unescape('_setupClass_'),
  141. smalltalk.method({
  142. selector: unescape('setupClass%3A'),
  143. fn: function (aClass){
  144. var self=this;
  145. smalltalk.init(aClass);;
  146. return self;}
  147. }),
  148. smalltalk.ClassBuilder);
  149. smalltalk.addMethod(
  150. unescape('_superclass_subclass_instanceVariableNames_package_'),
  151. smalltalk.method({
  152. selector: unescape('superclass%3Asubclass%3AinstanceVariableNames%3Apackage%3A'),
  153. fn: function (aClass, aString, aString2, aString3){
  154. var self=this;
  155. var newClass=nil;
  156. (newClass=smalltalk.send(self, "_addSubclassOf_named_instanceVariableNames_package_", [aClass, aString, smalltalk.send(self, "_instanceVariableNamesFor_", [aString2]), (($receiver = aString3) == nil || $receiver == undefined) ? (function(){return "unclassified";})() : $receiver]));
  157. smalltalk.send(self, "_setupClass_", [newClass]);
  158. return newClass;
  159. return self;}
  160. }),
  161. smalltalk.ClassBuilder);
  162. smalltalk.addMethod(
  163. unescape('_addSubclassOf_named_instanceVariableNames_package_'),
  164. smalltalk.method({
  165. selector: unescape('addSubclassOf%3Anamed%3AinstanceVariableNames%3Apackage%3A'),
  166. fn: function (aClass, aString, aCollection, packageName){
  167. var self=this;
  168. smalltalk.addClass(aString, aClass, aCollection, packageName);
  169. return smalltalk[aString];
  170. return self;}
  171. }),
  172. smalltalk.ClassBuilder);
  173. smalltalk.addMethod(
  174. unescape('_copyClass_named_'),
  175. smalltalk.method({
  176. selector: unescape('copyClass%3Anamed%3A'),
  177. fn: function (aClass, aString){
  178. var self=this;
  179. var newClass=nil;
  180. (newClass=smalltalk.send(self, "_addSubclassOf_named_instanceVariableNames_package_", [smalltalk.send(aClass, "_superclass", []), aString, smalltalk.send(aClass, "_instanceVariableNames", []), smalltalk.send(smalltalk.send(aClass, "_package", []), "_name", [])]));
  181. smalltalk.send(self, "_setupClass_", [newClass]);
  182. 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", [])]);})]);
  183. 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", [])]);})]);
  184. smalltalk.send(self, "_setupClass_", [newClass]);
  185. return newClass;
  186. return self;}
  187. }),
  188. smalltalk.ClassBuilder);
  189. smalltalk.addClass('Behavior', smalltalk.Object, [], 'Kernel-Classes');
  190. smalltalk.addMethod(
  191. unescape('_new'),
  192. smalltalk.method({
  193. selector: unescape('new'),
  194. fn: function (){
  195. var self=this;
  196. return smalltalk.send(smalltalk.send(self, "_basicNew", []), "_initialize", []);
  197. return self;}
  198. }),
  199. smalltalk.Behavior);
  200. smalltalk.addMethod(
  201. unescape('_basicNew'),
  202. smalltalk.method({
  203. selector: unescape('basicNew'),
  204. fn: function (){
  205. var self=this;
  206. return new self.fn();
  207. return self;}
  208. }),
  209. smalltalk.Behavior);
  210. smalltalk.addMethod(
  211. unescape('_name'),
  212. smalltalk.method({
  213. selector: unescape('name'),
  214. fn: function (){
  215. var self=this;
  216. return self.className || nil;
  217. return self;}
  218. }),
  219. smalltalk.Behavior);
  220. smalltalk.addMethod(
  221. unescape('_superclass'),
  222. smalltalk.method({
  223. selector: unescape('superclass'),
  224. fn: function (){
  225. var self=this;
  226. return self.superclass || nil;
  227. return self;}
  228. }),
  229. smalltalk.Behavior);
  230. smalltalk.addMethod(
  231. unescape('_subclasses'),
  232. smalltalk.method({
  233. selector: unescape('subclasses'),
  234. fn: function (){
  235. var self=this;
  236. return smalltalk.subclasses(self);
  237. return self;}
  238. }),
  239. smalltalk.Behavior);
  240. smalltalk.addMethod(
  241. unescape('_allSubclasses'),
  242. smalltalk.method({
  243. selector: unescape('allSubclasses'),
  244. fn: function (){
  245. var self=this;
  246. var result=nil;
  247. (result=smalltalk.send(self, "_subclasses", []));
  248. smalltalk.send(smalltalk.send(self, "_subclasses", []), "_do_", [(function(each){return smalltalk.send(result, "_addAll_", [smalltalk.send(each, "_allSubclasses", [])]);})]);
  249. return result;
  250. return self;}
  251. }),
  252. smalltalk.Behavior);
  253. smalltalk.addMethod(
  254. unescape('_withAllSubclasses'),
  255. smalltalk.method({
  256. selector: unescape('withAllSubclasses'),
  257. fn: function (){
  258. var self=this;
  259. return (function($rec){smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_allSubclasses", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Array || Array), "_with_", [self]));
  260. return self;}
  261. }),
  262. smalltalk.Behavior);
  263. smalltalk.addMethod(
  264. unescape('_prototype'),
  265. smalltalk.method({
  266. selector: unescape('prototype'),
  267. fn: function (){
  268. var self=this;
  269. return self.fn.prototype;
  270. return self;}
  271. }),
  272. smalltalk.Behavior);
  273. smalltalk.addMethod(
  274. unescape('_methodDictionary'),
  275. smalltalk.method({
  276. selector: unescape('methodDictionary'),
  277. fn: function (){
  278. var self=this;
  279. var dict = smalltalk.HashedCollection._new();
  280. var methods = self.fn.prototype.methods;
  281. for(var i in methods) {
  282. if(methods[i].selector) {
  283. dict._at_put_(methods[i].selector, methods[i]);
  284. }
  285. };
  286. return dict;
  287. return self;}
  288. }),
  289. smalltalk.Behavior);
  290. smalltalk.addMethod(
  291. unescape('_methodsFor_'),
  292. smalltalk.method({
  293. selector: unescape('methodsFor%3A'),
  294. fn: function (aString){
  295. var self=this;
  296. return (function($rec){smalltalk.send($rec, "_class_category_", [self, aString]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.ClassCategoryReader || ClassCategoryReader), "_new", []));
  297. return self;}
  298. }),
  299. smalltalk.Behavior);
  300. smalltalk.addMethod(
  301. unescape('_addCompiledMethod_'),
  302. smalltalk.method({
  303. selector: unescape('addCompiledMethod%3A'),
  304. fn: function (aMethod){
  305. var self=this;
  306. smalltalk.addMethod(aMethod.selector._asSelector(), aMethod, self);
  307. return self;}
  308. }),
  309. smalltalk.Behavior);
  310. smalltalk.addMethod(
  311. unescape('_instanceVariableNames'),
  312. smalltalk.method({
  313. selector: unescape('instanceVariableNames'),
  314. fn: function (){
  315. var self=this;
  316. return self.iVarNames;
  317. return self;}
  318. }),
  319. smalltalk.Behavior);
  320. smalltalk.addMethod(
  321. unescape('_comment'),
  322. smalltalk.method({
  323. selector: unescape('comment'),
  324. fn: function (){
  325. var self=this;
  326. return (($receiver = smalltalk.send(self, "_basicAt_", ["comment"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
  327. return self;}
  328. }),
  329. smalltalk.Behavior);
  330. smalltalk.addMethod(
  331. unescape('_comment_'),
  332. smalltalk.method({
  333. selector: unescape('comment%3A'),
  334. fn: function (aString){
  335. var self=this;
  336. smalltalk.send(self, "_basicAt_put_", ["comment", aString]);
  337. return self;}
  338. }),
  339. smalltalk.Behavior);
  340. smalltalk.addMethod(
  341. unescape('_commentStamp'),
  342. smalltalk.method({
  343. selector: unescape('commentStamp'),
  344. fn: function (){
  345. var self=this;
  346. return (function($rec){smalltalk.send($rec, "_class_", [self]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.ClassCommentReader || ClassCommentReader), "_new", []));
  347. return self;}
  348. }),
  349. smalltalk.Behavior);
  350. smalltalk.addMethod(
  351. unescape('_removeCompiledMethod_'),
  352. smalltalk.method({
  353. selector: unescape('removeCompiledMethod%3A'),
  354. fn: function (aMethod){
  355. var self=this;
  356. delete self.fn.prototype[aMethod.selector._asSelector()];
  357. delete self.fn.prototype.methods[aMethod.selector];
  358. smalltalk.init(self);;
  359. return self;}
  360. }),
  361. smalltalk.Behavior);
  362. smalltalk.addMethod(
  363. unescape('_inheritsFrom_'),
  364. smalltalk.method({
  365. selector: unescape('inheritsFrom%3A'),
  366. fn: function (aClass){
  367. var self=this;
  368. return smalltalk.send(smalltalk.send(aClass, "_allSubclasses", []), "_includes_", [self]);
  369. return self;}
  370. }),
  371. smalltalk.Behavior);
  372. smalltalk.addMethod(
  373. unescape('_protocols'),
  374. smalltalk.method({
  375. selector: unescape('protocols'),
  376. fn: function (){
  377. var self=this;
  378. var protocols=nil;
  379. (protocols=smalltalk.send((smalltalk.Array || Array), "_new", []));
  380. 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", [])]);})]));})]);
  381. return smalltalk.send(protocols, "_sort", []);
  382. return self;}
  383. }),
  384. smalltalk.Behavior);
  385. smalltalk.addMethod(
  386. unescape('_protocolsDo_'),
  387. smalltalk.method({
  388. selector: unescape('protocolsDo%3A'),
  389. fn: function (aBlock){
  390. var self=this;
  391. var methodsByCategory=nil;
  392. (methodsByCategory=smalltalk.send((smalltalk.HashedCollection || HashedCollection), "_new", []));
  393. 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]);})]);
  394. smalltalk.send(smalltalk.send(self, "_protocols", []), "_do_", [(function(category){return smalltalk.send(aBlock, "_value_value_", [category, smalltalk.send(methodsByCategory, "_at_", [category])]);})]);
  395. return self;}
  396. }),
  397. smalltalk.Behavior);
  398. smalltalk.addMethod(
  399. unescape('_allInstanceVariableNames'),
  400. smalltalk.method({
  401. selector: unescape('allInstanceVariableNames'),
  402. fn: function (){
  403. var self=this;
  404. var result=nil;
  405. (result=smalltalk.send(smalltalk.send(self, "_instanceVariableNames", []), "_copy", []));
  406. (($receiver = smalltalk.send(self, "_superclass", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(result, "_addAll_", [smalltalk.send(smalltalk.send(self, "_superclass", []), "_allInstanceVariableNames", [])]);})() : nil;
  407. return result;
  408. return self;}
  409. }),
  410. smalltalk.Behavior);
  411. smalltalk.addMethod(
  412. unescape('_methodAt_'),
  413. smalltalk.method({
  414. selector: unescape('methodAt%3A'),
  415. fn: function (aString){
  416. var self=this;
  417. return smalltalk.methods(self)[aString];
  418. return self;}
  419. }),
  420. smalltalk.Behavior);
  421. smalltalk.addMethod(
  422. unescape('_methodsFor_stamp_'),
  423. smalltalk.method({
  424. selector: unescape('methodsFor%3Astamp%3A'),
  425. fn: function (aString, aStamp){
  426. var self=this;
  427. return smalltalk.send(self, "_methodsFor_", [aString]);
  428. return self;}
  429. }),
  430. smalltalk.Behavior);
  431. smalltalk.addMethod(
  432. unescape('_commentStamp_prior_'),
  433. smalltalk.method({
  434. selector: unescape('commentStamp%3Aprior%3A'),
  435. fn: function (aStamp, prior){
  436. var self=this;
  437. return smalltalk.send(self, "_commentStamp", []);
  438. return self;}
  439. }),
  440. smalltalk.Behavior);
  441. smalltalk.addMethod(
  442. unescape('_compile_'),
  443. smalltalk.method({
  444. selector: unescape('compile%3A'),
  445. fn: function (aString){
  446. var self=this;
  447. smalltalk.send(self, "_compile_category_", [aString, ""]);
  448. return self;}
  449. }),
  450. smalltalk.Behavior);
  451. smalltalk.addMethod(
  452. unescape('_compile_category_'),
  453. smalltalk.method({
  454. selector: unescape('compile%3Acategory%3A'),
  455. fn: function (aString, anotherString){
  456. var self=this;
  457. var method=nil;
  458. (method=smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [aString, self]));
  459. smalltalk.send(method, "_category_", [anotherString]);
  460. smalltalk.send(self, "_addCompiledMethod_", [method]);
  461. return self;}
  462. }),
  463. smalltalk.Behavior);
  464. smalltalk.addClass('Class', smalltalk.Behavior, [], 'Kernel-Classes');
  465. smalltalk.addMethod(
  466. unescape('_category'),
  467. smalltalk.method({
  468. selector: unescape('category'),
  469. fn: function (){
  470. var self=this;
  471. return (($receiver = smalltalk.send(self, "_package", [])) == nil || $receiver == undefined) ? (function(){return "Unclassified";})() : (function(){return smalltalk.send(smalltalk.send(self, "_package", []), "_name", []);})();
  472. return self;}
  473. }),
  474. smalltalk.Class);
  475. smalltalk.addMethod(
  476. unescape('_subclass_instanceVariableNames_'),
  477. smalltalk.method({
  478. selector: unescape('subclass%3AinstanceVariableNames%3A'),
  479. fn: function (aString, anotherString){
  480. var self=this;
  481. return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, anotherString, nil]);
  482. return self;}
  483. }),
  484. smalltalk.Class);
  485. smalltalk.addMethod(
  486. unescape('_subclass_instanceVariableNames_category_'),
  487. smalltalk.method({
  488. selector: unescape('subclass%3AinstanceVariableNames%3Acategory%3A'),
  489. fn: function (aString, aString2, aString3){
  490. var self=this;
  491. smalltalk.send(self, "_deprecatedAPI", []);
  492. return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
  493. return self;}
  494. }),
  495. smalltalk.Class);
  496. smalltalk.addMethod(
  497. unescape('_isClass'),
  498. smalltalk.method({
  499. selector: unescape('isClass'),
  500. fn: function (){
  501. var self=this;
  502. return true;
  503. return self;}
  504. }),
  505. smalltalk.Class);
  506. smalltalk.addMethod(
  507. unescape('_printString'),
  508. smalltalk.method({
  509. selector: unescape('printString'),
  510. fn: function (){
  511. var self=this;
  512. return smalltalk.send(self, "_name", []);
  513. return self;}
  514. }),
  515. smalltalk.Class);
  516. smalltalk.addMethod(
  517. unescape('_rename_'),
  518. smalltalk.method({
  519. selector: unescape('rename%3A'),
  520. fn: function (aString){
  521. var self=this;
  522. smalltalk[aString] = self;
  523. delete smalltalk[self.className];
  524. self.className = aString;
  525. ;
  526. return self;}
  527. }),
  528. smalltalk.Class);
  529. smalltalk.addMethod(
  530. unescape('_subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_'),
  531. smalltalk.method({
  532. selector: unescape('subclass%3AinstanceVariableNames%3AclassVariableNames%3ApoolDictionaries%3Acategory%3A'),
  533. fn: function (aString, aString2, classVars, pools, aString3){
  534. var self=this;
  535. return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
  536. return self;}
  537. }),
  538. smalltalk.Class);
  539. smalltalk.addMethod(
  540. unescape('_package'),
  541. smalltalk.method({
  542. selector: unescape('package'),
  543. fn: function (){
  544. var self=this;
  545. return self.pkg;
  546. return self;}
  547. }),
  548. smalltalk.Class);
  549. smalltalk.addMethod(
  550. unescape('_package_'),
  551. smalltalk.method({
  552. selector: unescape('package%3A'),
  553. fn: function (aPackage){
  554. var self=this;
  555. self.pkg = aPackage;
  556. return self;}
  557. }),
  558. smalltalk.Class);
  559. smalltalk.addMethod(
  560. unescape('_subclass_instanceVariableNames_package_'),
  561. smalltalk.method({
  562. selector: unescape('subclass%3AinstanceVariableNames%3Apackage%3A'),
  563. fn: function (aString, aString2, aString3){
  564. var self=this;
  565. return smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_superclass_subclass_instanceVariableNames_package_", [self, smalltalk.send(aString, "_asString", []), aString2, aString3]);
  566. return self;}
  567. }),
  568. smalltalk.Class);
  569. smalltalk.addClass('Metaclass', smalltalk.Behavior, [], 'Kernel-Classes');
  570. smalltalk.addMethod(
  571. unescape('_instanceClass'),
  572. smalltalk.method({
  573. selector: unescape('instanceClass'),
  574. fn: function (){
  575. var self=this;
  576. return self.instanceClass;
  577. return self;}
  578. }),
  579. smalltalk.Metaclass);
  580. smalltalk.addMethod(
  581. unescape('_instanceVariableNames_'),
  582. smalltalk.method({
  583. selector: unescape('instanceVariableNames%3A'),
  584. fn: function (aCollection){
  585. var self=this;
  586. smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_class_instanceVariableNames_", [self, aCollection]);
  587. return self;}
  588. }),
  589. smalltalk.Metaclass);
  590. smalltalk.addMethod(
  591. unescape('_isMetaclass'),
  592. smalltalk.method({
  593. selector: unescape('isMetaclass'),
  594. fn: function (){
  595. var self=this;
  596. return true;
  597. return self;}
  598. }),
  599. smalltalk.Metaclass);
  600. smalltalk.addMethod(
  601. unescape('_printString'),
  602. smalltalk.method({
  603. selector: unescape('printString'),
  604. fn: function (){
  605. var self=this;
  606. return smalltalk.send(smalltalk.send(smalltalk.send(self, "_instanceClass", []), "_name", []), "__comma", [" class"]);
  607. return self;}
  608. }),
  609. smalltalk.Metaclass);