resin 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. data/README.markdown +52 -0
  2. data/amber/css/amber.css +519 -0
  3. data/amber/css/documentation.css +84 -0
  4. data/amber/css/profstef.css +75 -0
  5. data/amber/css/style.css +313 -0
  6. data/amber/images/amber.png +0 -0
  7. data/amber/images/amber_small.png +0 -0
  8. data/amber/images/off.png +0 -0
  9. data/amber/images/offHover.png +0 -0
  10. data/amber/images/presentation.png +0 -0
  11. data/amber/images/profstef.png +0 -0
  12. data/amber/images/sprite.png +0 -0
  13. data/amber/images/tinylogo.png +0 -0
  14. data/amber/images/twitterwall.png +0 -0
  15. data/amber/js/Additional-Examples.deploy.js +15 -0
  16. data/amber/js/Additional-Examples.js +21 -0
  17. data/amber/js/Benchfib.deploy.js +132 -0
  18. data/amber/js/Benchfib.js +167 -0
  19. data/amber/js/Canvas.deploy.js +1304 -0
  20. data/amber/js/Canvas.js +1885 -0
  21. data/amber/js/Compiler.deploy.js +1871 -0
  22. data/amber/js/Compiler.js +2616 -0
  23. data/amber/js/Documentation.deploy.js +961 -0
  24. data/amber/js/Documentation.js +1376 -0
  25. data/amber/js/Examples.deploy.js +53 -0
  26. data/amber/js/Examples.js +73 -0
  27. data/amber/js/IDE.deploy.js +3468 -0
  28. data/amber/js/IDE.js +4883 -0
  29. data/amber/js/Kernel-Announcements.deploy.js +107 -0
  30. data/amber/js/Kernel-Announcements.js +152 -0
  31. data/amber/js/Kernel-Classes.deploy.js +675 -0
  32. data/amber/js/Kernel-Classes.js +956 -0
  33. data/amber/js/Kernel-Collections.deploy.js +3273 -0
  34. data/amber/js/Kernel-Collections.js +4644 -0
  35. data/amber/js/Kernel-Exceptions.deploy.js +244 -0
  36. data/amber/js/Kernel-Exceptions.js +349 -0
  37. data/amber/js/Kernel-Methods.deploy.js +510 -0
  38. data/amber/js/Kernel-Methods.js +739 -0
  39. data/amber/js/Kernel-Objects.deploy.js +2698 -0
  40. data/amber/js/Kernel-Objects.js +3858 -0
  41. data/amber/js/Kernel-Tests.deploy.js +1419 -0
  42. data/amber/js/Kernel-Tests.js +1929 -0
  43. data/amber/js/Kernel-Transcript.deploy.js +142 -0
  44. data/amber/js/Kernel-Transcript.js +202 -0
  45. data/amber/js/SUnit.deploy.js +351 -0
  46. data/amber/js/SUnit.js +501 -0
  47. data/amber/js/amber.js +250 -0
  48. data/amber/js/boot.js +587 -0
  49. data/amber/js/compat.js +22 -0
  50. data/amber/js/init.js +8 -0
  51. data/amber/js/lib/CodeMirror/LICENSE +19 -0
  52. data/amber/js/lib/CodeMirror/amber.css +21 -0
  53. data/amber/js/lib/CodeMirror/codemirror.css +67 -0
  54. data/amber/js/lib/CodeMirror/codemirror.js +2144 -0
  55. data/amber/js/lib/CodeMirror/smalltalk.js +134 -0
  56. data/amber/js/lib/jQuery/jquery-1.4.4.min.js +167 -0
  57. data/amber/js/lib/jQuery/jquery-1.6.4.min.js +4 -0
  58. data/amber/js/lib/jQuery/jquery-ui-1.8.16.custom.min.js +791 -0
  59. data/amber/js/lib/jQuery/jquery.textarea.js +267 -0
  60. data/amber/js/lib/peg-0.6.2.min.js +2 -0
  61. data/amber/js/lib/showdown.js +419 -0
  62. data/amber/js/parser.js +4005 -0
  63. data/amber/js/parser.pegjs +220 -0
  64. data/amber/st/Benchfib.st +124 -0
  65. data/amber/st/Canvas.st +556 -0
  66. data/amber/st/Compiler.st +1425 -0
  67. data/amber/st/Documentation.st +758 -0
  68. data/amber/st/Examples.st +38 -0
  69. data/amber/st/IDE.st +2336 -0
  70. data/amber/st/Kernel-Announcements.st +61 -0
  71. data/amber/st/Kernel-Classes.st +403 -0
  72. data/amber/st/Kernel-Collections.st +1673 -0
  73. data/amber/st/Kernel-Exceptions.st +124 -0
  74. data/amber/st/Kernel-Methods.st +287 -0
  75. data/amber/st/Kernel-Objects.st +1489 -0
  76. data/amber/st/Kernel-Tests.st +892 -0
  77. data/amber/st/Kernel-Transcript.st +70 -0
  78. data/amber/st/SUnit.st +172 -0
  79. data/bin/runresin +12 -0
  80. data/lib/resin.rb +0 -0
  81. data/lib/resin/app/app.rb +121 -0
  82. data/lib/resin/app/views/index.haml +10 -0
  83. metadata +216 -0
