Kernel-Methods.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. smalltalk.addPackage('Kernel-Methods', {});
  2. smalltalk.addClass('CompiledMethod', smalltalk.Object, [], 'Kernel-Methods');
  3. smalltalk.addMethod(
  4. unescape('_source'),
  5. smalltalk.method({
  6. selector: unescape('source'),
  7. category: 'accessing',
  8. fn: function (){
  9. var self=this;
  10. return (($receiver = smalltalk.send(self, "_basicAt_", ["source"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
  11. return self;},
  12. args: [],
  13. source: unescape('source%0A%09%5E%28self%20basicAt%3A%20%27source%27%29%20ifNil%3A%20%5B%27%27%5D'),
  14. messageSends: ["ifNil:", "basicAt:"],
  15. referencedClasses: []
  16. }),
  17. smalltalk.CompiledMethod);
  18. smalltalk.addMethod(
  19. unescape('_source_'),
  20. smalltalk.method({
  21. selector: unescape('source%3A'),
  22. category: 'accessing',
  23. fn: function (aString){
  24. var self=this;
  25. smalltalk.send(self, "_basicAt_put_", ["source", aString]);
  26. return self;},
  27. args: ["aString"],
  28. source: unescape('source%3A%20aString%0A%09self%20basicAt%3A%20%27source%27%20put%3A%20aString'),
  29. messageSends: ["basicAt:put:"],
  30. referencedClasses: []
  31. }),
  32. smalltalk.CompiledMethod);
  33. smalltalk.addMethod(
  34. unescape('_category'),
  35. smalltalk.method({
  36. selector: unescape('category'),
  37. category: 'accessing',
  38. fn: function (){
  39. var self=this;
  40. return (($receiver = smalltalk.send(self, "_basicAt_", ["category"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
  41. return self;},
  42. args: [],
  43. source: unescape('category%0A%09%5E%28self%20basicAt%3A%20%27category%27%29%20ifNil%3A%20%5B%27%27%5D'),
  44. messageSends: ["ifNil:", "basicAt:"],
  45. referencedClasses: []
  46. }),
  47. smalltalk.CompiledMethod);
  48. smalltalk.addMethod(
  49. unescape('_category_'),
  50. smalltalk.method({
  51. selector: unescape('category%3A'),
  52. category: 'accessing',
  53. fn: function (aString){
  54. var self=this;
  55. smalltalk.send(self, "_basicAt_put_", ["category", aString]);
  56. return self;},
  57. args: ["aString"],
  58. source: unescape('category%3A%20aString%0A%09self%20basicAt%3A%20%27category%27%20put%3A%20aString'),
  59. messageSends: ["basicAt:put:"],
  60. referencedClasses: []
  61. }),
  62. smalltalk.CompiledMethod);
  63. smalltalk.addMethod(
  64. unescape('_selector'),
  65. smalltalk.method({
  66. selector: unescape('selector'),
  67. category: 'accessing',
  68. fn: function (){
  69. var self=this;
  70. return smalltalk.send(self, "_basicAt_", ["selector"]);
  71. return self;},
  72. args: [],
  73. source: unescape('selector%0A%09%5Eself%20basicAt%3A%20%27selector%27'),
  74. messageSends: ["basicAt:"],
  75. referencedClasses: []
  76. }),
  77. smalltalk.CompiledMethod);
  78. smalltalk.addMethod(
  79. unescape('_selector_'),
  80. smalltalk.method({
  81. selector: unescape('selector%3A'),
  82. category: 'accessing',
  83. fn: function (aString){
  84. var self=this;
  85. smalltalk.send(self, "_basicAt_put_", ["selector", aString]);
  86. return self;},
  87. args: ["aString"],
  88. source: unescape('selector%3A%20aString%0A%09self%20basicAt%3A%20%27selector%27%20put%3A%20aString'),
  89. messageSends: ["basicAt:put:"],
  90. referencedClasses: []
  91. }),
  92. smalltalk.CompiledMethod);
  93. smalltalk.addMethod(
  94. unescape('_fn'),
  95. smalltalk.method({
  96. selector: unescape('fn'),
  97. category: 'accessing',
  98. fn: function (){
  99. var self=this;
  100. return smalltalk.send(self, "_basicAt_", ["fn"]);
  101. return self;},
  102. args: [],
  103. source: unescape('fn%0A%09%5Eself%20basicAt%3A%20%27fn%27'),
  104. messageSends: ["basicAt:"],
  105. referencedClasses: []
  106. }),
  107. smalltalk.CompiledMethod);
  108. smalltalk.addMethod(
  109. unescape('_fn_'),
  110. smalltalk.method({
  111. selector: unescape('fn%3A'),
  112. category: 'accessing',
  113. fn: function (aBlock){
  114. var self=this;
  115. smalltalk.send(self, "_basicAt_put_", ["fn", aBlock]);
  116. return self;},
  117. args: ["aBlock"],
  118. source: unescape('fn%3A%20aBlock%0A%09self%20basicAt%3A%20%27fn%27%20put%3A%20aBlock'),
  119. messageSends: ["basicAt:put:"],
  120. referencedClasses: []
  121. }),
  122. smalltalk.CompiledMethod);
  123. smalltalk.addMethod(
  124. unescape('_messageSends'),
  125. smalltalk.method({
  126. selector: unescape('messageSends'),
  127. category: 'accessing',
  128. fn: function (){
  129. var self=this;
  130. return smalltalk.send(self, "_basicAt_", ["messageSends"]);
  131. return self;},
  132. args: [],
  133. source: unescape('messageSends%0A%09%5Eself%20basicAt%3A%20%27messageSends%27'),
  134. messageSends: ["basicAt:"],
  135. referencedClasses: []
  136. }),
  137. smalltalk.CompiledMethod);
  138. smalltalk.addMethod(
  139. unescape('_methodClass'),
  140. smalltalk.method({
  141. selector: unescape('methodClass'),
  142. category: 'accessing',
  143. fn: function (){
  144. var self=this;
  145. return smalltalk.send(self, "_basicAt_", ["methodClass"]);
  146. return self;},
  147. args: [],
  148. source: unescape('methodClass%0A%09%5Eself%20basicAt%3A%20%27methodClass%27'),
  149. messageSends: ["basicAt:"],
  150. referencedClasses: []
  151. }),
  152. smalltalk.CompiledMethod);
  153. smalltalk.addMethod(
  154. unescape('_referencedClasses'),
  155. smalltalk.method({
  156. selector: unescape('referencedClasses'),
  157. category: 'accessing',
  158. fn: function (){
  159. var self=this;
  160. return smalltalk.send(self, "_basicAt_", ["referencedClasses"]);
  161. return self;},
  162. args: [],
  163. source: unescape('referencedClasses%0A%09%5Eself%20basicAt%3A%20%27referencedClasses%27'),
  164. messageSends: ["basicAt:"],
  165. referencedClasses: []
  166. }),
  167. smalltalk.CompiledMethod);
  168. smalltalk.addMethod(
  169. unescape('_arguments'),
  170. smalltalk.method({
  171. selector: unescape('arguments'),
  172. category: 'accessing',
  173. fn: function (){
  174. var self=this;
  175. return self.args || [];
  176. return self;},
  177. args: [],
  178. source: unescape('arguments%0A%09%3Creturn%20self.args%20%7C%7C%20%5B%5D%3E'),
  179. messageSends: [],
  180. referencedClasses: []
  181. }),
  182. smalltalk.CompiledMethod);
  183. smalltalk.addClass('BlockClosure', smalltalk.Object, [], 'Kernel-Methods');
  184. smalltalk.addMethod(
  185. unescape('_compiledSource'),
  186. smalltalk.method({
  187. selector: unescape('compiledSource'),
  188. category: 'accessing',
  189. fn: function (){
  190. var self=this;
  191. return self.toString();
  192. return self;},
  193. args: [],
  194. source: unescape('compiledSource%0A%09%3Creturn%20self.toString%28%29%3E'),
  195. messageSends: [],
  196. referencedClasses: []
  197. }),
  198. smalltalk.BlockClosure);
  199. smalltalk.addMethod(
  200. unescape('_whileTrue_'),
  201. smalltalk.method({
  202. selector: unescape('whileTrue%3A'),
  203. category: 'controlling',
  204. fn: function (aBlock){
  205. var self=this;
  206. while(self()) {aBlock()};
  207. return self;},
  208. args: ["aBlock"],
  209. source: unescape('whileTrue%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Cwhile%28self%28%29%29%20%7BaBlock%28%29%7D%3E'),
  210. messageSends: [],
  211. referencedClasses: []
  212. }),
  213. smalltalk.BlockClosure);
  214. smalltalk.addMethod(
  215. unescape('_whileFalse_'),
  216. smalltalk.method({
  217. selector: unescape('whileFalse%3A'),
  218. category: 'controlling',
  219. fn: function (aBlock){
  220. var self=this;
  221. while(!self()) {aBlock()};
  222. return self;},
  223. args: ["aBlock"],
  224. source: unescape('whileFalse%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Cwhile%28%21self%28%29%29%20%7BaBlock%28%29%7D%3E'),
  225. messageSends: [],
  226. referencedClasses: []
  227. }),
  228. smalltalk.BlockClosure);
  229. smalltalk.addMethod(
  230. unescape('_value'),
  231. smalltalk.method({
  232. selector: unescape('value'),
  233. category: 'evaluating',
  234. fn: function (){
  235. var self=this;
  236. return self();;
  237. return self;},
  238. args: [],
  239. source: unescape('value%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28%29%3B%3E'),
  240. messageSends: [],
  241. referencedClasses: []
  242. }),
  243. smalltalk.BlockClosure);
  244. smalltalk.addMethod(
  245. unescape('_value_'),
  246. smalltalk.method({
  247. selector: unescape('value%3A'),
  248. category: 'evaluating',
  249. fn: function (anArg){
  250. var self=this;
  251. return self(anArg);;
  252. return self;},
  253. args: ["anArg"],
  254. source: unescape('value%3A%20anArg%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28anArg%29%3B%3E'),
  255. messageSends: [],
  256. referencedClasses: []
  257. }),
  258. smalltalk.BlockClosure);
  259. smalltalk.addMethod(
  260. unescape('_value_value_'),
  261. smalltalk.method({
  262. selector: unescape('value%3Avalue%3A'),
  263. category: 'evaluating',
  264. fn: function (firstArg, secondArg){
  265. var self=this;
  266. return self(firstArg, secondArg);;
  267. return self;},
  268. args: ["firstArg", "secondArg"],
  269. source: unescape('value%3A%20firstArg%20value%3A%20secondArg%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28firstArg%2C%20secondArg%29%3B%3E'),
  270. messageSends: [],
  271. referencedClasses: []
  272. }),
  273. smalltalk.BlockClosure);
  274. smalltalk.addMethod(
  275. unescape('_value_value_value_'),
  276. smalltalk.method({
  277. selector: unescape('value%3Avalue%3Avalue%3A'),
  278. category: 'evaluating',
  279. fn: function (firstArg, secondArg, thirdArg){
  280. var self=this;
  281. return self(firstArg, secondArg, thirdArg);;
  282. return self;},
  283. args: ["firstArg", "secondArg", "thirdArg"],
  284. source: unescape('value%3A%20firstArg%20value%3A%20secondArg%20value%3A%20thirdArg%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28firstArg%2C%20secondArg%2C%20thirdArg%29%3B%3E'),
  285. messageSends: [],
  286. referencedClasses: []
  287. }),
  288. smalltalk.BlockClosure);
  289. smalltalk.addMethod(
  290. unescape('_valueWithPossibleArguments_'),
  291. smalltalk.method({
  292. selector: unescape('valueWithPossibleArguments%3A'),
  293. category: 'evaluating',
  294. fn: function (aCollection){
  295. var self=this;
  296. return self.apply(null, aCollection);;
  297. return self;},
  298. args: ["aCollection"],
  299. source: unescape('valueWithPossibleArguments%3A%20aCollection%0A%09%3Creturn%20self.apply%28null%2C%20aCollection%29%3B%3E'),
  300. messageSends: [],
  301. referencedClasses: []
  302. }),
  303. smalltalk.BlockClosure);
  304. smalltalk.addMethod(
  305. unescape('_on_do_'),
  306. smalltalk.method({
  307. selector: unescape('on%3Ado%3A'),
  308. category: 'error handling',
  309. fn: function (anErrorClass, aBlock){
  310. var self=this;
  311. smalltalk.send(self, "_try_catch_", [self, (function(error){return ((($receiver = smalltalk.send(error, "_isKindOf_", [anErrorClass])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(aBlock, "_value_", [error]);})() : (function(){return smalltalk.send(error, "_signal", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(aBlock, "_value_", [error]);}), (function(){return smalltalk.send(error, "_signal", []);})]));})]);
  312. return self;},
  313. args: ["anErrorClass", "aBlock"],
  314. source: unescape('on%3A%20anErrorClass%20do%3A%20aBlock%0A%09self%20try%3A%20self%20catch%3A%20%5B%3Aerror%20%7C%0A%09%20%20%20%20%28error%20isKindOf%3A%20anErrorClass%29%20%0A%09%20%20%20%20%20ifTrue%3A%20%5BaBlock%20value%3A%20error%5D%0A%09%20%20%20%20%20ifFalse%3A%20%5Berror%20signal%5D%5D'),
  315. messageSends: ["try:catch:", "ifTrue:ifFalse:", "isKindOf:", "value:", "signal"],
  316. referencedClasses: []
  317. }),
  318. smalltalk.BlockClosure);
  319. smalltalk.addMethod(
  320. unescape('_valueWithTimeout_'),
  321. smalltalk.method({
  322. selector: unescape('valueWithTimeout%3A'),
  323. category: 'timeout/interval',
  324. fn: function (aNumber){
  325. var self=this;
  326. return setTimeout(self, aNumber);
  327. return self;},
  328. args: ["aNumber"],
  329. source: unescape('valueWithTimeout%3A%20aNumber%0A%09%3Creturn%20setTimeout%28self%2C%20aNumber%29%3E'),
  330. messageSends: [],
  331. referencedClasses: []
  332. }),
  333. smalltalk.BlockClosure);
  334. smalltalk.addMethod(
  335. unescape('_valueWithInterval_'),
  336. smalltalk.method({
  337. selector: unescape('valueWithInterval%3A'),
  338. category: 'timeout/interval',
  339. fn: function (aNumber){
  340. var self=this;
  341. return setInterval(self, aNumber);
  342. return self;},
  343. args: ["aNumber"],
  344. source: unescape('valueWithInterval%3A%20aNumber%0A%09%3Creturn%20setInterval%28self%2C%20aNumber%29%3E'),
  345. messageSends: [],
  346. referencedClasses: []
  347. }),
  348. smalltalk.BlockClosure);
  349. smalltalk.addMethod(
  350. unescape('_whileFalse'),
  351. smalltalk.method({
  352. selector: unescape('whileFalse'),
  353. category: 'controlling',
  354. fn: function (){
  355. var self=this;
  356. smalltalk.send(self, "_whileFalse_", [(function(){return nil;})]);
  357. return self;},
  358. args: [],
  359. source: unescape('whileFalse%0A%09%22inlined%20in%20the%20Compiler%22%0A%09self%20whileFalse%3A%20%5B%5D'),
  360. messageSends: ["whileFalse:"],
  361. referencedClasses: []
  362. }),
  363. smalltalk.BlockClosure);
  364. smalltalk.addMethod(
  365. unescape('_whileTrue'),
  366. smalltalk.method({
  367. selector: unescape('whileTrue'),
  368. category: 'controlling',
  369. fn: function (){
  370. var self=this;
  371. smalltalk.send(self, "_whileTrue_", [(function(){return nil;})]);
  372. return self;},
  373. args: [],
  374. source: unescape('whileTrue%0A%09%22inlined%20in%20the%20Compiler%22%0A%09self%20whileTrue%3A%20%5B%5D'),
  375. messageSends: ["whileTrue:"],
  376. referencedClasses: []
  377. }),
  378. smalltalk.BlockClosure);
  379. smalltalk.addMethod(
  380. unescape('_new'),
  381. smalltalk.method({
  382. selector: unescape('new'),
  383. category: 'evaluating',
  384. fn: function (){
  385. var self=this;
  386. return new self();
  387. return self;},
  388. args: [],
  389. source: unescape('new%0A%09%22Use%20the%20receiver%20as%20a%20JS%20constructor.%20%0A%09*Do%20not*%20use%20this%20method%20to%20instanciate%20Smalltalk%20objects%21%22%0A%09%3Creturn%20new%20self%28%29%3E'),
  390. messageSends: [],
  391. referencedClasses: []
  392. }),
  393. smalltalk.BlockClosure);
  394. smalltalk.addMethod(
  395. unescape('_applyTo_arguments_'),
  396. smalltalk.method({
  397. selector: unescape('applyTo%3Aarguments%3A'),
  398. category: 'evaluating',
  399. fn: function (anObject, aCollection){
  400. var self=this;
  401. return self.apply(anObject, aCollection);
  402. return self;},
  403. args: ["anObject", "aCollection"],
  404. source: unescape('applyTo%3A%20anObject%20arguments%3A%20aCollection%0A%09%3Creturn%20self.apply%28anObject%2C%20aCollection%29%3E'),
  405. messageSends: [],
  406. referencedClasses: []
  407. }),
  408. smalltalk.BlockClosure);
  409. smalltalk.addMethod(
  410. unescape('_timeToRun'),
  411. smalltalk.method({
  412. selector: unescape('timeToRun'),
  413. category: 'evaluating',
  414. fn: function (){
  415. var self=this;
  416. return smalltalk.send((smalltalk.Date || Date), "_millisecondsToRun_", [self]);
  417. return self;},
  418. args: [],
  419. source: unescape('timeToRun%0A%09%22Answer%20the%20number%20of%20milliseconds%20taken%20to%20execute%20this%20block.%22%0A%0A%09%5E%20Date%20millisecondsToRun%3A%20self'),
  420. messageSends: ["millisecondsToRun:"],
  421. referencedClasses: ["Date"]
  422. }),
  423. smalltalk.BlockClosure);
  424. smalltalk.addMethod(
  425. unescape('_numArgs'),
  426. smalltalk.method({
  427. selector: unescape('numArgs'),
  428. category: 'accessing',
  429. fn: function (){
  430. var self=this;
  431. return self.length;
  432. return self;},
  433. args: [],
  434. source: unescape('numArgs%0A%09%3Creturn%20self.length%3E'),
  435. messageSends: [],
  436. referencedClasses: []
  437. }),
  438. smalltalk.BlockClosure);
  439. smalltalk.addMethod(
  440. unescape('_ensure_'),
  441. smalltalk.method({
  442. selector: unescape('ensure%3A'),
  443. category: 'evaluating',
  444. fn: function (aBlock){
  445. var self=this;
  446. var success=nil;
  447. success=false;
  448. smalltalk.send((function(){smalltalk.send(self, "_value", []);success=true;return smalltalk.send(aBlock, "_value", []);}), "_on_do_", [(smalltalk.Error || Error), (function(ex){((($receiver = success).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(aBlock, "_value", []);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(aBlock, "_value", []);})]));return smalltalk.send(ex, "_signal", []);})]);
  449. return self;},
  450. args: ["aBlock"],
  451. source: unescape('ensure%3A%20aBlock%0A%09%7C%20success%20%7C%0A%09success%20%3A%3D%20false.%0A%09%5Bself%20value.%20success%20%3A%3D%20true.%20aBlock%20value%5D%0A%09%09on%3A%20Error%0A%09%09do%3A%20%5B%3Aex%20%7C%0A%09%09%09success%20ifFalse%3A%20%5BaBlock%20value%5D.%0A%09%09%09ex%20signal%5D'),
  452. messageSends: ["on:do:", "value", "ifFalse:", "signal"],
  453. referencedClasses: ["Error"]
  454. }),
  455. smalltalk.BlockClosure);
  456. smalltalk.addClass('MethodContext', smalltalk.Object, [], 'Kernel-Methods');
  457. smalltalk.addMethod(
  458. unescape('_receiver'),
  459. smalltalk.method({
  460. selector: unescape('receiver'),
  461. category: 'accessing',
  462. fn: function (){
  463. var self=this;
  464. return self.receiver;
  465. return self;},
  466. args: [],
  467. source: unescape('receiver%0A%09%3Creturn%20self.receiver%3E'),
  468. messageSends: [],
  469. referencedClasses: []
  470. }),
  471. smalltalk.MethodContext);
  472. smalltalk.addMethod(
  473. unescape('_selector'),
  474. smalltalk.method({
  475. selector: unescape('selector'),
  476. category: 'accessing',
  477. fn: function (){
  478. var self=this;
  479. return smalltalk.convertSelector(self.selector);
  480. return self;},
  481. args: [],
  482. source: unescape('selector%0A%09%3Creturn%20smalltalk.convertSelector%28self.selector%29%3E'),
  483. messageSends: [],
  484. referencedClasses: []
  485. }),
  486. smalltalk.MethodContext);
  487. smalltalk.addMethod(
  488. unescape('_home'),
  489. smalltalk.method({
  490. selector: unescape('home'),
  491. category: 'accessing',
  492. fn: function (){
  493. var self=this;
  494. return self.homeContext;
  495. return self;},
  496. args: [],
  497. source: unescape('home%0A%09%3Creturn%20self.homeContext%3E'),
  498. messageSends: [],
  499. referencedClasses: []
  500. }),
  501. smalltalk.MethodContext);
  502. smalltalk.addMethod(
  503. unescape('_temps'),
  504. smalltalk.method({
  505. selector: unescape('temps'),
  506. category: 'accessing',
  507. fn: function (){
  508. var self=this;
  509. return self.temps;
  510. return self;},
  511. args: [],
  512. source: unescape('temps%0A%09%3Creturn%20self.temps%3E'),
  513. messageSends: [],
  514. referencedClasses: []
  515. }),
  516. smalltalk.MethodContext);
  517. smalltalk.addMethod(
  518. unescape('_printString'),
  519. smalltalk.method({
  520. selector: unescape('printString'),
  521. category: 'accessing',
  522. fn: function (){
  523. var self=this;
  524. return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_printString", [], smalltalk.Object), "__comma", [unescape("%28")]), "__comma", [smalltalk.send(self, "_asString", [])]), "__comma", [unescape("%29")]);
  525. return self;},
  526. args: [],
  527. source: unescape('printString%0A%09%5Esuper%20printString%2C%20%27%28%27%2C%20self%20asString%2C%20%27%29%27'),
  528. messageSends: [unescape("%2C"), "printString", "asString"],
  529. referencedClasses: []
  530. }),
  531. smalltalk.MethodContext);
  532. smalltalk.addMethod(
  533. unescape('_asString'),
  534. smalltalk.method({
  535. selector: unescape('asString'),
  536. category: 'accessing',
  537. fn: function (){
  538. var self=this;
  539. return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_receiver", []), "_class", []), "_printString", []), "__comma", [unescape("%20%3E%3E%20")]), "__comma", [smalltalk.send(self, "_selector", [])]);
  540. return self;},
  541. args: [],
  542. source: unescape('asString%0A%09%5Eself%20receiver%20class%20printString%2C%20%27%20%3E%3E%20%27%2C%20self%20selector'),
  543. messageSends: [unescape("%2C"), "printString", "class", "receiver", "selector"],
  544. referencedClasses: []
  545. }),
  546. smalltalk.MethodContext);
  547. smalltalk.addClass('Message', smalltalk.Object, ['selector', 'arguments'], 'Kernel-Methods');
  548. smalltalk.addMethod(
  549. unescape('_selector'),
  550. smalltalk.method({
  551. selector: unescape('selector'),
  552. category: 'accessing',
  553. fn: function (){
  554. var self=this;
  555. return self['@selector'];
  556. return self;},
  557. args: [],
  558. source: unescape('selector%0A%09%5Eselector'),
  559. messageSends: [],
  560. referencedClasses: []
  561. }),
  562. smalltalk.Message);
  563. smalltalk.addMethod(
  564. unescape('_selector_'),
  565. smalltalk.method({
  566. selector: unescape('selector%3A'),
  567. category: 'accessing',
  568. fn: function (aString){
  569. var self=this;
  570. self['@selector']=aString;
  571. return self;},
  572. args: ["aString"],
  573. source: unescape('selector%3A%20aString%0A%09selector%20%3A%3D%20aString'),
  574. messageSends: [],
  575. referencedClasses: []
  576. }),
  577. smalltalk.Message);
  578. smalltalk.addMethod(
  579. unescape('_arguments_'),
  580. smalltalk.method({
  581. selector: unescape('arguments%3A'),
  582. category: 'accessing',
  583. fn: function (anArray){
  584. var self=this;
  585. self['@arguments']=anArray;
  586. return self;},
  587. args: ["anArray"],
  588. source: unescape('arguments%3A%20anArray%0A%09arguments%20%3A%3D%20anArray'),
  589. messageSends: [],
  590. referencedClasses: []
  591. }),
  592. smalltalk.Message);
  593. smalltalk.addMethod(
  594. unescape('_arguments'),
  595. smalltalk.method({
  596. selector: unescape('arguments'),
  597. category: 'accessing',
  598. fn: function (){
  599. var self=this;
  600. return self['@arguments'];
  601. return self;},
  602. args: [],
  603. source: unescape('arguments%0A%09%5Earguments'),
  604. messageSends: [],
  605. referencedClasses: []
  606. }),
  607. smalltalk.Message);
  608. smalltalk.addMethod(
  609. unescape('_printString'),
  610. smalltalk.method({
  611. selector: unescape('printString'),
  612. category: 'printing',
  613. fn: function (){
  614. var self=this;
  615. return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(aStream){return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_printString", [], smalltalk.Object)]);smalltalk.send($rec, "_nextPutAll_", [unescape("%28")]);smalltalk.send($rec, "_nextPutAll_", [self['@selector']]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%29")]);})(aStream);})]);
  616. return self;},
  617. args: [],
  618. source: unescape('printString%0A%09%5E%20String%20streamContents%3A%20%5B%3AaStream%7C%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09aStream%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20super%20printString%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20%27%28%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20selector%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20%27%29%27%20%09%09%09%09%5D'),
  619. messageSends: ["streamContents:", "nextPutAll:", "printString"],
  620. referencedClasses: ["String"]
  621. }),
  622. smalltalk.Message);
  623. smalltalk.addMethod(
  624. unescape('_selector_arguments_'),
  625. smalltalk.method({
  626. selector: unescape('selector%3Aarguments%3A'),
  627. category: 'instance creation',
  628. fn: function (aString, anArray){
  629. var self=this;
  630. return (function($rec){smalltalk.send($rec, "_selector_", [aString]);smalltalk.send($rec, "_arguments_", [anArray]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
  631. return self;},
  632. args: ["aString", "anArray"],
  633. source: unescape('selector%3A%20aString%20arguments%3A%20anArray%0A%09%5Eself%20new%0A%09%09selector%3A%20aString%3B%0A%09%09arguments%3A%20anArray%3B%0A%09%09yourself'),
  634. messageSends: ["selector:", "arguments:", "yourself", "new"],
  635. referencedClasses: []
  636. }),
  637. smalltalk.Message.klass);