2
0

Compiler.deploy.js 93 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372
  1. smalltalk.addClass('Node', smalltalk.Object, ['nodes'], 'Compiler');
  2. smalltalk.addMethod(
  3. '_nodes',
  4. smalltalk.method({
  5. selector: 'nodes',
  6. fn: function (){
  7. var self=this;
  8. return smalltalk.send(self['@nodes'], "_ifNil_", [(function(){return self['@nodes']=smalltalk.send(smalltalk.Array, "_new", []);})]);
  9. return self;}
  10. }),
  11. smalltalk.Node);
  12. smalltalk.addMethod(
  13. '_nodes_',
  14. smalltalk.method({
  15. selector: 'nodes:',
  16. fn: function (aCollection){
  17. var self=this;
  18. self['@nodes']=aCollection;
  19. return self;}
  20. }),
  21. smalltalk.Node);
  22. smalltalk.addMethod(
  23. '_addNode_',
  24. smalltalk.method({
  25. selector: 'addNode:',
  26. fn: function (aNode){
  27. var self=this;
  28. smalltalk.send(smalltalk.send(self, "_nodes", []), "_add_", [aNode]);
  29. return self;}
  30. }),
  31. smalltalk.Node);
  32. smalltalk.addMethod(
  33. '_accept_',
  34. smalltalk.method({
  35. selector: 'accept:',
  36. fn: function (aVisitor){
  37. var self=this;
  38. smalltalk.send(aVisitor, "_visitNode_", [self]);
  39. return self;}
  40. }),
  41. smalltalk.Node);
  42. smalltalk.addMethod(
  43. '_isValueNode',
  44. smalltalk.method({
  45. selector: 'isValueNode',
  46. fn: function (){
  47. var self=this;
  48. return false;
  49. return self;}
  50. }),
  51. smalltalk.Node);
  52. smalltalk.addMethod(
  53. '_isBlockNode',
  54. smalltalk.method({
  55. selector: 'isBlockNode',
  56. fn: function (){
  57. var self=this;
  58. return false;
  59. return self;}
  60. }),
  61. smalltalk.Node);
  62. smalltalk.addMethod(
  63. '_isBlockSequenceNode',
  64. smalltalk.method({
  65. selector: 'isBlockSequenceNode',
  66. fn: function (){
  67. var self=this;
  68. return false;
  69. return self;}
  70. }),
  71. smalltalk.Node);
  72. smalltalk.addClass('MethodNode', smalltalk.Node, ['selector', 'arguments', 'source'], 'Compiler');
  73. smalltalk.addMethod(
  74. '_selector',
  75. smalltalk.method({
  76. selector: 'selector',
  77. fn: function (){
  78. var self=this;
  79. return self['@selector'];
  80. return self;}
  81. }),
  82. smalltalk.MethodNode);
  83. smalltalk.addMethod(
  84. '_selector_',
  85. smalltalk.method({
  86. selector: 'selector:',
  87. fn: function (aString){
  88. var self=this;
  89. self['@selector']=aString;
  90. return self;}
  91. }),
  92. smalltalk.MethodNode);
  93. smalltalk.addMethod(
  94. '_arguments',
  95. smalltalk.method({
  96. selector: 'arguments',
  97. fn: function (){
  98. var self=this;
  99. return smalltalk.send(self['@arguments'], "_ifNil_", [(function(){return [];})]);
  100. return self;}
  101. }),
  102. smalltalk.MethodNode);
  103. smalltalk.addMethod(
  104. '_arguments_',
  105. smalltalk.method({
  106. selector: 'arguments:',
  107. fn: function (aCollection){
  108. var self=this;
  109. self['@arguments']=aCollection;
  110. return self;}
  111. }),
  112. smalltalk.MethodNode);
  113. smalltalk.addMethod(
  114. '_source',
  115. smalltalk.method({
  116. selector: 'source',
  117. fn: function (){
  118. var self=this;
  119. return self['@source'];
  120. return self;}
  121. }),
  122. smalltalk.MethodNode);
  123. smalltalk.addMethod(
  124. '_source_',
  125. smalltalk.method({
  126. selector: 'source:',
  127. fn: function (aString){
  128. var self=this;
  129. self['@source']=aString;
  130. return self;}
  131. }),
  132. smalltalk.MethodNode);
  133. smalltalk.addMethod(
  134. '_accept_',
  135. smalltalk.method({
  136. selector: 'accept:',
  137. fn: function (aVisitor){
  138. var self=this;
  139. smalltalk.send(aVisitor, "_visitMethodNode_", [self]);
  140. return self;}
  141. }),
  142. smalltalk.MethodNode);
  143. smalltalk.addClass('SendNode', smalltalk.Node, ['selector', 'arguments', 'receiver'], 'Compiler');
  144. smalltalk.addMethod(
  145. '_selector',
  146. smalltalk.method({
  147. selector: 'selector',
  148. fn: function (){
  149. var self=this;
  150. return self['@selector'];
  151. return self;}
  152. }),
  153. smalltalk.SendNode);
  154. smalltalk.addMethod(
  155. '_selector_',
  156. smalltalk.method({
  157. selector: 'selector:',
  158. fn: function (aString){
  159. var self=this;
  160. self['@selector']=aString;
  161. return self;}
  162. }),
  163. smalltalk.SendNode);
  164. smalltalk.addMethod(
  165. '_arguments',
  166. smalltalk.method({
  167. selector: 'arguments',
  168. fn: function (){
  169. var self=this;
  170. return smalltalk.send(self['@arguments'], "_ifNil_", [(function(){return self['@arguments']=[];})]);
  171. return self;}
  172. }),
  173. smalltalk.SendNode);
  174. smalltalk.addMethod(
  175. '_arguments_',
  176. smalltalk.method({
  177. selector: 'arguments:',
  178. fn: function (aCollection){
  179. var self=this;
  180. self['@arguments']=aCollection;
  181. return self;}
  182. }),
  183. smalltalk.SendNode);
  184. smalltalk.addMethod(
  185. '_receiver',
  186. smalltalk.method({
  187. selector: 'receiver',
  188. fn: function (){
  189. var self=this;
  190. return self['@receiver'];
  191. return self;}
  192. }),
  193. smalltalk.SendNode);
  194. smalltalk.addMethod(
  195. '_receiver_',
  196. smalltalk.method({
  197. selector: 'receiver:',
  198. fn: function (aNode){
  199. var self=this;
  200. self['@receiver']=aNode;
  201. return self;}
  202. }),
  203. smalltalk.SendNode);
  204. smalltalk.addMethod(
  205. '_valueForReceiver_',
  206. smalltalk.method({
  207. selector: 'valueForReceiver:',
  208. fn: function (anObject){
  209. var self=this;
  210. return (function($rec){smalltalk.send($rec, "_receiver_", [smalltalk.send(smalltalk.send(self, "_receiver", []), "_ifNil_ifNotNil_", [(function(){return anObject;}), (function(){return smalltalk.send(smalltalk.send(self, "_receiver", []), "_valueForReceiver_", [anObject]);})])]);smalltalk.send($rec, "_selector_", [smalltalk.send(self, "_selector", [])]);smalltalk.send($rec, "_arguments_", [smalltalk.send(self, "_arguments", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(smalltalk.SendNode, "_new", []));
  211. return self;}
  212. }),
  213. smalltalk.SendNode);
  214. smalltalk.addMethod(
  215. '_cascadeNodeWithMessages_',
  216. smalltalk.method({
  217. selector: 'cascadeNodeWithMessages:',
  218. fn: function (aCollection){
  219. var self=this;
  220. var first=nil;
  221. first=(function($rec){smalltalk.send($rec, "_selector_", [smalltalk.send(self, "_selector", [])]);smalltalk.send($rec, "_arguments_", [smalltalk.send(self, "_arguments", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(smalltalk.SendNode, "_new", []));
  222. return (function($rec){smalltalk.send($rec, "_receiver_", [smalltalk.send(self, "_receiver", [])]);smalltalk.send($rec, "_nodes_", [smalltalk.send(smalltalk.send(smalltalk.Array, "_with_", [first]), "__comma", [aCollection])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(smalltalk.CascadeNode, "_new", []));
  223. return self;}
  224. }),
  225. smalltalk.SendNode);
  226. smalltalk.addMethod(
  227. '_accept_',
  228. smalltalk.method({
  229. selector: 'accept:',
  230. fn: function (aVisitor){
  231. var self=this;
  232. smalltalk.send(aVisitor, "_visitSendNode_", [self]);
  233. return self;}
  234. }),
  235. smalltalk.SendNode);
  236. smalltalk.addClass('CascadeNode', smalltalk.Node, ['receiver'], 'Compiler');
  237. smalltalk.addMethod(
  238. '_receiver',
  239. smalltalk.method({
  240. selector: 'receiver',
  241. fn: function (){
  242. var self=this;
  243. return self['@receiver'];
  244. return self;}
  245. }),
  246. smalltalk.CascadeNode);
  247. smalltalk.addMethod(
  248. '_receiver_',
  249. smalltalk.method({
  250. selector: 'receiver:',
  251. fn: function (aNode){
  252. var self=this;
  253. self['@receiver']=aNode;
  254. return self;}
  255. }),
  256. smalltalk.CascadeNode);
  257. smalltalk.addMethod(
  258. '_accept_',
  259. smalltalk.method({
  260. selector: 'accept:',
  261. fn: function (aVisitor){
  262. var self=this;
  263. smalltalk.send(aVisitor, "_visitCascadeNode_", [self]);
  264. return self;}
  265. }),
  266. smalltalk.CascadeNode);
  267. smalltalk.addClass('AssignmentNode', smalltalk.Node, ['left', 'right'], 'Compiler');
  268. smalltalk.addMethod(
  269. '_left',
  270. smalltalk.method({
  271. selector: 'left',
  272. fn: function (){
  273. var self=this;
  274. return self['@left'];
  275. return self;}
  276. }),
  277. smalltalk.AssignmentNode);
  278. smalltalk.addMethod(
  279. '_left_',
  280. smalltalk.method({
  281. selector: 'left:',
  282. fn: function (aNode){
  283. var self=this;
  284. self['@left']=aNode;
  285. return self;}
  286. }),
  287. smalltalk.AssignmentNode);
  288. smalltalk.addMethod(
  289. '_right',
  290. smalltalk.method({
  291. selector: 'right',
  292. fn: function (){
  293. var self=this;
  294. return self['@right'];
  295. return self;}
  296. }),
  297. smalltalk.AssignmentNode);
  298. smalltalk.addMethod(
  299. '_right_',
  300. smalltalk.method({
  301. selector: 'right:',
  302. fn: function (aNode){
  303. var self=this;
  304. self['@right']=aNode;
  305. return self;}
  306. }),
  307. smalltalk.AssignmentNode);
  308. smalltalk.addMethod(
  309. '_accept_',
  310. smalltalk.method({
  311. selector: 'accept:',
  312. fn: function (aVisitor){
  313. var self=this;
  314. smalltalk.send(aVisitor, "_visitAssignmentNode_", [self]);
  315. return self;}
  316. }),
  317. smalltalk.AssignmentNode);
  318. smalltalk.addClass('BlockNode', smalltalk.Node, ['parameters', 'inlined'], 'Compiler');
  319. smalltalk.addMethod(
  320. '_parameters',
  321. smalltalk.method({
  322. selector: 'parameters',
  323. fn: function (){
  324. var self=this;
  325. return smalltalk.send(self['@parameters'], "_ifNil_", [(function(){return self['@parameters']=smalltalk.send(smalltalk.Array, "_new", []);})]);
  326. return self;}
  327. }),
  328. smalltalk.BlockNode);
  329. smalltalk.addMethod(
  330. '_parameters_',
  331. smalltalk.method({
  332. selector: 'parameters:',
  333. fn: function (aCollection){
  334. var self=this;
  335. self['@parameters']=aCollection;
  336. return self;}
  337. }),
  338. smalltalk.BlockNode);
  339. smalltalk.addMethod(
  340. '_accept_',
  341. smalltalk.method({
  342. selector: 'accept:',
  343. fn: function (aVisitor){
  344. var self=this;
  345. smalltalk.send(aVisitor, "_visitBlockNode_", [self]);
  346. return self;}
  347. }),
  348. smalltalk.BlockNode);
  349. smalltalk.addMethod(
  350. '_isBlockNode',
  351. smalltalk.method({
  352. selector: 'isBlockNode',
  353. fn: function (){
  354. var self=this;
  355. return true;
  356. return self;}
  357. }),
  358. smalltalk.BlockNode);
  359. smalltalk.addMethod(
  360. '_inlined',
  361. smalltalk.method({
  362. selector: 'inlined',
  363. fn: function (){
  364. var self=this;
  365. return smalltalk.send(self['@inlined'], "_ifNil_", [(function(){return false;})]);
  366. return self;}
  367. }),
  368. smalltalk.BlockNode);
  369. smalltalk.addMethod(
  370. '_inlined_',
  371. smalltalk.method({
  372. selector: 'inlined:',
  373. fn: function (aBoolean){
  374. var self=this;
  375. self['@inlined']=aBoolean;
  376. return self;}
  377. }),
  378. smalltalk.BlockNode);
  379. smalltalk.addClass('SequenceNode', smalltalk.Node, ['temps'], 'Compiler');
  380. smalltalk.addMethod(
  381. '_temps',
  382. smalltalk.method({
  383. selector: 'temps',
  384. fn: function (){
  385. var self=this;
  386. return smalltalk.send(self['@temps'], "_ifNil_", [(function(){return [];})]);
  387. return self;}
  388. }),
  389. smalltalk.SequenceNode);
  390. smalltalk.addMethod(
  391. '_temps_',
  392. smalltalk.method({
  393. selector: 'temps:',
  394. fn: function (aCollection){
  395. var self=this;
  396. self['@temps']=aCollection;
  397. return self;}
  398. }),
  399. smalltalk.SequenceNode);
  400. smalltalk.addMethod(
  401. '_asBlockSequenceNode',
  402. smalltalk.method({
  403. selector: 'asBlockSequenceNode',
  404. fn: function (){
  405. var self=this;
  406. return (function($rec){smalltalk.send($rec, "_nodes_", [smalltalk.send(self, "_nodes", [])]);smalltalk.send($rec, "_temps_", [smalltalk.send(self, "_temps", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(smalltalk.BlockSequenceNode, "_new", []));
  407. return self;}
  408. }),
  409. smalltalk.SequenceNode);
  410. smalltalk.addMethod(
  411. '_accept_',
  412. smalltalk.method({
  413. selector: 'accept:',
  414. fn: function (aVisitor){
  415. var self=this;
  416. smalltalk.send(aVisitor, "_visitSequenceNode_", [self]);
  417. return self;}
  418. }),
  419. smalltalk.SequenceNode);
  420. smalltalk.addClass('BlockSequenceNode', smalltalk.SequenceNode, [], 'Compiler');
  421. smalltalk.addMethod(
  422. '_accept_',
  423. smalltalk.method({
  424. selector: 'accept:',
  425. fn: function (aVisitor){
  426. var self=this;
  427. smalltalk.send(aVisitor, "_visitBlockSequenceNode_", [self]);
  428. return self;}
  429. }),
  430. smalltalk.BlockSequenceNode);
  431. smalltalk.addMethod(
  432. '_isBlockSequenceNode',
  433. smalltalk.method({
  434. selector: 'isBlockSequenceNode',
  435. fn: function (){
  436. var self=this;
  437. return true;
  438. return self;}
  439. }),
  440. smalltalk.BlockSequenceNode);
  441. smalltalk.addClass('ReturnNode', smalltalk.Node, [], 'Compiler');
  442. smalltalk.addMethod(
  443. '_accept_',
  444. smalltalk.method({
  445. selector: 'accept:',
  446. fn: function (aVisitor){
  447. var self=this;
  448. smalltalk.send(aVisitor, "_visitReturnNode_", [self]);
  449. return self;}
  450. }),
  451. smalltalk.ReturnNode);
  452. smalltalk.addClass('ValueNode', smalltalk.Node, ['value'], 'Compiler');
  453. smalltalk.addMethod(
  454. '_value',
  455. smalltalk.method({
  456. selector: 'value',
  457. fn: function (){
  458. var self=this;
  459. return self['@value'];
  460. return self;}
  461. }),
  462. smalltalk.ValueNode);
  463. smalltalk.addMethod(
  464. '_value_',
  465. smalltalk.method({
  466. selector: 'value:',
  467. fn: function (anObject){
  468. var self=this;
  469. self['@value']=anObject;
  470. return self;}
  471. }),
  472. smalltalk.ValueNode);
  473. smalltalk.addMethod(
  474. '_accept_',
  475. smalltalk.method({
  476. selector: 'accept:',
  477. fn: function (aVisitor){
  478. var self=this;
  479. smalltalk.send(aVisitor, "_visitValueNode_", [self]);
  480. return self;}
  481. }),
  482. smalltalk.ValueNode);
  483. smalltalk.addMethod(
  484. '_isValueNode',
  485. smalltalk.method({
  486. selector: 'isValueNode',
  487. fn: function (){
  488. var self=this;
  489. return true;
  490. return self;}
  491. }),
  492. smalltalk.ValueNode);
  493. smalltalk.addClass('VariableNode', smalltalk.ValueNode, [], 'Compiler');
  494. smalltalk.addMethod(
  495. '_accept_',
  496. smalltalk.method({
  497. selector: 'accept:',
  498. fn: function (aVisitor){
  499. var self=this;
  500. smalltalk.send(aVisitor, "_visitVariableNode_", [self]);
  501. return self;}
  502. }),
  503. smalltalk.VariableNode);
  504. smalltalk.addClass('ClassReferenceNode', smalltalk.VariableNode, [], 'Compiler');
  505. smalltalk.addMethod(
  506. '_accept_',
  507. smalltalk.method({
  508. selector: 'accept:',
  509. fn: function (aVisitor){
  510. var self=this;
  511. smalltalk.send(aVisitor, "_visitClassReferenceNode_", [self]);
  512. return self;}
  513. }),
  514. smalltalk.ClassReferenceNode);
  515. smalltalk.addClass('JSStatementNode', smalltalk.Node, ['source'], 'Compiler');
  516. smalltalk.addMethod(
  517. '_source',
  518. smalltalk.method({
  519. selector: 'source',
  520. fn: function (){
  521. var self=this;
  522. return smalltalk.send(self['@source'], "_ifNil_", [(function(){return "";})]);
  523. return self;}
  524. }),
  525. smalltalk.JSStatementNode);
  526. smalltalk.addMethod(
  527. '_source_',
  528. smalltalk.method({
  529. selector: 'source:',
  530. fn: function (aString){
  531. var self=this;
  532. self['@source']=aString;
  533. return self;}
  534. }),
  535. smalltalk.JSStatementNode);
  536. smalltalk.addMethod(
  537. '_accept_',
  538. smalltalk.method({
  539. selector: 'accept:',
  540. fn: function (aVisitor){
  541. var self=this;
  542. smalltalk.send(aVisitor, "_visitJSStatementNode_", [self]);
  543. return self;}
  544. }),
  545. smalltalk.JSStatementNode);
  546. smalltalk.addClass('NodeVisitor', smalltalk.Object, [], 'Compiler');
  547. smalltalk.addMethod(
  548. '_visit_',
  549. smalltalk.method({
  550. selector: 'visit:',
  551. fn: function (aNode){
  552. var self=this;
  553. smalltalk.send(aNode, "_accept_", [self]);
  554. return self;}
  555. }),
  556. smalltalk.NodeVisitor);
  557. smalltalk.addMethod(
  558. '_visitNode_',
  559. smalltalk.method({
  560. selector: 'visitNode:',
  561. fn: function (aNode){
  562. var self=this;
  563. return self;}
  564. }),
  565. smalltalk.NodeVisitor);
  566. smalltalk.addMethod(
  567. '_visitMethodNode_',
  568. smalltalk.method({
  569. selector: 'visitMethodNode:',
  570. fn: function (aNode){
  571. var self=this;
  572. smalltalk.send(self, "_visitNode_", [aNode]);
  573. return self;}
  574. }),
  575. smalltalk.NodeVisitor);
  576. smalltalk.addMethod(
  577. '_visitSequenceNode_',
  578. smalltalk.method({
  579. selector: 'visitSequenceNode:',
  580. fn: function (aNode){
  581. var self=this;
  582. smalltalk.send(self, "_visitNode_", [aNode]);
  583. return self;}
  584. }),
  585. smalltalk.NodeVisitor);
  586. smalltalk.addMethod(
  587. '_visitBlockSequenceNode_',
  588. smalltalk.method({
  589. selector: 'visitBlockSequenceNode:',
  590. fn: function (aNode){
  591. var self=this;
  592. smalltalk.send(self, "_visitSequenceNode_", [aNode]);
  593. return self;}
  594. }),
  595. smalltalk.NodeVisitor);
  596. smalltalk.addMethod(
  597. '_visitBlockNode_',
  598. smalltalk.method({
  599. selector: 'visitBlockNode:',
  600. fn: function (aNode){
  601. var self=this;
  602. smalltalk.send(self, "_visitNode_", [aNode]);
  603. return self;}
  604. }),
  605. smalltalk.NodeVisitor);
  606. smalltalk.addMethod(
  607. '_visitReturnNode_',
  608. smalltalk.method({
  609. selector: 'visitReturnNode:',
  610. fn: function (aNode){
  611. var self=this;
  612. smalltalk.send(self, "_visitNode_", [aNode]);
  613. return self;}
  614. }),
  615. smalltalk.NodeVisitor);
  616. smalltalk.addMethod(
  617. '_visitSendNode_',
  618. smalltalk.method({
  619. selector: 'visitSendNode:',
  620. fn: function (aNode){
  621. var self=this;
  622. smalltalk.send(self, "_visitNode_", [aNode]);
  623. return self;}
  624. }),
  625. smalltalk.NodeVisitor);
  626. smalltalk.addMethod(
  627. '_visitCascadeNode_',
  628. smalltalk.method({
  629. selector: 'visitCascadeNode:',
  630. fn: function (aNode){
  631. var self=this;
  632. smalltalk.send(self, "_visitNode_", [aNode]);
  633. return self;}
  634. }),
  635. smalltalk.NodeVisitor);
  636. smalltalk.addMethod(
  637. '_visitValueNode_',
  638. smalltalk.method({
  639. selector: 'visitValueNode:',
  640. fn: function (aNode){
  641. var self=this;
  642. smalltalk.send(self, "_visitNode_", [aNode]);
  643. return self;}
  644. }),
  645. smalltalk.NodeVisitor);
  646. smalltalk.addMethod(
  647. '_visitVariableNode_',
  648. smalltalk.method({
  649. selector: 'visitVariableNode:',
  650. fn: function (aNode){
  651. var self=this;
  652. return self;}
  653. }),
  654. smalltalk.NodeVisitor);
  655. smalltalk.addMethod(
  656. '_visitAssignmentNode_',
  657. smalltalk.method({
  658. selector: 'visitAssignmentNode:',
  659. fn: function (aNode){
  660. var self=this;
  661. smalltalk.send(self, "_visitNode_", [aNode]);
  662. return self;}
  663. }),
  664. smalltalk.NodeVisitor);
  665. smalltalk.addMethod(
  666. '_visitClassReferenceNode_',
  667. smalltalk.method({
  668. selector: 'visitClassReferenceNode:',
  669. fn: function (aNode){
  670. var self=this;
  671. (function($rec){smalltalk.send($rec, "_nextPutAll_", ["smalltalk."]);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aNode, "_value", [])]);})(self);
  672. return self;}
  673. }),
  674. smalltalk.NodeVisitor);
  675. smalltalk.addMethod(
  676. '_visitJSStatementNode_',
  677. smalltalk.method({
  678. selector: 'visitJSStatementNode:',
  679. fn: function (aNode){
  680. var self=this;
  681. (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("function%28%29%7B")]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(aNode, "_source", [])]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%7D%29%28%29")]);})(self);
  682. return self;}
  683. }),
  684. smalltalk.NodeVisitor);
  685. smalltalk.addClass('Compiler', smalltalk.NodeVisitor, ['stream', 'nestedBlocks', 'earlyReturn', 'currentClass', 'currentSelector', 'unknownVariables', 'tempVariables', 'messageSends', 'referencedClasses'], 'Compiler');
  686. smalltalk.addMethod(
  687. '_initialize',
  688. smalltalk.method({
  689. selector: 'initialize',
  690. fn: function (){
  691. var self=this;
  692. smalltalk.send(self, "_initialize", [], smalltalk.NodeVisitor);
  693. self['@stream']=smalltalk.send("", "_writeStream", []);
  694. self['@unknownVariables']=[];
  695. self['@tempVariables']=[];
  696. self['@messageSends']=[];
  697. classReferenced=[];
  698. return self;}
  699. }),
  700. smalltalk.Compiler);
  701. smalltalk.addMethod(
  702. '_parser',
  703. smalltalk.method({
  704. selector: 'parser',
  705. fn: function (){
  706. var self=this;
  707. return smalltalk.send(smalltalk.SmalltalkParser, "_new", []);
  708. return self;}
  709. }),
  710. smalltalk.Compiler);
  711. smalltalk.addMethod(
  712. '_currentClass',
  713. smalltalk.method({
  714. selector: 'currentClass',
  715. fn: function (){
  716. var self=this;
  717. return self['@currentClass'];
  718. return self;}
  719. }),
  720. smalltalk.Compiler);
  721. smalltalk.addMethod(
  722. '_currentClass_',
  723. smalltalk.method({
  724. selector: 'currentClass:',
  725. fn: function (aClass){
  726. var self=this;
  727. self['@currentClass']=aClass;
  728. return self;}
  729. }),
  730. smalltalk.Compiler);
  731. smalltalk.addMethod(
  732. '_loadExpression_',
  733. smalltalk.method({
  734. selector: 'loadExpression:',
  735. fn: function (aString){
  736. var self=this;
  737. smalltalk.send(smalltalk.DoIt, "_addCompiledMethod_", [smalltalk.send(self, "_eval_", [smalltalk.send(self, "_compileExpression_", [aString])])]);
  738. return smalltalk.send(smalltalk.send(smalltalk.DoIt, "_new", []), "_doIt", []);
  739. return self;}
  740. }),
  741. smalltalk.Compiler);
  742. smalltalk.addMethod(
  743. '_load_forClass_',
  744. smalltalk.method({
  745. selector: 'load:forClass:',
  746. fn: function (aString, aClass){
  747. var self=this;
  748. var compiled=nil;
  749. compiled=smalltalk.send(self, "_eval_", [smalltalk.send(self, "_compile_forClass_", [aString, aClass])]);
  750. smalltalk.send(self, "_setupClass_", [aClass]);
  751. return compiled;
  752. return self;}
  753. }),
  754. smalltalk.Compiler);
  755. smalltalk.addMethod(
  756. '_compile_forClass_',
  757. smalltalk.method({
  758. selector: 'compile:forClass:',
  759. fn: function (aString, aClass){
  760. var self=this;
  761. smalltalk.send(self, "_currentClass_", [aClass]);
  762. return smalltalk.send(self, "_compile_", [aString]);
  763. return self;}
  764. }),
  765. smalltalk.Compiler);
  766. smalltalk.addMethod(
  767. '_compileExpression_',
  768. smalltalk.method({
  769. selector: 'compileExpression:',
  770. fn: function (aString){
  771. var self=this;
  772. smalltalk.send(self, "_currentClass_", [smalltalk.DoIt]);
  773. return smalltalk.send(self, "_compileNode_", [smalltalk.send(self, "_parseExpression_", [aString])]);
  774. return self;}
  775. }),
  776. smalltalk.Compiler);
  777. smalltalk.addMethod(
  778. '_eval_',
  779. smalltalk.method({
  780. selector: 'eval:',
  781. fn: function (aString){
  782. var self=this;
  783. return eval(aString);
  784. return self;}
  785. }),
  786. smalltalk.Compiler);
  787. smalltalk.addMethod(
  788. '_compile_',
  789. smalltalk.method({
  790. selector: 'compile:',
  791. fn: function (aString){
  792. var self=this;
  793. return smalltalk.send(self, "_compileNode_", [smalltalk.send(self, "_parse_", [aString])]);
  794. return self;}
  795. }),
  796. smalltalk.Compiler);
  797. smalltalk.addMethod(
  798. '_compileNode_',
  799. smalltalk.method({
  800. selector: 'compileNode:',
  801. fn: function (aNode){
  802. var self=this;
  803. self['@stream']=smalltalk.send("", "_writeStream", []);
  804. smalltalk.send(self, "_visit_", [aNode]);
  805. return smalltalk.send(self['@stream'], "_contents", []);
  806. return self;}
  807. }),
  808. smalltalk.Compiler);
  809. smalltalk.addMethod(
  810. '_visit_',
  811. smalltalk.method({
  812. selector: 'visit:',
  813. fn: function (aNode){
  814. var self=this;
  815. smalltalk.send(aNode, "_accept_", [self]);
  816. return self;}
  817. }),
  818. smalltalk.Compiler);
  819. smalltalk.addMethod(
  820. '_visitMethodNode_',
  821. smalltalk.method({
  822. selector: 'visitMethodNode:',
  823. fn: function (aNode){
  824. var self=this;
  825. var str=nil;
  826. var currentSelector=nil;
  827. self['@currentSelector']=smalltalk.send(smalltalk.send(aNode, "_selector", []), "_asSelector", []);
  828. self['@nestedBlocks']=(0);
  829. self['@earlyReturn']=false;
  830. self['@messageSends']=[];
  831. self['@referencedClasses']=[];
  832. self['@unknownVariables']=[];
  833. self['@tempVariables']=[];
  834. (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("smalltalk.method%28%7B")]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("selector%3A%20%22"), "__comma", [smalltalk.send(aNode, "_selector", [])]), "__comma", [unescape("%22%2C")])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);
  835. (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("source%3A%20unescape%28%22"), "__comma", [smalltalk.send(smalltalk.send(aNode, "_source", []), "_escaped", [])]), "__comma", [unescape("%22%29%2C")])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);
  836. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("fn%3A%20function%28")]);
  837. smalltalk.send(smalltalk.send(aNode, "_arguments", []), "_do_separatedBy_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%2C%20")]);})]);
  838. (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("%29%7B")]);smalltalk.send($rec, "_lf", []);smalltalk.send($rec, "_nextPutAll_", [unescape("var%20self%3Dthis%3B")]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);
  839. str=self['@stream'];
  840. self['@stream']=smalltalk.send("", "_writeStream", []);
  841. smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){return smalltalk.send(self, "_visit_", [each]);})]);
  842. smalltalk.send(self['@earlyReturn'], "_ifTrue_", [(function(){return smalltalk.send(str, "_nextPutAll_", [unescape("try%7B")]);})]);
  843. smalltalk.send(str, "_nextPutAll_", [smalltalk.send(self['@stream'], "_contents", [])]);
  844. self['@stream']=str;
  845. (function($rec){smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [unescape("return%20self%3B")]);})(self['@stream']);
  846. smalltalk.send(self['@earlyReturn'], "_ifTrue_", [(function(){return (function($rec){smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%7D%20catch%28e%29%20%7Bif%28e.name%20%3D%3D%3D%20%27stReturn%27%20%26%26%20e.selector%20%3D%3D%3D%20"), "__comma", [smalltalk.send(self['@currentSelector'], "_printString", [])]), "__comma", [unescape("%29%7Breturn%20e.fn%28%29%7D%20throw%28e%29%7D")])]);})(self['@stream']);})]);
  847. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D")]);
  848. (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%2C"), "__comma", [smalltalk.send(smalltalk.String, "_lf", [])]), "__comma", ["messageSends: "])]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(self['@messageSends'], "_asJavascript", []), "__comma", [unescape("%2C")])]);smalltalk.send($rec, "_lf", []);return smalltalk.send($rec, "_nextPutAll_", [unescape("referencedClasses%3A%20%5B")]);})(self['@stream']);
  849. smalltalk.send(self['@referencedClasses'], "_do_separatedBy_", [(function(each){return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%2C")]);})]);
  850. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%5D")]);
  851. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D%29")]);
  852. return self;}
  853. }),
  854. smalltalk.Compiler);
  855. smalltalk.addMethod(
  856. '_visitBlockNode_',
  857. smalltalk.method({
  858. selector: 'visitBlockNode:',
  859. fn: function (aNode){
  860. var self=this;
  861. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28")]);
  862. smalltalk.send(smalltalk.send(aNode, "_parameters", []), "_do_separatedBy_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%2C%20")]);})]);
  863. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%7B")]);
  864. smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){return smalltalk.send(self, "_visit_", [each]);})]);
  865. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D%29")]);
  866. return self;}
  867. }),
  868. smalltalk.Compiler);
  869. smalltalk.addMethod(
  870. '_visitSequenceNode_',
  871. smalltalk.method({
  872. selector: 'visitSequenceNode:',
  873. fn: function (aNode){
  874. var self=this;
  875. smalltalk.send(smalltalk.send(aNode, "_temps", []), "_do_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("var ", "__comma", [each]), "__comma", [unescape("%3Dnil%3B")])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);})]);
  876. smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_separatedBy_", [(function(each){smalltalk.send(self, "_visit_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%3B")]);}), (function(){return smalltalk.send(self['@stream'], "_lf", []);})]);
  877. return self;}
  878. }),
  879. smalltalk.Compiler);
  880. smalltalk.addMethod(
  881. '_visitBlockSequenceNode_',
  882. smalltalk.method({
  883. selector: 'visitBlockSequenceNode:',
  884. fn: function (aNode){
  885. var self=this;
  886. var index=nil;
  887. self['@nestedBlocks']=smalltalk.send(self['@nestedBlocks'], "__plus", [(1)]);
  888. smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_isEmpty", []), "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("return%20nil%3B")]);}), (function(){smalltalk.send(smalltalk.send(aNode, "_temps", []), "_do_", [(function(each){smalltalk.send(self['@tempVariables'], "_add_", [each]);return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send("var ", "__comma", [each]), "__comma", [unescape("%3Dnil%3B")])]);return smalltalk.send($rec, "_lf", []);})(self['@stream']);})]);index=(0);return smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){index=smalltalk.send(index, "__plus", [(1)]);smalltalk.send(smalltalk.send(index, "__eq", [smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_size", [])]), "_ifTrue_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["return "]);})]);smalltalk.send(self, "_visit_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%3B")]);})]);})]);
  889. self['@nestedBlocks']=smalltalk.send(self['@nestedBlocks'], "__minus", [(1)]);
  890. return self;}
  891. }),
  892. smalltalk.Compiler);
  893. smalltalk.addMethod(
  894. '_visitReturnNode_',
  895. smalltalk.method({
  896. selector: 'visitReturnNode:',
  897. fn: function (aNode){
  898. var self=this;
  899. smalltalk.send(smalltalk.send(self['@nestedBlocks'], "__gt", [(0)]), "_ifTrue_", [(function(){return self['@earlyReturn']=true;})]);
  900. smalltalk.send(self['@earlyReturn'], "_ifTrue_ifFalse_", [(function(){return (function($rec){smalltalk.send($rec, "_nextPutAll_", [unescape("%28function%28%29%7Bthrow%28")]);smalltalk.send($rec, "_nextPutAll_", [unescape("%7Bname%3A%20%27stReturn%27%2C%20selector%3A%20")]);smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self['@currentSelector'], "_printString", [])]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%2C%20fn%3A%20function%28%29%7Breturn%20")]);})(self['@stream']);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["return "]);})]);
  901. smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){return smalltalk.send(self, "_visit_", [each]);})]);
  902. smalltalk.send(self['@earlyReturn'], "_ifTrue_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D%7D%29%7D%29%28%29")]);})]);
  903. return self;}
  904. }),
  905. smalltalk.Compiler);
  906. smalltalk.addMethod(
  907. '_visitSendNode_',
  908. smalltalk.method({
  909. selector: 'visitSendNode:',
  910. fn: function (aNode){
  911. var self=this;
  912. var str=nil;
  913. var receiver=nil;
  914. var superSend=nil;
  915. var inlined=nil;
  916. str=self['@stream'];
  917. (($receiver = smalltalk.send(self['@messageSends'], "_includes_", [smalltalk.send(aNode, "_selector", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self['@messageSends'], "_add_", [smalltalk.send(aNode, "_selector", [])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self['@messageSends'], "_add_", [smalltalk.send(aNode, "_selector", [])]);})]);
  918. self['@stream']=smalltalk.send("", "_writeStream", []);
  919. smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_receiver", [])]);
  920. superSend=smalltalk.send(smalltalk.send(self['@stream'], "_contents", []), "__eq", ["super"]);
  921. receiver=(($receiver = superSend).klass === smalltalk.Boolean) ? ($receiver ? (function(){return "self";})() : (function(){return smalltalk.send(self['@stream'], "_contents", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return "self";}), (function(){return smalltalk.send(self['@stream'], "_contents", []);})]);
  922. self['@stream']=str;
  923. (($receiver = smalltalk.send(self, "_inlineLiteral_receiverNode_argumentNodes_", [smalltalk.send(aNode, "_selector", []), smalltalk.send(aNode, "_receiver", []), smalltalk.send(aNode, "_arguments", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (($receiver = smalltalk.send(self, "_inline_receiver_argumentNodes_", [smalltalk.send(aNode, "_selector", []), receiver, smalltalk.send(aNode, "_arguments", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(" : ", "__comma", [smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), "$receiver", smalltalk.send(aNode, "_arguments", []), superSend])])]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), receiver, smalltalk.send(aNode, "_arguments", []), superSend])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(" : ", "__comma", [smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), "$receiver", smalltalk.send(aNode, "_arguments", []), superSend])])]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), receiver, smalltalk.send(aNode, "_arguments", []), superSend])]);})]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (($receiver = smalltalk.send(self, "_inline_receiver_argumentNodes_", [smalltalk.send(aNode, "_selector", []), receiver, smalltalk.send(aNode, "_arguments", [])])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(" : ", "__comma", [smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), "$receiver", smalltalk.send(aNode, "_arguments", []), superSend])])]);})() : (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), receiver, smalltalk.send(aNode, "_arguments", []), superSend])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(" : ", "__comma", [smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), "$receiver", smalltalk.send(aNode, "_arguments", []), superSend])])]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(self, "_send_to_arguments_superSend_", [smalltalk.send(aNode, "_selector", []), receiver, smalltalk.send(aNode, "_arguments", []), superSend])]);})]);})]);
  924. return self;}
  925. }),
  926. smalltalk.Compiler);
  927. smalltalk.addMethod(
  928. '_visitCascadeNode_',
  929. smalltalk.method({
  930. selector: 'visitCascadeNode:',
  931. fn: function (aNode){
  932. var self=this;
  933. var index=nil;
  934. index=(0);
  935. smalltalk.send(smalltalk.send(self['@tempVariables'], "_includes_", ["$rec"]), "_ifFalse_", [(function(){return smalltalk.send(self['@tempVariables'], "_add_", ["$rec"]);})]);
  936. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%24rec%29%7B")]);
  937. smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){index=smalltalk.send(index, "__plus", [(1)]);smalltalk.send(smalltalk.send(index, "__eq", [smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_size", [])]), "_ifTrue_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", ["return "]);})]);smalltalk.send(each, "_receiver_", [smalltalk.send(smalltalk.send(smalltalk.VariableNode, "_new", []), "_value_", ["$rec"])]);smalltalk.send(self, "_visit_", [each]);return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%3B")]);})]);
  938. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%7D%29%28")]);
  939. smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_receiver", [])]);
  940. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29")]);
  941. return self;}
  942. }),
  943. smalltalk.Compiler);
  944. smalltalk.addMethod(
  945. '_visitValueNode_',
  946. smalltalk.method({
  947. selector: 'visitValueNode:',
  948. fn: function (aNode){
  949. var self=this;
  950. smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(aNode, "_value", []), "_asJavascript", [])]);
  951. return self;}
  952. }),
  953. smalltalk.Compiler);
  954. smalltalk.addMethod(
  955. '_visitAssignmentNode_',
  956. smalltalk.method({
  957. selector: 'visitAssignmentNode:',
  958. fn: function (aNode){
  959. var self=this;
  960. smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_left", [])]);
  961. smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%3D")]);
  962. smalltalk.send(self, "_visit_", [smalltalk.send(aNode, "_right", [])]);
  963. return self;}
  964. }),
  965. smalltalk.Compiler);
  966. smalltalk.addMethod(
  967. '_visitClassReferenceNode_',
  968. smalltalk.method({
  969. selector: 'visitClassReferenceNode:',
  970. fn: function (aNode){
  971. var self=this;
  972. var klass=nil;
  973. klass=smalltalk.send("smalltalk.", "__comma", [smalltalk.send(aNode, "_value", [])]);
  974. smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.Smalltalk, "_current", []), "_at_", [smalltalk.send(aNode, "_value", [])]), "_isClass", []), "_ifTrue_", [(function(){return smalltalk.send(smalltalk.send(self['@referencedClasses'], "_includes_", [klass]), "_ifFalse_", [(function(){return smalltalk.send(self['@referencedClasses'], "_add_", [klass]);})]);})]);
  975. smalltalk.send(self['@stream'], "_nextPutAll_", [klass]);
  976. return self;}
  977. }),
  978. smalltalk.Compiler);
  979. smalltalk.addMethod(
  980. '_visitVariableNode_',
  981. smalltalk.method({
  982. selector: 'visitVariableNode:',
  983. fn: function (aNode){
  984. var self=this;
  985. smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_currentClass", []), "_allInstanceVariableNames", []), "_includes_", [smalltalk.send(aNode, "_value", [])]), "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("self%5B%27@"), "__comma", [smalltalk.send(aNode, "_value", [])]), "__comma", [unescape("%27%5D")])]);}), (function(){smalltalk.send(smalltalk.send(smalltalk.send(self, "_knownVariables", []), "_includes_", [smalltalk.send(aNode, "_value", [])]), "_ifFalse_", [(function(){return smalltalk.send(self['@unknownVariables'], "_add_", [smalltalk.send(aNode, "_value", [])]);})]);return smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(aNode, "_value", [])]);})]);
  986. return self;}
  987. }),
  988. smalltalk.Compiler);
  989. smalltalk.addMethod(
  990. '_visitJSStatementNode_',
  991. smalltalk.method({
  992. selector: 'visitJSStatementNode:',
  993. fn: function (aNode){
  994. var self=this;
  995. smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(aNode, "_source", []), "_replace_with_", [unescape("%3E%3E"), unescape("%3E")])]);
  996. return self;}
  997. }),
  998. smalltalk.Compiler);
  999. smalltalk.addMethod(
  1000. '_parse_',
  1001. smalltalk.method({
  1002. selector: 'parse:',
  1003. fn: function (aString){
  1004. var self=this;
  1005. return smalltalk.send(smalltalk.send(self, "_parser", []), "_parse_", [smalltalk.send(aString, "_readStream", [])]);
  1006. return self;}
  1007. }),
  1008. smalltalk.Compiler);
  1009. smalltalk.addMethod(
  1010. '_parseExpression_',
  1011. smalltalk.method({
  1012. selector: 'parseExpression:',
  1013. fn: function (aString){
  1014. var self=this;
  1015. return smalltalk.send(self, "_parse_", [smalltalk.send(smalltalk.send(unescape("doIt%20%5E%5B"), "__comma", [aString]), "__comma", [unescape("%5D%20value")])]);
  1016. return self;}
  1017. }),
  1018. smalltalk.Compiler);
  1019. smalltalk.addMethod(
  1020. '_unknownVariables',
  1021. smalltalk.method({
  1022. selector: 'unknownVariables',
  1023. fn: function (){
  1024. var self=this;
  1025. return smalltalk.send(self['@unknownVariables'], "_copy", []);
  1026. return self;}
  1027. }),
  1028. smalltalk.Compiler);
  1029. smalltalk.addMethod(
  1030. '_pseudoVariables',
  1031. smalltalk.method({
  1032. selector: 'pseudoVariables',
  1033. fn: function (){
  1034. var self=this;
  1035. return ["self", "super", "true", "false", "nil", "thisContext"];
  1036. return self;}
  1037. }),
  1038. smalltalk.Compiler);
  1039. smalltalk.addMethod(
  1040. '_tempVariables',
  1041. smalltalk.method({
  1042. selector: 'tempVariables',
  1043. fn: function (){
  1044. var self=this;
  1045. return smalltalk.send(self['@tempVariables'], "_copy", []);
  1046. return self;}
  1047. }),
  1048. smalltalk.Compiler);
  1049. smalltalk.addMethod(
  1050. '_knownVariables',
  1051. smalltalk.method({
  1052. selector: 'knownVariables',
  1053. fn: function (){
  1054. var self=this;
  1055. return (function($rec){smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_tempVariables", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_pseudoVariables", []));
  1056. return self;}
  1057. }),
  1058. smalltalk.Compiler);
  1059. smalltalk.addMethod(
  1060. '_recompile_',
  1061. smalltalk.method({
  1062. selector: 'recompile:',
  1063. fn: function (aClass){
  1064. var self=this;
  1065. smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_do_", [(function(each){var method=nil;
  1066. method=smalltalk.send(self, "_load_forClass_", [smalltalk.send(each, "_source", []), aClass]);smalltalk.send(method, "_category_", [smalltalk.send(each, "_category", [])]);return smalltalk.send(aClass, "_addCompiledMethod_", [method]);})]);
  1067. smalltalk.send(smalltalk.send(aClass, "_isMetaclass", []), "_ifFalse_", [(function(){return smalltalk.send(self, "_recompile_", [smalltalk.send(aClass, "_class", [])]);})]);
  1068. return self;}
  1069. }),
  1070. smalltalk.Compiler);
  1071. smalltalk.addMethod(
  1072. '_recompileAll',
  1073. smalltalk.method({
  1074. selector: 'recompileAll',
  1075. fn: function (){
  1076. var self=this;
  1077. smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.Smalltalk, "_current", []), "_classes", []), "_do_", [(function(each){(function($rec){smalltalk.send($rec, "_show_", [each]);return smalltalk.send($rec, "_cr", []);})(smalltalk.Transcript);return smalltalk.send((function(){return smalltalk.send(self, "_recompile_", [each]);}), "_valueWithTimeout_", [(100)]);})]);
  1078. return self;}
  1079. }),
  1080. smalltalk.Compiler);
  1081. smalltalk.addMethod(
  1082. '_classNameFor_',
  1083. smalltalk.method({
  1084. selector: 'classNameFor:',
  1085. fn: function (aClass){
  1086. var self=this;
  1087. return smalltalk.send(smalltalk.send(aClass, "_isMetaclass", []), "_ifTrue_ifFalse_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_instanceClass", []), "_name", []), "__comma", [".klass"]);}), (function(){return smalltalk.send(smalltalk.send(aClass, "_isNil", []), "_ifTrue_ifFalse_", [(function(){return "nil";}), (function(){return smalltalk.send(aClass, "_name", []);})]);})]);
  1088. return self;}
  1089. }),
  1090. smalltalk.Compiler);
  1091. smalltalk.addMethod(
  1092. '_visitFailure_',
  1093. smalltalk.method({
  1094. selector: 'visitFailure:',
  1095. fn: function (aFailure){
  1096. var self=this;
  1097. smalltalk.send(self, "_error_", [smalltalk.send(aFailure, "_asString", [])]);
  1098. return self;}
  1099. }),
  1100. smalltalk.Compiler);
  1101. smalltalk.addMethod(
  1102. '_setupClass_',
  1103. smalltalk.method({
  1104. selector: 'setupClass:',
  1105. fn: function (aClass){
  1106. var self=this;
  1107. smalltalk.init(aClass);
  1108. return self;}
  1109. }),
  1110. smalltalk.Compiler);
  1111. smalltalk.addMethod(
  1112. '_send_to_arguments_superSend_',
  1113. smalltalk.method({
  1114. selector: 'send:to:arguments:superSend:',
  1115. fn: function (aSelector, aReceiver, aCollection, aBoolean){
  1116. var self=this;
  1117. return smalltalk.send(smalltalk.String, "_streamContents_", [(function(str){var tmp=nil;
  1118. tmp=self['@stream'];smalltalk.send(str, "_nextPutAll_", [unescape("smalltalk.send%28")]);smalltalk.send(str, "_nextPutAll_", [aReceiver]);smalltalk.send(str, "_nextPutAll_", [smalltalk.send(smalltalk.send(unescape("%2C%20%22"), "__comma", [smalltalk.send(aSelector, "_asSelector", [])]), "__comma", [unescape("%22%2C%20%5B")])]);self['@stream']=str;smalltalk.send(aCollection, "_do_separatedBy_", [(function(each){return smalltalk.send(self, "_visit_", [each]);}), (function(){return smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%2C%20")]);})]);self['@stream']=tmp;smalltalk.send(str, "_nextPutAll_", [unescape("%5D")]);smalltalk.send(aBoolean, "_ifTrue_", [(function(){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(unescape("%2C%20smalltalk."), "__comma", [smalltalk.send(self, "_classNameFor_", [smalltalk.send(smalltalk.send(self, "_currentClass", []), "_superclass", [])])])]);})]);return smalltalk.send(str, "_nextPutAll_", [unescape("%29")]);})]);
  1119. return self;}
  1120. }),
  1121. smalltalk.Compiler);
  1122. smalltalk.addMethod(
  1123. '_checkClass_for_',
  1124. smalltalk.method({
  1125. selector: 'checkClass:for:',
  1126. fn: function (aClassName, receiver){
  1127. var self=this;
  1128. smalltalk.send(self['@stream'], "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(unescape("%28%28%24receiver%20%3D%20"), "__comma", [receiver]), "__comma", [unescape("%29.klass%20%3D%3D%3D%20smalltalk.")]), "__comma", [aClassName]), "__comma", [unescape("%29%20%3F%20")])]);
  1129. return self;}
  1130. }),
  1131. smalltalk.Compiler);
  1132. smalltalk.addMethod(
  1133. '_inlineLiteral_receiverNode_argumentNodes_',
  1134. smalltalk.method({
  1135. selector: 'inlineLiteral:receiverNode:argumentNodes:',
  1136. fn: function (aSelector, anObject, aCollection){
  1137. var self=this;
  1138. var inlined=nil;
  1139. inlined=false;
  1140. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =="whileTrue:" : smalltalk.send($receiver, "__eq", ["whileTrue:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(anObject, "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%7D%7D%29%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%7D%7D%29%28%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(anObject, "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%7D%7D%29%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%7D%7D%29%28%29")]);return inlined=true;})]);})]);
  1141. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =="whileFalse:" : smalltalk.send($receiver, "__eq", ["whileFalse:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(anObject, "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28%21")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%7D%7D%29%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28%21")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%7D%7D%29%28%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(anObject, "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28%21")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%7D%7D%29%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28%21")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%7D%7D%29%28%29")]);return inlined=true;})]);})]);
  1142. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =="whileTrue" : smalltalk.send($receiver, "__eq", ["whileTrue"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(anObject, "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B%7D%7D%29%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B%7D%7D%29%28%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(anObject, "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B%7D%7D%29%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B%7D%7D%29%28%29")]);return inlined=true;})]);})]);
  1143. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =="whileFalse" : smalltalk.send($receiver, "__eq", ["whileFalse"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(anObject, "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28%21")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B%7D%7D%29%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28%21")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B%7D%7D%29%28%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(anObject, "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28%21")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B%7D%7D%29%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28function%28%29%7Bwhile%28%21")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29%20%7B%7D%7D%29%28%29")]);return inlined=true;})]);})]);
  1144. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("+") : smalltalk.send($receiver, "__eq", [unescape("+")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20+%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20+%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20+%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20+%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1145. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("-") : smalltalk.send($receiver, "__eq", [unescape("-")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20-%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20-%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20-%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20-%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1146. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("*") : smalltalk.send($receiver, "__eq", [unescape("*")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20*%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20*%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20*%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20*%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1147. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("/") : smalltalk.send($receiver, "__eq", [unescape("/")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20/%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20/%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20/%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20/%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1148. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("%3C") : smalltalk.send($receiver, "__eq", [unescape("%3C")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3C%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3C%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3C%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3C%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1149. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("%3C%3D") : smalltalk.send($receiver, "__eq", [unescape("%3C%3D")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3C%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3C%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3C%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3C%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1150. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("%3D") : smalltalk.send($receiver, "__eq", [unescape("%3D")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1151. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("%3E") : smalltalk.send($receiver, "__eq", [unescape("%3E")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3E%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3E%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3E%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3E%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1152. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ==unescape("%3E%3D") : smalltalk.send($receiver, "__eq", [unescape("%3E%3D")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3E%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3E%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(self, "_isNode_ofClass_", [anObject, smalltalk.Number])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3E%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%20%3E%3D%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);})]);
  1153. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =="ifNil:" : smalltalk.send($receiver, "__eq", ["ifNil:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil")]);return inlined=true;})]);})]);
  1154. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =="ifNotNil:" : smalltalk.send($receiver, "__eq", ["ifNotNil:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%21%3D%20nil%20%26%26%20%24receiver%20%21%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%21%3D%20nil%20%26%26%20%24receiver%20%21%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%21%3D%20nil%20%26%26%20%24receiver%20%21%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%21%3D%20nil%20%26%26%20%24receiver%20%21%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil")]);return inlined=true;})]);})]);
  1155. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =="ifNil:ifNotNil:" : smalltalk.send($receiver, "__eq", ["ifNil:ifNotNil:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29")]);return inlined=true;})]);})]);
  1156. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =="ifNotNil:ifNil:" : smalltalk.send($receiver, "__eq", ["ifNotNil:ifNil:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%28%24receiver%20%3D%20")]);smalltalk.send(self, "_visit_", [anObject]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%29%20%3D%3D%20nil%20%7C%7C%20%24receiver%20%3D%3D%20undefined%29%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29")]);return inlined=true;})]);})]);
  1157. return inlined;
  1158. return self;}
  1159. }),
  1160. smalltalk.Compiler);
  1161. smalltalk.addMethod(
  1162. '_isNode_ofClass_',
  1163. smalltalk.method({
  1164. selector: 'isNode:ofClass:',
  1165. fn: function (aNode, aClass){
  1166. var self=this;
  1167. return smalltalk.send(smalltalk.send(aNode, "_isValueNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_value", []), "_class", []), "__eq", [aClass]), "_or_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aNode, "_value", []), "__eq", ["self"]), "_and_", [(function(){return smalltalk.send(smalltalk.send(self, "_currentClass", []), "__eq", [aClass]);})]);})]);})]);
  1168. return self;}
  1169. }),
  1170. smalltalk.Compiler);
  1171. smalltalk.addMethod(
  1172. '_inline_receiver_argumentNodes_',
  1173. smalltalk.method({
  1174. selector: 'inline:receiver:argumentNodes:',
  1175. fn: function (aSelector, receiver, aCollection){
  1176. var self=this;
  1177. var inlined=nil;
  1178. inlined=false;
  1179. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ="ifFalse:" : smalltalk.send($receiver, "__eq", ["ifFalse:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%21%20%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%21%20%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%21%20%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%21%20%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil%29")]);return inlined=true;})]);})]);
  1180. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ="ifTrue:" : smalltalk.send($receiver, "__eq", ["ifTrue:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20nil%29")]);return inlined=true;})]);})]);
  1181. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ="ifTrue:ifFalse:" : smalltalk.send($receiver, "__eq", ["ifTrue:ifFalse:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29")]);return inlined=true;})]);})]);
  1182. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver ="ifFalse:ifTrue:" : smalltalk.send($receiver, "__eq", ["ifFalse:ifTrue:"])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%21%20%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%21%20%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29")]);return inlined=true;})]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (($receiver = smalltalk.send(smalltalk.send(smalltalk.send(aCollection, "_first", []), "_isBlockNode", []), "_and_", [(function(){return smalltalk.send(smalltalk.send(aCollection, "_second", []), "_isBlockNode", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%21%20%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29")]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Boolean", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%21%20%24receiver%20%3F%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%20%3A%20")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_second", [])]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%28%29%29")]);return inlined=true;})]);})]);
  1183. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("%3C") : smalltalk.send($receiver, "__eq", [unescape("%3C")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3C")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3C")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1184. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("%3C%3D") : smalltalk.send($receiver, "__eq", [unescape("%3C%3D")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3C%3D")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3C%3D")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1185. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("%3D") : smalltalk.send($receiver, "__eq", [unescape("%3D")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3D%3D")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3D%3D")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1186. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("%3E") : smalltalk.send($receiver, "__eq", [unescape("%3E")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3E")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3E")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1187. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("%3E%3D") : smalltalk.send($receiver, "__eq", [unescape("%3E%3D")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3E%3D")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20%3E%3D")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1188. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("+") : smalltalk.send($receiver, "__eq", [unescape("+")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20+")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20+")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1189. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("-") : smalltalk.send($receiver, "__eq", [unescape("-")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20-")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20-")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1190. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("*") : smalltalk.send($receiver, "__eq", [unescape("*")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20*")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20*")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1191. (($receiver = (($receiver = aSelector).klass === smalltalk.Number) ? $receiver =unescape("/") : smalltalk.send($receiver, "__eq", [unescape("/")])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20/")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(self, "_checkClass_for_", ["Number", receiver]);smalltalk.send(self['@stream'], "_nextPutAll_", [unescape("%24receiver%20/")]);smalltalk.send(self, "_visit_", [smalltalk.send(aCollection, "_first", [])]);return inlined=true;})]);
  1192. return inlined;
  1193. return self;}
  1194. }),
  1195. smalltalk.Compiler);
  1196. smalltalk.addMethod(
  1197. '_recompile_',
  1198. smalltalk.method({
  1199. selector: 'recompile:',
  1200. fn: function (aClass){
  1201. var self=this;
  1202. smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_do_", [(function(each){var method=nil;
  1203. method=smalltalk.send(smalltalk.send(self, "_new", []), "_load_forClass_", [smalltalk.send(each, "_source", []), aClass]);smalltalk.send(method, "_category_", [smalltalk.send(each, "_category", [])]);return smalltalk.send(aClass, "_addCompiledMethod_", [method]);})]);
  1204. smalltalk.send(smalltalk.send(aClass, "_isMetaclass", []), "_ifFalse_", [(function(){return smalltalk.send(self, "_recompile_", [smalltalk.send(aClass, "_class", [])]);})]);
  1205. return self;}
  1206. }),
  1207. smalltalk.Compiler.klass);
  1208. smalltalk.addMethod(
  1209. '_recompileAll',
  1210. smalltalk.method({
  1211. selector: 'recompileAll',
  1212. fn: function (){
  1213. var self=this;
  1214. smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.Smalltalk, "_current", []), "_classes", []), "_do_", [(function(each){return smalltalk.send(self, "_recompile_", [each]);})]);
  1215. return self;}
  1216. }),
  1217. smalltalk.Compiler.klass);
  1218. smalltalk.addClass('DoIt', smalltalk.Object, [], 'Compiler');
  1219. smalltalk.addMethod(
  1220. '_doIt',
  1221. smalltalk.method({
  1222. selector: 'doIt',
  1223. fn: function (){
  1224. var self=this;
  1225. return smalltalk.send((function(){return smalltalk.send(smalltalk.Date, "_millisecondsToRun_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.Compiler, "_new", []), "_compile_forClass_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.SmalltalkParser, "_methodDictionary", []), "_at_", ["parser"]), "_source", []), smalltalk.SmalltalkParser]);})]);}), "_value", []);
  1226. return self;}
  1227. }),
  1228. smalltalk.DoIt);