Kernel-Classes.deploy.js 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170
  1. smalltalk.addPackage('Kernel-Classes', {});
  2. smalltalk.addClass('Behavior', smalltalk.Object, [], 'Kernel-Classes');
  3. smalltalk.addMethod(
  4. "_addCompiledMethod_",
  5. smalltalk.method({
  6. selector: "addCompiledMethod:",
  7. fn: function (aMethod){
  8. var self=this;
  9. var $1,$2;
  10. smalltalk.addMethod(aMethod.selector._asSelector(), aMethod, self);
  11. ;
  12. $1=smalltalk.send((smalltalk.MethodAdded || MethodAdded),"_new",[]);
  13. smalltalk.send($1,"_theClass_",[self]);
  14. smalltalk.send($1,"_method_",[aMethod]);
  15. $2=smalltalk.send($1,"_yourself",[]);
  16. smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
  17. return self}
  18. }),
  19. smalltalk.Behavior);
  20. smalltalk.addMethod(
  21. "_allInstanceVariableNames",
  22. smalltalk.method({
  23. selector: "allInstanceVariableNames",
  24. fn: function (){
  25. var self=this;
  26. var $1;
  27. var result;
  28. result=smalltalk.send(smalltalk.send(self,"_instanceVariableNames",[]),"_copy",[]);
  29. $1=smalltalk.send(self,"_superclass",[]);
  30. if(($receiver = $1) == nil || $receiver == undefined){
  31. $1;
  32. } else {
  33. smalltalk.send(result,"_addAll_",[smalltalk.send(smalltalk.send(self,"_superclass",[]),"_allInstanceVariableNames",[])]);
  34. };
  35. return result;
  36. }
  37. }),
  38. smalltalk.Behavior);
  39. smalltalk.addMethod(
  40. "_allSubclasses",
  41. smalltalk.method({
  42. selector: "allSubclasses",
  43. fn: function (){
  44. var self=this;
  45. var result;
  46. result=smalltalk.send(self,"_subclasses",[]);
  47. smalltalk.send(smalltalk.send(self,"_subclasses",[]),"_do_",[(function(each){
  48. return smalltalk.send(result,"_addAll_",[smalltalk.send(each,"_allSubclasses",[])]);
  49. })]);
  50. return result;
  51. }
  52. }),
  53. smalltalk.Behavior);
  54. smalltalk.addMethod(
  55. "_allSuperclasses",
  56. smalltalk.method({
  57. selector: "allSuperclasses",
  58. fn: function (){
  59. var self=this;
  60. var $1,$3,$4,$2;
  61. $1=smalltalk.send(self,"_superclass",[]);
  62. if(($receiver = $1) == nil || $receiver == undefined){
  63. return [];
  64. } else {
  65. $1;
  66. };
  67. $3=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_with_",[smalltalk.send(self,"_superclass",[])]);
  68. smalltalk.send($3,"_addAll_",[smalltalk.send(smalltalk.send(self,"_superclass",[]),"_allSuperclasses",[])]);
  69. $4=smalltalk.send($3,"_yourself",[]);
  70. $2=$4;
  71. return $2;
  72. }
  73. }),
  74. smalltalk.Behavior);
  75. smalltalk.addMethod(
  76. "_basicNew",
  77. smalltalk.method({
  78. selector: "basicNew",
  79. fn: function (){
  80. var self=this;
  81. return new self.fn();
  82. ;
  83. return self}
  84. }),
  85. smalltalk.Behavior);
  86. smalltalk.addMethod(
  87. "_canUnderstand_",
  88. smalltalk.method({
  89. selector: "canUnderstand:",
  90. fn: function (aSelector){
  91. var self=this;
  92. var $1;
  93. $1=smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_keys",[]),"_includes_",[smalltalk.send(aSelector,"_asString",[])]),"_or_",[(function(){
  94. return smalltalk.send(smalltalk.send(smalltalk.send(self,"_superclass",[]),"_notNil",[]),"_and_",[(function(){
  95. return smalltalk.send(smalltalk.send(self,"_superclass",[]),"_canUnderstand_",[aSelector]);
  96. })]);
  97. })]);
  98. return $1;
  99. }
  100. }),
  101. smalltalk.Behavior);
  102. smalltalk.addMethod(
  103. "_comment",
  104. smalltalk.method({
  105. selector: "comment",
  106. fn: function (){
  107. var self=this;
  108. var $2,$1;
  109. $2=smalltalk.send(self,"_basicAt_",["comment"]);
  110. if(($receiver = $2) == nil || $receiver == undefined){
  111. $1="";
  112. } else {
  113. $1=$2;
  114. };
  115. return $1;
  116. }
  117. }),
  118. smalltalk.Behavior);
  119. smalltalk.addMethod(
  120. "_comment_",
  121. smalltalk.method({
  122. selector: "comment:",
  123. fn: function (aString){
  124. var self=this;
  125. var $1,$2;
  126. smalltalk.send(self,"_basicAt_put_",["comment",aString]);
  127. $1=smalltalk.send((smalltalk.ClassCommentChanged || ClassCommentChanged),"_new",[]);
  128. smalltalk.send($1,"_theClass_",[self]);
  129. $2=smalltalk.send($1,"_yourself",[]);
  130. smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
  131. return self}
  132. }),
  133. smalltalk.Behavior);
  134. smalltalk.addMethod(
  135. "_commentStamp",
  136. smalltalk.method({
  137. selector: "commentStamp",
  138. fn: function (){
  139. var self=this;
  140. var $2,$3,$1;
  141. $2=smalltalk.send((smalltalk.ClassCommentReader || ClassCommentReader),"_new",[]);
  142. smalltalk.send($2,"_class_",[self]);
  143. $3=smalltalk.send($2,"_yourself",[]);
  144. $1=$3;
  145. return $1;
  146. }
  147. }),
  148. smalltalk.Behavior);
  149. smalltalk.addMethod(
  150. "_commentStamp_prior_",
  151. smalltalk.method({
  152. selector: "commentStamp:prior:",
  153. fn: function (aStamp,prior){
  154. var self=this;
  155. var $1;
  156. $1=smalltalk.send(self,"_commentStamp",[]);
  157. return $1;
  158. }
  159. }),
  160. smalltalk.Behavior);
  161. smalltalk.addMethod(
  162. "_compile_",
  163. smalltalk.method({
  164. selector: "compile:",
  165. fn: function (aString){
  166. var self=this;
  167. smalltalk.send(self,"_compile_category_",[aString,""]);
  168. return self}
  169. }),
  170. smalltalk.Behavior);
  171. smalltalk.addMethod(
  172. "_compile_category_",
  173. smalltalk.method({
  174. selector: "compile:category:",
  175. fn: function (aString,anotherString){
  176. var self=this;
  177. smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_install_forClass_category_",[aString,self,anotherString]);
  178. return self}
  179. }),
  180. smalltalk.Behavior);
  181. smalltalk.addMethod(
  182. "_definition",
  183. smalltalk.method({
  184. selector: "definition",
  185. fn: function (){
  186. var self=this;
  187. return "";
  188. }
  189. }),
  190. smalltalk.Behavior);
  191. smalltalk.addMethod(
  192. "_inheritsFrom_",
  193. smalltalk.method({
  194. selector: "inheritsFrom:",
  195. fn: function (aClass){
  196. var self=this;
  197. var $1;
  198. $1=smalltalk.send(smalltalk.send(aClass,"_allSubclasses",[]),"_includes_",[self]);
  199. return $1;
  200. }
  201. }),
  202. smalltalk.Behavior);
  203. smalltalk.addMethod(
  204. "_instanceVariableNames",
  205. smalltalk.method({
  206. selector: "instanceVariableNames",
  207. fn: function (){
  208. var self=this;
  209. return self.iVarNames;
  210. ;
  211. return self}
  212. }),
  213. smalltalk.Behavior);
  214. smalltalk.addMethod(
  215. "_methodAt_",
  216. smalltalk.method({
  217. selector: "methodAt:",
  218. fn: function (aSymbol){
  219. var self=this;
  220. return smalltalk.methods(self)[aSymbol._asString()];
  221. ;
  222. return self}
  223. }),
  224. smalltalk.Behavior);
  225. smalltalk.addMethod(
  226. "_methodDictionary",
  227. smalltalk.method({
  228. selector: "methodDictionary",
  229. fn: function (){
  230. var self=this;
  231. var dict = smalltalk.HashedCollection._new();
  232. var methods = self.fn.prototype.methods;
  233. for(var i in methods) {
  234. if(methods[i].selector) {
  235. dict._at_put_(methods[i].selector, methods[i]);
  236. }
  237. };
  238. return dict;
  239. ;
  240. return self}
  241. }),
  242. smalltalk.Behavior);
  243. smalltalk.addMethod(
  244. "_methods",
  245. smalltalk.method({
  246. selector: "methods",
  247. fn: function (){
  248. var self=this;
  249. var $1;
  250. $1=smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_values",[]);
  251. return $1;
  252. }
  253. }),
  254. smalltalk.Behavior);
  255. smalltalk.addMethod(
  256. "_methodsFor_",
  257. smalltalk.method({
  258. selector: "methodsFor:",
  259. fn: function (aString){
  260. var self=this;
  261. var $2,$3,$1;
  262. $2=smalltalk.send((smalltalk.ClassCategoryReader || ClassCategoryReader),"_new",[]);
  263. smalltalk.send($2,"_class_category_",[self,aString]);
  264. $3=smalltalk.send($2,"_yourself",[]);
  265. $1=$3;
  266. return $1;
  267. }
  268. }),
  269. smalltalk.Behavior);
  270. smalltalk.addMethod(
  271. "_methodsFor_stamp_",
  272. smalltalk.method({
  273. selector: "methodsFor:stamp:",
  274. fn: function (aString,aStamp){
  275. var self=this;
  276. var $1;
  277. $1=smalltalk.send(self,"_methodsFor_",[aString]);
  278. return $1;
  279. }
  280. }),
  281. smalltalk.Behavior);
  282. smalltalk.addMethod(
  283. "_methodsInProtocol_",
  284. smalltalk.method({
  285. selector: "methodsInProtocol:",
  286. fn: function (aString){
  287. var self=this;
  288. var $1;
  289. $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_values",[]),"_select_",[(function(each){
  290. return smalltalk.send(smalltalk.send(each,"_protocol",[]),"__eq",[aString]);
  291. })]);
  292. return $1;
  293. }
  294. }),
  295. smalltalk.Behavior);
  296. smalltalk.addMethod(
  297. "_name",
  298. smalltalk.method({
  299. selector: "name",
  300. fn: function (){
  301. var self=this;
  302. return self.className || nil;
  303. ;
  304. return self}
  305. }),
  306. smalltalk.Behavior);
  307. smalltalk.addMethod(
  308. "_new",
  309. smalltalk.method({
  310. selector: "new",
  311. fn: function (){
  312. var self=this;
  313. var $1;
  314. $1=smalltalk.send(smalltalk.send(self,"_basicNew",[]),"_initialize",[]);
  315. return $1;
  316. }
  317. }),
  318. smalltalk.Behavior);
  319. smalltalk.addMethod(
  320. "_organization",
  321. smalltalk.method({
  322. selector: "organization",
  323. fn: function (){
  324. var self=this;
  325. var $1;
  326. $1=smalltalk.send(self,"_basicAt_",["organization"]);
  327. return $1;
  328. }
  329. }),
  330. smalltalk.Behavior);
  331. smalltalk.addMethod(
  332. "_protocols",
  333. smalltalk.method({
  334. selector: "protocols",
  335. fn: function (){
  336. var self=this;
  337. var $1;
  338. $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_organization",[]),"_elements",[]),"_sorted",[]);
  339. return $1;
  340. }
  341. }),
  342. smalltalk.Behavior);
  343. smalltalk.addMethod(
  344. "_protocolsDo_",
  345. smalltalk.method({
  346. selector: "protocolsDo:",
  347. fn: function (aBlock){
  348. var self=this;
  349. var methodsByCategory;
  350. methodsByCategory=smalltalk.send((smalltalk.HashedCollection || HashedCollection),"_new",[]);
  351. smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_values",[]),"_do_",[(function(m){
  352. return smalltalk.send(smalltalk.send(methodsByCategory,"_at_ifAbsentPut_",[smalltalk.send(m,"_category",[]),(function(){
  353. return smalltalk.send((smalltalk.Array || Array),"_new",[]);
  354. })]),"_add_",[m]);
  355. })]);
  356. smalltalk.send(smalltalk.send(self,"_protocols",[]),"_do_",[(function(category){
  357. return smalltalk.send(aBlock,"_value_value_",[category,smalltalk.send(methodsByCategory,"_at_",[category])]);
  358. })]);
  359. return self}
  360. }),
  361. smalltalk.Behavior);
  362. smalltalk.addMethod(
  363. "_prototype",
  364. smalltalk.method({
  365. selector: "prototype",
  366. fn: function (){
  367. var self=this;
  368. return self.fn.prototype;
  369. ;
  370. return self}
  371. }),
  372. smalltalk.Behavior);
  373. smalltalk.addMethod(
  374. "_removeCompiledMethod_",
  375. smalltalk.method({
  376. selector: "removeCompiledMethod:",
  377. fn: function (aMethod){
  378. var self=this;
  379. var $1,$2;
  380. smalltalk.removeMethod(aMethod)
  381. smalltalk.init(self);
  382. ;
  383. ;
  384. $1=smalltalk.send((smalltalk.MethodRemoved || MethodRemoved),"_new",[]);
  385. smalltalk.send($1,"_theClass_",[self]);
  386. smalltalk.send($1,"_method_",[aMethod]);
  387. $2=smalltalk.send($1,"_yourself",[]);
  388. smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
  389. return self}
  390. }),
  391. smalltalk.Behavior);
  392. smalltalk.addMethod(
  393. "_selectors",
  394. smalltalk.method({
  395. selector: "selectors",
  396. fn: function (){
  397. var self=this;
  398. var $1;
  399. $1=smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_keys",[]);
  400. return $1;
  401. }
  402. }),
  403. smalltalk.Behavior);
  404. smalltalk.addMethod(
  405. "_subclasses",
  406. smalltalk.method({
  407. selector: "subclasses",
  408. fn: function (){
  409. var self=this;
  410. return smalltalk.subclasses(self);
  411. ;
  412. return self}
  413. }),
  414. smalltalk.Behavior);
  415. smalltalk.addMethod(
  416. "_superclass",
  417. smalltalk.method({
  418. selector: "superclass",
  419. fn: function (){
  420. var self=this;
  421. return self.superclass || nil;
  422. ;
  423. return self}
  424. }),
  425. smalltalk.Behavior);
  426. smalltalk.addMethod(
  427. "_theMetaClass",
  428. smalltalk.method({
  429. selector: "theMetaClass",
  430. fn: function (){
  431. var self=this;
  432. var $1;
  433. $1=smalltalk.send(self,"_class",[]);
  434. return $1;
  435. }
  436. }),
  437. smalltalk.Behavior);
  438. smalltalk.addMethod(
  439. "_theNonMetaClass",
  440. smalltalk.method({
  441. selector: "theNonMetaClass",
  442. fn: function (){
  443. var self=this;
  444. return self;
  445. }
  446. }),
  447. smalltalk.Behavior);
  448. smalltalk.addMethod(
  449. "_withAllSubclasses",
  450. smalltalk.method({
  451. selector: "withAllSubclasses",
  452. fn: function (){
  453. var self=this;
  454. var $2,$3,$1;
  455. $2=smalltalk.send((smalltalk.Array || Array),"_with_",[self]);
  456. smalltalk.send($2,"_addAll_",[smalltalk.send(self,"_allSubclasses",[])]);
  457. $3=smalltalk.send($2,"_yourself",[]);
  458. $1=$3;
  459. return $1;
  460. }
  461. }),
  462. smalltalk.Behavior);
  463. smalltalk.addClass('Class', smalltalk.Behavior, [], 'Kernel-Classes');
  464. smalltalk.addMethod(
  465. "_asJavascript",
  466. smalltalk.method({
  467. selector: "asJavascript",
  468. fn: function (){
  469. var self=this;
  470. var $1;
  471. $1=smalltalk.send("smalltalk.","__comma",[smalltalk.send(self,"_name",[])]);
  472. return $1;
  473. }
  474. }),
  475. smalltalk.Class);
  476. smalltalk.addMethod(
  477. "_category",
  478. smalltalk.method({
  479. selector: "category",
  480. fn: function (){
  481. var self=this;
  482. var $2,$1;
  483. $2=smalltalk.send(self,"_package",[]);
  484. if(($receiver = $2) == nil || $receiver == undefined){
  485. $1="Unclassified";
  486. } else {
  487. $1=smalltalk.send(smalltalk.send(self,"_package",[]),"_name",[]);
  488. };
  489. return $1;
  490. }
  491. }),
  492. smalltalk.Class);
  493. smalltalk.addMethod(
  494. "_definition",
  495. smalltalk.method({
  496. selector: "definition",
  497. fn: function (){
  498. var self=this;
  499. var $2,$3,$1;
  500. $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(stream){
  501. smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(smalltalk.send(self,"_superclass",[]),"_asString",[])]);
  502. smalltalk.send(stream,"_nextPutAll_",[" subclass: #"]);
  503. smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(self,"_name",[])]);
  504. smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(smalltalk.send((smalltalk.String || String),"_lf",[]),"__comma",[smalltalk.send((smalltalk.String || String),"_tab",[])])]);
  505. $2=smalltalk.send(stream,"_nextPutAll_",["instanceVariableNames: '"]);
  506. $2;
  507. smalltalk.send(smalltalk.send(self,"_instanceVariableNames",[]),"_do_separatedBy_",[(function(each){
  508. return smalltalk.send(stream,"_nextPutAll_",[each]);
  509. }),(function(){
  510. return smalltalk.send(stream,"_nextPutAll_",[" "]);
  511. })]);
  512. smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(smalltalk.send("'","__comma",[smalltalk.send((smalltalk.String || String),"_lf",[])]),"__comma",[smalltalk.send((smalltalk.String || String),"_tab",[])])]);
  513. smalltalk.send(stream,"_nextPutAll_",["package: '"]);
  514. smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(self,"_category",[])]);
  515. $3=smalltalk.send(stream,"_nextPutAll_",["'"]);
  516. return $3;
  517. })]);
  518. return $1;
  519. }
  520. }),
  521. smalltalk.Class);
  522. smalltalk.addMethod(
  523. "_isClass",
  524. smalltalk.method({
  525. selector: "isClass",
  526. fn: function (){
  527. var self=this;
  528. return true;
  529. }
  530. }),
  531. smalltalk.Class);
  532. smalltalk.addMethod(
  533. "_package",
  534. smalltalk.method({
  535. selector: "package",
  536. fn: function (){
  537. var self=this;
  538. return self.pkg;
  539. ;
  540. return self}
  541. }),
  542. smalltalk.Class);
  543. smalltalk.addMethod(
  544. "_package_",
  545. smalltalk.method({
  546. selector: "package:",
  547. fn: function (aPackage){
  548. var self=this;
  549. self.pkg = aPackage;
  550. ;
  551. return self}
  552. }),
  553. smalltalk.Class);
  554. smalltalk.addMethod(
  555. "_printString",
  556. smalltalk.method({
  557. selector: "printString",
  558. fn: function (){
  559. var self=this;
  560. var $1;
  561. $1=smalltalk.send(self,"_name",[]);
  562. return $1;
  563. }
  564. }),
  565. smalltalk.Class);
  566. smalltalk.addMethod(
  567. "_rename_",
  568. smalltalk.method({
  569. selector: "rename:",
  570. fn: function (aString){
  571. var self=this;
  572. smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder),"_new",[]),"_renameClass_to_",[self,aString]);
  573. return self}
  574. }),
  575. smalltalk.Class);
  576. smalltalk.addMethod(
  577. "_subclass_instanceVariableNames_",
  578. smalltalk.method({
  579. selector: "subclass:instanceVariableNames:",
  580. fn: function (aString,anotherString){
  581. var self=this;
  582. var $1;
  583. $1=smalltalk.send(self,"_subclass_instanceVariableNames_package_",[aString,anotherString,nil]);
  584. return $1;
  585. }
  586. }),
  587. smalltalk.Class);
  588. smalltalk.addMethod(
  589. "_subclass_instanceVariableNames_category_",
  590. smalltalk.method({
  591. selector: "subclass:instanceVariableNames:category:",
  592. fn: function (aString,aString2,aString3){
  593. var self=this;
  594. var $1;
  595. smalltalk.send(self,"_deprecatedAPI",[]);
  596. $1=smalltalk.send(self,"_subclass_instanceVariableNames_package_",[aString,aString2,aString3]);
  597. return $1;
  598. }
  599. }),
  600. smalltalk.Class);
  601. smalltalk.addMethod(
  602. "_subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_",
  603. smalltalk.method({
  604. selector: "subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:",
  605. fn: function (aString,aString2,classVars,pools,aString3){
  606. var self=this;
  607. var $1;
  608. $1=smalltalk.send(self,"_subclass_instanceVariableNames_package_",[aString,aString2,aString3]);
  609. return $1;
  610. }
  611. }),
  612. smalltalk.Class);
  613. smalltalk.addMethod(
  614. "_subclass_instanceVariableNames_package_",
  615. smalltalk.method({
  616. selector: "subclass:instanceVariableNames:package:",
  617. fn: function (aString,aString2,aString3){
  618. var self=this;
  619. var $1;
  620. $1=smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder),"_new",[]),"_superclass_subclass_instanceVariableNames_package_",[self,smalltalk.send(aString,"_asString",[]),aString2,aString3]);
  621. return $1;
  622. }
  623. }),
  624. smalltalk.Class);
  625. smalltalk.addClass('Metaclass', smalltalk.Behavior, [], 'Kernel-Classes');
  626. smalltalk.addMethod(
  627. "_asJavascript",
  628. smalltalk.method({
  629. selector: "asJavascript",
  630. fn: function (){
  631. var self=this;
  632. var $1;
  633. $1=smalltalk.send(smalltalk.send("smalltalk.","__comma",[smalltalk.send(smalltalk.send(self,"_instanceClass",[]),"_name",[])]),"__comma",[".klass"]);
  634. return $1;
  635. }
  636. }),
  637. smalltalk.Metaclass);
  638. smalltalk.addMethod(
  639. "_definition",
  640. smalltalk.method({
  641. selector: "definition",
  642. fn: function (){
  643. var self=this;
  644. var $2,$1;
  645. $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(stream){
  646. smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(self,"_asString",[])]);
  647. smalltalk.send(stream,"_nextPutAll_",[" class "]);
  648. $2=smalltalk.send(stream,"_nextPutAll_",["instanceVariableNames: '"]);
  649. $2;
  650. smalltalk.send(smalltalk.send(self,"_instanceVariableNames",[]),"_do_separatedBy_",[(function(each){
  651. return smalltalk.send(stream,"_nextPutAll_",[each]);
  652. }),(function(){
  653. return smalltalk.send(stream,"_nextPutAll_",[" "]);
  654. })]);
  655. return smalltalk.send(stream,"_nextPutAll_",["'"]);
  656. })]);
  657. return $1;
  658. }
  659. }),
  660. smalltalk.Metaclass);
  661. smalltalk.addMethod(
  662. "_instanceClass",
  663. smalltalk.method({
  664. selector: "instanceClass",
  665. fn: function (){
  666. var self=this;
  667. return self.instanceClass;
  668. ;
  669. return self}
  670. }),
  671. smalltalk.Metaclass);
  672. smalltalk.addMethod(
  673. "_instanceVariableNames_",
  674. smalltalk.method({
  675. selector: "instanceVariableNames:",
  676. fn: function (aCollection){
  677. var self=this;
  678. smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder),"_new",[]),"_class_instanceVariableNames_",[self,aCollection]);
  679. return self}
  680. }),
  681. smalltalk.Metaclass);
  682. smalltalk.addMethod(
  683. "_isMetaclass",
  684. smalltalk.method({
  685. selector: "isMetaclass",
  686. fn: function (){
  687. var self=this;
  688. return true;
  689. }
  690. }),
  691. smalltalk.Metaclass);
  692. smalltalk.addMethod(
  693. "_printString",
  694. smalltalk.method({
  695. selector: "printString",
  696. fn: function (){
  697. var self=this;
  698. var $1;
  699. $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_instanceClass",[]),"_name",[]),"__comma",[" class"]);
  700. return $1;
  701. }
  702. }),
  703. smalltalk.Metaclass);
  704. smalltalk.addMethod(
  705. "_theMetaClass",
  706. smalltalk.method({
  707. selector: "theMetaClass",
  708. fn: function (){
  709. var self=this;
  710. return self;
  711. }
  712. }),
  713. smalltalk.Metaclass);
  714. smalltalk.addMethod(
  715. "_theNonMetaClass",
  716. smalltalk.method({
  717. selector: "theNonMetaClass",
  718. fn: function (){
  719. var self=this;
  720. var $1;
  721. $1=smalltalk.send(self,"_instanceClass",[]);
  722. return $1;
  723. }
  724. }),
  725. smalltalk.Metaclass);
  726. smalltalk.addClass('ClassBuilder', smalltalk.Object, [], 'Kernel-Classes');
  727. smalltalk.addMethod(
  728. "_addSubclassOf_named_instanceVariableNames_",
  729. smalltalk.method({
  730. selector: "addSubclassOf:named:instanceVariableNames:",
  731. fn: function (aClass,aString,aCollection){
  732. var self=this;
  733. smalltalk.addClass(aString, aClass, aCollection);
  734. return smalltalk[aString];
  735. ;
  736. return self}
  737. }),
  738. smalltalk.ClassBuilder);
  739. smalltalk.addMethod(
  740. "_addSubclassOf_named_instanceVariableNames_package_",
  741. smalltalk.method({
  742. selector: "addSubclassOf:named:instanceVariableNames:package:",
  743. fn: function (aClass,aString,aCollection,packageName){
  744. var self=this;
  745. smalltalk.addClass(aString, aClass, aCollection, packageName);
  746. return smalltalk[aString];
  747. ;
  748. return self}
  749. }),
  750. smalltalk.ClassBuilder);
  751. smalltalk.addMethod(
  752. "_class_instanceVariableNames_",
  753. smalltalk.method({
  754. selector: "class:instanceVariableNames:",
  755. fn: function (aClass,aString){
  756. var self=this;
  757. var $1,$2,$3;
  758. $1=smalltalk.send(aClass,"_isMetaclass",[]);
  759. if(! smalltalk.assert($1)){
  760. smalltalk.send(self,"_error_",[smalltalk.send(smalltalk.send(aClass,"_name",[]),"__comma",[" is not a metaclass"])]);
  761. };
  762. smalltalk.send(aClass,"_basicAt_put_",["iVarNames",smalltalk.send(self,"_instanceVariableNamesFor_",[aString])]);
  763. $2=smalltalk.send((smalltalk.ClassDefinitionChanged || ClassDefinitionChanged),"_new",[]);
  764. smalltalk.send($2,"_theClass_",[aClass]);
  765. $3=smalltalk.send($2,"_yourself",[]);
  766. smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$3]);
  767. smalltalk.send(self,"_setupClass_",[aClass]);
  768. return self}
  769. }),
  770. smalltalk.ClassBuilder);
  771. smalltalk.addMethod(
  772. "_copyClass_named_",
  773. smalltalk.method({
  774. selector: "copyClass:named:",
  775. fn: function (aClass,aString){
  776. var self=this;
  777. var newClass;
  778. newClass=smalltalk.send(self,"_addSubclassOf_named_instanceVariableNames_package_",[smalltalk.send(aClass,"_superclass",[]),aString,smalltalk.send(aClass,"_instanceVariableNames",[]),smalltalk.send(smalltalk.send(aClass,"_package",[]),"_name",[])]);
  779. smalltalk.send(self,"_setupClass_",[newClass]);
  780. smalltalk.send(smalltalk.send(smalltalk.send(aClass,"_methodDictionary",[]),"_values",[]),"_do_",[(function(each){
  781. return smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_install_forClass_category_",[smalltalk.send(each,"_source",[]),newClass,smalltalk.send(each,"_category",[])]);
  782. })]);
  783. smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass,"_class",[]),"_methodDictionary",[]),"_values",[]),"_do_",[(function(each){
  784. return smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_install_forClass_category_",[smalltalk.send(each,"_source",[]),smalltalk.send(newClass,"_class",[]),smalltalk.send(each,"_category",[])]);
  785. })]);
  786. smalltalk.send(self,"_setupClass_",[newClass]);
  787. return newClass;
  788. }
  789. }),
  790. smalltalk.ClassBuilder);
  791. smalltalk.addMethod(
  792. "_instanceVariableNamesFor_",
  793. smalltalk.method({
  794. selector: "instanceVariableNamesFor:",
  795. fn: function (aString){
  796. var self=this;
  797. var $1;
  798. $1=smalltalk.send(smalltalk.send(aString,"_tokenize_",[" "]),"_reject_",[(function(each){
  799. return smalltalk.send(each,"_isEmpty",[]);
  800. })]);
  801. return $1;
  802. }
  803. }),
  804. smalltalk.ClassBuilder);
  805. smalltalk.addMethod(
  806. "_renameClass_to_",
  807. smalltalk.method({
  808. selector: "renameClass:to:",
  809. fn: function (aClass,aString){
  810. var self=this;
  811. var $1,$2;
  812. smalltalk[aString] = aClass;
  813. delete smalltalk[aClass.className];
  814. aClass.className = aString;
  815. ;
  816. ;
  817. $1=smalltalk.send((smalltalk.ClassRenamed || ClassRenamed),"_new",[]);
  818. smalltalk.send($1,"_theClass_",[aClass]);
  819. $2=smalltalk.send($1,"_yourself",[]);
  820. smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
  821. return self}
  822. }),
  823. smalltalk.ClassBuilder);
  824. smalltalk.addMethod(
  825. "_setupClass_",
  826. smalltalk.method({
  827. selector: "setupClass:",
  828. fn: function (aClass){
  829. var self=this;
  830. smalltalk.init(aClass);;
  831. ;
  832. return self}
  833. }),
  834. smalltalk.ClassBuilder);
  835. smalltalk.addMethod(
  836. "_superclass_subclass_",
  837. smalltalk.method({
  838. selector: "superclass:subclass:",
  839. fn: function (aClass,aString){
  840. var self=this;
  841. var $1;
  842. $1=smalltalk.send(self,"_superclass_subclass_instanceVariableNames_package_",[aClass,aString,"",nil]);
  843. return $1;
  844. }
  845. }),
  846. smalltalk.ClassBuilder);
  847. smalltalk.addMethod(
  848. "_superclass_subclass_instanceVariableNames_package_",
  849. smalltalk.method({
  850. selector: "superclass:subclass:instanceVariableNames:package:",
  851. fn: function (aClass,aString,aString2,aString3){
  852. var self=this;
  853. var $1,$2,$3;
  854. var newClass;
  855. if(($receiver = aString3) == nil || $receiver == undefined){
  856. $1="unclassified";
  857. } else {
  858. $1=aString3;
  859. };
  860. newClass=smalltalk.send(self,"_addSubclassOf_named_instanceVariableNames_package_",[aClass,aString,smalltalk.send(self,"_instanceVariableNamesFor_",[aString2]),$1]);
  861. smalltalk.send(self,"_setupClass_",[newClass]);
  862. $2=smalltalk.send((smalltalk.ClassAdded || ClassAdded),"_new",[]);
  863. smalltalk.send($2,"_theClass_",[newClass]);
  864. $3=smalltalk.send($2,"_yourself",[]);
  865. smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$3]);
  866. return newClass;
  867. }
  868. }),
  869. smalltalk.ClassBuilder);
  870. smalltalk.addClass('ClassCategoryReader', smalltalk.Object, ['class', 'category'], 'Kernel-Classes');
  871. smalltalk.addMethod(
  872. "_class_category_",
  873. smalltalk.method({
  874. selector: "class:category:",
  875. fn: function (aClass,aString){
  876. var self=this;
  877. self["@class"]=aClass;
  878. self["@category"]=aString;
  879. return self}
  880. }),
  881. smalltalk.ClassCategoryReader);
  882. smalltalk.addMethod(
  883. "_compileMethod_",
  884. smalltalk.method({
  885. selector: "compileMethod:",
  886. fn: function (aString){
  887. var self=this;
  888. smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_install_forClass_category_",[aString,self["@class"],self["@category"]]);
  889. return self}
  890. }),
  891. smalltalk.ClassCategoryReader);
  892. smalltalk.addMethod(
  893. "_initialize",
  894. smalltalk.method({
  895. selector: "initialize",
  896. fn: function (){
  897. var self=this;
  898. smalltalk.send(self,"_initialize",[],smalltalk.Object);
  899. return self}
  900. }),
  901. smalltalk.ClassCategoryReader);
  902. smalltalk.addMethod(
  903. "_scanFrom_",
  904. smalltalk.method({
  905. selector: "scanFrom:",
  906. fn: function (aChunkParser){
  907. var self=this;
  908. var chunk;
  909. smalltalk.send((function(){
  910. chunk=smalltalk.send(aChunkParser,"_nextChunk",[]);
  911. chunk;
  912. return smalltalk.send(chunk,"_isEmpty",[]);
  913. }),"_whileFalse_",[(function(){
  914. return smalltalk.send(self,"_compileMethod_",[chunk]);
  915. })]);
  916. smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_setupClass_",[self["@class"]]);
  917. return self}
  918. }),
  919. smalltalk.ClassCategoryReader);
  920. smalltalk.addClass('ClassCommentReader', smalltalk.Object, ['class', 'chunkParser'], 'Kernel-Classes');
  921. smalltalk.addMethod(
  922. "_class_",
  923. smalltalk.method({
  924. selector: "class:",
  925. fn: function (aClass){
  926. var self=this;
  927. self["@class"]=aClass;
  928. return self}
  929. }),
  930. smalltalk.ClassCommentReader);
  931. smalltalk.addMethod(
  932. "_initialize",
  933. smalltalk.method({
  934. selector: "initialize",
  935. fn: function (){
  936. var self=this;
  937. smalltalk.send(self,"_initialize",[],smalltalk.Object);
  938. self["@chunkParser"]=smalltalk.send((smalltalk.ChunkParser || ChunkParser),"_new",[]);
  939. return self}
  940. }),
  941. smalltalk.ClassCommentReader);
  942. smalltalk.addMethod(
  943. "_scanFrom_",
  944. smalltalk.method({
  945. selector: "scanFrom:",
  946. fn: function (aChunkParser){
  947. var self=this;
  948. var $1;
  949. var chunk;
  950. chunk=smalltalk.send(aChunkParser,"_nextChunk",[]);
  951. $1=smalltalk.send(chunk,"_isEmpty",[]);
  952. if(! smalltalk.assert($1)){
  953. smalltalk.send(self,"_setComment_",[chunk]);
  954. };
  955. return self}
  956. }),
  957. smalltalk.ClassCommentReader);
  958. smalltalk.addMethod(
  959. "_setComment_",
  960. smalltalk.method({
  961. selector: "setComment:",
  962. fn: function (aString){
  963. var self=this;
  964. smalltalk.send(self["@class"],"_comment_",[aString]);
  965. return self}
  966. }),
  967. smalltalk.ClassCommentReader);
  968. smalltalk.addClass('ClassSorterNode', smalltalk.Object, ['theClass', 'level', 'nodes'], 'Kernel-Classes');
  969. smalltalk.addMethod(
  970. "_getNodesFrom_",
  971. smalltalk.method({
  972. selector: "getNodesFrom:",
  973. fn: function (aCollection){
  974. var self=this;
  975. var $1;
  976. var children;
  977. var others;
  978. children=[];
  979. others=[];
  980. smalltalk.send(aCollection,"_do_",[(function(each){
  981. $1=smalltalk.send(smalltalk.send(each,"_superclass",[]),"__eq",[smalltalk.send(self,"_theClass",[])]);
  982. if(smalltalk.assert($1)){
  983. return smalltalk.send(children,"_add_",[each]);
  984. } else {
  985. return smalltalk.send(others,"_add_",[each]);
  986. };
  987. })]);
  988. self["@nodes"]=smalltalk.send(children,"_collect_",[(function(each){
  989. return smalltalk.send((smalltalk.ClassSorterNode || ClassSorterNode),"_on_classes_level_",[each,others,smalltalk.send(smalltalk.send(self,"_level",[]),"__plus",[(1)])]);
  990. })]);
  991. return self}
  992. }),
  993. smalltalk.ClassSorterNode);
  994. smalltalk.addMethod(
  995. "_level",
  996. smalltalk.method({
  997. selector: "level",
  998. fn: function (){
  999. var self=this;
  1000. return self["@level"];
  1001. }
  1002. }),
  1003. smalltalk.ClassSorterNode);
  1004. smalltalk.addMethod(
  1005. "_level_",
  1006. smalltalk.method({
  1007. selector: "level:",
  1008. fn: function (anInteger){
  1009. var self=this;
  1010. self["@level"]=anInteger;
  1011. return self}
  1012. }),
  1013. smalltalk.ClassSorterNode);
  1014. smalltalk.addMethod(
  1015. "_nodes",
  1016. smalltalk.method({
  1017. selector: "nodes",
  1018. fn: function (){
  1019. var self=this;
  1020. return self["@nodes"];
  1021. }
  1022. }),
  1023. smalltalk.ClassSorterNode);
  1024. smalltalk.addMethod(
  1025. "_theClass",
  1026. smalltalk.method({
  1027. selector: "theClass",
  1028. fn: function (){
  1029. var self=this;
  1030. return self["@theClass"];
  1031. }
  1032. }),
  1033. smalltalk.ClassSorterNode);
  1034. smalltalk.addMethod(
  1035. "_theClass_",
  1036. smalltalk.method({
  1037. selector: "theClass:",
  1038. fn: function (aClass){
  1039. var self=this;
  1040. self["@theClass"]=aClass;
  1041. return self}
  1042. }),
  1043. smalltalk.ClassSorterNode);
  1044. smalltalk.addMethod(
  1045. "_traverseClassesWith_",
  1046. smalltalk.method({
  1047. selector: "traverseClassesWith:",
  1048. fn: function (aCollection){
  1049. var self=this;
  1050. smalltalk.send(aCollection,"_add_",[smalltalk.send(self,"_theClass",[])]);
  1051. smalltalk.send(smalltalk.send(smalltalk.send(self,"_nodes",[]),"_sorted_",[(function(a,b){
  1052. return smalltalk.send(smalltalk.send(smalltalk.send(a,"_theClass",[]),"_name",[]),"__lt_eq",[smalltalk.send(smalltalk.send(b,"_theClass",[]),"_name",[])]);
  1053. })]),"_do_",[(function(aNode){
  1054. return smalltalk.send(aNode,"_traverseClassesWith_",[aCollection]);
  1055. })]);
  1056. return self}
  1057. }),
  1058. smalltalk.ClassSorterNode);
  1059. smalltalk.addMethod(
  1060. "_on_classes_level_",
  1061. smalltalk.method({
  1062. selector: "on:classes:level:",
  1063. fn: function (aClass,aCollection,anInteger){
  1064. var self=this;
  1065. var $2,$3,$1;
  1066. $2=smalltalk.send(self,"_new",[]);
  1067. smalltalk.send($2,"_theClass_",[aClass]);
  1068. smalltalk.send($2,"_level_",[anInteger]);
  1069. smalltalk.send($2,"_getNodesFrom_",[aCollection]);
  1070. $3=smalltalk.send($2,"_yourself",[]);
  1071. $1=$3;
  1072. return $1;
  1073. }
  1074. }),
  1075. smalltalk.ClassSorterNode.klass);