2
0

Kernel-Classes.deploy.js 20 KB

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