resin 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,11 +1,128 @@
1
1
  smalltalk.addPackage('Kernel-Collections', {});
2
+ smalltalk.addClass('Association', smalltalk.Object, ['key', 'value'], 'Kernel-Collections');
3
+ smalltalk.addMethod(
4
+ unescape('__eq'),
5
+ smalltalk.method({
6
+ selector: unescape('%3D'),
7
+ category: 'comparing',
8
+ fn: function (anAssociation) {
9
+ var self=this;
10
+ 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", [])]);})]);})]);
11
+ return self;},
12
+ args: ["anAssociation"],
13
+ 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'),
14
+ messageSends: ["and:", unescape("%3D"), "class", "key", "value"],
15
+ referencedClasses: []
16
+ }),
17
+ smalltalk.Association);
18
+
19
+ smalltalk.addMethod(
20
+ unescape('_key_'),
21
+ smalltalk.method({
22
+ selector: unescape('key%3A'),
23
+ category: 'accessing',
24
+ fn: function (aKey) {
25
+ var self=this;
26
+ (self['@key']=aKey);
27
+ return self;},
28
+ args: ["aKey"],
29
+ source: unescape('key%3A%20aKey%0A%09key%20%3A%3D%20aKey'),
30
+ messageSends: [],
31
+ referencedClasses: []
32
+ }),
33
+ smalltalk.Association);
34
+
35
+ smalltalk.addMethod(
36
+ unescape('_key'),
37
+ smalltalk.method({
38
+ selector: unescape('key'),
39
+ category: 'accessing',
40
+ fn: function () {
41
+ var self=this;
42
+ return self['@key'];
43
+ return self;},
44
+ args: [],
45
+ source: unescape('key%0A%09%5Ekey'),
46
+ messageSends: [],
47
+ referencedClasses: []
48
+ }),
49
+ smalltalk.Association);
50
+
51
+ smalltalk.addMethod(
52
+ unescape('_value_'),
53
+ smalltalk.method({
54
+ selector: unescape('value%3A'),
55
+ category: 'accessing',
56
+ fn: function (aValue) {
57
+ var self=this;
58
+ (self['@value']=aValue);
59
+ return self;},
60
+ args: ["aValue"],
61
+ source: unescape('value%3A%20aValue%0A%09value%20%3A%3D%20aValue'),
62
+ messageSends: [],
63
+ referencedClasses: []
64
+ }),
65
+ smalltalk.Association);
66
+
67
+ smalltalk.addMethod(
68
+ unescape('_value'),
69
+ smalltalk.method({
70
+ selector: unescape('value'),
71
+ category: 'accessing',
72
+ fn: function () {
73
+ var self=this;
74
+ return self['@value'];
75
+ return self;},
76
+ args: [],
77
+ source: unescape('value%0A%09%5Evalue'),
78
+ messageSends: [],
79
+ referencedClasses: []
80
+ }),
81
+ smalltalk.Association);
82
+
83
+ smalltalk.addMethod(
84
+ unescape('_storeOn_'),
85
+ smalltalk.method({
86
+ selector: unescape('storeOn%3A'),
87
+ category: 'comparing',
88
+ fn: function (aStream) {
89
+ var self=this;
90
+ smalltalk.send(self['@key'], "_storeOn_", [aStream]);
91
+ smalltalk.send(aStream, "_nextPutAll_", [unescape("-%3E")]);
92
+ smalltalk.send(self['@value'], "_storeOn_", [aStream]);
93
+ return self;},
94
+ args: ["aStream"],
95
+ 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'),
96
+ messageSends: ["storeOn:", "nextPutAll:"],
97
+ referencedClasses: []
98
+ }),
99
+ smalltalk.Association);
100
+
101
+
102
+ smalltalk.addMethod(
103
+ unescape('_key_value_'),
104
+ smalltalk.method({
105
+ selector: unescape('key%3Avalue%3A'),
106
+ category: 'instance creation',
107
+ fn: function (aKey, aValue) {
108
+ var self=this;
109
+ return (function($rec){smalltalk.send($rec, "_key_", [aKey]);smalltalk.send($rec, "_value_", [aValue]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
110
+ return self;},
111
+ args: ["aKey", "aValue"],
112
+ 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'),
113
+ messageSends: ["key:", "value:", "yourself", "new"],
114
+ referencedClasses: []
115
+ }),
116
+ smalltalk.Association.klass);
117
+
118
+
2
119
  smalltalk.addClass('Stream', smalltalk.Object, ['collection', 'position', 'streamSize'], 'Kernel-Collections');
3
120
  smalltalk.addMethod(
4
121
  unescape('_collection'),
5
122
  smalltalk.method({
6
123
  selector: unescape('collection'),
7
124
  category: 'accessing',
8
- fn: function (){
125
+ fn: function () {
9
126
  var self=this;
10
127
  return self['@collection'];
11
128
  return self;},
@@ -21,7 +138,7 @@ unescape('_setCollection_'),
21
138
  smalltalk.method({
22
139
  selector: unescape('setCollection%3A'),
23
140
  category: 'accessing',
24
- fn: function (aCollection){
141
+ fn: function (aCollection) {
25
142
  var self=this;
26
143
  (self['@collection']=aCollection);
27
144
  return self;},
@@ -37,7 +154,7 @@ unescape('_position'),
37
154
  smalltalk.method({
38
155
  selector: unescape('position'),
39
156
  category: 'accessing',
40
- fn: function (){
157
+ fn: function () {
41
158
  var self=this;
42
159
  return (($receiver = self['@position']) == nil || $receiver == undefined) ? (function(){return (self['@position']=(0));})() : $receiver;
43
160
  return self;},
@@ -53,7 +170,7 @@ unescape('_position_'),
53
170
  smalltalk.method({
54
171
  selector: unescape('position%3A'),
55
172
  category: 'accessing',
56
- fn: function (anInteger){
173
+ fn: function (anInteger) {
57
174
  var self=this;
58
175
  (self['@position']=anInteger);
59
176
  return self;},
@@ -69,7 +186,7 @@ unescape('_streamSize'),
69
186
  smalltalk.method({
70
187
  selector: unescape('streamSize'),
71
188
  category: 'accessing',
72
- fn: function (){
189
+ fn: function () {
73
190
  var self=this;
74
191
  return self['@streamSize'];
75
192
  return self;},
@@ -85,7 +202,7 @@ unescape('_setStreamSize_'),
85
202
  smalltalk.method({
86
203
  selector: unescape('setStreamSize%3A'),
87
204
  category: 'accessing',
88
- fn: function (anInteger){
205
+ fn: function (anInteger) {
89
206
  var self=this;
90
207
  (self['@streamSize']=anInteger);
91
208
  return self;},
@@ -101,7 +218,7 @@ unescape('_contents'),
101
218
  smalltalk.method({
102
219
  selector: unescape('contents'),
103
220
  category: 'accessing',
104
- fn: function (){
221
+ fn: function () {
105
222
  var self=this;
106
223
  return smalltalk.send(smalltalk.send(self, "_collection", []), "_copyFrom_to_", [(1), smalltalk.send(self, "_streamSize", [])]);
107
224
  return self;},
@@ -117,7 +234,7 @@ unescape('_size'),
117
234
  smalltalk.method({
118
235
  selector: unescape('size'),
119
236
  category: 'accessing',
120
- fn: function (){
237
+ fn: function () {
121
238
  var self=this;
122
239
  return smalltalk.send(self, "_streamSize", []);
123
240
  return self;},
@@ -133,7 +250,7 @@ unescape('_reset'),
133
250
  smalltalk.method({
134
251
  selector: unescape('reset'),
135
252
  category: 'actions',
136
- fn: function (){
253
+ fn: function () {
137
254
  var self=this;
138
255
  smalltalk.send(self, "_position_", [(0)]);
139
256
  return self;},
@@ -149,7 +266,7 @@ unescape('_close'),
149
266
  smalltalk.method({
150
267
  selector: unescape('close'),
151
268
  category: 'actions',
152
- fn: function (){
269
+ fn: function () {
153
270
  var self=this;
154
271
 
155
272
  return self;},
@@ -165,7 +282,7 @@ unescape('_flush'),
165
282
  smalltalk.method({
166
283
  selector: unescape('flush'),
167
284
  category: 'actions',
168
- fn: function (){
285
+ fn: function () {
169
286
  var self=this;
170
287
 
171
288
  return self;},
@@ -181,7 +298,7 @@ unescape('_resetContents'),
181
298
  smalltalk.method({
182
299
  selector: unescape('resetContents'),
183
300
  category: 'actions',
184
- fn: function (){
301
+ fn: function () {
185
302
  var self=this;
186
303
  smalltalk.send(self, "_reset", []);
187
304
  smalltalk.send(self, "_setStreamSize_", [(0)]);
@@ -198,7 +315,7 @@ unescape('_do_'),
198
315
  smalltalk.method({
199
316
  selector: unescape('do%3A'),
200
317
  category: 'enumerating',
201
- fn: function (aBlock){
318
+ fn: function (aBlock) {
202
319
  var self=this;
203
320
  (function(){while(!(function(){return smalltalk.send(self, "_atEnd", []);})()) {(function(){return smalltalk.send(aBlock, "_value_", [smalltalk.send(self, "_next", [])]);})()}})();
204
321
  return self;},
@@ -214,7 +331,7 @@ unescape('_setToEnd'),
214
331
  smalltalk.method({
215
332
  selector: unescape('setToEnd'),
216
333
  category: 'positioning',
217
- fn: function (){
334
+ fn: function () {
218
335
  var self=this;
219
336
  smalltalk.send(self, "_position_", [smalltalk.send(self, "_size", [])]);
220
337
  return self;},
@@ -230,7 +347,7 @@ unescape('_skip_'),
230
347
  smalltalk.method({
231
348
  selector: unescape('skip%3A'),
232
349
  category: 'positioning',
233
- fn: function (anInteger){
350
+ fn: function (anInteger) {
234
351
  var self=this;
235
352
  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)])]);
236
353
  return self;},
@@ -246,7 +363,7 @@ unescape('_next'),
246
363
  smalltalk.method({
247
364
  selector: unescape('next'),
248
365
  category: 'reading',
249
- fn: function (){
366
+ fn: function () {
250
367
  var self=this;
251
368
  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", [])]);})]));
252
369
  return self;},
@@ -262,7 +379,7 @@ unescape('_next_'),
262
379
  smalltalk.method({
263
380
  selector: unescape('next%3A'),
264
381
  category: 'reading',
265
- fn: function (anInteger){
382
+ fn: function (anInteger) {
266
383
  var self=this;
267
384
  var tempCollection=nil;
268
385
  (tempCollection=smalltalk.send(smalltalk.send(smalltalk.send(self, "_collection", []), "_class", []), "_new", []));
@@ -281,7 +398,7 @@ unescape('_nextPut_'),
281
398
  smalltalk.method({
282
399
  selector: unescape('nextPut%3A'),
283
400
  category: 'writing',
284
- fn: function (anObject){
401
+ fn: function (anObject) {
285
402
  var self=this;
286
403
  smalltalk.send(self, "_position_", [((($receiver = smalltalk.send(self, "_position", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]))]);
287
404
  smalltalk.send(smalltalk.send(self, "_collection", []), "_at_put_", [smalltalk.send(self, "_position", []), anObject]);
@@ -299,7 +416,7 @@ unescape('_nextPutAll_'),
299
416
  smalltalk.method({
300
417
  selector: unescape('nextPutAll%3A'),
301
418
  category: 'writing',
302
- fn: function (aCollection){
419
+ fn: function (aCollection) {
303
420
  var self=this;
304
421
  smalltalk.send(aCollection, "_do_", [(function(each){return smalltalk.send(self, "_nextPut_", [each]);})]);
305
422
  return self;},
@@ -315,7 +432,7 @@ unescape('_peek'),
315
432
  smalltalk.method({
316
433
  selector: unescape('peek'),
317
434
  category: 'reading',
318
- fn: function (){
435
+ fn: function () {
319
436
  var self=this;
320
437
  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)]))]);})]));
321
438
  return self;},
@@ -331,7 +448,7 @@ unescape('_atEnd'),
331
448
  smalltalk.method({
332
449
  selector: unescape('atEnd'),
333
450
  category: 'testing',
334
- fn: function (){
451
+ fn: function () {
335
452
  var self=this;
336
453
  return smalltalk.send(smalltalk.send(self, "_position", []), "__eq", [smalltalk.send(self, "_size", [])]);
337
454
  return self;},
@@ -347,7 +464,7 @@ unescape('_atStart'),
347
464
  smalltalk.method({
348
465
  selector: unescape('atStart'),
349
466
  category: 'testing',
350
- fn: function (){
467
+ fn: function () {
351
468
  var self=this;
352
469
  return smalltalk.send(smalltalk.send(self, "_position", []), "__eq", [(0)]);
353
470
  return self;},
@@ -363,7 +480,7 @@ unescape('_isEmpty'),
363
480
  smalltalk.method({
364
481
  selector: unescape('isEmpty'),
365
482
  category: 'testing',
366
- fn: function (){
483
+ fn: function () {
367
484
  var self=this;
368
485
  return smalltalk.send(smalltalk.send(self, "_size", []), "__eq", [(0)]);
369
486
  return self;},
@@ -380,7 +497,7 @@ unescape('_on_'),
380
497
  smalltalk.method({
381
498
  selector: unescape('on%3A'),
382
499
  category: 'instance creation',
383
- fn: function (aCollection){
500
+ fn: function (aCollection) {
384
501
  var self=this;
385
502
  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", []));
386
503
  return self;},
@@ -392,130 +509,13 @@ referencedClasses: []
392
509
  smalltalk.Stream.klass);
393
510
 
394
511
 
395
- smalltalk.addClass('Association', smalltalk.Object, ['key', 'value'], 'Kernel-Collections');
396
- smalltalk.addMethod(
397
- unescape('__eq'),
398
- smalltalk.method({
399
- selector: unescape('%3D'),
400
- category: 'comparing',
401
- fn: function (anAssociation){
402
- var self=this;
403
- 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", [])]);})]);})]);
404
- return self;},
405
- args: ["anAssociation"],
406
- 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'),
407
- messageSends: ["and:", unescape("%3D"), "class", "key", "value"],
408
- referencedClasses: []
409
- }),
410
- smalltalk.Association);
411
-
412
- smalltalk.addMethod(
413
- unescape('_key_'),
414
- smalltalk.method({
415
- selector: unescape('key%3A'),
416
- category: 'accessing',
417
- fn: function (aKey){
418
- var self=this;
419
- (self['@key']=aKey);
420
- return self;},
421
- args: ["aKey"],
422
- source: unescape('key%3A%20aKey%0A%09key%20%3A%3D%20aKey'),
423
- messageSends: [],
424
- referencedClasses: []
425
- }),
426
- smalltalk.Association);
427
-
428
- smalltalk.addMethod(
429
- unescape('_key'),
430
- smalltalk.method({
431
- selector: unescape('key'),
432
- category: 'accessing',
433
- fn: function (){
434
- var self=this;
435
- return self['@key'];
436
- return self;},
437
- args: [],
438
- source: unescape('key%0A%09%5Ekey'),
439
- messageSends: [],
440
- referencedClasses: []
441
- }),
442
- smalltalk.Association);
443
-
444
- smalltalk.addMethod(
445
- unescape('_value_'),
446
- smalltalk.method({
447
- selector: unescape('value%3A'),
448
- category: 'accessing',
449
- fn: function (aValue){
450
- var self=this;
451
- (self['@value']=aValue);
452
- return self;},
453
- args: ["aValue"],
454
- source: unescape('value%3A%20aValue%0A%09value%20%3A%3D%20aValue'),
455
- messageSends: [],
456
- referencedClasses: []
457
- }),
458
- smalltalk.Association);
459
-
460
- smalltalk.addMethod(
461
- unescape('_value'),
462
- smalltalk.method({
463
- selector: unescape('value'),
464
- category: 'accessing',
465
- fn: function (){
466
- var self=this;
467
- return self['@value'];
468
- return self;},
469
- args: [],
470
- source: unescape('value%0A%09%5Evalue'),
471
- messageSends: [],
472
- referencedClasses: []
473
- }),
474
- smalltalk.Association);
475
-
476
- smalltalk.addMethod(
477
- unescape('_storeOn_'),
478
- smalltalk.method({
479
- selector: unescape('storeOn%3A'),
480
- category: 'comparing',
481
- fn: function (aStream){
482
- var self=this;
483
- smalltalk.send(self['@key'], "_storeOn_", [aStream]);
484
- smalltalk.send(aStream, "_nextPutAll_", [unescape("-%3E")]);
485
- smalltalk.send(self['@value'], "_storeOn_", [aStream]);
486
- return self;},
487
- args: ["aStream"],
488
- 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'),
489
- messageSends: ["storeOn:", "nextPutAll:"],
490
- referencedClasses: []
491
- }),
492
- smalltalk.Association);
493
-
494
-
495
- smalltalk.addMethod(
496
- unescape('_key_value_'),
497
- smalltalk.method({
498
- selector: unescape('key%3Avalue%3A'),
499
- category: 'instance creation',
500
- fn: function (aKey, aValue){
501
- var self=this;
502
- return (function($rec){smalltalk.send($rec, "_key_", [aKey]);smalltalk.send($rec, "_value_", [aValue]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
503
- return self;},
504
- args: ["aKey", "aValue"],
505
- 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'),
506
- messageSends: ["key:", "value:", "yourself", "new"],
507
- referencedClasses: []
508
- }),
509
- smalltalk.Association.klass);
510
-
511
-
512
512
  smalltalk.addClass('RegularExpression', smalltalk.Object, [], 'Kernel-Collections');
513
513
  smalltalk.addMethod(
514
514
  unescape('_compile_'),
515
515
  smalltalk.method({
516
516
  selector: unescape('compile%3A'),
517
517
  category: 'evaluating',
518
- fn: function (aString){
518
+ fn: function (aString) {
519
519
  var self=this;
520
520
  return self.compile(aString);
521
521
  return self;},
@@ -531,7 +531,7 @@ unescape('_exec_'),
531
531
  smalltalk.method({
532
532
  selector: unescape('exec%3A'),
533
533
  category: 'evaluating',
534
- fn: function (aString){
534
+ fn: function (aString) {
535
535
  var self=this;
536
536
  return self.exec(aString) || nil;
537
537
  return self;},
@@ -547,7 +547,7 @@ unescape('_test_'),
547
547
  smalltalk.method({
548
548
  selector: unescape('test%3A'),
549
549
  category: 'evaluating',
550
- fn: function (aString){
550
+ fn: function (aString) {
551
551
  var self=this;
552
552
  return self.test(aString);
553
553
  return self;},
@@ -564,7 +564,7 @@ unescape('_fromString_flag_'),
564
564
  smalltalk.method({
565
565
  selector: unescape('fromString%3Aflag%3A'),
566
566
  category: 'instance creation',
567
- fn: function (aString, anotherString){
567
+ fn: function (aString, anotherString) {
568
568
  var self=this;
569
569
  return new RegExp(aString, anotherString);
570
570
  return self;},
@@ -580,7 +580,7 @@ unescape('_fromString_'),
580
580
  smalltalk.method({
581
581
  selector: unescape('fromString%3A'),
582
582
  category: 'instance creation',
583
- fn: function (aString){
583
+ fn: function (aString) {
584
584
  var self=this;
585
585
  return smalltalk.send(self, "_fromString_flag_", [aString, ""]);
586
586
  return self;},
@@ -598,7 +598,7 @@ unescape('_size'),
598
598
  smalltalk.method({
599
599
  selector: unescape('size'),
600
600
  category: 'accessing',
601
- fn: function (){
601
+ fn: function () {
602
602
  var self=this;
603
603
  smalltalk.send(self, "_subclassResponsibility", []);
604
604
  return self;},
@@ -614,7 +614,7 @@ unescape('_readStream'),
614
614
  smalltalk.method({
615
615
  selector: unescape('readStream'),
616
616
  category: 'accessing',
617
- fn: function (){
617
+ fn: function () {
618
618
  var self=this;
619
619
  return smalltalk.send(self, "_stream", []);
620
620
  return self;},
@@ -630,7 +630,7 @@ unescape('_writeStream'),
630
630
  smalltalk.method({
631
631
  selector: unescape('writeStream'),
632
632
  category: 'accessing',
633
- fn: function (){
633
+ fn: function () {
634
634
  var self=this;
635
635
  return smalltalk.send(self, "_stream", []);
636
636
  return self;},
@@ -646,7 +646,7 @@ unescape('_stream'),
646
646
  smalltalk.method({
647
647
  selector: unescape('stream'),
648
648
  category: 'accessing',
649
- fn: function (){
649
+ fn: function () {
650
650
  var self=this;
651
651
  return smalltalk.send(smalltalk.send(self, "_streamClass", []), "_on_", [self]);
652
652
  return self;},
@@ -662,7 +662,7 @@ unescape('_streamClass'),
662
662
  smalltalk.method({
663
663
  selector: unescape('streamClass'),
664
664
  category: 'accessing',
665
- fn: function (){
665
+ fn: function () {
666
666
  var self=this;
667
667
  return smalltalk.send(smalltalk.send(self, "_class", []), "_streamClass", []);
668
668
  return self;},
@@ -678,7 +678,7 @@ unescape('_add_'),
678
678
  smalltalk.method({
679
679
  selector: unescape('add%3A'),
680
680
  category: 'adding/removing',
681
- fn: function (anObject){
681
+ fn: function (anObject) {
682
682
  var self=this;
683
683
  smalltalk.send(self, "_subclassResponsibility", []);
684
684
  return self;},
@@ -694,7 +694,7 @@ unescape('_addAll_'),
694
694
  smalltalk.method({
695
695
  selector: unescape('addAll%3A'),
696
696
  category: 'adding/removing',
697
- fn: function (aCollection){
697
+ fn: function (aCollection) {
698
698
  var self=this;
699
699
  smalltalk.send(aCollection, "_do_", [(function(each){return smalltalk.send(self, "_add_", [each]);})]);
700
700
  return aCollection;
@@ -711,7 +711,7 @@ unescape('__comma'),
711
711
  smalltalk.method({
712
712
  selector: unescape('%2C'),
713
713
  category: 'copying',
714
- fn: function (aCollection){
714
+ fn: function (aCollection) {
715
715
  var self=this;
716
716
  return (function($rec){smalltalk.send($rec, "_addAll_", [aCollection]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_copy", []));
717
717
  return self;},
@@ -727,7 +727,7 @@ unescape('_copyWith_'),
727
727
  smalltalk.method({
728
728
  selector: unescape('copyWith%3A'),
729
729
  category: 'copying',
730
- fn: function (anObject){
730
+ fn: function (anObject) {
731
731
  var self=this;
732
732
  return (function($rec){smalltalk.send($rec, "_add_", [anObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_copy", []));
733
733
  return self;},
@@ -743,7 +743,7 @@ unescape('_copyWithAll_'),
743
743
  smalltalk.method({
744
744
  selector: unescape('copyWithAll%3A'),
745
745
  category: 'copying',
746
- fn: function (aCollection){
746
+ fn: function (aCollection) {
747
747
  var self=this;
748
748
  return (function($rec){smalltalk.send($rec, "_addAll_", [aCollection]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_copy", []));
749
749
  return self;},
@@ -759,7 +759,7 @@ unescape('_asArray'),
759
759
  smalltalk.method({
760
760
  selector: unescape('asArray'),
761
761
  category: 'converting',
762
- fn: function (){
762
+ fn: function () {
763
763
  var self=this;
764
764
  return smalltalk.send((smalltalk.Array || Array), "_withAll_", [self]);
765
765
  return self;},
@@ -775,7 +775,7 @@ unescape('_do_'),
775
775
  smalltalk.method({
776
776
  selector: unescape('do%3A'),
777
777
  category: 'enumerating',
778
- fn: function (aBlock){
778
+ fn: function (aBlock) {
779
779
  var self=this;
780
780
  for(var i=0;i<self.length;i++){aBlock(self[i]);};
781
781
  return self;},
@@ -791,7 +791,7 @@ unescape('_collect_'),
791
791
  smalltalk.method({
792
792
  selector: unescape('collect%3A'),
793
793
  category: 'enumerating',
794
- fn: function (aBlock){
794
+ fn: function (aBlock) {
795
795
  var self=this;
796
796
  var newCollection=nil;
797
797
  (newCollection=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
@@ -810,7 +810,7 @@ unescape('_detect_'),
810
810
  smalltalk.method({
811
811
  selector: unescape('detect%3A'),
812
812
  category: 'enumerating',
813
- fn: function (aBlock){
813
+ fn: function (aBlock) {
814
814
  var self=this;
815
815
  return smalltalk.send(self, "_detect_ifNone_", [aBlock, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
816
816
  return self;},
@@ -826,7 +826,7 @@ unescape('_detect_ifNone_'),
826
826
  smalltalk.method({
827
827
  selector: unescape('detect%3AifNone%3A'),
828
828
  category: 'enumerating',
829
- fn: function (aBlock, anotherBlock){
829
+ fn: function (aBlock, anotherBlock) {
830
830
  var self=this;
831
831
 
832
832
  for(var i = 0; i < self.length; i++)
@@ -847,7 +847,7 @@ unescape('_do_separatedBy_'),
847
847
  smalltalk.method({
848
848
  selector: unescape('do%3AseparatedBy%3A'),
849
849
  category: 'enumerating',
850
- fn: function (aBlock, anotherBlock){
850
+ fn: function (aBlock, anotherBlock) {
851
851
  var self=this;
852
852
  var first=nil;
853
853
  (first=true);
@@ -865,7 +865,7 @@ unescape('_inject_into_'),
865
865
  smalltalk.method({
866
866
  selector: unescape('inject%3Ainto%3A'),
867
867
  category: 'enumerating',
868
- fn: function (anObject, aBlock){
868
+ fn: function (anObject, aBlock) {
869
869
  var self=this;
870
870
  var result=nil;
871
871
  (result=anObject);
@@ -884,7 +884,7 @@ unescape('_reject_'),
884
884
  smalltalk.method({
885
885
  selector: unescape('reject%3A'),
886
886
  category: 'enumerating',
887
- fn: function (aBlock){
887
+ fn: function (aBlock) {
888
888
  var self=this;
889
889
  return smalltalk.send(self, "_select_", [(function(each){return smalltalk.send(smalltalk.send(aBlock, "_value_", [each]), "__eq", [false]);})]);
890
890
  return self;},
@@ -900,7 +900,7 @@ unescape('_select_'),
900
900
  smalltalk.method({
901
901
  selector: unescape('select%3A'),
902
902
  category: 'enumerating',
903
- fn: function (aBlock){
903
+ fn: function (aBlock) {
904
904
  var self=this;
905
905
  var stream=nil;
906
906
  (stream=smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "_new", []), "_writeStream", []));
@@ -919,7 +919,7 @@ unescape('_errorNotFound'),
919
919
  smalltalk.method({
920
920
  selector: unescape('errorNotFound'),
921
921
  category: 'error handling',
922
- fn: function (){
922
+ fn: function () {
923
923
  var self=this;
924
924
  smalltalk.send(self, "_error_", ["Object is not in the collection"]);
925
925
  return self;},
@@ -935,7 +935,7 @@ unescape('_includes_'),
935
935
  smalltalk.method({
936
936
  selector: unescape('includes%3A'),
937
937
  category: 'testing',
938
- fn: function (anObject){
938
+ fn: function (anObject) {
939
939
  var self=this;
940
940
 
941
941
  var i = self.length;
@@ -957,7 +957,7 @@ unescape('_notEmpty'),
957
957
  smalltalk.method({
958
958
  selector: unescape('notEmpty'),
959
959
  category: 'testing',
960
- fn: function (){
960
+ fn: function () {
961
961
  var self=this;
962
962
  return smalltalk.send(smalltalk.send(self, "_isEmpty", []), "_not", []);
963
963
  return self;},
@@ -973,7 +973,7 @@ unescape('_isEmpty'),
973
973
  smalltalk.method({
974
974
  selector: unescape('isEmpty'),
975
975
  category: 'testing',
976
- fn: function (){
976
+ fn: function () {
977
977
  var self=this;
978
978
  return smalltalk.send(smalltalk.send(self, "_size", []), "__eq", [(0)]);
979
979
  return self;},
@@ -989,7 +989,7 @@ unescape('_remove_'),
989
989
  smalltalk.method({
990
990
  selector: unescape('remove%3A'),
991
991
  category: 'adding/removing',
992
- fn: function (anObject){
992
+ fn: function (anObject) {
993
993
  var self=this;
994
994
  return smalltalk.send(self, "_remove_ifAbsent_", [anObject, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
995
995
  return self;},
@@ -1005,7 +1005,7 @@ unescape('_asSet'),
1005
1005
  smalltalk.method({
1006
1006
  selector: unescape('asSet'),
1007
1007
  category: 'converting',
1008
- fn: function (){
1008
+ fn: function () {
1009
1009
  var self=this;
1010
1010
  return smalltalk.send((smalltalk.Set || Set), "_withAll_", [self]);
1011
1011
  return self;},
@@ -1021,7 +1021,7 @@ unescape('_ifNotEmpty_'),
1021
1021
  smalltalk.method({
1022
1022
  selector: unescape('ifNotEmpty%3A'),
1023
1023
  category: 'testing',
1024
- fn: function (aBlock){
1024
+ fn: function (aBlock) {
1025
1025
  var self=this;
1026
1026
  smalltalk.send(smalltalk.send(self, "_notEmpty", []), "_ifTrue_", [aBlock]);
1027
1027
  return self;},
@@ -1039,11 +1039,11 @@ selector: unescape('ifEmpty%3A'),
1039
1039
  category: 'testing',
1040
1040
  fn: function (aBlock){
1041
1041
  var self=this;
1042
- smalltalk.send(smalltalk.send(self, "_isEmpty", []), "_ifTrue_", [aBlock]);
1042
+ return ((($receiver = smalltalk.send(self, "_isEmpty", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(aBlock, "_value", []);})() : (function(){return self;})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(aBlock, "_value", []);}), (function(){return self;})]));
1043
1043
  return self;},
1044
1044
  args: ["aBlock"],
1045
- source: unescape('ifEmpty%3A%20aBlock%0A%09self%20isEmpty%20ifTrue%3A%20aBlock.'),
1046
- messageSends: ["ifTrue:", "isEmpty"],
1045
+ source: unescape('ifEmpty%3A%20aBlock%0A%09%22Evaluate%20the%20given%20block%20with%20the%20receiver%20as%20argument%2C%20answering%20its%20value%20if%20the%20receiver%20is%20empty%2C%20otherwise%20answer%20the%20receiver.%20Note%20that%20the%20fact%20that%20this%20method%20returns%20its%20argument%20in%20case%20the%20receiver%20is%20not%20empty%20allows%20one%20to%20write%20expressions%20like%20the%20following%20ones%3A%20self%20classifyMethodAs%3A%20%0A%09%09%28myProtocol%20ifEmpty%3A%20%5B%27As%20yet%20unclassified%27%5D%29%22%0A%09%5E%20self%20isEmpty%20%0A%09%09ifTrue%3A%20%5B%20aBlock%20value%20%5D%0A%09%09ifFalse%3A%20%5B%20self%20%5D'),
1046
+ messageSends: ["ifTrue:ifFalse:", "isEmpty", "value"],
1047
1047
  referencedClasses: []
1048
1048
  }),
1049
1049
  smalltalk.Collection);
@@ -1053,7 +1053,7 @@ unescape('_copyWithoutAll_'),
1053
1053
  smalltalk.method({
1054
1054
  selector: unescape('copyWithoutAll%3A'),
1055
1055
  category: 'copying',
1056
- fn: function (aCollection){
1056
+ fn: function (aCollection) {
1057
1057
  var self=this;
1058
1058
  return smalltalk.send(self, "_reject_", [(function(each){return smalltalk.send(aCollection, "_includes_", [each]);})]);
1059
1059
  return self;},
@@ -1069,7 +1069,7 @@ unescape('_remove_ifAbsent_'),
1069
1069
  smalltalk.method({
1070
1070
  selector: unescape('remove%3AifAbsent%3A'),
1071
1071
  category: 'adding/removing',
1072
- fn: function (anObject, aBlock){
1072
+ fn: function (anObject, aBlock) {
1073
1073
  var self=this;
1074
1074
  smalltalk.send(self, "_subclassResponsibility", []);
1075
1075
  return self;},
@@ -1081,33 +1081,33 @@ referencedClasses: []
1081
1081
  smalltalk.Collection);
1082
1082
 
1083
1083
  smalltalk.addMethod(
1084
- unescape('_asJSONString'),
1084
+ unescape('_asOrderedCollection'),
1085
1085
  smalltalk.method({
1086
- selector: unescape('asJSONString'),
1086
+ selector: unescape('asOrderedCollection'),
1087
1087
  category: 'converting',
1088
- fn: function (){
1088
+ fn: function () {
1089
1089
  var self=this;
1090
- return smalltalk.send((smalltalk.JSON || JSON), "_stringify_", [smalltalk.send(self, "_collect_", [(function(each){return smalltalk.send(each, "_asJSONString", []);})])]);
1090
+ return smalltalk.send(self, "_asArray", []);
1091
1091
  return self;},
1092
1092
  args: [],
1093
- source: unescape('asJSONString%0A%09%5EJSON%20stringify%3A%20%28self%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJSONString%5D%29'),
1094
- messageSends: ["stringify:", "collect:", "asJSONString"],
1095
- referencedClasses: ["JSON"]
1093
+ source: unescape('asOrderedCollection%0A%09%5Eself%20asArray'),
1094
+ messageSends: ["asArray"],
1095
+ referencedClasses: []
1096
1096
  }),
1097
1097
  smalltalk.Collection);
1098
1098
 
1099
1099
  smalltalk.addMethod(
1100
- unescape('_asOrderedCollection'),
1100
+ unescape('_asJSON'),
1101
1101
  smalltalk.method({
1102
- selector: unescape('asOrderedCollection'),
1102
+ selector: unescape('asJSON'),
1103
1103
  category: 'converting',
1104
1104
  fn: function (){
1105
1105
  var self=this;
1106
- return smalltalk.send(self, "_asArray", []);
1106
+ return smalltalk.send(smalltalk.send(self, "_asArray", []), "_collect_", [(function(each){return smalltalk.send(each, "_asJSON", []);})]);
1107
1107
  return self;},
1108
1108
  args: [],
1109
- source: unescape('asOrderedCollection%0A%09%5Eself%20asArray'),
1110
- messageSends: ["asArray"],
1109
+ source: unescape('asJSON%0A%09%5Eself%20asArray%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJSON%5D'),
1110
+ messageSends: ["collect:", "asArray", "asJSON"],
1111
1111
  referencedClasses: []
1112
1112
  }),
1113
1113
  smalltalk.Collection);
@@ -1118,7 +1118,7 @@ unescape('_streamClass'),
1118
1118
  smalltalk.method({
1119
1119
  selector: unescape('streamClass'),
1120
1120
  category: 'accessing',
1121
- fn: function (){
1121
+ fn: function () {
1122
1122
  var self=this;
1123
1123
  return (smalltalk.Stream || Stream);
1124
1124
  return self;},
@@ -1134,7 +1134,7 @@ unescape('_with_'),
1134
1134
  smalltalk.method({
1135
1135
  selector: unescape('with%3A'),
1136
1136
  category: 'instance creation',
1137
- fn: function (anObject){
1137
+ fn: function (anObject) {
1138
1138
  var self=this;
1139
1139
  return (function($rec){smalltalk.send($rec, "_add_", [anObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
1140
1140
  return self;},
@@ -1150,7 +1150,7 @@ unescape('_with_with_'),
1150
1150
  smalltalk.method({
1151
1151
  selector: unescape('with%3Awith%3A'),
1152
1152
  category: 'instance creation',
1153
- fn: function (anObject, anotherObject){
1153
+ fn: function (anObject, anotherObject) {
1154
1154
  var self=this;
1155
1155
  return (function($rec){smalltalk.send($rec, "_add_", [anObject]);smalltalk.send($rec, "_add_", [anotherObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
1156
1156
  return self;},
@@ -1166,7 +1166,7 @@ unescape('_with_with_with_'),
1166
1166
  smalltalk.method({
1167
1167
  selector: unescape('with%3Awith%3Awith%3A'),
1168
1168
  category: 'instance creation',
1169
- fn: function (firstObject, secondObject, thirdObject){
1169
+ fn: function (firstObject, secondObject, thirdObject) {
1170
1170
  var self=this;
1171
1171
  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", []));
1172
1172
  return self;},
@@ -1182,7 +1182,7 @@ unescape('_withAll_'),
1182
1182
  smalltalk.method({
1183
1183
  selector: unescape('withAll%3A'),
1184
1184
  category: 'instance creation',
1185
- fn: function (aCollection){
1185
+ fn: function (aCollection) {
1186
1186
  var self=this;
1187
1187
  return (function($rec){smalltalk.send($rec, "_addAll_", [aCollection]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
1188
1188
  return self;},
@@ -1198,7 +1198,7 @@ unescape('_new_'),
1198
1198
  smalltalk.method({
1199
1199
  selector: unescape('new%3A'),
1200
1200
  category: 'instance creation',
1201
- fn: function (anInteger){
1201
+ fn: function (anInteger) {
1202
1202
  var self=this;
1203
1203
  return smalltalk.send(self, "_new", []);
1204
1204
  return self;},
@@ -1216,7 +1216,7 @@ unescape('_at_'),
1216
1216
  smalltalk.method({
1217
1217
  selector: unescape('at%3A'),
1218
1218
  category: 'accessing',
1219
- fn: function (anIndex){
1219
+ fn: function (anIndex) {
1220
1220
  var self=this;
1221
1221
  return smalltalk.send(self, "_at_ifAbsent_", [anIndex, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
1222
1222
  return self;},
@@ -1232,7 +1232,7 @@ unescape('_at_ifAbsent_'),
1232
1232
  smalltalk.method({
1233
1233
  selector: unescape('at%3AifAbsent%3A'),
1234
1234
  category: 'accessing',
1235
- fn: function (anIndex, aBlock){
1235
+ fn: function (anIndex, aBlock) {
1236
1236
  var self=this;
1237
1237
  smalltalk.send(self, "_subclassResponsibility", []);
1238
1238
  return self;},
@@ -1248,7 +1248,7 @@ unescape('_at_put_'),
1248
1248
  smalltalk.method({
1249
1249
  selector: unescape('at%3Aput%3A'),
1250
1250
  category: 'accessing',
1251
- fn: function (anIndex, anObject){
1251
+ fn: function (anIndex, anObject) {
1252
1252
  var self=this;
1253
1253
  smalltalk.send(self, "_subclassResponsibility", []);
1254
1254
  return self;},
@@ -1264,7 +1264,7 @@ unescape('_copyFrom_to_'),
1264
1264
  smalltalk.method({
1265
1265
  selector: unescape('copyFrom%3Ato%3A'),
1266
1266
  category: 'copying',
1267
- fn: function (anIndex, anotherIndex){
1267
+ fn: function (anIndex, anotherIndex) {
1268
1268
  var self=this;
1269
1269
  var range=nil;
1270
1270
  var newCollection=nil;
@@ -1285,7 +1285,7 @@ unescape('_first'),
1285
1285
  smalltalk.method({
1286
1286
  selector: unescape('first'),
1287
1287
  category: 'accessing',
1288
- fn: function (){
1288
+ fn: function () {
1289
1289
  var self=this;
1290
1290
  return smalltalk.send(self, "_at_", [(1)]);
1291
1291
  return self;},
@@ -1301,7 +1301,7 @@ unescape('_fourth'),
1301
1301
  smalltalk.method({
1302
1302
  selector: unescape('fourth'),
1303
1303
  category: 'accessing',
1304
- fn: function (){
1304
+ fn: function () {
1305
1305
  var self=this;
1306
1306
  return smalltalk.send(self, "_at_", [(4)]);
1307
1307
  return self;},
@@ -1317,7 +1317,7 @@ unescape('_last'),
1317
1317
  smalltalk.method({
1318
1318
  selector: unescape('last'),
1319
1319
  category: 'accessing',
1320
- fn: function (){
1320
+ fn: function () {
1321
1321
  var self=this;
1322
1322
  return smalltalk.send(self, "_at_", [smalltalk.send(self, "_size", [])]);
1323
1323
  return self;},
@@ -1333,7 +1333,7 @@ unescape('_second'),
1333
1333
  smalltalk.method({
1334
1334
  selector: unescape('second'),
1335
1335
  category: 'accessing',
1336
- fn: function (){
1336
+ fn: function () {
1337
1337
  var self=this;
1338
1338
  return smalltalk.send(self, "_at_", [(2)]);
1339
1339
  return self;},
@@ -1349,7 +1349,7 @@ unescape('_third'),
1349
1349
  smalltalk.method({
1350
1350
  selector: unescape('third'),
1351
1351
  category: 'accessing',
1352
- fn: function (){
1352
+ fn: function () {
1353
1353
  var self=this;
1354
1354
  return smalltalk.send(self, "_at_", [(3)]);
1355
1355
  return self;},
@@ -1365,7 +1365,7 @@ unescape('_removeLast'),
1365
1365
  smalltalk.method({
1366
1366
  selector: unescape('removeLast'),
1367
1367
  category: 'adding',
1368
- fn: function (){
1368
+ fn: function () {
1369
1369
  var self=this;
1370
1370
  smalltalk.send(self, "_remove_", [smalltalk.send(self, "_last", [])]);
1371
1371
  return self;},
@@ -1381,7 +1381,7 @@ unescape('_addLast_'),
1381
1381
  smalltalk.method({
1382
1382
  selector: unescape('addLast%3A'),
1383
1383
  category: 'adding',
1384
- fn: function (anObject){
1384
+ fn: function (anObject) {
1385
1385
  var self=this;
1386
1386
  smalltalk.send(self, "_add_", [anObject]);
1387
1387
  return self;},
@@ -1397,7 +1397,7 @@ unescape('_withIndexDo_'),
1397
1397
  smalltalk.method({
1398
1398
  selector: unescape('withIndexDo%3A'),
1399
1399
  category: 'enumerating',
1400
- fn: function (aBlock){
1400
+ fn: function (aBlock) {
1401
1401
  var self=this;
1402
1402
  for(var i=0;i<self.length;i++){aBlock(self[i], i+1);};
1403
1403
  return self;},
@@ -1413,7 +1413,7 @@ unescape('_allButFirst'),
1413
1413
  smalltalk.method({
1414
1414
  selector: unescape('allButFirst'),
1415
1415
  category: 'accessing',
1416
- fn: function (){
1416
+ fn: function () {
1417
1417
  var self=this;
1418
1418
  return smalltalk.send(self, "_copyFrom_to_", [(2), smalltalk.send(self, "_size", [])]);
1419
1419
  return self;},
@@ -1429,7 +1429,7 @@ unescape('_allButLast'),
1429
1429
  smalltalk.method({
1430
1430
  selector: unescape('allButLast'),
1431
1431
  category: 'accessing',
1432
- fn: function (){
1432
+ fn: function () {
1433
1433
  var self=this;
1434
1434
  return smalltalk.send(self, "_copyFrom_to_", [(1), ((($receiver = smalltalk.send(self, "_size", [])).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)]))]);
1435
1435
  return self;},
@@ -1445,7 +1445,7 @@ unescape('_indexOf_'),
1445
1445
  smalltalk.method({
1446
1446
  selector: unescape('indexOf%3A'),
1447
1447
  category: 'accessing',
1448
- fn: function (anObject){
1448
+ fn: function (anObject) {
1449
1449
  var self=this;
1450
1450
  return smalltalk.send(self, "_indexOf_ifAbsent_", [anObject, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
1451
1451
  return self;},
@@ -1461,7 +1461,7 @@ unescape('_indexOf_ifAbsent_'),
1461
1461
  smalltalk.method({
1462
1462
  selector: unescape('indexOf%3AifAbsent%3A'),
1463
1463
  category: 'accessing',
1464
- fn: function (anObject, aBlock){
1464
+ fn: function (anObject, aBlock) {
1465
1465
  var self=this;
1466
1466
 
1467
1467
  for(var i=0;i<self.length;i++){
@@ -1482,7 +1482,7 @@ unescape('_indexOf_startingAt_ifAbsent_'),
1482
1482
  smalltalk.method({
1483
1483
  selector: unescape('indexOf%3AstartingAt%3AifAbsent%3A'),
1484
1484
  category: 'accessing',
1485
- fn: function (anObject, start, aBlock){
1485
+ fn: function (anObject, start, aBlock) {
1486
1486
  var self=this;
1487
1487
 
1488
1488
  for(var i=start-1;i<self.length;i++){
@@ -1503,7 +1503,7 @@ unescape('_indexOf_startingAt_'),
1503
1503
  smalltalk.method({
1504
1504
  selector: unescape('indexOf%3AstartingAt%3A'),
1505
1505
  category: 'accessing',
1506
- fn: function (anObject, start){
1506
+ fn: function (anObject, start) {
1507
1507
  var self=this;
1508
1508
  return smalltalk.send(self, "_indexOf_startingAt_ifAbsent_", [anObject, start, (function(){return (0);})]);
1509
1509
  return self;},
@@ -1519,7 +1519,7 @@ unescape('_reversed'),
1519
1519
  smalltalk.method({
1520
1520
  selector: unescape('reversed'),
1521
1521
  category: 'converting',
1522
- fn: function (){
1522
+ fn: function () {
1523
1523
  var self=this;
1524
1524
  smalltalk.send(self, "_subclassResponsibility", []);
1525
1525
  return self;},
@@ -1535,7 +1535,7 @@ unescape('_atRandom'),
1535
1535
  smalltalk.method({
1536
1536
  selector: unescape('atRandom'),
1537
1537
  category: 'accessing',
1538
- fn: function (){
1538
+ fn: function () {
1539
1539
  var self=this;
1540
1540
  return smalltalk.send(self, "_at_", [smalltalk.send(smalltalk.send(self, "_size", []), "_atRandom", [])]);
1541
1541
  return self;},
@@ -1551,7 +1551,7 @@ unescape('__eq'),
1551
1551
  smalltalk.method({
1552
1552
  selector: unescape('%3D'),
1553
1553
  category: 'comparing',
1554
- fn: function (aCollection){
1554
+ fn: function (aCollection) {
1555
1555
  var self=this;
1556
1556
  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}})})();})]));
1557
1557
  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}})})();})]));})]);
@@ -1570,7 +1570,7 @@ unescape('_shallowCopy'),
1570
1570
  smalltalk.method({
1571
1571
  selector: unescape('shallowCopy'),
1572
1572
  category: 'copying',
1573
- fn: function (){
1573
+ fn: function () {
1574
1574
  var self=this;
1575
1575
  var newCollection=nil;
1576
1576
  (newCollection=smalltalk.send(smalltalk.send(self, "_class", []), "_new_", [smalltalk.send(self, "_size", [])]));
@@ -1589,7 +1589,7 @@ unescape('_deepCopy'),
1589
1589
  smalltalk.method({
1590
1590
  selector: unescape('deepCopy'),
1591
1591
  category: 'copying',
1592
- fn: function (){
1592
+ fn: function () {
1593
1593
  var self=this;
1594
1594
  var newCollection=nil;
1595
1595
  (newCollection=smalltalk.send(smalltalk.send(self, "_class", []), "_new_", [smalltalk.send(self, "_size", [])]));
@@ -1608,7 +1608,7 @@ unescape('_printString'),
1608
1608
  smalltalk.method({
1609
1609
  selector: unescape('printString'),
1610
1610
  category: 'printing',
1611
- fn: function (){
1611
+ fn: function () {
1612
1612
  var self=this;
1613
1613
  var str=nil;
1614
1614
  (str=smalltalk.send("", "_writeStream", []));
@@ -1624,6 +1624,22 @@ referencedClasses: []
1624
1624
  }),
1625
1625
  smalltalk.SequenceableCollection);
1626
1626
 
1627
+ smalltalk.addMethod(
1628
+ unescape('_first_'),
1629
+ smalltalk.method({
1630
+ selector: unescape('first%3A'),
1631
+ category: 'accessing',
1632
+ fn: function (n){
1633
+ var self=this;
1634
+ return smalltalk.send(self, "_copyFrom_to_", [(1), n]);
1635
+ return self;},
1636
+ args: ["n"],
1637
+ source: unescape('first%3A%20n%0A%09%22Answer%20the%20first%20n%20elements%20of%20the%20receiver.%0A%09Raise%20an%20error%20if%20there%20are%20not%20enough%20elements.%22%0A%0A%09%5E%20self%20copyFrom%3A%201%20to%3A%20n'),
1638
+ messageSends: ["copyFrom:to:"],
1639
+ referencedClasses: []
1640
+ }),
1641
+ smalltalk.SequenceableCollection);
1642
+
1627
1643
 
1628
1644
 
1629
1645
  smalltalk.addClass('CharacterArray', smalltalk.SequenceableCollection, [], 'Kernel-Collections');
@@ -1632,7 +1648,7 @@ unescape('_at_put_'),
1632
1648
  smalltalk.method({
1633
1649
  selector: unescape('at%3Aput%3A'),
1634
1650
  category: 'accessing',
1635
- fn: function (anIndex, anObject){
1651
+ fn: function (anIndex, anObject) {
1636
1652
  var self=this;
1637
1653
  smalltalk.send(self, "_errorReadOnly", []);
1638
1654
  return self;},
@@ -1648,7 +1664,7 @@ unescape('_add_'),
1648
1664
  smalltalk.method({
1649
1665
  selector: unescape('add%3A'),
1650
1666
  category: 'adding',
1651
- fn: function (anObject){
1667
+ fn: function (anObject) {
1652
1668
  var self=this;
1653
1669
  smalltalk.send(self, "_errorReadOnly", []);
1654
1670
  return self;},
@@ -1664,7 +1680,7 @@ unescape('__comma'),
1664
1680
  smalltalk.method({
1665
1681
  selector: unescape('%2C'),
1666
1682
  category: 'copying',
1667
- fn: function (aString){
1683
+ fn: function (aString) {
1668
1684
  var self=this;
1669
1685
  return smalltalk.send(smalltalk.send(self, "_asString", []), "__comma", [smalltalk.send(aString, "_asString", [])]);
1670
1686
  return self;},
@@ -1680,7 +1696,7 @@ unescape('_asString'),
1680
1696
  smalltalk.method({
1681
1697
  selector: unescape('asString'),
1682
1698
  category: 'converting',
1683
- fn: function (){
1699
+ fn: function () {
1684
1700
  var self=this;
1685
1701
  return smalltalk.send(self, "_subclassResponsibility", []);
1686
1702
  return self;},
@@ -1696,7 +1712,7 @@ unescape('_asNumber'),
1696
1712
  smalltalk.method({
1697
1713
  selector: unescape('asNumber'),
1698
1714
  category: 'converting',
1699
- fn: function (){
1715
+ fn: function () {
1700
1716
  var self=this;
1701
1717
  return smalltalk.send(smalltalk.send(self, "_asString", []), "_asNumber", []);
1702
1718
  return self;},
@@ -1712,7 +1728,7 @@ unescape('_errorReadOnly'),
1712
1728
  smalltalk.method({
1713
1729
  selector: unescape('errorReadOnly'),
1714
1730
  category: 'error handling',
1715
- fn: function (){
1731
+ fn: function () {
1716
1732
  var self=this;
1717
1733
  smalltalk.send(self, "_error_", [unescape("Object%20is%20read-only")]);
1718
1734
  return self;},
@@ -1728,7 +1744,7 @@ unescape('_printString'),
1728
1744
  smalltalk.method({
1729
1745
  selector: unescape('printString'),
1730
1746
  category: 'printing',
1731
- fn: function (){
1747
+ fn: function () {
1732
1748
  var self=this;
1733
1749
  return smalltalk.send(smalltalk.send(self, "_asString", []), "_printString", []);
1734
1750
  return self;},
@@ -1744,7 +1760,7 @@ unescape('_remove_'),
1744
1760
  smalltalk.method({
1745
1761
  selector: unescape('remove%3A'),
1746
1762
  category: 'adding',
1747
- fn: function (anObject){
1763
+ fn: function (anObject) {
1748
1764
  var self=this;
1749
1765
  smalltalk.send(self, "_errorReadOnly", []);
1750
1766
  return self;},
@@ -1760,7 +1776,7 @@ unescape('_asUppercase'),
1760
1776
  smalltalk.method({
1761
1777
  selector: unescape('asUppercase'),
1762
1778
  category: 'converting',
1763
- fn: function (){
1779
+ fn: function () {
1764
1780
  var self=this;
1765
1781
  return smalltalk.send(smalltalk.send(self, "_class", []), "_fromString_", [smalltalk.send(smalltalk.send(self, "_asString", []), "_asUppercase", [])]);
1766
1782
  return self;},
@@ -1776,7 +1792,7 @@ unescape('_asSymbol'),
1776
1792
  smalltalk.method({
1777
1793
  selector: unescape('asSymbol'),
1778
1794
  category: 'converting',
1779
- fn: function (){
1795
+ fn: function () {
1780
1796
  var self=this;
1781
1797
  return smalltalk.send(self, "_subclassResponsibility", []);
1782
1798
  return self;},
@@ -1792,7 +1808,7 @@ unescape('_asLowercase'),
1792
1808
  smalltalk.method({
1793
1809
  selector: unescape('asLowercase'),
1794
1810
  category: 'converting',
1795
- fn: function (){
1811
+ fn: function () {
1796
1812
  var self=this;
1797
1813
  return smalltalk.send(smalltalk.send(self, "_class", []), "_fromString_", [smalltalk.send(smalltalk.send(self, "_asString", []), "_asLowercase", [])]);
1798
1814
  return self;},
@@ -1809,7 +1825,7 @@ unescape('_fromString_'),
1809
1825
  smalltalk.method({
1810
1826
  selector: unescape('fromString%3A'),
1811
1827
  category: 'instance creation',
1812
- fn: function (aString){
1828
+ fn: function (aString) {
1813
1829
  var self=this;
1814
1830
  smalltalk.send(self, "_subclassResponsibility", []);
1815
1831
  return self;},
@@ -1827,7 +1843,7 @@ unescape('__eq'),
1827
1843
  smalltalk.method({
1828
1844
  selector: unescape('%3D'),
1829
1845
  category: 'comparing',
1830
- fn: function (aString){
1846
+ fn: function (aString) {
1831
1847
  var self=this;
1832
1848
  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}})})();})]));
1833
1849
  return String(self) === String(aString);
@@ -1845,7 +1861,7 @@ unescape('_size'),
1845
1861
  smalltalk.method({
1846
1862
  selector: unescape('size'),
1847
1863
  category: 'accessing',
1848
- fn: function (){
1864
+ fn: function () {
1849
1865
  var self=this;
1850
1866
  return self.length;
1851
1867
  return self;},
@@ -1861,7 +1877,7 @@ unescape('_at_ifAbsent_'),
1861
1877
  smalltalk.method({
1862
1878
  selector: unescape('at%3AifAbsent%3A'),
1863
1879
  category: 'accessing',
1864
- fn: function (anIndex, aBlock){
1880
+ fn: function (anIndex, aBlock) {
1865
1881
  var self=this;
1866
1882
  return self[anIndex - 1] || aBlock();
1867
1883
  return self;},
@@ -1877,7 +1893,7 @@ unescape('_escaped'),
1877
1893
  smalltalk.method({
1878
1894
  selector: unescape('escaped'),
1879
1895
  category: 'accessing',
1880
- fn: function (){
1896
+ fn: function () {
1881
1897
  var self=this;
1882
1898
  return escape(self);
1883
1899
  return self;},
@@ -1893,7 +1909,7 @@ unescape('_unescaped'),
1893
1909
  smalltalk.method({
1894
1910
  selector: unescape('unescaped'),
1895
1911
  category: 'accessing',
1896
- fn: function (){
1912
+ fn: function () {
1897
1913
  var self=this;
1898
1914
  return unescape(self);
1899
1915
  return self;},
@@ -1909,7 +1925,7 @@ unescape('__comma'),
1909
1925
  smalltalk.method({
1910
1926
  selector: unescape('%2C'),
1911
1927
  category: 'copying',
1912
- fn: function (aString){
1928
+ fn: function (aString) {
1913
1929
  var self=this;
1914
1930
  return self + aString;
1915
1931
  return self;},
@@ -1925,7 +1941,7 @@ unescape('_copyFrom_to_'),
1925
1941
  smalltalk.method({
1926
1942
  selector: unescape('copyFrom%3Ato%3A'),
1927
1943
  category: 'copying',
1928
- fn: function (anIndex, anotherIndex){
1944
+ fn: function (anIndex, anotherIndex) {
1929
1945
  var self=this;
1930
1946
  return self.substring(anIndex - 1, anotherIndex);
1931
1947
  return self;},
@@ -1941,7 +1957,7 @@ unescape('_shallowCopy'),
1941
1957
  smalltalk.method({
1942
1958
  selector: unescape('shallowCopy'),
1943
1959
  category: 'copying',
1944
- fn: function (){
1960
+ fn: function () {
1945
1961
  var self=this;
1946
1962
  return smalltalk.send(smalltalk.send(self, "_class", []), "_fromString_", [self]);
1947
1963
  return self;},
@@ -1957,7 +1973,7 @@ unescape('_deepCopy'),
1957
1973
  smalltalk.method({
1958
1974
  selector: unescape('deepCopy'),
1959
1975
  category: 'copying',
1960
- fn: function (){
1976
+ fn: function () {
1961
1977
  var self=this;
1962
1978
  return smalltalk.send(self, "_shallowCopy", []);
1963
1979
  return self;},
@@ -1973,7 +1989,7 @@ unescape('_asSelector'),
1973
1989
  smalltalk.method({
1974
1990
  selector: unescape('asSelector'),
1975
1991
  category: 'converting',
1976
- fn: function (){
1992
+ fn: function () {
1977
1993
  var self=this;
1978
1994
  var selector=nil;
1979
1995
  (selector=smalltalk.send("_", "__comma", [self]));
@@ -2001,7 +2017,7 @@ unescape('_asJavascript'),
2001
2017
  smalltalk.method({
2002
2018
  selector: unescape('asJavascript'),
2003
2019
  category: 'converting',
2004
- fn: function (){
2020
+ fn: function () {
2005
2021
  var self=this;
2006
2022
 
2007
2023
  if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)
@@ -2022,7 +2038,7 @@ unescape('_replace_with_'),
2022
2038
  smalltalk.method({
2023
2039
  selector: unescape('replace%3Awith%3A'),
2024
2040
  category: 'regular expressions',
2025
- fn: function (aString, anotherString){
2041
+ fn: function (aString, anotherString) {
2026
2042
  var self=this;
2027
2043
  return smalltalk.send(self, "_replaceRegexp_with_", [smalltalk.send((smalltalk.RegularExpression || RegularExpression), "_fromString_flag_", [aString, "g"]), anotherString]);
2028
2044
  return self;},
@@ -2038,7 +2054,7 @@ unescape('_replaceRegexp_with_'),
2038
2054
  smalltalk.method({
2039
2055
  selector: unescape('replaceRegexp%3Awith%3A'),
2040
2056
  category: 'regular expressions',
2041
- fn: function (aRegexp, aString){
2057
+ fn: function (aRegexp, aString) {
2042
2058
  var self=this;
2043
2059
  return self.replace(aRegexp, aString);
2044
2060
  return self;},
@@ -2054,7 +2070,7 @@ unescape('_tokenize_'),
2054
2070
  smalltalk.method({
2055
2071
  selector: unescape('tokenize%3A'),
2056
2072
  category: 'converting',
2057
- fn: function (aString){
2073
+ fn: function (aString) {
2058
2074
  var self=this;
2059
2075
  return self.split(aString);
2060
2076
  return self;},
@@ -2070,7 +2086,7 @@ unescape('_match_'),
2070
2086
  smalltalk.method({
2071
2087
  selector: unescape('match%3A'),
2072
2088
  category: 'regular expressions',
2073
- fn: function (aRegexp){
2089
+ fn: function (aRegexp) {
2074
2090
  var self=this;
2075
2091
  return self.search(aRegexp) != -1;
2076
2092
  return self;},
@@ -2086,7 +2102,7 @@ unescape('_asString'),
2086
2102
  smalltalk.method({
2087
2103
  selector: unescape('asString'),
2088
2104
  category: 'converting',
2089
- fn: function (){
2105
+ fn: function () {
2090
2106
  var self=this;
2091
2107
  return self;
2092
2108
  return self;},
@@ -2102,7 +2118,7 @@ unescape('_asNumber'),
2102
2118
  smalltalk.method({
2103
2119
  selector: unescape('asNumber'),
2104
2120
  category: 'converting',
2105
- fn: function (){
2121
+ fn: function () {
2106
2122
  var self=this;
2107
2123
  return Number(self);
2108
2124
  return self;},
@@ -2118,7 +2134,7 @@ unescape('_printString'),
2118
2134
  smalltalk.method({
2119
2135
  selector: unescape('printString'),
2120
2136
  category: 'printing',
2121
- fn: function (){
2137
+ fn: function () {
2122
2138
  var self=this;
2123
2139
  return smalltalk.send(smalltalk.send(unescape("%27"), "__comma", [self]), "__comma", [unescape("%27")]);
2124
2140
  return self;},
@@ -2134,7 +2150,7 @@ unescape('_printNl'),
2134
2150
  smalltalk.method({
2135
2151
  selector: unescape('printNl'),
2136
2152
  category: 'printing',
2137
- fn: function (){
2153
+ fn: function () {
2138
2154
  var self=this;
2139
2155
  console.log(self);
2140
2156
  return self;},
@@ -2150,7 +2166,7 @@ unescape('_isString'),
2150
2166
  smalltalk.method({
2151
2167
  selector: unescape('isString'),
2152
2168
  category: 'testing',
2153
- fn: function (){
2169
+ fn: function () {
2154
2170
  var self=this;
2155
2171
  return true;
2156
2172
  return self;},
@@ -2166,7 +2182,7 @@ unescape('__gt'),
2166
2182
  smalltalk.method({
2167
2183
  selector: unescape('%3E'),
2168
2184
  category: 'comparing',
2169
- fn: function (aString){
2185
+ fn: function (aString) {
2170
2186
  var self=this;
2171
2187
  return String(self) > aString._asString();
2172
2188
  return self;},
@@ -2182,7 +2198,7 @@ unescape('__lt'),
2182
2198
  smalltalk.method({
2183
2199
  selector: unescape('%3C'),
2184
2200
  category: 'comparing',
2185
- fn: function (aString){
2201
+ fn: function (aString) {
2186
2202
  var self=this;
2187
2203
  return String(self) < aString._asString();
2188
2204
  return self;},
@@ -2198,7 +2214,7 @@ unescape('__gt_eq'),
2198
2214
  smalltalk.method({
2199
2215
  selector: unescape('%3E%3D'),
2200
2216
  category: 'comparing',
2201
- fn: function (aString){
2217
+ fn: function (aString) {
2202
2218
  var self=this;
2203
2219
  return String(self) >= aString._asString();
2204
2220
  return self;},
@@ -2214,7 +2230,7 @@ unescape('__lt_eq'),
2214
2230
  smalltalk.method({
2215
2231
  selector: unescape('%3C%3D'),
2216
2232
  category: 'comparing',
2217
- fn: function (aString){
2233
+ fn: function (aString) {
2218
2234
  var self=this;
2219
2235
  return String(self) <= aString._asString();
2220
2236
  return self;},
@@ -2230,7 +2246,7 @@ unescape('_trimLeft_'),
2230
2246
  smalltalk.method({
2231
2247
  selector: unescape('trimLeft%3A'),
2232
2248
  category: 'regular expressions',
2233
- fn: function (separators){
2249
+ fn: function (separators) {
2234
2250
  var self=this;
2235
2251
  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"]), ""]);
2236
2252
  return self;},
@@ -2246,7 +2262,7 @@ unescape('_trimRight_'),
2246
2262
  smalltalk.method({
2247
2263
  selector: unescape('trimRight%3A'),
2248
2264
  category: 'regular expressions',
2249
- fn: function (separators){
2265
+ fn: function (separators) {
2250
2266
  var self=this;
2251
2267
  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"]), ""]);
2252
2268
  return self;},
@@ -2262,7 +2278,7 @@ unescape('_trimLeft'),
2262
2278
  smalltalk.method({
2263
2279
  selector: unescape('trimLeft'),
2264
2280
  category: 'regular expressions',
2265
- fn: function (){
2281
+ fn: function () {
2266
2282
  var self=this;
2267
2283
  return smalltalk.send(self, "_trimLeft_", [unescape("%5Cs")]);
2268
2284
  return self;},
@@ -2278,7 +2294,7 @@ unescape('_trimRight'),
2278
2294
  smalltalk.method({
2279
2295
  selector: unescape('trimRight'),
2280
2296
  category: 'regular expressions',
2281
- fn: function (){
2297
+ fn: function () {
2282
2298
  var self=this;
2283
2299
  return smalltalk.send(self, "_trimRight_", [unescape("%5Cs")]);
2284
2300
  return self;},
@@ -2294,7 +2310,7 @@ unescape('_trimBoth'),
2294
2310
  smalltalk.method({
2295
2311
  selector: unescape('trimBoth'),
2296
2312
  category: 'regular expressions',
2297
- fn: function (){
2313
+ fn: function () {
2298
2314
  var self=this;
2299
2315
  return smalltalk.send(self, "_trimBoth_", [unescape("%5Cs")]);
2300
2316
  return self;},
@@ -2310,7 +2326,7 @@ unescape('_trimBoth_'),
2310
2326
  smalltalk.method({
2311
2327
  selector: unescape('trimBoth%3A'),
2312
2328
  category: 'regular expressions',
2313
- fn: function (separators){
2329
+ fn: function (separators) {
2314
2330
  var self=this;
2315
2331
  return smalltalk.send(smalltalk.send(self, "_trimLeft_", [separators]), "_trimRight_", [separators]);
2316
2332
  return self;},
@@ -2326,7 +2342,7 @@ unescape('_asLowercase'),
2326
2342
  smalltalk.method({
2327
2343
  selector: unescape('asLowercase'),
2328
2344
  category: 'converting',
2329
- fn: function (){
2345
+ fn: function () {
2330
2346
  var self=this;
2331
2347
  return self.toLowerCase();
2332
2348
  return self;},
@@ -2342,7 +2358,7 @@ unescape('_asUppercase'),
2342
2358
  smalltalk.method({
2343
2359
  selector: unescape('asUppercase'),
2344
2360
  category: 'converting',
2345
- fn: function (){
2361
+ fn: function () {
2346
2362
  var self=this;
2347
2363
  return self.toUpperCase();
2348
2364
  return self;},
@@ -2358,7 +2374,7 @@ unescape('_join_'),
2358
2374
  smalltalk.method({
2359
2375
  selector: unescape('join%3A'),
2360
2376
  category: 'split join',
2361
- fn: function (aCollection){
2377
+ fn: function (aCollection) {
2362
2378
  var self=this;
2363
2379
  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]);})]);})]);
2364
2380
  return self;},
@@ -2374,7 +2390,7 @@ unescape('_includesSubString_'),
2374
2390
  smalltalk.method({
2375
2391
  selector: unescape('includesSubString%3A'),
2376
2392
  category: 'testing',
2377
- fn: function (subString){
2393
+ fn: function (subString) {
2378
2394
  var self=this;
2379
2395
  return self.indexOf(subString) != -1 ;
2380
2396
  return self;},
@@ -2390,7 +2406,7 @@ unescape('_asciiValue'),
2390
2406
  smalltalk.method({
2391
2407
  selector: unescape('asciiValue'),
2392
2408
  category: 'accessing',
2393
- fn: function (){
2409
+ fn: function () {
2394
2410
  var self=this;
2395
2411
  return self.charCodeAt(0);;
2396
2412
  return self;},
@@ -2406,7 +2422,7 @@ unescape('_lineIndicesDo_'),
2406
2422
  smalltalk.method({
2407
2423
  selector: unescape('lineIndicesDo%3A'),
2408
2424
  category: 'split join',
2409
- fn: function (aBlock){
2425
+ fn: function (aBlock) {
2410
2426
  var self=this;
2411
2427
  try{var cr=nil;
2412
2428
  var lf=nil;
@@ -2435,7 +2451,7 @@ unescape('_linesDo_'),
2435
2451
  smalltalk.method({
2436
2452
  selector: unescape('linesDo%3A'),
2437
2453
  category: 'split join',
2438
- fn: function (aBlock){
2454
+ fn: function (aBlock) {
2439
2455
  var self=this;
2440
2456
  smalltalk.send(self, "_lineIndicesDo_", [(function(start, endWithoutDelimiters, end){return smalltalk.send(aBlock, "_value_", [smalltalk.send(self, "_copyFrom_to_", [start, endWithoutDelimiters])]);})]);
2441
2457
  return self;},
@@ -2451,7 +2467,7 @@ unescape('_lines'),
2451
2467
  smalltalk.method({
2452
2468
  selector: unescape('lines'),
2453
2469
  category: 'split join',
2454
- fn: function (){
2470
+ fn: function () {
2455
2471
  var self=this;
2456
2472
  var lines=nil;
2457
2473
  (lines=smalltalk.send((smalltalk.Array || Array), "_new", []));
@@ -2470,7 +2486,7 @@ unescape('_lineNumber_'),
2470
2486
  smalltalk.method({
2471
2487
  selector: unescape('lineNumber%3A'),
2472
2488
  category: 'split join',
2473
- fn: function (anIndex){
2489
+ fn: function (anIndex) {
2474
2490
  var self=this;
2475
2491
  try{var lineCount=nil;
2476
2492
  (lineCount=(0));
@@ -2490,7 +2506,7 @@ unescape('_reversed'),
2490
2506
  smalltalk.method({
2491
2507
  selector: unescape('reversed'),
2492
2508
  category: 'converting',
2493
- fn: function (){
2509
+ fn: function () {
2494
2510
  var self=this;
2495
2511
  return self.split("").reverse().join("");
2496
2512
  return self;},
@@ -2506,7 +2522,7 @@ unescape('_asJavaScriptSelector'),
2506
2522
  smalltalk.method({
2507
2523
  selector: unescape('asJavaScriptSelector'),
2508
2524
  category: 'converting',
2509
- fn: function (){
2525
+ fn: function () {
2510
2526
  var self=this;
2511
2527
  return smalltalk.send(smalltalk.send(smalltalk.send(self, "_asSelector", []), "_replace_with_", [unescape("%5E_"), ""]), "_replace_with_", [unescape("_.*"), ""]);
2512
2528
  return self;},
@@ -2518,34 +2534,34 @@ referencedClasses: []
2518
2534
  smalltalk.String);
2519
2535
 
2520
2536
  smalltalk.addMethod(
2521
- unescape('_asJSONString'),
2537
+ unescape('_asSymbol'),
2522
2538
  smalltalk.method({
2523
- selector: unescape('asJSONString'),
2539
+ selector: unescape('asSymbol'),
2524
2540
  category: 'converting',
2525
- fn: function (){
2541
+ fn: function () {
2526
2542
  var self=this;
2527
- return self;
2543
+ return smalltalk.send((smalltalk.Symbol || Symbol), "_lookup_", [self]);
2528
2544
  return self;},
2529
2545
  args: [],
2530
- source: unescape('asJSONString%0A%09%5Eself'),
2531
- messageSends: [],
2532
- referencedClasses: []
2546
+ source: unescape('asSymbol%0A%09%5ESymbol%20lookup%3A%20self'),
2547
+ messageSends: ["lookup:"],
2548
+ referencedClasses: ["Symbol"]
2533
2549
  }),
2534
2550
  smalltalk.String);
2535
2551
 
2536
2552
  smalltalk.addMethod(
2537
- unescape('_asSymbol'),
2553
+ unescape('_asJSON'),
2538
2554
  smalltalk.method({
2539
- selector: unescape('asSymbol'),
2555
+ selector: unescape('asJSON'),
2540
2556
  category: 'converting',
2541
2557
  fn: function (){
2542
2558
  var self=this;
2543
- return smalltalk.send((smalltalk.Symbol || Symbol), "_lookup_", [self]);
2559
+ return self;
2544
2560
  return self;},
2545
2561
  args: [],
2546
- source: unescape('asSymbol%0A%09%5ESymbol%20lookup%3A%20self'),
2547
- messageSends: ["lookup:"],
2548
- referencedClasses: ["Symbol"]
2562
+ source: unescape('asJSON%0A%09%5Eself'),
2563
+ messageSends: [],
2564
+ referencedClasses: []
2549
2565
  }),
2550
2566
  smalltalk.String);
2551
2567
 
@@ -2555,7 +2571,7 @@ unescape('_streamClass'),
2555
2571
  smalltalk.method({
2556
2572
  selector: unescape('streamClass'),
2557
2573
  category: 'accessing',
2558
- fn: function (){
2574
+ fn: function () {
2559
2575
  var self=this;
2560
2576
  return (smalltalk.StringStream || StringStream);
2561
2577
  return self;},
@@ -2571,7 +2587,7 @@ unescape('_fromString_'),
2571
2587
  smalltalk.method({
2572
2588
  selector: unescape('fromString%3A'),
2573
2589
  category: 'instance creation',
2574
- fn: function (aString){
2590
+ fn: function (aString) {
2575
2591
  var self=this;
2576
2592
  return new self.fn(aString);
2577
2593
  return self;},
@@ -2587,7 +2603,7 @@ unescape('_cr'),
2587
2603
  smalltalk.method({
2588
2604
  selector: unescape('cr'),
2589
2605
  category: 'accessing',
2590
- fn: function (){
2606
+ fn: function () {
2591
2607
  var self=this;
2592
2608
  return '\r';
2593
2609
  return self;},
@@ -2603,7 +2619,7 @@ unescape('_lf'),
2603
2619
  smalltalk.method({
2604
2620
  selector: unescape('lf'),
2605
2621
  category: 'accessing',
2606
- fn: function (){
2622
+ fn: function () {
2607
2623
  var self=this;
2608
2624
  return '\n';
2609
2625
  return self;},
@@ -2619,7 +2635,7 @@ unescape('_space'),
2619
2635
  smalltalk.method({
2620
2636
  selector: unescape('space'),
2621
2637
  category: 'accessing',
2622
- fn: function (){
2638
+ fn: function () {
2623
2639
  var self=this;
2624
2640
  return ' ';
2625
2641
  return self;},
@@ -2635,7 +2651,7 @@ unescape('_tab'),
2635
2651
  smalltalk.method({
2636
2652
  selector: unescape('tab'),
2637
2653
  category: 'accessing',
2638
- fn: function (){
2654
+ fn: function () {
2639
2655
  var self=this;
2640
2656
  return '\t';
2641
2657
  return self;},
@@ -2651,7 +2667,7 @@ unescape('_crlf'),
2651
2667
  smalltalk.method({
2652
2668
  selector: unescape('crlf'),
2653
2669
  category: 'accessing',
2654
- fn: function (){
2670
+ fn: function () {
2655
2671
  var self=this;
2656
2672
  return '\r\n';
2657
2673
  return self;},
@@ -2667,7 +2683,7 @@ unescape('_streamContents_'),
2667
2683
  smalltalk.method({
2668
2684
  selector: unescape('streamContents%3A'),
2669
2685
  category: 'instance creation',
2670
- fn: function (blockWithArg){
2686
+ fn: function (blockWithArg) {
2671
2687
  var self=this;
2672
2688
  var stream=nil;
2673
2689
  (stream=smalltalk.send(smalltalk.send(self, "_streamClass", []), "_on_", [smalltalk.send((smalltalk.String || String), "_new", [])]));
@@ -2686,7 +2702,7 @@ unescape('_value_'),
2686
2702
  smalltalk.method({
2687
2703
  selector: unescape('value%3A'),
2688
2704
  category: 'instance creation',
2689
- fn: function (aUTFCharCode){
2705
+ fn: function (aUTFCharCode) {
2690
2706
  var self=this;
2691
2707
  return String.fromCharCode(aUTFCharCode);;
2692
2708
  return self;},
@@ -2704,7 +2720,7 @@ unescape('_at_ifAbsent_'),
2704
2720
  smalltalk.method({
2705
2721
  selector: unescape('at%3AifAbsent%3A'),
2706
2722
  category: 'accessing',
2707
- fn: function (anIndex, aBlock){
2723
+ fn: function (anIndex, aBlock) {
2708
2724
  var self=this;
2709
2725
  return smalltalk.send(smalltalk.send(self, "_asString", []), "_at_ifAbsent_", [anIndex, aBlock]);
2710
2726
  return self;},
@@ -2720,7 +2736,7 @@ unescape('_asString'),
2720
2736
  smalltalk.method({
2721
2737
  selector: unescape('asString'),
2722
2738
  category: 'converting',
2723
- fn: function (){
2739
+ fn: function () {
2724
2740
  var self=this;
2725
2741
  return self.value;
2726
2742
  return self;},
@@ -2736,7 +2752,7 @@ unescape('_printString'),
2736
2752
  smalltalk.method({
2737
2753
  selector: unescape('printString'),
2738
2754
  category: 'printing',
2739
- fn: function (){
2755
+ fn: function () {
2740
2756
  var self=this;
2741
2757
  return smalltalk.send(unescape("%23"), "__comma", [smalltalk.send(self, "_asString", [])]);
2742
2758
  return self;},
@@ -2752,7 +2768,7 @@ unescape('_size'),
2752
2768
  smalltalk.method({
2753
2769
  selector: unescape('size'),
2754
2770
  category: 'accessing',
2755
- fn: function (){
2771
+ fn: function () {
2756
2772
  var self=this;
2757
2773
  return smalltalk.send(smalltalk.send(self, "_asString", []), "_size", []);
2758
2774
  return self;},
@@ -2768,7 +2784,7 @@ unescape('_asSymbol'),
2768
2784
  smalltalk.method({
2769
2785
  selector: unescape('asSymbol'),
2770
2786
  category: 'converting',
2771
- fn: function (){
2787
+ fn: function () {
2772
2788
  var self=this;
2773
2789
  return self;
2774
2790
  return self;},
@@ -2784,7 +2800,7 @@ unescape('_copyFrom_to_'),
2784
2800
  smalltalk.method({
2785
2801
  selector: unescape('copyFrom%3Ato%3A'),
2786
2802
  category: 'copying',
2787
- fn: function (anIndex, anotherIndex){
2803
+ fn: function (anIndex, anotherIndex) {
2788
2804
  var self=this;
2789
2805
  return smalltalk.send(smalltalk.send(self, "_class", []), "_fromString_", [smalltalk.send(smalltalk.send(self, "_asString", []), "_copyFrom_to_", [anIndex, anotherIndex])]);
2790
2806
  return self;},
@@ -2800,7 +2816,7 @@ unescape('_deepCopy'),
2800
2816
  smalltalk.method({
2801
2817
  selector: unescape('deepCopy'),
2802
2818
  category: 'copying',
2803
- fn: function (){
2819
+ fn: function () {
2804
2820
  var self=this;
2805
2821
  return self;
2806
2822
  return self;},
@@ -2816,7 +2832,7 @@ unescape('__lt'),
2816
2832
  smalltalk.method({
2817
2833
  selector: unescape('%3C'),
2818
2834
  category: 'comparing',
2819
- fn: function (aSymbol){
2835
+ fn: function (aSymbol) {
2820
2836
  var self=this;
2821
2837
  return ((($receiver = smalltalk.send(self, "_asString", [])).klass === smalltalk.Number) ? $receiver <smalltalk.send(aSymbol, "_asString", []) : smalltalk.send($receiver, "__lt", [smalltalk.send(aSymbol, "_asString", [])]));
2822
2838
  return self;},
@@ -2832,7 +2848,7 @@ unescape('__lt_eq'),
2832
2848
  smalltalk.method({
2833
2849
  selector: unescape('%3C%3D'),
2834
2850
  category: 'comparing',
2835
- fn: function (aSymbol){
2851
+ fn: function (aSymbol) {
2836
2852
  var self=this;
2837
2853
  return ((($receiver = smalltalk.send(self, "_asString", [])).klass === smalltalk.Number) ? $receiver <=smalltalk.send(aSymbol, "_asString", []) : smalltalk.send($receiver, "__lt_eq", [smalltalk.send(aSymbol, "_asString", [])]));
2838
2854
  return self;},
@@ -2848,7 +2864,7 @@ unescape('__gt_eq'),
2848
2864
  smalltalk.method({
2849
2865
  selector: unescape('%3E%3D'),
2850
2866
  category: 'comparing',
2851
- fn: function (aSymbol){
2867
+ fn: function (aSymbol) {
2852
2868
  var self=this;
2853
2869
  return ((($receiver = smalltalk.send(self, "_asString", [])).klass === smalltalk.Number) ? $receiver >=smalltalk.send(aSymbol, "_asString", []) : smalltalk.send($receiver, "__gt_eq", [smalltalk.send(aSymbol, "_asString", [])]));
2854
2870
  return self;},
@@ -2864,7 +2880,7 @@ unescape('__eq'),
2864
2880
  smalltalk.method({
2865
2881
  selector: unescape('%3D'),
2866
2882
  category: 'comparing',
2867
- fn: function (aSymbol){
2883
+ fn: function (aSymbol) {
2868
2884
  var self=this;
2869
2885
  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}})})();})]));
2870
2886
  (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return smalltalk.send(smalltalk.send(self, "_asString", []), "__eq", [smalltalk.send(aSymbol, "_asString", [])])}})})();
@@ -2882,7 +2898,7 @@ unescape('_isSymbol'),
2882
2898
  smalltalk.method({
2883
2899
  selector: unescape('isSymbol'),
2884
2900
  category: 'printing',
2885
- fn: function (){
2901
+ fn: function () {
2886
2902
  var self=this;
2887
2903
  return true;
2888
2904
  return self;},
@@ -2898,7 +2914,7 @@ unescape('_asJavascript'),
2898
2914
  smalltalk.method({
2899
2915
  selector: unescape('asJavascript'),
2900
2916
  category: 'converting',
2901
- fn: function (){
2917
+ fn: function () {
2902
2918
  var self=this;
2903
2919
  return smalltalk.send(smalltalk.send(unescape("smalltalk.symbolFor%28%22"), "__comma", [smalltalk.send(self, "_asString", [])]), "__comma", [unescape("%22%29")]);
2904
2920
  return self;},
@@ -2914,7 +2930,7 @@ unescape('__gt'),
2914
2930
  smalltalk.method({
2915
2931
  selector: unescape('%3E'),
2916
2932
  category: 'comparing',
2917
- fn: function (aSymbol){
2933
+ fn: function (aSymbol) {
2918
2934
  var self=this;
2919
2935
  return ((($receiver = smalltalk.send(self, "_asString", [])).klass === smalltalk.Number) ? $receiver >smalltalk.send(aSymbol, "_asString", []) : smalltalk.send($receiver, "__gt", [smalltalk.send(aSymbol, "_asString", [])]));
2920
2936
  return self;},
@@ -2930,7 +2946,7 @@ unescape('_shallowCopy'),
2930
2946
  smalltalk.method({
2931
2947
  selector: unescape('shallowCopy'),
2932
2948
  category: 'copying',
2933
- fn: function (){
2949
+ fn: function () {
2934
2950
  var self=this;
2935
2951
  return self;
2936
2952
  return self;},
@@ -2946,7 +2962,7 @@ unescape('_asSelector'),
2946
2962
  smalltalk.method({
2947
2963
  selector: unescape('asSelector'),
2948
2964
  category: 'converting',
2949
- fn: function (){
2965
+ fn: function () {
2950
2966
  var self=this;
2951
2967
  return smalltalk.send(smalltalk.send(self, "_asString", []), "_asSelector", []);
2952
2968
  return self;},
@@ -2957,13 +2973,29 @@ referencedClasses: []
2957
2973
  }),
2958
2974
  smalltalk.Symbol);
2959
2975
 
2976
+ smalltalk.addMethod(
2977
+ unescape('_asJSON'),
2978
+ smalltalk.method({
2979
+ selector: unescape('asJSON'),
2980
+ category: 'converting',
2981
+ fn: function (){
2982
+ var self=this;
2983
+ return smalltalk.send(smalltalk.send(self, "_asString", []), "_asJSON", []);
2984
+ return self;},
2985
+ args: [],
2986
+ source: unescape('asJSON%0A%09%5Eself%20asString%20asJSON'),
2987
+ messageSends: ["asJSON", "asString"],
2988
+ referencedClasses: []
2989
+ }),
2990
+ smalltalk.Symbol);
2991
+
2960
2992
 
2961
2993
  smalltalk.addMethod(
2962
2994
  unescape('_lookup_'),
2963
2995
  smalltalk.method({
2964
2996
  selector: unescape('lookup%3A'),
2965
2997
  category: 'instance creation',
2966
- fn: function (aString){
2998
+ fn: function (aString) {
2967
2999
  var self=this;
2968
3000
  return smalltalk.symbolFor(aString);;
2969
3001
  return self;},
@@ -2979,7 +3011,7 @@ unescape('_basicNew'),
2979
3011
  smalltalk.method({
2980
3012
  selector: unescape('basicNew'),
2981
3013
  category: 'instance creation',
2982
- fn: function (){
3014
+ fn: function () {
2983
3015
  var self=this;
2984
3016
  smalltalk.send(self, "_shouldNotImplement", []);
2985
3017
  return self;},
@@ -2995,7 +3027,7 @@ unescape('_fromString_'),
2995
3027
  smalltalk.method({
2996
3028
  selector: unescape('fromString%3A'),
2997
3029
  category: 'instance creation',
2998
- fn: function (aString){
3030
+ fn: function (aString) {
2999
3031
  var self=this;
3000
3032
  return smalltalk.send(self, "_lookup_", [aString]);
3001
3033
  return self;},
@@ -3013,7 +3045,7 @@ unescape('_size'),
3013
3045
  smalltalk.method({
3014
3046
  selector: unescape('size'),
3015
3047
  category: 'accessing',
3016
- fn: function (){
3048
+ fn: function () {
3017
3049
  var self=this;
3018
3050
  return self.length;
3019
3051
  return self;},
@@ -3029,7 +3061,7 @@ unescape('_at_put_'),
3029
3061
  smalltalk.method({
3030
3062
  selector: unescape('at%3Aput%3A'),
3031
3063
  category: 'accessing',
3032
- fn: function (anIndex, anObject){
3064
+ fn: function (anIndex, anObject) {
3033
3065
  var self=this;
3034
3066
  return self[anIndex - 1] = anObject;
3035
3067
  return self;},
@@ -3045,7 +3077,7 @@ unescape('_at_ifAbsent_'),
3045
3077
  smalltalk.method({
3046
3078
  selector: unescape('at%3AifAbsent%3A'),
3047
3079
  category: 'accessing',
3048
- fn: function (anIndex, aBlock){
3080
+ fn: function (anIndex, aBlock) {
3049
3081
  var self=this;
3050
3082
 
3051
3083
  var value = self[anIndex - 1];
@@ -3068,7 +3100,7 @@ unescape('_add_'),
3068
3100
  smalltalk.method({
3069
3101
  selector: unescape('add%3A'),
3070
3102
  category: 'adding/removing',
3071
- fn: function (anObject){
3103
+ fn: function (anObject) {
3072
3104
  var self=this;
3073
3105
  self.push(anObject); return anObject;;
3074
3106
  return self;},
@@ -3084,7 +3116,7 @@ unescape('_join_'),
3084
3116
  smalltalk.method({
3085
3117
  selector: unescape('join%3A'),
3086
3118
  category: 'enumerating',
3087
- fn: function (aString){
3119
+ fn: function (aString) {
3088
3120
  var self=this;
3089
3121
  return self.join(aString);
3090
3122
  return self;},
@@ -3100,7 +3132,7 @@ unescape('_asJavascript'),
3100
3132
  smalltalk.method({
3101
3133
  selector: unescape('asJavascript'),
3102
3134
  category: 'converting',
3103
- fn: function (){
3135
+ fn: function () {
3104
3136
  var self=this;
3105
3137
  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")]);
3106
3138
  return self;},
@@ -3116,7 +3148,7 @@ unescape('_sort'),
3116
3148
  smalltalk.method({
3117
3149
  selector: unescape('sort'),
3118
3150
  category: 'enumerating',
3119
- fn: function (){
3151
+ fn: function () {
3120
3152
  var self=this;
3121
3153
  return smalltalk.send(self, "_basicPerform_", ["sort"]);
3122
3154
  return self;},
@@ -3132,7 +3164,7 @@ unescape('_sort_'),
3132
3164
  smalltalk.method({
3133
3165
  selector: unescape('sort%3A'),
3134
3166
  category: 'enumerating',
3135
- fn: function (aBlock){
3167
+ fn: function (aBlock) {
3136
3168
  var self=this;
3137
3169
 
3138
3170
  return self.sort(function(a, b) {
@@ -3152,7 +3184,7 @@ unescape('_remove_'),
3152
3184
  smalltalk.method({
3153
3185
  selector: unescape('remove%3A'),
3154
3186
  category: 'adding/removing',
3155
- fn: function (anObject){
3187
+ fn: function (anObject) {
3156
3188
  var self=this;
3157
3189
 
3158
3190
  for(var i=0;i<self.length;i++) {
@@ -3175,7 +3207,7 @@ unescape('_sorted'),
3175
3207
  smalltalk.method({
3176
3208
  selector: unescape('sorted'),
3177
3209
  category: 'enumerating',
3178
- fn: function (){
3210
+ fn: function () {
3179
3211
  var self=this;
3180
3212
  return smalltalk.send(smalltalk.send(self, "_copy", []), "_sort", []);
3181
3213
  return self;},
@@ -3191,7 +3223,7 @@ unescape('_sorted_'),
3191
3223
  smalltalk.method({
3192
3224
  selector: unescape('sorted%3A'),
3193
3225
  category: 'enumerating',
3194
- fn: function (aBlock){
3226
+ fn: function (aBlock) {
3195
3227
  var self=this;
3196
3228
  return smalltalk.send(smalltalk.send(self, "_copy", []), "_sort_", [aBlock]);
3197
3229
  return self;},
@@ -3207,7 +3239,7 @@ unescape('_removeFrom_to_'),
3207
3239
  smalltalk.method({
3208
3240
  selector: unescape('removeFrom%3Ato%3A'),
3209
3241
  category: 'adding/removing',
3210
- fn: function (aNumber, anotherNumber){
3242
+ fn: function (aNumber, anotherNumber) {
3211
3243
  var self=this;
3212
3244
  self.splice(aNumber - 1,anotherNumber - 1);
3213
3245
  return self;},
@@ -3223,7 +3255,7 @@ unescape('_reversed'),
3223
3255
  smalltalk.method({
3224
3256
  selector: unescape('reversed'),
3225
3257
  category: 'converting',
3226
- fn: function (){
3258
+ fn: function () {
3227
3259
  var self=this;
3228
3260
  return self._copy().reverse();
3229
3261
  return self;},
@@ -3240,7 +3272,7 @@ unescape('_new_'),
3240
3272
  smalltalk.method({
3241
3273
  selector: unescape('new%3A'),
3242
3274
  category: 'instance creation',
3243
- fn: function (anInteger){
3275
+ fn: function (anInteger) {
3244
3276
  var self=this;
3245
3277
  return new Array(anInteger);
3246
3278
  return self;},
@@ -3256,7 +3288,7 @@ unescape('_with_'),
3256
3288
  smalltalk.method({
3257
3289
  selector: unescape('with%3A'),
3258
3290
  category: 'instance creation',
3259
- fn: function (anObject){
3291
+ fn: function (anObject) {
3260
3292
  var self=this;
3261
3293
  return (function($rec){smalltalk.send($rec, "_at_put_", [(1), anObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new_", [(1)]));
3262
3294
  return self;},
@@ -3272,7 +3304,7 @@ unescape('_with_with_'),
3272
3304
  smalltalk.method({
3273
3305
  selector: unescape('with%3Awith%3A'),
3274
3306
  category: 'instance creation',
3275
- fn: function (anObject, anObject2){
3307
+ fn: function (anObject, anObject2) {
3276
3308
  var self=this;
3277
3309
  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)]));
3278
3310
  return self;},
@@ -3288,7 +3320,7 @@ unescape('_with_with_with_'),
3288
3320
  smalltalk.method({
3289
3321
  selector: unescape('with%3Awith%3Awith%3A'),
3290
3322
  category: 'instance creation',
3291
- fn: function (anObject, anObject2, anObject3){
3323
+ fn: function (anObject, anObject2, anObject3) {
3292
3324
  var self=this;
3293
3325
  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)]));
3294
3326
  return self;},
@@ -3304,15 +3336,15 @@ unescape('_withAll_'),
3304
3336
  smalltalk.method({
3305
3337
  selector: unescape('withAll%3A'),
3306
3338
  category: 'instance creation',
3307
- fn: function (aCollection){
3339
+ fn: function (aCollection) {
3308
3340
  var self=this;
3309
3341
  var instance=nil;
3310
3342
  (instance=smalltalk.send(self, "_new_", [smalltalk.send(aCollection, "_size", [])]));
3311
- smalltalk.send(aCollection, "_withIndexDo_", [(function(index, each){return smalltalk.send(instance, "_at_put_", [index, each]);})]);
3343
+ smalltalk.send(aCollection, "_withIndexDo_", [(function(each, index){return smalltalk.send(instance, "_at_put_", [index, each]);})]);
3312
3344
  return instance;
3313
3345
  return self;},
3314
3346
  args: ["aCollection"],
3315
- 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'),
3347
+ 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%3Aeach%20%3Aindex%20%20%7C%0A%09%09instance%20at%3A%20index%20put%3A%20each%5D.%0A%09%5Einstance'),
3316
3348
  messageSends: ["new:", "size", "withIndexDo:", "at:put:"],
3317
3349
  referencedClasses: []
3318
3350
  }),
@@ -3325,7 +3357,7 @@ unescape('_size'),
3325
3357
  smalltalk.method({
3326
3358
  selector: unescape('size'),
3327
3359
  category: 'accessing',
3328
- fn: function (){
3360
+ fn: function () {
3329
3361
  var self=this;
3330
3362
  return self.length;
3331
3363
  return self;},
@@ -3341,7 +3373,7 @@ unescape('_at_put_'),
3341
3373
  smalltalk.method({
3342
3374
  selector: unescape('at%3Aput%3A'),
3343
3375
  category: 'accessing',
3344
- fn: function (anIndex, anObject){
3376
+ fn: function (anIndex, anObject) {
3345
3377
  var self=this;
3346
3378
  return self[anIndex - 1] = anObject;
3347
3379
  return self;},
@@ -3357,7 +3389,7 @@ unescape('_at_ifAbsent_'),
3357
3389
  smalltalk.method({
3358
3390
  selector: unescape('at%3AifAbsent%3A'),
3359
3391
  category: 'accessing',
3360
- fn: function (anIndex, aBlock){
3392
+ fn: function (anIndex, aBlock) {
3361
3393
  var self=this;
3362
3394
 
3363
3395
  var value = self[anIndex - 1];
@@ -3380,7 +3412,7 @@ unescape('_add_'),
3380
3412
  smalltalk.method({
3381
3413
  selector: unescape('add%3A'),
3382
3414
  category: 'adding/removing',
3383
- fn: function (anObject){
3415
+ fn: function (anObject) {
3384
3416
  var self=this;
3385
3417
  self.push(anObject); return anObject;;
3386
3418
  return self;},
@@ -3396,7 +3428,7 @@ unescape('_join_'),
3396
3428
  smalltalk.method({
3397
3429
  selector: unescape('join%3A'),
3398
3430
  category: 'enumerating',
3399
- fn: function (aString){
3431
+ fn: function (aString) {
3400
3432
  var self=this;
3401
3433
  return self.join(aString);
3402
3434
  return self;},
@@ -3412,7 +3444,7 @@ unescape('_asJavascript'),
3412
3444
  smalltalk.method({
3413
3445
  selector: unescape('asJavascript'),
3414
3446
  category: 'converting',
3415
- fn: function (){
3447
+ fn: function () {
3416
3448
  var self=this;
3417
3449
  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")]);
3418
3450
  return self;},
@@ -3428,7 +3460,7 @@ unescape('_sort'),
3428
3460
  smalltalk.method({
3429
3461
  selector: unescape('sort'),
3430
3462
  category: 'enumerating',
3431
- fn: function (){
3463
+ fn: function () {
3432
3464
  var self=this;
3433
3465
  return smalltalk.send(self, "_basicPerform_", ["sort"]);
3434
3466
  return self;},
@@ -3444,7 +3476,7 @@ unescape('_sort_'),
3444
3476
  smalltalk.method({
3445
3477
  selector: unescape('sort%3A'),
3446
3478
  category: 'enumerating',
3447
- fn: function (aBlock){
3479
+ fn: function (aBlock) {
3448
3480
  var self=this;
3449
3481
 
3450
3482
  return self.sort(function(a, b) {
@@ -3464,7 +3496,7 @@ unescape('_remove_'),
3464
3496
  smalltalk.method({
3465
3497
  selector: unescape('remove%3A'),
3466
3498
  category: 'adding/removing',
3467
- fn: function (anObject){
3499
+ fn: function (anObject) {
3468
3500
  var self=this;
3469
3501
 
3470
3502
  for(var i=0;i<self.length;i++) {
@@ -3487,7 +3519,7 @@ unescape('_sorted'),
3487
3519
  smalltalk.method({
3488
3520
  selector: unescape('sorted'),
3489
3521
  category: 'enumerating',
3490
- fn: function (){
3522
+ fn: function () {
3491
3523
  var self=this;
3492
3524
  return smalltalk.send(smalltalk.send(self, "_copy", []), "_sort", []);
3493
3525
  return self;},
@@ -3503,7 +3535,7 @@ unescape('_sorted_'),
3503
3535
  smalltalk.method({
3504
3536
  selector: unescape('sorted%3A'),
3505
3537
  category: 'enumerating',
3506
- fn: function (aBlock){
3538
+ fn: function (aBlock) {
3507
3539
  var self=this;
3508
3540
  return smalltalk.send(smalltalk.send(self, "_copy", []), "_sort_", [aBlock]);
3509
3541
  return self;},
@@ -3519,7 +3551,7 @@ unescape('_removeFrom_to_'),
3519
3551
  smalltalk.method({
3520
3552
  selector: unescape('removeFrom%3Ato%3A'),
3521
3553
  category: 'adding/removing',
3522
- fn: function (aNumber, anotherNumber){
3554
+ fn: function (aNumber, anotherNumber) {
3523
3555
  var self=this;
3524
3556
  self.splice(aNumber - 1,anotherNumber - 1);
3525
3557
  return self;},
@@ -3535,7 +3567,7 @@ unescape('_reversed'),
3535
3567
  smalltalk.method({
3536
3568
  selector: unescape('reversed'),
3537
3569
  category: 'converting',
3538
- fn: function (){
3570
+ fn: function () {
3539
3571
  var self=this;
3540
3572
  return self._copy().reverse();
3541
3573
  return self;},
@@ -3552,7 +3584,7 @@ unescape('_new_'),
3552
3584
  smalltalk.method({
3553
3585
  selector: unescape('new%3A'),
3554
3586
  category: 'instance creation',
3555
- fn: function (anInteger){
3587
+ fn: function (anInteger) {
3556
3588
  var self=this;
3557
3589
  return new Array(anInteger);
3558
3590
  return self;},
@@ -3568,7 +3600,7 @@ unescape('_with_'),
3568
3600
  smalltalk.method({
3569
3601
  selector: unescape('with%3A'),
3570
3602
  category: 'instance creation',
3571
- fn: function (anObject){
3603
+ fn: function (anObject) {
3572
3604
  var self=this;
3573
3605
  return (function($rec){smalltalk.send($rec, "_at_put_", [(1), anObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new_", [(1)]));
3574
3606
  return self;},
@@ -3584,7 +3616,7 @@ unescape('_with_with_'),
3584
3616
  smalltalk.method({
3585
3617
  selector: unescape('with%3Awith%3A'),
3586
3618
  category: 'instance creation',
3587
- fn: function (anObject, anObject2){
3619
+ fn: function (anObject, anObject2) {
3588
3620
  var self=this;
3589
3621
  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)]));
3590
3622
  return self;},
@@ -3600,7 +3632,7 @@ unescape('_with_with_with_'),
3600
3632
  smalltalk.method({
3601
3633
  selector: unescape('with%3Awith%3Awith%3A'),
3602
3634
  category: 'instance creation',
3603
- fn: function (anObject, anObject2, anObject3){
3635
+ fn: function (anObject, anObject2, anObject3) {
3604
3636
  var self=this;
3605
3637
  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)]));
3606
3638
  return self;},
@@ -3616,15 +3648,15 @@ unescape('_withAll_'),
3616
3648
  smalltalk.method({
3617
3649
  selector: unescape('withAll%3A'),
3618
3650
  category: 'instance creation',
3619
- fn: function (aCollection){
3651
+ fn: function (aCollection) {
3620
3652
  var self=this;
3621
3653
  var instance=nil;
3622
3654
  (instance=smalltalk.send(self, "_new_", [smalltalk.send(aCollection, "_size", [])]));
3623
- smalltalk.send(aCollection, "_withIndexDo_", [(function(index, each){return smalltalk.send(instance, "_at_put_", [index, each]);})]);
3655
+ smalltalk.send(aCollection, "_withIndexDo_", [(function(each, index){return smalltalk.send(instance, "_at_put_", [index, each]);})]);
3624
3656
  return instance;
3625
3657
  return self;},
3626
3658
  args: ["aCollection"],
3627
- 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'),
3659
+ 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%3Aeach%20%3Aindex%20%20%7C%0A%09%09instance%20at%3A%20index%20put%3A%20each%5D.%0A%09%5Einstance'),
3628
3660
  messageSends: ["new:", "size", "withIndexDo:", "at:put:"],
3629
3661
  referencedClasses: []
3630
3662
  }),
@@ -3637,7 +3669,7 @@ unescape('_next_'),
3637
3669
  smalltalk.method({
3638
3670
  selector: unescape('next%3A'),
3639
3671
  category: 'reading',
3640
- fn: function (anInteger){
3672
+ fn: function (anInteger) {
3641
3673
  var self=this;
3642
3674
  var tempCollection=nil;
3643
3675
  (tempCollection=smalltalk.send(smalltalk.send(smalltalk.send(self, "_collection", []), "_class", []), "_new", []));
@@ -3656,7 +3688,7 @@ unescape('_nextPut_'),
3656
3688
  smalltalk.method({
3657
3689
  selector: unescape('nextPut%3A'),
3658
3690
  category: 'writing',
3659
- fn: function (aString){
3691
+ fn: function (aString) {
3660
3692
  var self=this;
3661
3693
  smalltalk.send(self, "_nextPutAll_", [aString]);
3662
3694
  return self;},
@@ -3672,7 +3704,7 @@ unescape('_nextPutAll_'),
3672
3704
  smalltalk.method({
3673
3705
  selector: unescape('nextPutAll%3A'),
3674
3706
  category: 'writing',
3675
- fn: function (aString){
3707
+ fn: function (aString) {
3676
3708
  var self=this;
3677
3709
  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", [])])])]);
3678
3710
  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", [])]))]);
@@ -3690,7 +3722,7 @@ unescape('_cr'),
3690
3722
  smalltalk.method({
3691
3723
  selector: unescape('cr'),
3692
3724
  category: 'writing',
3693
- fn: function (){
3725
+ fn: function () {
3694
3726
  var self=this;
3695
3727
  return smalltalk.send(self, "_nextPutAll_", [smalltalk.send((smalltalk.String || String), "_cr", [])]);
3696
3728
  return self;},
@@ -3706,7 +3738,7 @@ unescape('_crlf'),
3706
3738
  smalltalk.method({
3707
3739
  selector: unescape('crlf'),
3708
3740
  category: 'writing',
3709
- fn: function (){
3741
+ fn: function () {
3710
3742
  var self=this;
3711
3743
  return smalltalk.send(self, "_nextPutAll_", [smalltalk.send((smalltalk.String || String), "_crlf", [])]);
3712
3744
  return self;},
@@ -3722,7 +3754,7 @@ unescape('_lf'),
3722
3754
  smalltalk.method({
3723
3755
  selector: unescape('lf'),
3724
3756
  category: 'writing',
3725
- fn: function (){
3757
+ fn: function () {
3726
3758
  var self=this;
3727
3759
  return smalltalk.send(self, "_nextPutAll_", [smalltalk.send((smalltalk.String || String), "_lf", [])]);
3728
3760
  return self;},
@@ -3738,7 +3770,7 @@ unescape('_space'),
3738
3770
  smalltalk.method({
3739
3771
  selector: unescape('space'),
3740
3772
  category: 'writing',
3741
- fn: function (){
3773
+ fn: function () {
3742
3774
  var self=this;
3743
3775
  smalltalk.send(self, "_nextPut_", [" "]);
3744
3776
  return self;},
@@ -3757,7 +3789,7 @@ unescape('_add_'),
3757
3789
  smalltalk.method({
3758
3790
  selector: unescape('add%3A'),
3759
3791
  category: 'adding/removing',
3760
- fn: function (anObject){
3792
+ fn: function (anObject) {
3761
3793
  var self=this;
3762
3794
 
3763
3795
  var found;
@@ -3782,7 +3814,7 @@ unescape('_remove_'),
3782
3814
  smalltalk.method({
3783
3815
  selector: unescape('remove%3A'),
3784
3816
  category: 'adding/removing',
3785
- fn: function (anObject){
3817
+ fn: function (anObject) {
3786
3818
  var self=this;
3787
3819
  smalltalk.send(self['@elements'], "_remove_", [anObject]);
3788
3820
  return self;},
@@ -3798,7 +3830,7 @@ unescape('_initialize'),
3798
3830
  smalltalk.method({
3799
3831
  selector: unescape('initialize'),
3800
3832
  category: 'initialization',
3801
- fn: function (){
3833
+ fn: function () {
3802
3834
  var self=this;
3803
3835
  smalltalk.send(self, "_initialize", [], smalltalk.Collection);
3804
3836
  (self['@elements']=[]);
@@ -3815,7 +3847,7 @@ unescape('_size'),
3815
3847
  smalltalk.method({
3816
3848
  selector: unescape('size'),
3817
3849
  category: 'accessing',
3818
- fn: function (){
3850
+ fn: function () {
3819
3851
  var self=this;
3820
3852
  return smalltalk.send(self['@elements'], "_size", []);
3821
3853
  return self;},
@@ -3831,7 +3863,7 @@ unescape('_asArray'),
3831
3863
  smalltalk.method({
3832
3864
  selector: unescape('asArray'),
3833
3865
  category: 'converting',
3834
- fn: function (){
3866
+ fn: function () {
3835
3867
  var self=this;
3836
3868
  return smalltalk.send(self['@elements'], "_copy", []);
3837
3869
  return self;},
@@ -3847,7 +3879,7 @@ unescape('_detect_ifNone_'),
3847
3879
  smalltalk.method({
3848
3880
  selector: unescape('detect%3AifNone%3A'),
3849
3881
  category: 'enumerating',
3850
- fn: function (aBlock, anotherBlock){
3882
+ fn: function (aBlock, anotherBlock) {
3851
3883
  var self=this;
3852
3884
  return smalltalk.send(self['@elements'], "_detect_ifNone_", [aBlock, anotherBlock]);
3853
3885
  return self;},
@@ -3863,7 +3895,7 @@ unescape('_do_'),
3863
3895
  smalltalk.method({
3864
3896
  selector: unescape('do%3A'),
3865
3897
  category: 'enumerating',
3866
- fn: function (aBlock){
3898
+ fn: function (aBlock) {
3867
3899
  var self=this;
3868
3900
  smalltalk.send(self['@elements'], "_do_", [aBlock]);
3869
3901
  return self;},
@@ -3879,7 +3911,7 @@ unescape('_includes_'),
3879
3911
  smalltalk.method({
3880
3912
  selector: unescape('includes%3A'),
3881
3913
  category: 'testing',
3882
- fn: function (anObject){
3914
+ fn: function (anObject) {
3883
3915
  var self=this;
3884
3916
  return smalltalk.send(self['@elements'], "_includes_", [anObject]);
3885
3917
  return self;},
@@ -3895,7 +3927,7 @@ unescape('__eq'),
3895
3927
  smalltalk.method({
3896
3928
  selector: unescape('%3D'),
3897
3929
  category: 'comparing',
3898
- fn: function (aCollection){
3930
+ fn: function (aCollection) {
3899
3931
  var self=this;
3900
3932
  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", [])]);})]);
3901
3933
  return self;},
@@ -3911,7 +3943,7 @@ unescape('_select_'),
3911
3943
  smalltalk.method({
3912
3944
  selector: unescape('select%3A'),
3913
3945
  category: 'enumerating',
3914
- fn: function (aBlock){
3946
+ fn: function (aBlock) {
3915
3947
  var self=this;
3916
3948
  var collection=nil;
3917
3949
  (collection=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
@@ -3934,7 +3966,7 @@ unescape('_size'),
3934
3966
  smalltalk.method({
3935
3967
  selector: unescape('size'),
3936
3968
  category: 'accessing',
3937
- fn: function (){
3969
+ fn: function () {
3938
3970
  var self=this;
3939
3971
  return smalltalk.send(smalltalk.send(self, "_keys", []), "_size", []);
3940
3972
  return self;},
@@ -3950,7 +3982,7 @@ unescape('_associations'),
3950
3982
  smalltalk.method({
3951
3983
  selector: unescape('associations'),
3952
3984
  category: 'accessing',
3953
- fn: function (){
3985
+ fn: function () {
3954
3986
  var self=this;
3955
3987
  var associations=nil;
3956
3988
  (associations=[]);
@@ -3969,7 +4001,7 @@ unescape('_keys'),
3969
4001
  smalltalk.method({
3970
4002
  selector: unescape('keys'),
3971
4003
  category: 'accessing',
3972
- fn: function (){
4004
+ fn: function () {
3973
4005
  var self=this;
3974
4006
 
3975
4007
  var keys = [];
@@ -3993,7 +4025,7 @@ unescape('_values'),
3993
4025
  smalltalk.method({
3994
4026
  selector: unescape('values'),
3995
4027
  category: 'accessing',
3996
- fn: function (){
4028
+ fn: function () {
3997
4029
  var self=this;
3998
4030
  return smalltalk.send(smalltalk.send(self, "_keys", []), "_collect_", [(function(each){return smalltalk.send(self, "_at_", [each]);})]);
3999
4031
  return self;},
@@ -4009,7 +4041,7 @@ unescape('_at_put_'),
4009
4041
  smalltalk.method({
4010
4042
  selector: unescape('at%3Aput%3A'),
4011
4043
  category: 'accessing',
4012
- fn: function (aKey, aValue){
4044
+ fn: function (aKey, aValue) {
4013
4045
  var self=this;
4014
4046
  return smalltalk.send(self, "_basicAt_put_", [aKey, aValue]);
4015
4047
  return self;},
@@ -4025,7 +4057,7 @@ unescape('_at_ifAbsent_'),
4025
4057
  smalltalk.method({
4026
4058
  selector: unescape('at%3AifAbsent%3A'),
4027
4059
  category: 'accessing',
4028
- fn: function (aKey, aBlock){
4060
+ fn: function (aKey, aBlock) {
4029
4061
  var self=this;
4030
4062
  return smalltalk.send(smalltalk.send(self, "_includesKey_", [aKey]), "_ifTrue_ifFalse_", [(function(){return smalltalk.send(self, "_basicAt_", [aKey]);}), aBlock]);
4031
4063
  return self;},
@@ -4041,7 +4073,7 @@ unescape('_at_ifAbsentPut_'),
4041
4073
  smalltalk.method({
4042
4074
  selector: unescape('at%3AifAbsentPut%3A'),
4043
4075
  category: 'accessing',
4044
- fn: function (aKey, aBlock){
4076
+ fn: function (aKey, aBlock) {
4045
4077
  var self=this;
4046
4078
  return smalltalk.send(self, "_at_ifAbsent_", [aKey, (function(){return smalltalk.send(self, "_at_put_", [aKey, smalltalk.send(aBlock, "_value", [])]);})]);
4047
4079
  return self;},
@@ -4057,7 +4089,7 @@ unescape('_at_ifPresent_'),
4057
4089
  smalltalk.method({
4058
4090
  selector: unescape('at%3AifPresent%3A'),
4059
4091
  category: 'accessing',
4060
- fn: function (aKey, aBlock){
4092
+ fn: function (aKey, aBlock) {
4061
4093
  var self=this;
4062
4094
  return (($receiver = smalltalk.send(self, "_basicAt_", [aKey])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(aBlock, "_value_", [smalltalk.send(self, "_at_", [aKey])]);})() : nil;
4063
4095
  return self;},
@@ -4073,7 +4105,7 @@ unescape('_at_ifPresent_ifAbsent_'),
4073
4105
  smalltalk.method({
4074
4106
  selector: unescape('at%3AifPresent%3AifAbsent%3A'),
4075
4107
  category: 'accessing',
4076
- fn: function (aKey, aBlock, anotherBlock){
4108
+ fn: function (aKey, aBlock, anotherBlock) {
4077
4109
  var self=this;
4078
4110
  return smalltalk.send(smalltalk.send(self, "_basicAt_", [aKey]), "_ifNil_ifNotNil_", [anotherBlock, (function(){return smalltalk.send(aBlock, "_value_", [smalltalk.send(self, "_at_", [aKey])]);})]);
4079
4111
  return self;},
@@ -4089,7 +4121,7 @@ unescape('_at_'),
4089
4121
  smalltalk.method({
4090
4122
  selector: unescape('at%3A'),
4091
4123
  category: 'accessing',
4092
- fn: function (aKey){
4124
+ fn: function (aKey) {
4093
4125
  var self=this;
4094
4126
  return smalltalk.send(self, "_at_ifAbsent_", [aKey, (function(){return smalltalk.send(self, "_errorNotFound", []);})]);
4095
4127
  return self;},
@@ -4105,7 +4137,7 @@ unescape('_add_'),
4105
4137
  smalltalk.method({
4106
4138
  selector: unescape('add%3A'),
4107
4139
  category: 'adding/removing',
4108
- fn: function (anAssociation){
4140
+ fn: function (anAssociation) {
4109
4141
  var self=this;
4110
4142
  smalltalk.send(self, "_at_put_", [smalltalk.send(anAssociation, "_key", []), smalltalk.send(anAssociation, "_value", [])]);
4111
4143
  return self;},
@@ -4121,7 +4153,7 @@ unescape('_addAll_'),
4121
4153
  smalltalk.method({
4122
4154
  selector: unescape('addAll%3A'),
4123
4155
  category: 'adding/removing',
4124
- fn: function (aHashedCollection){
4156
+ fn: function (aHashedCollection) {
4125
4157
  var self=this;
4126
4158
  smalltalk.send(self, "_addAll_", [smalltalk.send(aHashedCollection, "_associations", [])], smalltalk.Collection);
4127
4159
  return aHashedCollection;
@@ -4138,7 +4170,7 @@ unescape('_removeKey_'),
4138
4170
  smalltalk.method({
4139
4171
  selector: unescape('removeKey%3A'),
4140
4172
  category: 'adding/removing',
4141
- fn: function (aKey){
4173
+ fn: function (aKey) {
4142
4174
  var self=this;
4143
4175
  smalltalk.send(self, "_remove_", [aKey]);
4144
4176
  return self;},
@@ -4154,7 +4186,7 @@ unescape('_remove_ifAbsent_'),
4154
4186
  smalltalk.method({
4155
4187
  selector: unescape('remove%3AifAbsent%3A'),
4156
4188
  category: 'adding/removing',
4157
- fn: function (aKey, aBlock){
4189
+ fn: function (aKey, aBlock) {
4158
4190
  var self=this;
4159
4191
  return smalltalk.send(self, "_removeKey_ifAbsent_", [aKey, aBlock]);
4160
4192
  return self;},
@@ -4170,7 +4202,7 @@ unescape('_removeKey_ifAbsent_'),
4170
4202
  smalltalk.method({
4171
4203
  selector: unescape('removeKey%3AifAbsent%3A'),
4172
4204
  category: 'adding/removing',
4173
- fn: function (aKey, aBlock){
4205
+ fn: function (aKey, aBlock) {
4174
4206
  var self=this;
4175
4207
  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]);})]));
4176
4208
  return self;},
@@ -4186,7 +4218,7 @@ unescape('__eq'),
4186
4218
  smalltalk.method({
4187
4219
  selector: unescape('%3D'),
4188
4220
  category: 'comparing',
4189
- fn: function (aHashedCollection){
4221
+ fn: function (aHashedCollection) {
4190
4222
  var self=this;
4191
4223
  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}})})();})]));
4192
4224
  ((($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}})})();})]));
@@ -4205,7 +4237,7 @@ unescape('_shallowCopy'),
4205
4237
  smalltalk.method({
4206
4238
  selector: unescape('shallowCopy'),
4207
4239
  category: 'copying',
4208
- fn: function (){
4240
+ fn: function () {
4209
4241
  var self=this;
4210
4242
  var copy=nil;
4211
4243
  (copy=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
@@ -4224,7 +4256,7 @@ unescape('__comma'),
4224
4256
  smalltalk.method({
4225
4257
  selector: unescape('%2C'),
4226
4258
  category: 'copying',
4227
- fn: function (aCollection){
4259
+ fn: function (aCollection) {
4228
4260
  var self=this;
4229
4261
  smalltalk.send(self, "_shouldNotImplement", []);
4230
4262
  return self;},
@@ -4240,7 +4272,7 @@ unescape('_copyFrom_to_'),
4240
4272
  smalltalk.method({
4241
4273
  selector: unescape('copyFrom%3Ato%3A'),
4242
4274
  category: 'copying',
4243
- fn: function (anIndex, anotherIndex){
4275
+ fn: function (anIndex, anotherIndex) {
4244
4276
  var self=this;
4245
4277
  smalltalk.send(self, "_shouldNotImplement", []);
4246
4278
  return self;},
@@ -4256,7 +4288,7 @@ unescape('_deepCopy'),
4256
4288
  smalltalk.method({
4257
4289
  selector: unescape('deepCopy'),
4258
4290
  category: 'copying',
4259
- fn: function (){
4291
+ fn: function () {
4260
4292
  var self=this;
4261
4293
  var copy=nil;
4262
4294
  (copy=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
@@ -4275,7 +4307,7 @@ unescape('_associationsDo_'),
4275
4307
  smalltalk.method({
4276
4308
  selector: unescape('associationsDo%3A'),
4277
4309
  category: 'enumerating',
4278
- fn: function (aBlock){
4310
+ fn: function (aBlock) {
4279
4311
  var self=this;
4280
4312
  smalltalk.send(smalltalk.send(self, "_associations", []), "_do_", [aBlock]);
4281
4313
  return self;},
@@ -4291,7 +4323,7 @@ unescape('_keysAndValuesDo_'),
4291
4323
  smalltalk.method({
4292
4324
  selector: unescape('keysAndValuesDo%3A'),
4293
4325
  category: 'enumerating',
4294
- fn: function (aBlock){
4326
+ fn: function (aBlock) {
4295
4327
  var self=this;
4296
4328
  smalltalk.send(self, "_associationsDo_", [(function(each){return smalltalk.send(aBlock, "_value_value_", [smalltalk.send(each, "_key", []), smalltalk.send(each, "_value", [])]);})]);
4297
4329
  return self;},
@@ -4307,7 +4339,7 @@ unescape('_do_'),
4307
4339
  smalltalk.method({
4308
4340
  selector: unescape('do%3A'),
4309
4341
  category: 'enumerating',
4310
- fn: function (aBlock){
4342
+ fn: function (aBlock) {
4311
4343
  var self=this;
4312
4344
  smalltalk.send(smalltalk.send(self, "_values", []), "_do_", [aBlock]);
4313
4345
  return self;},
@@ -4323,7 +4355,7 @@ unescape('_select_'),
4323
4355
  smalltalk.method({
4324
4356
  selector: unescape('select%3A'),
4325
4357
  category: 'enumerating',
4326
- fn: function (aBlock){
4358
+ fn: function (aBlock) {
4327
4359
  var self=this;
4328
4360
  var newDict=nil;
4329
4361
  (newDict=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
@@ -4342,7 +4374,7 @@ unescape('_collect_'),
4342
4374
  smalltalk.method({
4343
4375
  selector: unescape('collect%3A'),
4344
4376
  category: 'enumerating',
4345
- fn: function (aBlock){
4377
+ fn: function (aBlock) {
4346
4378
  var self=this;
4347
4379
  var newDict=nil;
4348
4380
  (newDict=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
@@ -4361,7 +4393,7 @@ unescape('_detect_ifNone_'),
4361
4393
  smalltalk.method({
4362
4394
  selector: unescape('detect%3AifNone%3A'),
4363
4395
  category: 'enumerating',
4364
- fn: function (aBlock, anotherBlock){
4396
+ fn: function (aBlock, anotherBlock) {
4365
4397
  var self=this;
4366
4398
  return smalltalk.send(smalltalk.send(self, "_values", []), "_detect_ifNone_", [aBlock, anotherBlock]);
4367
4399
  return self;},
@@ -4377,7 +4409,7 @@ unescape('_includes_'),
4377
4409
  smalltalk.method({
4378
4410
  selector: unescape('includes%3A'),
4379
4411
  category: 'enumerating',
4380
- fn: function (anObject){
4412
+ fn: function (anObject) {
4381
4413
  var self=this;
4382
4414
  return smalltalk.send(smalltalk.send(self, "_values", []), "_includes_", [anObject]);
4383
4415
  return self;},
@@ -4393,7 +4425,7 @@ unescape('_printString'),
4393
4425
  smalltalk.method({
4394
4426
  selector: unescape('printString'),
4395
4427
  category: 'printing',
4396
- fn: function (){
4428
+ fn: function () {
4397
4429
  var self=this;
4398
4430
  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")]);})]);
4399
4431
  return self;},
@@ -4409,7 +4441,7 @@ unescape('_storeOn_'),
4409
4441
  smalltalk.method({
4410
4442
  selector: unescape('storeOn%3A'),
4411
4443
  category: 'printing',
4412
- fn: function (aStream){
4444
+ fn: function (aStream) {
4413
4445
  var self=this;
4414
4446
  smalltalk.send(aStream, "_nextPutAll_", [unescape("%23%7B")]);
4415
4447
  smalltalk.send(smalltalk.send(self, "_associations", []), "_do_separatedBy_", [(function(each){return smalltalk.send(each, "_storeOn_", [aStream]);}), (function(){return smalltalk.send(aStream, "_nextPutAll_", [". "]);})]);
@@ -4427,7 +4459,7 @@ unescape('_includesKey_'),
4427
4459
  smalltalk.method({
4428
4460
  selector: unescape('includesKey%3A'),
4429
4461
  category: 'testing',
4430
- fn: function (aKey){
4462
+ fn: function (aKey) {
4431
4463
  var self=this;
4432
4464
  return self.hasOwnProperty(aKey);
4433
4465
  return self;},
@@ -4443,7 +4475,7 @@ unescape('_asDictionary'),
4443
4475
  smalltalk.method({
4444
4476
  selector: unescape('asDictionary'),
4445
4477
  category: 'converting',
4446
- fn: function (){
4478
+ fn: function () {
4447
4479
  var self=this;
4448
4480
  return smalltalk.send((smalltalk.Dictionary || Dictionary), "_fromPairs_", [smalltalk.send(self, "_associations", [])]);
4449
4481
  return self;},
@@ -4454,13 +4486,32 @@ referencedClasses: ["Dictionary"]
4454
4486
  }),
4455
4487
  smalltalk.HashedCollection);
4456
4488
 
4489
+ smalltalk.addMethod(
4490
+ unescape('_asJSON'),
4491
+ smalltalk.method({
4492
+ selector: unescape('asJSON'),
4493
+ category: 'converting',
4494
+ fn: function (){
4495
+ var self=this;
4496
+ var c=nil;
4497
+ (c=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
4498
+ smalltalk.send(self, "_keysAndValuesDo_", [(function(key, value){return smalltalk.send(c, "_at_put_", [key, smalltalk.send(value, "_asJSON", [])]);})]);
4499
+ return c;
4500
+ return self;},
4501
+ args: [],
4502
+ source: unescape('asJSON%0A%09%7C%20c%20%7C%0A%09c%20%3A%3D%20self%20class%20new.%0A%09self%20keysAndValuesDo%3A%20%5B%3Akey%20%3Avalue%20%7C%0A%09%09c%20at%3A%20key%20put%3A%20value%20asJSON%5D.%0A%09%5Ec'),
4503
+ messageSends: ["new", "class", "keysAndValuesDo:", "at:put:", "asJSON"],
4504
+ referencedClasses: []
4505
+ }),
4506
+ smalltalk.HashedCollection);
4507
+
4457
4508
 
4458
4509
  smalltalk.addMethod(
4459
4510
  unescape('_fromPairs_'),
4460
4511
  smalltalk.method({
4461
4512
  selector: unescape('fromPairs%3A'),
4462
4513
  category: 'instance creation',
4463
- fn: function (aCollection){
4514
+ fn: function (aCollection) {
4464
4515
  var self=this;
4465
4516
  var dict=nil;
4466
4517
  (dict=smalltalk.send(self, "_new", []));
@@ -4481,7 +4532,7 @@ unescape('_at_ifAbsent_'),
4481
4532
  smalltalk.method({
4482
4533
  selector: unescape('at%3AifAbsent%3A'),
4483
4534
  category: 'accessing',
4484
- fn: function (aKey, aBlock){
4535
+ fn: function (aKey, aBlock) {
4485
4536
  var self=this;
4486
4537
 
4487
4538
  var index;
@@ -4507,7 +4558,7 @@ unescape('_keys'),
4507
4558
  smalltalk.method({
4508
4559
  selector: unescape('keys'),
4509
4560
  category: 'accessing',
4510
- fn: function (){
4561
+ fn: function () {
4511
4562
  var self=this;
4512
4563
  return smalltalk.send(self['@keys'], "_copy", []);
4513
4564
  return self;},
@@ -4523,7 +4574,7 @@ unescape('_values'),
4523
4574
  smalltalk.method({
4524
4575
  selector: unescape('values'),
4525
4576
  category: 'accessing',
4526
- fn: function (){
4577
+ fn: function () {
4527
4578
  var self=this;
4528
4579
  return smalltalk.send(self['@values'], "_copy", []);
4529
4580
  return self;},
@@ -4539,7 +4590,7 @@ unescape('_at_put_'),
4539
4590
  smalltalk.method({
4540
4591
  selector: unescape('at%3Aput%3A'),
4541
4592
  category: 'accessing',
4542
- fn: function (aKey, aValue){
4593
+ fn: function (aKey, aValue) {
4543
4594
  var self=this;
4544
4595
 
4545
4596
  var index = self['@keys'].indexOf(aKey);
@@ -4565,7 +4616,7 @@ unescape('_removeKey_ifAbsent_'),
4565
4616
  smalltalk.method({
4566
4617
  selector: unescape('removeKey%3AifAbsent%3A'),
4567
4618
  category: 'adding/removing',
4568
- fn: function (aKey, aBlock){
4619
+ fn: function (aKey, aBlock) {
4569
4620
  var self=this;
4570
4621
 
4571
4622
  var index = self['@keys'].indexOf(aKey);
@@ -4590,7 +4641,7 @@ unescape('_initialize'),
4590
4641
  smalltalk.method({
4591
4642
  selector: unescape('initialize'),
4592
4643
  category: 'initialization',
4593
- fn: function (){
4644
+ fn: function () {
4594
4645
  var self=this;
4595
4646
  smalltalk.send(self, "_initialize", [], smalltalk.HashedCollection);
4596
4647
  (self['@keys']=[]);
@@ -4608,7 +4659,7 @@ unescape('_includesKey_'),
4608
4659
  smalltalk.method({
4609
4660
  selector: unescape('includesKey%3A'),
4610
4661
  category: 'testing',
4611
- fn: function (aKey){
4662
+ fn: function (aKey) {
4612
4663
  var self=this;
4613
4664
  return smalltalk.send(self['@keys'], "_includes_", [aKey]);
4614
4665
  return self;},
@@ -4624,7 +4675,7 @@ unescape('_asHashedCollection'),
4624
4675
  smalltalk.method({
4625
4676
  selector: unescape('asHashedCollection'),
4626
4677
  category: 'converting',
4627
- fn: function (){
4678
+ fn: function () {
4628
4679
  var self=this;
4629
4680
  return smalltalk.send((smalltalk.HashedCollection || HashedCollection), "_fromPairs_", [smalltalk.send(self, "_associations", [])]);
4630
4681
  return self;},
@@ -4636,17 +4687,17 @@ referencedClasses: ["HashedCollection"]
4636
4687
  smalltalk.Dictionary);
4637
4688
 
4638
4689
  smalltalk.addMethod(
4639
- unescape('_asJSONString'),
4690
+ unescape('_asJSON'),
4640
4691
  smalltalk.method({
4641
- selector: unescape('asJSONString'),
4692
+ selector: unescape('asJSON'),
4642
4693
  category: 'converting',
4643
4694
  fn: function (){
4644
4695
  var self=this;
4645
- return smalltalk.send(smalltalk.send(self, "_asHashedCollection", []), "_asJSONString", []);
4696
+ return smalltalk.send(smalltalk.send(self, "_asHashedCollection", []), "_asJSON", []);
4646
4697
  return self;},
4647
4698
  args: [],
4648
- source: unescape('asJSONString%0A%09%5Eself%20asHashedCollection%20asJSONString'),
4649
- messageSends: ["asJSONString", "asHashedCollection"],
4699
+ source: unescape('asJSON%0A%09%5Eself%20asHashedCollection%20asJSON'),
4700
+ messageSends: ["asJSON", "asHashedCollection"],
4650
4701
  referencedClasses: []
4651
4702
  }),
4652
4703
  smalltalk.Dictionary);