Kernel-Classes.deploy.js 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169
  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'], '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. return self}
  939. }),
  940. smalltalk.ClassCommentReader);
  941. smalltalk.addMethod(
  942. "_scanFrom_",
  943. smalltalk.method({
  944. selector: "scanFrom:",
  945. fn: function (aChunkParser){
  946. var self=this;
  947. var $1;
  948. var chunk;
  949. chunk=smalltalk.send(aChunkParser,"_nextChunk",[]);
  950. $1=smalltalk.send(chunk,"_isEmpty",[]);
  951. if(! smalltalk.assert($1)){
  952. smalltalk.send(self,"_setComment_",[chunk]);
  953. };
  954. return self}
  955. }),
  956. smalltalk.ClassCommentReader);
  957. smalltalk.addMethod(
  958. "_setComment_",
  959. smalltalk.method({
  960. selector: "setComment:",
  961. fn: function (aString){
  962. var self=this;
  963. smalltalk.send(self["@class"],"_comment_",[aString]);
  964. return self}
  965. }),
  966. smalltalk.ClassCommentReader);
  967. smalltalk.addClass('ClassSorterNode', smalltalk.Object, ['theClass', 'level', 'nodes'], 'Kernel-Classes');
  968. smalltalk.addMethod(
  969. "_getNodesFrom_",
  970. smalltalk.method({
  971. selector: "getNodesFrom:",
  972. fn: function (aCollection){
  973. var self=this;
  974. var $1;
  975. var children;
  976. var others;
  977. children=[];
  978. others=[];
  979. smalltalk.send(aCollection,"_do_",[(function(each){
  980. $1=smalltalk.send(smalltalk.send(each,"_superclass",[]),"__eq",[smalltalk.send(self,"_theClass",[])]);
  981. if(smalltalk.assert($1)){
  982. return smalltalk.send(children,"_add_",[each]);
  983. } else {
  984. return smalltalk.send(others,"_add_",[each]);
  985. };
  986. })]);
  987. self["@nodes"]=smalltalk.send(children,"_collect_",[(function(each){
  988. return smalltalk.send((smalltalk.ClassSorterNode || ClassSorterNode),"_on_classes_level_",[each,others,smalltalk.send(smalltalk.send(self,"_level",[]),"__plus",[(1)])]);
  989. })]);
  990. return self}
  991. }),
  992. smalltalk.ClassSorterNode);
  993. smalltalk.addMethod(
  994. "_level",
  995. smalltalk.method({
  996. selector: "level",
  997. fn: function (){
  998. var self=this;
  999. return self["@level"];
  1000. }
  1001. }),
  1002. smalltalk.ClassSorterNode);
  1003. smalltalk.addMethod(
  1004. "_level_",
  1005. smalltalk.method({
  1006. selector: "level:",
  1007. fn: function (anInteger){
  1008. var self=this;
  1009. self["@level"]=anInteger;
  1010. return self}
  1011. }),
  1012. smalltalk.ClassSorterNode);
  1013. smalltalk.addMethod(
  1014. "_nodes",
  1015. smalltalk.method({
  1016. selector: "nodes",
  1017. fn: function (){
  1018. var self=this;
  1019. return self["@nodes"];
  1020. }
  1021. }),
  1022. smalltalk.ClassSorterNode);
  1023. smalltalk.addMethod(
  1024. "_theClass",
  1025. smalltalk.method({
  1026. selector: "theClass",
  1027. fn: function (){
  1028. var self=this;
  1029. return self["@theClass"];
  1030. }
  1031. }),
  1032. smalltalk.ClassSorterNode);
  1033. smalltalk.addMethod(
  1034. "_theClass_",
  1035. smalltalk.method({
  1036. selector: "theClass:",
  1037. fn: function (aClass){
  1038. var self=this;
  1039. self["@theClass"]=aClass;
  1040. return self}
  1041. }),
  1042. smalltalk.ClassSorterNode);
  1043. smalltalk.addMethod(
  1044. "_traverseClassesWith_",
  1045. smalltalk.method({
  1046. selector: "traverseClassesWith:",
  1047. fn: function (aCollection){
  1048. var self=this;
  1049. smalltalk.send(aCollection,"_add_",[smalltalk.send(self,"_theClass",[])]);
  1050. smalltalk.send(smalltalk.send(smalltalk.send(self,"_nodes",[]),"_sorted_",[(function(a,b){
  1051. return smalltalk.send(smalltalk.send(smalltalk.send(a,"_theClass",[]),"_name",[]),"__lt_eq",[smalltalk.send(smalltalk.send(b,"_theClass",[]),"_name",[])]);
  1052. })]),"_do_",[(function(aNode){
  1053. return smalltalk.send(aNode,"_traverseClassesWith_",[aCollection]);
  1054. })]);
  1055. return self}
  1056. }),
  1057. smalltalk.ClassSorterNode);
  1058. smalltalk.addMethod(
  1059. "_on_classes_level_",
  1060. smalltalk.method({
  1061. selector: "on:classes:level:",
  1062. fn: function (aClass,aCollection,anInteger){
  1063. var self=this;
  1064. var $2,$3,$1;
  1065. $2=smalltalk.send(self,"_new",[]);
  1066. smalltalk.send($2,"_theClass_",[aClass]);
  1067. smalltalk.send($2,"_level_",[anInteger]);
  1068. smalltalk.send($2,"_getNodesFrom_",[aCollection]);
  1069. $3=smalltalk.send($2,"_yourself",[]);
  1070. $1=$3;
  1071. return $1;
  1072. }
  1073. }),
  1074. smalltalk.ClassSorterNode.klass);