Platform-Services.js 86 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380
  1. define(["amber/boot", "require", "amber/core/Kernel-Collections", "amber/core/Kernel-Infrastructure", "amber/core/Kernel-Methods", "amber/core/Kernel-Objects"], function($boot,requirejs){"use strict";
  2. var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. var $pkg = $core.addPackage("Platform-Services");
  4. $pkg.transport = {"type":"amd","amdNamespace":"amber/core"};
  5. $core.addClass("ConsoleErrorHandler", $globals.Object, "Platform-Services");
  6. //>>excludeStart("ide", pragmas.excludeIdeData);
  7. $globals.ConsoleErrorHandler.comment="I am manage Smalltalk errors, displaying the stack in the console.";
  8. //>>excludeEnd("ide");
  9. $core.addMethod(
  10. $core.method({
  11. selector: "handleError:",
  12. protocol: "error handling",
  13. //>>excludeStart("ide", pragmas.excludeIdeData);
  14. args: ["anError"],
  15. source: "handleError: anError\x0a\x09anError context ifNotNil: [ self logErrorContext: anError context ].\x0a\x09self logError: anError",
  16. referencedClasses: [],
  17. //>>excludeEnd("ide");
  18. pragmas: [],
  19. messageSends: ["ifNotNil:", "context", "logErrorContext:", "logError:"]
  20. }, function ($methodClass){ return function (anError){
  21. var self=this,$self=this;
  22. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  23. return $core.withContext(function($ctx1) {
  24. //>>excludeEnd("ctx");
  25. var $1;
  26. $1=[$recv(anError)._context()
  27. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  28. ,$ctx1.sendIdx["context"]=1
  29. //>>excludeEnd("ctx");
  30. ][0];
  31. if($1 != null && !$1.a$nil){
  32. $self._logErrorContext_($recv(anError)._context());
  33. }
  34. $self._logError_(anError);
  35. return self;
  36. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  37. }, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError})});
  38. //>>excludeEnd("ctx");
  39. }; }),
  40. $globals.ConsoleErrorHandler);
  41. $core.addMethod(
  42. $core.method({
  43. selector: "log:",
  44. protocol: "private",
  45. //>>excludeStart("ide", pragmas.excludeIdeData);
  46. args: ["aString"],
  47. source: "log: aString\x0a\x09console log: aString",
  48. referencedClasses: [],
  49. //>>excludeEnd("ide");
  50. pragmas: [],
  51. messageSends: ["log:"]
  52. }, function ($methodClass){ return function (aString){
  53. var self=this,$self=this;
  54. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  55. return $core.withContext(function($ctx1) {
  56. //>>excludeEnd("ctx");
  57. $recv(console)._log_(aString);
  58. return self;
  59. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  60. }, function($ctx1) {$ctx1.fill(self,"log:",{aString:aString})});
  61. //>>excludeEnd("ctx");
  62. }; }),
  63. $globals.ConsoleErrorHandler);
  64. $core.addMethod(
  65. $core.method({
  66. selector: "logContext:",
  67. protocol: "private",
  68. //>>excludeStart("ide", pragmas.excludeIdeData);
  69. args: ["aContext"],
  70. source: "logContext: aContext\x0a\x09aContext home ifNotNil: [\x0a\x09\x09self logContext: aContext home ].\x0a\x09self log: aContext asString",
  71. referencedClasses: [],
  72. //>>excludeEnd("ide");
  73. pragmas: [],
  74. messageSends: ["ifNotNil:", "home", "logContext:", "log:", "asString"]
  75. }, function ($methodClass){ return function (aContext){
  76. var self=this,$self=this;
  77. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  78. return $core.withContext(function($ctx1) {
  79. //>>excludeEnd("ctx");
  80. var $1;
  81. $1=[$recv(aContext)._home()
  82. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  83. ,$ctx1.sendIdx["home"]=1
  84. //>>excludeEnd("ctx");
  85. ][0];
  86. if($1 != null && !$1.a$nil){
  87. $self._logContext_($recv(aContext)._home());
  88. }
  89. $self._log_($recv(aContext)._asString());
  90. return self;
  91. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  92. }, function($ctx1) {$ctx1.fill(self,"logContext:",{aContext:aContext})});
  93. //>>excludeEnd("ctx");
  94. }; }),
  95. $globals.ConsoleErrorHandler);
  96. $core.addMethod(
  97. $core.method({
  98. selector: "logError:",
  99. protocol: "private",
  100. //>>excludeStart("ide", pragmas.excludeIdeData);
  101. args: ["anError"],
  102. source: "logError: anError\x0a\x09self log: anError messageText",
  103. referencedClasses: [],
  104. //>>excludeEnd("ide");
  105. pragmas: [],
  106. messageSends: ["log:", "messageText"]
  107. }, function ($methodClass){ return function (anError){
  108. var self=this,$self=this;
  109. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  110. return $core.withContext(function($ctx1) {
  111. //>>excludeEnd("ctx");
  112. $self._log_($recv(anError)._messageText());
  113. return self;
  114. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  115. }, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError})});
  116. //>>excludeEnd("ctx");
  117. }; }),
  118. $globals.ConsoleErrorHandler);
  119. $core.addMethod(
  120. $core.method({
  121. selector: "logErrorContext:",
  122. protocol: "private",
  123. //>>excludeStart("ide", pragmas.excludeIdeData);
  124. args: ["aContext"],
  125. source: "logErrorContext: aContext\x0a\x09aContext ifNotNil: [\x0a\x09\x09aContext home ifNotNil: [\x0a\x09\x09\x09self logContext: aContext home ]]",
  126. referencedClasses: [],
  127. //>>excludeEnd("ide");
  128. pragmas: [],
  129. messageSends: ["ifNotNil:", "home", "logContext:"]
  130. }, function ($methodClass){ return function (aContext){
  131. var self=this,$self=this;
  132. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  133. return $core.withContext(function($ctx1) {
  134. //>>excludeEnd("ctx");
  135. var $1;
  136. if(aContext != null && !aContext.a$nil){
  137. $1=[$recv(aContext)._home()
  138. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  139. ,$ctx1.sendIdx["home"]=1
  140. //>>excludeEnd("ctx");
  141. ][0];
  142. if($1 != null && !$1.a$nil){
  143. $self._logContext_($recv(aContext)._home());
  144. }
  145. }
  146. return self;
  147. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  148. }, function($ctx1) {$ctx1.fill(self,"logErrorContext:",{aContext:aContext})});
  149. //>>excludeEnd("ctx");
  150. }; }),
  151. $globals.ConsoleErrorHandler);
  152. $core.setSlots($globals.ConsoleErrorHandler.a$cls, ["current"]);
  153. $core.addMethod(
  154. $core.method({
  155. selector: "initialize",
  156. protocol: "initialization",
  157. //>>excludeStart("ide", pragmas.excludeIdeData);
  158. args: [],
  159. source: "initialize\x0a\x09ErrorHandler registerIfNone: self new",
  160. referencedClasses: ["ErrorHandler"],
  161. //>>excludeEnd("ide");
  162. pragmas: [],
  163. messageSends: ["registerIfNone:", "new"]
  164. }, function ($methodClass){ return function (){
  165. var self=this,$self=this;
  166. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  167. return $core.withContext(function($ctx1) {
  168. //>>excludeEnd("ctx");
  169. $recv($globals.ErrorHandler)._registerIfNone_($self._new());
  170. return self;
  171. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  172. }, function($ctx1) {$ctx1.fill(self,"initialize",{})});
  173. //>>excludeEnd("ctx");
  174. }; }),
  175. $globals.ConsoleErrorHandler.a$cls);
  176. $core.addClass("ConsoleTranscript", $globals.Object, "Platform-Services");
  177. $core.setSlots($globals.ConsoleTranscript, ["textarea"]);
  178. //>>excludeStart("ide", pragmas.excludeIdeData);
  179. $globals.ConsoleTranscript.comment="I am a specific transcript emitting to the JavaScript console.\x0a\x0aIf no other transcript is registered, I am the default.";
  180. //>>excludeEnd("ide");
  181. $core.addMethod(
  182. $core.method({
  183. selector: "clear",
  184. protocol: "printing",
  185. //>>excludeStart("ide", pragmas.excludeIdeData);
  186. args: [],
  187. source: "clear\x0a\x09\x22no op\x22",
  188. referencedClasses: [],
  189. //>>excludeEnd("ide");
  190. pragmas: [],
  191. messageSends: []
  192. }, function ($methodClass){ return function (){
  193. var self=this,$self=this;
  194. return self;
  195. }; }),
  196. $globals.ConsoleTranscript);
  197. $core.addMethod(
  198. $core.method({
  199. selector: "cr",
  200. protocol: "printing",
  201. //>>excludeStart("ide", pragmas.excludeIdeData);
  202. args: [],
  203. source: "cr\x0a\x09\x22no op\x22",
  204. referencedClasses: [],
  205. //>>excludeEnd("ide");
  206. pragmas: [],
  207. messageSends: []
  208. }, function ($methodClass){ return function (){
  209. var self=this,$self=this;
  210. return self;
  211. }; }),
  212. $globals.ConsoleTranscript);
  213. $core.addMethod(
  214. $core.method({
  215. selector: "open",
  216. protocol: "actions",
  217. //>>excludeStart("ide", pragmas.excludeIdeData);
  218. args: [],
  219. source: "open",
  220. referencedClasses: [],
  221. //>>excludeEnd("ide");
  222. pragmas: [],
  223. messageSends: []
  224. }, function ($methodClass){ return function (){
  225. var self=this,$self=this;
  226. return self;
  227. }; }),
  228. $globals.ConsoleTranscript);
  229. $core.addMethod(
  230. $core.method({
  231. selector: "show:",
  232. protocol: "printing",
  233. //>>excludeStart("ide", pragmas.excludeIdeData);
  234. args: ["anObject"],
  235. source: "show: anObject\x0a\x22Smalltalk objects should have no trouble displaying themselves on the Transcript; Javascript objects don't know how, so must be wrapped in a JSObectProxy.\x22\x0a<inlineJS: 'console.log(String($recv(anObject)._asString()))'>",
  236. referencedClasses: [],
  237. //>>excludeEnd("ide");
  238. pragmas: [["inlineJS:", ["console.log(String($recv(anObject)._asString()))"]]],
  239. messageSends: []
  240. }, function ($methodClass){ return function (anObject){
  241. var self=this,$self=this;
  242. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  243. return $core.withContext(function($ctx1) {
  244. //>>excludeEnd("ctx");
  245. console.log(String($recv(anObject)._asString()));
  246. return self;
  247. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  248. }, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject})});
  249. //>>excludeEnd("ctx");
  250. }; }),
  251. $globals.ConsoleTranscript);
  252. $core.addMethod(
  253. $core.method({
  254. selector: "initialize",
  255. protocol: "initialization",
  256. //>>excludeStart("ide", pragmas.excludeIdeData);
  257. args: [],
  258. source: "initialize\x0a\x09Transcript registerIfNone: self new",
  259. referencedClasses: ["Transcript"],
  260. //>>excludeEnd("ide");
  261. pragmas: [],
  262. messageSends: ["registerIfNone:", "new"]
  263. }, function ($methodClass){ return function (){
  264. var self=this,$self=this;
  265. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  266. return $core.withContext(function($ctx1) {
  267. //>>excludeEnd("ctx");
  268. $recv($globals.Transcript)._registerIfNone_($self._new());
  269. return self;
  270. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  271. }, function($ctx1) {$ctx1.fill(self,"initialize",{})});
  272. //>>excludeEnd("ctx");
  273. }; }),
  274. $globals.ConsoleTranscript.a$cls);
  275. $core.addClass("Environment", $globals.Object, "Platform-Services");
  276. //>>excludeStart("ide", pragmas.excludeIdeData);
  277. $globals.Environment.comment="I provide an unified entry point to manipulate Amber packages, classes and methods.\x0a\x0aTypical use cases include IDEs, remote access and restricting browsing.";
  278. //>>excludeEnd("ide");
  279. $core.addMethod(
  280. $core.method({
  281. selector: "addInstVarNamed:to:",
  282. protocol: "compiling",
  283. //>>excludeStart("ide", pragmas.excludeIdeData);
  284. args: ["aString", "aClass"],
  285. source: "addInstVarNamed: aString to: aClass\x0a\x09| newSlots |\x0a\x09newSlots := aClass slots copyWith: aString.\x0a\x0a\x09aClass isMetaclass\x0a\x09\x09ifTrue: [ self classBuilder\x0a\x09\x09\x09class: aClass slots: newSlots ]\x0a\x09\x09ifFalse: [ self classBuilder\x0a\x09\x09\x09addSubclassOf: aClass superclass \x0a\x09\x09\x09named: aClass name \x0a\x09\x09\x09slots: newSlots\x0a\x09\x09\x09package: aClass package name ]",
  286. referencedClasses: [],
  287. //>>excludeEnd("ide");
  288. pragmas: [],
  289. messageSends: ["copyWith:", "slots", "ifTrue:ifFalse:", "isMetaclass", "class:slots:", "classBuilder", "addSubclassOf:named:slots:package:", "superclass", "name", "package"]
  290. }, function ($methodClass){ return function (aString,aClass){
  291. var self=this,$self=this;
  292. var newSlots;
  293. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  294. return $core.withContext(function($ctx1) {
  295. //>>excludeEnd("ctx");
  296. newSlots=$recv($recv(aClass)._slots())._copyWith_(aString);
  297. if($core.assert($recv(aClass)._isMetaclass())){
  298. $recv([$self._classBuilder()
  299. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  300. ,$ctx1.sendIdx["classBuilder"]=1
  301. //>>excludeEnd("ctx");
  302. ][0])._class_slots_(aClass,newSlots);
  303. } else {
  304. $recv($self._classBuilder())._addSubclassOf_named_slots_package_($recv(aClass)._superclass(),[$recv(aClass)._name()
  305. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  306. ,$ctx1.sendIdx["name"]=1
  307. //>>excludeEnd("ctx");
  308. ][0],newSlots,$recv($recv(aClass)._package())._name());
  309. }
  310. return self;
  311. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  312. }, function($ctx1) {$ctx1.fill(self,"addInstVarNamed:to:",{aString:aString,aClass:aClass,newSlots:newSlots})});
  313. //>>excludeEnd("ctx");
  314. }; }),
  315. $globals.Environment);
  316. $core.addMethod(
  317. $core.method({
  318. selector: "allSelectors",
  319. protocol: "accessing",
  320. //>>excludeStart("ide", pragmas.excludeIdeData);
  321. args: [],
  322. source: "allSelectors\x0a\x09^ Smalltalk core allSelectors",
  323. referencedClasses: ["Smalltalk"],
  324. //>>excludeEnd("ide");
  325. pragmas: [],
  326. messageSends: ["allSelectors", "core"]
  327. }, function ($methodClass){ return function (){
  328. var self=this,$self=this;
  329. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  330. return $core.withContext(function($ctx1) {
  331. //>>excludeEnd("ctx");
  332. return $recv($recv($globals.Smalltalk)._core())._allSelectors();
  333. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  334. }, function($ctx1) {$ctx1.fill(self,"allSelectors",{})});
  335. //>>excludeEnd("ctx");
  336. }; }),
  337. $globals.Environment);
  338. $core.addMethod(
  339. $core.method({
  340. selector: "availableClassNames",
  341. protocol: "accessing",
  342. //>>excludeStart("ide", pragmas.excludeIdeData);
  343. args: [],
  344. source: "availableClassNames\x0a\x09^ Smalltalk classes \x0a\x09\x09collect: [ :each | each name ]",
  345. referencedClasses: ["Smalltalk"],
  346. //>>excludeEnd("ide");
  347. pragmas: [],
  348. messageSends: ["collect:", "classes", "name"]
  349. }, function ($methodClass){ return function (){
  350. var self=this,$self=this;
  351. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  352. return $core.withContext(function($ctx1) {
  353. //>>excludeEnd("ctx");
  354. return $recv($recv($globals.Smalltalk)._classes())._collect_((function(each){
  355. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  356. return $core.withContext(function($ctx2) {
  357. //>>excludeEnd("ctx");
  358. return $recv(each)._name();
  359. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  360. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  361. //>>excludeEnd("ctx");
  362. }));
  363. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  364. }, function($ctx1) {$ctx1.fill(self,"availableClassNames",{})});
  365. //>>excludeEnd("ctx");
  366. }; }),
  367. $globals.Environment);
  368. $core.addMethod(
  369. $core.method({
  370. selector: "availablePackageNames",
  371. protocol: "accessing",
  372. //>>excludeStart("ide", pragmas.excludeIdeData);
  373. args: [],
  374. source: "availablePackageNames\x0a\x09^ Smalltalk packages \x0a\x09\x09collect: [ :each | each name ]",
  375. referencedClasses: ["Smalltalk"],
  376. //>>excludeEnd("ide");
  377. pragmas: [],
  378. messageSends: ["collect:", "packages", "name"]
  379. }, function ($methodClass){ return function (){
  380. var self=this,$self=this;
  381. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  382. return $core.withContext(function($ctx1) {
  383. //>>excludeEnd("ctx");
  384. return $recv($recv($globals.Smalltalk)._packages())._collect_((function(each){
  385. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  386. return $core.withContext(function($ctx2) {
  387. //>>excludeEnd("ctx");
  388. return $recv(each)._name();
  389. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  390. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  391. //>>excludeEnd("ctx");
  392. }));
  393. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  394. }, function($ctx1) {$ctx1.fill(self,"availablePackageNames",{})});
  395. //>>excludeEnd("ctx");
  396. }; }),
  397. $globals.Environment);
  398. $core.addMethod(
  399. $core.method({
  400. selector: "availableProtocolsFor:",
  401. protocol: "accessing",
  402. //>>excludeStart("ide", pragmas.excludeIdeData);
  403. args: ["aClass"],
  404. source: "availableProtocolsFor: aClass\x0a\x09| protocols |\x0a\x09\x0a\x09protocols := aClass protocols.\x0a\x09aClass superclass ifNotNil: [ protocols addAll: (self availableProtocolsFor: aClass superclass) ].\x0a\x09^ protocols asSet asArray sort",
  405. referencedClasses: [],
  406. //>>excludeEnd("ide");
  407. pragmas: [],
  408. messageSends: ["protocols", "ifNotNil:", "superclass", "addAll:", "availableProtocolsFor:", "sort", "asArray", "asSet"]
  409. }, function ($methodClass){ return function (aClass){
  410. var self=this,$self=this;
  411. var protocols;
  412. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  413. return $core.withContext(function($ctx1) {
  414. //>>excludeEnd("ctx");
  415. var $1;
  416. protocols=$recv(aClass)._protocols();
  417. $1=[$recv(aClass)._superclass()
  418. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  419. ,$ctx1.sendIdx["superclass"]=1
  420. //>>excludeEnd("ctx");
  421. ][0];
  422. if($1 != null && !$1.a$nil){
  423. $recv(protocols)._addAll_($self._availableProtocolsFor_($recv(aClass)._superclass()));
  424. }
  425. return $recv($recv($recv(protocols)._asSet())._asArray())._sort();
  426. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  427. }, function($ctx1) {$ctx1.fill(self,"availableProtocolsFor:",{aClass:aClass,protocols:protocols})});
  428. //>>excludeEnd("ctx");
  429. }; }),
  430. $globals.Environment);
  431. $core.addMethod(
  432. $core.method({
  433. selector: "classBuilder",
  434. protocol: "accessing",
  435. //>>excludeStart("ide", pragmas.excludeIdeData);
  436. args: [],
  437. source: "classBuilder\x0a\x09^ ClassBuilder new",
  438. referencedClasses: ["ClassBuilder"],
  439. //>>excludeEnd("ide");
  440. pragmas: [],
  441. messageSends: ["new"]
  442. }, function ($methodClass){ return function (){
  443. var self=this,$self=this;
  444. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  445. return $core.withContext(function($ctx1) {
  446. //>>excludeEnd("ctx");
  447. return $recv($globals.ClassBuilder)._new();
  448. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  449. }, function($ctx1) {$ctx1.fill(self,"classBuilder",{})});
  450. //>>excludeEnd("ctx");
  451. }; }),
  452. $globals.Environment);
  453. $core.addMethod(
  454. $core.method({
  455. selector: "classNamed:",
  456. protocol: "accessing",
  457. //>>excludeStart("ide", pragmas.excludeIdeData);
  458. args: ["aString"],
  459. source: "classNamed: aString\x0a\x09^ (Smalltalk globals at: aString asSymbol)\x0a\x09\x09ifNil: [ self error: 'Invalid class name' ]",
  460. referencedClasses: ["Smalltalk"],
  461. //>>excludeEnd("ide");
  462. pragmas: [],
  463. messageSends: ["ifNil:", "at:", "globals", "asSymbol", "error:"]
  464. }, function ($methodClass){ return function (aString){
  465. var self=this,$self=this;
  466. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  467. return $core.withContext(function($ctx1) {
  468. //>>excludeEnd("ctx");
  469. var $1;
  470. $1=$recv($recv($globals.Smalltalk)._globals())._at_($recv(aString)._asSymbol());
  471. if($1 == null || $1.a$nil){
  472. return $self._error_("Invalid class name");
  473. } else {
  474. return $1;
  475. }
  476. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  477. }, function($ctx1) {$ctx1.fill(self,"classNamed:",{aString:aString})});
  478. //>>excludeEnd("ctx");
  479. }; }),
  480. $globals.Environment);
  481. $core.addMethod(
  482. $core.method({
  483. selector: "classes",
  484. protocol: "accessing",
  485. //>>excludeStart("ide", pragmas.excludeIdeData);
  486. args: [],
  487. source: "classes\x0a\x09^ Smalltalk classes",
  488. referencedClasses: ["Smalltalk"],
  489. //>>excludeEnd("ide");
  490. pragmas: [],
  491. messageSends: ["classes"]
  492. }, function ($methodClass){ return function (){
  493. var self=this,$self=this;
  494. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  495. return $core.withContext(function($ctx1) {
  496. //>>excludeEnd("ctx");
  497. return $recv($globals.Smalltalk)._classes();
  498. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  499. }, function($ctx1) {$ctx1.fill(self,"classes",{})});
  500. //>>excludeEnd("ctx");
  501. }; }),
  502. $globals.Environment);
  503. $core.addMethod(
  504. $core.method({
  505. selector: "commitPackage:onSuccess:onError:",
  506. protocol: "actions",
  507. //>>excludeStart("ide", pragmas.excludeIdeData);
  508. args: ["aPackage", "aBlock", "anotherBlock"],
  509. source: "commitPackage: aPackage onSuccess: aBlock onError: anotherBlock\x0a\x09aPackage transport\x0a\x09\x09commitOnSuccess: aBlock\x0a\x09\x09onError: anotherBlock",
  510. referencedClasses: [],
  511. //>>excludeEnd("ide");
  512. pragmas: [],
  513. messageSends: ["commitOnSuccess:onError:", "transport"]
  514. }, function ($methodClass){ return function (aPackage,aBlock,anotherBlock){
  515. var self=this,$self=this;
  516. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  517. return $core.withContext(function($ctx1) {
  518. //>>excludeEnd("ctx");
  519. $recv($recv(aPackage)._transport())._commitOnSuccess_onError_(aBlock,anotherBlock);
  520. return self;
  521. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  522. }, function($ctx1) {$ctx1.fill(self,"commitPackage:onSuccess:onError:",{aPackage:aPackage,aBlock:aBlock,anotherBlock:anotherBlock})});
  523. //>>excludeEnd("ctx");
  524. }; }),
  525. $globals.Environment);
  526. $core.addMethod(
  527. $core.method({
  528. selector: "compileClassComment:for:",
  529. protocol: "compiling",
  530. //>>excludeStart("ide", pragmas.excludeIdeData);
  531. args: ["aString", "aClass"],
  532. source: "compileClassComment: aString for: aClass\x0a\x09aClass comment: aString",
  533. referencedClasses: [],
  534. //>>excludeEnd("ide");
  535. pragmas: [],
  536. messageSends: ["comment:"]
  537. }, function ($methodClass){ return function (aString,aClass){
  538. var self=this,$self=this;
  539. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  540. return $core.withContext(function($ctx1) {
  541. //>>excludeEnd("ctx");
  542. $recv(aClass)._comment_(aString);
  543. return self;
  544. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  545. }, function($ctx1) {$ctx1.fill(self,"compileClassComment:for:",{aString:aString,aClass:aClass})});
  546. //>>excludeEnd("ctx");
  547. }; }),
  548. $globals.Environment);
  549. $core.addMethod(
  550. $core.method({
  551. selector: "compileClassDefinition:",
  552. protocol: "compiling",
  553. //>>excludeStart("ide", pragmas.excludeIdeData);
  554. args: ["aString"],
  555. source: "compileClassDefinition: aString\x0a\x09[ self evaluate: aString for: DoIt new ]\x0a\x09\x09on: Error\x0a\x09\x09do: [ :error | Terminal alert: error messageText ]",
  556. referencedClasses: ["DoIt", "Error", "Terminal"],
  557. //>>excludeEnd("ide");
  558. pragmas: [],
  559. messageSends: ["on:do:", "evaluate:for:", "new", "alert:", "messageText"]
  560. }, function ($methodClass){ return function (aString){
  561. var self=this,$self=this;
  562. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  563. return $core.withContext(function($ctx1) {
  564. //>>excludeEnd("ctx");
  565. $recv((function(){
  566. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  567. return $core.withContext(function($ctx2) {
  568. //>>excludeEnd("ctx");
  569. return $self._evaluate_for_(aString,$recv($globals.DoIt)._new());
  570. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  571. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  572. //>>excludeEnd("ctx");
  573. }))._on_do_($globals.Error,(function(error){
  574. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  575. return $core.withContext(function($ctx2) {
  576. //>>excludeEnd("ctx");
  577. return $recv($globals.Terminal)._alert_($recv(error)._messageText());
  578. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  579. }, function($ctx2) {$ctx2.fillBlock({error:error},$ctx1,2)});
  580. //>>excludeEnd("ctx");
  581. }));
  582. return self;
  583. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  584. }, function($ctx1) {$ctx1.fill(self,"compileClassDefinition:",{aString:aString})});
  585. //>>excludeEnd("ctx");
  586. }; }),
  587. $globals.Environment);
  588. $core.addMethod(
  589. $core.method({
  590. selector: "compileMethod:for:protocol:",
  591. protocol: "compiling",
  592. //>>excludeStart("ide", pragmas.excludeIdeData);
  593. args: ["sourceCode", "class", "protocol"],
  594. source: "compileMethod: sourceCode for: class protocol: protocol\x0a\x09^ class\x0a\x09\x09compile: sourceCode\x0a\x09\x09protocol: protocol",
  595. referencedClasses: [],
  596. //>>excludeEnd("ide");
  597. pragmas: [],
  598. messageSends: ["compile:protocol:"]
  599. }, function ($methodClass){ return function (sourceCode,class_,protocol){
  600. var self=this,$self=this;
  601. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  602. return $core.withContext(function($ctx1) {
  603. //>>excludeEnd("ctx");
  604. return $recv(class_)._compile_protocol_(sourceCode,protocol);
  605. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  606. }, function($ctx1) {$ctx1.fill(self,"compileMethod:for:protocol:",{sourceCode:sourceCode,class_:class_,protocol:protocol})});
  607. //>>excludeEnd("ctx");
  608. }; }),
  609. $globals.Environment);
  610. $core.addMethod(
  611. $core.method({
  612. selector: "copyClass:to:",
  613. protocol: "actions",
  614. //>>excludeStart("ide", pragmas.excludeIdeData);
  615. args: ["aClass", "aClassName"],
  616. source: "copyClass: aClass to: aClassName\x0a\x09(Smalltalk globals at: aClassName)\x0a\x09\x09ifNotNil: [ self error: 'A class named ', aClassName, ' already exists' ].\x0a\x09\x09\x0a\x09ClassBuilder new copyClass: aClass named: aClassName",
  617. referencedClasses: ["Smalltalk", "ClassBuilder"],
  618. //>>excludeEnd("ide");
  619. pragmas: [],
  620. messageSends: ["ifNotNil:", "at:", "globals", "error:", ",", "copyClass:named:", "new"]
  621. }, function ($methodClass){ return function (aClass,aClassName){
  622. var self=this,$self=this;
  623. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  624. return $core.withContext(function($ctx1) {
  625. //>>excludeEnd("ctx");
  626. var $1;
  627. $1=$recv($recv($globals.Smalltalk)._globals())._at_(aClassName);
  628. if($1 != null && !$1.a$nil){
  629. $self._error_([$recv("A class named ".__comma(aClassName)).__comma(" already exists")
  630. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  631. ,$ctx1.sendIdx[","]=1
  632. //>>excludeEnd("ctx");
  633. ][0]);
  634. }
  635. $recv($recv($globals.ClassBuilder)._new())._copyClass_named_(aClass,aClassName);
  636. return self;
  637. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  638. }, function($ctx1) {$ctx1.fill(self,"copyClass:to:",{aClass:aClass,aClassName:aClassName})});
  639. //>>excludeEnd("ctx");
  640. }; }),
  641. $globals.Environment);
  642. $core.addMethod(
  643. $core.method({
  644. selector: "doItReceiver",
  645. protocol: "accessing",
  646. //>>excludeStart("ide", pragmas.excludeIdeData);
  647. args: [],
  648. source: "doItReceiver\x0a\x09^ DoIt new",
  649. referencedClasses: ["DoIt"],
  650. //>>excludeEnd("ide");
  651. pragmas: [],
  652. messageSends: ["new"]
  653. }, function ($methodClass){ return function (){
  654. var self=this,$self=this;
  655. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  656. return $core.withContext(function($ctx1) {
  657. //>>excludeEnd("ctx");
  658. return $recv($globals.DoIt)._new();
  659. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  660. }, function($ctx1) {$ctx1.fill(self,"doItReceiver",{})});
  661. //>>excludeEnd("ctx");
  662. }; }),
  663. $globals.Environment);
  664. $core.addMethod(
  665. $core.method({
  666. selector: "evaluate:for:",
  667. protocol: "evaluating",
  668. //>>excludeStart("ide", pragmas.excludeIdeData);
  669. args: ["aString", "anObject"],
  670. source: "evaluate: aString for: anObject\x0a\x09^ Evaluator evaluate: aString for: anObject",
  671. referencedClasses: ["Evaluator"],
  672. //>>excludeEnd("ide");
  673. pragmas: [],
  674. messageSends: ["evaluate:for:"]
  675. }, function ($methodClass){ return function (aString,anObject){
  676. var self=this,$self=this;
  677. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  678. return $core.withContext(function($ctx1) {
  679. //>>excludeEnd("ctx");
  680. return $recv($globals.Evaluator)._evaluate_for_(aString,anObject);
  681. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  682. }, function($ctx1) {$ctx1.fill(self,"evaluate:for:",{aString:aString,anObject:anObject})});
  683. //>>excludeEnd("ctx");
  684. }; }),
  685. $globals.Environment);
  686. $core.addMethod(
  687. $core.method({
  688. selector: "evaluate:on:do:",
  689. protocol: "error handling",
  690. //>>excludeStart("ide", pragmas.excludeIdeData);
  691. args: ["aBlock", "anErrorClass", "exceptionBlock"],
  692. source: "evaluate: aBlock on: anErrorClass do: exceptionBlock\x0a\x09\x22Evaluate a block and catch exceptions happening on the environment stack\x22\x0a\x09\x0a\x09^ aBlock on: (self classNamed: anErrorClass name) do: exceptionBlock",
  693. referencedClasses: [],
  694. //>>excludeEnd("ide");
  695. pragmas: [],
  696. messageSends: ["on:do:", "classNamed:", "name"]
  697. }, function ($methodClass){ return function (aBlock,anErrorClass,exceptionBlock){
  698. var self=this,$self=this;
  699. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  700. return $core.withContext(function($ctx1) {
  701. //>>excludeEnd("ctx");
  702. return $recv(aBlock)._on_do_($self._classNamed_($recv(anErrorClass)._name()),exceptionBlock);
  703. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  704. }, function($ctx1) {$ctx1.fill(self,"evaluate:on:do:",{aBlock:aBlock,anErrorClass:anErrorClass,exceptionBlock:exceptionBlock})});
  705. //>>excludeEnd("ctx");
  706. }; }),
  707. $globals.Environment);
  708. $core.addMethod(
  709. $core.method({
  710. selector: "inspect:",
  711. protocol: "actions",
  712. //>>excludeStart("ide", pragmas.excludeIdeData);
  713. args: ["anObject"],
  714. source: "inspect: anObject\x0a\x09Inspector inspect: anObject",
  715. referencedClasses: ["Inspector"],
  716. //>>excludeEnd("ide");
  717. pragmas: [],
  718. messageSends: ["inspect:"]
  719. }, function ($methodClass){ return function (anObject){
  720. var self=this,$self=this;
  721. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  722. return $core.withContext(function($ctx1) {
  723. //>>excludeEnd("ctx");
  724. $recv($globals.Inspector)._inspect_(anObject);
  725. return self;
  726. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  727. }, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject})});
  728. //>>excludeEnd("ctx");
  729. }; }),
  730. $globals.Environment);
  731. $core.addMethod(
  732. $core.method({
  733. selector: "moveClass:toPackage:",
  734. protocol: "actions",
  735. //>>excludeStart("ide", pragmas.excludeIdeData);
  736. args: ["aClass", "aPackageName"],
  737. source: "moveClass: aClass toPackage: aPackageName\x0a\x09| package |\x0a\x09\x0a\x09package := Package named: aPackageName.\x0a\x09package ifNil: [ self error: 'Invalid package name' ].\x0a\x09package == aClass package ifTrue: [ ^ self ].\x0a\x09\x0a\x09aClass package: package.\x0a\x09aClass recompile",
  738. referencedClasses: ["Package"],
  739. //>>excludeEnd("ide");
  740. pragmas: [],
  741. messageSends: ["named:", "ifNil:", "error:", "ifTrue:", "==", "package", "package:", "recompile"]
  742. }, function ($methodClass){ return function (aClass,aPackageName){
  743. var self=this,$self=this;
  744. var package_;
  745. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  746. return $core.withContext(function($ctx1) {
  747. //>>excludeEnd("ctx");
  748. var $1;
  749. package_=$recv($globals.Package)._named_(aPackageName);
  750. $1=package_;
  751. if($1 == null || $1.a$nil){
  752. $self._error_("Invalid package name");
  753. }
  754. if($core.assert($recv(package_).__eq_eq($recv(aClass)._package()))){
  755. return self;
  756. }
  757. $recv(aClass)._package_(package_);
  758. $recv(aClass)._recompile();
  759. return self;
  760. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  761. }, function($ctx1) {$ctx1.fill(self,"moveClass:toPackage:",{aClass:aClass,aPackageName:aPackageName,package_:package_})});
  762. //>>excludeEnd("ctx");
  763. }; }),
  764. $globals.Environment);
  765. $core.addMethod(
  766. $core.method({
  767. selector: "moveMethod:toClass:",
  768. protocol: "actions",
  769. //>>excludeStart("ide", pragmas.excludeIdeData);
  770. args: ["aMethod", "aClassName"],
  771. source: "moveMethod: aMethod toClass: aClassName\x0a\x09| destinationClass |\x0a\x09\x0a\x09destinationClass := self classNamed: aClassName.\x0a\x09destinationClass == aMethod origin ifTrue: [ ^ self ].\x0a\x09\x0a\x09aMethod origin isMetaclass ifTrue: [ \x0a\x09\x09destinationClass := destinationClass theMetaClass ].\x0a\x09\x0a\x09destinationClass \x0a\x09\x09compile: aMethod source\x0a\x09\x09protocol: aMethod protocol.\x0a\x09aMethod origin \x0a\x09\x09removeCompiledMethod: aMethod",
  772. referencedClasses: [],
  773. //>>excludeEnd("ide");
  774. pragmas: [],
  775. messageSends: ["classNamed:", "ifTrue:", "==", "origin", "isMetaclass", "theMetaClass", "compile:protocol:", "source", "protocol", "removeCompiledMethod:"]
  776. }, function ($methodClass){ return function (aMethod,aClassName){
  777. var self=this,$self=this;
  778. var destinationClass;
  779. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  780. return $core.withContext(function($ctx1) {
  781. //>>excludeEnd("ctx");
  782. destinationClass=$self._classNamed_(aClassName);
  783. if($core.assert($recv(destinationClass).__eq_eq([$recv(aMethod)._origin()
  784. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  785. ,$ctx1.sendIdx["origin"]=1
  786. //>>excludeEnd("ctx");
  787. ][0]))){
  788. return self;
  789. }
  790. if($core.assert($recv([$recv(aMethod)._origin()
  791. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  792. ,$ctx1.sendIdx["origin"]=2
  793. //>>excludeEnd("ctx");
  794. ][0])._isMetaclass())){
  795. destinationClass=$recv(destinationClass)._theMetaClass();
  796. destinationClass;
  797. }
  798. $recv(destinationClass)._compile_protocol_($recv(aMethod)._source(),$recv(aMethod)._protocol());
  799. $recv($recv(aMethod)._origin())._removeCompiledMethod_(aMethod);
  800. return self;
  801. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  802. }, function($ctx1) {$ctx1.fill(self,"moveMethod:toClass:",{aMethod:aMethod,aClassName:aClassName,destinationClass:destinationClass})});
  803. //>>excludeEnd("ctx");
  804. }; }),
  805. $globals.Environment);
  806. $core.addMethod(
  807. $core.method({
  808. selector: "moveMethod:toProtocol:",
  809. protocol: "actions",
  810. //>>excludeStart("ide", pragmas.excludeIdeData);
  811. args: ["aMethod", "aProtocol"],
  812. source: "moveMethod: aMethod toProtocol: aProtocol\x0a\x09aMethod protocol: aProtocol.\x0a\x0a\x09aMethod origin\x0a\x09\x09compile: aMethod source\x0a\x09\x09protocol: aMethod protocol",
  813. referencedClasses: [],
  814. //>>excludeEnd("ide");
  815. pragmas: [],
  816. messageSends: ["protocol:", "compile:protocol:", "origin", "source", "protocol"]
  817. }, function ($methodClass){ return function (aMethod,aProtocol){
  818. var self=this,$self=this;
  819. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  820. return $core.withContext(function($ctx1) {
  821. //>>excludeEnd("ctx");
  822. $recv(aMethod)._protocol_(aProtocol);
  823. $recv($recv(aMethod)._origin())._compile_protocol_($recv(aMethod)._source(),$recv(aMethod)._protocol());
  824. return self;
  825. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  826. }, function($ctx1) {$ctx1.fill(self,"moveMethod:toProtocol:",{aMethod:aMethod,aProtocol:aProtocol})});
  827. //>>excludeEnd("ctx");
  828. }; }),
  829. $globals.Environment);
  830. $core.addMethod(
  831. $core.method({
  832. selector: "packages",
  833. protocol: "accessing",
  834. //>>excludeStart("ide", pragmas.excludeIdeData);
  835. args: [],
  836. source: "packages\x0a\x09^ Smalltalk packages",
  837. referencedClasses: ["Smalltalk"],
  838. //>>excludeEnd("ide");
  839. pragmas: [],
  840. messageSends: ["packages"]
  841. }, function ($methodClass){ return function (){
  842. var self=this,$self=this;
  843. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  844. return $core.withContext(function($ctx1) {
  845. //>>excludeEnd("ctx");
  846. return $recv($globals.Smalltalk)._packages();
  847. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  848. }, function($ctx1) {$ctx1.fill(self,"packages",{})});
  849. //>>excludeEnd("ctx");
  850. }; }),
  851. $globals.Environment);
  852. $core.addMethod(
  853. $core.method({
  854. selector: "registerErrorHandler:",
  855. protocol: "services",
  856. //>>excludeStart("ide", pragmas.excludeIdeData);
  857. args: ["anErrorHandler"],
  858. source: "registerErrorHandler: anErrorHandler\x0a\x09ErrorHandler register: anErrorHandler",
  859. referencedClasses: ["ErrorHandler"],
  860. //>>excludeEnd("ide");
  861. pragmas: [],
  862. messageSends: ["register:"]
  863. }, function ($methodClass){ return function (anErrorHandler){
  864. var self=this,$self=this;
  865. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  866. return $core.withContext(function($ctx1) {
  867. //>>excludeEnd("ctx");
  868. $recv($globals.ErrorHandler)._register_(anErrorHandler);
  869. return self;
  870. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  871. }, function($ctx1) {$ctx1.fill(self,"registerErrorHandler:",{anErrorHandler:anErrorHandler})});
  872. //>>excludeEnd("ctx");
  873. }; }),
  874. $globals.Environment);
  875. $core.addMethod(
  876. $core.method({
  877. selector: "registerFinder:",
  878. protocol: "services",
  879. //>>excludeStart("ide", pragmas.excludeIdeData);
  880. args: ["aFinder"],
  881. source: "registerFinder: aFinder\x0a\x09Finder register: aFinder",
  882. referencedClasses: ["Finder"],
  883. //>>excludeEnd("ide");
  884. pragmas: [],
  885. messageSends: ["register:"]
  886. }, function ($methodClass){ return function (aFinder){
  887. var self=this,$self=this;
  888. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  889. return $core.withContext(function($ctx1) {
  890. //>>excludeEnd("ctx");
  891. $recv($globals.Finder)._register_(aFinder);
  892. return self;
  893. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  894. }, function($ctx1) {$ctx1.fill(self,"registerFinder:",{aFinder:aFinder})});
  895. //>>excludeEnd("ctx");
  896. }; }),
  897. $globals.Environment);
  898. $core.addMethod(
  899. $core.method({
  900. selector: "registerInspector:",
  901. protocol: "services",
  902. //>>excludeStart("ide", pragmas.excludeIdeData);
  903. args: ["anInspector"],
  904. source: "registerInspector: anInspector\x0a\x09Inspector register: anInspector",
  905. referencedClasses: ["Inspector"],
  906. //>>excludeEnd("ide");
  907. pragmas: [],
  908. messageSends: ["register:"]
  909. }, function ($methodClass){ return function (anInspector){
  910. var self=this,$self=this;
  911. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  912. return $core.withContext(function($ctx1) {
  913. //>>excludeEnd("ctx");
  914. $recv($globals.Inspector)._register_(anInspector);
  915. return self;
  916. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  917. }, function($ctx1) {$ctx1.fill(self,"registerInspector:",{anInspector:anInspector})});
  918. //>>excludeEnd("ctx");
  919. }; }),
  920. $globals.Environment);
  921. $core.addMethod(
  922. $core.method({
  923. selector: "registerProgressHandler:",
  924. protocol: "services",
  925. //>>excludeStart("ide", pragmas.excludeIdeData);
  926. args: ["aProgressHandler"],
  927. source: "registerProgressHandler: aProgressHandler\x0a\x09ProgressHandler register: aProgressHandler",
  928. referencedClasses: ["ProgressHandler"],
  929. //>>excludeEnd("ide");
  930. pragmas: [],
  931. messageSends: ["register:"]
  932. }, function ($methodClass){ return function (aProgressHandler){
  933. var self=this,$self=this;
  934. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  935. return $core.withContext(function($ctx1) {
  936. //>>excludeEnd("ctx");
  937. $recv($globals.ProgressHandler)._register_(aProgressHandler);
  938. return self;
  939. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  940. }, function($ctx1) {$ctx1.fill(self,"registerProgressHandler:",{aProgressHandler:aProgressHandler})});
  941. //>>excludeEnd("ctx");
  942. }; }),
  943. $globals.Environment);
  944. $core.addMethod(
  945. $core.method({
  946. selector: "registerTranscript:",
  947. protocol: "services",
  948. //>>excludeStart("ide", pragmas.excludeIdeData);
  949. args: ["aTranscript"],
  950. source: "registerTranscript: aTranscript\x0a\x09Transcript register: aTranscript",
  951. referencedClasses: ["Transcript"],
  952. //>>excludeEnd("ide");
  953. pragmas: [],
  954. messageSends: ["register:"]
  955. }, function ($methodClass){ return function (aTranscript){
  956. var self=this,$self=this;
  957. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  958. return $core.withContext(function($ctx1) {
  959. //>>excludeEnd("ctx");
  960. $recv($globals.Transcript)._register_(aTranscript);
  961. return self;
  962. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  963. }, function($ctx1) {$ctx1.fill(self,"registerTranscript:",{aTranscript:aTranscript})});
  964. //>>excludeEnd("ctx");
  965. }; }),
  966. $globals.Environment);
  967. $core.addMethod(
  968. $core.method({
  969. selector: "removeClass:",
  970. protocol: "actions",
  971. //>>excludeStart("ide", pragmas.excludeIdeData);
  972. args: ["aClass"],
  973. source: "removeClass: aClass\x0a\x09Smalltalk removeClass: aClass",
  974. referencedClasses: ["Smalltalk"],
  975. //>>excludeEnd("ide");
  976. pragmas: [],
  977. messageSends: ["removeClass:"]
  978. }, function ($methodClass){ return function (aClass){
  979. var self=this,$self=this;
  980. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  981. return $core.withContext(function($ctx1) {
  982. //>>excludeEnd("ctx");
  983. $recv($globals.Smalltalk)._removeClass_(aClass);
  984. return self;
  985. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  986. }, function($ctx1) {$ctx1.fill(self,"removeClass:",{aClass:aClass})});
  987. //>>excludeEnd("ctx");
  988. }; }),
  989. $globals.Environment);
  990. $core.addMethod(
  991. $core.method({
  992. selector: "removeMethod:",
  993. protocol: "actions",
  994. //>>excludeStart("ide", pragmas.excludeIdeData);
  995. args: ["aMethod"],
  996. source: "removeMethod: aMethod\x0a\x09aMethod origin removeCompiledMethod: aMethod",
  997. referencedClasses: [],
  998. //>>excludeEnd("ide");
  999. pragmas: [],
  1000. messageSends: ["removeCompiledMethod:", "origin"]
  1001. }, function ($methodClass){ return function (aMethod){
  1002. var self=this,$self=this;
  1003. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1004. return $core.withContext(function($ctx1) {
  1005. //>>excludeEnd("ctx");
  1006. $recv($recv(aMethod)._origin())._removeCompiledMethod_(aMethod);
  1007. return self;
  1008. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1009. }, function($ctx1) {$ctx1.fill(self,"removeMethod:",{aMethod:aMethod})});
  1010. //>>excludeEnd("ctx");
  1011. }; }),
  1012. $globals.Environment);
  1013. $core.addMethod(
  1014. $core.method({
  1015. selector: "removeProtocol:from:",
  1016. protocol: "actions",
  1017. //>>excludeStart("ide", pragmas.excludeIdeData);
  1018. args: ["aString", "aClass"],
  1019. source: "removeProtocol: aString from: aClass\x0a\x09(aClass methodsInProtocol: aString)\x0a\x09\x09do: [ :each | aClass removeCompiledMethod: each ]",
  1020. referencedClasses: [],
  1021. //>>excludeEnd("ide");
  1022. pragmas: [],
  1023. messageSends: ["do:", "methodsInProtocol:", "removeCompiledMethod:"]
  1024. }, function ($methodClass){ return function (aString,aClass){
  1025. var self=this,$self=this;
  1026. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1027. return $core.withContext(function($ctx1) {
  1028. //>>excludeEnd("ctx");
  1029. $recv($recv(aClass)._methodsInProtocol_(aString))._do_((function(each){
  1030. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1031. return $core.withContext(function($ctx2) {
  1032. //>>excludeEnd("ctx");
  1033. return $recv(aClass)._removeCompiledMethod_(each);
  1034. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1035. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  1036. //>>excludeEnd("ctx");
  1037. }));
  1038. return self;
  1039. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1040. }, function($ctx1) {$ctx1.fill(self,"removeProtocol:from:",{aString:aString,aClass:aClass})});
  1041. //>>excludeEnd("ctx");
  1042. }; }),
  1043. $globals.Environment);
  1044. $core.addMethod(
  1045. $core.method({
  1046. selector: "renameClass:to:",
  1047. protocol: "actions",
  1048. //>>excludeStart("ide", pragmas.excludeIdeData);
  1049. args: ["aClass", "aClassName"],
  1050. source: "renameClass: aClass to: aClassName\x0a\x09(Smalltalk globals at: aClassName)\x0a\x09\x09ifNotNil: [ self error: 'A class named ', aClassName, ' already exists' ].\x0a\x09\x09\x0a\x09ClassBuilder new renameClass: aClass to: aClassName",
  1051. referencedClasses: ["Smalltalk", "ClassBuilder"],
  1052. //>>excludeEnd("ide");
  1053. pragmas: [],
  1054. messageSends: ["ifNotNil:", "at:", "globals", "error:", ",", "renameClass:to:", "new"]
  1055. }, function ($methodClass){ return function (aClass,aClassName){
  1056. var self=this,$self=this;
  1057. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1058. return $core.withContext(function($ctx1) {
  1059. //>>excludeEnd("ctx");
  1060. var $1;
  1061. $1=$recv($recv($globals.Smalltalk)._globals())._at_(aClassName);
  1062. if($1 != null && !$1.a$nil){
  1063. $self._error_([$recv("A class named ".__comma(aClassName)).__comma(" already exists")
  1064. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1065. ,$ctx1.sendIdx[","]=1
  1066. //>>excludeEnd("ctx");
  1067. ][0]);
  1068. }
  1069. $recv($recv($globals.ClassBuilder)._new())._renameClass_to_(aClass,aClassName);
  1070. return self;
  1071. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1072. }, function($ctx1) {$ctx1.fill(self,"renameClass:to:",{aClass:aClass,aClassName:aClassName})});
  1073. //>>excludeEnd("ctx");
  1074. }; }),
  1075. $globals.Environment);
  1076. $core.addMethod(
  1077. $core.method({
  1078. selector: "renamePackage:to:",
  1079. protocol: "actions",
  1080. //>>excludeStart("ide", pragmas.excludeIdeData);
  1081. args: ["aPackageName", "aNewPackageName"],
  1082. source: "renamePackage: aPackageName to: aNewPackageName\x0a Smalltalk renamePackage: aPackageName to: aNewPackageName",
  1083. referencedClasses: ["Smalltalk"],
  1084. //>>excludeEnd("ide");
  1085. pragmas: [],
  1086. messageSends: ["renamePackage:to:"]
  1087. }, function ($methodClass){ return function (aPackageName,aNewPackageName){
  1088. var self=this,$self=this;
  1089. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1090. return $core.withContext(function($ctx1) {
  1091. //>>excludeEnd("ctx");
  1092. $recv($globals.Smalltalk)._renamePackage_to_(aPackageName,aNewPackageName);
  1093. return self;
  1094. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1095. }, function($ctx1) {$ctx1.fill(self,"renamePackage:to:",{aPackageName:aPackageName,aNewPackageName:aNewPackageName})});
  1096. //>>excludeEnd("ctx");
  1097. }; }),
  1098. $globals.Environment);
  1099. $core.addMethod(
  1100. $core.method({
  1101. selector: "renameProtocol:to:in:",
  1102. protocol: "actions",
  1103. //>>excludeStart("ide", pragmas.excludeIdeData);
  1104. args: ["aString", "anotherString", "aClass"],
  1105. source: "renameProtocol: aString to: anotherString in: aClass\x0a\x09(aClass methodsInProtocol: aString)\x0a\x09\x09do: [ :each | each protocol: anotherString ]",
  1106. referencedClasses: [],
  1107. //>>excludeEnd("ide");
  1108. pragmas: [],
  1109. messageSends: ["do:", "methodsInProtocol:", "protocol:"]
  1110. }, function ($methodClass){ return function (aString,anotherString,aClass){
  1111. var self=this,$self=this;
  1112. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1113. return $core.withContext(function($ctx1) {
  1114. //>>excludeEnd("ctx");
  1115. $recv($recv(aClass)._methodsInProtocol_(aString))._do_((function(each){
  1116. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1117. return $core.withContext(function($ctx2) {
  1118. //>>excludeEnd("ctx");
  1119. return $recv(each)._protocol_(anotherString);
  1120. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1121. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  1122. //>>excludeEnd("ctx");
  1123. }));
  1124. return self;
  1125. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1126. }, function($ctx1) {$ctx1.fill(self,"renameProtocol:to:in:",{aString:aString,anotherString:anotherString,aClass:aClass})});
  1127. //>>excludeEnd("ctx");
  1128. }; }),
  1129. $globals.Environment);
  1130. $core.addMethod(
  1131. $core.method({
  1132. selector: "setClassCommentOf:to:",
  1133. protocol: "actions",
  1134. //>>excludeStart("ide", pragmas.excludeIdeData);
  1135. args: ["aClass", "aString"],
  1136. source: "setClassCommentOf: aClass to: aString\x0a\x09aClass comment: aString",
  1137. referencedClasses: [],
  1138. //>>excludeEnd("ide");
  1139. pragmas: [],
  1140. messageSends: ["comment:"]
  1141. }, function ($methodClass){ return function (aClass,aString){
  1142. var self=this,$self=this;
  1143. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1144. return $core.withContext(function($ctx1) {
  1145. //>>excludeEnd("ctx");
  1146. $recv(aClass)._comment_(aString);
  1147. return self;
  1148. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1149. }, function($ctx1) {$ctx1.fill(self,"setClassCommentOf:to:",{aClass:aClass,aString:aString})});
  1150. //>>excludeEnd("ctx");
  1151. }; }),
  1152. $globals.Environment);
  1153. $core.addMethod(
  1154. $core.method({
  1155. selector: "systemAnnouncer",
  1156. protocol: "accessing",
  1157. //>>excludeStart("ide", pragmas.excludeIdeData);
  1158. args: [],
  1159. source: "systemAnnouncer\x0a\x09^ (Smalltalk globals at: #SystemAnnouncer) current",
  1160. referencedClasses: ["Smalltalk"],
  1161. //>>excludeEnd("ide");
  1162. pragmas: [],
  1163. messageSends: ["current", "at:", "globals"]
  1164. }, function ($methodClass){ return function (){
  1165. var self=this,$self=this;
  1166. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1167. return $core.withContext(function($ctx1) {
  1168. //>>excludeEnd("ctx");
  1169. return $recv($recv($recv($globals.Smalltalk)._globals())._at_("SystemAnnouncer"))._current();
  1170. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1171. }, function($ctx1) {$ctx1.fill(self,"systemAnnouncer",{})});
  1172. //>>excludeEnd("ctx");
  1173. }; }),
  1174. $globals.Environment);
  1175. $core.addClass("NullProgressHandler", $globals.Object, "Platform-Services");
  1176. //>>excludeStart("ide", pragmas.excludeIdeData);
  1177. $globals.NullProgressHandler.comment="I am the default progress handler. I do not display any progress, and simply iterate over the collection.";
  1178. //>>excludeEnd("ide");
  1179. $core.addMethod(
  1180. $core.method({
  1181. selector: "do:on:displaying:",
  1182. protocol: "progress handling",
  1183. //>>excludeStart("ide", pragmas.excludeIdeData);
  1184. args: ["aBlock", "aCollection", "aString"],
  1185. source: "do: aBlock on: aCollection displaying: aString\x0a\x09aCollection do: aBlock",
  1186. referencedClasses: [],
  1187. //>>excludeEnd("ide");
  1188. pragmas: [],
  1189. messageSends: ["do:"]
  1190. }, function ($methodClass){ return function (aBlock,aCollection,aString){
  1191. var self=this,$self=this;
  1192. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1193. return $core.withContext(function($ctx1) {
  1194. //>>excludeEnd("ctx");
  1195. $recv(aCollection)._do_(aBlock);
  1196. return self;
  1197. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1198. }, function($ctx1) {$ctx1.fill(self,"do:on:displaying:",{aBlock:aBlock,aCollection:aCollection,aString:aString})});
  1199. //>>excludeEnd("ctx");
  1200. }; }),
  1201. $globals.NullProgressHandler);
  1202. $core.setSlots($globals.NullProgressHandler.a$cls, ["current"]);
  1203. $core.addMethod(
  1204. $core.method({
  1205. selector: "initialize",
  1206. protocol: "initialization",
  1207. //>>excludeStart("ide", pragmas.excludeIdeData);
  1208. args: [],
  1209. source: "initialize\x0a\x09ProgressHandler registerIfNone: self new",
  1210. referencedClasses: ["ProgressHandler"],
  1211. //>>excludeEnd("ide");
  1212. pragmas: [],
  1213. messageSends: ["registerIfNone:", "new"]
  1214. }, function ($methodClass){ return function (){
  1215. var self=this,$self=this;
  1216. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1217. return $core.withContext(function($ctx1) {
  1218. //>>excludeEnd("ctx");
  1219. $recv($globals.ProgressHandler)._registerIfNone_($self._new());
  1220. return self;
  1221. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1222. }, function($ctx1) {$ctx1.fill(self,"initialize",{})});
  1223. //>>excludeEnd("ctx");
  1224. }; }),
  1225. $globals.NullProgressHandler.a$cls);
  1226. $core.addClass("Service", $globals.Object, "Platform-Services");
  1227. //>>excludeStart("ide", pragmas.excludeIdeData);
  1228. $globals.Service.comment="I implement the basic behavior for class registration to a service.\x0a\x0aSee the `Transcript` class for a concrete service.\x0a\x0a## API\x0a\x0aUse class-side methods `#register:` and `#registerIfNone:` to register classes to a specific service.";
  1229. //>>excludeEnd("ide");
  1230. $core.setSlots($globals.Service.a$cls, ["current"]);
  1231. $core.addMethod(
  1232. $core.method({
  1233. selector: "current",
  1234. protocol: "accessing",
  1235. //>>excludeStart("ide", pragmas.excludeIdeData);
  1236. args: [],
  1237. source: "current\x0a\x09^ current",
  1238. referencedClasses: [],
  1239. //>>excludeEnd("ide");
  1240. pragmas: [],
  1241. messageSends: []
  1242. }, function ($methodClass){ return function (){
  1243. var self=this,$self=this;
  1244. return $self.current;
  1245. }; }),
  1246. $globals.Service.a$cls);
  1247. $core.addMethod(
  1248. $core.method({
  1249. selector: "new",
  1250. protocol: "instance creation",
  1251. //>>excludeStart("ide", pragmas.excludeIdeData);
  1252. args: [],
  1253. source: "new\x0a\x09self shouldNotImplement",
  1254. referencedClasses: [],
  1255. //>>excludeEnd("ide");
  1256. pragmas: [],
  1257. messageSends: ["shouldNotImplement"]
  1258. }, function ($methodClass){ return function (){
  1259. var self=this,$self=this;
  1260. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1261. return $core.withContext(function($ctx1) {
  1262. //>>excludeEnd("ctx");
  1263. $self._shouldNotImplement();
  1264. return self;
  1265. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1266. }, function($ctx1) {$ctx1.fill(self,"new",{})});
  1267. //>>excludeEnd("ctx");
  1268. }; }),
  1269. $globals.Service.a$cls);
  1270. $core.addMethod(
  1271. $core.method({
  1272. selector: "register:",
  1273. protocol: "registration",
  1274. //>>excludeStart("ide", pragmas.excludeIdeData);
  1275. args: ["anObject"],
  1276. source: "register: anObject\x0a\x09current := anObject",
  1277. referencedClasses: [],
  1278. //>>excludeEnd("ide");
  1279. pragmas: [],
  1280. messageSends: []
  1281. }, function ($methodClass){ return function (anObject){
  1282. var self=this,$self=this;
  1283. $self.current=anObject;
  1284. return self;
  1285. }; }),
  1286. $globals.Service.a$cls);
  1287. $core.addMethod(
  1288. $core.method({
  1289. selector: "registerIfNone:",
  1290. protocol: "registration",
  1291. //>>excludeStart("ide", pragmas.excludeIdeData);
  1292. args: ["anObject"],
  1293. source: "registerIfNone: anObject\x0a\x09self current ifNil: [ self register: anObject ]",
  1294. referencedClasses: [],
  1295. //>>excludeEnd("ide");
  1296. pragmas: [],
  1297. messageSends: ["ifNil:", "current", "register:"]
  1298. }, function ($methodClass){ return function (anObject){
  1299. var self=this,$self=this;
  1300. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1301. return $core.withContext(function($ctx1) {
  1302. //>>excludeEnd("ctx");
  1303. var $1;
  1304. $1=$self._current();
  1305. if($1 == null || $1.a$nil){
  1306. $self._register_(anObject);
  1307. }
  1308. return self;
  1309. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1310. }, function($ctx1) {$ctx1.fill(self,"registerIfNone:",{anObject:anObject})});
  1311. //>>excludeEnd("ctx");
  1312. }; }),
  1313. $globals.Service.a$cls);
  1314. $core.addClass("ErrorHandler", $globals.Service, "Platform-Services");
  1315. //>>excludeStart("ide", pragmas.excludeIdeData);
  1316. $globals.ErrorHandler.comment="I am the service used to handle Smalltalk errors.\x0aSee `boot.js` `handleError()` function.\x0a\x0aRegistered service instances must implement `#handleError:` to perform an action on the thrown exception.";
  1317. //>>excludeEnd("ide");
  1318. $core.addMethod(
  1319. $core.method({
  1320. selector: "handleError:",
  1321. protocol: "error handling",
  1322. //>>excludeStart("ide", pragmas.excludeIdeData);
  1323. args: ["anError"],
  1324. source: "handleError: anError\x0a\x09| smalltalkError |\x0a\x09smalltalkError := Smalltalk asSmalltalkException: anError.\x0a\x09smalltalkError context ifNil: [ smalltalkError context: thisContext ].\x0a\x09self handleUnhandledError: smalltalkError",
  1325. referencedClasses: ["Smalltalk"],
  1326. //>>excludeEnd("ide");
  1327. pragmas: [],
  1328. messageSends: ["asSmalltalkException:", "ifNil:", "context", "context:", "handleUnhandledError:"]
  1329. }, function ($methodClass){ return function (anError){
  1330. var self=this,$self=this;
  1331. var smalltalkError;
  1332. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1333. return $core.withContext(function($ctx1) {
  1334. //>>excludeEnd("ctx");
  1335. var $1;
  1336. smalltalkError=$recv($globals.Smalltalk)._asSmalltalkException_(anError);
  1337. $1=$recv(smalltalkError)._context();
  1338. if($1 == null || $1.a$nil){
  1339. $recv(smalltalkError)._context_($core.getThisContext());
  1340. }
  1341. $self._handleUnhandledError_(smalltalkError);
  1342. return self;
  1343. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1344. }, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError,smalltalkError:smalltalkError})});
  1345. //>>excludeEnd("ctx");
  1346. }; }),
  1347. $globals.ErrorHandler.a$cls);
  1348. $core.addMethod(
  1349. $core.method({
  1350. selector: "handleUnhandledError:",
  1351. protocol: "error handling",
  1352. //>>excludeStart("ide", pragmas.excludeIdeData);
  1353. args: ["anError"],
  1354. source: "handleUnhandledError: anError\x0a\x09anError wasHandled ifFalse: [\x0a\x09\x09self current handleError: anError.\x0a\x09\x09anError beHandled ]",
  1355. referencedClasses: [],
  1356. //>>excludeEnd("ide");
  1357. pragmas: [],
  1358. messageSends: ["ifFalse:", "wasHandled", "handleError:", "current", "beHandled"]
  1359. }, function ($methodClass){ return function (anError){
  1360. var self=this,$self=this;
  1361. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1362. return $core.withContext(function($ctx1) {
  1363. //>>excludeEnd("ctx");
  1364. if(!$core.assert($recv(anError)._wasHandled())){
  1365. $recv($self._current())._handleError_(anError);
  1366. $recv(anError)._beHandled();
  1367. }
  1368. return self;
  1369. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1370. }, function($ctx1) {$ctx1.fill(self,"handleUnhandledError:",{anError:anError})});
  1371. //>>excludeEnd("ctx");
  1372. }; }),
  1373. $globals.ErrorHandler.a$cls);
  1374. $core.addClass("Finder", $globals.Service, "Platform-Services");
  1375. //>>excludeStart("ide", pragmas.excludeIdeData);
  1376. $globals.Finder.comment="I am the service responsible for finding classes/methods.\x0a__There is no default finder.__\x0a\x0a## API\x0a\x0aUse `#browse` on an object to find it.";
  1377. //>>excludeEnd("ide");
  1378. $core.addMethod(
  1379. $core.method({
  1380. selector: "findClass:",
  1381. protocol: "finding",
  1382. //>>excludeStart("ide", pragmas.excludeIdeData);
  1383. args: ["aClass"],
  1384. source: "findClass: aClass\x0a\x09^ self current findClass: aClass",
  1385. referencedClasses: [],
  1386. //>>excludeEnd("ide");
  1387. pragmas: [],
  1388. messageSends: ["findClass:", "current"]
  1389. }, function ($methodClass){ return function (aClass){
  1390. var self=this,$self=this;
  1391. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1392. return $core.withContext(function($ctx1) {
  1393. //>>excludeEnd("ctx");
  1394. return $recv($self._current())._findClass_(aClass);
  1395. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1396. }, function($ctx1) {$ctx1.fill(self,"findClass:",{aClass:aClass})});
  1397. //>>excludeEnd("ctx");
  1398. }; }),
  1399. $globals.Finder.a$cls);
  1400. $core.addMethod(
  1401. $core.method({
  1402. selector: "findMethod:",
  1403. protocol: "finding",
  1404. //>>excludeStart("ide", pragmas.excludeIdeData);
  1405. args: ["aCompiledMethod"],
  1406. source: "findMethod: aCompiledMethod\x0a\x09^ self current findMethod: aCompiledMethod",
  1407. referencedClasses: [],
  1408. //>>excludeEnd("ide");
  1409. pragmas: [],
  1410. messageSends: ["findMethod:", "current"]
  1411. }, function ($methodClass){ return function (aCompiledMethod){
  1412. var self=this,$self=this;
  1413. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1414. return $core.withContext(function($ctx1) {
  1415. //>>excludeEnd("ctx");
  1416. return $recv($self._current())._findMethod_(aCompiledMethod);
  1417. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1418. }, function($ctx1) {$ctx1.fill(self,"findMethod:",{aCompiledMethod:aCompiledMethod})});
  1419. //>>excludeEnd("ctx");
  1420. }; }),
  1421. $globals.Finder.a$cls);
  1422. $core.addMethod(
  1423. $core.method({
  1424. selector: "findString:",
  1425. protocol: "finding",
  1426. //>>excludeStart("ide", pragmas.excludeIdeData);
  1427. args: ["aString"],
  1428. source: "findString: aString\x0a\x09^ self current findString: aString",
  1429. referencedClasses: [],
  1430. //>>excludeEnd("ide");
  1431. pragmas: [],
  1432. messageSends: ["findString:", "current"]
  1433. }, function ($methodClass){ return function (aString){
  1434. var self=this,$self=this;
  1435. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1436. return $core.withContext(function($ctx1) {
  1437. //>>excludeEnd("ctx");
  1438. return $recv($self._current())._findString_(aString);
  1439. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1440. }, function($ctx1) {$ctx1.fill(self,"findString:",{aString:aString})});
  1441. //>>excludeEnd("ctx");
  1442. }; }),
  1443. $globals.Finder.a$cls);
  1444. $core.addClass("Inspector", $globals.Service, "Platform-Services");
  1445. //>>excludeStart("ide", pragmas.excludeIdeData);
  1446. $globals.Inspector.comment="I am the service responsible for inspecting objects.\x0a\x0aThe default inspector object is the transcript.";
  1447. //>>excludeEnd("ide");
  1448. $core.addMethod(
  1449. $core.method({
  1450. selector: "inspect:",
  1451. protocol: "inspecting",
  1452. //>>excludeStart("ide", pragmas.excludeIdeData);
  1453. args: ["anObject"],
  1454. source: "inspect: anObject\x0a\x09^ self current inspect: anObject",
  1455. referencedClasses: [],
  1456. //>>excludeEnd("ide");
  1457. pragmas: [],
  1458. messageSends: ["inspect:", "current"]
  1459. }, function ($methodClass){ return function (anObject){
  1460. var self=this,$self=this;
  1461. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1462. return $core.withContext(function($ctx1) {
  1463. //>>excludeEnd("ctx");
  1464. return $recv($self._current())._inspect_(anObject);
  1465. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1466. }, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject})});
  1467. //>>excludeEnd("ctx");
  1468. }; }),
  1469. $globals.Inspector.a$cls);
  1470. $core.addClass("Platform", $globals.Service, "Platform-Services");
  1471. //>>excludeStart("ide", pragmas.excludeIdeData);
  1472. $globals.Platform.comment="I am bridge to JS environment.\x0a\x0a## API\x0a\x0a Platform globals. \x22JS global object\x22\x0a Platform newXHR \x22new XMLHttpRequest() or its shim\x22";
  1473. //>>excludeEnd("ide");
  1474. $core.addMethod(
  1475. $core.method({
  1476. selector: "fetch:",
  1477. protocol: "accessing",
  1478. //>>excludeStart("ide", pragmas.excludeIdeData);
  1479. args: ["aStringOrObject"],
  1480. source: "fetch: aStringOrObject\x0a\x09^ self current fetch: aStringOrObject",
  1481. referencedClasses: [],
  1482. //>>excludeEnd("ide");
  1483. pragmas: [],
  1484. messageSends: ["fetch:", "current"]
  1485. }, function ($methodClass){ return function (aStringOrObject){
  1486. var self=this,$self=this;
  1487. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1488. return $core.withContext(function($ctx1) {
  1489. //>>excludeEnd("ctx");
  1490. return $recv($self._current())._fetch_(aStringOrObject);
  1491. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1492. }, function($ctx1) {$ctx1.fill(self,"fetch:",{aStringOrObject:aStringOrObject})});
  1493. //>>excludeEnd("ctx");
  1494. }; }),
  1495. $globals.Platform.a$cls);
  1496. $core.addMethod(
  1497. $core.method({
  1498. selector: "fetchUrl:options:",
  1499. protocol: "accessing",
  1500. //>>excludeStart("ide", pragmas.excludeIdeData);
  1501. args: ["aString", "anObject"],
  1502. source: "fetchUrl: aString options: anObject\x0a\x09^ self current fetchUrl: aString options: anObject",
  1503. referencedClasses: [],
  1504. //>>excludeEnd("ide");
  1505. pragmas: [],
  1506. messageSends: ["fetchUrl:options:", "current"]
  1507. }, function ($methodClass){ return function (aString,anObject){
  1508. var self=this,$self=this;
  1509. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1510. return $core.withContext(function($ctx1) {
  1511. //>>excludeEnd("ctx");
  1512. return $recv($self._current())._fetchUrl_options_(aString,anObject);
  1513. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1514. }, function($ctx1) {$ctx1.fill(self,"fetchUrl:options:",{aString:aString,anObject:anObject})});
  1515. //>>excludeEnd("ctx");
  1516. }; }),
  1517. $globals.Platform.a$cls);
  1518. $core.addMethod(
  1519. $core.method({
  1520. selector: "globals",
  1521. protocol: "accessing",
  1522. //>>excludeStart("ide", pragmas.excludeIdeData);
  1523. args: [],
  1524. source: "globals\x0a\x09^ self current globals",
  1525. referencedClasses: [],
  1526. //>>excludeEnd("ide");
  1527. pragmas: [],
  1528. messageSends: ["globals", "current"]
  1529. }, function ($methodClass){ return function (){
  1530. var self=this,$self=this;
  1531. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1532. return $core.withContext(function($ctx1) {
  1533. //>>excludeEnd("ctx");
  1534. return $recv($self._current())._globals();
  1535. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1536. }, function($ctx1) {$ctx1.fill(self,"globals",{})});
  1537. //>>excludeEnd("ctx");
  1538. }; }),
  1539. $globals.Platform.a$cls);
  1540. $core.addMethod(
  1541. $core.method({
  1542. selector: "includesGlobal:",
  1543. protocol: "testing",
  1544. //>>excludeStart("ide", pragmas.excludeIdeData);
  1545. args: ["aString"],
  1546. source: "includesGlobal: aString\x0a\x09^ self globals \x0a\x09\x09at: aString \x0a\x09\x09ifPresent: [ true ] \x0a\x09\x09ifAbsent: [ false ]",
  1547. referencedClasses: [],
  1548. //>>excludeEnd("ide");
  1549. pragmas: [],
  1550. messageSends: ["at:ifPresent:ifAbsent:", "globals"]
  1551. }, function ($methodClass){ return function (aString){
  1552. var self=this,$self=this;
  1553. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1554. return $core.withContext(function($ctx1) {
  1555. //>>excludeEnd("ctx");
  1556. return $recv($self._globals())._at_ifPresent_ifAbsent_(aString,(function(){
  1557. return true;
  1558. }),(function(){
  1559. return false;
  1560. }));
  1561. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1562. }, function($ctx1) {$ctx1.fill(self,"includesGlobal:",{aString:aString})});
  1563. //>>excludeEnd("ctx");
  1564. }; }),
  1565. $globals.Platform.a$cls);
  1566. $core.addMethod(
  1567. $core.method({
  1568. selector: "newXhr",
  1569. protocol: "accessing",
  1570. //>>excludeStart("ide", pragmas.excludeIdeData);
  1571. args: [],
  1572. source: "newXhr\x0a\x09^ self current newXhr",
  1573. referencedClasses: [],
  1574. //>>excludeEnd("ide");
  1575. pragmas: [],
  1576. messageSends: ["newXhr", "current"]
  1577. }, function ($methodClass){ return function (){
  1578. var self=this,$self=this;
  1579. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1580. return $core.withContext(function($ctx1) {
  1581. //>>excludeEnd("ctx");
  1582. return $recv($self._current())._newXhr();
  1583. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1584. }, function($ctx1) {$ctx1.fill(self,"newXhr",{})});
  1585. //>>excludeEnd("ctx");
  1586. }; }),
  1587. $globals.Platform.a$cls);
  1588. $core.addClass("ProgressHandler", $globals.Service, "Platform-Services");
  1589. //>>excludeStart("ide", pragmas.excludeIdeData);
  1590. $globals.ProgressHandler.comment="I am used to manage progress in collection iterations, see `SequenceableCollection >> #do:displayingProgress:`.\x0a\x0aRegistered instances must implement `#do:on:displaying:`.\x0a\x0aThe default behavior is to simply iterate over the collection, using `NullProgressHandler`.";
  1591. //>>excludeEnd("ide");
  1592. $core.addMethod(
  1593. $core.method({
  1594. selector: "do:on:displaying:",
  1595. protocol: "progress handling",
  1596. //>>excludeStart("ide", pragmas.excludeIdeData);
  1597. args: ["aBlock", "aCollection", "aString"],
  1598. source: "do: aBlock on: aCollection displaying: aString\x0a\x09self current do: aBlock on: aCollection displaying: aString",
  1599. referencedClasses: [],
  1600. //>>excludeEnd("ide");
  1601. pragmas: [],
  1602. messageSends: ["do:on:displaying:", "current"]
  1603. }, function ($methodClass){ return function (aBlock,aCollection,aString){
  1604. var self=this,$self=this;
  1605. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1606. return $core.withContext(function($ctx1) {
  1607. //>>excludeEnd("ctx");
  1608. $recv($self._current())._do_on_displaying_(aBlock,aCollection,aString);
  1609. return self;
  1610. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1611. }, function($ctx1) {$ctx1.fill(self,"do:on:displaying:",{aBlock:aBlock,aCollection:aCollection,aString:aString})});
  1612. //>>excludeEnd("ctx");
  1613. }; }),
  1614. $globals.ProgressHandler.a$cls);
  1615. $core.addClass("Terminal", $globals.Service, "Platform-Services");
  1616. //>>excludeStart("ide", pragmas.excludeIdeData);
  1617. $globals.Terminal.comment="I am UI interface service.\x0a\x0a## API\x0a\x0a Terminal alert: 'Hey, there is a problem'.\x0a Terminal confirm: 'Affirmative?'.\x0a Terminal prompt: 'Your name:'.";
  1618. //>>excludeEnd("ide");
  1619. $core.addMethod(
  1620. $core.method({
  1621. selector: "alert:",
  1622. protocol: "dialogs",
  1623. //>>excludeStart("ide", pragmas.excludeIdeData);
  1624. args: ["aString"],
  1625. source: "alert: aString\x0a\x09^ self current alert: aString",
  1626. referencedClasses: [],
  1627. //>>excludeEnd("ide");
  1628. pragmas: [],
  1629. messageSends: ["alert:", "current"]
  1630. }, function ($methodClass){ return function (aString){
  1631. var self=this,$self=this;
  1632. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1633. return $core.withContext(function($ctx1) {
  1634. //>>excludeEnd("ctx");
  1635. return $recv($self._current())._alert_(aString);
  1636. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1637. }, function($ctx1) {$ctx1.fill(self,"alert:",{aString:aString})});
  1638. //>>excludeEnd("ctx");
  1639. }; }),
  1640. $globals.Terminal.a$cls);
  1641. $core.addMethod(
  1642. $core.method({
  1643. selector: "confirm:",
  1644. protocol: "dialogs",
  1645. //>>excludeStart("ide", pragmas.excludeIdeData);
  1646. args: ["aString"],
  1647. source: "confirm: aString\x0a\x09^ self current confirm: aString",
  1648. referencedClasses: [],
  1649. //>>excludeEnd("ide");
  1650. pragmas: [],
  1651. messageSends: ["confirm:", "current"]
  1652. }, function ($methodClass){ return function (aString){
  1653. var self=this,$self=this;
  1654. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1655. return $core.withContext(function($ctx1) {
  1656. //>>excludeEnd("ctx");
  1657. return $recv($self._current())._confirm_(aString);
  1658. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1659. }, function($ctx1) {$ctx1.fill(self,"confirm:",{aString:aString})});
  1660. //>>excludeEnd("ctx");
  1661. }; }),
  1662. $globals.Terminal.a$cls);
  1663. $core.addMethod(
  1664. $core.method({
  1665. selector: "prompt:",
  1666. protocol: "dialogs",
  1667. //>>excludeStart("ide", pragmas.excludeIdeData);
  1668. args: ["aString"],
  1669. source: "prompt: aString\x0a\x09^ self current prompt: aString",
  1670. referencedClasses: [],
  1671. //>>excludeEnd("ide");
  1672. pragmas: [],
  1673. messageSends: ["prompt:", "current"]
  1674. }, function ($methodClass){ return function (aString){
  1675. var self=this,$self=this;
  1676. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1677. return $core.withContext(function($ctx1) {
  1678. //>>excludeEnd("ctx");
  1679. return $recv($self._current())._prompt_(aString);
  1680. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1681. }, function($ctx1) {$ctx1.fill(self,"prompt:",{aString:aString})});
  1682. //>>excludeEnd("ctx");
  1683. }; }),
  1684. $globals.Terminal.a$cls);
  1685. $core.addMethod(
  1686. $core.method({
  1687. selector: "prompt:default:",
  1688. protocol: "dialogs",
  1689. //>>excludeStart("ide", pragmas.excludeIdeData);
  1690. args: ["aString", "defaultString"],
  1691. source: "prompt: aString default: defaultString\x0a\x09^ self current prompt: aString default: defaultString",
  1692. referencedClasses: [],
  1693. //>>excludeEnd("ide");
  1694. pragmas: [],
  1695. messageSends: ["prompt:default:", "current"]
  1696. }, function ($methodClass){ return function (aString,defaultString){
  1697. var self=this,$self=this;
  1698. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1699. return $core.withContext(function($ctx1) {
  1700. //>>excludeEnd("ctx");
  1701. return $recv($self._current())._prompt_default_(aString,defaultString);
  1702. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1703. }, function($ctx1) {$ctx1.fill(self,"prompt:default:",{aString:aString,defaultString:defaultString})});
  1704. //>>excludeEnd("ctx");
  1705. }; }),
  1706. $globals.Terminal.a$cls);
  1707. $core.addClass("Transcript", $globals.Service, "Platform-Services");
  1708. //>>excludeStart("ide", pragmas.excludeIdeData);
  1709. $globals.Transcript.comment="I am a facade for Transcript actions.\x0a\x0aI delegate actions to the currently registered transcript.\x0a\x0a## API\x0a\x0a Transcript \x0a show: 'hello world';\x0a cr;\x0a show: anObject.";
  1710. //>>excludeEnd("ide");
  1711. $core.addMethod(
  1712. $core.method({
  1713. selector: "clear",
  1714. protocol: "printing",
  1715. //>>excludeStart("ide", pragmas.excludeIdeData);
  1716. args: [],
  1717. source: "clear\x0a\x09self current clear",
  1718. referencedClasses: [],
  1719. //>>excludeEnd("ide");
  1720. pragmas: [],
  1721. messageSends: ["clear", "current"]
  1722. }, function ($methodClass){ return function (){
  1723. var self=this,$self=this;
  1724. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1725. return $core.withContext(function($ctx1) {
  1726. //>>excludeEnd("ctx");
  1727. $recv($self._current())._clear();
  1728. return self;
  1729. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1730. }, function($ctx1) {$ctx1.fill(self,"clear",{})});
  1731. //>>excludeEnd("ctx");
  1732. }; }),
  1733. $globals.Transcript.a$cls);
  1734. $core.addMethod(
  1735. $core.method({
  1736. selector: "cr",
  1737. protocol: "printing",
  1738. //>>excludeStart("ide", pragmas.excludeIdeData);
  1739. args: [],
  1740. source: "cr\x0a\x09self current show: String cr",
  1741. referencedClasses: ["String"],
  1742. //>>excludeEnd("ide");
  1743. pragmas: [],
  1744. messageSends: ["show:", "current", "cr"]
  1745. }, function ($methodClass){ return function (){
  1746. var self=this,$self=this;
  1747. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1748. return $core.withContext(function($ctx1) {
  1749. //>>excludeEnd("ctx");
  1750. $recv($self._current())._show_($recv($globals.String)._cr());
  1751. return self;
  1752. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1753. }, function($ctx1) {$ctx1.fill(self,"cr",{})});
  1754. //>>excludeEnd("ctx");
  1755. }; }),
  1756. $globals.Transcript.a$cls);
  1757. $core.addMethod(
  1758. $core.method({
  1759. selector: "inspect:",
  1760. protocol: "printing",
  1761. //>>excludeStart("ide", pragmas.excludeIdeData);
  1762. args: ["anObject"],
  1763. source: "inspect: anObject\x0a\x09self show: anObject",
  1764. referencedClasses: [],
  1765. //>>excludeEnd("ide");
  1766. pragmas: [],
  1767. messageSends: ["show:"]
  1768. }, function ($methodClass){ return function (anObject){
  1769. var self=this,$self=this;
  1770. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1771. return $core.withContext(function($ctx1) {
  1772. //>>excludeEnd("ctx");
  1773. $self._show_(anObject);
  1774. return self;
  1775. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1776. }, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject})});
  1777. //>>excludeEnd("ctx");
  1778. }; }),
  1779. $globals.Transcript.a$cls);
  1780. $core.addMethod(
  1781. $core.method({
  1782. selector: "open",
  1783. protocol: "instance creation",
  1784. //>>excludeStart("ide", pragmas.excludeIdeData);
  1785. args: [],
  1786. source: "open\x0a\x09self current open",
  1787. referencedClasses: [],
  1788. //>>excludeEnd("ide");
  1789. pragmas: [],
  1790. messageSends: ["open", "current"]
  1791. }, function ($methodClass){ return function (){
  1792. var self=this,$self=this;
  1793. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1794. return $core.withContext(function($ctx1) {
  1795. //>>excludeEnd("ctx");
  1796. $recv($self._current())._open();
  1797. return self;
  1798. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1799. }, function($ctx1) {$ctx1.fill(self,"open",{})});
  1800. //>>excludeEnd("ctx");
  1801. }; }),
  1802. $globals.Transcript.a$cls);
  1803. $core.addMethod(
  1804. $core.method({
  1805. selector: "show:",
  1806. protocol: "printing",
  1807. //>>excludeStart("ide", pragmas.excludeIdeData);
  1808. args: ["anObject"],
  1809. source: "show: anObject\x0a\x09self current show: anObject",
  1810. referencedClasses: [],
  1811. //>>excludeEnd("ide");
  1812. pragmas: [],
  1813. messageSends: ["show:", "current"]
  1814. }, function ($methodClass){ return function (anObject){
  1815. var self=this,$self=this;
  1816. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1817. return $core.withContext(function($ctx1) {
  1818. //>>excludeEnd("ctx");
  1819. $recv($self._current())._show_(anObject);
  1820. return self;
  1821. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1822. }, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject})});
  1823. //>>excludeEnd("ctx");
  1824. }; }),
  1825. $globals.Transcript.a$cls);
  1826. $core.addMethod(
  1827. $core.method({
  1828. selector: "inspectOn:",
  1829. protocol: "*Platform-Services",
  1830. //>>excludeStart("ide", pragmas.excludeIdeData);
  1831. args: ["anInspector"],
  1832. source: "inspectOn: anInspector\x0a\x09| variables |\x0a\x09variables := Array streamContents: [ :stream |\x0a\x09\x09stream\x0a\x09\x09\x09nextPut: '#self' -> self;\x0a\x09\x09\x09nextPut: '#keys' -> self keys;\x0a\x09\x09\x09nextPutAll: self associations ].\x0a\x09anInspector\x0a\x09\x09setLabel: self shortenedPrintString;\x0a\x09\x09setVariables: variables",
  1833. referencedClasses: ["Array"],
  1834. //>>excludeEnd("ide");
  1835. pragmas: [],
  1836. messageSends: ["streamContents:", "nextPut:", "->", "keys", "nextPutAll:", "associations", "setLabel:", "shortenedPrintString", "setVariables:"]
  1837. }, function ($methodClass){ return function (anInspector){
  1838. var self=this,$self=this;
  1839. var variables;
  1840. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1841. return $core.withContext(function($ctx1) {
  1842. //>>excludeEnd("ctx");
  1843. variables=$recv($globals.Array)._streamContents_((function(stream){
  1844. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1845. return $core.withContext(function($ctx2) {
  1846. //>>excludeEnd("ctx");
  1847. [$recv(stream)._nextPut_(["#self".__minus_gt(self)
  1848. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1849. ,$ctx2.sendIdx["->"]=1
  1850. //>>excludeEnd("ctx");
  1851. ][0])
  1852. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1853. ,$ctx2.sendIdx["nextPut:"]=1
  1854. //>>excludeEnd("ctx");
  1855. ][0];
  1856. $recv(stream)._nextPut_("#keys".__minus_gt($self._keys()));
  1857. return $recv(stream)._nextPutAll_($self._associations());
  1858. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1859. }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)});
  1860. //>>excludeEnd("ctx");
  1861. }));
  1862. $recv(anInspector)._setLabel_($self._shortenedPrintString());
  1863. $recv(anInspector)._setVariables_(variables);
  1864. return self;
  1865. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1866. }, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector,variables:variables})});
  1867. //>>excludeEnd("ctx");
  1868. }; }),
  1869. $globals.AssociativeCollection);
  1870. $core.addMethod(
  1871. $core.method({
  1872. selector: "inspectOn:",
  1873. protocol: "*Platform-Services",
  1874. //>>excludeStart("ide", pragmas.excludeIdeData);
  1875. args: ["anInspector"],
  1876. source: "inspectOn: anInspector\x0a\x09| variables |\x0a\x09variables := Array streamContents: [ :stream |\x0a\x09\x09| i |\x0a\x09\x09stream nextPut: '#self' -> self.\x0a\x09\x09i := 1.\x0a\x09\x09self do: [ :each |\x0a\x09\x09\x09stream nextPut: i -> each.\x0a\x09\x09\x09i := i + 1 ] ].\x0a\x09anInspector\x0a\x09\x09setLabel: self shortenedPrintString;\x0a\x09\x09setVariables: variables",
  1877. referencedClasses: ["Array"],
  1878. //>>excludeEnd("ide");
  1879. pragmas: [],
  1880. messageSends: ["streamContents:", "nextPut:", "->", "do:", "+", "setLabel:", "shortenedPrintString", "setVariables:"]
  1881. }, function ($methodClass){ return function (anInspector){
  1882. var self=this,$self=this;
  1883. var variables;
  1884. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1885. return $core.withContext(function($ctx1) {
  1886. //>>excludeEnd("ctx");
  1887. variables=$recv($globals.Array)._streamContents_((function(stream){
  1888. var i;
  1889. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1890. return $core.withContext(function($ctx2) {
  1891. //>>excludeEnd("ctx");
  1892. [$recv(stream)._nextPut_(["#self".__minus_gt(self)
  1893. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1894. ,$ctx2.sendIdx["->"]=1
  1895. //>>excludeEnd("ctx");
  1896. ][0])
  1897. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1898. ,$ctx2.sendIdx["nextPut:"]=1
  1899. //>>excludeEnd("ctx");
  1900. ][0];
  1901. i=(1);
  1902. return $self._do_((function(each){
  1903. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1904. return $core.withContext(function($ctx3) {
  1905. //>>excludeEnd("ctx");
  1906. $recv(stream)._nextPut_($recv(i).__minus_gt(each));
  1907. i=$recv(i).__plus((1));
  1908. return i;
  1909. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1910. }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)});
  1911. //>>excludeEnd("ctx");
  1912. }));
  1913. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1914. }, function($ctx2) {$ctx2.fillBlock({stream:stream,i:i},$ctx1,1)});
  1915. //>>excludeEnd("ctx");
  1916. }));
  1917. $recv(anInspector)._setLabel_($self._shortenedPrintString());
  1918. $recv(anInspector)._setVariables_(variables);
  1919. return self;
  1920. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1921. }, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector,variables:variables})});
  1922. //>>excludeEnd("ctx");
  1923. }; }),
  1924. $globals.Collection);
  1925. $core.addMethod(
  1926. $core.method({
  1927. selector: "inspectOn:",
  1928. protocol: "*Platform-Services",
  1929. //>>excludeStart("ide", pragmas.excludeIdeData);
  1930. args: ["anInspector"],
  1931. source: "inspectOn: anInspector\x0a\x09| variables |\x0a\x09variables := Array streamContents: [ :stream |\x0a\x09\x09stream\x0a\x09\x09\x09nextPut: '#self' -> self;\x0a\x09\x09\x09nextPut: '#year' -> self year;\x0a\x09\x09\x09nextPut: '#month' -> self month;\x0a\x09\x09\x09nextPut: '#day' -> self day;\x0a\x09\x09\x09nextPut: '#hours' -> self hours;\x0a\x09\x09\x09nextPut: '#minutes' -> self minutes;\x0a\x09\x09\x09nextPut: '#seconds' -> self seconds;\x0a\x09\x09\x09nextPut: '#milliseconds' -> self milliseconds ].\x0a\x09anInspector\x0a\x09\x09setLabel: self printString;\x0a\x09\x09setVariables: variables",
  1932. referencedClasses: ["Array"],
  1933. //>>excludeEnd("ide");
  1934. pragmas: [],
  1935. messageSends: ["streamContents:", "nextPut:", "->", "year", "month", "day", "hours", "minutes", "seconds", "milliseconds", "setLabel:", "printString", "setVariables:"]
  1936. }, function ($methodClass){ return function (anInspector){
  1937. var self=this,$self=this;
  1938. var variables;
  1939. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1940. return $core.withContext(function($ctx1) {
  1941. //>>excludeEnd("ctx");
  1942. variables=$recv($globals.Array)._streamContents_((function(stream){
  1943. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1944. return $core.withContext(function($ctx2) {
  1945. //>>excludeEnd("ctx");
  1946. [$recv(stream)._nextPut_(["#self".__minus_gt(self)
  1947. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1948. ,$ctx2.sendIdx["->"]=1
  1949. //>>excludeEnd("ctx");
  1950. ][0])
  1951. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1952. ,$ctx2.sendIdx["nextPut:"]=1
  1953. //>>excludeEnd("ctx");
  1954. ][0];
  1955. [$recv(stream)._nextPut_(["#year".__minus_gt($self._year())
  1956. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1957. ,$ctx2.sendIdx["->"]=2
  1958. //>>excludeEnd("ctx");
  1959. ][0])
  1960. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1961. ,$ctx2.sendIdx["nextPut:"]=2
  1962. //>>excludeEnd("ctx");
  1963. ][0];
  1964. [$recv(stream)._nextPut_(["#month".__minus_gt($self._month())
  1965. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1966. ,$ctx2.sendIdx["->"]=3
  1967. //>>excludeEnd("ctx");
  1968. ][0])
  1969. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1970. ,$ctx2.sendIdx["nextPut:"]=3
  1971. //>>excludeEnd("ctx");
  1972. ][0];
  1973. [$recv(stream)._nextPut_(["#day".__minus_gt($self._day())
  1974. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1975. ,$ctx2.sendIdx["->"]=4
  1976. //>>excludeEnd("ctx");
  1977. ][0])
  1978. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1979. ,$ctx2.sendIdx["nextPut:"]=4
  1980. //>>excludeEnd("ctx");
  1981. ][0];
  1982. [$recv(stream)._nextPut_(["#hours".__minus_gt($self._hours())
  1983. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1984. ,$ctx2.sendIdx["->"]=5
  1985. //>>excludeEnd("ctx");
  1986. ][0])
  1987. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1988. ,$ctx2.sendIdx["nextPut:"]=5
  1989. //>>excludeEnd("ctx");
  1990. ][0];
  1991. [$recv(stream)._nextPut_(["#minutes".__minus_gt($self._minutes())
  1992. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1993. ,$ctx2.sendIdx["->"]=6
  1994. //>>excludeEnd("ctx");
  1995. ][0])
  1996. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1997. ,$ctx2.sendIdx["nextPut:"]=6
  1998. //>>excludeEnd("ctx");
  1999. ][0];
  2000. [$recv(stream)._nextPut_(["#seconds".__minus_gt($self._seconds())
  2001. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2002. ,$ctx2.sendIdx["->"]=7
  2003. //>>excludeEnd("ctx");
  2004. ][0])
  2005. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2006. ,$ctx2.sendIdx["nextPut:"]=7
  2007. //>>excludeEnd("ctx");
  2008. ][0];
  2009. return $recv(stream)._nextPut_("#milliseconds".__minus_gt($self._milliseconds()));
  2010. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2011. }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)});
  2012. //>>excludeEnd("ctx");
  2013. }));
  2014. $recv(anInspector)._setLabel_($self._printString());
  2015. $recv(anInspector)._setVariables_(variables);
  2016. return self;
  2017. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2018. }, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector,variables:variables})});
  2019. //>>excludeEnd("ctx");
  2020. }; }),
  2021. $globals.Date);
  2022. $core.addMethod(
  2023. $core.method({
  2024. selector: "inspectOn:",
  2025. protocol: "*Platform-Services",
  2026. //>>excludeStart("ide", pragmas.excludeIdeData);
  2027. args: ["anInspector"],
  2028. source: "inspectOn: anInspector\x0a\x09| variables |\x0a\x09variables := Array streamContents: [ :stream |\x0a\x09\x09stream\x0a\x09\x09\x09nextPut: '#self' -> self jsObject;\x0a\x09\x09\x09nextPutAll: (JSObjectProxy associationsOfProxy: self) ].\x0a\x09anInspector setLabel: self printString.\x0a\x09anInspector setVariables: variables",
  2029. referencedClasses: ["Array", "JSObjectProxy"],
  2030. //>>excludeEnd("ide");
  2031. pragmas: [],
  2032. messageSends: ["streamContents:", "nextPut:", "->", "jsObject", "nextPutAll:", "associationsOfProxy:", "setLabel:", "printString", "setVariables:"]
  2033. }, function ($methodClass){ return function (anInspector){
  2034. var self=this,$self=this;
  2035. var variables;
  2036. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2037. return $core.withContext(function($ctx1) {
  2038. //>>excludeEnd("ctx");
  2039. variables=$recv($globals.Array)._streamContents_((function(stream){
  2040. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2041. return $core.withContext(function($ctx2) {
  2042. //>>excludeEnd("ctx");
  2043. $recv(stream)._nextPut_("#self".__minus_gt($self._jsObject()));
  2044. return $recv(stream)._nextPutAll_($recv($globals.JSObjectProxy)._associationsOfProxy_(self));
  2045. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2046. }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)});
  2047. //>>excludeEnd("ctx");
  2048. }));
  2049. $recv(anInspector)._setLabel_($self._printString());
  2050. $recv(anInspector)._setVariables_(variables);
  2051. return self;
  2052. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2053. }, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector,variables:variables})});
  2054. //>>excludeEnd("ctx");
  2055. }; }),
  2056. $globals.JSObjectProxy);
  2057. $core.addMethod(
  2058. $core.method({
  2059. selector: "inspectOn:",
  2060. protocol: "*Platform-Services",
  2061. //>>excludeStart("ide", pragmas.excludeIdeData);
  2062. args: ["anInspector"],
  2063. source: "inspectOn: anInspector\x0a\x09| variables |\x0a\x09variables := Array streamContents: [ :stream |\x0a\x09\x09stream nextPut: '#self' -> self.\x0a\x09\x09self class allInstanceVariableNames do: [ :each |\x0a\x09\x09\x09stream nextPut: each -> (self instVarNamed: each) ] ].\x0a\x09anInspector\x0a\x09\x09setLabel: self printString;\x0a\x09\x09setVariables: variables",
  2064. referencedClasses: ["Array"],
  2065. //>>excludeEnd("ide");
  2066. pragmas: [],
  2067. messageSends: ["streamContents:", "nextPut:", "->", "do:", "allInstanceVariableNames", "class", "instVarNamed:", "setLabel:", "printString", "setVariables:"]
  2068. }, function ($methodClass){ return function (anInspector){
  2069. var self=this,$self=this;
  2070. var variables;
  2071. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2072. return $core.withContext(function($ctx1) {
  2073. //>>excludeEnd("ctx");
  2074. variables=$recv($globals.Array)._streamContents_((function(stream){
  2075. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2076. return $core.withContext(function($ctx2) {
  2077. //>>excludeEnd("ctx");
  2078. [$recv(stream)._nextPut_(["#self".__minus_gt(self)
  2079. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2080. ,$ctx2.sendIdx["->"]=1
  2081. //>>excludeEnd("ctx");
  2082. ][0])
  2083. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2084. ,$ctx2.sendIdx["nextPut:"]=1
  2085. //>>excludeEnd("ctx");
  2086. ][0];
  2087. return $recv($recv($self._class())._allInstanceVariableNames())._do_((function(each){
  2088. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2089. return $core.withContext(function($ctx3) {
  2090. //>>excludeEnd("ctx");
  2091. return $recv(stream)._nextPut_($recv(each).__minus_gt($self._instVarNamed_(each)));
  2092. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2093. }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)});
  2094. //>>excludeEnd("ctx");
  2095. }));
  2096. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2097. }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)});
  2098. //>>excludeEnd("ctx");
  2099. }));
  2100. $recv(anInspector)._setLabel_($self._printString());
  2101. $recv(anInspector)._setVariables_(variables);
  2102. return self;
  2103. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2104. }, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector,variables:variables})});
  2105. //>>excludeEnd("ctx");
  2106. }; }),
  2107. $globals.Object);
  2108. $core.addMethod(
  2109. $core.method({
  2110. selector: "do:displayingProgress:",
  2111. protocol: "*Platform-Services",
  2112. //>>excludeStart("ide", pragmas.excludeIdeData);
  2113. args: ["aBlock", "aString"],
  2114. source: "do: aBlock displayingProgress: aString\x0a\x09ProgressHandler \x0a\x09\x09do: aBlock \x0a\x09\x09on: self \x0a\x09\x09displaying: aString",
  2115. referencedClasses: ["ProgressHandler"],
  2116. //>>excludeEnd("ide");
  2117. pragmas: [],
  2118. messageSends: ["do:on:displaying:"]
  2119. }, function ($methodClass){ return function (aBlock,aString){
  2120. var self=this,$self=this;
  2121. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2122. return $core.withContext(function($ctx1) {
  2123. //>>excludeEnd("ctx");
  2124. $recv($globals.ProgressHandler)._do_on_displaying_(aBlock,self,aString);
  2125. return self;
  2126. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2127. }, function($ctx1) {$ctx1.fill(self,"do:displayingProgress:",{aBlock:aBlock,aString:aString})});
  2128. //>>excludeEnd("ctx");
  2129. }; }),
  2130. $globals.SequenceableCollection);
  2131. $core.addMethod(
  2132. $core.method({
  2133. selector: "inspectOn:",
  2134. protocol: "*Platform-Services",
  2135. //>>excludeStart("ide", pragmas.excludeIdeData);
  2136. args: ["anInspector"],
  2137. source: "inspectOn: anInspector\x0a\x09| variables |\x0a\x09variables := Array streamContents: [ :stream |\x0a\x09\x09stream nextPut: '#self' -> self.\x0a\x09\x09self withIndexDo: [ :each :i |\x0a\x09\x09\x09stream nextPut: i -> each ] ].\x0a\x09anInspector\x0a\x09\x09setLabel: self shortenedPrintString;\x0a\x09\x09setVariables: variables",
  2138. referencedClasses: ["Array"],
  2139. //>>excludeEnd("ide");
  2140. pragmas: [],
  2141. messageSends: ["streamContents:", "nextPut:", "->", "withIndexDo:", "setLabel:", "shortenedPrintString", "setVariables:"]
  2142. }, function ($methodClass){ return function (anInspector){
  2143. var self=this,$self=this;
  2144. var variables;
  2145. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2146. return $core.withContext(function($ctx1) {
  2147. //>>excludeEnd("ctx");
  2148. variables=$recv($globals.Array)._streamContents_((function(stream){
  2149. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2150. return $core.withContext(function($ctx2) {
  2151. //>>excludeEnd("ctx");
  2152. [$recv(stream)._nextPut_(["#self".__minus_gt(self)
  2153. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2154. ,$ctx2.sendIdx["->"]=1
  2155. //>>excludeEnd("ctx");
  2156. ][0])
  2157. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2158. ,$ctx2.sendIdx["nextPut:"]=1
  2159. //>>excludeEnd("ctx");
  2160. ][0];
  2161. return $self._withIndexDo_((function(each,i){
  2162. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2163. return $core.withContext(function($ctx3) {
  2164. //>>excludeEnd("ctx");
  2165. return $recv(stream)._nextPut_($recv(i).__minus_gt(each));
  2166. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2167. }, function($ctx3) {$ctx3.fillBlock({each:each,i:i},$ctx2,2)});
  2168. //>>excludeEnd("ctx");
  2169. }));
  2170. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2171. }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)});
  2172. //>>excludeEnd("ctx");
  2173. }));
  2174. $recv(anInspector)._setLabel_($self._shortenedPrintString());
  2175. $recv(anInspector)._setVariables_(variables);
  2176. return self;
  2177. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2178. }, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector,variables:variables})});
  2179. //>>excludeEnd("ctx");
  2180. }; }),
  2181. $globals.SequenceableCollection);
  2182. $core.addMethod(
  2183. $core.method({
  2184. selector: "inspectOn:",
  2185. protocol: "*Platform-Services",
  2186. //>>excludeStart("ide", pragmas.excludeIdeData);
  2187. args: ["anInspector"],
  2188. source: "inspectOn: anInspector\x0a\x09| variables |\x0a\x09variables := Array streamContents: [ :stream |\x0a\x09\x09stream\x0a\x09\x09\x09nextPut: '#self' -> self;\x0a\x09\x09\x09nextPut: '#home' -> self home;\x0a\x09\x09\x09nextPut: '#receiver' -> self receiver;\x0a\x09\x09\x09nextPut: '#selector' -> self selector;\x0a\x09\x09\x09nextPut: '#locals' -> self locals.\x0a\x09self class instanceVariableNames do: [ :each |\x0a\x09\x09stream nextPut: each -> (self instVarNamed: each) ] ].\x0a\x09anInspector\x0a\x09\x09setLabel: self printString;\x0a\x09\x09setVariables: variables",
  2189. referencedClasses: ["Array"],
  2190. //>>excludeEnd("ide");
  2191. pragmas: [],
  2192. messageSends: ["streamContents:", "nextPut:", "->", "home", "receiver", "selector", "locals", "do:", "instanceVariableNames", "class", "instVarNamed:", "setLabel:", "printString", "setVariables:"]
  2193. }, function ($methodClass){ return function (anInspector){
  2194. var self=this,$self=this;
  2195. var variables;
  2196. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2197. return $core.withContext(function($ctx1) {
  2198. //>>excludeEnd("ctx");
  2199. variables=$recv($globals.Array)._streamContents_((function(stream){
  2200. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2201. return $core.withContext(function($ctx2) {
  2202. //>>excludeEnd("ctx");
  2203. [$recv(stream)._nextPut_(["#self".__minus_gt(self)
  2204. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2205. ,$ctx2.sendIdx["->"]=1
  2206. //>>excludeEnd("ctx");
  2207. ][0])
  2208. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2209. ,$ctx2.sendIdx["nextPut:"]=1
  2210. //>>excludeEnd("ctx");
  2211. ][0];
  2212. [$recv(stream)._nextPut_(["#home".__minus_gt($self._home())
  2213. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2214. ,$ctx2.sendIdx["->"]=2
  2215. //>>excludeEnd("ctx");
  2216. ][0])
  2217. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2218. ,$ctx2.sendIdx["nextPut:"]=2
  2219. //>>excludeEnd("ctx");
  2220. ][0];
  2221. [$recv(stream)._nextPut_(["#receiver".__minus_gt($self._receiver())
  2222. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2223. ,$ctx2.sendIdx["->"]=3
  2224. //>>excludeEnd("ctx");
  2225. ][0])
  2226. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2227. ,$ctx2.sendIdx["nextPut:"]=3
  2228. //>>excludeEnd("ctx");
  2229. ][0];
  2230. [$recv(stream)._nextPut_(["#selector".__minus_gt($self._selector())
  2231. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2232. ,$ctx2.sendIdx["->"]=4
  2233. //>>excludeEnd("ctx");
  2234. ][0])
  2235. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2236. ,$ctx2.sendIdx["nextPut:"]=4
  2237. //>>excludeEnd("ctx");
  2238. ][0];
  2239. [$recv(stream)._nextPut_(["#locals".__minus_gt($self._locals())
  2240. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2241. ,$ctx2.sendIdx["->"]=5
  2242. //>>excludeEnd("ctx");
  2243. ][0])
  2244. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2245. ,$ctx2.sendIdx["nextPut:"]=5
  2246. //>>excludeEnd("ctx");
  2247. ][0];
  2248. return $recv($recv($self._class())._instanceVariableNames())._do_((function(each){
  2249. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2250. return $core.withContext(function($ctx3) {
  2251. //>>excludeEnd("ctx");
  2252. return $recv(stream)._nextPut_($recv(each).__minus_gt($self._instVarNamed_(each)));
  2253. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2254. }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)});
  2255. //>>excludeEnd("ctx");
  2256. }));
  2257. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2258. }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)});
  2259. //>>excludeEnd("ctx");
  2260. }));
  2261. $recv(anInspector)._setLabel_($self._printString());
  2262. $recv(anInspector)._setVariables_(variables);
  2263. return self;
  2264. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2265. }, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector,variables:variables})});
  2266. //>>excludeEnd("ctx");
  2267. }; }),
  2268. $globals.TMethodContext);
  2269. });