@@ -0,0 +1,4644 @@
1
+ smalltalk.addPackage('Kernel-Collections', {});
2
+ smalltalk.addClass('Collection', smalltalk.Object, [], 'Kernel-Collections');
3
+ smalltalk.addMethod(
4
+ unescape('_size'),
5
+ smalltalk.method({
6
+ selector: unescape('size'),
7
+ category: 'accessing',
8
+ fn: function (){
9
+ var self=this;
10
+ smalltalk.send(self, "_subclassResponsibility", []);
11
+ return self;},
12
+ args: [],
13
+ source: unescape('size%0A%09self%20subclassResponsibility'),
14
+ messageSends: ["subclassResponsibility"],
15
+ referencedClasses: []
16
+ }),
17
+ smalltalk.Collection);
18
+
19
+ smalltalk.addMethod(
20
+ unescape('_readStream'),
21
+ smalltalk.method({
22
+ selector: unescape('readStream'),
23
+ category: 'accessing',
24
+ fn: function (){
25
+ var self=this;
26
+ return smalltalk.send(self, "_stream", []);
27
+ return self;},
28
+ args: [],
29
+ source: unescape('readStream%0A%09%5Eself%20stream'),
30
+ messageSends: ["stream"],
31
+ referencedClasses: []
32
+ }),
33
+ smalltalk.Collection);
34
+
35
+ smalltalk.addMethod(
36
+ unescape('_writeStream'),
37
+ smalltalk.method({
38
+ selector: unescape('writeStream'),
39
+ category: 'accessing',
40
+ fn: function (){
41
+ var self=this;
42
+ return smalltalk.send(self, "_stream", []);
43
+ return self;},
44
+ args: [],
45
+ source: unescape('writeStream%0A%09%5Eself%20stream'),
46
+ messageSends: ["stream"],
47
+ referencedClasses: []
48
+ }),
49
+ smalltalk.Collection);
50
+
51
+ smalltalk.addMethod(
52
+ unescape('_stream'),
53
+ smalltalk.method({
54
+ selector: unescape('stream'),
55
+ category: 'accessing',
56
+ fn: function (){
57
+ var self=this;
58
+ return smalltalk.send(smalltalk.send(self, "_streamClass", []), "_on_", [self]);
59
+ return self;},
60
+ args: [],
61
+ source: unescape('stream%0A%09%5Eself%20streamClass%20on%3A%20self'),
62
+ messageSends: ["on:", "streamClass"],
63
+ referencedClasses: []
64
+ }),
65
+ smalltalk.Collection);
66
+
67
+ smalltalk.addMethod(
68
+ unescape('_streamClass'),
69
+ smalltalk.method({
70
+ selector: unescape('streamClass'),
71
+ category: 'accessing',
72
+ fn: function (){
73
+ var self=this;
74
+ return smalltalk.send(smalltalk.send(self, "_class", []), "_streamClass", []);
75
+ return self;},
76
+ args: [],
77
+ source: unescape('streamClass%0A%09%5Eself%20class%20streamClass'),
78
+ messageSends: ["streamClass", "class"],
79
+ referencedClasses: []
80
+ }),
81
+ smalltalk.Collection);
82
+
83
+ smalltalk.addMethod(
84
+ unescape('_add_'),
85
+ smalltalk.method({
86
+ selector: unescape('add%3A'),
87
+ category: 'adding/removing',
88
+ fn: function (anObject){
89
+ var self=this;
90
+ smalltalk.send(self, "_subclassResponsibility", []);
91
+ return self;},
92
+ args: ["anObject"],
93
+ source: unescape('add%3A%20anObject%0A%09self%20subclassResponsibility'),
94
+ messageSends: ["subclassResponsibility"],
95
+ referencedClasses: []
96
+ }),
97
+ smalltalk.Collection);
98
+
99
+ smalltalk.addMethod(
100
+ unescape('_addAll_'),
101
+ smalltalk.method({
102
+ selector: unescape('addAll%3A'),
103
+ category: 'adding/removing',
104
+ fn: function (aCollection){
105
+ var self=this;
106
+ smalltalk.send(aCollection, "_do_", [(function(each){return smalltalk.send(self, "_add_", [each]);})]);
107
+ return aCollection;
108
+ return self;},
109
+ args: ["aCollection"],
110
+ source: unescape('addAll%3A%20aCollection%0A%09aCollection%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20self%20add%3A%20each%5D.%0A%09%5EaCollection'),
111
+ messageSends: ["do:", "add:"],
112
+ referencedClasses: []
113
+ }),
114
+ smalltalk.Collection);
115
+
116
+ smalltalk.addMethod(
117
+ unescape('__comma'),
118
+ smalltalk.method({
119
+ selector: unescape('%2C'),
120
+ category: 'copying',
121
+ fn: function (aCollection){
122
+ var self=this;
123
+ return (function($rec){smalltalk.send($rec, "_addAll_", [aCollection]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_copy", []));
124
+ return self;},
125
+ args: ["aCollection"],
126
+ source: unescape('%2C%20aCollection%0A%09%5Eself%20copy%20%0A%09%20%20%20%20addAll%3A%20aCollection%3B%20%0A%09%20%20%20%20yourself'),
127
+ messageSends: ["addAll:", "yourself", "copy"],
128
+ referencedClasses: []
129
+ }),
130
+ smalltalk.Collection);
131
+
132
+ smalltalk.addMethod(
133
+ unescape('_copyWith_'),
134
+ smalltalk.method({
135
+ selector: unescape('copyWith%3A'),
136
+ category: 'copying',
137
+ fn: function (anObject){
138
+ var self=this;
139
+ return (function($rec){smalltalk.send($rec, "_add_", [anObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_copy", []));
140
+ return self;},
141
+ args: ["anObject"],
142
+ source: unescape('copyWith%3A%20anObject%0A%09%5Eself%20copy%20add%3A%20anObject%3B%20yourself'),
143
+ messageSends: ["add:", "yourself", "copy"],
144
+ referencedClasses: []
145
+ }),
146
+ smalltalk.Collection);
147
+
148
+ smalltalk.addMethod(
149
+ unescape('_copyWithAll_'),
150
+ smalltalk.method({
151
+ selector: unescape('copyWithAll%3A'),
152
+ category: 'copying',
153
+ fn: function (aCollection){
154
+ var self=this;
155
+ return (function($rec){smalltalk.send($rec, "_addAll_", [aCollection]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_copy", []));
156
+ return self;},
157
+ args: ["aCollection"],
158
+ source: unescape('copyWithAll%3A%20aCollection%0A%09%5Eself%20copy%20addAll%3A%20aCollection%3B%20yourself'),
159
+ messageSends: ["addAll:", "yourself", "copy"],
160
+ referencedClasses: []
161
+ }),
162
+ smalltalk.Collection);
163
+
164
+ smalltalk.addMethod(
165
+ unescape('_asArray'),
166
+ smalltalk.method({
167
+ selector: unescape('asArray'),
168
+ category: 'converting',
169
+ fn: function (){
170
+ var self=this;
171
+ return smalltalk.send((smalltalk.Array || Array), "_withAll_", [self]);
172
+ return self;},
173
+ args: [],
174
+ source: unescape('asArray%0A%09%5EArray%20withAll%3A%20self'),
175
+ messageSends: ["withAll:"],
176
+ referencedClasses: ["Array"]
177
+ }),
178
+ smalltalk.Collection);
179
+
180
+ smalltalk.addMethod(
181
+ unescape('_do_'),
182
+ smalltalk.method({
183
+ selector: unescape('do%3A'),
184
+ category: 'enumerating',
185
+ fn: function (aBlock){
186
+ var self=this;
187
+ for(var i=0;i<self.length;i++){aBlock(self[i]);};
188
+ return self;},
189
+ args: ["aBlock"],
190
+ source: unescape('do%3A%20aBlock%0A%09%3Cfor%28var%20i%3D0%3Bi%3Cself.length%3Bi++%29%7BaBlock%28self%5Bi%5D%29%3B%7D%3E'),
191
+ messageSends: [],
192
+ referencedClasses: []
193
+ }),
194
+ smalltalk.Collection);
195
+
196
+ smalltalk.addMethod(
197
+ unescape('_collect_'),
198
+ smalltalk.method({
199
+ selector: unescape('collect%3A'),
200
+ category: 'enumerating',
201
+ fn: function (aBlock){
202
+ var self=this;
203
+ var newCollection=nil;
204
+ (newCollection=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
205
+ smalltalk.send(self, "_do_", [(function(each){return smalltalk.send(newCollection, "_add_", [smalltalk.send(aBlock, "_value_", [each])]);})]);
206
+ return newCollection;
207
+ return self;},
208
+ args: ["aBlock"],
209
+ source: unescape('collect%3A%20aBlock%0A%09%7C%20newCollection%20%7C%0A%09newCollection%20%3A%3D%20self%20class%20new.%0A%09self%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20newCollection%20add%3A%20%28aBlock%20value%3A%20each%29%5D.%0A%09%5EnewCollection'),
210
+ messageSends: ["new", "class", "do:", "add:", "value:"],
211
+ referencedClasses: []
212
+ }),
213
+ smalltalk.Collection);
214
+
215
+ smalltalk.addMethod(
216
+ unescape('_detect_'),
217
+ smalltalk.method({
218
+ selector: unescape('detect%3A'),
219
+ category: 'enumerating',
220
+ fn: function (aBlock){
221
+ var self=this;
222
+ return smalltalk.send(self, "_detect_ifNone_", [aBlock, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
223
+ return self;},
224
+ args: ["aBlock"],
225
+ source: unescape('detect%3A%20aBlock%0A%09%5Eself%20detect%3A%20aBlock%20ifNone%3A%20%5Bself%20errorNotFound%5D'),
226
+ messageSends: ["detect:ifNone:", "errorNotFound"],
227
+ referencedClasses: []
228
+ }),
229
+ smalltalk.Collection);
230
+
231
+ smalltalk.addMethod(
232
+ unescape('_detect_ifNone_'),
233
+ smalltalk.method({
234
+ selector: unescape('detect%3AifNone%3A'),
235
+ category: 'enumerating',
236
+ fn: function (aBlock, anotherBlock){
237
+ var self=this;
238
+
239
+ for(var i = 0; i < self.length; i++)
240
+ if(aBlock(self[i]))
241
+ return self[i];
242
+ return anotherBlock();
243
+ ;
244
+ return self;},
245
+ args: ["aBlock", "anotherBlock"],
246
+ source: unescape('detect%3A%20aBlock%20ifNone%3A%20anotherBlock%0A%09%3C%0A%09%09for%28var%20i%20%3D%200%3B%20i%20%3C%20self.length%3B%20i++%29%0A%09%09%09if%28aBlock%28self%5Bi%5D%29%29%0A%09%09%09%09return%20self%5Bi%5D%3B%0A%09%09return%20anotherBlock%28%29%3B%0A%09%3E'),
247
+ messageSends: [],
248
+ referencedClasses: []
249
+ }),
250
+ smalltalk.Collection);
251
+
252
+ smalltalk.addMethod(
253
+ unescape('_do_separatedBy_'),
254
+ smalltalk.method({
255
+ selector: unescape('do%3AseparatedBy%3A'),
256
+ category: 'enumerating',
257
+ fn: function (aBlock, anotherBlock){
258
+ var self=this;
259
+ var first=nil;
260
+ (first=true);
261
+ smalltalk.send(self, "_do_", [(function(each){((($receiver = first).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (first=false);})() : (function(){return smalltalk.send(anotherBlock, "_value", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return (first=false);}), (function(){return smalltalk.send(anotherBlock, "_value", []);})]));return smalltalk.send(aBlock, "_value_", [each]);})]);
262
+ return self;},
263
+ args: ["aBlock", "anotherBlock"],
264
+ source: unescape('do%3A%20aBlock%20separatedBy%3A%20anotherBlock%0A%09%7C%20first%20%7C%0A%09first%20%3A%3D%20true.%0A%09self%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20first%0A%09%09ifTrue%3A%20%5Bfirst%20%3A%3D%20false%5D%0A%09%09ifFalse%3A%20%5BanotherBlock%20value%5D.%0A%09%20%20%20%20aBlock%20value%3A%20each%5D'),
265
+ messageSends: ["do:", "ifTrue:ifFalse:", "value", "value:"],
266
+ referencedClasses: []
267
+ }),
268
+ smalltalk.Collection);
269
+
270
+ smalltalk.addMethod(
271
+ unescape('_inject_into_'),
272
+ smalltalk.method({
273
+ selector: unescape('inject%3Ainto%3A'),
274
+ category: 'enumerating',
275
+ fn: function (anObject, aBlock){
276
+ var self=this;
277
+ var result=nil;
278
+ (result=anObject);
279
+ smalltalk.send(self, "_do_", [(function(each){return (result=smalltalk.send(aBlock, "_value_value_", [result, each]));})]);
280
+ return result;
281
+ return self;},
282
+ args: ["anObject", "aBlock"],
283
+ source: unescape('inject%3A%20anObject%20into%3A%20aBlock%0A%09%7C%20result%20%7C%0A%09result%20%3A%3D%20anObject.%0A%09self%20do%3A%20%5B%3Aeach%20%7C%20%0A%09%20%20%20%20result%20%3A%3D%20aBlock%20value%3A%20result%20value%3A%20each%5D.%0A%09%5Eresult'),
284
+ messageSends: ["do:", "value:value:"],
285
+ referencedClasses: []
286
+ }),
287
+ smalltalk.Collection);
288
+
289
+ smalltalk.addMethod(
290
+ unescape('_reject_'),
291
+ smalltalk.method({
292
+ selector: unescape('reject%3A'),
293
+ category: 'enumerating',
294
+ fn: function (aBlock){
295
+ var self=this;
296
+ return smalltalk.send(self, "_select_", [(function(each){return smalltalk.send(smalltalk.send(aBlock, "_value_", [each]), "__eq", [false]);})]);
297
+ return self;},
298
+ args: ["aBlock"],
299
+ source: unescape('reject%3A%20aBlock%0A%09%5Eself%20select%3A%20%5B%3Aeach%20%7C%20%28aBlock%20value%3A%20each%29%20%3D%20false%5D'),
300
+ messageSends: ["select:", unescape("%3D"), "value:"],
301
+ referencedClasses: []
302
+ }),
303
+ smalltalk.Collection);
304
+
305
+ smalltalk.addMethod(
306
+ unescape('_select_'),
307
+ smalltalk.method({
308
+ selector: unescape('select%3A'),
309
+ category: 'enumerating',
310
+ fn: function (aBlock){
311
+ var self=this;
312
+ var stream=nil;
313
+ (stream=smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "_new", []), "_writeStream", []));
314
+ smalltalk.send(self, "_do_", [(function(each){return ((($receiver = smalltalk.send(aBlock, "_value_", [each])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(stream, "_nextPut_", [each]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(stream, "_nextPut_", [each]);})]));})]);
315
+ return smalltalk.send(stream, "_contents", []);
316
+ return self;},
317
+ args: ["aBlock"],
318
+ source: unescape('select%3A%20aBlock%0A%09%7C%20stream%20%7C%0A%09stream%20%3A%3D%20self%20class%20new%20writeStream.%0A%09self%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20%28aBlock%20value%3A%20each%29%20ifTrue%3A%20%5B%0A%09%09stream%20nextPut%3A%20each%5D%5D.%0A%09%5Estream%20contents'),
319
+ messageSends: ["writeStream", "new", "class", "do:", "ifTrue:", "value:", "nextPut:", "contents"],
320
+ referencedClasses: []
321
+ }),
322
+ smalltalk.Collection);
323
+
324
+ smalltalk.addMethod(
325
+ unescape('_errorNotFound'),
326
+ smalltalk.method({
327
+ selector: unescape('errorNotFound'),
328
+ category: 'error handling',
329
+ fn: function (){
330
+ var self=this;
331
+ smalltalk.send(self, "_error_", ["Object is not in the collection"]);
332
+ return self;},
333
+ args: [],
334
+ source: unescape('errorNotFound%0A%09self%20error%3A%20%27Object%20is%20not%20in%20the%20collection%27'),
335
+ messageSends: ["error:"],
336
+ referencedClasses: []
337
+ }),
338
+ smalltalk.Collection);
339
+
340
+ smalltalk.addMethod(
341
+ unescape('_includes_'),
342
+ smalltalk.method({
343
+ selector: unescape('includes%3A'),
344
+ category: 'testing',
345
+ fn: function (anObject){
346
+ var self=this;
347
+
348
+ var i = self.length;
349
+ while (i--) {
350
+ if (smalltalk.send(self[i], "__eq", [anObject])) {return true;}
351
+ }
352
+ return false
353
+ ;
354
+ return self;},
355
+ args: ["anObject"],
356
+ source: unescape('includes%3A%20anObject%0A%09%3C%0A%09%09var%20i%20%3D%20self.length%3B%0A%09%09while%20%28i--%29%20%7B%0A%09%09%09if%20%28smalltalk.send%28self%5Bi%5D%2C%20%22__eq%22%2C%20%5BanObject%5D%29%29%20%7Breturn%20true%3B%7D%09%0A%09%09%7D%0A%09%09return%20false%0A%09%3E'),
357
+ messageSends: [],
358
+ referencedClasses: []
359
+ }),
360
+ smalltalk.Collection);
361
+
362
+ smalltalk.addMethod(
363
+ unescape('_notEmpty'),
364
+ smalltalk.method({
365
+ selector: unescape('notEmpty'),
366
+ category: 'testing',
367
+ fn: function (){
368
+ var self=this;
369
+ return smalltalk.send(smalltalk.send(self, "_isEmpty", []), "_not", []);
370
+ return self;},
371
+ args: [],
372
+ source: unescape('notEmpty%0A%09%5Eself%20isEmpty%20not'),
373
+ messageSends: ["not", "isEmpty"],
374
+ referencedClasses: []
375
+ }),
376
+ smalltalk.Collection);
377
+
378
+ smalltalk.addMethod(
379
+ unescape('_isEmpty'),
380
+ smalltalk.method({
381
+ selector: unescape('isEmpty'),
382
+ category: 'testing',
383
+ fn: function (){
384
+ var self=this;
385
+ return smalltalk.send(smalltalk.send(self, "_size", []), "__eq", [(0)]);
386
+ return self;},
387
+ args: [],
388
+ source: unescape('isEmpty%0A%09%5Eself%20size%20%3D%200'),
389
+ messageSends: [unescape("%3D"), "size"],
390
+ referencedClasses: []
391
+ }),
392
+ smalltalk.Collection);
393
+
394
+ smalltalk.addMethod(
395
+ unescape('_remove_'),
396
+ smalltalk.method({
397
+ selector: unescape('remove%3A'),
398
+ category: 'adding/removing',
399
+ fn: function (anObject){
400
+ var self=this;
401
+ return smalltalk.send(self, "_remove_ifAbsent_", [anObject, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
402
+ return self;},
403
+ args: ["anObject"],
404
+ source: unescape('remove%3A%20anObject%0A%20%20%20%20%5Eself%20remove%3A%20anObject%20ifAbsent%3A%20%5Bself%20errorNotFound%5D'),
405
+ messageSends: ["remove:ifAbsent:", "errorNotFound"],
406
+ referencedClasses: []
407
+ }),
408
+ smalltalk.Collection);
409
+
410
+ smalltalk.addMethod(
411
+ unescape('_asSet'),
412
+ smalltalk.method({
413
+ selector: unescape('asSet'),
414
+ category: 'converting',
415
+ fn: function (){
416
+ var self=this;
417
+ return smalltalk.send((smalltalk.Set || Set), "_withAll_", [self]);
418
+ return self;},
419
+ args: [],
420
+ source: unescape('asSet%0A%09%5ESet%20withAll%3A%20self'),
421
+ messageSends: ["withAll:"],
422
+ referencedClasses: ["Set"]
423
+ }),
424
+ smalltalk.Collection);
425
+
426
+ smalltalk.addMethod(
427
+ unescape('_ifNotEmpty_'),
428
+ smalltalk.method({
429
+ selector: unescape('ifNotEmpty%3A'),
430
+ category: 'testing',
431
+ fn: function (aBlock){
432
+ var self=this;
433
+ smalltalk.send(smalltalk.send(self, "_notEmpty", []), "_ifTrue_", [aBlock]);
434
+ return self;},
435
+ args: ["aBlock"],
436
+ source: unescape('ifNotEmpty%3A%20aBlock%0A%09self%20notEmpty%20ifTrue%3A%20aBlock.'),
437
+ messageSends: ["ifTrue:", "notEmpty"],
438
+ referencedClasses: []
439
+ }),
440
+ smalltalk.Collection);
441
+
442
+ smalltalk.addMethod(
443
+ unescape('_ifEmpty_'),
444
+ smalltalk.method({
445
+ selector: unescape('ifEmpty%3A'),
446
+ category: 'testing',
447
+ fn: function (aBlock){
448
+ var self=this;
449
+ smalltalk.send(smalltalk.send(self, "_isEmpty", []), "_ifTrue_", [aBlock]);
450
+ return self;},
451
+ args: ["aBlock"],
452
+ source: unescape('ifEmpty%3A%20aBlock%0A%09self%20isEmpty%20ifTrue%3A%20aBlock.'),
453
+ messageSends: ["ifTrue:", "isEmpty"],
454
+ referencedClasses: []
455
+ }),
456
+ smalltalk.Collection);
457
+
458
+ smalltalk.addMethod(
459
+ unescape('_copyWithoutAll_'),
460
+ smalltalk.method({
461
+ selector: unescape('copyWithoutAll%3A'),
462
+ category: 'copying',
463
+ fn: function (aCollection){
464
+ var self=this;
465
+ return smalltalk.send(self, "_reject_", [(function(each){return smalltalk.send(aCollection, "_includes_", [each]);})]);
466
+ return self;},
467
+ args: ["aCollection"],
468
+ source: unescape('copyWithoutAll%3A%20aCollection%0A%09%22Answer%20a%20copy%20of%20the%20receiver%20that%20does%20not%20contain%20any%20elements%20%0A%09equal%20to%20those%20in%20aCollection.%22%0A%0A%09%5E%20self%20reject%3A%20%5B%3Aeach%20%7C%20aCollection%20includes%3A%20each%5D'),
469
+ messageSends: ["reject:", "includes:"],
470
+ referencedClasses: []
471
+ }),
472
+ smalltalk.Collection);
473
+
474
+ smalltalk.addMethod(
475
+ unescape('_remove_ifAbsent_'),
476
+ smalltalk.method({
477
+ selector: unescape('remove%3AifAbsent%3A'),
478
+ category: 'adding/removing',
479
+ fn: function (anObject, aBlock){
480
+ var self=this;
481
+ smalltalk.send(self, "_subclassResponsibility", []);
482
+ return self;},
483
+ args: ["anObject", "aBlock"],
484
+ source: unescape('remove%3A%20anObject%20ifAbsent%3A%20aBlock%0A%20%20%20%20self%20subclassResponsibility'),
485
+ messageSends: ["subclassResponsibility"],
486
+ referencedClasses: []
487
+ }),
488
+ smalltalk.Collection);
489
+
490
+ smalltalk.addMethod(
491
+ unescape('_asJSONString'),
492
+ smalltalk.method({
493
+ selector: unescape('asJSONString'),
494
+ category: 'converting',
495
+ fn: function (){
496
+ var self=this;
497
+ return smalltalk.send((smalltalk.JSON || JSON), "_stringify_", [smalltalk.send(self, "_collect_", [(function(each){return smalltalk.send(each, "_asJSONString", []);})])]);
498
+ return self;},
499
+ args: [],
500
+ source: unescape('asJSONString%0A%09%5EJSON%20stringify%3A%20%28self%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJSONString%5D%29'),
501
+ messageSends: ["stringify:", "collect:", "asJSONString"],
502
+ referencedClasses: ["JSON"]
503
+ }),
504
+ smalltalk.Collection);
505
+
506
+ smalltalk.addMethod(
507
+ unescape('_asOrderedCollection'),
508
+ smalltalk.method({
509
+ selector: unescape('asOrderedCollection'),
510
+ category: 'converting',
511
+ fn: function (){
512
+ var self=this;
513
+ return smalltalk.send((smalltalk.OrderedCollection || OrderedCollection), "_withAll_", [self]);
514
+ return self;},
515
+ args: [],
516
+ source: unescape('asOrderedCollection%0A%09%5EOrderedCollection%20withAll%3A%20self'),
517
+ messageSends: ["withAll:"],
518
+ referencedClasses: ["OrderedCollection"]
519
+ }),
520
+ smalltalk.Collection);
521
+
522
+
523
+ smalltalk.addMethod(
524
+ unescape('_streamClass'),
525
+ smalltalk.method({
526
+ selector: unescape('streamClass'),
527
+ category: 'accessing',
528
+ fn: function (){
529
+ var self=this;
530
+ return (smalltalk.Stream || Stream);
531
+ return self;},
532
+ args: [],
533
+ source: unescape('streamClass%0A%09%20%20%20%20%5EStream'),
534
+ messageSends: [],
535
+ referencedClasses: ["Stream"]
536
+ }),
537
+ smalltalk.Collection.klass);
538
+
539
+ smalltalk.addMethod(
540
+ unescape('_with_'),
541
+ smalltalk.method({
542
+ selector: unescape('with%3A'),
543
+ category: 'instance creation',
544
+ fn: function (anObject){
545
+ var self=this;
546
+ return (function($rec){smalltalk.send($rec, "_add_", [anObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
547
+ return self;},
548
+ args: ["anObject"],
549
+ source: unescape('with%3A%20anObject%0A%09%20%20%20%20%5Eself%20new%0A%09%09add%3A%20anObject%3B%0A%09%09yourself'),
550
+ messageSends: ["add:", "yourself", "new"],
551
+ referencedClasses: []
552
+ }),
553
+ smalltalk.Collection.klass);
554
+
555
+ smalltalk.addMethod(
556
+ unescape('_with_with_'),
557
+ smalltalk.method({
558
+ selector: unescape('with%3Awith%3A'),
559
+ category: 'instance creation',
560
+ fn: function (anObject, anotherObject){
561
+ var self=this;
562
+ return (function($rec){smalltalk.send($rec, "_add_", [anObject]);smalltalk.send($rec, "_add_", [anotherObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
563
+ return self;},
564
+ args: ["anObject", "anotherObject"],
565
+ source: unescape('with%3A%20anObject%20with%3A%20anotherObject%0A%09%20%20%20%20%5Eself%20new%0A%09%09add%3A%20anObject%3B%0A%09%09add%3A%20anotherObject%3B%0A%09%09yourself'),
566
+ messageSends: ["add:", "yourself", "new"],
567
+ referencedClasses: []
568
+ }),
569
+ smalltalk.Collection.klass);
570
+
571
+ smalltalk.addMethod(
572
+ unescape('_with_with_with_'),
573
+ smalltalk.method({
574
+ selector: unescape('with%3Awith%3Awith%3A'),
575
+ category: 'instance creation',
576
+ fn: function (firstObject, secondObject, thirdObject){
577
+ var self=this;
578
+ return (function($rec){smalltalk.send($rec, "_add_", [firstObject]);smalltalk.send($rec, "_add_", [secondObject]);smalltalk.send($rec, "_add_", [thirdObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
579
+ return self;},
580
+ args: ["firstObject", "secondObject", "thirdObject"],
581
+ source: unescape('with%3A%20firstObject%20with%3A%20secondObject%20with%3A%20thirdObject%0A%09%20%20%20%20%5Eself%20new%0A%09%09add%3A%20firstObject%3B%0A%09%09add%3A%20secondObject%3B%0A%09%09add%3A%20thirdObject%3B%0A%09%09yourself'),
582
+ messageSends: ["add:", "yourself", "new"],
583
+ referencedClasses: []
584
+ }),
585
+ smalltalk.Collection.klass);
586
+
587
+ smalltalk.addMethod(
588
+ unescape('_withAll_'),
589
+ smalltalk.method({
590
+ selector: unescape('withAll%3A'),
591
+ category: 'instance creation',
592
+ fn: function (aCollection){
593
+ var self=this;
594
+ return (function($rec){smalltalk.send($rec, "_addAll_", [aCollection]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
595
+ return self;},
596
+ args: ["aCollection"],
597
+ source: unescape('withAll%3A%20aCollection%0A%09%20%20%20%20%5Eself%20new%0A%09%09addAll%3A%20aCollection%3B%0A%09%09yourself'),
598
+ messageSends: ["addAll:", "yourself", "new"],
599
+ referencedClasses: []
600
+ }),
601
+ smalltalk.Collection.klass);
602
+
603
+ smalltalk.addMethod(
604
+ unescape('_new_'),
605
+ smalltalk.method({
606
+ selector: unescape('new%3A'),
607
+ category: 'instance creation',
608
+ fn: function (anInteger){
609
+ var self=this;
610
+ return smalltalk.send(self, "_new", []);
611
+ return self;},
612
+ args: ["anInteger"],
613
+ source: unescape('new%3A%20anInteger%0A%09%5Eself%20new'),
614
+ messageSends: ["new"],
615
+ referencedClasses: []
616
+ }),
617
+ smalltalk.Collection.klass);
618
+
619
+
620
+ smalltalk.addClass('SequenceableCollection', smalltalk.Collection, [], 'Kernel-Collections');
621
+ smalltalk.addMethod(
622
+ unescape('_at_'),
623
+ smalltalk.method({
624
+ selector: unescape('at%3A'),
625
+ category: 'accessing',
626
+ fn: function (anIndex){
627
+ var self=this;
628
+ return smalltalk.send(self, "_at_ifAbsent_", [anIndex, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
629
+ return self;},
630
+ args: ["anIndex"],
631
+ source: unescape('at%3A%20anIndex%0A%09%5Eself%20at%3A%20anIndex%20ifAbsent%3A%20%5B%0A%09%20%20%20%20self%20errorNotFound%5D'),
632
+ messageSends: ["at:ifAbsent:", "errorNotFound"],
633
+ referencedClasses: []
634
+ }),
635
+ smalltalk.SequenceableCollection);
636
+
637
+ smalltalk.addMethod(
638
+ unescape('_at_ifAbsent_'),
639
+ smalltalk.method({
640
+ selector: unescape('at%3AifAbsent%3A'),
641
+ category: 'accessing',
642
+ fn: function (anIndex, aBlock){
643
+ var self=this;
644
+ smalltalk.send(self, "_subclassResponsibility", []);
645
+ return self;},
646
+ args: ["anIndex", "aBlock"],
647
+ source: unescape('at%3A%20anIndex%20ifAbsent%3A%20aBlock%0A%09self%20subclassResponsibility'),
648
+ messageSends: ["subclassResponsibility"],
649
+ referencedClasses: []
650
+ }),
651
+ smalltalk.SequenceableCollection);
652
+
653
+ smalltalk.addMethod(
654
+ unescape('_at_put_'),
655
+ smalltalk.method({
656
+ selector: unescape('at%3Aput%3A'),
657
+ category: 'accessing',
658
+ fn: function (anIndex, anObject){
659
+ var self=this;
660
+ smalltalk.send(self, "_subclassResponsibility", []);
661
+ return self;},
662
+ args: ["anIndex", "anObject"],
663
+ source: unescape('at%3A%20anIndex%20put%3A%20anObject%0A%09self%20subclassResponsibility'),
664
+ messageSends: ["subclassResponsibility"],
665
+ referencedClasses: []
666
+ }),
667
+ smalltalk.SequenceableCollection);
668
+
669
+ smalltalk.addMethod(
670
+ unescape('_copyFrom_to_'),
671
+ smalltalk.method({
672
+ selector: unescape('copyFrom%3Ato%3A'),
673
+ category: 'copying',
674
+ fn: function (anIndex, anotherIndex){
675
+ var self=this;
676
+ var range=nil;
677
+ var newCollection=nil;
678
+ (range=smalltalk.send(anIndex, "_to_", [anotherIndex]));
679
+ (newCollection=smalltalk.send(smalltalk.send(self, "_class", []), "_new_", [smalltalk.send(range, "_size", [])]));
680
+ smalltalk.send(range, "_do_", [(function(each){return smalltalk.send(newCollection, "_at_put_", [each, smalltalk.send(self, "_at_", [each])]);})]);
681
+ return newCollection;
682
+ return self;},
683
+ args: ["anIndex", "anotherIndex"],
684
+ source: unescape('copyFrom%3A%20anIndex%20to%3A%20anotherIndex%0A%09%7C%20range%20newCollection%20%7C%0A%09range%20%3A%3D%20anIndex%20to%3A%20anotherIndex.%0A%09newCollection%20%3A%3D%20self%20class%20new%3A%20range%20size.%0A%09range%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20newCollection%20at%3A%20each%20put%3A%20%28self%20at%3A%20each%29%5D.%0A%09%5EnewCollection'),
685
+ messageSends: ["to:", "new:", "class", "size", "do:", "at:put:", "at:"],
686
+ referencedClasses: []
687
+ }),
688
+ smalltalk.SequenceableCollection);
689
+
690
+ smalltalk.addMethod(
691
+ unescape('_first'),
692
+ smalltalk.method({
693
+ selector: unescape('first'),
694
+ category: 'accessing',
695
+ fn: function (){
696
+ var self=this;
697
+ return smalltalk.send(self, "_at_", [(1)]);
698
+ return self;},
699
+ args: [],
700
+ source: unescape('first%0A%09%5Eself%20at%3A%201'),
701
+ messageSends: ["at:"],
702
+ referencedClasses: []
703
+ }),
704
+ smalltalk.SequenceableCollection);
705
+
706
+ smalltalk.addMethod(
707
+ unescape('_fourth'),
708
+ smalltalk.method({
709
+ selector: unescape('fourth'),
710
+ category: 'accessing',
711
+ fn: function (){
712
+ var self=this;
713
+ return smalltalk.send(self, "_at_", [(4)]);
714
+ return self;},
715
+ args: [],
716
+ source: unescape('fourth%0A%09%5Eself%20at%3A%204'),
717
+ messageSends: ["at:"],
718
+ referencedClasses: []
719
+ }),
720
+ smalltalk.SequenceableCollection);
721
+
722
+ smalltalk.addMethod(
723
+ unescape('_last'),
724
+ smalltalk.method({
725
+ selector: unescape('last'),
726
+ category: 'accessing',
727
+ fn: function (){
728
+ var self=this;
729
+ return smalltalk.send(self, "_at_", [smalltalk.send(self, "_size", [])]);
730
+ return self;},
731
+ args: [],
732
+ source: unescape('last%0A%09%5Eself%20at%3A%20self%20size'),
733
+ messageSends: ["at:", "size"],
734
+ referencedClasses: []
735
+ }),
736
+ smalltalk.SequenceableCollection);
737
+
738
+ smalltalk.addMethod(
739
+ unescape('_second'),
740
+ smalltalk.method({
741
+ selector: unescape('second'),
742
+ category: 'accessing',
743
+ fn: function (){
744
+ var self=this;
745
+ return smalltalk.send(self, "_at_", [(2)]);
746
+ return self;},
747
+ args: [],
748
+ source: unescape('second%0A%09%5Eself%20at%3A%202'),
749
+ messageSends: ["at:"],
750
+ referencedClasses: []
751
+ }),
752
+ smalltalk.SequenceableCollection);
753
+
754
+ smalltalk.addMethod(
755
+ unescape('_third'),
756
+ smalltalk.method({
757
+ selector: unescape('third'),
758
+ category: 'accessing',
759
+ fn: function (){
760
+ var self=this;
761
+ return smalltalk.send(self, "_at_", [(3)]);
762
+ return self;},
763
+ args: [],
764
+ source: unescape('third%0A%09%5Eself%20at%3A%203'),
765
+ messageSends: ["at:"],
766
+ referencedClasses: []
767
+ }),
768
+ smalltalk.SequenceableCollection);
769
+
770
+ smalltalk.addMethod(
771
+ unescape('_removeLast'),
772
+ smalltalk.method({
773
+ selector: unescape('removeLast'),
774
+ category: 'adding',
775
+ fn: function (){
776
+ var self=this;
777
+ smalltalk.send(self, "_remove_", [smalltalk.send(self, "_last", [])]);
778
+ return self;},
779
+ args: [],
780
+ source: unescape('removeLast%0A%09self%20remove%3A%20self%20last'),
781
+ messageSends: ["remove:", "last"],
782
+ referencedClasses: []
783
+ }),
784
+ smalltalk.SequenceableCollection);
785
+
786
+ smalltalk.addMethod(
787
+ unescape('_addLast_'),
788
+ smalltalk.method({
789
+ selector: unescape('addLast%3A'),
790
+ category: 'adding',
791
+ fn: function (anObject){
792
+ var self=this;
793
+ smalltalk.send(self, "_add_", [anObject]);
794
+ return self;},
795
+ args: ["anObject"],
796
+ source: unescape('addLast%3A%20anObject%0A%09self%20add%3A%20anObject'),
797
+ messageSends: ["add:"],
798
+ referencedClasses: []
799
+ }),
800
+ smalltalk.SequenceableCollection);
801
+
802
+ smalltalk.addMethod(
803
+ unescape('_withIndexDo_'),
804
+ smalltalk.method({
805
+ selector: unescape('withIndexDo%3A'),
806
+ category: 'enumerating',
807
+ fn: function (aBlock){
808
+ var self=this;
809
+ for(var i=0;i<self.length;i++){aBlock(self[i], i+1);};
810
+ return self;},
811
+ args: ["aBlock"],
812
+ source: unescape('withIndexDo%3A%20aBlock%0A%09%3Cfor%28var%20i%3D0%3Bi%3Cself.length%3Bi++%29%7BaBlock%28self%5Bi%5D%2C%20i+1%29%3B%7D%3E'),
813
+ messageSends: [],
814
+ referencedClasses: []
815
+ }),
816
+ smalltalk.SequenceableCollection);
817
+
818
+ smalltalk.addMethod(
819
+ unescape('_allButFirst'),
820
+ smalltalk.method({
821
+ selector: unescape('allButFirst'),
822
+ category: 'accessing',
823
+ fn: function (){
824
+ var self=this;
825
+ return smalltalk.send(self, "_copyFrom_to_", [(2), smalltalk.send(self, "_size", [])]);
826
+ return self;},
827
+ args: [],
828
+ source: unescape('allButFirst%0A%09%5Eself%20copyFrom%3A%202%20to%3A%20self%20size'),
829
+ messageSends: ["copyFrom:to:", "size"],
830
+ referencedClasses: []
831
+ }),
832
+ smalltalk.SequenceableCollection);
833
+
834
+ smalltalk.addMethod(
835
+ unescape('_allButLast'),
836
+ smalltalk.method({
837
+ selector: unescape('allButLast'),
838
+ category: 'accessing',
839
+ fn: function (){
840
+ var self=this;
841
+ return smalltalk.send(self, "_copyFrom_to_", [(1), ((($receiver = smalltalk.send(self, "_size", [])).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)]))]);
842
+ return self;},
843
+ args: [],
844
+ source: unescape('allButLast%0A%09%5Eself%20copyFrom%3A%201%20to%3A%20self%20size%20-%201'),
845
+ messageSends: ["copyFrom:to:", unescape("-"), "size"],
846
+ referencedClasses: []
847
+ }),
848
+ smalltalk.SequenceableCollection);
849
+
850
+ smalltalk.addMethod(
851
+ unescape('_indexOf_'),
852
+ smalltalk.method({
853
+ selector: unescape('indexOf%3A'),
854
+ category: 'accessing',
855
+ fn: function (anObject){
856
+ var self=this;
857
+ return smalltalk.send(self, "_indexOf_ifAbsent_", [anObject, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
858
+ return self;},
859
+ args: ["anObject"],
860
+ source: unescape('indexOf%3A%20anObject%0A%09%5Eself%20indexOf%3A%20anObject%20ifAbsent%3A%20%5Bself%20errorNotFound%5D'),
861
+ messageSends: ["indexOf:ifAbsent:", "errorNotFound"],
862
+ referencedClasses: []
863
+ }),
864
+ smalltalk.SequenceableCollection);
865
+
866
+ smalltalk.addMethod(
867
+ unescape('_indexOf_ifAbsent_'),
868
+ smalltalk.method({
869
+ selector: unescape('indexOf%3AifAbsent%3A'),
870
+ category: 'accessing',
871
+ fn: function (anObject, aBlock){
872
+ var self=this;
873
+
874
+ for(var i=0;i<self.length;i++){
875
+ if(self[i].__eq(anObject)) {return i+1}
876
+ }
877
+ return aBlock();
878
+ ;
879
+ return self;},
880
+ args: ["anObject", "aBlock"],
881
+ source: unescape('indexOf%3A%20anObject%20ifAbsent%3A%20aBlock%0A%09%3C%0A%09%09for%28var%20i%3D0%3Bi%3Cself.length%3Bi++%29%7B%0A%09%09%09if%28self%5Bi%5D.__eq%28anObject%29%29%20%7Breturn%20i+1%7D%0A%09%09%7D%0A%09%09return%20aBlock%28%29%3B%0A%09%3E'),
882
+ messageSends: [],
883
+ referencedClasses: []
884
+ }),
885
+ smalltalk.SequenceableCollection);
886
+
887
+ smalltalk.addMethod(
888
+ unescape('_indexOf_startingAt_ifAbsent_'),
889
+ smalltalk.method({
890
+ selector: unescape('indexOf%3AstartingAt%3AifAbsent%3A'),
891
+ category: 'accessing',
892
+ fn: function (anObject, start, aBlock){
893
+ var self=this;
894
+
895
+ for(var i=start-1;i<self.length;i++){
896
+ if(self[i].__eq(anObject)) {return i+1}
897
+ }
898
+ return aBlock();
899
+ ;
900
+ return self;},
901
+ args: ["anObject", "start", "aBlock"],
902
+ source: unescape('indexOf%3A%20anObject%20startingAt%3A%20start%20ifAbsent%3A%20aBlock%0A%09%3C%0A%09%09for%28var%20i%3Dstart-1%3Bi%3Cself.length%3Bi++%29%7B%0A%09%09%09if%28self%5Bi%5D.__eq%28anObject%29%29%20%7Breturn%20i+1%7D%0A%09%09%7D%0A%09%09return%20aBlock%28%29%3B%0A%09%3E'),
903
+ messageSends: [],
904
+ referencedClasses: []
905
+ }),
906
+ smalltalk.SequenceableCollection);
907
+
908
+ smalltalk.addMethod(
909
+ unescape('_indexOf_startingAt_'),
910
+ smalltalk.method({
911
+ selector: unescape('indexOf%3AstartingAt%3A'),
912
+ category: 'accessing',
913
+ fn: function (anObject, start){
914
+ var self=this;
915
+ return smalltalk.send(self, "_indexOf_startingAt_ifAbsent_", [anObject, start, (function(){return (0);})]);
916
+ return self;},
917
+ args: ["anObject", "start"],
918
+ source: unescape('indexOf%3A%20anObject%20startingAt%3A%20start%0A%09%22Answer%20the%20index%20of%20the%20first%20occurence%20of%20anElement%20after%20start%0A%09within%20the%20receiver.%20If%20the%20receiver%20does%20not%20contain%20anElement%2C%20%0A%09answer%200.%22%0A%09%5Eself%20indexOf%3A%20anObject%20startingAt%3A%20start%20ifAbsent%3A%20%5B0%5D'),
919
+ messageSends: ["indexOf:startingAt:ifAbsent:"],
920
+ referencedClasses: []
921
+ }),
922
+ smalltalk.SequenceableCollection);
923
+
924
+ smalltalk.addMethod(
925
+ unescape('_reversed'),
926
+ smalltalk.method({
927
+ selector: unescape('reversed'),
928
+ category: 'converting',
929
+ fn: function (){
930
+ var self=this;
931
+ smalltalk.send(self, "_subclassResponsibility", []);
932
+ return self;},
933
+ args: [],
934
+ source: unescape('reversed%0A%09self%20subclassResponsibility'),
935
+ messageSends: ["subclassResponsibility"],
936
+ referencedClasses: []
937
+ }),
938
+ smalltalk.SequenceableCollection);
939
+
940
+ smalltalk.addMethod(
941
+ unescape('_atRandom'),
942
+ smalltalk.method({
943
+ selector: unescape('atRandom'),
944
+ category: 'accessing',
945
+ fn: function (){
946
+ var self=this;
947
+ return smalltalk.send(self, "_at_", [smalltalk.send(smalltalk.send(self, "_size", []), "_atRandom", [])]);
948
+ return self;},
949
+ args: [],
950
+ source: unescape('atRandom%0A%09%5E%20self%20at%3A%20self%20size%20atRandom'),
951
+ messageSends: ["at:", "atRandom", "size"],
952
+ referencedClasses: []
953
+ }),
954
+ smalltalk.SequenceableCollection);
955
+
956
+ smalltalk.addMethod(
957
+ unescape('__eq'),
958
+ smalltalk.method({
959
+ selector: unescape('%3D'),
960
+ category: 'comparing',
961
+ fn: function (aCollection){
962
+ var self=this;
963
+ try{((($receiver = smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "__eq", [smalltalk.send(aCollection, "_class", [])]), "_and_", [(function(){return smalltalk.send(smalltalk.send(self, "_size", []), "__eq", [smalltalk.send(aCollection, "_size", [])]);})])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})]));
964
+ smalltalk.send(self, "_withIndexDo_", [(function(each, i){return ((($receiver = smalltalk.send(smalltalk.send(aCollection, "_at_", [i]), "__eq", [each])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})]));})]);
965
+ (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return true}})})();
966
+ return self;
967
+ } catch(e) {if(e.name === 'stReturn' && e.selector === '__eq'){return e.fn()} throw(e)}},
968
+ args: ["aCollection"],
969
+ source: unescape('%3D%20aCollection%0A%09%28self%20class%20%3D%20aCollection%20class%20and%3A%20%5B%0A%09%09self%20size%20%3D%20aCollection%20size%5D%29%20ifFalse%3A%20%5B%5Efalse%5D.%0A%09self%20withIndexDo%3A%20%5B%3Aeach%20%3Ai%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28aCollection%20at%3A%20i%29%20%3D%20each%20ifFalse%3A%20%5B%5Efalse%5D%5D.%0A%09%5Etrue'),
970
+ messageSends: ["ifFalse:", "and:", unescape("%3D"), "class", "size", "withIndexDo:", "at:"],
971
+ referencedClasses: []
972
+ }),
973
+ smalltalk.SequenceableCollection);
974
+
975
+ smalltalk.addMethod(
976
+ unescape('_shallowCopy'),
977
+ smalltalk.method({
978
+ selector: unescape('shallowCopy'),
979
+ category: 'copying',
980
+ fn: function (){
981
+ var self=this;
982
+ var newCollection=nil;
983
+ (newCollection=smalltalk.send(smalltalk.send(self, "_class", []), "_new_", [smalltalk.send(self, "_size", [])]));
984
+ smalltalk.send(self, "_withIndexDo_", [(function(each, index){return smalltalk.send(newCollection, "_at_put_", [index, each]);})]);
985
+ return newCollection;
986
+ return self;},
987
+ args: [],
988
+ source: unescape('shallowCopy%0A%09%7C%20newCollection%20%7C%0A%09newCollection%20%3A%3D%20self%20class%20new%3A%20self%20size.%0A%09self%20withIndexDo%3A%20%5B%20%3Aeach%20%3Aindex%20%7C%20%0A%09%09newCollection%20at%3A%20index%20put%3A%20each%5D.%0A%09%5EnewCollection'),
989
+ messageSends: ["new:", "class", "size", "withIndexDo:", "at:put:"],
990
+ referencedClasses: []
991
+ }),
992
+ smalltalk.SequenceableCollection);
993
+
994
+ smalltalk.addMethod(
995
+ unescape('_deepCopy'),
996
+ smalltalk.method({
997
+ selector: unescape('deepCopy'),
998
+ category: 'copying',
999
+ fn: function (){
1000
+ var self=this;
1001
+ var newCollection=nil;
1002
+ (newCollection=smalltalk.send(smalltalk.send(self, "_class", []), "_new_", [smalltalk.send(self, "_size", [])]));
1003
+ smalltalk.send(self, "_withIndexDo_", [(function(each, index){return smalltalk.send(newCollection, "_at_put_", [index, smalltalk.send(each, "_deepCopy", [])]);})]);
1004
+ return newCollection;
1005
+ return self;},
1006
+ args: [],
1007
+ source: unescape('deepCopy%0A%09%7C%20newCollection%20%7C%0A%09newCollection%20%3A%3D%20self%20class%20new%3A%20self%20size.%0A%09self%20withIndexDo%3A%20%5B%3Aeach%20%3Aindex%20%7C%20%0A%09%09newCollection%20at%3A%20index%20put%3A%20each%20deepCopy%5D.%0A%09%5EnewCollection'),
1008
+ messageSends: ["new:", "class", "size", "withIndexDo:", "at:put:", "deepCopy"],
1009
+ referencedClasses: []
1010
+ }),
1011
+ smalltalk.SequenceableCollection);
1012
+
1013
+ smalltalk.addMethod(
1014
+ unescape('_printString'),
1015
+ smalltalk.method({
1016
+ selector: unescape('printString'),
1017
+ category: 'printing',
1018
+ fn: function (){
1019
+ var self=this;
1020
+ var str=nil;
1021
+ (str=smalltalk.send("", "_writeStream", []));
1022
+ smalltalk.send(str, "_nextPutAll_", [smalltalk.send(smalltalk.send(self, "_printString", [], smalltalk.Collection), "__comma", [unescape("%20%28")])]);
1023
+ smalltalk.send(self, "_do_separatedBy_", [(function(each){return smalltalk.send(str, "_nextPutAll_", [smalltalk.send(each, "_printString", [])]);}), (function(){return smalltalk.send(str, "_nextPutAll_", [" "]);})]);
1024
+ smalltalk.send(str, "_nextPutAll_", [unescape("%29")]);
1025
+ return smalltalk.send(str, "_contents", []);
1026
+ return self;},
1027
+ args: [],
1028
+ source: unescape('printString%0A%09%7C%20str%20%7C%0A%09str%20%3A%3D%20%27%27%20writeStream.%0A%09str%20nextPutAll%3A%20super%20printString%2C%20%27%20%28%27.%0A%09self%20%0A%09%09do%3A%20%5B%3Aeach%20%7C%20str%20nextPutAll%3A%20each%20printString%5D%0A%09%09separatedBy%3A%20%5Bstr%20nextPutAll%3A%20%27%20%27%5D.%0A%09str%20nextPutAll%3A%20%27%29%27.%0A%09%5Estr%20contents'),
1029
+ messageSends: ["writeStream", "nextPutAll:", unescape("%2C"), "printString", "do:separatedBy:", "contents"],
1030
+ referencedClasses: []
1031
+ }),
1032
+ smalltalk.SequenceableCollection);
1033
+
1034
+
1035
+
1036
+ smalltalk.addClass('CharacterArray', smalltalk.SequenceableCollection, [], 'Kernel-Collections');
1037
+ smalltalk.addMethod(
1038
+ unescape('_at_put_'),
1039
+ smalltalk.method({
1040
+ selector: unescape('at%3Aput%3A'),
1041
+ category: 'accessing',
1042
+ fn: function (anIndex, anObject){
1043
+ var self=this;
1044
+ smalltalk.send(self, "_errorReadOnly", []);
1045
+ return self;},
1046
+ args: ["anIndex", "anObject"],
1047
+ source: unescape('at%3A%20anIndex%20put%3A%20anObject%0A%09self%20errorReadOnly'),
1048
+ messageSends: ["errorReadOnly"],
1049
+ referencedClasses: []
1050
+ }),
1051
+ smalltalk.CharacterArray);
1052
+
1053
+ smalltalk.addMethod(
1054
+ unescape('_add_'),
1055
+ smalltalk.method({
1056
+ selector: unescape('add%3A'),
1057
+ category: 'adding',
1058
+ fn: function (anObject){
1059
+ var self=this;
1060
+ smalltalk.send(self, "_errorReadOnly", []);
1061
+ return self;},
1062
+ args: ["anObject"],
1063
+ source: unescape('add%3A%20anObject%0A%09self%20errorReadOnly'),
1064
+ messageSends: ["errorReadOnly"],
1065
+ referencedClasses: []
1066
+ }),
1067
+ smalltalk.CharacterArray);
1068
+
1069
+ smalltalk.addMethod(
1070
+ unescape('__comma'),
1071
+ smalltalk.method({
1072
+ selector: unescape('%2C'),
1073
+ category: 'copying',
1074
+ fn: function (aString){
1075
+ var self=this;
1076
+ return smalltalk.send(smalltalk.send(self, "_asString", []), "__comma", [smalltalk.send(aString, "_asString", [])]);
1077
+ return self;},
1078
+ args: ["aString"],
1079
+ source: unescape('%2C%20aString%0A%09%5Eself%20asString%2C%20aString%20asString'),
1080
+ messageSends: [unescape("%2C"), "asString"],
1081
+ referencedClasses: []
1082
+ }),
1083
+ smalltalk.CharacterArray);
1084
+
1085
+ smalltalk.addMethod(
1086
+ unescape('_asString'),
1087
+ smalltalk.method({
1088
+ selector: unescape('asString'),
1089
+ category: 'converting',
1090
+ fn: function (){
1091
+ var self=this;
1092
+ return smalltalk.send(self, "_subclassResponsibility", []);
1093
+ return self;},
1094
+ args: [],
1095
+ source: unescape('asString%0A%09%5Eself%20subclassResponsibility'),
1096
+ messageSends: ["subclassResponsibility"],
1097
+ referencedClasses: []
1098
+ }),
1099
+ smalltalk.CharacterArray);
1100
+
1101
+ smalltalk.addMethod(
1102
+ unescape('_asNumber'),
1103
+ smalltalk.method({
1104
+ selector: unescape('asNumber'),
1105
+ category: 'converting',
1106
+ fn: function (){
1107
+ var self=this;
1108
+ return smalltalk.send(smalltalk.send(self, "_asString", []), "_asNumber", []);
1109
+ return self;},
1110
+ args: [],
1111
+ source: unescape('asNumber%0A%09%5Eself%20asString%20asNumber'),
1112
+ messageSends: ["asNumber", "asString"],
1113
+ referencedClasses: []
1114
+ }),
1115
+ smalltalk.CharacterArray);
1116
+
1117
+ smalltalk.addMethod(
1118
+ unescape('_errorReadOnly'),
1119
+ smalltalk.method({
1120
+ selector: unescape('errorReadOnly'),
1121
+ category: 'error handling',
1122
+ fn: function (){
1123
+ var self=this;
1124
+ smalltalk.send(self, "_error_", [unescape("Object%20is%20read-only")]);
1125
+ return self;},
1126
+ args: [],
1127
+ source: unescape('errorReadOnly%0A%09self%20error%3A%20%27Object%20is%20read-only%27'),
1128
+ messageSends: ["error:"],
1129
+ referencedClasses: []
1130
+ }),
1131
+ smalltalk.CharacterArray);
1132
+
1133
+ smalltalk.addMethod(
1134
+ unescape('_printString'),
1135
+ smalltalk.method({
1136
+ selector: unescape('printString'),
1137
+ category: 'printing',
1138
+ fn: function (){
1139
+ var self=this;
1140
+ return smalltalk.send(smalltalk.send(self, "_asString", []), "_printString", []);
1141
+ return self;},
1142
+ args: [],
1143
+ source: unescape('printString%0A%09%5Eself%20asString%20printString'),
1144
+ messageSends: ["printString", "asString"],
1145
+ referencedClasses: []
1146
+ }),
1147
+ smalltalk.CharacterArray);
1148
+
1149
+ smalltalk.addMethod(
1150
+ unescape('_remove_'),
1151
+ smalltalk.method({
1152
+ selector: unescape('remove%3A'),
1153
+ category: 'adding',
1154
+ fn: function (anObject){
1155
+ var self=this;
1156
+ smalltalk.send(self, "_errorReadOnly", []);
1157
+ return self;},
1158
+ args: ["anObject"],
1159
+ source: unescape('remove%3A%20anObject%0A%09self%20errorReadOnly'),
1160
+ messageSends: ["errorReadOnly"],
1161
+ referencedClasses: []
1162
+ }),
1163
+ smalltalk.CharacterArray);
1164
+
1165
+ smalltalk.addMethod(
1166
+ unescape('_asUppercase'),
1167
+ smalltalk.method({
1168
+ selector: unescape('asUppercase'),
1169
+ category: 'converting',
1170
+ fn: function (){
1171
+ var self=this;
1172
+ return smalltalk.send(smalltalk.send(self, "_class", []), "_fromString_", [smalltalk.send(smalltalk.send(self, "_asString", []), "_asUppercase", [])]);
1173
+ return self;},
1174
+ args: [],
1175
+ source: unescape('asUppercase%0A%09%5Eself%20class%20fromString%3A%20self%20asString%20asUppercase'),
1176
+ messageSends: ["fromString:", "class", "asUppercase", "asString"],
1177
+ referencedClasses: []
1178
+ }),
1179
+ smalltalk.CharacterArray);
1180
+
1181
+ smalltalk.addMethod(
1182
+ unescape('_asSymbol'),
1183
+ smalltalk.method({
1184
+ selector: unescape('asSymbol'),
1185
+ category: 'converting',
1186
+ fn: function (){
1187
+ var self=this;
1188
+ return smalltalk.send(self, "_subclassResponsibility", []);
1189
+ return self;},
1190
+ args: [],
1191
+ source: unescape('asSymbol%0A%09%5Eself%20subclassResponsibility'),
1192
+ messageSends: ["subclassResponsibility"],
1193
+ referencedClasses: []
1194
+ }),
1195
+ smalltalk.CharacterArray);
1196
+
1197
+ smalltalk.addMethod(
1198
+ unescape('_asLowercase'),
1199
+ smalltalk.method({
1200
+ selector: unescape('asLowercase'),
1201
+ category: 'converting',
1202
+ fn: function (){
1203
+ var self=this;
1204
+ return smalltalk.send(smalltalk.send(self, "_class", []), "_fromString_", [smalltalk.send(smalltalk.send(self, "_asString", []), "_asLowercase", [])]);
1205
+ return self;},
1206
+ args: [],
1207
+ source: unescape('asLowercase%0A%09%5Eself%20class%20fromString%3A%20self%20asString%20asLowercase'),
1208
+ messageSends: ["fromString:", "class", "asLowercase", "asString"],
1209
+ referencedClasses: []
1210
+ }),
1211
+ smalltalk.CharacterArray);
1212
+
1213
+
1214
+ smalltalk.addMethod(
1215
+ unescape('_fromString_'),
1216
+ smalltalk.method({
1217
+ selector: unescape('fromString%3A'),
1218
+ category: 'instance creation',
1219
+ fn: function (aString){
1220
+ var self=this;
1221
+ smalltalk.send(self, "_subclassResponsibility", []);
1222
+ return self;},
1223
+ args: ["aString"],
1224
+ source: unescape('fromString%3A%20aString%0A%09self%20subclassResponsibility'),
1225
+ messageSends: ["subclassResponsibility"],
1226
+ referencedClasses: []
1227
+ }),
1228
+ smalltalk.CharacterArray.klass);
1229
+
1230
+
1231
+ smalltalk.addClass('String', smalltalk.CharacterArray, [], 'Kernel-Collections');
1232
+ smalltalk.addMethod(
1233
+ unescape('__eq'),
1234
+ smalltalk.method({
1235
+ selector: unescape('%3D'),
1236
+ category: 'comparing',
1237
+ fn: function (aString){
1238
+ var self=this;
1239
+ try{((($receiver = smalltalk.send(smalltalk.send(aString, "_class", []), "__eq", [smalltalk.send(self, "_class", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})]));
1240
+ return String(self) === String(aString);
1241
+ return self;
1242
+ } catch(e) {if(e.name === 'stReturn' && e.selector === '__eq'){return e.fn()} throw(e)}},
1243
+ args: ["aString"],
1244
+ source: unescape('%3D%20aString%0A%09aString%20class%20%3D%20self%20class%20ifFalse%3A%20%5B%5Efalse%5D.%0A%09%3Creturn%20String%28self%29%20%3D%3D%3D%20String%28aString%29%3E'),
1245
+ messageSends: ["ifFalse:", unescape("%3D"), "class"],
1246
+ referencedClasses: []
1247
+ }),
1248
+ smalltalk.String);
1249
+
1250
+ smalltalk.addMethod(
1251
+ unescape('_size'),
1252
+ smalltalk.method({
1253
+ selector: unescape('size'),
1254
+ category: 'accessing',
1255
+ fn: function (){
1256
+ var self=this;
1257
+ return self.length;
1258
+ return self;},
1259
+ args: [],
1260
+ source: unescape('size%0A%09%3Creturn%20self.length%3E'),
1261
+ messageSends: [],
1262
+ referencedClasses: []
1263
+ }),
1264
+ smalltalk.String);
1265
+
1266
+ smalltalk.addMethod(
1267
+ unescape('_at_ifAbsent_'),
1268
+ smalltalk.method({
1269
+ selector: unescape('at%3AifAbsent%3A'),
1270
+ category: 'accessing',
1271
+ fn: function (anIndex, aBlock){
1272
+ var self=this;
1273
+ return self[anIndex - 1] || aBlock();
1274
+ return self;},
1275
+ args: ["anIndex", "aBlock"],
1276
+ source: unescape('at%3A%20anIndex%20ifAbsent%3A%20aBlock%0A%09%3Creturn%20self%5BanIndex%20-%201%5D%20%7C%7C%20aBlock%28%29%3E'),
1277
+ messageSends: [],
1278
+ referencedClasses: []
1279
+ }),
1280
+ smalltalk.String);
1281
+
1282
+ smalltalk.addMethod(
1283
+ unescape('_escaped'),
1284
+ smalltalk.method({
1285
+ selector: unescape('escaped'),
1286
+ category: 'accessing',
1287
+ fn: function (){
1288
+ var self=this;
1289
+ return escape(self);
1290
+ return self;},
1291
+ args: [],
1292
+ source: unescape('escaped%0A%09%3Creturn%20escape%28self%29%3E'),
1293
+ messageSends: [],
1294
+ referencedClasses: []
1295
+ }),
1296
+ smalltalk.String);
1297
+
1298
+ smalltalk.addMethod(
1299
+ unescape('_unescaped'),
1300
+ smalltalk.method({
1301
+ selector: unescape('unescaped'),
1302
+ category: 'accessing',
1303
+ fn: function (){
1304
+ var self=this;
1305
+ return unescape(self);
1306
+ return self;},
1307
+ args: [],
1308
+ source: unescape('unescaped%0A%09%3Creturn%20unescape%28self%29%3E'),
1309
+ messageSends: [],
1310
+ referencedClasses: []
1311
+ }),
1312
+ smalltalk.String);
1313
+
1314
+ smalltalk.addMethod(
1315
+ unescape('__comma'),
1316
+ smalltalk.method({
1317
+ selector: unescape('%2C'),
1318
+ category: 'copying',
1319
+ fn: function (aString){
1320
+ var self=this;
1321
+ return self + aString;
1322
+ return self;},
1323
+ args: ["aString"],
1324
+ source: unescape('%2C%20aString%0A%09%3Creturn%20self%20+%20aString%3E'),
1325
+ messageSends: [],
1326
+ referencedClasses: []
1327
+ }),
1328
+ smalltalk.String);
1329
+
1330
+ smalltalk.addMethod(
1331
+ unescape('_copyFrom_to_'),
1332
+ smalltalk.method({
1333
+ selector: unescape('copyFrom%3Ato%3A'),
1334
+ category: 'copying',
1335
+ fn: function (anIndex, anotherIndex){
1336
+ var self=this;
1337
+ return self.substring(anIndex - 1, anotherIndex);
1338
+ return self;},
1339
+ args: ["anIndex", "anotherIndex"],
1340
+ source: unescape('copyFrom%3A%20anIndex%20to%3A%20anotherIndex%0A%09%3Creturn%20self.substring%28anIndex%20-%201%2C%20anotherIndex%29%3E'),
1341
+ messageSends: [],
1342
+ referencedClasses: []
1343
+ }),
1344
+ smalltalk.String);
1345
+
1346
+ smalltalk.addMethod(
1347
+ unescape('_shallowCopy'),
1348
+ smalltalk.method({
1349
+ selector: unescape('shallowCopy'),
1350
+ category: 'copying',
1351
+ fn: function (){
1352
+ var self=this;
1353
+ return smalltalk.send(smalltalk.send(self, "_class", []), "_fromString_", [self]);
1354
+ return self;},
1355
+ args: [],
1356
+ source: unescape('shallowCopy%0A%09%5Eself%20class%20fromString%3A%20self'),
1357
+ messageSends: ["fromString:", "class"],
1358
+ referencedClasses: []
1359
+ }),
1360
+ smalltalk.String);
1361
+
1362
+ smalltalk.addMethod(
1363
+ unescape('_deepCopy'),
1364
+ smalltalk.method({
1365
+ selector: unescape('deepCopy'),
1366
+ category: 'copying',
1367
+ fn: function (){
1368
+ var self=this;
1369
+ return smalltalk.send(self, "_shallowCopy", []);
1370
+ return self;},
1371
+ args: [],
1372
+ source: unescape('deepCopy%0A%09%5Eself%20shallowCopy'),
1373
+ messageSends: ["shallowCopy"],
1374
+ referencedClasses: []
1375
+ }),
1376
+ smalltalk.String);
1377
+
1378
+ smalltalk.addMethod(
1379
+ unescape('_asSelector'),
1380
+ smalltalk.method({
1381
+ selector: unescape('asSelector'),
1382
+ category: 'converting',
1383
+ fn: function (){
1384
+ var self=this;
1385
+ var selector=nil;
1386
+ (selector=smalltalk.send("_", "__comma", [self]));
1387
+ (selector=smalltalk.send(selector, "_replace_with_", [":", "_"]));
1388
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("%5B+%5D"), "_plus"]));
1389
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("-"), "_minus"]));
1390
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("%5B*%5D"), "_star"]));
1391
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("%5B/%5D"), "_slash"]));
1392
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("%3E"), "_gt"]));
1393
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("%3C"), "_lt"]));
1394
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("%3D"), "_eq"]));
1395
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("%2C"), "_comma"]));
1396
+ (selector=smalltalk.send(selector, "_replace_with_", [unescape("%5B@%5D"), "_at"]));
1397
+ return selector;
1398
+ return self;},
1399
+ args: [],
1400
+ source: unescape('asSelector%0A%09%22If%20you%20change%20this%20method%2C%20change%20smalltalk.convertSelector%20too%20%28see%20js/boot.js%20file%29%22%0A%0A%09%7C%20selector%20%7C%0A%09selector%20%3A%3D%20%27_%27%2C%20self.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%3A%27%20with%3A%20%27_%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%5B+%5D%27%20with%3A%20%27_plus%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27-%27%20with%3A%20%27_minus%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%5B*%5D%27%20with%3A%20%27_star%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%5B/%5D%27%20with%3A%20%27_slash%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%3E%27%20with%3A%20%27_gt%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%3C%27%20with%3A%20%27_lt%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%3D%27%20with%3A%20%27_eq%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%2C%27%20with%3A%20%27_comma%27.%0A%09selector%20%3A%3D%20selector%20replace%3A%20%27%5B@%5D%27%20with%3A%20%27_at%27.%0A%09%5Eselector'),
1401
+ messageSends: [unescape("%2C"), "replace:with:"],
1402
+ referencedClasses: []
1403
+ }),
1404
+ smalltalk.String);
1405
+
1406
+ smalltalk.addMethod(
1407
+ unescape('_asJavascript'),
1408
+ smalltalk.method({
1409
+ selector: unescape('asJavascript'),
1410
+ category: 'converting',
1411
+ fn: function (){
1412
+ var self=this;
1413
+
1414
+ if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)
1415
+ return "unescape(\"" + escape(self) + "\")";
1416
+ else
1417
+ return "\"" + self + "\"";
1418
+ ;
1419
+ return self;},
1420
+ args: [],
1421
+ source: unescape('asJavascript%0A%09%3C%0A%09%09if%28self.search%28/%5E%5Ba-zA-Z0-9_%3A.%24%20%5D*%24/%29%20%3D%3D%20-1%29%0A%09%09%09return%20%22unescape%28%5C%22%22%20+%20escape%28self%29%20+%20%22%5C%22%29%22%3B%0A%09%09else%0A%09%09%09return%20%22%5C%22%22%20+%20self%20+%20%22%5C%22%22%3B%0A%09%3E'),
1422
+ messageSends: [],
1423
+ referencedClasses: []
1424
+ }),
1425
+ smalltalk.String);
1426
+
1427
+ smalltalk.addMethod(
1428
+ unescape('_replace_with_'),
1429
+ smalltalk.method({
1430
+ selector: unescape('replace%3Awith%3A'),
1431
+ category: 'regular expressions',
1432
+ fn: function (aString, anotherString){
1433
+ var self=this;
1434
+ return smalltalk.send(self, "_replaceRegexp_with_", [smalltalk.send((smalltalk.RegularExpression || RegularExpression), "_fromString_flag_", [aString, "g"]), anotherString]);
1435
+ return self;},
1436
+ args: ["aString", "anotherString"],
1437
+ source: unescape('replace%3A%20aString%20with%3A%20anotherString%0A%09%5Eself%20replaceRegexp%3A%20%28RegularExpression%20fromString%3A%20aString%20flag%3A%20%27g%27%29%20with%3A%20anotherString'),
1438
+ messageSends: ["replaceRegexp:with:", "fromString:flag:"],
1439
+ referencedClasses: ["RegularExpression"]
1440
+ }),
1441
+ smalltalk.String);
1442
+
1443
+ smalltalk.addMethod(
1444
+ unescape('_replaceRegexp_with_'),
1445
+ smalltalk.method({
1446
+ selector: unescape('replaceRegexp%3Awith%3A'),
1447
+ category: 'regular expressions',
1448
+ fn: function (aRegexp, aString){
1449
+ var self=this;
1450
+ return self.replace(aRegexp, aString);
1451
+ return self;},
1452
+ args: ["aRegexp", "aString"],
1453
+ source: unescape('replaceRegexp%3A%20aRegexp%20with%3A%20aString%0A%09%3Creturn%20self.replace%28aRegexp%2C%20aString%29%3E'),
1454
+ messageSends: [],
1455
+ referencedClasses: []
1456
+ }),
1457
+ smalltalk.String);
1458
+
1459
+ smalltalk.addMethod(
1460
+ unescape('_tokenize_'),
1461
+ smalltalk.method({
1462
+ selector: unescape('tokenize%3A'),
1463
+ category: 'converting',
1464
+ fn: function (aString){
1465
+ var self=this;
1466
+ return self.split(aString);
1467
+ return self;},
1468
+ args: ["aString"],
1469
+ source: unescape('tokenize%3A%20aString%0A%09%3Creturn%20self.split%28aString%29%3E'),
1470
+ messageSends: [],
1471
+ referencedClasses: []
1472
+ }),
1473
+ smalltalk.String);
1474
+
1475
+ smalltalk.addMethod(
1476
+ unescape('_match_'),
1477
+ smalltalk.method({
1478
+ selector: unescape('match%3A'),
1479
+ category: 'regular expressions',
1480
+ fn: function (aRegexp){
1481
+ var self=this;
1482
+ return self.search(aRegexp) != -1;
1483
+ return self;},
1484
+ args: ["aRegexp"],
1485
+ source: unescape('match%3A%20aRegexp%0A%09%3Creturn%20self.search%28aRegexp%29%20%21%3D%20-1%3E'),
1486
+ messageSends: [],
1487
+ referencedClasses: []
1488
+ }),
1489
+ smalltalk.String);
1490
+
1491
+ smalltalk.addMethod(
1492
+ unescape('_asString'),
1493
+ smalltalk.method({
1494
+ selector: unescape('asString'),
1495
+ category: 'converting',
1496
+ fn: function (){
1497
+ var self=this;
1498
+ return self;
1499
+ return self;},
1500
+ args: [],
1501
+ source: unescape('asString%0A%09%5Eself'),
1502
+ messageSends: [],
1503
+ referencedClasses: []
1504
+ }),
1505
+ smalltalk.String);
1506
+
1507
+ smalltalk.addMethod(
1508
+ unescape('_asNumber'),
1509
+ smalltalk.method({
1510
+ selector: unescape('asNumber'),
1511
+ category: 'converting',
1512
+ fn: function (){
1513
+ var self=this;
1514
+ return Number(self);
1515
+ return self;},
1516
+ args: [],
1517
+ source: unescape('asNumber%0A%09%3Creturn%20Number%28self%29%3E'),
1518
+ messageSends: [],
1519
+ referencedClasses: []
1520
+ }),
1521
+ smalltalk.String);
1522
+
1523
+ smalltalk.addMethod(
1524
+ unescape('_printString'),
1525
+ smalltalk.method({
1526
+ selector: unescape('printString'),
1527
+ category: 'printing',
1528
+ fn: function (){
1529
+ var self=this;
1530
+ return smalltalk.send(smalltalk.send(unescape("%27"), "__comma", [self]), "__comma", [unescape("%27")]);
1531
+ return self;},
1532
+ args: [],
1533
+ source: unescape('printString%0A%09%5E%27%27%27%27%2C%20self%2C%20%27%27%27%27'),
1534
+ messageSends: [unescape("%2C")],
1535
+ referencedClasses: []
1536
+ }),
1537
+ smalltalk.String);
1538
+
1539
+ smalltalk.addMethod(
1540
+ unescape('_printNl'),
1541
+ smalltalk.method({
1542
+ selector: unescape('printNl'),
1543
+ category: 'printing',
1544
+ fn: function (){
1545
+ var self=this;
1546
+ console.log(self);
1547
+ return self;},
1548
+ args: [],
1549
+ source: unescape('printNl%0A%09%3Cconsole.log%28self%29%3E'),
1550
+ messageSends: [],
1551
+ referencedClasses: []
1552
+ }),
1553
+ smalltalk.String);
1554
+
1555
+ smalltalk.addMethod(
1556
+ unescape('_isString'),
1557
+ smalltalk.method({
1558
+ selector: unescape('isString'),
1559
+ category: 'testing',
1560
+ fn: function (){
1561
+ var self=this;
1562
+ return true;
1563
+ return self;},
1564
+ args: [],
1565
+ source: unescape('isString%0A%09%5Etrue'),
1566
+ messageSends: [],
1567
+ referencedClasses: []
1568
+ }),
1569
+ smalltalk.String);
1570
+
1571
+ smalltalk.addMethod(
1572
+ unescape('__gt'),
1573
+ smalltalk.method({
1574
+ selector: unescape('%3E'),
1575
+ category: 'comparing',
1576
+ fn: function (aString){
1577
+ var self=this;
1578
+ return String(self) > aString._asString();
1579
+ return self;},
1580
+ args: ["aString"],
1581
+ source: unescape('%3E%20aString%0A%09%3Creturn%20String%28self%29%20%3E%3E%20aString._asString%28%29%3E'),
1582
+ messageSends: [],
1583
+ referencedClasses: []
1584
+ }),
1585
+ smalltalk.String);
1586
+
1587
+ smalltalk.addMethod(
1588
+ unescape('__lt'),
1589
+ smalltalk.method({
1590
+ selector: unescape('%3C'),
1591
+ category: 'comparing',
1592
+ fn: function (aString){
1593
+ var self=this;
1594
+ return String(self) < aString._asString();
1595
+ return self;},
1596
+ args: ["aString"],
1597
+ source: unescape('%3C%20aString%0A%09%3Creturn%20String%28self%29%20%3C%20aString._asString%28%29%3E'),
1598
+ messageSends: [],
1599
+ referencedClasses: []
1600
+ }),
1601
+ smalltalk.String);
1602
+
1603
+ smalltalk.addMethod(
1604
+ unescape('__gt_eq'),
1605
+ smalltalk.method({
1606
+ selector: unescape('%3E%3D'),
1607
+ category: 'comparing',
1608
+ fn: function (aString){
1609
+ var self=this;
1610
+ return String(self) >= aString._asString();
1611
+ return self;},
1612
+ args: ["aString"],
1613
+ source: unescape('%3E%3D%20aString%0A%09%3Creturn%20String%28self%29%20%3E%3E%3D%20aString._asString%28%29%3E'),
1614
+ messageSends: [],
1615
+ referencedClasses: []
1616
+ }),
1617
+ smalltalk.String);
1618
+
1619
+ smalltalk.addMethod(
1620
+ unescape('__lt_eq'),
1621
+ smalltalk.method({
1622
+ selector: unescape('%3C%3D'),
1623
+ category: 'comparing',
1624
+ fn: function (aString){
1625
+ var self=this;
1626
+ return String(self) <= aString._asString();
1627
+ return self;},
1628
+ args: ["aString"],
1629
+ source: unescape('%3C%3D%20aString%0A%09%3Creturn%20String%28self%29%20%3C%3D%20aString._asString%28%29%3E'),
1630
+ messageSends: [],
1631
+ referencedClasses: []
1632
+ }),
1633
+ smalltalk.String);
1634
+
1635
+ smalltalk.addMethod(
1636
+ unescape('_trimLeft_'),
1637
+ smalltalk.method({
1638
+ selector: unescape('trimLeft%3A'),
1639
+ category: 'regular expressions',
1640
+ fn: function (separators){
1641
+ var self=this;
1642
+ return smalltalk.send(self, "_replaceRegexp_with_", [smalltalk.send((smalltalk.RegularExpression || RegularExpression), "_fromString_flag_", [smalltalk.send(smalltalk.send(unescape("%5E%5B"), "__comma", [separators]), "__comma", [unescape("%5D+")]), "g"]), ""]);
1643
+ return self;},
1644
+ args: ["separators"],
1645
+ source: unescape('trimLeft%3A%20separators%0A%0A%09%5Eself%20replaceRegexp%3A%20%28RegularExpression%20fromString%3A%20%27%5E%5B%27%2C%20separators%2C%20%27%5D+%27%20flag%3A%20%27g%27%29%20with%3A%20%27%27'),
1646
+ messageSends: ["replaceRegexp:with:", "fromString:flag:", unescape("%2C")],
1647
+ referencedClasses: ["RegularExpression"]
1648
+ }),
1649
+ smalltalk.String);
1650
+
1651
+ smalltalk.addMethod(
1652
+ unescape('_trimRight_'),
1653
+ smalltalk.method({
1654
+ selector: unescape('trimRight%3A'),
1655
+ category: 'regular expressions',
1656
+ fn: function (separators){
1657
+ var self=this;
1658
+ return smalltalk.send(self, "_replaceRegexp_with_", [smalltalk.send((smalltalk.RegularExpression || RegularExpression), "_fromString_flag_", [smalltalk.send(smalltalk.send(unescape("%5B"), "__comma", [separators]), "__comma", [unescape("%5D+%24")]), "g"]), ""]);
1659
+ return self;},
1660
+ args: ["separators"],
1661
+ source: unescape('trimRight%3A%20separators%0A%0A%09%5Eself%20replaceRegexp%3A%20%28RegularExpression%20fromString%3A%20%27%5B%27%2C%20separators%2C%20%27%5D+%24%27%20flag%3A%20%27g%27%29%20with%3A%20%27%27'),
1662
+ messageSends: ["replaceRegexp:with:", "fromString:flag:", unescape("%2C")],
1663
+ referencedClasses: ["RegularExpression"]
1664
+ }),
1665
+ smalltalk.String);
1666
+
1667
+ smalltalk.addMethod(
1668
+ unescape('_trimLeft'),
1669
+ smalltalk.method({
1670
+ selector: unescape('trimLeft'),
1671
+ category: 'regular expressions',
1672
+ fn: function (){
1673
+ var self=this;
1674
+ return smalltalk.send(self, "_trimLeft_", [unescape("%5Cs")]);
1675
+ return self;},
1676
+ args: [],
1677
+ source: unescape('trimLeft%0A%09%5Eself%20trimLeft%3A%20%27%5Cs%27'),
1678
+ messageSends: ["trimLeft:"],
1679
+ referencedClasses: []
1680
+ }),
1681
+ smalltalk.String);
1682
+
1683
+ smalltalk.addMethod(
1684
+ unescape('_trimRight'),
1685
+ smalltalk.method({
1686
+ selector: unescape('trimRight'),
1687
+ category: 'regular expressions',
1688
+ fn: function (){
1689
+ var self=this;
1690
+ return smalltalk.send(self, "_trimRight_", [unescape("%5Cs")]);
1691
+ return self;},
1692
+ args: [],
1693
+ source: unescape('trimRight%0A%09%5Eself%20trimRight%3A%20%27%5Cs%27'),
1694
+ messageSends: ["trimRight:"],
1695
+ referencedClasses: []
1696
+ }),
1697
+ smalltalk.String);
1698
+
1699
+ smalltalk.addMethod(
1700
+ unescape('_trimBoth'),
1701
+ smalltalk.method({
1702
+ selector: unescape('trimBoth'),
1703
+ category: 'regular expressions',
1704
+ fn: function (){
1705
+ var self=this;
1706
+ return smalltalk.send(self, "_trimBoth_", [unescape("%5Cs")]);
1707
+ return self;},
1708
+ args: [],
1709
+ source: unescape('trimBoth%0A%09%5Eself%20trimBoth%3A%20%27%5Cs%27'),
1710
+ messageSends: ["trimBoth:"],
1711
+ referencedClasses: []
1712
+ }),
1713
+ smalltalk.String);
1714
+
1715
+ smalltalk.addMethod(
1716
+ unescape('_trimBoth_'),
1717
+ smalltalk.method({
1718
+ selector: unescape('trimBoth%3A'),
1719
+ category: 'regular expressions',
1720
+ fn: function (separators){
1721
+ var self=this;
1722
+ return smalltalk.send(smalltalk.send(self, "_trimLeft_", [separators]), "_trimRight_", [separators]);
1723
+ return self;},
1724
+ args: ["separators"],
1725
+ source: unescape('trimBoth%3A%20separators%0A%0A%09%5E%28self%20trimLeft%3A%20separators%29%20trimRight%3A%20separators'),
1726
+ messageSends: ["trimRight:", "trimLeft:"],
1727
+ referencedClasses: []
1728
+ }),
1729
+ smalltalk.String);
1730
+
1731
+ smalltalk.addMethod(
1732
+ unescape('_asLowercase'),
1733
+ smalltalk.method({
1734
+ selector: unescape('asLowercase'),
1735
+ category: 'converting',
1736
+ fn: function (){
1737
+ var self=this;
1738
+ return self.toLowerCase();
1739
+ return self;},
1740
+ args: [],
1741
+ source: unescape('asLowercase%0A%09%3Creturn%20self.toLowerCase%28%29%3E'),
1742
+ messageSends: [],
1743
+ referencedClasses: []
1744
+ }),
1745
+ smalltalk.String);
1746
+
1747
+ smalltalk.addMethod(
1748
+ unescape('_asUppercase'),
1749
+ smalltalk.method({
1750
+ selector: unescape('asUppercase'),
1751
+ category: 'converting',
1752
+ fn: function (){
1753
+ var self=this;
1754
+ return self.toUpperCase();
1755
+ return self;},
1756
+ args: [],
1757
+ source: unescape('asUppercase%0A%09%3Creturn%20self.toUpperCase%28%29%3E'),
1758
+ messageSends: [],
1759
+ referencedClasses: []
1760
+ }),
1761
+ smalltalk.String);
1762
+
1763
+ smalltalk.addMethod(
1764
+ unescape('_join_'),
1765
+ smalltalk.method({
1766
+ selector: unescape('join%3A'),
1767
+ category: 'split join',
1768
+ fn: function (aCollection){
1769
+ var self=this;
1770
+ return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(stream){return smalltalk.send(aCollection, "_do_separatedBy_", [(function(each){return smalltalk.send(stream, "_nextPutAll_", [smalltalk.send(each, "_asString", [])]);}), (function(){return smalltalk.send(stream, "_nextPutAll_", [self]);})]);})]);
1771
+ return self;},
1772
+ args: ["aCollection"],
1773
+ source: unescape('join%3A%20aCollection%20%0A%09%5E%20String%0A%09%09streamContents%3A%20%5B%3Astream%20%7C%20aCollection%0A%09%09%09%09do%3A%20%5B%3Aeach%20%7C%20stream%20nextPutAll%3A%20each%20asString%5D%20%0A%09%09%09%09separatedBy%3A%20%5Bstream%20nextPutAll%3A%20self%5D%5D'),
1774
+ messageSends: ["streamContents:", "do:separatedBy:", "nextPutAll:", "asString"],
1775
+ referencedClasses: ["String"]
1776
+ }),
1777
+ smalltalk.String);
1778
+
1779
+ smalltalk.addMethod(
1780
+ unescape('_includesSubString_'),
1781
+ smalltalk.method({
1782
+ selector: unescape('includesSubString%3A'),
1783
+ category: 'testing',
1784
+ fn: function (subString){
1785
+ var self=this;
1786
+ return self.indexOf(subString) != -1 ;
1787
+ return self;},
1788
+ args: ["subString"],
1789
+ source: unescape('includesSubString%3A%20subString%0A%09%3C%20return%20self.indexOf%28subString%29%20%21%3D%20-1%20%3E'),
1790
+ messageSends: [],
1791
+ referencedClasses: []
1792
+ }),
1793
+ smalltalk.String);
1794
+
1795
+ smalltalk.addMethod(
1796
+ unescape('_asciiValue'),
1797
+ smalltalk.method({
1798
+ selector: unescape('asciiValue'),
1799
+ category: 'accessing',
1800
+ fn: function (){
1801
+ var self=this;
1802
+ return self.charCodeAt(0);;
1803
+ return self;},
1804
+ args: [],
1805
+ source: unescape('asciiValue%0A%09%3Creturn%20self.charCodeAt%280%29%3B%3E'),
1806
+ messageSends: [],
1807
+ referencedClasses: []
1808
+ }),
1809
+ smalltalk.String);
1810
+
1811
+ smalltalk.addMethod(
1812
+ unescape('_lineIndicesDo_'),
1813
+ smalltalk.method({
1814
+ selector: unescape('lineIndicesDo%3A'),
1815
+ category: 'split join',
1816
+ fn: function (aBlock){
1817
+ var self=this;
1818
+ try{var cr=nil;
1819
+ var lf=nil;
1820
+ var start=nil;
1821
+ var sz=nil;
1822
+ var nextLF=nil;
1823
+ var nextCR=nil;
1824
+ (start=(1));
1825
+ (sz=smalltalk.send(self, "_size", []));
1826
+ (cr=smalltalk.send((smalltalk.String || String), "_cr", []));
1827
+ (nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, (1)]));
1828
+ (lf=smalltalk.send((smalltalk.String || String), "_lf", []));
1829
+ (nextLF=smalltalk.send(self, "_indexOf_startingAt_", [lf, (1)]));
1830
+ (function(){while((function(){return ((($receiver = start).klass === smalltalk.Number) ? $receiver <=sz : smalltalk.send($receiver, "__lt_eq", [sz]));})()) {(function(){((($receiver = smalltalk.send(smalltalk.send(nextLF, "__eq", [(0)]), "_and_", [(function(){return smalltalk.send(nextCR, "__eq", [(0)]);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(aBlock, "_value_value_value_", [start, sz, sz]);return (function(){throw({name: 'stReturn', selector: '_lineIndicesDo_', fn: function(){return self}})})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){smalltalk.send(aBlock, "_value_value_value_", [start, sz, sz]);return (function(){throw({name: 'stReturn', selector: '_lineIndicesDo_', fn: function(){return self}})})();})]));return ((($receiver = smalltalk.send(smalltalk.send(nextCR, "__eq", [(0)]), "_or_", [(function(){return smalltalk.send((0) < nextLF, "_and_", [(function(){return ((($receiver = nextLF).klass === smalltalk.Number) ? $receiver <nextCR : smalltalk.send($receiver, "__lt", [nextCR]));})]);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextLF).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextLF]);(start=(1) + nextLF);return (nextLF=smalltalk.send(self, "_indexOf_startingAt_", [lf, start]));})() : (function(){return ((($receiver = smalltalk.send((1) + nextCR, "__eq", [nextLF])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextCR).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextLF]);(start=(1) + nextLF);(nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, start]));return (nextLF=smalltalk.send(self, "_indexOf_startingAt_", [lf, start]));})() : (function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextCR).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextCR]);(start=(1) + nextCR);return (nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, start]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextCR).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextLF]);(start=(1) + nextLF);(nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, start]));return (nextLF=smalltalk.send(self, "_indexOf_startingAt_", [lf, start]));}), (function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextCR).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextCR]);(start=(1) + nextCR);return (nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, start]));})]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextLF).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextLF]);(start=(1) + nextLF);return (nextLF=smalltalk.send(self, "_indexOf_startingAt_", [lf, start]));}), (function(){return ((($receiver = smalltalk.send((1) + nextCR, "__eq", [nextLF])).klass === smalltalk.Boolean) ? ($receiver ? (function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextCR).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextLF]);(start=(1) + nextLF);(nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, start]));return (nextLF=smalltalk.send(self, "_indexOf_startingAt_", [lf, start]));})() : (function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextCR).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextCR]);(start=(1) + nextCR);return (nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, start]));})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextCR).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextLF]);(start=(1) + nextLF);(nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, start]));return (nextLF=smalltalk.send(self, "_indexOf_startingAt_", [lf, start]));}), (function(){smalltalk.send(aBlock, "_value_value_value_", [start, ((($receiver = nextCR).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)])), nextCR]);(start=(1) + nextCR);return (nextCR=smalltalk.send(self, "_indexOf_startingAt_", [cr, start]));})]));})]));})()}})();
1831
+ return self;
1832
+ } catch(e) {if(e.name === 'stReturn' && e.selector === '_lineIndicesDo_'){return e.fn()} throw(e)}},
1833
+ args: ["aBlock"],
1834
+ source: unescape('lineIndicesDo%3A%20aBlock%0A%09%22execute%20aBlock%20with%203%20arguments%20for%20each%20line%3A%0A%09-%20start%20index%20of%20line%0A%09-%20end%20index%20of%20line%20without%20line%20delimiter%0A%09-%20end%20index%20of%20line%20including%20line%20delimiter%28s%29%20CR%2C%20LF%20or%20CRLF%22%0A%09%0A%09%7C%20cr%20lf%20start%20sz%20nextLF%20nextCR%20%7C%0A%09start%20%3A%3D%201.%0A%09sz%20%3A%3D%20self%20size.%0A%09cr%20%3A%3D%20String%20cr.%0A%09nextCR%20%3A%3D%20self%20indexOf%3A%20cr%20startingAt%3A%201.%0A%09lf%20%3A%3D%20String%20lf.%0A%09nextLF%20%3A%3D%20self%20indexOf%3A%20lf%20startingAt%3A%201.%0A%09%5B%20start%20%3C%3D%20sz%20%5D%20whileTrue%3A%20%5B%0A%09%09%28nextLF%20%3D%200%20and%3A%20%5B%20nextCR%20%3D%200%20%5D%29%0A%09%09%09ifTrue%3A%20%5B%20%22No%20more%20CR%2C%20nor%20LF%2C%20the%20string%20is%20over%22%0A%09%09%09%09%09aBlock%20value%3A%20start%20value%3A%20sz%20value%3A%20sz.%0A%09%09%09%09%09%5Eself%20%5D.%0A%09%09%28nextCR%20%3D%200%20or%3A%20%5B%200%20%3C%20nextLF%20and%3A%20%5B%20nextLF%20%3C%20nextCR%20%5D%20%5D%29%0A%09%09%09ifTrue%3A%20%5B%20%22Found%20a%20LF%22%0A%09%09%09%09%09aBlock%20value%3A%20start%20value%3A%20nextLF%20-%201%20value%3A%20nextLF.%0A%09%09%09%09%09start%20%3A%3D%201%20+%20nextLF.%0A%09%09%09%09%09nextLF%20%3A%3D%20self%20indexOf%3A%20lf%20startingAt%3A%20start%20%5D%0A%09%09%09ifFalse%3A%20%5B%201%20+%20nextCR%20%3D%20nextLF%0A%09%09%09%09ifTrue%3A%20%5B%20%22Found%20a%20CR-LF%20pair%22%0A%09%09%09%09%09aBlock%20value%3A%20start%20value%3A%20nextCR%20-%201%20value%3A%20nextLF.%0A%09%09%09%09%09start%20%3A%3D%201%20+%20nextLF.%0A%09%09%09%09%09nextCR%20%3A%3D%20self%20indexOf%3A%20cr%20startingAt%3A%20start.%0A%09%09%09%09%09nextLF%20%3A%3D%20self%20indexOf%3A%20lf%20startingAt%3A%20start%20%5D%0A%09%09%09%09ifFalse%3A%20%5B%20%22Found%20a%20CR%22%0A%09%09%09%09%09aBlock%20value%3A%20start%20value%3A%20nextCR%20-%201%20value%3A%20nextCR.%0A%09%09%09%09%09start%20%3A%3D%201%20+%20nextCR.%0A%09%09%09%09%09nextCR%20%3A%3D%20self%20indexOf%3A%20cr%20startingAt%3A%20start%20%5D%5D%5D'),
1835
+ messageSends: ["size", "cr", "indexOf:startingAt:", "lf", "whileTrue:", unescape("%3C%3D"), "ifTrue:", "and:", unescape("%3D"), "value:value:value:", "ifTrue:ifFalse:", "or:", unescape("%3C"), unescape("-"), unescape("+")],
1836
+ referencedClasses: ["String"]
1837
+ }),
1838
+ smalltalk.String);
1839
+
1840
+ smalltalk.addMethod(
1841
+ unescape('_linesDo_'),
1842
+ smalltalk.method({
1843
+ selector: unescape('linesDo%3A'),
1844
+ category: 'split join',
1845
+ fn: function (aBlock){
1846
+ var self=this;
1847
+ smalltalk.send(self, "_lineIndicesDo_", [(function(start, endWithoutDelimiters, end){return smalltalk.send(aBlock, "_value_", [smalltalk.send(self, "_copyFrom_to_", [start, endWithoutDelimiters])]);})]);
1848
+ return self;},
1849
+ args: ["aBlock"],
1850
+ source: unescape('linesDo%3A%20aBlock%0A%09%22Execute%20aBlock%20with%20each%20line%20in%20this%20string.%20The%20terminating%20line%0A%09delimiters%20CR%2C%20LF%20or%20CRLF%20pairs%20are%20not%20included%20in%20what%20is%20passed%20to%20aBlock%22%0A%0A%09self%20lineIndicesDo%3A%20%5B%3Astart%20%3AendWithoutDelimiters%20%3Aend%20%7C%0A%09%09aBlock%20value%3A%20%28self%20copyFrom%3A%20start%20to%3A%20endWithoutDelimiters%29%5D'),
1851
+ messageSends: ["lineIndicesDo:", "value:", "copyFrom:to:"],
1852
+ referencedClasses: []
1853
+ }),
1854
+ smalltalk.String);
1855
+
1856
+ smalltalk.addMethod(
1857
+ unescape('_lines'),
1858
+ smalltalk.method({
1859
+ selector: unescape('lines'),
1860
+ category: 'split join',
1861
+ fn: function (){
1862
+ var self=this;
1863
+ var lines=nil;
1864
+ (lines=smalltalk.send((smalltalk.Array || Array), "_new", []));
1865
+ smalltalk.send(self, "_linesDo_", [(function(aLine){return smalltalk.send(lines, "_add_", [aLine]);})]);
1866
+ return lines;
1867
+ return self;},
1868
+ args: [],
1869
+ source: unescape('lines%0A%09%22Answer%20an%20array%20of%20lines%20composing%20this%20receiver%20without%20the%20line%20ending%20delimiters.%22%0A%0A%09%7C%20lines%20%7C%0A%09lines%20%3A%3D%20Array%20new.%0A%09self%20linesDo%3A%20%5B%3AaLine%20%7C%20lines%20add%3A%20aLine%5D.%0A%09%5Elines'),
1870
+ messageSends: ["new", "linesDo:", "add:"],
1871
+ referencedClasses: ["Array"]
1872
+ }),
1873
+ smalltalk.String);
1874
+
1875
+ smalltalk.addMethod(
1876
+ unescape('_lineNumber_'),
1877
+ smalltalk.method({
1878
+ selector: unescape('lineNumber%3A'),
1879
+ category: 'split join',
1880
+ fn: function (anIndex){
1881
+ var self=this;
1882
+ try{var lineCount=nil;
1883
+ (lineCount=(0));
1884
+ smalltalk.send(self, "_lineIndicesDo_", [(function(start, endWithoutDelimiters, end){return ((($receiver = smalltalk.send((lineCount=((($receiver = lineCount).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]))), "__eq", [anIndex])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '_lineNumber_', fn: function(){return smalltalk.send(self, "_copyFrom_to_", [start, endWithoutDelimiters])}})})();})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return (function(){throw({name: 'stReturn', selector: '_lineNumber_', fn: function(){return smalltalk.send(self, "_copyFrom_to_", [start, endWithoutDelimiters])}})})();})]));})]);
1885
+ (function(){throw({name: 'stReturn', selector: '_lineNumber_', fn: function(){return nil}})})();
1886
+ return self;
1887
+ } catch(e) {if(e.name === 'stReturn' && e.selector === '_lineNumber_'){return e.fn()} throw(e)}},
1888
+ args: ["anIndex"],
1889
+ source: unescape('lineNumber%3A%20anIndex%0A%09%22Answer%20a%20string%20containing%20the%20characters%20in%20the%20given%20line%20number.%22%0A%0A%09%7C%20lineCount%20%7C%0A%09lineCount%20%3A%3D%200.%0A%09self%20lineIndicesDo%3A%20%5B%3Astart%20%3AendWithoutDelimiters%20%3Aend%20%7C%0A%09%09%28lineCount%20%3A%3D%20lineCount%20+%201%29%20%3D%20anIndex%20ifTrue%3A%20%5B%5Eself%20copyFrom%3A%20start%20to%3A%20endWithoutDelimiters%5D%5D.%0A%09%5Enil'),
1890
+ messageSends: ["lineIndicesDo:", "ifTrue:", unescape("%3D"), unescape("+"), "copyFrom:to:"],
1891
+ referencedClasses: []
1892
+ }),
1893
+ smalltalk.String);
1894
+
1895
+ smalltalk.addMethod(
1896
+ unescape('_reversed'),
1897
+ smalltalk.method({
1898
+ selector: unescape('reversed'),
1899
+ category: 'converting',
1900
+ fn: function (){
1901
+ var self=this;
1902
+ return self.split("").reverse().join("");
1903
+ return self;},
1904
+ args: [],
1905
+ source: unescape('reversed%0A%09%3Creturn%20self.split%28%22%22%29.reverse%28%29.join%28%22%22%29%3E'),
1906
+ messageSends: [],
1907
+ referencedClasses: []
1908
+ }),
1909
+ smalltalk.String);
1910
+
1911
+ smalltalk.addMethod(
1912
+ unescape('_asJavaScriptSelector'),
1913
+ smalltalk.method({
1914
+ selector: unescape('asJavaScriptSelector'),
1915
+ category: 'converting',
1916
+ fn: function (){
1917
+ var self=this;
1918
+ return smalltalk.send(smalltalk.send(smalltalk.send(self, "_asSelector", []), "_replace_with_", [unescape("%5E_"), ""]), "_replace_with_", [unescape("_.*"), ""]);
1919
+ return self;},
1920
+ args: [],
1921
+ source: unescape('asJavaScriptSelector%0A%09%5E%28self%20asSelector%20replace%3A%20%27%5E_%27%20with%3A%20%27%27%29%20replace%3A%20%27_.*%27%20with%3A%20%27%27.'),
1922
+ messageSends: ["replace:with:", "asSelector"],
1923
+ referencedClasses: []
1924
+ }),
1925
+ smalltalk.String);
1926
+
1927
+ smalltalk.addMethod(
1928
+ unescape('_asJSONString'),
1929
+ smalltalk.method({
1930
+ selector: unescape('asJSONString'),
1931
+ category: 'converting',
1932
+ fn: function (){
1933
+ var self=this;
1934
+ return self;
1935
+ return self;},
1936
+ args: [],
1937
+ source: unescape('asJSONString%0A%09%5Eself'),
1938
+ messageSends: [],
1939
+ referencedClasses: []
1940
+ }),
1941
+ smalltalk.String);
1942
+
1943
+ smalltalk.addMethod(
1944
+ unescape('_asSymbol'),
1945
+ smalltalk.method({
1946
+ selector: unescape('asSymbol'),
1947
+ category: 'converting',
1948
+ fn: function (){
1949
+ var self=this;
1950
+ return smalltalk.send((smalltalk.Symbol || Symbol), "_lookup_", [self]);
1951
+ return self;},
1952
+ args: [],
1953
+ source: unescape('asSymbol%0A%09%5ESymbol%20lookup%3A%20self'),
1954
+ messageSends: ["lookup:"],
1955
+ referencedClasses: ["Symbol"]
1956
+ }),
1957
+ smalltalk.String);
1958
+
1959
+
1960
+ smalltalk.addMethod(
1961
+ unescape('_streamClass'),
1962
+ smalltalk.method({
1963
+ selector: unescape('streamClass'),
1964
+ category: 'accessing',
1965
+ fn: function (){
1966
+ var self=this;
1967
+ return (smalltalk.StringStream || StringStream);
1968
+ return self;},
1969
+ args: [],
1970
+ source: unescape('streamClass%0A%09%20%20%20%20%5EStringStream'),
1971
+ messageSends: [],
1972
+ referencedClasses: ["StringStream"]
1973
+ }),
1974
+ smalltalk.String.klass);
1975
+
1976
+ smalltalk.addMethod(
1977
+ unescape('_fromString_'),
1978
+ smalltalk.method({
1979
+ selector: unescape('fromString%3A'),
1980
+ category: 'instance creation',
1981
+ fn: function (aString){
1982
+ var self=this;
1983
+ return new self.fn(aString);
1984
+ return self;},
1985
+ args: ["aString"],
1986
+ source: unescape('fromString%3A%20aString%0A%09%20%20%20%20%3Creturn%20new%20self.fn%28aString%29%3E'),
1987
+ messageSends: [],
1988
+ referencedClasses: []
1989
+ }),
1990
+ smalltalk.String.klass);
1991
+
1992
+ smalltalk.addMethod(
1993
+ unescape('_cr'),
1994
+ smalltalk.method({
1995
+ selector: unescape('cr'),
1996
+ category: 'accessing',
1997
+ fn: function (){
1998
+ var self=this;
1999
+ return '\r';
2000
+ return self;},
2001
+ args: [],
2002
+ source: unescape('cr%0A%09%3Creturn%20%27%5Cr%27%3E'),
2003
+ messageSends: [],
2004
+ referencedClasses: []
2005
+ }),
2006
+ smalltalk.String.klass);
2007
+
2008
+ smalltalk.addMethod(
2009
+ unescape('_lf'),
2010
+ smalltalk.method({
2011
+ selector: unescape('lf'),
2012
+ category: 'accessing',
2013
+ fn: function (){
2014
+ var self=this;
2015
+ return '\n';
2016
+ return self;},
2017
+ args: [],
2018
+ source: unescape('lf%0A%09%3Creturn%20%27%5Cn%27%3E'),
2019
+ messageSends: [],
2020
+ referencedClasses: []
2021
+ }),
2022
+ smalltalk.String.klass);
2023
+
2024
+ smalltalk.addMethod(
2025
+ unescape('_space'),
2026
+ smalltalk.method({
2027
+ selector: unescape('space'),
2028
+ category: 'accessing',
2029
+ fn: function (){
2030
+ var self=this;
2031
+ return ' ';
2032
+ return self;},
2033
+ args: [],
2034
+ source: unescape('space%0A%09%3Creturn%20%27%20%27%3E'),
2035
+ messageSends: [],
2036
+ referencedClasses: []
2037
+ }),
2038
+ smalltalk.String.klass);
2039
+
2040
+ smalltalk.addMethod(
2041
+ unescape('_tab'),
2042
+ smalltalk.method({
2043
+ selector: unescape('tab'),
2044
+ category: 'accessing',
2045
+ fn: function (){
2046
+ var self=this;
2047
+ return '\t';
2048
+ return self;},
2049
+ args: [],
2050
+ source: unescape('tab%0A%09%3Creturn%20%27%5Ct%27%3E'),
2051
+ messageSends: [],
2052
+ referencedClasses: []
2053
+ }),
2054
+ smalltalk.String.klass);
2055
+
2056
+ smalltalk.addMethod(
2057
+ unescape('_crlf'),
2058
+ smalltalk.method({
2059
+ selector: unescape('crlf'),
2060
+ category: 'accessing',
2061
+ fn: function (){
2062
+ var self=this;
2063
+ return '\r\n';
2064
+ return self;},
2065
+ args: [],
2066
+ source: unescape('crlf%0A%09%3Creturn%20%27%5Cr%5Cn%27%3E'),
2067
+ messageSends: [],
2068
+ referencedClasses: []
2069
+ }),
2070
+ smalltalk.String.klass);
2071
+
2072
+ smalltalk.addMethod(
2073
+ unescape('_streamContents_'),
2074
+ smalltalk.method({
2075
+ selector: unescape('streamContents%3A'),
2076
+ category: 'instance creation',
2077
+ fn: function (blockWithArg){
2078
+ var self=this;
2079
+ var stream=nil;
2080
+ (stream=smalltalk.send(smalltalk.send(self, "_streamClass", []), "_on_", [smalltalk.send((smalltalk.String || String), "_new", [])]));
2081
+ smalltalk.send(blockWithArg, "_value_", [stream]);
2082
+ return smalltalk.send(stream, "_contents", []);
2083
+ return self;},
2084
+ args: ["blockWithArg"],
2085
+ source: unescape('streamContents%3A%20blockWithArg%0A%09%7Cstream%7C%0A%09stream%20%3A%3D%20%28self%20streamClass%20on%3A%20String%20new%29.%0A%09blockWithArg%20value%3A%20stream.%0A%09%5E%20stream%20contents'),
2086
+ messageSends: ["on:", "streamClass", "new", "value:", "contents"],
2087
+ referencedClasses: ["String"]
2088
+ }),
2089
+ smalltalk.String.klass);
2090
+
2091
+ smalltalk.addMethod(
2092
+ unescape('_value_'),
2093
+ smalltalk.method({
2094
+ selector: unescape('value%3A'),
2095
+ category: 'instance creation',
2096
+ fn: function (aUTFCharCode){
2097
+ var self=this;
2098
+ return String.fromCharCode(aUTFCharCode);;
2099
+ return self;},
2100
+ args: ["aUTFCharCode"],
2101
+ source: unescape('value%3A%20aUTFCharCode%0A%0A%09%3Creturn%20String.fromCharCode%28aUTFCharCode%29%3B%3E'),
2102
+ messageSends: [],
2103
+ referencedClasses: []
2104
+ }),
2105
+ smalltalk.String.klass);
2106
+
2107
+
2108
+ smalltalk.addClass('Symbol', smalltalk.CharacterArray, [], 'Kernel-Collections');
2109
+ smalltalk.addMethod(
2110
+ unescape('_at_ifAbsent_'),
2111
+ smalltalk.method({
2112
+ selector: unescape('at%3AifAbsent%3A'),
2113
+ category: 'accessing',
2114
+ fn: function (anIndex, aBlock){
2115
+ var self=this;
2116
+ return smalltalk.send(smalltalk.send(self, "_asString", []), "_at_ifAbsent_", [anIndex, aBlock]);
2117
+ return self;},
2118
+ args: ["anIndex", "aBlock"],
2119
+ source: unescape('at%3A%20anIndex%20ifAbsent%3A%20aBlock%0A%09%5Eself%20asString%20at%3A%20anIndex%20ifAbsent%3A%20aBlock'),
2120
+ messageSends: ["at:ifAbsent:", "asString"],
2121
+ referencedClasses: []
2122
+ }),
2123
+ smalltalk.Symbol);
2124
+
2125
+ smalltalk.addMethod(
2126
+ unescape('_asString'),
2127
+ smalltalk.method({
2128
+ selector: unescape('asString'),
2129
+ category: 'converting',
2130
+ fn: function (){
2131
+ var self=this;
2132
+ return self.value;
2133
+ return self;},
2134
+ args: [],
2135
+ source: unescape('asString%0A%09%3Creturn%20self.value%3E'),
2136
+ messageSends: [],
2137
+ referencedClasses: []
2138
+ }),
2139
+ smalltalk.Symbol);
2140
+
2141
+ smalltalk.addMethod(
2142
+ unescape('_printString'),
2143
+ smalltalk.method({
2144
+ selector: unescape('printString'),
2145
+ category: 'printing',
2146
+ fn: function (){
2147
+ var self=this;
2148
+ return smalltalk.send(unescape("%23"), "__comma", [smalltalk.send(self, "_asString", [])]);
2149
+ return self;},
2150
+ args: [],
2151
+ source: unescape('printString%0A%09%5E%27%23%27%2C%20self%20asString'),
2152
+ messageSends: [unescape("%2C"), "asString"],
2153
+ referencedClasses: []
2154
+ }),
2155
+ smalltalk.Symbol);
2156
+
2157
+ smalltalk.addMethod(
2158
+ unescape('_size'),
2159
+ smalltalk.method({
2160
+ selector: unescape('size'),
2161
+ category: 'accessing',
2162
+ fn: function (){
2163
+ var self=this;
2164
+ return smalltalk.send(smalltalk.send(self, "_asString", []), "_size", []);
2165
+ return self;},
2166
+ args: [],
2167
+ source: unescape('size%0A%09%5Eself%20asString%20size'),
2168
+ messageSends: ["size", "asString"],
2169
+ referencedClasses: []
2170
+ }),
2171
+ smalltalk.Symbol);
2172
+
2173
+ smalltalk.addMethod(
2174
+ unescape('_asSymbol'),
2175
+ smalltalk.method({
2176
+ selector: unescape('asSymbol'),
2177
+ category: 'converting',
2178
+ fn: function (){
2179
+ var self=this;
2180
+ return self;
2181
+ return self;},
2182
+ args: [],
2183
+ source: unescape('asSymbol%0A%09%5Eself'),
2184
+ messageSends: [],
2185
+ referencedClasses: []
2186
+ }),
2187
+ smalltalk.Symbol);
2188
+
2189
+ smalltalk.addMethod(
2190
+ unescape('_copyFrom_to_'),
2191
+ smalltalk.method({
2192
+ selector: unescape('copyFrom%3Ato%3A'),
2193
+ category: 'copying',
2194
+ fn: function (anIndex, anotherIndex){
2195
+ var self=this;
2196
+ return smalltalk.send(smalltalk.send(self, "_class", []), "_fromString_", [smalltalk.send(smalltalk.send(self, "_asString", []), "_copyFrom_to_", [anIndex, anotherIndex])]);
2197
+ return self;},
2198
+ args: ["anIndex", "anotherIndex"],
2199
+ source: unescape('copyFrom%3A%20anIndex%20to%3A%20anotherIndex%0A%09%5Eself%20class%20fromString%3A%20%28self%20asString%20copyFrom%3A%20anIndex%20to%3A%20anotherIndex%29'),
2200
+ messageSends: ["fromString:", "class", "copyFrom:to:", "asString"],
2201
+ referencedClasses: []
2202
+ }),
2203
+ smalltalk.Symbol);
2204
+
2205
+ smalltalk.addMethod(
2206
+ unescape('_deepCopy'),
2207
+ smalltalk.method({
2208
+ selector: unescape('deepCopy'),
2209
+ category: 'copying',
2210
+ fn: function (){
2211
+ var self=this;
2212
+ return self;
2213
+ return self;},
2214
+ args: [],
2215
+ source: unescape('deepCopy%0A%09%5Eself'),
2216
+ messageSends: [],
2217
+ referencedClasses: []
2218
+ }),
2219
+ smalltalk.Symbol);
2220
+
2221
+ smalltalk.addMethod(
2222
+ unescape('__lt'),
2223
+ smalltalk.method({
2224
+ selector: unescape('%3C'),
2225
+ category: 'comparing',
2226
+ fn: function (aSymbol){
2227
+ var self=this;
2228
+ return ((($receiver = smalltalk.send(self, "_asString", [])).klass === smalltalk.Number) ? $receiver <smalltalk.send(aSymbol, "_asString", []) : smalltalk.send($receiver, "__lt", [smalltalk.send(aSymbol, "_asString", [])]));
2229
+ return self;},
2230
+ args: ["aSymbol"],
2231
+ source: unescape('%3C%20aSymbol%0A%09%5Eself%20asString%20%3C%20aSymbol%20asString'),
2232
+ messageSends: [unescape("%3C"), "asString"],
2233
+ referencedClasses: []
2234
+ }),
2235
+ smalltalk.Symbol);
2236
+
2237
+ smalltalk.addMethod(
2238
+ unescape('__lt_eq'),
2239
+ smalltalk.method({
2240
+ selector: unescape('%3C%3D'),
2241
+ category: 'comparing',
2242
+ fn: function (aSymbol){
2243
+ var self=this;
2244
+ return ((($receiver = smalltalk.send(self, "_asString", [])).klass === smalltalk.Number) ? $receiver <=smalltalk.send(aSymbol, "_asString", []) : smalltalk.send($receiver, "__lt_eq", [smalltalk.send(aSymbol, "_asString", [])]));
2245
+ return self;},
2246
+ args: ["aSymbol"],
2247
+ source: unescape('%3C%3D%20aSymbol%0A%09%5Eself%20asString%20%3C%3D%20aSymbol%20asString'),
2248
+ messageSends: [unescape("%3C%3D"), "asString"],
2249
+ referencedClasses: []
2250
+ }),
2251
+ smalltalk.Symbol);
2252
+
2253
+ smalltalk.addMethod(
2254
+ unescape('__gt_eq'),
2255
+ smalltalk.method({
2256
+ selector: unescape('%3E%3D'),
2257
+ category: 'comparing',
2258
+ fn: function (aSymbol){
2259
+ var self=this;
2260
+ return ((($receiver = smalltalk.send(self, "_asString", [])).klass === smalltalk.Number) ? $receiver >=smalltalk.send(aSymbol, "_asString", []) : smalltalk.send($receiver, "__gt_eq", [smalltalk.send(aSymbol, "_asString", [])]));
2261
+ return self;},
2262
+ args: ["aSymbol"],
2263
+ source: unescape('%3E%3D%20aSymbol%0A%09%5Eself%20asString%20%3E%3D%20aSymbol%20asString'),
2264
+ messageSends: [unescape("%3E%3D"), "asString"],
2265
+ referencedClasses: []
2266
+ }),
2267
+ smalltalk.Symbol);
2268
+
2269
+ smalltalk.addMethod(
2270
+ unescape('__eq'),
2271
+ smalltalk.method({
2272
+ selector: unescape('%3D'),
2273
+ category: 'comparing',
2274
+ fn: function (aSymbol){
2275
+ var self=this;
2276
+ try{((($receiver = smalltalk.send(smalltalk.send(aSymbol, "_class", []), "__eq", [smalltalk.send(self, "_class", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})]));
2277
+ (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return smalltalk.send(smalltalk.send(self, "_asString", []), "__eq", [smalltalk.send(aSymbol, "_asString", [])])}})})();
2278
+ return self;
2279
+ } catch(e) {if(e.name === 'stReturn' && e.selector === '__eq'){return e.fn()} throw(e)}},
2280
+ args: ["aSymbol"],
2281
+ source: unescape('%3D%20aSymbol%0A%09aSymbol%20class%20%3D%20self%20class%20ifFalse%3A%20%5B%5Efalse%5D.%0A%09%5Eself%20asString%20%3D%20aSymbol%20asString'),
2282
+ messageSends: ["ifFalse:", unescape("%3D"), "class", "asString"],
2283
+ referencedClasses: []
2284
+ }),
2285
+ smalltalk.Symbol);
2286
+
2287
+ smalltalk.addMethod(
2288
+ unescape('_isSymbol'),
2289
+ smalltalk.method({
2290
+ selector: unescape('isSymbol'),
2291
+ category: 'printing',
2292
+ fn: function (){
2293
+ var self=this;
2294
+ return true;
2295
+ return self;},
2296
+ args: [],
2297
+ source: unescape('isSymbol%0A%09%5Etrue'),
2298
+ messageSends: [],
2299
+ referencedClasses: []
2300
+ }),
2301
+ smalltalk.Symbol);
2302
+
2303
+ smalltalk.addMethod(
2304
+ unescape('_asJavascript'),
2305
+ smalltalk.method({
2306
+ selector: unescape('asJavascript'),
2307
+ category: 'converting',
2308
+ fn: function (){
2309
+ var self=this;
2310
+ return smalltalk.send(smalltalk.send(unescape("smalltalk.symbolFor%28%22"), "__comma", [smalltalk.send(self, "_asString", [])]), "__comma", [unescape("%22%29")]);
2311
+ return self;},
2312
+ args: [],
2313
+ source: unescape('asJavascript%0A%09%5E%27smalltalk.symbolFor%28%22%27%2C%20self%20asString%2C%20%27%22%29%27'),
2314
+ messageSends: [unescape("%2C"), "asString"],
2315
+ referencedClasses: []
2316
+ }),
2317
+ smalltalk.Symbol);
2318
+
2319
+ smalltalk.addMethod(
2320
+ unescape('__gt'),
2321
+ smalltalk.method({
2322
+ selector: unescape('%3E'),
2323
+ category: 'comparing',
2324
+ fn: function (aSymbol){
2325
+ var self=this;
2326
+ return ((($receiver = smalltalk.send(self, "_asString", [])).klass === smalltalk.Number) ? $receiver >smalltalk.send(aSymbol, "_asString", []) : smalltalk.send($receiver, "__gt", [smalltalk.send(aSymbol, "_asString", [])]));
2327
+ return self;},
2328
+ args: ["aSymbol"],
2329
+ source: unescape('%3E%20aSymbol%0A%09%5Eself%20asString%20%3E%20aSymbol%20asString'),
2330
+ messageSends: [unescape("%3E"), "asString"],
2331
+ referencedClasses: []
2332
+ }),
2333
+ smalltalk.Symbol);
2334
+
2335
+ smalltalk.addMethod(
2336
+ unescape('_shallowCopy'),
2337
+ smalltalk.method({
2338
+ selector: unescape('shallowCopy'),
2339
+ category: 'copying',
2340
+ fn: function (){
2341
+ var self=this;
2342
+ return self;
2343
+ return self;},
2344
+ args: [],
2345
+ source: unescape('shallowCopy%0A%09%5Eself'),
2346
+ messageSends: [],
2347
+ referencedClasses: []
2348
+ }),
2349
+ smalltalk.Symbol);
2350
+
2351
+ smalltalk.addMethod(
2352
+ unescape('_asSelector'),
2353
+ smalltalk.method({
2354
+ selector: unescape('asSelector'),
2355
+ category: 'converting',
2356
+ fn: function (){
2357
+ var self=this;
2358
+ return smalltalk.send(smalltalk.send(self, "_asString", []), "_asSelector", []);
2359
+ return self;},
2360
+ args: [],
2361
+ source: unescape('asSelector%0A%09%5Eself%20asString%20asSelector'),
2362
+ messageSends: ["asSelector", "asString"],
2363
+ referencedClasses: []
2364
+ }),
2365
+ smalltalk.Symbol);
2366
+
2367
+
2368
+ smalltalk.addMethod(
2369
+ unescape('_lookup_'),
2370
+ smalltalk.method({
2371
+ selector: unescape('lookup%3A'),
2372
+ category: 'instance creation',
2373
+ fn: function (aString){
2374
+ var self=this;
2375
+ return smalltalk.symbolFor(aString);;
2376
+ return self;},
2377
+ args: ["aString"],
2378
+ source: unescape('lookup%3A%20aString%0A%09%3Creturn%20smalltalk.symbolFor%28aString%29%3B%3E'),
2379
+ messageSends: [],
2380
+ referencedClasses: []
2381
+ }),
2382
+ smalltalk.Symbol.klass);
2383
+
2384
+ smalltalk.addMethod(
2385
+ unescape('_basicNew'),
2386
+ smalltalk.method({
2387
+ selector: unescape('basicNew'),
2388
+ category: 'instance creation',
2389
+ fn: function (){
2390
+ var self=this;
2391
+ smalltalk.send(self, "_shouldNotImplement", []);
2392
+ return self;},
2393
+ args: [],
2394
+ source: unescape('basicNew%0A%09self%20shouldNotImplement'),
2395
+ messageSends: ["shouldNotImplement"],
2396
+ referencedClasses: []
2397
+ }),
2398
+ smalltalk.Symbol.klass);
2399
+
2400
+ smalltalk.addMethod(
2401
+ unescape('_fromString_'),
2402
+ smalltalk.method({
2403
+ selector: unescape('fromString%3A'),
2404
+ category: 'instance creation',
2405
+ fn: function (aString){
2406
+ var self=this;
2407
+ return smalltalk.send(self, "_lookup_", [aString]);
2408
+ return self;},
2409
+ args: ["aString"],
2410
+ source: unescape('fromString%3A%20aString%0A%09%5Eself%20lookup%3A%20aString'),
2411
+ messageSends: ["lookup:"],
2412
+ referencedClasses: []
2413
+ }),
2414
+ smalltalk.Symbol.klass);
2415
+
2416
+
2417
+ smalltalk.addClass('Array', smalltalk.SequenceableCollection, [], 'Kernel-Collections');
2418
+ smalltalk.addMethod(
2419
+ unescape('_size'),
2420
+ smalltalk.method({
2421
+ selector: unescape('size'),
2422
+ category: 'accessing',
2423
+ fn: function (){
2424
+ var self=this;
2425
+ return self.length;
2426
+ return self;},
2427
+ args: [],
2428
+ source: unescape('size%0A%09%3Creturn%20self.length%3E'),
2429
+ messageSends: [],
2430
+ referencedClasses: []
2431
+ }),
2432
+ smalltalk.Array);
2433
+
2434
+ smalltalk.addMethod(
2435
+ unescape('_at_put_'),
2436
+ smalltalk.method({
2437
+ selector: unescape('at%3Aput%3A'),
2438
+ category: 'accessing',
2439
+ fn: function (anIndex, anObject){
2440
+ var self=this;
2441
+ return self[anIndex - 1] = anObject;
2442
+ return self;},
2443
+ args: ["anIndex", "anObject"],
2444
+ source: unescape('at%3A%20anIndex%20put%3A%20anObject%0A%09%3Creturn%20self%5BanIndex%20-%201%5D%20%3D%20anObject%3E'),
2445
+ messageSends: [],
2446
+ referencedClasses: []
2447
+ }),
2448
+ smalltalk.Array);
2449
+
2450
+ smalltalk.addMethod(
2451
+ unescape('_at_ifAbsent_'),
2452
+ smalltalk.method({
2453
+ selector: unescape('at%3AifAbsent%3A'),
2454
+ category: 'accessing',
2455
+ fn: function (anIndex, aBlock){
2456
+ var self=this;
2457
+
2458
+ var value = self[anIndex - 1];
2459
+ if(value === undefined) {
2460
+ return aBlock();
2461
+ } else {
2462
+ return value;
2463
+ }
2464
+ ;
2465
+ return self;},
2466
+ args: ["anIndex", "aBlock"],
2467
+ source: unescape('at%3A%20anIndex%20ifAbsent%3A%20aBlock%0A%09%3C%0A%09%20%20%20%20var%20value%20%3D%20self%5BanIndex%20-%201%5D%3B%0A%09%20%20%20%20if%28value%20%3D%3D%3D%20undefined%29%20%7B%0A%09%09return%20aBlock%28%29%3B%0A%09%20%20%20%20%7D%20else%20%7B%0A%09%09return%20value%3B%0A%09%20%20%20%20%7D%0A%09%3E'),
2468
+ messageSends: [],
2469
+ referencedClasses: []
2470
+ }),
2471
+ smalltalk.Array);
2472
+
2473
+ smalltalk.addMethod(
2474
+ unescape('_add_'),
2475
+ smalltalk.method({
2476
+ selector: unescape('add%3A'),
2477
+ category: 'adding/removing',
2478
+ fn: function (anObject){
2479
+ var self=this;
2480
+ self.push(anObject); return anObject;;
2481
+ return self;},
2482
+ args: ["anObject"],
2483
+ source: unescape('add%3A%20anObject%0A%09%3Cself.push%28anObject%29%3B%20return%20anObject%3B%3E'),
2484
+ messageSends: [],
2485
+ referencedClasses: []
2486
+ }),
2487
+ smalltalk.Array);
2488
+
2489
+ smalltalk.addMethod(
2490
+ unescape('_join_'),
2491
+ smalltalk.method({
2492
+ selector: unescape('join%3A'),
2493
+ category: 'enumerating',
2494
+ fn: function (aString){
2495
+ var self=this;
2496
+ return self.join(aString);
2497
+ return self;},
2498
+ args: ["aString"],
2499
+ source: unescape('join%3A%20aString%0A%09%3Creturn%20self.join%28aString%29%3E'),
2500
+ messageSends: [],
2501
+ referencedClasses: []
2502
+ }),
2503
+ smalltalk.Array);
2504
+
2505
+ smalltalk.addMethod(
2506
+ unescape('_asJavascript'),
2507
+ smalltalk.method({
2508
+ selector: unescape('asJavascript'),
2509
+ category: 'converting',
2510
+ fn: function (){
2511
+ var self=this;
2512
+ return smalltalk.send(smalltalk.send(unescape("%5B"), "__comma", [smalltalk.send(smalltalk.send(self, "_collect_", [(function(each){return smalltalk.send(each, "_asJavascript", []);})]), "_join_", [unescape("%2C%20")])]), "__comma", [unescape("%5D")]);
2513
+ return self;},
2514
+ args: [],
2515
+ source: unescape('asJavascript%0A%09%5E%27%5B%27%2C%20%28%28self%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJavascript%5D%29%20join%3A%20%27%2C%20%27%29%2C%20%20%27%5D%27'),
2516
+ messageSends: [unescape("%2C"), "join:", "collect:", "asJavascript"],
2517
+ referencedClasses: []
2518
+ }),
2519
+ smalltalk.Array);
2520
+
2521
+ smalltalk.addMethod(
2522
+ unescape('_sort'),
2523
+ smalltalk.method({
2524
+ selector: unescape('sort'),
2525
+ category: 'enumerating',
2526
+ fn: function (){
2527
+ var self=this;
2528
+ return smalltalk.send(self, "_basicPerform_", ["sort"]);
2529
+ return self;},
2530
+ args: [],
2531
+ source: unescape('sort%0A%20%20%20%20%5Eself%20basicPerform%3A%20%27sort%27'),
2532
+ messageSends: ["basicPerform:"],
2533
+ referencedClasses: []
2534
+ }),
2535
+ smalltalk.Array);
2536
+
2537
+ smalltalk.addMethod(
2538
+ unescape('_sort_'),
2539
+ smalltalk.method({
2540
+ selector: unescape('sort%3A'),
2541
+ category: 'enumerating',
2542
+ fn: function (aBlock){
2543
+ var self=this;
2544
+
2545
+ return self.sort(function(a, b) {
2546
+ if(aBlock(a,b)) {return -1} else {return 1}
2547
+ })
2548
+ ;
2549
+ return self;},
2550
+ args: ["aBlock"],
2551
+ source: unescape('sort%3A%20aBlock%0A%09%3C%0A%09%09return%20self.sort%28function%28a%2C%20b%29%20%7B%0A%09%09%09if%28aBlock%28a%2Cb%29%29%20%7Breturn%20-1%7D%20else%20%7Breturn%201%7D%0A%09%09%7D%29%0A%09%3E'),
2552
+ messageSends: [],
2553
+ referencedClasses: []
2554
+ }),
2555
+ smalltalk.Array);
2556
+
2557
+ smalltalk.addMethod(
2558
+ unescape('_remove_'),
2559
+ smalltalk.method({
2560
+ selector: unescape('remove%3A'),
2561
+ category: 'adding/removing',
2562
+ fn: function (anObject){
2563
+ var self=this;
2564
+
2565
+ for(var i=0;i<self.length;i++) {
2566
+ if(self[i] == anObject) {
2567
+ self.splice(i,1);
2568
+ break;
2569
+ }
2570
+ }
2571
+ ;
2572
+ return self;},
2573
+ args: ["anObject"],
2574
+ source: unescape('remove%3A%20anObject%0A%09%3C%0A%09%09for%28var%20i%3D0%3Bi%3Cself.length%3Bi++%29%20%7B%0A%09%09%09if%28self%5Bi%5D%20%3D%3D%20anObject%29%20%7B%0A%09%09%09%09self.splice%28i%2C1%29%3B%0A%09%09%09%09break%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%3E'),
2575
+ messageSends: [],
2576
+ referencedClasses: []
2577
+ }),
2578
+ smalltalk.Array);
2579
+
2580
+ smalltalk.addMethod(
2581
+ unescape('_sorted'),
2582
+ smalltalk.method({
2583
+ selector: unescape('sorted'),
2584
+ category: 'enumerating',
2585
+ fn: function (){
2586
+ var self=this;
2587
+ return smalltalk.send(smalltalk.send(self, "_copy", []), "_sort", []);
2588
+ return self;},
2589
+ args: [],
2590
+ source: unescape('sorted%0A%09%5Eself%20copy%20sort'),
2591
+ messageSends: ["sort", "copy"],
2592
+ referencedClasses: []
2593
+ }),
2594
+ smalltalk.Array);
2595
+
2596
+ smalltalk.addMethod(
2597
+ unescape('_sorted_'),
2598
+ smalltalk.method({
2599
+ selector: unescape('sorted%3A'),
2600
+ category: 'enumerating',
2601
+ fn: function (aBlock){
2602
+ var self=this;
2603
+ return smalltalk.send(smalltalk.send(self, "_copy", []), "_sort_", [aBlock]);
2604
+ return self;},
2605
+ args: ["aBlock"],
2606
+ source: unescape('sorted%3A%20aBlock%0A%09%5Eself%20copy%20sort%3A%20aBlock'),
2607
+ messageSends: ["sort:", "copy"],
2608
+ referencedClasses: []
2609
+ }),
2610
+ smalltalk.Array);
2611
+
2612
+ smalltalk.addMethod(
2613
+ unescape('_removeFrom_to_'),
2614
+ smalltalk.method({
2615
+ selector: unescape('removeFrom%3Ato%3A'),
2616
+ category: 'adding/removing',
2617
+ fn: function (aNumber, anotherNumber){
2618
+ var self=this;
2619
+ self.splice(aNumber - 1,anotherNumber - 1);
2620
+ return self;},
2621
+ args: ["aNumber", "anotherNumber"],
2622
+ source: unescape('removeFrom%3A%20aNumber%20to%3A%20anotherNumber%0A%09%3Cself.splice%28aNumber%20-%201%2CanotherNumber%20-%201%29%3E'),
2623
+ messageSends: [],
2624
+ referencedClasses: []
2625
+ }),
2626
+ smalltalk.Array);
2627
+
2628
+ smalltalk.addMethod(
2629
+ unescape('_reversed'),
2630
+ smalltalk.method({
2631
+ selector: unescape('reversed'),
2632
+ category: 'converting',
2633
+ fn: function (){
2634
+ var self=this;
2635
+ return self._copy().reverse();
2636
+ return self;},
2637
+ args: [],
2638
+ source: unescape('reversed%0A%09%3Creturn%20self._copy%28%29.reverse%28%29%3E'),
2639
+ messageSends: [],
2640
+ referencedClasses: []
2641
+ }),
2642
+ smalltalk.Array);
2643
+
2644
+
2645
+ smalltalk.addMethod(
2646
+ unescape('_new_'),
2647
+ smalltalk.method({
2648
+ selector: unescape('new%3A'),
2649
+ category: 'instance creation',
2650
+ fn: function (anInteger){
2651
+ var self=this;
2652
+ return new Array(anInteger);
2653
+ return self;},
2654
+ args: ["anInteger"],
2655
+ source: unescape('new%3A%20anInteger%0A%09%3Creturn%20new%20Array%28anInteger%29%3E'),
2656
+ messageSends: [],
2657
+ referencedClasses: []
2658
+ }),
2659
+ smalltalk.Array.klass);
2660
+
2661
+ smalltalk.addMethod(
2662
+ unescape('_with_'),
2663
+ smalltalk.method({
2664
+ selector: unescape('with%3A'),
2665
+ category: 'instance creation',
2666
+ fn: function (anObject){
2667
+ var self=this;
2668
+ return (function($rec){smalltalk.send($rec, "_at_put_", [(1), anObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new_", [(1)]));
2669
+ return self;},
2670
+ args: ["anObject"],
2671
+ source: unescape('with%3A%20anObject%0A%09%20%20%20%20%5E%28self%20new%3A%201%29%0A%09%09at%3A%201%20put%3A%20anObject%3B%0A%09%09yourself'),
2672
+ messageSends: ["at:put:", "yourself", "new:"],
2673
+ referencedClasses: []
2674
+ }),
2675
+ smalltalk.Array.klass);
2676
+
2677
+ smalltalk.addMethod(
2678
+ unescape('_with_with_'),
2679
+ smalltalk.method({
2680
+ selector: unescape('with%3Awith%3A'),
2681
+ category: 'instance creation',
2682
+ fn: function (anObject, anObject2){
2683
+ var self=this;
2684
+ return (function($rec){smalltalk.send($rec, "_at_put_", [(1), anObject]);smalltalk.send($rec, "_at_put_", [(2), anObject2]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new_", [(2)]));
2685
+ return self;},
2686
+ args: ["anObject", "anObject2"],
2687
+ source: unescape('with%3A%20anObject%20with%3A%20anObject2%0A%09%20%20%20%20%5E%28self%20new%3A%202%29%0A%09%09at%3A%201%20put%3A%20anObject%3B%0A%09%09at%3A%202%20put%3A%20anObject2%3B%0A%09%09yourself'),
2688
+ messageSends: ["at:put:", "yourself", "new:"],
2689
+ referencedClasses: []
2690
+ }),
2691
+ smalltalk.Array.klass);
2692
+
2693
+ smalltalk.addMethod(
2694
+ unescape('_with_with_with_'),
2695
+ smalltalk.method({
2696
+ selector: unescape('with%3Awith%3Awith%3A'),
2697
+ category: 'instance creation',
2698
+ fn: function (anObject, anObject2, anObject3){
2699
+ var self=this;
2700
+ return (function($rec){smalltalk.send($rec, "_at_put_", [(1), anObject]);smalltalk.send($rec, "_at_put_", [(2), anObject2]);smalltalk.send($rec, "_at_put_", [(3), anObject3]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new_", [(3)]));
2701
+ return self;},
2702
+ args: ["anObject", "anObject2", "anObject3"],
2703
+ source: unescape('with%3A%20anObject%20with%3A%20anObject2%20with%3A%20anObject3%0A%09%20%20%20%20%5E%28self%20new%3A%203%29%0A%09%09at%3A%201%20put%3A%20anObject%3B%0A%09%09at%3A%202%20put%3A%20anObject2%3B%0A%09%09at%3A%203%20put%3A%20anObject3%3B%0A%09%09yourself'),
2704
+ messageSends: ["at:put:", "yourself", "new:"],
2705
+ referencedClasses: []
2706
+ }),
2707
+ smalltalk.Array.klass);
2708
+
2709
+ smalltalk.addMethod(
2710
+ unescape('_withAll_'),
2711
+ smalltalk.method({
2712
+ selector: unescape('withAll%3A'),
2713
+ category: 'instance creation',
2714
+ fn: function (aCollection){
2715
+ var self=this;
2716
+ var instance=nil;
2717
+ (instance=smalltalk.send(self, "_new_", [smalltalk.send(aCollection, "_size", [])]));
2718
+ smalltalk.send(aCollection, "_withIndexDo_", [(function(index, each){return smalltalk.send(instance, "_at_put_", [index, each]);})]);
2719
+ return instance;
2720
+ return self;},
2721
+ args: ["aCollection"],
2722
+ source: unescape('withAll%3A%20aCollection%0A%09%7C%20instance%20%7C%0A%09instance%20%3A%3D%20self%20new%3A%20aCollection%20size.%0A%09aCollection%20withIndexDo%3A%20%5B%3Aindex%20%3Aeach%20%7C%0A%09%09instance%20at%3A%20index%20put%3A%20each%5D.%0A%09%5Einstance'),
2723
+ messageSends: ["new:", "size", "withIndexDo:", "at:put:"],
2724
+ referencedClasses: []
2725
+ }),
2726
+ smalltalk.Array.klass);
2727
+
2728
+
2729
+ smalltalk.addClass('RegularExpression', smalltalk.Object, [], 'Kernel-Collections');
2730
+ smalltalk.addMethod(
2731
+ unescape('_compile_'),
2732
+ smalltalk.method({
2733
+ selector: unescape('compile%3A'),
2734
+ category: 'evaluating',
2735
+ fn: function (aString){
2736
+ var self=this;
2737
+ return self.compile(aString);
2738
+ return self;},
2739
+ args: ["aString"],
2740
+ source: unescape('compile%3A%20aString%0A%09%3Creturn%20self.compile%28aString%29%3E'),
2741
+ messageSends: [],
2742
+ referencedClasses: []
2743
+ }),
2744
+ smalltalk.RegularExpression);
2745
+
2746
+ smalltalk.addMethod(
2747
+ unescape('_exec_'),
2748
+ smalltalk.method({
2749
+ selector: unescape('exec%3A'),
2750
+ category: 'evaluating',
2751
+ fn: function (aString){
2752
+ var self=this;
2753
+ return self.exec(aString) || nil;
2754
+ return self;},
2755
+ args: ["aString"],
2756
+ source: unescape('exec%3A%20aString%0A%09%3Creturn%20self.exec%28aString%29%20%7C%7C%20nil%3E'),
2757
+ messageSends: [],
2758
+ referencedClasses: []
2759
+ }),
2760
+ smalltalk.RegularExpression);
2761
+
2762
+ smalltalk.addMethod(
2763
+ unescape('_test_'),
2764
+ smalltalk.method({
2765
+ selector: unescape('test%3A'),
2766
+ category: 'evaluating',
2767
+ fn: function (aString){
2768
+ var self=this;
2769
+ return self.test(aString);
2770
+ return self;},
2771
+ args: ["aString"],
2772
+ source: unescape('test%3A%20aString%0A%09%3Creturn%20self.test%28aString%29%3E'),
2773
+ messageSends: [],
2774
+ referencedClasses: []
2775
+ }),
2776
+ smalltalk.RegularExpression);
2777
+
2778
+
2779
+ smalltalk.addMethod(
2780
+ unescape('_fromString_flag_'),
2781
+ smalltalk.method({
2782
+ selector: unescape('fromString%3Aflag%3A'),
2783
+ category: 'instance creation',
2784
+ fn: function (aString, anotherString){
2785
+ var self=this;
2786
+ return new RegExp(aString, anotherString);
2787
+ return self;},
2788
+ args: ["aString", "anotherString"],
2789
+ source: unescape('fromString%3A%20aString%20flag%3A%20anotherString%0A%09%3Creturn%20new%20RegExp%28aString%2C%20anotherString%29%3E'),
2790
+ messageSends: [],
2791
+ referencedClasses: []
2792
+ }),
2793
+ smalltalk.RegularExpression.klass);
2794
+
2795
+ smalltalk.addMethod(
2796
+ unescape('_fromString_'),
2797
+ smalltalk.method({
2798
+ selector: unescape('fromString%3A'),
2799
+ category: 'instance creation',
2800
+ fn: function (aString){
2801
+ var self=this;
2802
+ return smalltalk.send(self, "_fromString_flag_", [aString, ""]);
2803
+ return self;},
2804
+ args: ["aString"],
2805
+ source: unescape('fromString%3A%20aString%0A%09%20%20%20%20%5Eself%20fromString%3A%20aString%20flag%3A%20%27%27'),
2806
+ messageSends: ["fromString:flag:"],
2807
+ referencedClasses: []
2808
+ }),
2809
+ smalltalk.RegularExpression.klass);
2810
+
2811
+
2812
+ smalltalk.addClass('Association', smalltalk.Object, ['key', 'value'], 'Kernel-Collections');
2813
+ smalltalk.addMethod(
2814
+ unescape('__eq'),
2815
+ smalltalk.method({
2816
+ selector: unescape('%3D'),
2817
+ category: 'comparing',
2818
+ fn: function (anAssociation){
2819
+ var self=this;
2820
+ return smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "__eq", [smalltalk.send(anAssociation, "_class", [])]), "_and_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(self, "_key", []), "__eq", [smalltalk.send(anAssociation, "_key", [])]), "_and_", [(function(){return smalltalk.send(smalltalk.send(self, "_value", []), "__eq", [smalltalk.send(anAssociation, "_value", [])]);})]);})]);
2821
+ return self;},
2822
+ args: ["anAssociation"],
2823
+ source: unescape('%3D%20anAssociation%0A%09%5Eself%20class%20%3D%20anAssociation%20class%20and%3A%20%5B%0A%09%20%20%20%20self%20key%20%3D%20anAssociation%20key%20and%3A%20%5B%0A%09%09self%20value%20%3D%20anAssociation%20value%5D%5D'),
2824
+ messageSends: ["and:", unescape("%3D"), "class", "key", "value"],
2825
+ referencedClasses: []
2826
+ }),
2827
+ smalltalk.Association);
2828
+
2829
+ smalltalk.addMethod(
2830
+ unescape('_key_'),
2831
+ smalltalk.method({
2832
+ selector: unescape('key%3A'),
2833
+ category: 'accessing',
2834
+ fn: function (aKey){
2835
+ var self=this;
2836
+ (self['@key']=aKey);
2837
+ return self;},
2838
+ args: ["aKey"],
2839
+ source: unescape('key%3A%20aKey%0A%09key%20%3A%3D%20aKey'),
2840
+ messageSends: [],
2841
+ referencedClasses: []
2842
+ }),
2843
+ smalltalk.Association);
2844
+
2845
+ smalltalk.addMethod(
2846
+ unescape('_key'),
2847
+ smalltalk.method({
2848
+ selector: unescape('key'),
2849
+ category: 'accessing',
2850
+ fn: function (){
2851
+ var self=this;
2852
+ return self['@key'];
2853
+ return self;},
2854
+ args: [],
2855
+ source: unescape('key%0A%09%5Ekey'),
2856
+ messageSends: [],
2857
+ referencedClasses: []
2858
+ }),
2859
+ smalltalk.Association);
2860
+
2861
+ smalltalk.addMethod(
2862
+ unescape('_value_'),
2863
+ smalltalk.method({
2864
+ selector: unescape('value%3A'),
2865
+ category: 'accessing',
2866
+ fn: function (aValue){
2867
+ var self=this;
2868
+ (self['@value']=aValue);
2869
+ return self;},
2870
+ args: ["aValue"],
2871
+ source: unescape('value%3A%20aValue%0A%09value%20%3A%3D%20aValue'),
2872
+ messageSends: [],
2873
+ referencedClasses: []
2874
+ }),
2875
+ smalltalk.Association);
2876
+
2877
+ smalltalk.addMethod(
2878
+ unescape('_value'),
2879
+ smalltalk.method({
2880
+ selector: unescape('value'),
2881
+ category: 'accessing',
2882
+ fn: function (){
2883
+ var self=this;
2884
+ return self['@value'];
2885
+ return self;},
2886
+ args: [],
2887
+ source: unescape('value%0A%09%5Evalue'),
2888
+ messageSends: [],
2889
+ referencedClasses: []
2890
+ }),
2891
+ smalltalk.Association);
2892
+
2893
+ smalltalk.addMethod(
2894
+ unescape('_storeOn_'),
2895
+ smalltalk.method({
2896
+ selector: unescape('storeOn%3A'),
2897
+ category: 'comparing',
2898
+ fn: function (aStream){
2899
+ var self=this;
2900
+ smalltalk.send(self['@key'], "_storeOn_", [aStream]);
2901
+ smalltalk.send(aStream, "_nextPutAll_", [unescape("-%3E")]);
2902
+ smalltalk.send(self['@value'], "_storeOn_", [aStream]);
2903
+ return self;},
2904
+ args: ["aStream"],
2905
+ source: unescape('storeOn%3A%20aStream%0A%09%22Store%20in%20the%20format%20%28key-%3Evalue%29%22%0A%0A%09%22aStream%20nextPutAll%3A%20%27%28%27.%22%0A%09key%20storeOn%3A%20aStream.%0A%09aStream%20nextPutAll%3A%20%27-%3E%27.%0A%09value%20storeOn%3A%20aStream.%0A%09%22aStream%20nextPutAll%3A%20%27%29%27%22'),
2906
+ messageSends: ["storeOn:", "nextPutAll:"],
2907
+ referencedClasses: []
2908
+ }),
2909
+ smalltalk.Association);
2910
+
2911
+
2912
+ smalltalk.addMethod(
2913
+ unescape('_key_value_'),
2914
+ smalltalk.method({
2915
+ selector: unescape('key%3Avalue%3A'),
2916
+ category: 'instance creation',
2917
+ fn: function (aKey, aValue){
2918
+ var self=this;
2919
+ return (function($rec){smalltalk.send($rec, "_key_", [aKey]);smalltalk.send($rec, "_value_", [aValue]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
2920
+ return self;},
2921
+ args: ["aKey", "aValue"],
2922
+ source: unescape('key%3A%20aKey%20value%3A%20aValue%0A%09%20%20%20%20%5Eself%20new%0A%09%09key%3A%20aKey%3B%0A%09%09value%3A%20aValue%3B%0A%09%09yourself'),
2923
+ messageSends: ["key:", "value:", "yourself", "new"],
2924
+ referencedClasses: []
2925
+ }),
2926
+ smalltalk.Association.klass);
2927
+
2928
+
2929
+ smalltalk.addClass('Stream', smalltalk.Object, ['collection', 'position', 'streamSize'], 'Kernel-Collections');
2930
+ smalltalk.addMethod(
2931
+ unescape('_collection'),
2932
+ smalltalk.method({
2933
+ selector: unescape('collection'),
2934
+ category: 'accessing',
2935
+ fn: function (){
2936
+ var self=this;
2937
+ return self['@collection'];
2938
+ return self;},
2939
+ args: [],
2940
+ source: unescape('collection%0A%09%5Ecollection'),
2941
+ messageSends: [],
2942
+ referencedClasses: []
2943
+ }),
2944
+ smalltalk.Stream);
2945
+
2946
+ smalltalk.addMethod(
2947
+ unescape('_setCollection_'),
2948
+ smalltalk.method({
2949
+ selector: unescape('setCollection%3A'),
2950
+ category: 'accessing',
2951
+ fn: function (aCollection){
2952
+ var self=this;
2953
+ (self['@collection']=aCollection);
2954
+ return self;},
2955
+ args: ["aCollection"],
2956
+ source: unescape('setCollection%3A%20aCollection%0A%09collection%20%3A%3D%20aCollection'),
2957
+ messageSends: [],
2958
+ referencedClasses: []
2959
+ }),
2960
+ smalltalk.Stream);
2961
+
2962
+ smalltalk.addMethod(
2963
+ unescape('_position'),
2964
+ smalltalk.method({
2965
+ selector: unescape('position'),
2966
+ category: 'accessing',
2967
+ fn: function (){
2968
+ var self=this;
2969
+ return (($receiver = self['@position']) == nil || $receiver == undefined) ? (function(){return (self['@position']=(0));})() : $receiver;
2970
+ return self;},
2971
+ args: [],
2972
+ source: unescape('position%0A%09%5Eposition%20ifNil%3A%20%5Bposition%20%3A%3D%200%5D'),
2973
+ messageSends: ["ifNil:"],
2974
+ referencedClasses: []
2975
+ }),
2976
+ smalltalk.Stream);
2977
+
2978
+ smalltalk.addMethod(
2979
+ unescape('_position_'),
2980
+ smalltalk.method({
2981
+ selector: unescape('position%3A'),
2982
+ category: 'accessing',
2983
+ fn: function (anInteger){
2984
+ var self=this;
2985
+ (self['@position']=anInteger);
2986
+ return self;},
2987
+ args: ["anInteger"],
2988
+ source: unescape('position%3A%20anInteger%0A%09position%20%3A%3D%20anInteger'),
2989
+ messageSends: [],
2990
+ referencedClasses: []
2991
+ }),
2992
+ smalltalk.Stream);
2993
+
2994
+ smalltalk.addMethod(
2995
+ unescape('_streamSize'),
2996
+ smalltalk.method({
2997
+ selector: unescape('streamSize'),
2998
+ category: 'accessing',
2999
+ fn: function (){
3000
+ var self=this;
3001
+ return self['@streamSize'];
3002
+ return self;},
3003
+ args: [],
3004
+ source: unescape('streamSize%0A%09%5EstreamSize'),
3005
+ messageSends: [],
3006
+ referencedClasses: []
3007
+ }),
3008
+ smalltalk.Stream);
3009
+
3010
+ smalltalk.addMethod(
3011
+ unescape('_setStreamSize_'),
3012
+ smalltalk.method({
3013
+ selector: unescape('setStreamSize%3A'),
3014
+ category: 'accessing',
3015
+ fn: function (anInteger){
3016
+ var self=this;
3017
+ (self['@streamSize']=anInteger);
3018
+ return self;},
3019
+ args: ["anInteger"],
3020
+ source: unescape('setStreamSize%3A%20anInteger%0A%09streamSize%20%3A%3D%20anInteger'),
3021
+ messageSends: [],
3022
+ referencedClasses: []
3023
+ }),
3024
+ smalltalk.Stream);
3025
+
3026
+ smalltalk.addMethod(
3027
+ unescape('_contents'),
3028
+ smalltalk.method({
3029
+ selector: unescape('contents'),
3030
+ category: 'accessing',
3031
+ fn: function (){
3032
+ var self=this;
3033
+ return smalltalk.send(smalltalk.send(self, "_collection", []), "_copyFrom_to_", [(1), smalltalk.send(self, "_streamSize", [])]);
3034
+ return self;},
3035
+ args: [],
3036
+ source: unescape('contents%0A%09%5Eself%20collection%0A%09%20%20%20%20copyFrom%3A%201%20%0A%09%20%20%20%20to%3A%20self%20streamSize'),
3037
+ messageSends: ["copyFrom:to:", "collection", "streamSize"],
3038
+ referencedClasses: []
3039
+ }),
3040
+ smalltalk.Stream);
3041
+
3042
+ smalltalk.addMethod(
3043
+ unescape('_size'),
3044
+ smalltalk.method({
3045
+ selector: unescape('size'),
3046
+ category: 'accessing',
3047
+ fn: function (){
3048
+ var self=this;
3049
+ return smalltalk.send(self, "_streamSize", []);
3050
+ return self;},
3051
+ args: [],
3052
+ source: unescape('size%0A%09%5Eself%20streamSize'),
3053
+ messageSends: ["streamSize"],
3054
+ referencedClasses: []
3055
+ }),
3056
+ smalltalk.Stream);
3057
+
3058
+ smalltalk.addMethod(
3059
+ unescape('_reset'),
3060
+ smalltalk.method({
3061
+ selector: unescape('reset'),
3062
+ category: 'actions',
3063
+ fn: function (){
3064
+ var self=this;
3065
+ smalltalk.send(self, "_position_", [(0)]);
3066
+ return self;},
3067
+ args: [],
3068
+ source: unescape('reset%0A%09self%20position%3A%200'),
3069
+ messageSends: ["position:"],
3070
+ referencedClasses: []
3071
+ }),
3072
+ smalltalk.Stream);
3073
+
3074
+ smalltalk.addMethod(
3075
+ unescape('_close'),
3076
+ smalltalk.method({
3077
+ selector: unescape('close'),
3078
+ category: 'actions',
3079
+ fn: function (){
3080
+ var self=this;
3081
+
3082
+ return self;},
3083
+ args: [],
3084
+ source: unescape('close'),
3085
+ messageSends: [],
3086
+ referencedClasses: []
3087
+ }),
3088
+ smalltalk.Stream);
3089
+
3090
+ smalltalk.addMethod(
3091
+ unescape('_flush'),
3092
+ smalltalk.method({
3093
+ selector: unescape('flush'),
3094
+ category: 'actions',
3095
+ fn: function (){
3096
+ var self=this;
3097
+
3098
+ return self;},
3099
+ args: [],
3100
+ source: unescape('flush'),
3101
+ messageSends: [],
3102
+ referencedClasses: []
3103
+ }),
3104
+ smalltalk.Stream);
3105
+
3106
+ smalltalk.addMethod(
3107
+ unescape('_resetContents'),
3108
+ smalltalk.method({
3109
+ selector: unescape('resetContents'),
3110
+ category: 'actions',
3111
+ fn: function (){
3112
+ var self=this;
3113
+ smalltalk.send(self, "_reset", []);
3114
+ smalltalk.send(self, "_setStreamSize_", [(0)]);
3115
+ return self;},
3116
+ args: [],
3117
+ source: unescape('resetContents%0A%09self%20reset.%0A%09self%20setStreamSize%3A%200'),
3118
+ messageSends: ["reset", "setStreamSize:"],
3119
+ referencedClasses: []
3120
+ }),
3121
+ smalltalk.Stream);
3122
+
3123
+ smalltalk.addMethod(
3124
+ unescape('_do_'),
3125
+ smalltalk.method({
3126
+ selector: unescape('do%3A'),
3127
+ category: 'enumerating',
3128
+ fn: function (aBlock){
3129
+ var self=this;
3130
+ (function(){while(!(function(){return smalltalk.send(self, "_atEnd", []);})()) {(function(){return smalltalk.send(aBlock, "_value_", [smalltalk.send(self, "_next", [])]);})()}})();
3131
+ return self;},
3132
+ args: ["aBlock"],
3133
+ source: unescape('do%3A%20aBlock%0A%09%5Bself%20atEnd%5D%20whileFalse%3A%20%5BaBlock%20value%3A%20self%20next%5D'),
3134
+ messageSends: ["whileFalse:", "atEnd", "value:", "next"],
3135
+ referencedClasses: []
3136
+ }),
3137
+ smalltalk.Stream);
3138
+
3139
+ smalltalk.addMethod(
3140
+ unescape('_setToEnd'),
3141
+ smalltalk.method({
3142
+ selector: unescape('setToEnd'),
3143
+ category: 'positioning',
3144
+ fn: function (){
3145
+ var self=this;
3146
+ smalltalk.send(self, "_position_", [smalltalk.send(self, "_size", [])]);
3147
+ return self;},
3148
+ args: [],
3149
+ source: unescape('setToEnd%0A%09self%20position%3A%20self%20size'),
3150
+ messageSends: ["position:", "size"],
3151
+ referencedClasses: []
3152
+ }),
3153
+ smalltalk.Stream);
3154
+
3155
+ smalltalk.addMethod(
3156
+ unescape('_skip_'),
3157
+ smalltalk.method({
3158
+ selector: unescape('skip%3A'),
3159
+ category: 'positioning',
3160
+ fn: function (anInteger){
3161
+ var self=this;
3162
+ smalltalk.send(self, "_position_", [smalltalk.send(((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +anInteger : smalltalk.send($receiver, "__plus", [anInteger])), "_min_max_", [smalltalk.send(self, "_size", []), (0)])]);
3163
+ return self;},
3164
+ args: ["anInteger"],
3165
+ source: unescape('skip%3A%20anInteger%0A%09self%20position%3A%20%28%28self%20position%20+%20anInteger%29%20min%3A%20self%20size%20max%3A%200%29'),
3166
+ messageSends: ["position:", "min:max:", unescape("+"), "position", "size"],
3167
+ referencedClasses: []
3168
+ }),
3169
+ smalltalk.Stream);
3170
+
3171
+ smalltalk.addMethod(
3172
+ unescape('_next'),
3173
+ smalltalk.method({
3174
+ selector: unescape('next'),
3175
+ category: 'reading',
3176
+ fn: function (){
3177
+ var self=this;
3178
+ return ((($receiver = smalltalk.send(self, "_atEnd", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return nil;})() : (function(){smalltalk.send(self, "_position_", [((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]))]);return smalltalk.send(self['@collection'], "_at_", [smalltalk.send(self, "_position", [])]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return nil;}), (function(){smalltalk.send(self, "_position_", [((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]))]);return smalltalk.send(self['@collection'], "_at_", [smalltalk.send(self, "_position", [])]);})]));
3179
+ return self;},
3180
+ args: [],
3181
+ source: unescape('next%0A%09%5Eself%20atEnd%20%0A%09%09ifTrue%3A%20%5Bnil%5D%0A%09%09ifFalse%3A%20%5B%0A%09%09%09self%20position%3A%20self%20position%20+%201.%20%0A%09%09%09collection%20at%3A%20self%20position%5D'),
3182
+ messageSends: ["ifTrue:ifFalse:", "atEnd", "position:", unescape("+"), "position", "at:"],
3183
+ referencedClasses: []
3184
+ }),
3185
+ smalltalk.Stream);
3186
+
3187
+ smalltalk.addMethod(
3188
+ unescape('_next_'),
3189
+ smalltalk.method({
3190
+ selector: unescape('next%3A'),
3191
+ category: 'reading',
3192
+ fn: function (anInteger){
3193
+ var self=this;
3194
+ var tempCollection=nil;
3195
+ (tempCollection=smalltalk.send(smalltalk.send(smalltalk.send(self, "_collection", []), "_class", []), "_new", []));
3196
+ smalltalk.send(anInteger, "_timesRepeat_", [(function(){return ((($receiver = smalltalk.send(self, "_atEnd", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(tempCollection, "_add_", [smalltalk.send(self, "_next", [])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(tempCollection, "_add_", [smalltalk.send(self, "_next", [])]);})]));})]);
3197
+ return tempCollection;
3198
+ return self;},
3199
+ args: ["anInteger"],
3200
+ source: unescape('next%3A%20anInteger%0A%09%7C%20tempCollection%20%7C%0A%09tempCollection%20%3A%3D%20self%20collection%20class%20new.%0A%09anInteger%20timesRepeat%3A%20%5B%0A%09%20%20%20%20self%20atEnd%20ifFalse%3A%20%5B%0A%09%09tempCollection%20add%3A%20self%20next%5D%5D.%0A%09%5EtempCollection'),
3201
+ messageSends: ["new", "class", "collection", "timesRepeat:", "ifFalse:", "atEnd", "add:", "next"],
3202
+ referencedClasses: []
3203
+ }),
3204
+ smalltalk.Stream);
3205
+
3206
+ smalltalk.addMethod(
3207
+ unescape('_nextPut_'),
3208
+ smalltalk.method({
3209
+ selector: unescape('nextPut%3A'),
3210
+ category: 'writing',
3211
+ fn: function (anObject){
3212
+ var self=this;
3213
+ smalltalk.send(self, "_position_", [((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]))]);
3214
+ smalltalk.send(smalltalk.send(self, "_collection", []), "_at_put_", [smalltalk.send(self, "_position", []), anObject]);
3215
+ smalltalk.send(self, "_setStreamSize_", [smalltalk.send(smalltalk.send(self, "_streamSize", []), "_max_", [smalltalk.send(self, "_position", [])])]);
3216
+ return self;},
3217
+ args: ["anObject"],
3218
+ source: unescape('nextPut%3A%20anObject%0A%09self%20position%3A%20self%20position%20+%201.%0A%09self%20collection%20at%3A%20self%20position%20put%3A%20anObject.%0A%09self%20setStreamSize%3A%20%28self%20streamSize%20max%3A%20self%20position%29'),
3219
+ messageSends: ["position:", unescape("+"), "position", "at:put:", "collection", "setStreamSize:", "max:", "streamSize"],
3220
+ referencedClasses: []
3221
+ }),
3222
+ smalltalk.Stream);
3223
+
3224
+ smalltalk.addMethod(
3225
+ unescape('_nextPutAll_'),
3226
+ smalltalk.method({
3227
+ selector: unescape('nextPutAll%3A'),
3228
+ category: 'writing',
3229
+ fn: function (aCollection){
3230
+ var self=this;
3231
+ smalltalk.send(aCollection, "_do_", [(function(each){return smalltalk.send(self, "_nextPut_", [each]);})]);
3232
+ return self;},
3233
+ args: ["aCollection"],
3234
+ source: unescape('nextPutAll%3A%20aCollection%0A%09aCollection%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20self%20nextPut%3A%20each%5D'),
3235
+ messageSends: ["do:", "nextPut:"],
3236
+ referencedClasses: []
3237
+ }),
3238
+ smalltalk.Stream);
3239
+
3240
+ smalltalk.addMethod(
3241
+ unescape('_peek'),
3242
+ smalltalk.method({
3243
+ selector: unescape('peek'),
3244
+ category: 'reading',
3245
+ fn: function (){
3246
+ var self=this;
3247
+ return ((($receiver = smalltalk.send(self, "_atEnd", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(smalltalk.send(self, "_collection", []), "_at_", [((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]))]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(smalltalk.send(self, "_collection", []), "_at_", [((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]))]);})]));
3248
+ return self;},
3249
+ args: [],
3250
+ source: unescape('peek%0A%09%5Eself%20atEnd%20ifFalse%3A%20%5B%0A%09%20%20%20%20self%20collection%20at%3A%20self%20position%20+%201%5D'),
3251
+ messageSends: ["ifFalse:", "atEnd", "at:", "collection", unescape("+"), "position"],
3252
+ referencedClasses: []
3253
+ }),
3254
+ smalltalk.Stream);
3255
+
3256
+ smalltalk.addMethod(
3257
+ unescape('_atEnd'),
3258
+ smalltalk.method({
3259
+ selector: unescape('atEnd'),
3260
+ category: 'testing',
3261
+ fn: function (){
3262
+ var self=this;
3263
+ return smalltalk.send(smalltalk.send(self, "_position", []), "__eq", [smalltalk.send(self, "_size", [])]);
3264
+ return self;},
3265
+ args: [],
3266
+ source: unescape('atEnd%0A%09%5Eself%20position%20%3D%20self%20size'),
3267
+ messageSends: [unescape("%3D"), "position", "size"],
3268
+ referencedClasses: []
3269
+ }),
3270
+ smalltalk.Stream);
3271
+
3272
+ smalltalk.addMethod(
3273
+ unescape('_atStart'),
3274
+ smalltalk.method({
3275
+ selector: unescape('atStart'),
3276
+ category: 'testing',
3277
+ fn: function (){
3278
+ var self=this;
3279
+ return smalltalk.send(smalltalk.send(self, "_position", []), "__eq", [(0)]);
3280
+ return self;},
3281
+ args: [],
3282
+ source: unescape('atStart%0A%09%5Eself%20position%20%3D%200'),
3283
+ messageSends: [unescape("%3D"), "position"],
3284
+ referencedClasses: []
3285
+ }),
3286
+ smalltalk.Stream);
3287
+
3288
+ smalltalk.addMethod(
3289
+ unescape('_isEmpty'),
3290
+ smalltalk.method({
3291
+ selector: unescape('isEmpty'),
3292
+ category: 'testing',
3293
+ fn: function (){
3294
+ var self=this;
3295
+ return smalltalk.send(smalltalk.send(self, "_size", []), "__eq", [(0)]);
3296
+ return self;},
3297
+ args: [],
3298
+ source: unescape('isEmpty%0A%09%5Eself%20size%20%3D%200'),
3299
+ messageSends: [unescape("%3D"), "size"],
3300
+ referencedClasses: []
3301
+ }),
3302
+ smalltalk.Stream);
3303
+
3304
+
3305
+ smalltalk.addMethod(
3306
+ unescape('_on_'),
3307
+ smalltalk.method({
3308
+ selector: unescape('on%3A'),
3309
+ category: 'instance creation',
3310
+ fn: function (aCollection){
3311
+ var self=this;
3312
+ return (function($rec){smalltalk.send($rec, "_setCollection_", [aCollection]);smalltalk.send($rec, "_setStreamSize_", [smalltalk.send(aCollection, "_size", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
3313
+ return self;},
3314
+ args: ["aCollection"],
3315
+ source: unescape('on%3A%20aCollection%0A%09%20%20%20%20%5Eself%20new%20%0A%09%09setCollection%3A%20aCollection%3B%0A%09%09setStreamSize%3A%20aCollection%20size%3B%0A%09%09yourself'),
3316
+ messageSends: ["setCollection:", "setStreamSize:", "size", "yourself", "new"],
3317
+ referencedClasses: []
3318
+ }),
3319
+ smalltalk.Stream.klass);
3320
+
3321
+
3322
+ smalltalk.addClass('StringStream', smalltalk.Stream, [], 'Kernel-Collections');
3323
+ smalltalk.addMethod(
3324
+ unescape('_next_'),
3325
+ smalltalk.method({
3326
+ selector: unescape('next%3A'),
3327
+ category: 'reading',
3328
+ fn: function (anInteger){
3329
+ var self=this;
3330
+ var tempCollection=nil;
3331
+ (tempCollection=smalltalk.send(smalltalk.send(smalltalk.send(self, "_collection", []), "_class", []), "_new", []));
3332
+ smalltalk.send(anInteger, "_timesRepeat_", [(function(){return ((($receiver = smalltalk.send(self, "_atEnd", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (tempCollection=smalltalk.send(tempCollection, "__comma", [smalltalk.send(self, "_next", [])]));})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (tempCollection=smalltalk.send(tempCollection, "__comma", [smalltalk.send(self, "_next", [])]));})]));})]);
3333
+ return tempCollection;
3334
+ return self;},
3335
+ args: ["anInteger"],
3336
+ source: unescape('next%3A%20anInteger%0A%09%7C%20tempCollection%20%7C%0A%09tempCollection%20%3A%3D%20self%20collection%20class%20new.%0A%09anInteger%20timesRepeat%3A%20%5B%0A%09%20%20%20%20self%20atEnd%20ifFalse%3A%20%5B%0A%09%09tempCollection%20%3A%3D%20tempCollection%2C%20self%20next%5D%5D.%0A%09%5EtempCollection'),
3337
+ messageSends: ["new", "class", "collection", "timesRepeat:", "ifFalse:", "atEnd", unescape("%2C"), "next"],
3338
+ referencedClasses: []
3339
+ }),
3340
+ smalltalk.StringStream);
3341
+
3342
+ smalltalk.addMethod(
3343
+ unescape('_nextPut_'),
3344
+ smalltalk.method({
3345
+ selector: unescape('nextPut%3A'),
3346
+ category: 'writing',
3347
+ fn: function (aString){
3348
+ var self=this;
3349
+ smalltalk.send(self, "_nextPutAll_", [aString]);
3350
+ return self;},
3351
+ args: ["aString"],
3352
+ source: unescape('nextPut%3A%20aString%0A%09self%20nextPutAll%3A%20aString'),
3353
+ messageSends: ["nextPutAll:"],
3354
+ referencedClasses: []
3355
+ }),
3356
+ smalltalk.StringStream);
3357
+
3358
+ smalltalk.addMethod(
3359
+ unescape('_nextPutAll_'),
3360
+ smalltalk.method({
3361
+ selector: unescape('nextPutAll%3A'),
3362
+ category: 'writing',
3363
+ fn: function (aString){
3364
+ var self=this;
3365
+ smalltalk.send(self, "_setCollection_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_collection", []), "_copyFrom_to_", [(1), smalltalk.send(self, "_position", [])]), "__comma", [aString]), "__comma", [smalltalk.send(smalltalk.send(self, "_collection", []), "_copyFrom_to_", [((($receiver = ((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]))).klass === smalltalk.Number) ? $receiver +smalltalk.send(aString, "_size", []) : smalltalk.send($receiver, "__plus", [smalltalk.send(aString, "_size", [])])), smalltalk.send(smalltalk.send(self, "_collection", []), "_size", [])])])]);
3366
+ smalltalk.send(self, "_position_", [((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +smalltalk.send(aString, "_size", []) : smalltalk.send($receiver, "__plus", [smalltalk.send(aString, "_size", [])]))]);
3367
+ smalltalk.send(self, "_setStreamSize_", [smalltalk.send(smalltalk.send(self, "_streamSize", []), "_max_", [smalltalk.send(self, "_position", [])])]);
3368
+ return self;},
3369
+ args: ["aString"],
3370
+ source: unescape('nextPutAll%3A%20aString%0A%09self%20setCollection%3A%20%0A%09%20%20%20%20%28self%20collection%20copyFrom%3A%201%20to%3A%20self%20position%29%2C%0A%09%20%20%20%20aString%2C%0A%09%20%20%20%20%28self%20collection%20copyFrom%3A%20%28self%20position%20+%201%20+%20aString%20size%29%20to%3A%20self%20collection%20size%29.%0A%09self%20position%3A%20self%20position%20+%20aString%20size.%0A%09self%20setStreamSize%3A%20%28self%20streamSize%20max%3A%20self%20position%29'),
3371
+ messageSends: ["setCollection:", unescape("%2C"), "copyFrom:to:", "collection", "position", unescape("+"), "size", "position:", "setStreamSize:", "max:", "streamSize"],
3372
+ referencedClasses: []
3373
+ }),
3374
+ smalltalk.StringStream);
3375
+
3376
+ smalltalk.addMethod(
3377
+ unescape('_cr'),
3378
+ smalltalk.method({
3379
+ selector: unescape('cr'),
3380
+ category: 'writing',
3381
+ fn: function (){
3382
+ var self=this;
3383
+ return smalltalk.send(self, "_nextPutAll_", [smalltalk.send((smalltalk.String || String), "_cr", [])]);
3384
+ return self;},
3385
+ args: [],
3386
+ source: unescape('cr%0A%09%5Eself%20nextPutAll%3A%20String%20cr'),
3387
+ messageSends: ["nextPutAll:", "cr"],
3388
+ referencedClasses: ["String"]
3389
+ }),
3390
+ smalltalk.StringStream);
3391
+
3392
+ smalltalk.addMethod(
3393
+ unescape('_crlf'),
3394
+ smalltalk.method({
3395
+ selector: unescape('crlf'),
3396
+ category: 'writing',
3397
+ fn: function (){
3398
+ var self=this;
3399
+ return smalltalk.send(self, "_nextPutAll_", [smalltalk.send((smalltalk.String || String), "_crlf", [])]);
3400
+ return self;},
3401
+ args: [],
3402
+ source: unescape('crlf%0A%09%5Eself%20nextPutAll%3A%20String%20crlf'),
3403
+ messageSends: ["nextPutAll:", "crlf"],
3404
+ referencedClasses: ["String"]
3405
+ }),
3406
+ smalltalk.StringStream);
3407
+
3408
+ smalltalk.addMethod(
3409
+ unescape('_lf'),
3410
+ smalltalk.method({
3411
+ selector: unescape('lf'),
3412
+ category: 'writing',
3413
+ fn: function (){
3414
+ var self=this;
3415
+ return smalltalk.send(self, "_nextPutAll_", [smalltalk.send((smalltalk.String || String), "_lf", [])]);
3416
+ return self;},
3417
+ args: [],
3418
+ source: unescape('lf%0A%09%5Eself%20nextPutAll%3A%20String%20lf'),
3419
+ messageSends: ["nextPutAll:", "lf"],
3420
+ referencedClasses: ["String"]
3421
+ }),
3422
+ smalltalk.StringStream);
3423
+
3424
+ smalltalk.addMethod(
3425
+ unescape('_space'),
3426
+ smalltalk.method({
3427
+ selector: unescape('space'),
3428
+ category: 'writing',
3429
+ fn: function (){
3430
+ var self=this;
3431
+ smalltalk.send(self, "_nextPut_", [" "]);
3432
+ return self;},
3433
+ args: [],
3434
+ source: unescape('space%0A%09self%20nextPut%3A%20%27%20%27'),
3435
+ messageSends: ["nextPut:"],
3436
+ referencedClasses: []
3437
+ }),
3438
+ smalltalk.StringStream);
3439
+
3440
+
3441
+
3442
+ smalltalk.addClass('Set', smalltalk.Collection, ['elements'], 'Kernel-Collections');
3443
+ smalltalk.addMethod(
3444
+ unescape('_add_'),
3445
+ smalltalk.method({
3446
+ selector: unescape('add%3A'),
3447
+ category: 'adding/removing',
3448
+ fn: function (anObject){
3449
+ var self=this;
3450
+
3451
+ var found;
3452
+ for(var i in self['@elements']) {
3453
+ if(anObject == self['@elements'][i]) {
3454
+ found = true;
3455
+ break;
3456
+ }
3457
+ }
3458
+ if(!found) {self['@elements'].push(anObject)}
3459
+ ;
3460
+ return self;},
3461
+ args: ["anObject"],
3462
+ source: unescape('add%3A%20anObject%0A%09%3C%0A%09%09var%20found%3B%0A%09%09for%28var%20i%20in%20self%5B%27@elements%27%5D%29%20%7B%0A%09%09%09if%28anObject%20%3D%3D%20self%5B%27@elements%27%5D%5Bi%5D%29%20%7B%0A%09%09%09%09found%20%3D%20true%3B%0A%09%09%09%09break%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%09if%28%21found%29%20%7Bself%5B%27@elements%27%5D.push%28anObject%29%7D%0A%09%3E'),
3463
+ messageSends: [],
3464
+ referencedClasses: []
3465
+ }),
3466
+ smalltalk.Set);
3467
+
3468
+ smalltalk.addMethod(
3469
+ unescape('_remove_'),
3470
+ smalltalk.method({
3471
+ selector: unescape('remove%3A'),
3472
+ category: 'adding/removing',
3473
+ fn: function (anObject){
3474
+ var self=this;
3475
+ smalltalk.send(self['@elements'], "_remove_", [anObject]);
3476
+ return self;},
3477
+ args: ["anObject"],
3478
+ source: unescape('remove%3A%20anObject%0A%09elements%20remove%3A%20anObject'),
3479
+ messageSends: ["remove:"],
3480
+ referencedClasses: []
3481
+ }),
3482
+ smalltalk.Set);
3483
+
3484
+ smalltalk.addMethod(
3485
+ unescape('_initialize'),
3486
+ smalltalk.method({
3487
+ selector: unescape('initialize'),
3488
+ category: 'initialization',
3489
+ fn: function (){
3490
+ var self=this;
3491
+ smalltalk.send(self, "_initialize", [], smalltalk.Collection);
3492
+ (self['@elements']=[]);
3493
+ return self;},
3494
+ args: [],
3495
+ source: unescape('initialize%0A%09super%20initialize.%0A%09elements%20%3A%3D%20%23%28%29'),
3496
+ messageSends: ["initialize"],
3497
+ referencedClasses: []
3498
+ }),
3499
+ smalltalk.Set);
3500
+
3501
+ smalltalk.addMethod(
3502
+ unescape('_size'),
3503
+ smalltalk.method({
3504
+ selector: unescape('size'),
3505
+ category: 'accessing',
3506
+ fn: function (){
3507
+ var self=this;
3508
+ return smalltalk.send(self['@elements'], "_size", []);
3509
+ return self;},
3510
+ args: [],
3511
+ source: unescape('size%0A%09%5Eelements%20size'),
3512
+ messageSends: ["size"],
3513
+ referencedClasses: []
3514
+ }),
3515
+ smalltalk.Set);
3516
+
3517
+ smalltalk.addMethod(
3518
+ unescape('_asArray'),
3519
+ smalltalk.method({
3520
+ selector: unescape('asArray'),
3521
+ category: 'converting',
3522
+ fn: function (){
3523
+ var self=this;
3524
+ return smalltalk.send(self['@elements'], "_copy", []);
3525
+ return self;},
3526
+ args: [],
3527
+ source: unescape('asArray%0A%09%5Eelements%20copy'),
3528
+ messageSends: ["copy"],
3529
+ referencedClasses: []
3530
+ }),
3531
+ smalltalk.Set);
3532
+
3533
+ smalltalk.addMethod(
3534
+ unescape('_detect_ifNone_'),
3535
+ smalltalk.method({
3536
+ selector: unescape('detect%3AifNone%3A'),
3537
+ category: 'enumerating',
3538
+ fn: function (aBlock, anotherBlock){
3539
+ var self=this;
3540
+ return smalltalk.send(self['@elements'], "_detect_ifNone_", [aBlock, anotherBlock]);
3541
+ return self;},
3542
+ args: ["aBlock", "anotherBlock"],
3543
+ source: unescape('detect%3A%20aBlock%20ifNone%3A%20anotherBlock%0A%09%5Eelements%20detect%3A%20aBlock%20ifNone%3A%20anotherBlock'),
3544
+ messageSends: ["detect:ifNone:"],
3545
+ referencedClasses: []
3546
+ }),
3547
+ smalltalk.Set);
3548
+
3549
+ smalltalk.addMethod(
3550
+ unescape('_do_'),
3551
+ smalltalk.method({
3552
+ selector: unescape('do%3A'),
3553
+ category: 'enumerating',
3554
+ fn: function (aBlock){
3555
+ var self=this;
3556
+ smalltalk.send(self['@elements'], "_do_", [aBlock]);
3557
+ return self;},
3558
+ args: ["aBlock"],
3559
+ source: unescape('do%3A%20aBlock%0A%09elements%20do%3A%20aBlock'),
3560
+ messageSends: ["do:"],
3561
+ referencedClasses: []
3562
+ }),
3563
+ smalltalk.Set);
3564
+
3565
+ smalltalk.addMethod(
3566
+ unescape('_includes_'),
3567
+ smalltalk.method({
3568
+ selector: unescape('includes%3A'),
3569
+ category: 'testing',
3570
+ fn: function (anObject){
3571
+ var self=this;
3572
+ return smalltalk.send(self['@elements'], "_includes_", [anObject]);
3573
+ return self;},
3574
+ args: ["anObject"],
3575
+ source: unescape('includes%3A%20anObject%0A%09%5Eelements%20includes%3A%20anObject'),
3576
+ messageSends: ["includes:"],
3577
+ referencedClasses: []
3578
+ }),
3579
+ smalltalk.Set);
3580
+
3581
+ smalltalk.addMethod(
3582
+ unescape('__eq'),
3583
+ smalltalk.method({
3584
+ selector: unescape('%3D'),
3585
+ category: 'comparing',
3586
+ fn: function (aCollection){
3587
+ var self=this;
3588
+ return smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "__eq", [smalltalk.send(aCollection, "_class", [])]), "_and_", [(function(){return smalltalk.send(self['@elements'], "__eq", [smalltalk.send(aCollection, "_asArray", [])]);})]);
3589
+ return self;},
3590
+ args: ["aCollection"],
3591
+ source: unescape('%3D%20aCollection%0A%09%5Eself%20class%20%3D%20aCollection%20class%20and%3A%20%5B%0A%09%09elements%20%3D%20aCollection%20asArray%5D'),
3592
+ messageSends: ["and:", unescape("%3D"), "class", "asArray"],
3593
+ referencedClasses: []
3594
+ }),
3595
+ smalltalk.Set);
3596
+
3597
+ smalltalk.addMethod(
3598
+ unescape('_select_'),
3599
+ smalltalk.method({
3600
+ selector: unescape('select%3A'),
3601
+ category: 'enumerating',
3602
+ fn: function (aBlock){
3603
+ var self=this;
3604
+ var collection=nil;
3605
+ (collection=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
3606
+ smalltalk.send(self, "_do_", [(function(each){return ((($receiver = smalltalk.send(aBlock, "_value_", [each])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(collection, "_add_", [each]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(collection, "_add_", [each]);})]));})]);
3607
+ return collection;
3608
+ return self;},
3609
+ args: ["aBlock"],
3610
+ source: unescape('select%3A%20aBlock%0A%09%7C%20collection%20%7C%0A%09collection%20%3A%3D%20self%20class%20new.%20%0A%09self%20do%3A%20%5B%3Aeach%20%7C%0A%09%09%28aBlock%20value%3A%20each%29%20ifTrue%3A%20%5B%0A%09%09%09collection%20add%3A%20each%5D%5D.%0A%09%5Ecollection'),
3611
+ messageSends: ["new", "class", "do:", "ifTrue:", "value:", "add:"],
3612
+ referencedClasses: []
3613
+ }),
3614
+ smalltalk.Set);
3615
+
3616
+
3617
+
3618
+ smalltalk.addClass('HashedCollection', smalltalk.Collection, [], 'Kernel-Collections');
3619
+ smalltalk.HashedCollection.comment=unescape('A%20HashedCollection%20is%20a%20traditional%20JavaScript%20object%2C%20or%20a%20Smalltalk%20Dictionary.%0A%0AUnlike%20a%20Dictionary%2C%20it%20can%20only%20have%20strings%20as%20keys.')
3620
+ smalltalk.addMethod(
3621
+ unescape('_size'),
3622
+ smalltalk.method({
3623
+ selector: unescape('size'),
3624
+ category: 'accessing',
3625
+ fn: function (){
3626
+ var self=this;
3627
+ return smalltalk.send(smalltalk.send(self, "_keys", []), "_size", []);
3628
+ return self;},
3629
+ args: [],
3630
+ source: unescape('size%0A%09%5Eself%20keys%20size'),
3631
+ messageSends: ["size", "keys"],
3632
+ referencedClasses: []
3633
+ }),
3634
+ smalltalk.HashedCollection);
3635
+
3636
+ smalltalk.addMethod(
3637
+ unescape('_associations'),
3638
+ smalltalk.method({
3639
+ selector: unescape('associations'),
3640
+ category: 'accessing',
3641
+ fn: function (){
3642
+ var self=this;
3643
+ var associations=nil;
3644
+ (associations=[]);
3645
+ smalltalk.send(smalltalk.send(self, "_keys", []), "_do_", [(function(each){return smalltalk.send(associations, "_add_", [smalltalk.send((smalltalk.Association || Association), "_key_value_", [each, smalltalk.send(self, "_at_", [each])])]);})]);
3646
+ return associations;
3647
+ return self;},
3648
+ args: [],
3649
+ source: unescape('associations%0A%09%7C%20associations%20%7C%0A%09associations%20%3A%3D%20%23%28%29.%0A%09self%20keys%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20associations%20add%3A%20%28Association%20key%3A%20each%20value%3A%20%28self%20at%3A%20each%29%29%5D.%0A%09%5Eassociations'),
3650
+ messageSends: ["do:", "keys", "add:", "key:value:", "at:"],
3651
+ referencedClasses: ["Association"]
3652
+ }),
3653
+ smalltalk.HashedCollection);
3654
+
3655
+ smalltalk.addMethod(
3656
+ unescape('_keys'),
3657
+ smalltalk.method({
3658
+ selector: unescape('keys'),
3659
+ category: 'accessing',
3660
+ fn: function (){
3661
+ var self=this;
3662
+
3663
+ var keys = [];
3664
+ for(var i in self) {
3665
+ if(self.hasOwnProperty(i)) {
3666
+ keys.push(i);
3667
+ }
3668
+ };
3669
+ return keys;
3670
+ ;
3671
+ return self;},
3672
+ args: [],
3673
+ source: unescape('keys%0A%09%3C%0A%09%09var%20keys%20%3D%20%5B%5D%3B%0A%09%09for%28var%20i%20in%20self%29%20%7B%0A%09%09%09if%28self.hasOwnProperty%28i%29%29%20%7B%0A%09%09%09%09keys.push%28i%29%3B%0A%09%09%09%7D%0A%09%09%7D%3B%0A%09%09return%20keys%3B%0A%09%3E'),
3674
+ messageSends: [],
3675
+ referencedClasses: []
3676
+ }),
3677
+ smalltalk.HashedCollection);
3678
+
3679
+ smalltalk.addMethod(
3680
+ unescape('_values'),
3681
+ smalltalk.method({
3682
+ selector: unescape('values'),
3683
+ category: 'accessing',
3684
+ fn: function (){
3685
+ var self=this;
3686
+ return smalltalk.send(smalltalk.send(self, "_keys", []), "_collect_", [(function(each){return smalltalk.send(self, "_at_", [each]);})]);
3687
+ return self;},
3688
+ args: [],
3689
+ source: unescape('values%0A%09%5Eself%20keys%20collect%3A%20%5B%3Aeach%20%7C%20self%20at%3A%20each%5D'),
3690
+ messageSends: ["collect:", "keys", "at:"],
3691
+ referencedClasses: []
3692
+ }),
3693
+ smalltalk.HashedCollection);
3694
+
3695
+ smalltalk.addMethod(
3696
+ unescape('_at_put_'),
3697
+ smalltalk.method({
3698
+ selector: unescape('at%3Aput%3A'),
3699
+ category: 'accessing',
3700
+ fn: function (aKey, aValue){
3701
+ var self=this;
3702
+ return smalltalk.send(self, "_basicAt_put_", [aKey, aValue]);
3703
+ return self;},
3704
+ args: ["aKey", "aValue"],
3705
+ source: unescape('at%3A%20aKey%20put%3A%20aValue%0A%09%5Eself%20basicAt%3A%20aKey%20put%3A%20aValue'),
3706
+ messageSends: ["basicAt:put:"],
3707
+ referencedClasses: []
3708
+ }),
3709
+ smalltalk.HashedCollection);
3710
+
3711
+ smalltalk.addMethod(
3712
+ unescape('_at_ifAbsent_'),
3713
+ smalltalk.method({
3714
+ selector: unescape('at%3AifAbsent%3A'),
3715
+ category: 'accessing',
3716
+ fn: function (aKey, aBlock){
3717
+ var self=this;
3718
+ return smalltalk.send(smalltalk.send(self, "_includesKey_", [aKey]), "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_basicAt_", [aKey]);}), aBlock]);
3719
+ return self;},
3720
+ args: ["aKey", "aBlock"],
3721
+ source: unescape('at%3A%20aKey%20ifAbsent%3A%20aBlock%0A%09%5E%28self%20includesKey%3A%20aKey%29%0A%09%09ifTrue%3A%20%5Bself%20basicAt%3A%20aKey%5D%0A%09%09ifFalse%3A%20aBlock'),
3722
+ messageSends: ["ifTrue:ifFalse:", "includesKey:", "basicAt:"],
3723
+ referencedClasses: []
3724
+ }),
3725
+ smalltalk.HashedCollection);
3726
+
3727
+ smalltalk.addMethod(
3728
+ unescape('_at_ifAbsentPut_'),
3729
+ smalltalk.method({
3730
+ selector: unescape('at%3AifAbsentPut%3A'),
3731
+ category: 'accessing',
3732
+ fn: function (aKey, aBlock){
3733
+ var self=this;
3734
+ return smalltalk.send(self, "_at_ifAbsent_", [aKey, (function(){return smalltalk.send(self, "_at_put_", [aKey, smalltalk.send(aBlock, "_value", [])]);})]);
3735
+ return self;},
3736
+ args: ["aKey", "aBlock"],
3737
+ source: unescape('at%3A%20aKey%20ifAbsentPut%3A%20aBlock%0A%09%5Eself%20at%3A%20aKey%20ifAbsent%3A%20%5B%0A%09%20%20%20%20self%20at%3A%20aKey%20put%3A%20aBlock%20value%5D'),
3738
+ messageSends: ["at:ifAbsent:", "at:put:", "value"],
3739
+ referencedClasses: []
3740
+ }),
3741
+ smalltalk.HashedCollection);
3742
+
3743
+ smalltalk.addMethod(
3744
+ unescape('_at_ifPresent_'),
3745
+ smalltalk.method({
3746
+ selector: unescape('at%3AifPresent%3A'),
3747
+ category: 'accessing',
3748
+ fn: function (aKey, aBlock){
3749
+ var self=this;
3750
+ return (($receiver = smalltalk.send(self, "_basicAt_", [aKey])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(aBlock, "_value_", [smalltalk.send(self, "_at_", [aKey])]);})() : nil;
3751
+ return self;},
3752
+ args: ["aKey", "aBlock"],
3753
+ source: unescape('at%3A%20aKey%20ifPresent%3A%20aBlock%0A%09%5E%28self%20basicAt%3A%20aKey%29%20ifNotNil%3A%20%5BaBlock%20value%3A%20%28self%20at%3A%20aKey%29%5D'),
3754
+ messageSends: ["ifNotNil:", "basicAt:", "value:", "at:"],
3755
+ referencedClasses: []
3756
+ }),
3757
+ smalltalk.HashedCollection);
3758
+
3759
+ smalltalk.addMethod(
3760
+ unescape('_at_ifPresent_ifAbsent_'),
3761
+ smalltalk.method({
3762
+ selector: unescape('at%3AifPresent%3AifAbsent%3A'),
3763
+ category: 'accessing',
3764
+ fn: function (aKey, aBlock, anotherBlock){
3765
+ var self=this;
3766
+ return smalltalk.send(smalltalk.send(self, "_basicAt_", [aKey]), "_ifNil_ifNotNil_", [anotherBlock, (function(){return smalltalk.send(aBlock, "_value_", [smalltalk.send(self, "_at_", [aKey])]);})]);
3767
+ return self;},
3768
+ args: ["aKey", "aBlock", "anotherBlock"],
3769
+ source: unescape('at%3A%20aKey%20ifPresent%3A%20aBlock%20ifAbsent%3A%20anotherBlock%0A%09%5E%28self%20basicAt%3A%20aKey%29%0A%09%20%20%20%20ifNil%3A%20anotherBlock%0A%09%20%20%20%20ifNotNil%3A%20%5BaBlock%20value%3A%20%28self%20at%3A%20aKey%29%5D'),
3770
+ messageSends: ["ifNil:ifNotNil:", "basicAt:", "value:", "at:"],
3771
+ referencedClasses: []
3772
+ }),
3773
+ smalltalk.HashedCollection);
3774
+
3775
+ smalltalk.addMethod(
3776
+ unescape('_at_'),
3777
+ smalltalk.method({
3778
+ selector: unescape('at%3A'),
3779
+ category: 'accessing',
3780
+ fn: function (aKey){
3781
+ var self=this;
3782
+ return smalltalk.send(self, "_at_ifAbsent_", [aKey, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
3783
+ return self;},
3784
+ args: ["aKey"],
3785
+ source: unescape('at%3A%20aKey%0A%09%5Eself%20at%3A%20aKey%20ifAbsent%3A%20%5Bself%20errorNotFound%5D'),
3786
+ messageSends: ["at:ifAbsent:", "errorNotFound"],
3787
+ referencedClasses: []
3788
+ }),
3789
+ smalltalk.HashedCollection);
3790
+
3791
+ smalltalk.addMethod(
3792
+ unescape('_add_'),
3793
+ smalltalk.method({
3794
+ selector: unescape('add%3A'),
3795
+ category: 'adding/removing',
3796
+ fn: function (anAssociation){
3797
+ var self=this;
3798
+ smalltalk.send(self, "_at_put_", [smalltalk.send(anAssociation, "_key", []), smalltalk.send(anAssociation, "_value", [])]);
3799
+ return self;},
3800
+ args: ["anAssociation"],
3801
+ source: unescape('add%3A%20anAssociation%0A%09self%20at%3A%20anAssociation%20key%20put%3A%20anAssociation%20value'),
3802
+ messageSends: ["at:put:", "key", "value"],
3803
+ referencedClasses: []
3804
+ }),
3805
+ smalltalk.HashedCollection);
3806
+
3807
+ smalltalk.addMethod(
3808
+ unescape('_addAll_'),
3809
+ smalltalk.method({
3810
+ selector: unescape('addAll%3A'),
3811
+ category: 'adding/removing',
3812
+ fn: function (aHashedCollection){
3813
+ var self=this;
3814
+ smalltalk.send(self, "_addAll_", [smalltalk.send(aHashedCollection, "_associations", [])], smalltalk.Collection);
3815
+ return aHashedCollection;
3816
+ return self;},
3817
+ args: ["aHashedCollection"],
3818
+ source: unescape('addAll%3A%20aHashedCollection%0A%09super%20addAll%3A%20aHashedCollection%20associations.%0A%09%5EaHashedCollection'),
3819
+ messageSends: ["addAll:", "associations"],
3820
+ referencedClasses: []
3821
+ }),
3822
+ smalltalk.HashedCollection);
3823
+
3824
+ smalltalk.addMethod(
3825
+ unescape('_removeKey_'),
3826
+ smalltalk.method({
3827
+ selector: unescape('removeKey%3A'),
3828
+ category: 'adding/removing',
3829
+ fn: function (aKey){
3830
+ var self=this;
3831
+ smalltalk.send(self, "_remove_", [aKey]);
3832
+ return self;},
3833
+ args: ["aKey"],
3834
+ source: unescape('removeKey%3A%20aKey%0A%20%20%20%20self%20remove%3A%20aKey'),
3835
+ messageSends: ["remove:"],
3836
+ referencedClasses: []
3837
+ }),
3838
+ smalltalk.HashedCollection);
3839
+
3840
+ smalltalk.addMethod(
3841
+ unescape('_remove_ifAbsent_'),
3842
+ smalltalk.method({
3843
+ selector: unescape('remove%3AifAbsent%3A'),
3844
+ category: 'adding/removing',
3845
+ fn: function (aKey, aBlock){
3846
+ var self=this;
3847
+ return smalltalk.send(self, "_removeKey_ifAbsent_", [aKey, aBlock]);
3848
+ return self;},
3849
+ args: ["aKey", "aBlock"],
3850
+ source: unescape('remove%3A%20aKey%20ifAbsent%3A%20aBlock%0A%20%20%20%20%5Eself%20removeKey%3A%20aKey%20ifAbsent%3A%20aBlock'),
3851
+ messageSends: ["removeKey:ifAbsent:"],
3852
+ referencedClasses: []
3853
+ }),
3854
+ smalltalk.HashedCollection);
3855
+
3856
+ smalltalk.addMethod(
3857
+ unescape('_removeKey_ifAbsent_'),
3858
+ smalltalk.method({
3859
+ selector: unescape('removeKey%3AifAbsent%3A'),
3860
+ category: 'adding/removing',
3861
+ fn: function (aKey, aBlock){
3862
+ var self=this;
3863
+ return ((($receiver = smalltalk.send(self, "_includesKey_", [aKey])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(aBlock, "_value", []);})() : (function(){return smalltalk.send(self, "_basicDelete_", [aKey]);})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){return smalltalk.send(aBlock, "_value", []);}), (function(){return smalltalk.send(self, "_basicDelete_", [aKey]);})]));
3864
+ return self;},
3865
+ args: ["aKey", "aBlock"],
3866
+ source: unescape('removeKey%3A%20aKey%20ifAbsent%3A%20aBlock%0A%09%5E%28self%20includesKey%3A%20aKey%29%20%0A%09%09ifFalse%3A%20%5BaBlock%20value%5D%0A%09%09ifTrue%3A%20%5Bself%20basicDelete%3A%20aKey%5D'),
3867
+ messageSends: ["ifFalse:ifTrue:", "includesKey:", "value", "basicDelete:"],
3868
+ referencedClasses: []
3869
+ }),
3870
+ smalltalk.HashedCollection);
3871
+
3872
+ smalltalk.addMethod(
3873
+ unescape('__eq'),
3874
+ smalltalk.method({
3875
+ selector: unescape('%3D'),
3876
+ category: 'comparing',
3877
+ fn: function (aHashedCollection){
3878
+ var self=this;
3879
+ try{((($receiver = smalltalk.send(smalltalk.send(self, "_class", []), "__eq", [smalltalk.send(aHashedCollection, "_class", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})]));
3880
+ ((($receiver = smalltalk.send(smalltalk.send(self, "_size", []), "__eq", [smalltalk.send(aHashedCollection, "_size", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})]));
3881
+ (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return smalltalk.send(smalltalk.send(self, "_associations", []), "__eq", [smalltalk.send(aHashedCollection, "_associations", [])])}})})();
3882
+ return self;
3883
+ } catch(e) {if(e.name === 'stReturn' && e.selector === '__eq'){return e.fn()} throw(e)}},
3884
+ args: ["aHashedCollection"],
3885
+ source: unescape('%3D%20aHashedCollection%0A%09self%20class%20%3D%20aHashedCollection%20class%20ifFalse%3A%20%5B%5Efalse%5D.%0A%09self%20size%20%3D%20aHashedCollection%20size%20ifFalse%3A%20%5B%5Efalse%5D.%0A%09%5Eself%20associations%20%3D%20aHashedCollection%20associations'),
3886
+ messageSends: ["ifFalse:", unescape("%3D"), "class", "size", "associations"],
3887
+ referencedClasses: []
3888
+ }),
3889
+ smalltalk.HashedCollection);
3890
+
3891
+ smalltalk.addMethod(
3892
+ unescape('_shallowCopy'),
3893
+ smalltalk.method({
3894
+ selector: unescape('shallowCopy'),
3895
+ category: 'copying',
3896
+ fn: function (){
3897
+ var self=this;
3898
+ var copy=nil;
3899
+ (copy=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
3900
+ smalltalk.send(self, "_associationsDo_", [(function(each){return smalltalk.send(copy, "_at_put_", [smalltalk.send(each, "_key", []), smalltalk.send(each, "_value", [])]);})]);
3901
+ return copy;
3902
+ return self;},
3903
+ args: [],
3904
+ source: unescape('shallowCopy%0A%09%7C%20copy%20%7C%0A%09copy%20%3A%3D%20self%20class%20new.%0A%09self%20associationsDo%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20copy%20at%3A%20each%20key%20%20put%3A%20each%20value%5D.%0A%09%5Ecopy'),
3905
+ messageSends: ["new", "class", "associationsDo:", "at:put:", "key", "value"],
3906
+ referencedClasses: []
3907
+ }),
3908
+ smalltalk.HashedCollection);
3909
+
3910
+ smalltalk.addMethod(
3911
+ unescape('__comma'),
3912
+ smalltalk.method({
3913
+ selector: unescape('%2C'),
3914
+ category: 'copying',
3915
+ fn: function (aCollection){
3916
+ var self=this;
3917
+ smalltalk.send(self, "_shouldNotImplement", []);
3918
+ return self;},
3919
+ args: ["aCollection"],
3920
+ source: unescape('%2C%20aCollection%0A%09self%20shouldNotImplement'),
3921
+ messageSends: ["shouldNotImplement"],
3922
+ referencedClasses: []
3923
+ }),
3924
+ smalltalk.HashedCollection);
3925
+
3926
+ smalltalk.addMethod(
3927
+ unescape('_copyFrom_to_'),
3928
+ smalltalk.method({
3929
+ selector: unescape('copyFrom%3Ato%3A'),
3930
+ category: 'copying',
3931
+ fn: function (anIndex, anotherIndex){
3932
+ var self=this;
3933
+ smalltalk.send(self, "_shouldNotImplement", []);
3934
+ return self;},
3935
+ args: ["anIndex", "anotherIndex"],
3936
+ source: unescape('copyFrom%3A%20anIndex%20to%3A%20anotherIndex%0A%09self%20shouldNotImplement'),
3937
+ messageSends: ["shouldNotImplement"],
3938
+ referencedClasses: []
3939
+ }),
3940
+ smalltalk.HashedCollection);
3941
+
3942
+ smalltalk.addMethod(
3943
+ unescape('_deepCopy'),
3944
+ smalltalk.method({
3945
+ selector: unescape('deepCopy'),
3946
+ category: 'copying',
3947
+ fn: function (){
3948
+ var self=this;
3949
+ var copy=nil;
3950
+ (copy=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
3951
+ smalltalk.send(self, "_associationsDo_", [(function(each){return smalltalk.send(copy, "_at_put_", [smalltalk.send(each, "_key", []), smalltalk.send(smalltalk.send(each, "_value", []), "_deepCopy", [])]);})]);
3952
+ return copy;
3953
+ return self;},
3954
+ args: [],
3955
+ source: unescape('deepCopy%0A%09%7C%20copy%20%7C%0A%09copy%20%3A%3D%20self%20class%20new.%0A%09self%20associationsDo%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20copy%20at%3A%20each%20key%20%20put%3A%20each%20value%20deepCopy%5D.%0A%09%5Ecopy'),
3956
+ messageSends: ["new", "class", "associationsDo:", "at:put:", "key", "deepCopy", "value"],
3957
+ referencedClasses: []
3958
+ }),
3959
+ smalltalk.HashedCollection);
3960
+
3961
+ smalltalk.addMethod(
3962
+ unescape('_associationsDo_'),
3963
+ smalltalk.method({
3964
+ selector: unescape('associationsDo%3A'),
3965
+ category: 'enumerating',
3966
+ fn: function (aBlock){
3967
+ var self=this;
3968
+ smalltalk.send(smalltalk.send(self, "_associations", []), "_do_", [aBlock]);
3969
+ return self;},
3970
+ args: ["aBlock"],
3971
+ source: unescape('associationsDo%3A%20aBlock%0A%09self%20associations%20do%3A%20aBlock'),
3972
+ messageSends: ["do:", "associations"],
3973
+ referencedClasses: []
3974
+ }),
3975
+ smalltalk.HashedCollection);
3976
+
3977
+ smalltalk.addMethod(
3978
+ unescape('_keysAndValuesDo_'),
3979
+ smalltalk.method({
3980
+ selector: unescape('keysAndValuesDo%3A'),
3981
+ category: 'enumerating',
3982
+ fn: function (aBlock){
3983
+ var self=this;
3984
+ smalltalk.send(self, "_associationsDo_", [(function(each){return smalltalk.send(aBlock, "_value_value_", [smalltalk.send(each, "_key", []), smalltalk.send(each, "_value", [])]);})]);
3985
+ return self;},
3986
+ args: ["aBlock"],
3987
+ source: unescape('keysAndValuesDo%3A%20aBlock%0A%09self%20associationsDo%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20aBlock%20value%3A%20each%20key%20value%3A%20each%20value%5D'),
3988
+ messageSends: ["associationsDo:", "value:value:", "key", "value"],
3989
+ referencedClasses: []
3990
+ }),
3991
+ smalltalk.HashedCollection);
3992
+
3993
+ smalltalk.addMethod(
3994
+ unescape('_do_'),
3995
+ smalltalk.method({
3996
+ selector: unescape('do%3A'),
3997
+ category: 'enumerating',
3998
+ fn: function (aBlock){
3999
+ var self=this;
4000
+ smalltalk.send(smalltalk.send(self, "_values", []), "_do_", [aBlock]);
4001
+ return self;},
4002
+ args: ["aBlock"],
4003
+ source: unescape('do%3A%20aBlock%0A%09self%20values%20do%3A%20aBlock'),
4004
+ messageSends: ["do:", "values"],
4005
+ referencedClasses: []
4006
+ }),
4007
+ smalltalk.HashedCollection);
4008
+
4009
+ smalltalk.addMethod(
4010
+ unescape('_select_'),
4011
+ smalltalk.method({
4012
+ selector: unescape('select%3A'),
4013
+ category: 'enumerating',
4014
+ fn: function (aBlock){
4015
+ var self=this;
4016
+ var newDict=nil;
4017
+ (newDict=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
4018
+ smalltalk.send(self, "_keysAndValuesDo_", [(function(key, value){return ((($receiver = smalltalk.send(aBlock, "_value_", [value])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(newDict, "_at_put_", [key, value]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(newDict, "_at_put_", [key, value]);})]));})]);
4019
+ return newDict;
4020
+ return self;},
4021
+ args: ["aBlock"],
4022
+ source: unescape('select%3A%20aBlock%0A%09%7C%20newDict%20%7C%0A%09newDict%20%3A%3D%20self%20class%20new.%0A%09self%20keysAndValuesDo%3A%20%5B%3Akey%20%3Avalue%20%7C%0A%09%20%20%20%20%28aBlock%20value%3A%20value%29%20ifTrue%3A%20%5BnewDict%20at%3A%20key%20put%3A%20value%5D%5D.%0A%09%5EnewDict'),
4023
+ messageSends: ["new", "class", "keysAndValuesDo:", "ifTrue:", "value:", "at:put:"],
4024
+ referencedClasses: []
4025
+ }),
4026
+ smalltalk.HashedCollection);
4027
+
4028
+ smalltalk.addMethod(
4029
+ unescape('_collect_'),
4030
+ smalltalk.method({
4031
+ selector: unescape('collect%3A'),
4032
+ category: 'enumerating',
4033
+ fn: function (aBlock){
4034
+ var self=this;
4035
+ var newDict=nil;
4036
+ (newDict=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
4037
+ smalltalk.send(self, "_keysAndValuesDo_", [(function(key, value){return smalltalk.send(newDict, "_at_put_", [key, smalltalk.send(aBlock, "_value_", [value])]);})]);
4038
+ return newDict;
4039
+ return self;},
4040
+ args: ["aBlock"],
4041
+ source: unescape('collect%3A%20aBlock%0A%09%7C%20newDict%20%7C%0A%09newDict%20%3A%3D%20self%20class%20new.%0A%09self%20keysAndValuesDo%3A%20%5B%3Akey%20%3Avalue%20%7C%0A%09%20%20%20%20newDict%20at%3A%20key%20put%3A%20%28aBlock%20value%3A%20value%29%5D.%0A%09%5EnewDict'),
4042
+ messageSends: ["new", "class", "keysAndValuesDo:", "at:put:", "value:"],
4043
+ referencedClasses: []
4044
+ }),
4045
+ smalltalk.HashedCollection);
4046
+
4047
+ smalltalk.addMethod(
4048
+ unescape('_detect_ifNone_'),
4049
+ smalltalk.method({
4050
+ selector: unescape('detect%3AifNone%3A'),
4051
+ category: 'enumerating',
4052
+ fn: function (aBlock, anotherBlock){
4053
+ var self=this;
4054
+ return smalltalk.send(smalltalk.send(self, "_values", []), "_detect_ifNone_", [aBlock, anotherBlock]);
4055
+ return self;},
4056
+ args: ["aBlock", "anotherBlock"],
4057
+ source: unescape('detect%3A%20aBlock%20ifNone%3A%20anotherBlock%0A%09%5Eself%20values%20detect%3A%20aBlock%20ifNone%3A%20anotherBlock'),
4058
+ messageSends: ["detect:ifNone:", "values"],
4059
+ referencedClasses: []
4060
+ }),
4061
+ smalltalk.HashedCollection);
4062
+
4063
+ smalltalk.addMethod(
4064
+ unescape('_includes_'),
4065
+ smalltalk.method({
4066
+ selector: unescape('includes%3A'),
4067
+ category: 'enumerating',
4068
+ fn: function (anObject){
4069
+ var self=this;
4070
+ return smalltalk.send(smalltalk.send(self, "_values", []), "_includes_", [anObject]);
4071
+ return self;},
4072
+ args: ["anObject"],
4073
+ source: unescape('includes%3A%20anObject%0A%09%5Eself%20values%20includes%3A%20anObject'),
4074
+ messageSends: ["includes:", "values"],
4075
+ referencedClasses: []
4076
+ }),
4077
+ smalltalk.HashedCollection);
4078
+
4079
+ smalltalk.addMethod(
4080
+ unescape('_printString'),
4081
+ smalltalk.method({
4082
+ selector: unescape('printString'),
4083
+ category: 'printing',
4084
+ fn: function (){
4085
+ var self=this;
4086
+ return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(aStream){(function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_printString", [], smalltalk.Collection)]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%28")]);})(aStream);smalltalk.send(smalltalk.send(self, "_associations", []), "_do_separatedBy_", [(function(anAssociation){return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(anAssociation, "_key", []), "_printString", [])]);smalltalk.send($rec, "_nextPutAll_", [unescape("%20-%3E%20")]);return smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(smalltalk.send(anAssociation, "_value", []), "_printString", [])]);})(aStream);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [unescape("%20%2C%20")]);})]);return smalltalk.send(aStream, "_nextPutAll_", [unescape("%29")]);})]);
4087
+ return self;},
4088
+ args: [],
4089
+ source: unescape('printString%0A%09%5EString%20streamContents%3A%20%5B%3AaStream%7C%20%20%0A%09%09aStream%20%0A%09%09%09nextPutAll%3A%20super%20printString%3B%0A%09%09%09nextPutAll%3A%20%27%28%27.%0A%09%09%09%09self%20associations%20%0A%09%09%09%09%09do%3A%20%5B%3AanAssociation%7C%20%20%0A%09%09%09%09%09%09aStream%20%0A%09%09%09%09%09%09%09nextPutAll%3A%20anAssociation%20key%20printString%3B%0A%09%09%09%09%09%09%09%09nextPutAll%3A%20%27%20-%3E%20%27%3B%0A%09%09%09%09%09%09%09%09nextPutAll%3A%20anAssociation%20value%20printString%5D%0A%09%09%09%09%09%09%09separatedBy%3A%20%5BaStream%20nextPutAll%3A%20%27%20%2C%20%27%5D.%0A%09%09%09%09%09%09aStream%20nextPutAll%3A%20%27%29%27%5D'),
4090
+ messageSends: ["streamContents:", "nextPutAll:", "printString", "do:separatedBy:", "associations", "key", "value"],
4091
+ referencedClasses: ["String"]
4092
+ }),
4093
+ smalltalk.HashedCollection);
4094
+
4095
+ smalltalk.addMethod(
4096
+ unescape('_storeOn_'),
4097
+ smalltalk.method({
4098
+ selector: unescape('storeOn%3A'),
4099
+ category: 'printing',
4100
+ fn: function (aStream){
4101
+ var self=this;
4102
+ smalltalk.send(aStream, "_nextPutAll_", [unescape("%23%7B")]);
4103
+ smalltalk.send(smalltalk.send(self, "_associations", []), "_do_separatedBy_", [(function(each){return smalltalk.send(each, "_storeOn_", [aStream]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [". "]);})]);
4104
+ smalltalk.send(aStream, "_nextPutAll_", [unescape("%7D")]);
4105
+ return self;},
4106
+ args: ["aStream"],
4107
+ source: unescape('storeOn%3A%20aStream%0A%09aStream%20nextPutAll%3A%20%27%23%7B%27.%0A%09self%20associations%0A%09%09do%3A%20%5B%3Aeach%20%7C%20each%20storeOn%3A%20aStream%5D%0A%09%09separatedBy%3A%20%5B%20aStream%20nextPutAll%3A%20%27.%20%27%5D.%0A%09aStream%20nextPutAll%3A%20%27%7D%27'),
4108
+ messageSends: ["nextPutAll:", "do:separatedBy:", "associations", "storeOn:"],
4109
+ referencedClasses: []
4110
+ }),
4111
+ smalltalk.HashedCollection);
4112
+
4113
+ smalltalk.addMethod(
4114
+ unescape('_includesKey_'),
4115
+ smalltalk.method({
4116
+ selector: unescape('includesKey%3A'),
4117
+ category: 'testing',
4118
+ fn: function (aKey){
4119
+ var self=this;
4120
+ return self.hasOwnProperty(aKey);
4121
+ return self;},
4122
+ args: ["aKey"],
4123
+ source: unescape('includesKey%3A%20aKey%0A%09%3Creturn%20self.hasOwnProperty%28aKey%29%3E'),
4124
+ messageSends: [],
4125
+ referencedClasses: []
4126
+ }),
4127
+ smalltalk.HashedCollection);
4128
+
4129
+ smalltalk.addMethod(
4130
+ unescape('_asDictionary'),
4131
+ smalltalk.method({
4132
+ selector: unescape('asDictionary'),
4133
+ category: 'converting',
4134
+ fn: function (){
4135
+ var self=this;
4136
+ return smalltalk.send((smalltalk.Dictionary || Dictionary), "_fromPairs_", [smalltalk.send(self, "_associations", [])]);
4137
+ return self;},
4138
+ args: [],
4139
+ source: unescape('asDictionary%0A%09%5EDictionary%20fromPairs%3A%20self%20associations'),
4140
+ messageSends: ["fromPairs:", "associations"],
4141
+ referencedClasses: ["Dictionary"]
4142
+ }),
4143
+ smalltalk.HashedCollection);
4144
+
4145
+
4146
+ smalltalk.addMethod(
4147
+ unescape('_fromPairs_'),
4148
+ smalltalk.method({
4149
+ selector: unescape('fromPairs%3A'),
4150
+ category: 'instance creation',
4151
+ fn: function (aCollection){
4152
+ var self=this;
4153
+ var dict=nil;
4154
+ (dict=smalltalk.send(self, "_new", []));
4155
+ smalltalk.send(aCollection, "_do_", [(function(each){return smalltalk.send(dict, "_add_", [each]);})]);
4156
+ return dict;
4157
+ return self;},
4158
+ args: ["aCollection"],
4159
+ source: unescape('fromPairs%3A%20aCollection%0A%09%7C%20dict%20%7C%0A%09dict%20%3A%3D%20self%20new.%0A%09aCollection%20do%3A%20%5B%3Aeach%20%7C%20dict%20add%3A%20each%5D.%0A%09%5Edict'),
4160
+ messageSends: ["new", "do:", "add:"],
4161
+ referencedClasses: []
4162
+ }),
4163
+ smalltalk.HashedCollection.klass);
4164
+
4165
+
4166
+ smalltalk.addClass('Dictionary', smalltalk.HashedCollection, ['keys', 'values'], 'Kernel-Collections');
4167
+ smalltalk.addMethod(
4168
+ unescape('_at_ifAbsent_'),
4169
+ smalltalk.method({
4170
+ selector: unescape('at%3AifAbsent%3A'),
4171
+ category: 'accessing',
4172
+ fn: function (aKey, aBlock){
4173
+ var self=this;
4174
+
4175
+ var index;
4176
+ for(var i=0;i<self['@keys'].length;i++){
4177
+ if(self['@keys'][i].__eq(aKey)) {index = i;}
4178
+ };
4179
+ if(typeof index === 'undefined') {
4180
+ return aBlock();
4181
+ } else {
4182
+ return self['@values'][index];
4183
+ }
4184
+ ;
4185
+ return self;},
4186
+ args: ["aKey", "aBlock"],
4187
+ source: unescape('at%3A%20aKey%20ifAbsent%3A%20aBlock%0A%09%3C%0A%09%09var%20index%3B%0A%09%09for%28var%20i%3D0%3Bi%3Cself%5B%27@keys%27%5D.length%3Bi++%29%7B%0A%09%09%09if%28self%5B%27@keys%27%5D%5Bi%5D.__eq%28aKey%29%29%20%7Bindex%20%3D%20i%3B%7D%0A%09%09%7D%3B%0A%09%09if%28typeof%20index%20%3D%3D%3D%20%27undefined%27%29%20%7B%0A%09%09%09return%20aBlock%28%29%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09return%20self%5B%27@values%27%5D%5Bindex%5D%3B%0A%09%09%7D%0A%09%3E'),
4188
+ messageSends: [],
4189
+ referencedClasses: []
4190
+ }),
4191
+ smalltalk.Dictionary);
4192
+
4193
+ smalltalk.addMethod(
4194
+ unescape('_keys'),
4195
+ smalltalk.method({
4196
+ selector: unescape('keys'),
4197
+ category: 'accessing',
4198
+ fn: function (){
4199
+ var self=this;
4200
+ return smalltalk.send(self['@keys'], "_copy", []);
4201
+ return self;},
4202
+ args: [],
4203
+ source: unescape('keys%0A%09%5Ekeys%20copy'),
4204
+ messageSends: ["copy"],
4205
+ referencedClasses: []
4206
+ }),
4207
+ smalltalk.Dictionary);
4208
+
4209
+ smalltalk.addMethod(
4210
+ unescape('_values'),
4211
+ smalltalk.method({
4212
+ selector: unescape('values'),
4213
+ category: 'accessing',
4214
+ fn: function (){
4215
+ var self=this;
4216
+ return smalltalk.send(self['@values'], "_copy", []);
4217
+ return self;},
4218
+ args: [],
4219
+ source: unescape('values%0A%09%5Evalues%20copy'),
4220
+ messageSends: ["copy"],
4221
+ referencedClasses: []
4222
+ }),
4223
+ smalltalk.Dictionary);
4224
+
4225
+ smalltalk.addMethod(
4226
+ unescape('_at_put_'),
4227
+ smalltalk.method({
4228
+ selector: unescape('at%3Aput%3A'),
4229
+ category: 'accessing',
4230
+ fn: function (aKey, aValue){
4231
+ var self=this;
4232
+
4233
+ var index = self['@keys'].indexOf(aKey);
4234
+ if(index === -1) {
4235
+ self['@values'].push(aValue);
4236
+ self['@keys'].push(aKey);
4237
+ } else {
4238
+ self['@values'][index] = aValue;
4239
+ };
4240
+
4241
+ return aValue;
4242
+ ;
4243
+ return self;},
4244
+ args: ["aKey", "aValue"],
4245
+ source: unescape('at%3A%20aKey%20put%3A%20aValue%0A%09%3C%0A%09%09var%20index%20%3D%20self%5B%27@keys%27%5D.indexOf%28aKey%29%3B%0A%09%09if%28index%20%3D%3D%3D%20-1%29%20%7B%0A%09%09%09self%5B%27@values%27%5D.push%28aValue%29%3B%0A%09%09%09self%5B%27@keys%27%5D.push%28aKey%29%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09self%5B%27@values%27%5D%5Bindex%5D%20%3D%20aValue%3B%0A%09%09%7D%3B%0A%0A%09%09return%20aValue%3B%0A%09%3E'),
4246
+ messageSends: [],
4247
+ referencedClasses: []
4248
+ }),
4249
+ smalltalk.Dictionary);
4250
+
4251
+ smalltalk.addMethod(
4252
+ unescape('_removeKey_ifAbsent_'),
4253
+ smalltalk.method({
4254
+ selector: unescape('removeKey%3AifAbsent%3A'),
4255
+ category: 'adding/removing',
4256
+ fn: function (aKey, aBlock){
4257
+ var self=this;
4258
+
4259
+ var index = self['@keys'].indexOf(aKey);
4260
+ if(index === -1) {
4261
+ return aBlock()
4262
+ } else {
4263
+ self['@keys'].splice(i, 1);
4264
+ self['@values'].splice(i, 1);
4265
+ return aKey
4266
+ };
4267
+ ;
4268
+ return self;},
4269
+ args: ["aKey", "aBlock"],
4270
+ source: unescape('removeKey%3A%20aKey%20ifAbsent%3A%20aBlock%0A%09%3C%0A%09%09var%20index%20%3D%20self%5B%27@keys%27%5D.indexOf%28aKey%29%3B%0A%09%09if%28index%20%3D%3D%3D%20-1%29%20%7B%0A%09%09%09return%20aBlock%28%29%0A%09%09%7D%20else%20%7B%0A%09%09%09self%5B%27@keys%27%5D.splice%28i%2C%201%29%3B%0A%09%09%09self%5B%27@values%27%5D.splice%28i%2C%201%29%3B%0A%09%09%09return%20aKey%0A%09%09%7D%3B%0A%09%3E'),
4271
+ messageSends: [],
4272
+ referencedClasses: []
4273
+ }),
4274
+ smalltalk.Dictionary);
4275
+
4276
+ smalltalk.addMethod(
4277
+ unescape('_initialize'),
4278
+ smalltalk.method({
4279
+ selector: unescape('initialize'),
4280
+ category: 'initialization',
4281
+ fn: function (){
4282
+ var self=this;
4283
+ smalltalk.send(self, "_initialize", [], smalltalk.HashedCollection);
4284
+ (self['@keys']=[]);
4285
+ (self['@values']=[]);
4286
+ return self;},
4287
+ args: [],
4288
+ source: unescape('initialize%0A%09super%20initialize.%0A%09keys%20%3A%3D%20%23%28%29.%0A%09values%20%3A%3D%20%23%28%29'),
4289
+ messageSends: ["initialize"],
4290
+ referencedClasses: []
4291
+ }),
4292
+ smalltalk.Dictionary);
4293
+
4294
+ smalltalk.addMethod(
4295
+ unescape('_includesKey_'),
4296
+ smalltalk.method({
4297
+ selector: unescape('includesKey%3A'),
4298
+ category: 'testing',
4299
+ fn: function (aKey){
4300
+ var self=this;
4301
+ return smalltalk.send(self['@keys'], "_includes_", [aKey]);
4302
+ return self;},
4303
+ args: ["aKey"],
4304
+ source: unescape('includesKey%3A%20aKey%0A%09%5Ekeys%20includes%3A%20aKey'),
4305
+ messageSends: ["includes:"],
4306
+ referencedClasses: []
4307
+ }),
4308
+ smalltalk.Dictionary);
4309
+
4310
+ smalltalk.addMethod(
4311
+ unescape('_asHashedCollection'),
4312
+ smalltalk.method({
4313
+ selector: unescape('asHashedCollection'),
4314
+ category: 'converting',
4315
+ fn: function (){
4316
+ var self=this;
4317
+ return smalltalk.send((smalltalk.HashedCollection || HashedCollection), "_fromPairs_", [smalltalk.send(self, "_associations", [])]);
4318
+ return self;},
4319
+ args: [],
4320
+ source: unescape('asHashedCollection%0A%09%5EHashedCollection%20fromPairs%3A%20self%20associations'),
4321
+ messageSends: ["fromPairs:", "associations"],
4322
+ referencedClasses: ["HashedCollection"]
4323
+ }),
4324
+ smalltalk.Dictionary);
4325
+
4326
+ smalltalk.addMethod(
4327
+ unescape('_asJSONString'),
4328
+ smalltalk.method({
4329
+ selector: unescape('asJSONString'),
4330
+ category: 'converting',
4331
+ fn: function (){
4332
+ var self=this;
4333
+ return smalltalk.send(smalltalk.send(self, "_asHashedCollection", []), "_asJSONString", []);
4334
+ return self;},
4335
+ args: [],
4336
+ source: unescape('asJSONString%0A%09%5Eself%20asHashedCollection%20asJSONString'),
4337
+ messageSends: ["asJSONString", "asHashedCollection"],
4338
+ referencedClasses: []
4339
+ }),
4340
+ smalltalk.Dictionary);
4341
+
4342
+
4343
+
4344
+ smalltalk.addClass('OrderedCollection', smalltalk.SequenceableCollection, ['elements'], 'Kernel-Collections');
4345
+ smalltalk.addMethod(
4346
+ unescape('_size'),
4347
+ smalltalk.method({
4348
+ selector: unescape('size'),
4349
+ category: 'accessing',
4350
+ fn: function (){
4351
+ var self=this;
4352
+ return smalltalk.send(self['@elements'], "_size", []);
4353
+ return self;},
4354
+ args: [],
4355
+ source: unescape('size%0A%09%5Eelements%20size'),
4356
+ messageSends: ["size"],
4357
+ referencedClasses: []
4358
+ }),
4359
+ smalltalk.OrderedCollection);
4360
+
4361
+ smalltalk.addMethod(
4362
+ unescape('_at_put_'),
4363
+ smalltalk.method({
4364
+ selector: unescape('at%3Aput%3A'),
4365
+ category: 'accessing',
4366
+ fn: function (anIndex, anObject){
4367
+ var self=this;
4368
+ return self['@elements'][anIndex - 1] = anObject;
4369
+ return self;},
4370
+ args: ["anIndex", "anObject"],
4371
+ source: unescape('at%3A%20anIndex%20put%3A%20anObject%0A%09%3Creturn%20self%5B%27@elements%27%5D%5BanIndex%20-%201%5D%20%3D%20anObject%3E'),
4372
+ messageSends: [],
4373
+ referencedClasses: []
4374
+ }),
4375
+ smalltalk.OrderedCollection);
4376
+
4377
+ smalltalk.addMethod(
4378
+ unescape('_at_ifAbsent_'),
4379
+ smalltalk.method({
4380
+ selector: unescape('at%3AifAbsent%3A'),
4381
+ category: 'accessing',
4382
+ fn: function (anIndex, aBlock){
4383
+ var self=this;
4384
+ return smalltalk.send(self['@elements'], "_at_ifAbsent_", [anIndex, aBlock]);
4385
+ return self;},
4386
+ args: ["anIndex", "aBlock"],
4387
+ source: unescape('at%3A%20anIndex%20ifAbsent%3A%20aBlock%0A%09%5Eelements%20at%3A%20anIndex%20ifAbsent%3A%20aBlock'),
4388
+ messageSends: ["at:ifAbsent:"],
4389
+ referencedClasses: []
4390
+ }),
4391
+ smalltalk.OrderedCollection);
4392
+
4393
+ smalltalk.addMethod(
4394
+ unescape('_add_'),
4395
+ smalltalk.method({
4396
+ selector: unescape('add%3A'),
4397
+ category: 'adding/removing',
4398
+ fn: function (anObject){
4399
+ var self=this;
4400
+ self['@elements'].push(anObject); return anObject;;
4401
+ return self;},
4402
+ args: ["anObject"],
4403
+ source: unescape('add%3A%20anObject%0A%09%3Cself%5B%27@elements%27%5D.push%28anObject%29%3B%20return%20anObject%3B%3E'),
4404
+ messageSends: [],
4405
+ referencedClasses: []
4406
+ }),
4407
+ smalltalk.OrderedCollection);
4408
+
4409
+ smalltalk.addMethod(
4410
+ unescape('_join_'),
4411
+ smalltalk.method({
4412
+ selector: unescape('join%3A'),
4413
+ category: 'enumerating',
4414
+ fn: function (aString){
4415
+ var self=this;
4416
+ return smalltalk.send(self['@elements'], "_join_", [aString]);
4417
+ return self;},
4418
+ args: ["aString"],
4419
+ source: unescape('join%3A%20aString%0A%09%5Eelements%20join%3A%20aString'),
4420
+ messageSends: ["join:"],
4421
+ referencedClasses: []
4422
+ }),
4423
+ smalltalk.OrderedCollection);
4424
+
4425
+ smalltalk.addMethod(
4426
+ unescape('_sort'),
4427
+ smalltalk.method({
4428
+ selector: unescape('sort'),
4429
+ category: 'enumerating',
4430
+ fn: function (){
4431
+ var self=this;
4432
+ smalltalk.send(self['@elements'], "_sort", []);
4433
+ return self;
4434
+ return self;},
4435
+ args: [],
4436
+ source: unescape('sort%0A%20%09elements%20sort.%0A%09%5Eself'),
4437
+ messageSends: ["sort"],
4438
+ referencedClasses: []
4439
+ }),
4440
+ smalltalk.OrderedCollection);
4441
+
4442
+ smalltalk.addMethod(
4443
+ unescape('_sort_'),
4444
+ smalltalk.method({
4445
+ selector: unescape('sort%3A'),
4446
+ category: 'enumerating',
4447
+ fn: function (aBlock){
4448
+ var self=this;
4449
+ smalltalk.send(self['@elements'], "_sort_", [aBlock]);
4450
+ return self;
4451
+ return self;},
4452
+ args: ["aBlock"],
4453
+ source: unescape('sort%3A%20aBlock%0A%09elements%20sort%3A%20aBlock.%0A%09%5Eself'),
4454
+ messageSends: ["sort:"],
4455
+ referencedClasses: []
4456
+ }),
4457
+ smalltalk.OrderedCollection);
4458
+
4459
+ smalltalk.addMethod(
4460
+ unescape('_remove_'),
4461
+ smalltalk.method({
4462
+ selector: unescape('remove%3A'),
4463
+ category: 'adding/removing',
4464
+ fn: function (anObject){
4465
+ var self=this;
4466
+
4467
+ for(var i=0;i<self['@elements'].length;i++) {
4468
+ if(self['@elements'][i] == anObject) {
4469
+ self['@elements'].splice(i,1);
4470
+ break;
4471
+ }
4472
+ }
4473
+ ;
4474
+ return self;},
4475
+ args: ["anObject"],
4476
+ source: unescape('remove%3A%20anObject%0A%09%3C%0A%09%09for%28var%20i%3D0%3Bi%3Cself%5B%27@elements%27%5D.length%3Bi++%29%20%7B%0A%09%09%09if%28self%5B%27@elements%27%5D%5Bi%5D%20%3D%3D%20anObject%29%20%7B%0A%09%09%09%09self%5B%27@elements%27%5D.splice%28i%2C1%29%3B%0A%09%09%09%09break%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%3E'),
4477
+ messageSends: [],
4478
+ referencedClasses: []
4479
+ }),
4480
+ smalltalk.OrderedCollection);
4481
+
4482
+ smalltalk.addMethod(
4483
+ unescape('_sorted'),
4484
+ smalltalk.method({
4485
+ selector: unescape('sorted'),
4486
+ category: 'enumerating',
4487
+ fn: function (){
4488
+ var self=this;
4489
+ return smalltalk.send(smalltalk.send(self, "_copy", []), "_sort", []);
4490
+ return self;},
4491
+ args: [],
4492
+ source: unescape('sorted%0A%09%5Eself%20copy%20sort'),
4493
+ messageSends: ["sort", "copy"],
4494
+ referencedClasses: []
4495
+ }),
4496
+ smalltalk.OrderedCollection);
4497
+
4498
+ smalltalk.addMethod(
4499
+ unescape('_sorted_'),
4500
+ smalltalk.method({
4501
+ selector: unescape('sorted%3A'),
4502
+ category: 'enumerating',
4503
+ fn: function (aBlock){
4504
+ var self=this;
4505
+ return smalltalk.send(smalltalk.send(self, "_copy", []), "_sort_", [aBlock]);
4506
+ return self;},
4507
+ args: ["aBlock"],
4508
+ source: unescape('sorted%3A%20aBlock%0A%09%5Eself%20copy%20sort%3A%20aBlock'),
4509
+ messageSends: ["sort:", "copy"],
4510
+ referencedClasses: []
4511
+ }),
4512
+ smalltalk.OrderedCollection);
4513
+
4514
+ smalltalk.addMethod(
4515
+ unescape('_removeFrom_to_'),
4516
+ smalltalk.method({
4517
+ selector: unescape('removeFrom%3Ato%3A'),
4518
+ category: 'adding/removing',
4519
+ fn: function (aNumber, anotherNumber){
4520
+ var self=this;
4521
+ self['@elements'].splice(aNumber - 1,anotherNumber - 1);
4522
+ return self;},
4523
+ args: ["aNumber", "anotherNumber"],
4524
+ source: unescape('removeFrom%3A%20aNumber%20to%3A%20anotherNumber%0A%09%3Cself%5B%27@elements%27%5D.splice%28aNumber%20-%201%2CanotherNumber%20-%201%29%3E'),
4525
+ messageSends: [],
4526
+ referencedClasses: []
4527
+ }),
4528
+ smalltalk.OrderedCollection);
4529
+
4530
+ smalltalk.addMethod(
4531
+ unescape('_reversed'),
4532
+ smalltalk.method({
4533
+ selector: unescape('reversed'),
4534
+ category: 'converting',
4535
+ fn: function (){
4536
+ var self=this;
4537
+ return smalltalk.send(smalltalk.send(smalltalk.send(self, "_asArray", []), "_reversed", []), "_asOrderedCollection", []);
4538
+ return self;},
4539
+ args: [],
4540
+ source: unescape('reversed%0A%09%5Eself%20asArray%20reversed%20asOrderedCollection'),
4541
+ messageSends: ["asOrderedCollection", "reversed", "asArray"],
4542
+ referencedClasses: []
4543
+ }),
4544
+ smalltalk.OrderedCollection);
4545
+
4546
+ smalltalk.addMethod(
4547
+ unescape('_initialize'),
4548
+ smalltalk.method({
4549
+ selector: unescape('initialize'),
4550
+ category: 'initialization',
4551
+ fn: function (){
4552
+ var self=this;
4553
+ smalltalk.send(self, "_initialize", [], smalltalk.SequenceableCollection);
4554
+ (self['@elements']=[]);
4555
+ return self;},
4556
+ args: [],
4557
+ source: unescape('initialize%0A%09super%20initialize.%0A%09elements%20%3A%3D%20%23%28%29'),
4558
+ messageSends: ["initialize"],
4559
+ referencedClasses: []
4560
+ }),
4561
+ smalltalk.OrderedCollection);
4562
+
4563
+ smalltalk.addMethod(
4564
+ unescape('_withIndexDo_'),
4565
+ smalltalk.method({
4566
+ selector: unescape('withIndexDo%3A'),
4567
+ category: 'enumerating',
4568
+ fn: function (aBlock){
4569
+ var self=this;
4570
+ smalltalk.send(self['@elements'], "_withIndexDo_", [aBlock]);
4571
+ return self;},
4572
+ args: ["aBlock"],
4573
+ source: unescape('withIndexDo%3A%20aBlock%0A%09elements%20withIndexDo%3A%20aBlock'),
4574
+ messageSends: ["withIndexDo:"],
4575
+ referencedClasses: []
4576
+ }),
4577
+ smalltalk.OrderedCollection);
4578
+
4579
+ smalltalk.addMethod(
4580
+ unescape('_detect_ifNone_'),
4581
+ smalltalk.method({
4582
+ selector: unescape('detect%3AifNone%3A'),
4583
+ category: 'enumerating',
4584
+ fn: function (aBlock, anotherBlock){
4585
+ var self=this;
4586
+ return smalltalk.send(self['@elements'], "_detect_ifNone_", [aBlock, anotherBlock]);
4587
+ return self;},
4588
+ args: ["aBlock", "anotherBlock"],
4589
+ source: unescape('detect%3A%20aBlock%20ifNone%3A%20anotherBlock%0A%09%5Eelements%20detect%3A%20aBlock%20ifNone%3A%20anotherBlock'),
4590
+ messageSends: ["detect:ifNone:"],
4591
+ referencedClasses: []
4592
+ }),
4593
+ smalltalk.OrderedCollection);
4594
+
4595
+ smalltalk.addMethod(
4596
+ unescape('_do_'),
4597
+ smalltalk.method({
4598
+ selector: unescape('do%3A'),
4599
+ category: 'enumerating',
4600
+ fn: function (aBlock){
4601
+ var self=this;
4602
+ smalltalk.send(self['@elements'], "_do_", [aBlock]);
4603
+ return self;},
4604
+ args: ["aBlock"],
4605
+ source: unescape('do%3A%20aBlock%0A%09elements%20do%3A%20aBlock'),
4606
+ messageSends: ["do:"],
4607
+ referencedClasses: []
4608
+ }),
4609
+ smalltalk.OrderedCollection);
4610
+
4611
+ smalltalk.addMethod(
4612
+ unescape('_asOrderedCollection'),
4613
+ smalltalk.method({
4614
+ selector: unescape('asOrderedCollection'),
4615
+ category: 'converting',
4616
+ fn: function (){
4617
+ var self=this;
4618
+ return self;
4619
+ return self;},
4620
+ args: [],
4621
+ source: unescape('asOrderedCollection%0A%09%5Eself'),
4622
+ messageSends: [],
4623
+ referencedClasses: []
4624
+ }),
4625
+ smalltalk.OrderedCollection);
4626
+
4627
+ smalltalk.addMethod(
4628
+ unescape('_asArray'),
4629
+ smalltalk.method({
4630
+ selector: unescape('asArray'),
4631
+ category: 'converting',
4632
+ fn: function (){
4633
+ var self=this;
4634
+ return smalltalk.send(self['@elements'], "_copy", []);
4635
+ return self;},
4636
+ args: [],
4637
+ source: unescape('asArray%0A%09%5Eelements%20copy'),
4638
+ messageSends: ["copy"],
4639
+ referencedClasses: []
4640
+ }),
4641
+ smalltalk.OrderedCollection);
4642
+
4643
+
4644
+