resin 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/amber/bin/amberc +10 -350
  2. data/amber/js/Benchfib.deploy.js +80 -89
  3. data/amber/js/Benchfib.js +80 -89
  4. data/amber/js/Canvas.deploy.js +558 -545
  5. data/amber/js/Canvas.js +563 -545
  6. data/amber/js/Compiler-AST.deploy.js +431 -243
  7. data/amber/js/Compiler-AST.js +487 -244
  8. data/amber/js/Compiler-Core.deploy.js +201 -1045
  9. data/amber/js/Compiler-Core.js +208 -1207
  10. data/amber/js/Compiler-Exceptions.deploy.js +37 -18
  11. data/amber/js/Compiler-Exceptions.js +42 -18
  12. data/amber/js/Compiler-IR.deploy.js +1071 -774
  13. data/amber/js/Compiler-IR.js +1194 -848
  14. data/amber/js/Compiler-Inlining.deploy.js +395 -373
  15. data/amber/js/Compiler-Inlining.js +395 -373
  16. data/amber/js/Compiler-Interpreter.deploy.js +1202 -0
  17. data/amber/js/Compiler-Interpreter.js +1631 -0
  18. data/amber/js/Compiler-Semantic.deploy.js +695 -600
  19. data/amber/js/Compiler-Semantic.js +721 -611
  20. data/amber/js/Compiler-Tests.deploy.js +699 -376
  21. data/amber/js/Compiler-Tests.js +834 -381
  22. data/amber/js/Compiler.deploy.js +8563 -1805
  23. data/amber/js/Compiler.js +11476 -2633
  24. data/amber/js/Examples.deploy.js +29 -29
  25. data/amber/js/Examples.js +29 -29
  26. data/amber/js/IDE.deploy.js +3292 -2649
  27. data/amber/js/IDE.js +3318 -2710
  28. data/amber/js/Importer-Exporter.deploy.js +393 -349
  29. data/amber/js/Importer-Exporter.js +398 -354
  30. data/amber/js/Kernel-Announcements.deploy.js +53 -44
  31. data/amber/js/Kernel-Announcements.js +55 -44
  32. data/amber/js/Kernel-Classes.deploy.js +566 -368
  33. data/amber/js/Kernel-Classes.js +660 -402
  34. data/amber/js/Kernel-Collections.deploy.js +1149 -1098
  35. data/amber/js/Kernel-Collections.js +1183 -1116
  36. data/amber/js/Kernel-Exceptions.deploy.js +173 -75
  37. data/amber/js/Kernel-Exceptions.js +215 -77
  38. data/amber/js/Kernel-Methods.deploy.js +530 -313
  39. data/amber/js/Kernel-Methods.js +632 -338
  40. data/amber/js/Kernel-Objects.deploy.js +1734 -1577
  41. data/amber/js/Kernel-Objects.js +1867 -1654
  42. data/amber/js/Kernel-Tests.deploy.js +1416 -973
  43. data/amber/js/Kernel-Tests.js +1495 -981
  44. data/amber/js/Kernel-Transcript.deploy.js +23 -24
  45. data/amber/js/Kernel-Transcript.js +25 -26
  46. data/amber/js/SUnit-Tests.deploy.js +402 -0
  47. data/amber/js/SUnit-Tests.js +518 -0
  48. data/amber/js/SUnit.deploy.js +535 -237
  49. data/amber/js/SUnit.js +634 -246
  50. data/amber/js/amber.js +90 -53
  51. data/amber/js/boot.js +441 -255
  52. data/amber/js/init.js +1 -3
  53. data/amber/js/lib/CodeMirror/codemirror.css +3 -0
  54. data/amber/js/lib/CodeMirror/codemirror.js +104 -55
  55. data/amber/js/lib/peg-0.7.0.min.js +9 -0
  56. data/amber/js/parser.js +1504 -802
  57. data/amber/js/parser.pegjs +170 -165
  58. data/amber/st/Canvas.st +6 -0
  59. data/amber/st/Compiler-AST.st +54 -3
  60. data/amber/st/Compiler-Core.st +6 -551
  61. data/amber/st/Compiler-Exceptions.st +4 -0
  62. data/amber/st/Compiler-IR.st +205 -87
  63. data/amber/st/Compiler-Interpreter.st +597 -0
  64. data/amber/st/Compiler-Semantic.st +46 -21
  65. data/amber/st/Compiler-Tests.st +254 -7
  66. data/amber/st/Compiler.st +3172 -1541
  67. data/amber/st/IDE.st +57 -93
  68. data/amber/st/Importer-Exporter.st +4 -7
  69. data/amber/st/Kernel-Announcements.st +8 -0
  70. data/amber/st/Kernel-Classes.st +149 -40
  71. data/amber/st/Kernel-Collections.st +43 -32
  72. data/amber/st/Kernel-Exceptions.st +70 -1
  73. data/amber/st/Kernel-Methods.st +165 -27
  74. data/amber/st/Kernel-Objects.st +215 -140
  75. data/amber/st/Kernel-Tests.st +195 -10
  76. data/amber/st/Kernel-Transcript.st +1 -3
  77. data/amber/st/SUnit-Tests.st +186 -0
  78. data/amber/st/SUnit.st +186 -14
  79. data/bin/resin +6 -0
  80. data/lib/resin/cli.rb +19 -0
  81. metadata +41 -25
  82. data/amber/js/lib/peg-0.6.2.min.js +0 -2
  83. data/bin/resin-compile +0 -6
  84. data/bin/runresin +0 -12
@@ -6,14 +6,14 @@ smalltalk.method({
6
6
  selector: "=",
7
7
  fn: function (anAssociation){
8
8
  var self=this;
9
- var $1;
10
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_class",[]),"__eq",[smalltalk.send(anAssociation,"_class",[])]),"_and_",[(function(){
11
- return smalltalk.send(smalltalk.send(smalltalk.send(self,"_key",[]),"__eq",[smalltalk.send(anAssociation,"_key",[])]),"_and_",[(function(){
12
- return smalltalk.send(smalltalk.send(self,"_value",[]),"__eq",[smalltalk.send(anAssociation,"_value",[])]);
13
- })]);
14
- })]);
9
+ return smalltalk.withContext(function($ctx1) {
10
+ $1=_st(_st(_st(self)._class()).__eq(_st(anAssociation)._class()))._and_((function(){
11
+ return smalltalk.withContext(function($ctx2) {
12
+ return smalltalk.withContext(function($ctx3) {
13
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
14
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
15
15
  return $1;
16
- }
16
+ }, function($ctx1) {$ctx1.fill(self,"=",{anAssociation:anAssociation}, smalltalk.Association)})}
17
17
  }),
18
18
  smalltalk.Association);
19
19
 
@@ -23,8 +23,10 @@ smalltalk.method({
23
23
  selector: "key",
24
24
  fn: function (){
25
25
  var self=this;
26
- return self["@key"];
27
- }
26
+ return smalltalk.withContext(function($ctx1) {
27
+ $1=self["@key"];
28
+ return $1;
29
+ }, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.Association)})}
28
30
  }),
29
31
  smalltalk.Association);
30
32
 
@@ -34,8 +36,8 @@ smalltalk.method({
34
36
  selector: "key:",
35
37
  fn: function (aKey){
36
38
  var self=this;
37
- self["@key"]=aKey;
38
- return self}
39
+ return smalltalk.withContext(function($ctx1) {
40
+ return self}, function($ctx1) {$ctx1.fill(self,"key:",{aKey:aKey}, smalltalk.Association)})}
39
41
  }),
40
42
  smalltalk.Association);
41
43
 
@@ -45,12 +47,12 @@ smalltalk.method({
45
47
  selector: "printString",
46
48
  fn: function (){
47
49
  var self=this;
48
- var $1;
49
- $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(aStream){
50
- return smalltalk.send(self,"_storeOn_",[aStream]);
51
- })]);
50
+ return smalltalk.withContext(function($ctx1) {
51
+ $1=_st((smalltalk.String || String))._streamContents_((function(aStream){
52
+ return smalltalk.withContext(function($ctx2) {
53
+ }, function($ctx2) {$ctx2.fillBlock({aStream:aStream},$ctx1)})}));
52
54
  return $1;
53
- }
55
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Association)})}
54
56
  }),
55
57
  smalltalk.Association);
56
58
 
@@ -60,10 +62,10 @@ smalltalk.method({
60
62
  selector: "storeOn:",
61
63
  fn: function (aStream){
62
64
  var self=this;
63
- smalltalk.send(self["@key"],"_storeOn_",[aStream]);
64
- smalltalk.send(aStream,"_nextPutAll_",["->"]);
65
- smalltalk.send(self["@value"],"_storeOn_",[aStream]);
66
- return self}
65
+ return smalltalk.withContext(function($ctx1) {
66
+ _st(aStream)._nextPutAll_("->");
67
+ _st(self["@value"])._storeOn_(aStream);
68
+ return self}, function($ctx1) {$ctx1.fill(self,"storeOn:",{aStream:aStream}, smalltalk.Association)})}
67
69
  }),
68
70
  smalltalk.Association);
69
71
 
@@ -73,8 +75,10 @@ smalltalk.method({
73
75
  selector: "value",
74
76
  fn: function (){
75
77
  var self=this;
76
- return self["@value"];
77
- }
78
+ return smalltalk.withContext(function($ctx1) {
79
+ $1=self["@value"];
80
+ return $1;
81
+ }, function($ctx1) {$ctx1.fill(self,"value",{}, smalltalk.Association)})}
78
82
  }),
79
83
  smalltalk.Association);
80
84
 
@@ -84,8 +88,8 @@ smalltalk.method({
84
88
  selector: "value:",
85
89
  fn: function (aValue){
86
90
  var self=this;
87
- self["@value"]=aValue;
88
- return self}
91
+ return smalltalk.withContext(function($ctx1) {
92
+ return self}, function($ctx1) {$ctx1.fill(self,"value:",{aValue:aValue}, smalltalk.Association)})}
89
93
  }),
90
94
  smalltalk.Association);
91
95
 
@@ -96,14 +100,14 @@ smalltalk.method({
96
100
  selector: "key:value:",
97
101
  fn: function (aKey,aValue){
98
102
  var self=this;
99
- var $2,$3,$1;
100
- $2=smalltalk.send(self,"_new",[]);
101
- smalltalk.send($2,"_key_",[aKey]);
102
- smalltalk.send($2,"_value_",[aValue]);
103
- $3=smalltalk.send($2,"_yourself",[]);
103
+ return smalltalk.withContext(function($ctx1) {
104
+ $2=_st(self)._new();
105
+ _st($2)._key_(aKey);
106
+ _st($2)._value_(aValue);
107
+ $3=_st($2)._yourself();
104
108
  $1=$3;
105
109
  return $1;
106
- }
110
+ }, function($ctx1) {$ctx1.fill(self,"key:value:",{aKey:aKey,aValue:aValue}, smalltalk.Association.klass)})}
107
111
  }),
108
112
  smalltalk.Association.klass);
109
113
 
@@ -115,13 +119,13 @@ smalltalk.method({
115
119
  selector: ",",
116
120
  fn: function (aCollection){
117
121
  var self=this;
118
- var $2,$3,$1;
119
- $2=smalltalk.send(self,"_copy",[]);
120
- smalltalk.send($2,"_addAll_",[aCollection]);
121
- $3=smalltalk.send($2,"_yourself",[]);
122
+ return smalltalk.withContext(function($ctx1) {
123
+ $2=_st(self)._copy();
124
+ _st($2)._addAll_(aCollection);
125
+ $3=_st($2)._yourself();
122
126
  $1=$3;
123
127
  return $1;
124
- }
128
+ }, function($ctx1) {$ctx1.fill(self,",",{aCollection:aCollection}, smalltalk.Collection)})}
125
129
  }),
126
130
  smalltalk.Collection);
127
131
 
@@ -131,8 +135,8 @@ smalltalk.method({
131
135
  selector: "add:",
132
136
  fn: function (anObject){
133
137
  var self=this;
134
- smalltalk.send(self,"_subclassResponsibility",[]);
135
- return self}
138
+ return smalltalk.withContext(function($ctx1) {
139
+ return self}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.Collection)})}
136
140
  }),
137
141
  smalltalk.Collection);
138
142
 
@@ -142,11 +146,13 @@ smalltalk.method({
142
146
  selector: "addAll:",
143
147
  fn: function (aCollection){
144
148
  var self=this;
145
- smalltalk.send(aCollection,"_do_",[(function(each){
146
- return smalltalk.send(self,"_add_",[each]);
147
- })]);
148
- return aCollection;
149
- }
149
+ return smalltalk.withContext(function($ctx1) {
150
+ _st(aCollection)._do_((function(each){
151
+ return smalltalk.withContext(function($ctx2) {
152
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
153
+ $1=aCollection;
154
+ return $1;
155
+ }, function($ctx1) {$ctx1.fill(self,"addAll:",{aCollection:aCollection}, smalltalk.Collection)})}
150
156
  }),
151
157
  smalltalk.Collection);
152
158
 
@@ -156,10 +162,10 @@ smalltalk.method({
156
162
  selector: "asArray",
157
163
  fn: function (){
158
164
  var self=this;
159
- var $1;
160
- $1=smalltalk.send((smalltalk.Array || Array),"_withAll_",[self]);
165
+ return smalltalk.withContext(function($ctx1) {
166
+ $1=_st((smalltalk.Array || Array))._withAll_(self);
161
167
  return $1;
162
- }
168
+ }, function($ctx1) {$ctx1.fill(self,"asArray",{}, smalltalk.Collection)})}
163
169
  }),
164
170
  smalltalk.Collection);
165
171
 
@@ -169,12 +175,12 @@ smalltalk.method({
169
175
  selector: "asJSON",
170
176
  fn: function (){
171
177
  var self=this;
172
- var $1;
173
- $1=smalltalk.send(smalltalk.send(self,"_asArray",[]),"_collect_",[(function(each){
174
- return smalltalk.send(each,"_asJSON",[]);
175
- })]);
178
+ return smalltalk.withContext(function($ctx1) {
179
+ $1=_st(_st(self)._asArray())._collect_((function(each){
180
+ return smalltalk.withContext(function($ctx2) {
181
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
176
182
  return $1;
177
- }
183
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.Collection)})}
178
184
  }),
179
185
  smalltalk.Collection);
180
186
 
@@ -184,10 +190,10 @@ smalltalk.method({
184
190
  selector: "asOrderedCollection",
185
191
  fn: function (){
186
192
  var self=this;
187
- var $1;
188
- $1=smalltalk.send(self,"_asArray",[]);
193
+ return smalltalk.withContext(function($ctx1) {
194
+ $1=_st(self)._asArray();
189
195
  return $1;
190
- }
196
+ }, function($ctx1) {$ctx1.fill(self,"asOrderedCollection",{}, smalltalk.Collection)})}
191
197
  }),
192
198
  smalltalk.Collection);
193
199
 
@@ -197,10 +203,10 @@ smalltalk.method({
197
203
  selector: "asSet",
198
204
  fn: function (){
199
205
  var self=this;
200
- var $1;
201
- $1=smalltalk.send((smalltalk.Set || Set),"_withAll_",[self]);
206
+ return smalltalk.withContext(function($ctx1) {
207
+ $1=_st((smalltalk.Set || Set))._withAll_(self);
202
208
  return $1;
203
- }
209
+ }, function($ctx1) {$ctx1.fill(self,"asSet",{}, smalltalk.Collection)})}
204
210
  }),
205
211
  smalltalk.Collection);
206
212
 
@@ -210,15 +216,15 @@ smalltalk.method({
210
216
  selector: "collect:",
211
217
  fn: function (aBlock){
212
218
  var self=this;
213
- var $1;
214
219
  var stream;
215
- stream=smalltalk.send(smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]),"_writeStream",[]);
216
- smalltalk.send(self,"_do_",[(function(each){
217
- return smalltalk.send(stream,"_nextPut_",[smalltalk.send(aBlock,"_value_",[each])]);
218
- })]);
219
- $1=smalltalk.send(stream,"_contents",[]);
220
+ return smalltalk.withContext(function($ctx1) {
221
+ stream=_st(_st(_st(self)._class())._new())._writeStream();
222
+ _st(self)._do_((function(each){
223
+ return smalltalk.withContext(function($ctx2) {
224
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
225
+ $1=_st(stream)._contents();
220
226
  return $1;
221
- }
227
+ }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock,stream:stream}, smalltalk.Collection)})}
222
228
  }),
223
229
  smalltalk.Collection);
224
230
 
@@ -228,13 +234,13 @@ smalltalk.method({
228
234
  selector: "copyWith:",
229
235
  fn: function (anObject){
230
236
  var self=this;
231
- var $2,$3,$1;
232
- $2=smalltalk.send(self,"_copy",[]);
233
- smalltalk.send($2,"_add_",[anObject]);
234
- $3=smalltalk.send($2,"_yourself",[]);
237
+ return smalltalk.withContext(function($ctx1) {
238
+ $2=_st(self)._copy();
239
+ _st($2)._add_(anObject);
240
+ $3=_st($2)._yourself();
235
241
  $1=$3;
236
242
  return $1;
237
- }
243
+ }, function($ctx1) {$ctx1.fill(self,"copyWith:",{anObject:anObject}, smalltalk.Collection)})}
238
244
  }),
239
245
  smalltalk.Collection);
240
246
 
@@ -244,13 +250,13 @@ smalltalk.method({
244
250
  selector: "copyWithAll:",
245
251
  fn: function (aCollection){
246
252
  var self=this;
247
- var $2,$3,$1;
248
- $2=smalltalk.send(self,"_copy",[]);
249
- smalltalk.send($2,"_addAll_",[aCollection]);
250
- $3=smalltalk.send($2,"_yourself",[]);
253
+ return smalltalk.withContext(function($ctx1) {
254
+ $2=_st(self)._copy();
255
+ _st($2)._addAll_(aCollection);
256
+ $3=_st($2)._yourself();
251
257
  $1=$3;
252
258
  return $1;
253
- }
259
+ }, function($ctx1) {$ctx1.fill(self,"copyWithAll:",{aCollection:aCollection}, smalltalk.Collection)})}
254
260
  }),
255
261
  smalltalk.Collection);
256
262
 
@@ -260,12 +266,12 @@ smalltalk.method({
260
266
  selector: "copyWithoutAll:",
261
267
  fn: function (aCollection){
262
268
  var self=this;
263
- var $1;
264
- $1=smalltalk.send(self,"_reject_",[(function(each){
265
- return smalltalk.send(aCollection,"_includes_",[each]);
266
- })]);
269
+ return smalltalk.withContext(function($ctx1) {
270
+ $1=_st(self)._reject_((function(each){
271
+ return smalltalk.withContext(function($ctx2) {
272
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
267
273
  return $1;
268
- }
274
+ }, function($ctx1) {$ctx1.fill(self,"copyWithoutAll:",{aCollection:aCollection}, smalltalk.Collection)})}
269
275
  }),
270
276
  smalltalk.Collection);
271
277
 
@@ -275,12 +281,12 @@ smalltalk.method({
275
281
  selector: "detect:",
276
282
  fn: function (aBlock){
277
283
  var self=this;
278
- var $1;
279
- $1=smalltalk.send(self,"_detect_ifNone_",[aBlock,(function(){
280
- return smalltalk.send(self,"_errorNotFound",[]);
281
- })]);
284
+ return smalltalk.withContext(function($ctx1) {
285
+ $1=_st(self)._detect_ifNone_(aBlock,(function(){
286
+ return smalltalk.withContext(function($ctx2) {
287
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
282
288
  return $1;
283
- }
289
+ }, function($ctx1) {$ctx1.fill(self,"detect:",{aBlock:aBlock}, smalltalk.Collection)})}
284
290
  }),
285
291
  smalltalk.Collection);
286
292
 
@@ -290,14 +296,13 @@ smalltalk.method({
290
296
  selector: "detect:ifNone:",
291
297
  fn: function (aBlock,anotherBlock){
292
298
  var self=this;
293
-
299
+ return smalltalk.withContext(function($ctx1) {
294
300
  for(var i = 0; i < self.length; i++)
295
301
  if(aBlock(self[i]))
296
302
  return self[i];
297
303
  return anotherBlock();
298
304
  ;
299
- ;
300
- return self}
305
+ return self}, function($ctx1) {$ctx1.fill(self,"detect:ifNone:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Collection)})}
301
306
  }),
302
307
  smalltalk.Collection);
303
308
 
@@ -307,9 +312,8 @@ smalltalk.method({
307
312
  selector: "do:",
308
313
  fn: function (aBlock){
309
314
  var self=this;
310
- for(var i=0;i<self.length;i++){aBlock(self[i]);};
311
- ;
312
- return self}
315
+ return smalltalk.withContext(function($ctx1) {
316
+ return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.Collection)})}
313
317
  }),
314
318
  smalltalk.Collection);
315
319
 
@@ -320,17 +324,21 @@ selector: "do:separatedBy:",
320
324
  fn: function (aBlock,anotherBlock){
321
325
  var self=this;
322
326
  var first;
327
+ return smalltalk.withContext(function($ctx1) {
323
328
  first=true;
324
- smalltalk.send(self,"_do_",[(function(each){
325
- if(smalltalk.assert(first)){
329
+ $1=self;
330
+ $2=(function(each){
331
+ return smalltalk.withContext(function($ctx2) {
332
+ if(smalltalk.assert($3)){
326
333
  first=false;
327
334
  first;
328
335
  } else {
329
- smalltalk.send(anotherBlock,"_value",[]);
336
+ _st(anotherBlock)._value();
330
337
  };
331
- return smalltalk.send(aBlock,"_value_",[each]);
332
- })]);
333
- return self}
338
+ return _st(aBlock)._value_(each);
339
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
340
+ _st($1)._do_($2);
341
+ return self}, function($ctx1) {$ctx1.fill(self,"do:separatedBy:",{aBlock:aBlock,anotherBlock:anotherBlock,first:first}, smalltalk.Collection)})}
334
342
  }),
335
343
  smalltalk.Collection);
336
344
 
@@ -340,8 +348,8 @@ smalltalk.method({
340
348
  selector: "errorNotFound",
341
349
  fn: function (){
342
350
  var self=this;
343
- smalltalk.send(self,"_error_",["Object is not in the collection"]);
344
- return self}
351
+ return smalltalk.withContext(function($ctx1) {
352
+ return self}, function($ctx1) {$ctx1.fill(self,"errorNotFound",{}, smalltalk.Collection)})}
345
353
  }),
346
354
  smalltalk.Collection);
347
355
 
@@ -351,15 +359,15 @@ smalltalk.method({
351
359
  selector: "ifEmpty:",
352
360
  fn: function (aBlock){
353
361
  var self=this;
354
- var $2,$1;
355
- $2=smalltalk.send(self,"_isEmpty",[]);
362
+ return smalltalk.withContext(function($ctx1) {
363
+ $2=_st(self)._isEmpty();
356
364
  if(smalltalk.assert($2)){
357
- $1=smalltalk.send(aBlock,"_value",[]);
365
+ $1=_st(aBlock)._value();
358
366
  } else {
359
367
  $1=self;
360
368
  };
361
369
  return $1;
362
- }
370
+ }, function($ctx1) {$ctx1.fill(self,"ifEmpty:",{aBlock:aBlock}, smalltalk.Collection)})}
363
371
  }),
364
372
  smalltalk.Collection);
365
373
 
@@ -369,10 +377,10 @@ smalltalk.method({
369
377
  selector: "ifNotEmpty:",
370
378
  fn: function (aBlock){
371
379
  var self=this;
372
- var $1;
373
- $1=smalltalk.send(self,"_notEmpty",[]);
374
- smalltalk.send($1,"_ifTrue_",[aBlock]);
375
- return self}
380
+ return smalltalk.withContext(function($ctx1) {
381
+ $1=_st(self)._notEmpty();
382
+ _st($1)._ifTrue_(aBlock);
383
+ return self}, function($ctx1) {$ctx1.fill(self,"ifNotEmpty:",{aBlock:aBlock}, smalltalk.Collection)})}
376
384
  }),
377
385
  smalltalk.Collection);
378
386
 
@@ -382,15 +390,16 @@ smalltalk.method({
382
390
  selector: "includes:",
383
391
  fn: function (anObject){
384
392
  var self=this;
385
-
386
- var i = self.length;
387
- while (i--) {
388
- if (smalltalk.send(self[i], "__eq", [anObject])) {return true;}
389
- }
390
- return false
391
- ;
392
- ;
393
- return self}
393
+ var sentinel;
394
+ return smalltalk.withContext(function($ctx1) {
395
+ sentinel=_st((smalltalk.Object || Object))._new();
396
+ $1=_st(_st(self)._detect_ifNone_((function(each){
397
+ return smalltalk.withContext(function($ctx2) {
398
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
399
+ return smalltalk.withContext(function($ctx2) {
400
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))).__tild_eq(sentinel);
401
+ return $1;
402
+ }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject,sentinel:sentinel}, smalltalk.Collection)})}
394
403
  }),
395
404
  smalltalk.Collection);
396
405
 
@@ -401,13 +410,15 @@ selector: "inject:into:",
401
410
  fn: function (anObject,aBlock){
402
411
  var self=this;
403
412
  var result;
413
+ return smalltalk.withContext(function($ctx1) {
404
414
  result=anObject;
405
- smalltalk.send(self,"_do_",[(function(each){
406
- result=smalltalk.send(aBlock,"_value_value_",[result,each]);
407
- return result;
408
- })]);
415
+ _st(self)._do_((function(each){
416
+ return smalltalk.withContext(function($ctx2) {
409
417
  return result;
410
- }
418
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
419
+ $1=result;
420
+ return $1;
421
+ }, function($ctx1) {$ctx1.fill(self,"inject:into:",{anObject:anObject,aBlock:aBlock,result:result}, smalltalk.Collection)})}
411
422
  }),
412
423
  smalltalk.Collection);
413
424
 
@@ -417,22 +428,23 @@ smalltalk.method({
417
428
  selector: "intersection:",
418
429
  fn: function (aCollection){
419
430
  var self=this;
420
- var $1,$2;
421
- var set;
422
- var outputSet;
423
- set=smalltalk.send(self,"_asSet",[]);
424
- outputSet=smalltalk.send((smalltalk.Set || Set),"_new",[]);
425
- smalltalk.send(aCollection,"_do_",[(function(each){
426
- $1=smalltalk.send(smalltalk.send(set,"_includes_",[each]),"_and_",[(function(){
427
- return smalltalk.send(smalltalk.send(outputSet,"_includes_",[each]),"_not",[]);
428
- })]);
429
- if(smalltalk.assert($1)){
430
- return smalltalk.send(outputSet,"_add_",[each]);
431
+ var set,outputSet;
432
+ return smalltalk.withContext(function($ctx1) {
433
+ set=_st(self)._asSet();
434
+ outputSet=_st((smalltalk.Set || Set))._new();
435
+ $1=aCollection;
436
+ $2=(function(each){
437
+ return smalltalk.withContext(function($ctx2) {
438
+ return smalltalk.withContext(function($ctx3) {
439
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
440
+ if(smalltalk.assert($3)){
441
+ return _st(outputSet)._add_(each);
431
442
  };
432
- })]);
433
- $2=smalltalk.send(smalltalk.send(self,"_class",[]),"_withAll_",[smalltalk.send(outputSet,"_asArray",[])]);
434
- return $2;
435
- }
443
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
444
+ _st($1)._do_($2);
445
+ $4=_st(_st(self)._class())._withAll_(_st(outputSet)._asArray());
446
+ return $4;
447
+ }, function($ctx1) {$ctx1.fill(self,"intersection:",{aCollection:aCollection,set:set,outputSet:outputSet}, smalltalk.Collection)})}
436
448
  }),
437
449
  smalltalk.Collection);
438
450
 
@@ -442,10 +454,10 @@ smalltalk.method({
442
454
  selector: "isEmpty",
443
455
  fn: function (){
444
456
  var self=this;
445
- var $1;
446
- $1=smalltalk.send(smalltalk.send(self,"_size",[]),"__eq",[(0)]);
457
+ return smalltalk.withContext(function($ctx1) {
458
+ $1=_st(_st(self)._size()).__eq((0));
447
459
  return $1;
448
- }
460
+ }, function($ctx1) {$ctx1.fill(self,"isEmpty",{}, smalltalk.Collection)})}
449
461
  }),
450
462
  smalltalk.Collection);
451
463
 
@@ -455,10 +467,10 @@ smalltalk.method({
455
467
  selector: "notEmpty",
456
468
  fn: function (){
457
469
  var self=this;
458
- var $1;
459
- $1=smalltalk.send(smalltalk.send(self,"_isEmpty",[]),"_not",[]);
470
+ return smalltalk.withContext(function($ctx1) {
471
+ $1=_st(_st(self)._isEmpty())._not();
460
472
  return $1;
461
- }
473
+ }, function($ctx1) {$ctx1.fill(self,"notEmpty",{}, smalltalk.Collection)})}
462
474
  }),
463
475
  smalltalk.Collection);
464
476
 
@@ -468,18 +480,21 @@ smalltalk.method({
468
480
  selector: "occurrencesOf:",
469
481
  fn: function (anObject){
470
482
  var self=this;
471
- var $1;
472
483
  var tally;
484
+ return smalltalk.withContext(function($ctx1) {
473
485
  tally=(0);
474
- smalltalk.send(self,"_do_",[(function(each){
475
- $1=smalltalk.send(anObject,"__eq",[each]);
476
- if(smalltalk.assert($1)){
477
- tally=smalltalk.send(tally,"__plus",[(1)]);
486
+ $1=self;
487
+ $2=(function(each){
488
+ return smalltalk.withContext(function($ctx2) {
489
+ if(smalltalk.assert($3)){
490
+ tally=_st(tally).__plus((1));
478
491
  return tally;
479
492
  };
480
- })]);
481
- return tally;
482
- }
493
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
494
+ _st($1)._do_($2);
495
+ $4=tally;
496
+ return $4;
497
+ }, function($ctx1) {$ctx1.fill(self,"occurrencesOf:",{anObject:anObject,tally:tally}, smalltalk.Collection)})}
483
498
  }),
484
499
  smalltalk.Collection);
485
500
 
@@ -489,18 +504,18 @@ smalltalk.method({
489
504
  selector: "printString",
490
505
  fn: function (){
491
506
  var self=this;
492
- var $1;
493
- $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(aStream){
494
- smalltalk.send(aStream,"_nextPutAll_",[smalltalk.send(smalltalk.send(self,"_printString",[],smalltalk.Object),"__comma",[" ("])]);
495
- smalltalk.send(self,"_do_separatedBy_",[(function(each){
496
- return smalltalk.send(aStream,"_nextPutAll_",[smalltalk.send(each,"_printString",[])]);
497
- }),(function(){
498
- return smalltalk.send(aStream,"_nextPutAll_",[" "]);
499
- })]);
500
- return smalltalk.send(aStream,"_nextPutAll_",[")"]);
501
- })]);
507
+ return smalltalk.withContext(function($ctx1) {
508
+ $1=_st((smalltalk.String || String))._streamContents_((function(aStream){
509
+ return smalltalk.withContext(function($ctx2) {
510
+ _st(self)._do_separatedBy_((function(each){
511
+ return smalltalk.withContext(function($ctx3) {
512
+ }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
513
+ return smalltalk.withContext(function($ctx3) {
514
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
515
+ return _st(aStream)._nextPutAll_(")");
516
+ }, function($ctx2) {$ctx2.fillBlock({aStream:aStream},$ctx1)})}));
502
517
  return $1;
503
- }
518
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Collection)})}
504
519
  }),
505
520
  smalltalk.Collection);
506
521
 
@@ -510,10 +525,10 @@ smalltalk.method({
510
525
  selector: "readStream",
511
526
  fn: function (){
512
527
  var self=this;
513
- var $1;
514
- $1=smalltalk.send(self,"_stream",[]);
528
+ return smalltalk.withContext(function($ctx1) {
529
+ $1=_st(self)._stream();
515
530
  return $1;
516
- }
531
+ }, function($ctx1) {$ctx1.fill(self,"readStream",{}, smalltalk.Collection)})}
517
532
  }),
518
533
  smalltalk.Collection);
519
534
 
@@ -523,12 +538,12 @@ smalltalk.method({
523
538
  selector: "reject:",
524
539
  fn: function (aBlock){
525
540
  var self=this;
526
- var $1;
527
- $1=smalltalk.send(self,"_select_",[(function(each){
528
- return smalltalk.send(smalltalk.send(aBlock,"_value_",[each]),"__eq",[false]);
529
- })]);
541
+ return smalltalk.withContext(function($ctx1) {
542
+ $1=_st(self)._select_((function(each){
543
+ return smalltalk.withContext(function($ctx2) {
544
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
530
545
  return $1;
531
- }
546
+ }, function($ctx1) {$ctx1.fill(self,"reject:",{aBlock:aBlock}, smalltalk.Collection)})}
532
547
  }),
533
548
  smalltalk.Collection);
534
549
 
@@ -538,12 +553,12 @@ smalltalk.method({
538
553
  selector: "remove:",
539
554
  fn: function (anObject){
540
555
  var self=this;
541
- var $1;
542
- $1=smalltalk.send(self,"_remove_ifAbsent_",[anObject,(function(){
543
- return smalltalk.send(self,"_errorNotFound",[]);
544
- })]);
556
+ return smalltalk.withContext(function($ctx1) {
557
+ $1=_st(self)._remove_ifAbsent_(anObject,(function(){
558
+ return smalltalk.withContext(function($ctx2) {
559
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
545
560
  return $1;
546
- }
561
+ }, function($ctx1) {$ctx1.fill(self,"remove:",{anObject:anObject}, smalltalk.Collection)})}
547
562
  }),
548
563
  smalltalk.Collection);
549
564
 
@@ -553,8 +568,8 @@ smalltalk.method({
553
568
  selector: "remove:ifAbsent:",
554
569
  fn: function (anObject,aBlock){
555
570
  var self=this;
556
- smalltalk.send(self,"_subclassResponsibility",[]);
557
- return self}
571
+ return smalltalk.withContext(function($ctx1) {
572
+ return self}, function($ctx1) {$ctx1.fill(self,"remove:ifAbsent:",{anObject:anObject,aBlock:aBlock}, smalltalk.Collection)})}
558
573
  }),
559
574
  smalltalk.Collection);
560
575
 
@@ -564,18 +579,20 @@ smalltalk.method({
564
579
  selector: "select:",
565
580
  fn: function (aBlock){
566
581
  var self=this;
567
- var $1,$2;
568
582
  var stream;
569
- stream=smalltalk.send(smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]),"_writeStream",[]);
570
- smalltalk.send(self,"_do_",[(function(each){
571
- $1=smalltalk.send(aBlock,"_value_",[each]);
572
- if(smalltalk.assert($1)){
573
- return smalltalk.send(stream,"_nextPut_",[each]);
583
+ return smalltalk.withContext(function($ctx1) {
584
+ stream=_st(_st(_st(self)._class())._new())._writeStream();
585
+ $1=self;
586
+ $2=(function(each){
587
+ return smalltalk.withContext(function($ctx2) {
588
+ if(smalltalk.assert($3)){
589
+ return _st(stream)._nextPut_(each);
574
590
  };
575
- })]);
576
- $2=smalltalk.send(stream,"_contents",[]);
577
- return $2;
578
- }
591
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
592
+ _st($1)._do_($2);
593
+ $4=_st(stream)._contents();
594
+ return $4;
595
+ }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,stream:stream}, smalltalk.Collection)})}
579
596
  }),
580
597
  smalltalk.Collection);
581
598
 
@@ -585,8 +602,8 @@ smalltalk.method({
585
602
  selector: "size",
586
603
  fn: function (){
587
604
  var self=this;
588
- smalltalk.send(self,"_subclassResponsibility",[]);
589
- return self}
605
+ return smalltalk.withContext(function($ctx1) {
606
+ return self}, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Collection)})}
590
607
  }),
591
608
  smalltalk.Collection);
592
609
 
@@ -596,10 +613,10 @@ smalltalk.method({
596
613
  selector: "stream",
597
614
  fn: function (){
598
615
  var self=this;
599
- var $1;
600
- $1=smalltalk.send(smalltalk.send(self,"_streamClass",[]),"_on_",[self]);
616
+ return smalltalk.withContext(function($ctx1) {
617
+ $1=_st(_st(self)._streamClass())._on_(self);
601
618
  return $1;
602
- }
619
+ }, function($ctx1) {$ctx1.fill(self,"stream",{}, smalltalk.Collection)})}
603
620
  }),
604
621
  smalltalk.Collection);
605
622
 
@@ -609,10 +626,10 @@ smalltalk.method({
609
626
  selector: "streamClass",
610
627
  fn: function (){
611
628
  var self=this;
612
- var $1;
613
- $1=smalltalk.send(smalltalk.send(self,"_class",[]),"_streamClass",[]);
629
+ return smalltalk.withContext(function($ctx1) {
630
+ $1=_st(_st(self)._class())._streamClass();
614
631
  return $1;
615
- }
632
+ }, function($ctx1) {$ctx1.fill(self,"streamClass",{}, smalltalk.Collection)})}
616
633
  }),
617
634
  smalltalk.Collection);
618
635
 
@@ -622,10 +639,10 @@ smalltalk.method({
622
639
  selector: "writeStream",
623
640
  fn: function (){
624
641
  var self=this;
625
- var $1;
626
- $1=smalltalk.send(self,"_stream",[]);
642
+ return smalltalk.withContext(function($ctx1) {
643
+ $1=_st(self)._stream();
627
644
  return $1;
628
- }
645
+ }, function($ctx1) {$ctx1.fill(self,"writeStream",{}, smalltalk.Collection)})}
629
646
  }),
630
647
  smalltalk.Collection);
631
648
 
@@ -636,10 +653,10 @@ smalltalk.method({
636
653
  selector: "new:",
637
654
  fn: function (anInteger){
638
655
  var self=this;
639
- var $1;
640
- $1=smalltalk.send(self,"_new",[]);
656
+ return smalltalk.withContext(function($ctx1) {
657
+ $1=_st(self)._new();
641
658
  return $1;
642
- }
659
+ }, function($ctx1) {$ctx1.fill(self,"new:",{anInteger:anInteger}, smalltalk.Collection.klass)})}
643
660
  }),
644
661
  smalltalk.Collection.klass);
645
662
 
@@ -649,8 +666,10 @@ smalltalk.method({
649
666
  selector: "streamClass",
650
667
  fn: function (){
651
668
  var self=this;
652
- return (smalltalk.Stream || Stream);
653
- }
669
+ return smalltalk.withContext(function($ctx1) {
670
+ $1=(smalltalk.Stream || Stream);
671
+ return $1;
672
+ }, function($ctx1) {$ctx1.fill(self,"streamClass",{}, smalltalk.Collection.klass)})}
654
673
  }),
655
674
  smalltalk.Collection.klass);
656
675
 
@@ -660,13 +679,13 @@ smalltalk.method({
660
679
  selector: "with:",
661
680
  fn: function (anObject){
662
681
  var self=this;
663
- var $2,$3,$1;
664
- $2=smalltalk.send(self,"_new",[]);
665
- smalltalk.send($2,"_add_",[anObject]);
666
- $3=smalltalk.send($2,"_yourself",[]);
682
+ return smalltalk.withContext(function($ctx1) {
683
+ $2=_st(self)._new();
684
+ _st($2)._add_(anObject);
685
+ $3=_st($2)._yourself();
667
686
  $1=$3;
668
687
  return $1;
669
- }
688
+ }, function($ctx1) {$ctx1.fill(self,"with:",{anObject:anObject}, smalltalk.Collection.klass)})}
670
689
  }),
671
690
  smalltalk.Collection.klass);
672
691
 
@@ -676,14 +695,14 @@ smalltalk.method({
676
695
  selector: "with:with:",
677
696
  fn: function (anObject,anotherObject){
678
697
  var self=this;
679
- var $2,$3,$1;
680
- $2=smalltalk.send(self,"_new",[]);
681
- smalltalk.send($2,"_add_",[anObject]);
682
- smalltalk.send($2,"_add_",[anotherObject]);
683
- $3=smalltalk.send($2,"_yourself",[]);
698
+ return smalltalk.withContext(function($ctx1) {
699
+ $2=_st(self)._new();
700
+ _st($2)._add_(anObject);
701
+ _st($2)._add_(anotherObject);
702
+ $3=_st($2)._yourself();
684
703
  $1=$3;
685
704
  return $1;
686
- }
705
+ }, function($ctx1) {$ctx1.fill(self,"with:with:",{anObject:anObject,anotherObject:anotherObject}, smalltalk.Collection.klass)})}
687
706
  }),
688
707
  smalltalk.Collection.klass);
689
708
 
@@ -693,15 +712,15 @@ smalltalk.method({
693
712
  selector: "with:with:with:",
694
713
  fn: function (firstObject,secondObject,thirdObject){
695
714
  var self=this;
696
- var $2,$3,$1;
697
- $2=smalltalk.send(self,"_new",[]);
698
- smalltalk.send($2,"_add_",[firstObject]);
699
- smalltalk.send($2,"_add_",[secondObject]);
700
- smalltalk.send($2,"_add_",[thirdObject]);
701
- $3=smalltalk.send($2,"_yourself",[]);
715
+ return smalltalk.withContext(function($ctx1) {
716
+ $2=_st(self)._new();
717
+ _st($2)._add_(firstObject);
718
+ _st($2)._add_(secondObject);
719
+ _st($2)._add_(thirdObject);
720
+ $3=_st($2)._yourself();
702
721
  $1=$3;
703
722
  return $1;
704
- }
723
+ }, function($ctx1) {$ctx1.fill(self,"with:with:with:",{firstObject:firstObject,secondObject:secondObject,thirdObject:thirdObject}, smalltalk.Collection.klass)})}
705
724
  }),
706
725
  smalltalk.Collection.klass);
707
726
 
@@ -711,13 +730,13 @@ smalltalk.method({
711
730
  selector: "withAll:",
712
731
  fn: function (aCollection){
713
732
  var self=this;
714
- var $2,$3,$1;
715
- $2=smalltalk.send(self,"_new",[]);
716
- smalltalk.send($2,"_addAll_",[aCollection]);
717
- $3=smalltalk.send($2,"_yourself",[]);
733
+ return smalltalk.withContext(function($ctx1) {
734
+ $2=_st(self)._new();
735
+ _st($2)._addAll_(aCollection);
736
+ $3=_st($2)._yourself();
718
737
  $1=$3;
719
738
  return $1;
720
- }
739
+ }, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection}, smalltalk.Collection.klass)})}
721
740
  }),
722
741
  smalltalk.Collection.klass);
723
742
 
@@ -729,8 +748,8 @@ smalltalk.method({
729
748
  selector: ",",
730
749
  fn: function (aCollection){
731
750
  var self=this;
732
- smalltalk.send(self,"_shouldNotImplement",[]);
733
- return self}
751
+ return smalltalk.withContext(function($ctx1) {
752
+ return self}, function($ctx1) {$ctx1.fill(self,",",{aCollection:aCollection}, smalltalk.HashedCollection)})}
734
753
  }),
735
754
  smalltalk.HashedCollection);
736
755
 
@@ -740,18 +759,18 @@ smalltalk.method({
740
759
  selector: "=",
741
760
  fn: function (aHashedCollection){
742
761
  var self=this;
743
- var $1,$2,$3;
744
- $1=smalltalk.send(smalltalk.send(self,"_class",[]),"__eq",[smalltalk.send(aHashedCollection,"_class",[])]);
762
+ return smalltalk.withContext(function($ctx1) {
763
+ $1=_st(_st(self)._class()).__eq(_st(aHashedCollection)._class());
745
764
  if(! smalltalk.assert($1)){
746
765
  return false;
747
766
  };
748
- $2=smalltalk.send(smalltalk.send(self,"_size",[]),"__eq",[smalltalk.send(aHashedCollection,"_size",[])]);
767
+ $2=_st(_st(self)._size()).__eq(_st(aHashedCollection)._size());
749
768
  if(! smalltalk.assert($2)){
750
769
  return false;
751
770
  };
752
- $3=smalltalk.send(smalltalk.send(self,"_associations",[]),"__eq",[smalltalk.send(aHashedCollection,"_associations",[])]);
771
+ $3=_st(_st(self)._associations()).__eq(_st(aHashedCollection)._associations());
753
772
  return $3;
754
- }
773
+ }, function($ctx1) {$ctx1.fill(self,"=",{aHashedCollection:aHashedCollection}, smalltalk.HashedCollection)})}
755
774
  }),
756
775
  smalltalk.HashedCollection);
757
776
 
@@ -761,8 +780,8 @@ smalltalk.method({
761
780
  selector: "add:",
762
781
  fn: function (anAssociation){
763
782
  var self=this;
764
- smalltalk.send(self,"_at_put_",[smalltalk.send(anAssociation,"_key",[]),smalltalk.send(anAssociation,"_value",[])]);
765
- return self}
783
+ return smalltalk.withContext(function($ctx1) {
784
+ return self}, function($ctx1) {$ctx1.fill(self,"add:",{anAssociation:anAssociation}, smalltalk.HashedCollection)})}
766
785
  }),
767
786
  smalltalk.HashedCollection);
768
787
 
@@ -772,9 +791,11 @@ smalltalk.method({
772
791
  selector: "addAll:",
773
792
  fn: function (aHashedCollection){
774
793
  var self=this;
775
- smalltalk.send(self,"_addAll_",[smalltalk.send(aHashedCollection,"_associations",[])],smalltalk.Collection);
776
- return aHashedCollection;
777
- }
794
+ return smalltalk.withContext(function($ctx1) {
795
+ smalltalk.Collection.fn.prototype._addAll_.apply(_st(self), [_st(aHashedCollection)._associations()]);
796
+ $1=aHashedCollection;
797
+ return $1;
798
+ }, function($ctx1) {$ctx1.fill(self,"addAll:",{aHashedCollection:aHashedCollection}, smalltalk.HashedCollection)})}
778
799
  }),
779
800
  smalltalk.HashedCollection);
780
801
 
@@ -784,10 +805,10 @@ smalltalk.method({
784
805
  selector: "asDictionary",
785
806
  fn: function (){
786
807
  var self=this;
787
- var $1;
788
- $1=smalltalk.send((smalltalk.Dictionary || Dictionary),"_fromPairs_",[smalltalk.send(self,"_associations",[])]);
808
+ return smalltalk.withContext(function($ctx1) {
809
+ $1=_st((smalltalk.Dictionary || Dictionary))._fromPairs_(_st(self)._associations());
789
810
  return $1;
790
- }
811
+ }, function($ctx1) {$ctx1.fill(self,"asDictionary",{}, smalltalk.HashedCollection)})}
791
812
  }),
792
813
  smalltalk.HashedCollection);
793
814
 
@@ -798,12 +819,14 @@ selector: "asJSON",
798
819
  fn: function (){
799
820
  var self=this;
800
821
  var c;
801
- c=smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]);
802
- smalltalk.send(self,"_keysAndValuesDo_",[(function(key,value){
803
- return smalltalk.send(c,"_at_put_",[key,smalltalk.send(value,"_asJSON",[])]);
804
- })]);
805
- return c;
806
- }
822
+ return smalltalk.withContext(function($ctx1) {
823
+ c=_st(_st(self)._class())._new();
824
+ _st(self)._keysAndValuesDo_((function(key,value){
825
+ return smalltalk.withContext(function($ctx2) {
826
+ }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
827
+ $1=c;
828
+ return $1;
829
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{c:c}, smalltalk.HashedCollection)})}
807
830
  }),
808
831
  smalltalk.HashedCollection);
809
832
 
@@ -814,12 +837,14 @@ selector: "associations",
814
837
  fn: function (){
815
838
  var self=this;
816
839
  var associations;
840
+ return smalltalk.withContext(function($ctx1) {
817
841
  associations=[];
818
- smalltalk.send(smalltalk.send(self,"_keys",[]),"_do_",[(function(each){
819
- return smalltalk.send(associations,"_add_",[smalltalk.send((smalltalk.Association || Association),"_key_value_",[each,smalltalk.send(self,"_at_",[each])])]);
820
- })]);
821
- return associations;
822
- }
842
+ _st(_st(self)._keys())._do_((function(each){
843
+ return smalltalk.withContext(function($ctx2) {
844
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
845
+ $1=associations;
846
+ return $1;
847
+ }, function($ctx1) {$ctx1.fill(self,"associations",{associations:associations}, smalltalk.HashedCollection)})}
823
848
  }),
824
849
  smalltalk.HashedCollection);
825
850
 
@@ -829,8 +854,8 @@ smalltalk.method({
829
854
  selector: "associationsDo:",
830
855
  fn: function (aBlock){
831
856
  var self=this;
832
- smalltalk.send(smalltalk.send(self,"_associations",[]),"_do_",[aBlock]);
833
- return self}
857
+ return smalltalk.withContext(function($ctx1) {
858
+ return self}, function($ctx1) {$ctx1.fill(self,"associationsDo:",{aBlock:aBlock}, smalltalk.HashedCollection)})}
834
859
  }),
835
860
  smalltalk.HashedCollection);
836
861
 
@@ -840,12 +865,12 @@ smalltalk.method({
840
865
  selector: "at:",
841
866
  fn: function (aKey){
842
867
  var self=this;
843
- var $1;
844
- $1=smalltalk.send(self,"_at_ifAbsent_",[aKey,(function(){
845
- return smalltalk.send(self,"_errorNotFound",[]);
846
- })]);
868
+ return smalltalk.withContext(function($ctx1) {
869
+ $1=_st(self)._at_ifAbsent_(aKey,(function(){
870
+ return smalltalk.withContext(function($ctx2) {
871
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
847
872
  return $1;
848
- }
873
+ }, function($ctx1) {$ctx1.fill(self,"at:",{aKey:aKey}, smalltalk.HashedCollection)})}
849
874
  }),
850
875
  smalltalk.HashedCollection);
851
876
 
@@ -855,13 +880,13 @@ smalltalk.method({
855
880
  selector: "at:ifAbsent:",
856
881
  fn: function (aKey,aBlock){
857
882
  var self=this;
858
- var $2,$1;
859
- $2=smalltalk.send(self,"_includesKey_",[aKey]);
860
- $1=smalltalk.send($2,"_ifTrue_ifFalse_",[(function(){
861
- return smalltalk.send(self,"_basicAt_",[aKey]);
862
- }),aBlock]);
883
+ return smalltalk.withContext(function($ctx1) {
884
+ $2=_st(self)._includesKey_(aKey);
885
+ $1=_st($2)._ifTrue_ifFalse_((function(){
886
+ return smalltalk.withContext(function($ctx2) {
887
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),aBlock);
863
888
  return $1;
864
- }
889
+ }, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})}
865
890
  }),
866
891
  smalltalk.HashedCollection);
867
892
 
@@ -871,12 +896,12 @@ smalltalk.method({
871
896
  selector: "at:ifAbsentPut:",
872
897
  fn: function (aKey,aBlock){
873
898
  var self=this;
874
- var $1;
875
- $1=smalltalk.send(self,"_at_ifAbsent_",[aKey,(function(){
876
- return smalltalk.send(self,"_at_put_",[aKey,smalltalk.send(aBlock,"_value",[])]);
877
- })]);
899
+ return smalltalk.withContext(function($ctx1) {
900
+ $1=_st(self)._at_ifAbsent_(aKey,(function(){
901
+ return smalltalk.withContext(function($ctx2) {
902
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
878
903
  return $1;
879
- }
904
+ }, function($ctx1) {$ctx1.fill(self,"at:ifAbsentPut:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})}
880
905
  }),
881
906
  smalltalk.HashedCollection);
882
907
 
@@ -886,15 +911,15 @@ smalltalk.method({
886
911
  selector: "at:ifPresent:",
887
912
  fn: function (aKey,aBlock){
888
913
  var self=this;
889
- var $2,$1;
890
- $2=smalltalk.send(self,"_includesKey_",[aKey]);
914
+ return smalltalk.withContext(function($ctx1) {
915
+ $2=_st(self)._includesKey_(aKey);
891
916
  if(smalltalk.assert($2)){
892
- $1=smalltalk.send(aBlock,"_value_",[smalltalk.send(self,"_at_",[aKey])]);
917
+ $1=_st(aBlock)._value_(_st(self)._at_(aKey));
893
918
  } else {
894
919
  $1=nil;
895
920
  };
896
921
  return $1;
897
- }
922
+ }, function($ctx1) {$ctx1.fill(self,"at:ifPresent:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})}
898
923
  }),
899
924
  smalltalk.HashedCollection);
900
925
 
@@ -904,13 +929,13 @@ smalltalk.method({
904
929
  selector: "at:ifPresent:ifAbsent:",
905
930
  fn: function (aKey,aBlock,anotherBlock){
906
931
  var self=this;
907
- var $2,$1;
908
- $2=smalltalk.send(self,"_includesKey_",[aKey]);
909
- $1=smalltalk.send($2,"_ifTrue_ifFalse_",[(function(){
910
- return smalltalk.send(aBlock,"_value_",[smalltalk.send(self,"_at_",[aKey])]);
911
- }),anotherBlock]);
932
+ return smalltalk.withContext(function($ctx1) {
933
+ $2=_st(self)._includesKey_(aKey);
934
+ $1=_st($2)._ifTrue_ifFalse_((function(){
935
+ return smalltalk.withContext(function($ctx2) {
936
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),anotherBlock);
912
937
  return $1;
913
- }
938
+ }, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{aKey:aKey,aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.HashedCollection)})}
914
939
  }),
915
940
  smalltalk.HashedCollection);
916
941
 
@@ -920,10 +945,10 @@ smalltalk.method({
920
945
  selector: "at:put:",
921
946
  fn: function (aKey,aValue){
922
947
  var self=this;
923
- var $1;
924
- $1=smalltalk.send(self,"_basicAt_put_",[aKey,aValue]);
948
+ return smalltalk.withContext(function($ctx1) {
949
+ $1=_st(self)._basicAt_put_(aKey,aValue);
925
950
  return $1;
926
- }
951
+ }, function($ctx1) {$ctx1.fill(self,"at:put:",{aKey:aKey,aValue:aValue}, smalltalk.HashedCollection)})}
927
952
  }),
928
953
  smalltalk.HashedCollection);
929
954
 
@@ -934,12 +959,14 @@ selector: "collect:",
934
959
  fn: function (aBlock){
935
960
  var self=this;
936
961
  var newDict;
937
- newDict=smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]);
938
- smalltalk.send(self,"_keysAndValuesDo_",[(function(key,value){
939
- return smalltalk.send(newDict,"_at_put_",[key,smalltalk.send(aBlock,"_value_",[value])]);
940
- })]);
941
- return newDict;
942
- }
962
+ return smalltalk.withContext(function($ctx1) {
963
+ newDict=_st(_st(self)._class())._new();
964
+ _st(self)._keysAndValuesDo_((function(key,value){
965
+ return smalltalk.withContext(function($ctx2) {
966
+ }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
967
+ $1=newDict;
968
+ return $1;
969
+ }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock,newDict:newDict}, smalltalk.HashedCollection)})}
943
970
  }),
944
971
  smalltalk.HashedCollection);
945
972
 
@@ -949,8 +976,8 @@ smalltalk.method({
949
976
  selector: "copyFrom:to:",
950
977
  fn: function (anIndex,anotherIndex){
951
978
  var self=this;
952
- smalltalk.send(self,"_shouldNotImplement",[]);
953
- return self}
979
+ return smalltalk.withContext(function($ctx1) {
980
+ return self}, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex}, smalltalk.HashedCollection)})}
954
981
  }),
955
982
  smalltalk.HashedCollection);
956
983
 
@@ -961,12 +988,14 @@ selector: "deepCopy",
961
988
  fn: function (){
962
989
  var self=this;
963
990
  var copy;
964
- copy=smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]);
965
- smalltalk.send(self,"_associationsDo_",[(function(each){
966
- return smalltalk.send(copy,"_at_put_",[smalltalk.send(each,"_key",[]),smalltalk.send(smalltalk.send(each,"_value",[]),"_deepCopy",[])]);
967
- })]);
968
- return copy;
969
- }
991
+ return smalltalk.withContext(function($ctx1) {
992
+ copy=_st(_st(self)._class())._new();
993
+ _st(self)._associationsDo_((function(each){
994
+ return smalltalk.withContext(function($ctx2) {
995
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
996
+ $1=copy;
997
+ return $1;
998
+ }, function($ctx1) {$ctx1.fill(self,"deepCopy",{copy:copy}, smalltalk.HashedCollection)})}
970
999
  }),
971
1000
  smalltalk.HashedCollection);
972
1001
 
@@ -976,10 +1005,10 @@ smalltalk.method({
976
1005
  selector: "detect:ifNone:",
977
1006
  fn: function (aBlock,anotherBlock){
978
1007
  var self=this;
979
- var $1;
980
- $1=smalltalk.send(smalltalk.send(self,"_values",[]),"_detect_ifNone_",[aBlock,anotherBlock]);
1008
+ return smalltalk.withContext(function($ctx1) {
1009
+ $1=_st(_st(self)._values())._detect_ifNone_(aBlock,anotherBlock);
981
1010
  return $1;
982
- }
1011
+ }, function($ctx1) {$ctx1.fill(self,"detect:ifNone:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.HashedCollection)})}
983
1012
  }),
984
1013
  smalltalk.HashedCollection);
985
1014
 
@@ -989,8 +1018,8 @@ smalltalk.method({
989
1018
  selector: "do:",
990
1019
  fn: function (aBlock){
991
1020
  var self=this;
992
- smalltalk.send(smalltalk.send(self,"_values",[]),"_do_",[aBlock]);
993
- return self}
1021
+ return smalltalk.withContext(function($ctx1) {
1022
+ return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.HashedCollection)})}
994
1023
  }),
995
1024
  smalltalk.HashedCollection);
996
1025
 
@@ -1000,10 +1029,10 @@ smalltalk.method({
1000
1029
  selector: "includes:",
1001
1030
  fn: function (anObject){
1002
1031
  var self=this;
1003
- var $1;
1004
- $1=smalltalk.send(smalltalk.send(self,"_values",[]),"_includes_",[anObject]);
1032
+ return smalltalk.withContext(function($ctx1) {
1033
+ $1=_st(_st(self)._values())._includes_(anObject);
1005
1034
  return $1;
1006
- }
1035
+ }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject}, smalltalk.HashedCollection)})}
1007
1036
  }),
1008
1037
  smalltalk.HashedCollection);
1009
1038
 
@@ -1013,9 +1042,8 @@ smalltalk.method({
1013
1042
  selector: "includesKey:",
1014
1043
  fn: function (aKey){
1015
1044
  var self=this;
1016
- return self.hasOwnProperty(aKey);
1017
- ;
1018
- return self}
1045
+ return smalltalk.withContext(function($ctx1) {
1046
+ return self}, function($ctx1) {$ctx1.fill(self,"includesKey:",{aKey:aKey}, smalltalk.HashedCollection)})}
1019
1047
  }),
1020
1048
  smalltalk.HashedCollection);
1021
1049
 
@@ -1025,7 +1053,7 @@ smalltalk.method({
1025
1053
  selector: "keys",
1026
1054
  fn: function (){
1027
1055
  var self=this;
1028
-
1056
+ return smalltalk.withContext(function($ctx1) {
1029
1057
  if ('function'===typeof Object.keys) return Object.keys(self);
1030
1058
  var keys = [];
1031
1059
  for(var i in self) {
@@ -1035,8 +1063,7 @@ var self=this;
1035
1063
  };
1036
1064
  return keys;
1037
1065
  ;
1038
- ;
1039
- return self}
1066
+ return self}, function($ctx1) {$ctx1.fill(self,"keys",{}, smalltalk.HashedCollection)})}
1040
1067
  }),
1041
1068
  smalltalk.HashedCollection);
1042
1069
 
@@ -1046,10 +1073,10 @@ smalltalk.method({
1046
1073
  selector: "keysAndValuesDo:",
1047
1074
  fn: function (aBlock){
1048
1075
  var self=this;
1049
- smalltalk.send(self,"_associationsDo_",[(function(each){
1050
- return smalltalk.send(aBlock,"_value_value_",[smalltalk.send(each,"_key",[]),smalltalk.send(each,"_value",[])]);
1051
- })]);
1052
- return self}
1076
+ return smalltalk.withContext(function($ctx1) {
1077
+ return smalltalk.withContext(function($ctx2) {
1078
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
1079
+ return self}, function($ctx1) {$ctx1.fill(self,"keysAndValuesDo:",{aBlock:aBlock}, smalltalk.HashedCollection)})}
1053
1080
  }),
1054
1081
  smalltalk.HashedCollection);
1055
1082
 
@@ -1059,18 +1086,18 @@ smalltalk.method({
1059
1086
  selector: "printString",
1060
1087
  fn: function (){
1061
1088
  var self=this;
1062
- var $1;
1063
- $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(aStream){
1064
- smalltalk.send(aStream,"_nextPutAll_",[smalltalk.send(smalltalk.send("a ","__comma",[smalltalk.send(smalltalk.send(self,"_class",[]),"_name",[])]),"__comma",["("])]);
1065
- smalltalk.send(smalltalk.send(self,"_associations",[]),"_do_separatedBy_",[(function(each){
1066
- return smalltalk.send(each,"_storeOn_",[aStream]);
1067
- }),(function(){
1068
- return smalltalk.send(aStream,"_nextPutAll_",[" , "]);
1069
- })]);
1070
- return smalltalk.send(aStream,"_nextPutAll_",[")"]);
1071
- })]);
1089
+ return smalltalk.withContext(function($ctx1) {
1090
+ $1=_st((smalltalk.String || String))._streamContents_((function(aStream){
1091
+ return smalltalk.withContext(function($ctx2) {
1092
+ _st(_st(self)._associations())._do_separatedBy_((function(each){
1093
+ return smalltalk.withContext(function($ctx3) {
1094
+ }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
1095
+ return smalltalk.withContext(function($ctx3) {
1096
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
1097
+ return _st(aStream)._nextPutAll_(")");
1098
+ }, function($ctx2) {$ctx2.fillBlock({aStream:aStream},$ctx1)})}));
1072
1099
  return $1;
1073
- }
1100
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.HashedCollection)})}
1074
1101
  }),
1075
1102
  smalltalk.HashedCollection);
1076
1103
 
@@ -1080,10 +1107,10 @@ smalltalk.method({
1080
1107
  selector: "remove:ifAbsent:",
1081
1108
  fn: function (aKey,aBlock){
1082
1109
  var self=this;
1083
- var $1;
1084
- $1=smalltalk.send(self,"_removeKey_ifAbsent_",[aKey,aBlock]);
1110
+ return smalltalk.withContext(function($ctx1) {
1111
+ $1=_st(self)._removeKey_ifAbsent_(aKey,aBlock);
1085
1112
  return $1;
1086
- }
1113
+ }, function($ctx1) {$ctx1.fill(self,"remove:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})}
1087
1114
  }),
1088
1115
  smalltalk.HashedCollection);
1089
1116
 
@@ -1093,10 +1120,10 @@ smalltalk.method({
1093
1120
  selector: "removeKey:",
1094
1121
  fn: function (aKey){
1095
1122
  var self=this;
1096
- var $1;
1097
- $1=smalltalk.send(self,"_remove_",[aKey]);
1123
+ return smalltalk.withContext(function($ctx1) {
1124
+ $1=_st(self)._remove_(aKey);
1098
1125
  return $1;
1099
- }
1126
+ }, function($ctx1) {$ctx1.fill(self,"removeKey:",{aKey:aKey}, smalltalk.HashedCollection)})}
1100
1127
  }),
1101
1128
  smalltalk.HashedCollection);
1102
1129
 
@@ -1106,15 +1133,15 @@ smalltalk.method({
1106
1133
  selector: "removeKey:ifAbsent:",
1107
1134
  fn: function (aKey,aBlock){
1108
1135
  var self=this;
1109
- var $2,$1;
1110
- $2=smalltalk.send(self,"_includesKey_",[aKey]);
1136
+ return smalltalk.withContext(function($ctx1) {
1137
+ $2=_st(self)._includesKey_(aKey);
1111
1138
  if(smalltalk.assert($2)){
1112
- $1=smalltalk.send(self,"_basicDelete_",[aKey]);
1139
+ $1=_st(self)._basicDelete_(aKey);
1113
1140
  } else {
1114
- $1=smalltalk.send(aBlock,"_value",[]);
1141
+ $1=_st(aBlock)._value();
1115
1142
  };
1116
1143
  return $1;
1117
- }
1144
+ }, function($ctx1) {$ctx1.fill(self,"removeKey:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.HashedCollection)})}
1118
1145
  }),
1119
1146
  smalltalk.HashedCollection);
1120
1147
 
@@ -1124,17 +1151,20 @@ smalltalk.method({
1124
1151
  selector: "select:",
1125
1152
  fn: function (aBlock){
1126
1153
  var self=this;
1127
- var $1;
1128
1154
  var newDict;
1129
- newDict=smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]);
1130
- smalltalk.send(self,"_keysAndValuesDo_",[(function(key,value){
1131
- $1=smalltalk.send(aBlock,"_value_",[value]);
1132
- if(smalltalk.assert($1)){
1133
- return smalltalk.send(newDict,"_at_put_",[key,value]);
1155
+ return smalltalk.withContext(function($ctx1) {
1156
+ newDict=_st(_st(self)._class())._new();
1157
+ $1=self;
1158
+ $2=(function(key,value){
1159
+ return smalltalk.withContext(function($ctx2) {
1160
+ if(smalltalk.assert($3)){
1161
+ return _st(newDict)._at_put_(key,value);
1134
1162
  };
1135
- })]);
1136
- return newDict;
1137
- }
1163
+ }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})});
1164
+ _st($1)._keysAndValuesDo_($2);
1165
+ $4=newDict;
1166
+ return $4;
1167
+ }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,newDict:newDict}, smalltalk.HashedCollection)})}
1138
1168
  }),
1139
1169
  smalltalk.HashedCollection);
1140
1170
 
@@ -1145,12 +1175,14 @@ selector: "shallowCopy",
1145
1175
  fn: function (){
1146
1176
  var self=this;
1147
1177
  var copy;
1148
- copy=smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]);
1149
- smalltalk.send(self,"_associationsDo_",[(function(each){
1150
- return smalltalk.send(copy,"_at_put_",[smalltalk.send(each,"_key",[]),smalltalk.send(each,"_value",[])]);
1151
- })]);
1152
- return copy;
1153
- }
1178
+ return smalltalk.withContext(function($ctx1) {
1179
+ copy=_st(_st(self)._class())._new();
1180
+ _st(self)._associationsDo_((function(each){
1181
+ return smalltalk.withContext(function($ctx2) {
1182
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
1183
+ $1=copy;
1184
+ return $1;
1185
+ }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{copy:copy}, smalltalk.HashedCollection)})}
1154
1186
  }),
1155
1187
  smalltalk.HashedCollection);
1156
1188
 
@@ -1160,10 +1192,10 @@ smalltalk.method({
1160
1192
  selector: "size",
1161
1193
  fn: function (){
1162
1194
  var self=this;
1163
- var $1;
1164
- $1=smalltalk.send(smalltalk.send(self,"_keys",[]),"_size",[]);
1195
+ return smalltalk.withContext(function($ctx1) {
1196
+ $1=_st(_st(self)._keys())._size();
1165
1197
  return $1;
1166
- }
1198
+ }, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.HashedCollection)})}
1167
1199
  }),
1168
1200
  smalltalk.HashedCollection);
1169
1201
 
@@ -1173,14 +1205,14 @@ smalltalk.method({
1173
1205
  selector: "storeOn:",
1174
1206
  fn: function (aStream){
1175
1207
  var self=this;
1176
- smalltalk.send(aStream,"_nextPutAll_",["#{"]);
1177
- smalltalk.send(smalltalk.send(self,"_associations",[]),"_do_separatedBy_",[(function(each){
1178
- return smalltalk.send(each,"_storeOn_",[aStream]);
1179
- }),(function(){
1180
- return smalltalk.send(aStream,"_nextPutAll_",[". "]);
1181
- })]);
1182
- smalltalk.send(aStream,"_nextPutAll_",["}"]);
1183
- return self}
1208
+ return smalltalk.withContext(function($ctx1) {
1209
+ _st(_st(self)._associations())._do_separatedBy_((function(each){
1210
+ return smalltalk.withContext(function($ctx2) {
1211
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
1212
+ return smalltalk.withContext(function($ctx2) {
1213
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
1214
+ _st(aStream)._nextPutAll_("}");
1215
+ return self}, function($ctx1) {$ctx1.fill(self,"storeOn:",{aStream:aStream}, smalltalk.HashedCollection)})}
1184
1216
  }),
1185
1217
  smalltalk.HashedCollection);
1186
1218
 
@@ -1190,12 +1222,12 @@ smalltalk.method({
1190
1222
  selector: "values",
1191
1223
  fn: function (){
1192
1224
  var self=this;
1193
- var $1;
1194
- $1=smalltalk.send(smalltalk.send(self,"_keys",[]),"_collect_",[(function(each){
1195
- return smalltalk.send(self,"_at_",[each]);
1196
- })]);
1225
+ return smalltalk.withContext(function($ctx1) {
1226
+ $1=_st(_st(self)._keys())._collect_((function(each){
1227
+ return smalltalk.withContext(function($ctx2) {
1228
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
1197
1229
  return $1;
1198
- }
1230
+ }, function($ctx1) {$ctx1.fill(self,"values",{}, smalltalk.HashedCollection)})}
1199
1231
  }),
1200
1232
  smalltalk.HashedCollection);
1201
1233
 
@@ -1207,12 +1239,14 @@ selector: "fromPairs:",
1207
1239
  fn: function (aCollection){
1208
1240
  var self=this;
1209
1241
  var dict;
1210
- dict=smalltalk.send(self,"_new",[]);
1211
- smalltalk.send(aCollection,"_do_",[(function(each){
1212
- return smalltalk.send(dict,"_add_",[each]);
1213
- })]);
1214
- return dict;
1215
- }
1242
+ return smalltalk.withContext(function($ctx1) {
1243
+ dict=_st(self)._new();
1244
+ _st(aCollection)._do_((function(each){
1245
+ return smalltalk.withContext(function($ctx2) {
1246
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
1247
+ $1=dict;
1248
+ return $1;
1249
+ }, function($ctx1) {$ctx1.fill(self,"fromPairs:",{aCollection:aCollection,dict:dict}, smalltalk.HashedCollection.klass)})}
1216
1250
  }),
1217
1251
  smalltalk.HashedCollection.klass);
1218
1252
 
@@ -1224,10 +1258,10 @@ smalltalk.method({
1224
1258
  selector: "asHashedCollection",
1225
1259
  fn: function (){
1226
1260
  var self=this;
1227
- var $1;
1228
- $1=smalltalk.send((smalltalk.HashedCollection || HashedCollection),"_fromPairs_",[smalltalk.send(self,"_associations",[])]);
1261
+ return smalltalk.withContext(function($ctx1) {
1262
+ $1=_st((smalltalk.HashedCollection || HashedCollection))._fromPairs_(_st(self)._associations());
1229
1263
  return $1;
1230
- }
1264
+ }, function($ctx1) {$ctx1.fill(self,"asHashedCollection",{}, smalltalk.Dictionary)})}
1231
1265
  }),
1232
1266
  smalltalk.Dictionary);
1233
1267
 
@@ -1237,10 +1271,10 @@ smalltalk.method({
1237
1271
  selector: "asJSON",
1238
1272
  fn: function (){
1239
1273
  var self=this;
1240
- var $1;
1241
- $1=smalltalk.send(smalltalk.send(self,"_asHashedCollection",[]),"_asJSON",[]);
1274
+ return smalltalk.withContext(function($ctx1) {
1275
+ $1=_st(_st(self)._asHashedCollection())._asJSON();
1242
1276
  return $1;
1243
- }
1277
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.Dictionary)})}
1244
1278
  }),
1245
1279
  smalltalk.Dictionary);
1246
1280
 
@@ -1250,7 +1284,7 @@ smalltalk.method({
1250
1284
  selector: "at:ifAbsent:",
1251
1285
  fn: function (aKey,aBlock){
1252
1286
  var self=this;
1253
-
1287
+ return smalltalk.withContext(function($ctx1) {
1254
1288
  var index;
1255
1289
  for(var i=0;i<self['@keys'].length;i++){
1256
1290
  if(self['@keys'][i].__eq(aKey)) {index = i;}
@@ -1261,8 +1295,7 @@ var self=this;
1261
1295
  return self['@values'][index];
1262
1296
  }
1263
1297
  ;
1264
- ;
1265
- return self}
1298
+ return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.Dictionary)})}
1266
1299
  }),
1267
1300
  smalltalk.Dictionary);
1268
1301
 
@@ -1272,7 +1305,7 @@ smalltalk.method({
1272
1305
  selector: "at:put:",
1273
1306
  fn: function (aKey,aValue){
1274
1307
  var self=this;
1275
-
1308
+ return smalltalk.withContext(function($ctx1) {
1276
1309
  var index = self['@keys'].indexOf(aKey);
1277
1310
  if(index === -1) {
1278
1311
  self['@values'].push(aValue);
@@ -1283,8 +1316,7 @@ var self=this;
1283
1316
 
1284
1317
  return aValue;
1285
1318
  ;
1286
- ;
1287
- return self}
1319
+ return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{aKey:aKey,aValue:aValue}, smalltalk.Dictionary)})}
1288
1320
  }),
1289
1321
  smalltalk.Dictionary);
1290
1322
 
@@ -1294,10 +1326,10 @@ smalltalk.method({
1294
1326
  selector: "includesKey:",
1295
1327
  fn: function (aKey){
1296
1328
  var self=this;
1297
- var $1;
1298
- $1=smalltalk.send(self["@keys"],"_includes_",[aKey]);
1329
+ return smalltalk.withContext(function($ctx1) {
1330
+ $1=_st(self["@keys"])._includes_(aKey);
1299
1331
  return $1;
1300
- }
1332
+ }, function($ctx1) {$ctx1.fill(self,"includesKey:",{aKey:aKey}, smalltalk.Dictionary)})}
1301
1333
  }),
1302
1334
  smalltalk.Dictionary);
1303
1335
 
@@ -1307,10 +1339,10 @@ smalltalk.method({
1307
1339
  selector: "initialize",
1308
1340
  fn: function (){
1309
1341
  var self=this;
1310
- smalltalk.send(self,"_initialize",[],smalltalk.HashedCollection);
1342
+ return smalltalk.withContext(function($ctx1) {
1311
1343
  self["@keys"]=[];
1312
1344
  self["@values"]=[];
1313
- return self}
1345
+ return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Dictionary)})}
1314
1346
  }),
1315
1347
  smalltalk.Dictionary);
1316
1348
 
@@ -1320,14 +1352,14 @@ smalltalk.method({
1320
1352
  selector: "keyAtValue:",
1321
1353
  fn: function (anObject){
1322
1354
  var self=this;
1323
- var $1;
1324
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_associations",[]),"_detect_ifNone_",[(function(k,v){
1325
- return smalltalk.send(v,"__eq_eq",[anObject]);
1326
- }),(function(){
1327
- return smalltalk.send(self,"_error_",["Not found"]);
1328
- })]),"_key",[]);
1355
+ return smalltalk.withContext(function($ctx1) {
1356
+ $1=_st(_st(_st(self)._associations())._detect_ifNone_((function(k,v){
1357
+ return smalltalk.withContext(function($ctx2) {
1358
+ }, function($ctx2) {$ctx2.fillBlock({k:k,v:v},$ctx1)})}),(function(){
1359
+ return smalltalk.withContext(function($ctx2) {
1360
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._key();
1329
1361
  return $1;
1330
- }
1362
+ }, function($ctx1) {$ctx1.fill(self,"keyAtValue:",{anObject:anObject}, smalltalk.Dictionary)})}
1331
1363
  }),
1332
1364
  smalltalk.Dictionary);
1333
1365
 
@@ -1337,10 +1369,10 @@ smalltalk.method({
1337
1369
  selector: "keys",
1338
1370
  fn: function (){
1339
1371
  var self=this;
1340
- var $1;
1341
- $1=smalltalk.send(self["@keys"],"_copy",[]);
1372
+ return smalltalk.withContext(function($ctx1) {
1373
+ $1=_st(self["@keys"])._copy();
1342
1374
  return $1;
1343
- }
1375
+ }, function($ctx1) {$ctx1.fill(self,"keys",{}, smalltalk.Dictionary)})}
1344
1376
  }),
1345
1377
  smalltalk.Dictionary);
1346
1378
 
@@ -1350,7 +1382,7 @@ smalltalk.method({
1350
1382
  selector: "removeKey:ifAbsent:",
1351
1383
  fn: function (aKey,aBlock){
1352
1384
  var self=this;
1353
-
1385
+ return smalltalk.withContext(function($ctx1) {
1354
1386
  var index = self['@keys'].indexOf(aKey);
1355
1387
  if(index === -1) {
1356
1388
  return aBlock()
@@ -1361,8 +1393,7 @@ var self=this;
1361
1393
  return value[0];
1362
1394
  };
1363
1395
  ;
1364
- ;
1365
- return self}
1396
+ return self}, function($ctx1) {$ctx1.fill(self,"removeKey:ifAbsent:",{aKey:aKey,aBlock:aBlock}, smalltalk.Dictionary)})}
1366
1397
  }),
1367
1398
  smalltalk.Dictionary);
1368
1399
 
@@ -1372,10 +1403,10 @@ smalltalk.method({
1372
1403
  selector: "valueAt:",
1373
1404
  fn: function (anObject){
1374
1405
  var self=this;
1375
- var $1;
1376
- $1=smalltalk.send(self,"_associationsDo_",[(2)]);
1406
+ return smalltalk.withContext(function($ctx1) {
1407
+ $1=_st(self)._associationsDo_((2));
1377
1408
  return $1;
1378
- }
1409
+ }, function($ctx1) {$ctx1.fill(self,"valueAt:",{anObject:anObject}, smalltalk.Dictionary)})}
1379
1410
  }),
1380
1411
  smalltalk.Dictionary);
1381
1412
 
@@ -1385,10 +1416,10 @@ smalltalk.method({
1385
1416
  selector: "values",
1386
1417
  fn: function (){
1387
1418
  var self=this;
1388
- var $1;
1389
- $1=smalltalk.send(self["@values"],"_copy",[]);
1419
+ return smalltalk.withContext(function($ctx1) {
1420
+ $1=_st(self["@values"])._copy();
1390
1421
  return $1;
1391
- }
1422
+ }, function($ctx1) {$ctx1.fill(self,"values",{}, smalltalk.Dictionary)})}
1392
1423
  }),
1393
1424
  smalltalk.Dictionary);
1394
1425
 
@@ -1401,25 +1432,27 @@ smalltalk.method({
1401
1432
  selector: "=",
1402
1433
  fn: function (aCollection){
1403
1434
  var self=this;
1404
- var $1,$2;
1435
+ return smalltalk.withContext(function($ctx1) {
1405
1436
  var $early={};
1406
1437
  try {
1407
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_class",[]),"__eq",[smalltalk.send(aCollection,"_class",[])]),"_and_",[(function(){
1408
- return smalltalk.send(smalltalk.send(self,"_size",[]),"__eq",[smalltalk.send(aCollection,"_size",[])]);
1409
- })]);
1438
+ $1=_st(_st(_st(self)._class()).__eq(_st(aCollection)._class()))._and_((function(){
1439
+ return smalltalk.withContext(function($ctx2) {
1440
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
1410
1441
  if(! smalltalk.assert($1)){
1411
1442
  return false;
1412
1443
  };
1413
- smalltalk.send(self,"_withIndexDo_",[(function(each,i){
1414
- $2=smalltalk.send(smalltalk.send(aCollection,"_at_",[i]),"__eq",[each]);
1415
- if(! smalltalk.assert($2)){
1444
+ $2=self;
1445
+ $3=(function(each,i){
1446
+ return smalltalk.withContext(function($ctx2) {
1447
+ if(! smalltalk.assert($4)){
1416
1448
  throw $early=[false];
1417
1449
  };
1418
- })]);
1450
+ }, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})});
1451
+ _st($2)._withIndexDo_($3);
1419
1452
  return true;
1420
1453
  }
1421
1454
  catch(e) {if(e===$early)return e[0]; throw e}
1422
- }
1455
+ }, function($ctx1) {$ctx1.fill(self,"=",{aCollection:aCollection}, smalltalk.SequenceableCollection)})}
1423
1456
  }),
1424
1457
  smalltalk.SequenceableCollection);
1425
1458
 
@@ -1429,8 +1462,8 @@ smalltalk.method({
1429
1462
  selector: "addLast:",
1430
1463
  fn: function (anObject){
1431
1464
  var self=this;
1432
- smalltalk.send(self,"_add_",[anObject]);
1433
- return self}
1465
+ return smalltalk.withContext(function($ctx1) {
1466
+ return self}, function($ctx1) {$ctx1.fill(self,"addLast:",{anObject:anObject}, smalltalk.SequenceableCollection)})}
1434
1467
  }),
1435
1468
  smalltalk.SequenceableCollection);
1436
1469
 
@@ -1440,10 +1473,10 @@ smalltalk.method({
1440
1473
  selector: "allButFirst",
1441
1474
  fn: function (){
1442
1475
  var self=this;
1443
- var $1;
1444
- $1=smalltalk.send(self,"_copyFrom_to_",[(2),smalltalk.send(self,"_size",[])]);
1476
+ return smalltalk.withContext(function($ctx1) {
1477
+ $1=_st(self)._copyFrom_to_((2),_st(self)._size());
1445
1478
  return $1;
1446
- }
1479
+ }, function($ctx1) {$ctx1.fill(self,"allButFirst",{}, smalltalk.SequenceableCollection)})}
1447
1480
  }),
1448
1481
  smalltalk.SequenceableCollection);
1449
1482
 
@@ -1453,10 +1486,10 @@ smalltalk.method({
1453
1486
  selector: "allButLast",
1454
1487
  fn: function (){
1455
1488
  var self=this;
1456
- var $1;
1457
- $1=smalltalk.send(self,"_copyFrom_to_",[(1),smalltalk.send(smalltalk.send(self,"_size",[]),"__minus",[(1)])]);
1489
+ return smalltalk.withContext(function($ctx1) {
1490
+ $1=_st(self)._copyFrom_to_((1),_st(_st(self)._size()).__minus((1)));
1458
1491
  return $1;
1459
- }
1492
+ }, function($ctx1) {$ctx1.fill(self,"allButLast",{}, smalltalk.SequenceableCollection)})}
1460
1493
  }),
1461
1494
  smalltalk.SequenceableCollection);
1462
1495
 
@@ -1466,12 +1499,12 @@ smalltalk.method({
1466
1499
  selector: "at:",
1467
1500
  fn: function (anIndex){
1468
1501
  var self=this;
1469
- var $1;
1470
- $1=smalltalk.send(self,"_at_ifAbsent_",[anIndex,(function(){
1471
- return smalltalk.send(self,"_errorNotFound",[]);
1472
- })]);
1502
+ return smalltalk.withContext(function($ctx1) {
1503
+ $1=_st(self)._at_ifAbsent_(anIndex,(function(){
1504
+ return smalltalk.withContext(function($ctx2) {
1505
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
1473
1506
  return $1;
1474
- }
1507
+ }, function($ctx1) {$ctx1.fill(self,"at:",{anIndex:anIndex}, smalltalk.SequenceableCollection)})}
1475
1508
  }),
1476
1509
  smalltalk.SequenceableCollection);
1477
1510
 
@@ -1481,8 +1514,8 @@ smalltalk.method({
1481
1514
  selector: "at:ifAbsent:",
1482
1515
  fn: function (anIndex,aBlock){
1483
1516
  var self=this;
1484
- smalltalk.send(self,"_subclassResponsibility",[]);
1485
- return self}
1517
+ return smalltalk.withContext(function($ctx1) {
1518
+ return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock}, smalltalk.SequenceableCollection)})}
1486
1519
  }),
1487
1520
  smalltalk.SequenceableCollection);
1488
1521
 
@@ -1492,8 +1525,8 @@ smalltalk.method({
1492
1525
  selector: "at:put:",
1493
1526
  fn: function (anIndex,anObject){
1494
1527
  var self=this;
1495
- smalltalk.send(self,"_subclassResponsibility",[]);
1496
- return self}
1528
+ return smalltalk.withContext(function($ctx1) {
1529
+ return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{anIndex:anIndex,anObject:anObject}, smalltalk.SequenceableCollection)})}
1497
1530
  }),
1498
1531
  smalltalk.SequenceableCollection);
1499
1532
 
@@ -1503,10 +1536,10 @@ smalltalk.method({
1503
1536
  selector: "atRandom",
1504
1537
  fn: function (){
1505
1538
  var self=this;
1506
- var $1;
1507
- $1=smalltalk.send(self,"_at_",[smalltalk.send(smalltalk.send(self,"_size",[]),"_atRandom",[])]);
1539
+ return smalltalk.withContext(function($ctx1) {
1540
+ $1=_st(self)._at_(_st(_st(self)._size())._atRandom());
1508
1541
  return $1;
1509
- }
1542
+ }, function($ctx1) {$ctx1.fill(self,"atRandom",{}, smalltalk.SequenceableCollection)})}
1510
1543
  }),
1511
1544
  smalltalk.SequenceableCollection);
1512
1545
 
@@ -1516,15 +1549,16 @@ smalltalk.method({
1516
1549
  selector: "copyFrom:to:",
1517
1550
  fn: function (anIndex,anotherIndex){
1518
1551
  var self=this;
1519
- var range;
1520
- var newCollection;
1521
- range=smalltalk.send(anIndex,"_to_",[anotherIndex]);
1522
- newCollection=smalltalk.send(smalltalk.send(self,"_class",[]),"_new_",[smalltalk.send(range,"_size",[])]);
1523
- smalltalk.send(range,"_withIndexDo_",[(function(each,i){
1524
- return smalltalk.send(newCollection,"_at_put_",[i,smalltalk.send(self,"_at_",[each])]);
1525
- })]);
1526
- return newCollection;
1527
- }
1552
+ var range,newCollection;
1553
+ return smalltalk.withContext(function($ctx1) {
1554
+ range=_st(anIndex)._to_(anotherIndex);
1555
+ newCollection=_st(_st(self)._class())._new_(_st(range)._size());
1556
+ _st(range)._withIndexDo_((function(each,i){
1557
+ return smalltalk.withContext(function($ctx2) {
1558
+ }, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})}));
1559
+ $1=newCollection;
1560
+ return $1;
1561
+ }, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex,range:range,newCollection:newCollection}, smalltalk.SequenceableCollection)})}
1528
1562
  }),
1529
1563
  smalltalk.SequenceableCollection);
1530
1564
 
@@ -1535,12 +1569,14 @@ selector: "deepCopy",
1535
1569
  fn: function (){
1536
1570
  var self=this;
1537
1571
  var newCollection;
1538
- newCollection=smalltalk.send(smalltalk.send(self,"_class",[]),"_new_",[smalltalk.send(self,"_size",[])]);
1539
- smalltalk.send(self,"_withIndexDo_",[(function(each,index){
1540
- return smalltalk.send(newCollection,"_at_put_",[index,smalltalk.send(each,"_deepCopy",[])]);
1541
- })]);
1542
- return newCollection;
1543
- }
1572
+ return smalltalk.withContext(function($ctx1) {
1573
+ newCollection=_st(_st(self)._class())._new_(_st(self)._size());
1574
+ _st(self)._withIndexDo_((function(each,index){
1575
+ return smalltalk.withContext(function($ctx2) {
1576
+ }, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1)})}));
1577
+ $1=newCollection;
1578
+ return $1;
1579
+ }, function($ctx1) {$ctx1.fill(self,"deepCopy",{newCollection:newCollection}, smalltalk.SequenceableCollection)})}
1544
1580
  }),
1545
1581
  smalltalk.SequenceableCollection);
1546
1582
 
@@ -1550,10 +1586,10 @@ smalltalk.method({
1550
1586
  selector: "first",
1551
1587
  fn: function (){
1552
1588
  var self=this;
1553
- var $1;
1554
- $1=smalltalk.send(self,"_at_",[(1)]);
1589
+ return smalltalk.withContext(function($ctx1) {
1590
+ $1=_st(self)._at_((1));
1555
1591
  return $1;
1556
- }
1592
+ }, function($ctx1) {$ctx1.fill(self,"first",{}, smalltalk.SequenceableCollection)})}
1557
1593
  }),
1558
1594
  smalltalk.SequenceableCollection);
1559
1595
 
@@ -1563,10 +1599,10 @@ smalltalk.method({
1563
1599
  selector: "first:",
1564
1600
  fn: function (n){
1565
1601
  var self=this;
1566
- var $1;
1567
- $1=smalltalk.send(self,"_copyFrom_to_",[(1),n]);
1602
+ return smalltalk.withContext(function($ctx1) {
1603
+ $1=_st(self)._copyFrom_to_((1),n);
1568
1604
  return $1;
1569
- }
1605
+ }, function($ctx1) {$ctx1.fill(self,"first:",{n:n}, smalltalk.SequenceableCollection)})}
1570
1606
  }),
1571
1607
  smalltalk.SequenceableCollection);
1572
1608
 
@@ -1576,10 +1612,25 @@ smalltalk.method({
1576
1612
  selector: "fourth",
1577
1613
  fn: function (){
1578
1614
  var self=this;
1579
- var $1;
1580
- $1=smalltalk.send(self,"_at_",[(4)]);
1615
+ return smalltalk.withContext(function($ctx1) {
1616
+ $1=_st(self)._at_((4));
1581
1617
  return $1;
1582
- }
1618
+ }, function($ctx1) {$ctx1.fill(self,"fourth",{}, smalltalk.SequenceableCollection)})}
1619
+ }),
1620
+ smalltalk.SequenceableCollection);
1621
+
1622
+ smalltalk.addMethod(
1623
+ "_includes_",
1624
+ smalltalk.method({
1625
+ selector: "includes:",
1626
+ fn: function (anObject){
1627
+ var self=this;
1628
+ return smalltalk.withContext(function($ctx1) {
1629
+ $1=_st(_st(self)._indexOf_ifAbsent_(anObject,(function(){
1630
+ return smalltalk.withContext(function($ctx2) {
1631
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._notNil();
1632
+ return $1;
1633
+ }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject}, smalltalk.SequenceableCollection)})}
1583
1634
  }),
1584
1635
  smalltalk.SequenceableCollection);
1585
1636
 
@@ -1589,12 +1640,12 @@ smalltalk.method({
1589
1640
  selector: "indexOf:",
1590
1641
  fn: function (anObject){
1591
1642
  var self=this;
1592
- var $1;
1593
- $1=smalltalk.send(self,"_indexOf_ifAbsent_",[anObject,(function(){
1594
- return smalltalk.send(self,"_errorNotFound",[]);
1595
- })]);
1643
+ return smalltalk.withContext(function($ctx1) {
1644
+ $1=_st(self)._indexOf_ifAbsent_(anObject,(function(){
1645
+ return smalltalk.withContext(function($ctx2) {
1646
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
1596
1647
  return $1;
1597
- }
1648
+ }, function($ctx1) {$ctx1.fill(self,"indexOf:",{anObject:anObject}, smalltalk.SequenceableCollection)})}
1598
1649
  }),
1599
1650
  smalltalk.SequenceableCollection);
1600
1651
 
@@ -1604,14 +1655,13 @@ smalltalk.method({
1604
1655
  selector: "indexOf:ifAbsent:",
1605
1656
  fn: function (anObject,aBlock){
1606
1657
  var self=this;
1607
-
1658
+ return smalltalk.withContext(function($ctx1) {
1608
1659
  for(var i=0;i<self.length;i++) {
1609
- if(smalltalk.send(self[i], '__eq', [anObject])) {return i+1}
1660
+ if(self[i].__eq(anObject)) {return i+1}
1610
1661
  };
1611
1662
  return aBlock();
1612
1663
  ;
1613
- ;
1614
- return self}
1664
+ return self}, function($ctx1) {$ctx1.fill(self,"indexOf:ifAbsent:",{anObject:anObject,aBlock:aBlock}, smalltalk.SequenceableCollection)})}
1615
1665
  }),
1616
1666
  smalltalk.SequenceableCollection);
1617
1667
 
@@ -1621,12 +1671,12 @@ smalltalk.method({
1621
1671
  selector: "indexOf:startingAt:",
1622
1672
  fn: function (anObject,start){
1623
1673
  var self=this;
1624
- var $1;
1625
- $1=smalltalk.send(self,"_indexOf_startingAt_ifAbsent_",[anObject,start,(function(){
1626
- return (0);
1627
- })]);
1674
+ return smalltalk.withContext(function($ctx1) {
1675
+ $1=_st(self)._indexOf_startingAt_ifAbsent_(anObject,start,(function(){
1676
+ return smalltalk.withContext(function($ctx2) {
1677
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
1628
1678
  return $1;
1629
- }
1679
+ }, function($ctx1) {$ctx1.fill(self,"indexOf:startingAt:",{anObject:anObject,start:start}, smalltalk.SequenceableCollection)})}
1630
1680
  }),
1631
1681
  smalltalk.SequenceableCollection);
1632
1682
 
@@ -1636,14 +1686,13 @@ smalltalk.method({
1636
1686
  selector: "indexOf:startingAt:ifAbsent:",
1637
1687
  fn: function (anObject,start,aBlock){
1638
1688
  var self=this;
1639
-
1689
+ return smalltalk.withContext(function($ctx1) {
1640
1690
  for(var i=start-1;i<self.length;i++){
1641
1691
  if(self[i].__eq(anObject)) {return i+1}
1642
1692
  }
1643
1693
  return aBlock();
1644
1694
  ;
1645
- ;
1646
- return self}
1695
+ return self}, function($ctx1) {$ctx1.fill(self,"indexOf:startingAt:ifAbsent:",{anObject:anObject,start:start,aBlock:aBlock}, smalltalk.SequenceableCollection)})}
1647
1696
  }),
1648
1697
  smalltalk.SequenceableCollection);
1649
1698
 
@@ -1653,10 +1702,10 @@ smalltalk.method({
1653
1702
  selector: "last",
1654
1703
  fn: function (){
1655
1704
  var self=this;
1656
- var $1;
1657
- $1=smalltalk.send(self,"_at_",[smalltalk.send(self,"_size",[])]);
1705
+ return smalltalk.withContext(function($ctx1) {
1706
+ $1=_st(self)._at_(_st(self)._size());
1658
1707
  return $1;
1659
- }
1708
+ }, function($ctx1) {$ctx1.fill(self,"last",{}, smalltalk.SequenceableCollection)})}
1660
1709
  }),
1661
1710
  smalltalk.SequenceableCollection);
1662
1711
 
@@ -1666,8 +1715,8 @@ smalltalk.method({
1666
1715
  selector: "removeLast",
1667
1716
  fn: function (){
1668
1717
  var self=this;
1669
- smalltalk.send(self,"_remove_",[smalltalk.send(self,"_last",[])]);
1670
- return self}
1718
+ return smalltalk.withContext(function($ctx1) {
1719
+ return self}, function($ctx1) {$ctx1.fill(self,"removeLast",{}, smalltalk.SequenceableCollection)})}
1671
1720
  }),
1672
1721
  smalltalk.SequenceableCollection);
1673
1722
 
@@ -1677,8 +1726,8 @@ smalltalk.method({
1677
1726
  selector: "reversed",
1678
1727
  fn: function (){
1679
1728
  var self=this;
1680
- smalltalk.send(self,"_subclassResponsibility",[]);
1681
- return self}
1729
+ return smalltalk.withContext(function($ctx1) {
1730
+ return self}, function($ctx1) {$ctx1.fill(self,"reversed",{}, smalltalk.SequenceableCollection)})}
1682
1731
  }),
1683
1732
  smalltalk.SequenceableCollection);
1684
1733
 
@@ -1688,10 +1737,10 @@ smalltalk.method({
1688
1737
  selector: "second",
1689
1738
  fn: function (){
1690
1739
  var self=this;
1691
- var $1;
1692
- $1=smalltalk.send(self,"_at_",[(2)]);
1740
+ return smalltalk.withContext(function($ctx1) {
1741
+ $1=_st(self)._at_((2));
1693
1742
  return $1;
1694
- }
1743
+ }, function($ctx1) {$ctx1.fill(self,"second",{}, smalltalk.SequenceableCollection)})}
1695
1744
  }),
1696
1745
  smalltalk.SequenceableCollection);
1697
1746
 
@@ -1702,12 +1751,14 @@ selector: "shallowCopy",
1702
1751
  fn: function (){
1703
1752
  var self=this;
1704
1753
  var newCollection;
1705
- newCollection=smalltalk.send(smalltalk.send(self,"_class",[]),"_new_",[smalltalk.send(self,"_size",[])]);
1706
- smalltalk.send(self,"_withIndexDo_",[(function(each,index){
1707
- return smalltalk.send(newCollection,"_at_put_",[index,each]);
1708
- })]);
1709
- return newCollection;
1710
- }
1754
+ return smalltalk.withContext(function($ctx1) {
1755
+ newCollection=_st(_st(self)._class())._new_(_st(self)._size());
1756
+ _st(self)._withIndexDo_((function(each,index){
1757
+ return smalltalk.withContext(function($ctx2) {
1758
+ }, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1)})}));
1759
+ $1=newCollection;
1760
+ return $1;
1761
+ }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{newCollection:newCollection}, smalltalk.SequenceableCollection)})}
1711
1762
  }),
1712
1763
  smalltalk.SequenceableCollection);
1713
1764
 
@@ -1717,10 +1768,10 @@ smalltalk.method({
1717
1768
  selector: "third",
1718
1769
  fn: function (){
1719
1770
  var self=this;
1720
- var $1;
1721
- $1=smalltalk.send(self,"_at_",[(3)]);
1771
+ return smalltalk.withContext(function($ctx1) {
1772
+ $1=_st(self)._at_((3));
1722
1773
  return $1;
1723
- }
1774
+ }, function($ctx1) {$ctx1.fill(self,"third",{}, smalltalk.SequenceableCollection)})}
1724
1775
  }),
1725
1776
  smalltalk.SequenceableCollection);
1726
1777
 
@@ -1730,9 +1781,8 @@ smalltalk.method({
1730
1781
  selector: "withIndexDo:",
1731
1782
  fn: function (aBlock){
1732
1783
  var self=this;
1733
- for(var i=0;i<self.length;i++){aBlock(self[i], i+1);};
1734
- ;
1735
- return self}
1784
+ return smalltalk.withContext(function($ctx1) {
1785
+ return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock}, smalltalk.SequenceableCollection)})}
1736
1786
  }),
1737
1787
  smalltalk.SequenceableCollection);
1738
1788
 
@@ -1745,9 +1795,8 @@ smalltalk.method({
1745
1795
  selector: "add:",
1746
1796
  fn: function (anObject){
1747
1797
  var self=this;
1748
- self.push(anObject); return anObject;;
1749
- ;
1750
- return self}
1798
+ return smalltalk.withContext(function($ctx1) {
1799
+ return self}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.Array)})}
1751
1800
  }),
1752
1801
  smalltalk.Array);
1753
1802
 
@@ -1757,12 +1806,12 @@ smalltalk.method({
1757
1806
  selector: "asJavascript",
1758
1807
  fn: function (){
1759
1808
  var self=this;
1760
- var $1;
1761
- $1=smalltalk.send(smalltalk.send("[","__comma",[smalltalk.send(smalltalk.send(self,"_collect_",[(function(each){
1762
- return smalltalk.send(each,"_asJavascript",[]);
1763
- })]),"_join_",[", "])]),"__comma",["]"]);
1809
+ return smalltalk.withContext(function($ctx1) {
1810
+ $1=_st(_st("[").__comma(_st(_st(self)._collect_((function(each){
1811
+ return smalltalk.withContext(function($ctx2) {
1812
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._join_(", "))).__comma("]");
1764
1813
  return $1;
1765
- }
1814
+ }, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Array)})}
1766
1815
  }),
1767
1816
  smalltalk.Array);
1768
1817
 
@@ -1772,12 +1821,11 @@ smalltalk.method({
1772
1821
  selector: "at:ifAbsent:",
1773
1822
  fn: function (anIndex,aBlock){
1774
1823
  var self=this;
1775
-
1824
+ return smalltalk.withContext(function($ctx1) {
1776
1825
  if((anIndex < 1) || (self.length < anIndex)) {return aBlock()};
1777
1826
  return self[anIndex - 1];
1778
1827
  ;
1779
- ;
1780
- return self}
1828
+ return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock}, smalltalk.Array)})}
1781
1829
  }),
1782
1830
  smalltalk.Array);
1783
1831
 
@@ -1787,9 +1835,8 @@ smalltalk.method({
1787
1835
  selector: "at:put:",
1788
1836
  fn: function (anIndex,anObject){
1789
1837
  var self=this;
1790
- return self[anIndex - 1] = anObject;
1791
- ;
1792
- return self}
1838
+ return smalltalk.withContext(function($ctx1) {
1839
+ return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{anIndex:anIndex,anObject:anObject}, smalltalk.Array)})}
1793
1840
  }),
1794
1841
  smalltalk.Array);
1795
1842
 
@@ -1799,9 +1846,8 @@ smalltalk.method({
1799
1846
  selector: "join:",
1800
1847
  fn: function (aString){
1801
1848
  var self=this;
1802
- return self.join(aString);
1803
- ;
1804
- return self}
1849
+ return smalltalk.withContext(function($ctx1) {
1850
+ return self}, function($ctx1) {$ctx1.fill(self,"join:",{aString:aString}, smalltalk.Array)})}
1805
1851
  }),
1806
1852
  smalltalk.Array);
1807
1853
 
@@ -1811,17 +1857,16 @@ smalltalk.method({
1811
1857
  selector: "remove:ifAbsent:",
1812
1858
  fn: function (anObject,aBlock){
1813
1859
  var self=this;
1814
-
1860
+ return smalltalk.withContext(function($ctx1) {
1815
1861
  for(var i=0;i<self.length;i++) {
1816
1862
  if(self[i] == anObject) {
1817
1863
  self.splice(i,1);
1818
1864
  return self;
1819
1865
  }
1820
- }
1866
+ };
1867
+ aBlock._value();
1821
1868
  ;
1822
- ;
1823
- smalltalk.send(aBlock,"_value",[]);
1824
- return self}
1869
+ return self}, function($ctx1) {$ctx1.fill(self,"remove:ifAbsent:",{anObject:anObject,aBlock:aBlock}, smalltalk.Array)})}
1825
1870
  }),
1826
1871
  smalltalk.Array);
1827
1872
 
@@ -1831,9 +1876,8 @@ smalltalk.method({
1831
1876
  selector: "removeFrom:to:",
1832
1877
  fn: function (aNumber,anotherNumber){
1833
1878
  var self=this;
1834
- self.splice(aNumber - 1,anotherNumber - 1);
1835
- ;
1836
- return self}
1879
+ return smalltalk.withContext(function($ctx1) {
1880
+ return self}, function($ctx1) {$ctx1.fill(self,"removeFrom:to:",{aNumber:aNumber,anotherNumber:anotherNumber}, smalltalk.Array)})}
1837
1881
  }),
1838
1882
  smalltalk.Array);
1839
1883
 
@@ -1843,9 +1887,8 @@ smalltalk.method({
1843
1887
  selector: "reversed",
1844
1888
  fn: function (){
1845
1889
  var self=this;
1846
- return self._copy().reverse();
1847
- ;
1848
- return self}
1890
+ return smalltalk.withContext(function($ctx1) {
1891
+ return self}, function($ctx1) {$ctx1.fill(self,"reversed",{}, smalltalk.Array)})}
1849
1892
  }),
1850
1893
  smalltalk.Array);
1851
1894
 
@@ -1855,9 +1898,8 @@ smalltalk.method({
1855
1898
  selector: "size",
1856
1899
  fn: function (){
1857
1900
  var self=this;
1858
- return self.length;
1859
- ;
1860
- return self}
1901
+ return smalltalk.withContext(function($ctx1) {
1902
+ return self}, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Array)})}
1861
1903
  }),
1862
1904
  smalltalk.Array);
1863
1905
 
@@ -1867,10 +1909,10 @@ smalltalk.method({
1867
1909
  selector: "sort",
1868
1910
  fn: function (){
1869
1911
  var self=this;
1870
- var $1;
1871
- $1=smalltalk.send(self,"_basicPerform_",["sort"]);
1912
+ return smalltalk.withContext(function($ctx1) {
1913
+ $1=_st(self)._basicPerform_("sort");
1872
1914
  return $1;
1873
- }
1915
+ }, function($ctx1) {$ctx1.fill(self,"sort",{}, smalltalk.Array)})}
1874
1916
  }),
1875
1917
  smalltalk.Array);
1876
1918
 
@@ -1880,13 +1922,12 @@ smalltalk.method({
1880
1922
  selector: "sort:",
1881
1923
  fn: function (aBlock){
1882
1924
  var self=this;
1883
-
1925
+ return smalltalk.withContext(function($ctx1) {
1884
1926
  return self.sort(function(a, b) {
1885
1927
  if(aBlock(a,b)) {return -1} else {return 1}
1886
1928
  })
1887
1929
  ;
1888
- ;
1889
- return self}
1930
+ return self}, function($ctx1) {$ctx1.fill(self,"sort:",{aBlock:aBlock}, smalltalk.Array)})}
1890
1931
  }),
1891
1932
  smalltalk.Array);
1892
1933
 
@@ -1896,10 +1937,10 @@ smalltalk.method({
1896
1937
  selector: "sorted",
1897
1938
  fn: function (){
1898
1939
  var self=this;
1899
- var $1;
1900
- $1=smalltalk.send(smalltalk.send(self,"_copy",[]),"_sort",[]);
1940
+ return smalltalk.withContext(function($ctx1) {
1941
+ $1=_st(_st(self)._copy())._sort();
1901
1942
  return $1;
1902
- }
1943
+ }, function($ctx1) {$ctx1.fill(self,"sorted",{}, smalltalk.Array)})}
1903
1944
  }),
1904
1945
  smalltalk.Array);
1905
1946
 
@@ -1909,10 +1950,10 @@ smalltalk.method({
1909
1950
  selector: "sorted:",
1910
1951
  fn: function (aBlock){
1911
1952
  var self=this;
1912
- var $1;
1913
- $1=smalltalk.send(smalltalk.send(self,"_copy",[]),"_sort_",[aBlock]);
1953
+ return smalltalk.withContext(function($ctx1) {
1954
+ $1=_st(_st(self)._copy())._sort_(aBlock);
1914
1955
  return $1;
1915
- }
1956
+ }, function($ctx1) {$ctx1.fill(self,"sorted:",{aBlock:aBlock}, smalltalk.Array)})}
1916
1957
  }),
1917
1958
  smalltalk.Array);
1918
1959
 
@@ -1923,9 +1964,8 @@ smalltalk.method({
1923
1964
  selector: "new:",
1924
1965
  fn: function (anInteger){
1925
1966
  var self=this;
1926
- return new Array(anInteger);
1927
- ;
1928
- return self}
1967
+ return smalltalk.withContext(function($ctx1) {
1968
+ return self}, function($ctx1) {$ctx1.fill(self,"new:",{anInteger:anInteger}, smalltalk.Array.klass)})}
1929
1969
  }),
1930
1970
  smalltalk.Array.klass);
1931
1971
 
@@ -1935,13 +1975,13 @@ smalltalk.method({
1935
1975
  selector: "with:",
1936
1976
  fn: function (anObject){
1937
1977
  var self=this;
1938
- var $2,$3,$1;
1939
- $2=smalltalk.send(self,"_new_",[(1)]);
1940
- smalltalk.send($2,"_at_put_",[(1),anObject]);
1941
- $3=smalltalk.send($2,"_yourself",[]);
1978
+ return smalltalk.withContext(function($ctx1) {
1979
+ $2=_st(self)._new_((1));
1980
+ _st($2)._at_put_((1),anObject);
1981
+ $3=_st($2)._yourself();
1942
1982
  $1=$3;
1943
1983
  return $1;
1944
- }
1984
+ }, function($ctx1) {$ctx1.fill(self,"with:",{anObject:anObject}, smalltalk.Array.klass)})}
1945
1985
  }),
1946
1986
  smalltalk.Array.klass);
1947
1987
 
@@ -1951,14 +1991,14 @@ smalltalk.method({
1951
1991
  selector: "with:with:",
1952
1992
  fn: function (anObject,anObject2){
1953
1993
  var self=this;
1954
- var $2,$3,$1;
1955
- $2=smalltalk.send(self,"_new_",[(2)]);
1956
- smalltalk.send($2,"_at_put_",[(1),anObject]);
1957
- smalltalk.send($2,"_at_put_",[(2),anObject2]);
1958
- $3=smalltalk.send($2,"_yourself",[]);
1994
+ return smalltalk.withContext(function($ctx1) {
1995
+ $2=_st(self)._new_((2));
1996
+ _st($2)._at_put_((1),anObject);
1997
+ _st($2)._at_put_((2),anObject2);
1998
+ $3=_st($2)._yourself();
1959
1999
  $1=$3;
1960
2000
  return $1;
1961
- }
2001
+ }, function($ctx1) {$ctx1.fill(self,"with:with:",{anObject:anObject,anObject2:anObject2}, smalltalk.Array.klass)})}
1962
2002
  }),
1963
2003
  smalltalk.Array.klass);
1964
2004
 
@@ -1968,15 +2008,15 @@ smalltalk.method({
1968
2008
  selector: "with:with:with:",
1969
2009
  fn: function (anObject,anObject2,anObject3){
1970
2010
  var self=this;
1971
- var $2,$3,$1;
1972
- $2=smalltalk.send(self,"_new_",[(3)]);
1973
- smalltalk.send($2,"_at_put_",[(1),anObject]);
1974
- smalltalk.send($2,"_at_put_",[(2),anObject2]);
1975
- smalltalk.send($2,"_at_put_",[(3),anObject3]);
1976
- $3=smalltalk.send($2,"_yourself",[]);
2011
+ return smalltalk.withContext(function($ctx1) {
2012
+ $2=_st(self)._new_((3));
2013
+ _st($2)._at_put_((1),anObject);
2014
+ _st($2)._at_put_((2),anObject2);
2015
+ _st($2)._at_put_((3),anObject3);
2016
+ $3=_st($2)._yourself();
1977
2017
  $1=$3;
1978
2018
  return $1;
1979
- }
2019
+ }, function($ctx1) {$ctx1.fill(self,"with:with:with:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3}, smalltalk.Array.klass)})}
1980
2020
  }),
1981
2021
  smalltalk.Array.klass);
1982
2022
 
@@ -1986,17 +2026,18 @@ smalltalk.method({
1986
2026
  selector: "withAll:",
1987
2027
  fn: function (aCollection){
1988
2028
  var self=this;
1989
- var instance;
1990
- var index;
2029
+ var instance,index;
2030
+ return smalltalk.withContext(function($ctx1) {
1991
2031
  index=(1);
1992
- instance=smalltalk.send(self,"_new_",[smalltalk.send(aCollection,"_size",[])]);
1993
- smalltalk.send(aCollection,"_do_",[(function(each){
1994
- smalltalk.send(instance,"_at_put_",[index,each]);
1995
- index=smalltalk.send(index,"__plus",[(1)]);
2032
+ instance=_st(self)._new_(_st(aCollection)._size());
2033
+ _st(aCollection)._do_((function(each){
2034
+ return smalltalk.withContext(function($ctx2) {
2035
+ index=_st(index).__plus((1));
1996
2036
  return index;
1997
- })]);
1998
- return instance;
1999
- }
2037
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
2038
+ $1=instance;
2039
+ return $1;
2040
+ }, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection,instance:instance,index:index}, smalltalk.Array.klass)})}
2000
2041
  }),
2001
2042
  smalltalk.Array.klass);
2002
2043
 
@@ -2008,10 +2049,10 @@ smalltalk.method({
2008
2049
  selector: ",",
2009
2050
  fn: function (aString){
2010
2051
  var self=this;
2011
- var $1;
2012
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"__comma",[smalltalk.send(aString,"_asString",[])]);
2052
+ return smalltalk.withContext(function($ctx1) {
2053
+ $1=_st(_st(self)._asString()).__comma(_st(aString)._asString());
2013
2054
  return $1;
2014
- }
2055
+ }, function($ctx1) {$ctx1.fill(self,",",{aString:aString}, smalltalk.CharacterArray)})}
2015
2056
  }),
2016
2057
  smalltalk.CharacterArray);
2017
2058
 
@@ -2021,8 +2062,8 @@ smalltalk.method({
2021
2062
  selector: "add:",
2022
2063
  fn: function (anObject){
2023
2064
  var self=this;
2024
- smalltalk.send(self,"_errorReadOnly",[]);
2025
- return self}
2065
+ return smalltalk.withContext(function($ctx1) {
2066
+ return self}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.CharacterArray)})}
2026
2067
  }),
2027
2068
  smalltalk.CharacterArray);
2028
2069
 
@@ -2032,10 +2073,10 @@ smalltalk.method({
2032
2073
  selector: "asLowercase",
2033
2074
  fn: function (){
2034
2075
  var self=this;
2035
- var $1;
2036
- $1=smalltalk.send(smalltalk.send(self,"_class",[]),"_fromString_",[smalltalk.send(smalltalk.send(self,"_asString",[]),"_asLowercase",[])]);
2076
+ return smalltalk.withContext(function($ctx1) {
2077
+ $1=_st(_st(self)._class())._fromString_(_st(_st(self)._asString())._asLowercase());
2037
2078
  return $1;
2038
- }
2079
+ }, function($ctx1) {$ctx1.fill(self,"asLowercase",{}, smalltalk.CharacterArray)})}
2039
2080
  }),
2040
2081
  smalltalk.CharacterArray);
2041
2082
 
@@ -2045,10 +2086,10 @@ smalltalk.method({
2045
2086
  selector: "asNumber",
2046
2087
  fn: function (){
2047
2088
  var self=this;
2048
- var $1;
2049
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_asNumber",[]);
2089
+ return smalltalk.withContext(function($ctx1) {
2090
+ $1=_st(_st(self)._asString())._asNumber();
2050
2091
  return $1;
2051
- }
2092
+ }, function($ctx1) {$ctx1.fill(self,"asNumber",{}, smalltalk.CharacterArray)})}
2052
2093
  }),
2053
2094
  smalltalk.CharacterArray);
2054
2095
 
@@ -2058,10 +2099,10 @@ smalltalk.method({
2058
2099
  selector: "asString",
2059
2100
  fn: function (){
2060
2101
  var self=this;
2061
- var $1;
2062
- $1=smalltalk.send(self,"_subclassResponsibility",[]);
2102
+ return smalltalk.withContext(function($ctx1) {
2103
+ $1=_st(self)._subclassResponsibility();
2063
2104
  return $1;
2064
- }
2105
+ }, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.CharacterArray)})}
2065
2106
  }),
2066
2107
  smalltalk.CharacterArray);
2067
2108
 
@@ -2071,10 +2112,10 @@ smalltalk.method({
2071
2112
  selector: "asSymbol",
2072
2113
  fn: function (){
2073
2114
  var self=this;
2074
- var $1;
2075
- $1=smalltalk.send(self,"_subclassResponsibility",[]);
2115
+ return smalltalk.withContext(function($ctx1) {
2116
+ $1=_st(self)._subclassResponsibility();
2076
2117
  return $1;
2077
- }
2118
+ }, function($ctx1) {$ctx1.fill(self,"asSymbol",{}, smalltalk.CharacterArray)})}
2078
2119
  }),
2079
2120
  smalltalk.CharacterArray);
2080
2121
 
@@ -2084,10 +2125,10 @@ smalltalk.method({
2084
2125
  selector: "asUppercase",
2085
2126
  fn: function (){
2086
2127
  var self=this;
2087
- var $1;
2088
- $1=smalltalk.send(smalltalk.send(self,"_class",[]),"_fromString_",[smalltalk.send(smalltalk.send(self,"_asString",[]),"_asUppercase",[])]);
2128
+ return smalltalk.withContext(function($ctx1) {
2129
+ $1=_st(_st(self)._class())._fromString_(_st(_st(self)._asString())._asUppercase());
2089
2130
  return $1;
2090
- }
2131
+ }, function($ctx1) {$ctx1.fill(self,"asUppercase",{}, smalltalk.CharacterArray)})}
2091
2132
  }),
2092
2133
  smalltalk.CharacterArray);
2093
2134
 
@@ -2097,8 +2138,8 @@ smalltalk.method({
2097
2138
  selector: "at:put:",
2098
2139
  fn: function (anIndex,anObject){
2099
2140
  var self=this;
2100
- smalltalk.send(self,"_errorReadOnly",[]);
2101
- return self}
2141
+ return smalltalk.withContext(function($ctx1) {
2142
+ return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{anIndex:anIndex,anObject:anObject}, smalltalk.CharacterArray)})}
2102
2143
  }),
2103
2144
  smalltalk.CharacterArray);
2104
2145
 
@@ -2108,8 +2149,8 @@ smalltalk.method({
2108
2149
  selector: "errorReadOnly",
2109
2150
  fn: function (){
2110
2151
  var self=this;
2111
- smalltalk.send(self,"_error_",["Object is read-only"]);
2112
- return self}
2152
+ return smalltalk.withContext(function($ctx1) {
2153
+ return self}, function($ctx1) {$ctx1.fill(self,"errorReadOnly",{}, smalltalk.CharacterArray)})}
2113
2154
  }),
2114
2155
  smalltalk.CharacterArray);
2115
2156
 
@@ -2119,10 +2160,10 @@ smalltalk.method({
2119
2160
  selector: "printString",
2120
2161
  fn: function (){
2121
2162
  var self=this;
2122
- var $1;
2123
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_printString",[]);
2163
+ return smalltalk.withContext(function($ctx1) {
2164
+ $1=_st(_st(self)._asString())._printString();
2124
2165
  return $1;
2125
- }
2166
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.CharacterArray)})}
2126
2167
  }),
2127
2168
  smalltalk.CharacterArray);
2128
2169
 
@@ -2132,8 +2173,8 @@ smalltalk.method({
2132
2173
  selector: "remove:",
2133
2174
  fn: function (anObject){
2134
2175
  var self=this;
2135
- smalltalk.send(self,"_errorReadOnly",[]);
2136
- return self}
2176
+ return smalltalk.withContext(function($ctx1) {
2177
+ return self}, function($ctx1) {$ctx1.fill(self,"remove:",{anObject:anObject}, smalltalk.CharacterArray)})}
2137
2178
  }),
2138
2179
  smalltalk.CharacterArray);
2139
2180
 
@@ -2144,8 +2185,8 @@ smalltalk.method({
2144
2185
  selector: "fromString:",
2145
2186
  fn: function (aString){
2146
2187
  var self=this;
2147
- smalltalk.send(self,"_subclassResponsibility",[]);
2148
- return self}
2188
+ return smalltalk.withContext(function($ctx1) {
2189
+ return self}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.CharacterArray.klass)})}
2149
2190
  }),
2150
2191
  smalltalk.CharacterArray.klass);
2151
2192
 
@@ -2157,9 +2198,8 @@ smalltalk.method({
2157
2198
  selector: ",",
2158
2199
  fn: function (aString){
2159
2200
  var self=this;
2160
- return self + aString;
2161
- ;
2162
- return self}
2201
+ return smalltalk.withContext(function($ctx1) {
2202
+ return self}, function($ctx1) {$ctx1.fill(self,",",{aString:aString}, smalltalk.String)})}
2163
2203
  }),
2164
2204
  smalltalk.String);
2165
2205
 
@@ -2169,9 +2209,8 @@ smalltalk.method({
2169
2209
  selector: "<",
2170
2210
  fn: function (aString){
2171
2211
  var self=this;
2172
- return String(self) < aString._asString();
2173
- ;
2174
- return self}
2212
+ return smalltalk.withContext(function($ctx1) {
2213
+ return self}, function($ctx1) {$ctx1.fill(self,"<",{aString:aString}, smalltalk.String)})}
2175
2214
  }),
2176
2215
  smalltalk.String);
2177
2216
 
@@ -2181,9 +2220,8 @@ smalltalk.method({
2181
2220
  selector: "<=",
2182
2221
  fn: function (aString){
2183
2222
  var self=this;
2184
- return String(self) <= aString._asString();
2185
- ;
2186
- return self}
2223
+ return smalltalk.withContext(function($ctx1) {
2224
+ return self}, function($ctx1) {$ctx1.fill(self,"<=",{aString:aString}, smalltalk.String)})}
2187
2225
  }),
2188
2226
  smalltalk.String);
2189
2227
 
@@ -2193,14 +2231,13 @@ smalltalk.method({
2193
2231
  selector: "=",
2194
2232
  fn: function (aString){
2195
2233
  var self=this;
2196
- var $1;
2197
- $1=smalltalk.send(smalltalk.send(aString,"_class",[]),"__eq",[smalltalk.send(self,"_class",[])]);
2198
- if(! smalltalk.assert($1)){
2199
- return false;
2200
- };
2201
- return String(self) === String(aString);
2202
- ;
2203
- return self}
2234
+ return smalltalk.withContext(function($ctx1) {
2235
+ if(! aString._isString || ! aString._isString()) {
2236
+ return false;
2237
+ }
2238
+ return String(self) === String(aString)
2239
+ ;
2240
+ return self}, function($ctx1) {$ctx1.fill(self,"=",{aString:aString}, smalltalk.String)})}
2204
2241
  }),
2205
2242
  smalltalk.String);
2206
2243
 
@@ -2210,10 +2247,10 @@ smalltalk.method({
2210
2247
  selector: "==",
2211
2248
  fn: function (aString){
2212
2249
  var self=this;
2213
- var $1;
2214
- $1=smalltalk.send(self,"__eq",[aString]);
2250
+ return smalltalk.withContext(function($ctx1) {
2251
+ $1=_st(self).__eq(aString);
2215
2252
  return $1;
2216
- }
2253
+ }, function($ctx1) {$ctx1.fill(self,"==",{aString:aString}, smalltalk.String)})}
2217
2254
  }),
2218
2255
  smalltalk.String);
2219
2256
 
@@ -2223,9 +2260,8 @@ smalltalk.method({
2223
2260
  selector: ">",
2224
2261
  fn: function (aString){
2225
2262
  var self=this;
2226
- return String(self) > aString._asString();
2227
- ;
2228
- return self}
2263
+ return smalltalk.withContext(function($ctx1) {
2264
+ return self}, function($ctx1) {$ctx1.fill(self,">",{aString:aString}, smalltalk.String)})}
2229
2265
  }),
2230
2266
  smalltalk.String);
2231
2267
 
@@ -2235,9 +2271,8 @@ smalltalk.method({
2235
2271
  selector: ">=",
2236
2272
  fn: function (aString){
2237
2273
  var self=this;
2238
- return String(self) >= aString._asString();
2239
- ;
2240
- return self}
2274
+ return smalltalk.withContext(function($ctx1) {
2275
+ return self}, function($ctx1) {$ctx1.fill(self,">=",{aString:aString}, smalltalk.String)})}
2241
2276
  }),
2242
2277
  smalltalk.String);
2243
2278
 
@@ -2247,8 +2282,10 @@ smalltalk.method({
2247
2282
  selector: "asJSON",
2248
2283
  fn: function (){
2249
2284
  var self=this;
2250
- return self;
2251
- }
2285
+ return smalltalk.withContext(function($ctx1) {
2286
+ $1=self;
2287
+ return $1;
2288
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.String)})}
2252
2289
  }),
2253
2290
  smalltalk.String);
2254
2291
 
@@ -2258,10 +2295,10 @@ smalltalk.method({
2258
2295
  selector: "asJavaScriptSelector",
2259
2296
  fn: function (){
2260
2297
  var self=this;
2261
- var $1;
2262
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_asSelector",[]),"_replace_with_",["^_",""]),"_replace_with_",["_.*",""]);
2298
+ return smalltalk.withContext(function($ctx1) {
2299
+ $1=_st(_st(_st(self)._asSelector())._replace_with_("^_",""))._replace_with_("_.*","");
2263
2300
  return $1;
2264
- }
2301
+ }, function($ctx1) {$ctx1.fill(self,"asJavaScriptSelector",{}, smalltalk.String)})}
2265
2302
  }),
2266
2303
  smalltalk.String);
2267
2304
 
@@ -2271,14 +2308,13 @@ smalltalk.method({
2271
2308
  selector: "asJavascript",
2272
2309
  fn: function (){
2273
2310
  var self=this;
2274
-
2311
+ return smalltalk.withContext(function($ctx1) {
2275
2312
  if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)
2276
2313
  return "\"" + self.replace(/[\x00-\x1f"\\\x7f-\x9f]/g, function(ch){var c=ch.charCodeAt(0);return "\\x"+("0"+c.toString(16)).slice(-2)}) + "\"";
2277
2314
  else
2278
2315
  return "\"" + self + "\"";
2279
2316
  ;
2280
- ;
2281
- return self}
2317
+ return self}, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.String)})}
2282
2318
  }),
2283
2319
  smalltalk.String);
2284
2320
 
@@ -2288,9 +2324,8 @@ smalltalk.method({
2288
2324
  selector: "asLowercase",
2289
2325
  fn: function (){
2290
2326
  var self=this;
2291
- return self.toLowerCase();
2292
- ;
2293
- return self}
2327
+ return smalltalk.withContext(function($ctx1) {
2328
+ return self}, function($ctx1) {$ctx1.fill(self,"asLowercase",{}, smalltalk.String)})}
2294
2329
  }),
2295
2330
  smalltalk.String);
2296
2331
 
@@ -2300,9 +2335,21 @@ smalltalk.method({
2300
2335
  selector: "asNumber",
2301
2336
  fn: function (){
2302
2337
  var self=this;
2303
- return Number(self);
2304
- ;
2305
- return self}
2338
+ return smalltalk.withContext(function($ctx1) {
2339
+ return self}, function($ctx1) {$ctx1.fill(self,"asNumber",{}, smalltalk.String)})}
2340
+ }),
2341
+ smalltalk.String);
2342
+
2343
+ smalltalk.addMethod(
2344
+ "_asRegexp",
2345
+ smalltalk.method({
2346
+ selector: "asRegexp",
2347
+ fn: function (){
2348
+ var self=this;
2349
+ return smalltalk.withContext(function($ctx1) {
2350
+ $1=_st((smalltalk.RegularExpression || RegularExpression))._fromString_(self);
2351
+ return $1;
2352
+ }, function($ctx1) {$ctx1.fill(self,"asRegexp",{}, smalltalk.String)})}
2306
2353
  }),
2307
2354
  smalltalk.String);
2308
2355
 
@@ -2312,20 +2359,8 @@ smalltalk.method({
2312
2359
  selector: "asSelector",
2313
2360
  fn: function (){
2314
2361
  var self=this;
2315
- var selector;
2316
- selector=smalltalk.send("_","__comma",[self]);
2317
- selector=smalltalk.send(selector,"_replace_with_",[":","_"]);
2318
- selector=smalltalk.send(selector,"_replace_with_",["[+]","_plus"]);
2319
- selector=smalltalk.send(selector,"_replace_with_",["-","_minus"]);
2320
- selector=smalltalk.send(selector,"_replace_with_",["[*]","_star"]);
2321
- selector=smalltalk.send(selector,"_replace_with_",["[/]","_slash"]);
2322
- selector=smalltalk.send(selector,"_replace_with_",[">","_gt"]);
2323
- selector=smalltalk.send(selector,"_replace_with_",["<","_lt"]);
2324
- selector=smalltalk.send(selector,"_replace_with_",["=","_eq"]);
2325
- selector=smalltalk.send(selector,"_replace_with_",[",","_comma"]);
2326
- selector=smalltalk.send(selector,"_replace_with_",["[@]","_at"]);
2327
- return selector;
2328
- }
2362
+ return smalltalk.withContext(function($ctx1) {
2363
+ return self}, function($ctx1) {$ctx1.fill(self,"asSelector",{}, smalltalk.String)})}
2329
2364
  }),
2330
2365
  smalltalk.String);
2331
2366
 
@@ -2335,8 +2370,10 @@ smalltalk.method({
2335
2370
  selector: "asString",
2336
2371
  fn: function (){
2337
2372
  var self=this;
2338
- return self;
2339
- }
2373
+ return smalltalk.withContext(function($ctx1) {
2374
+ $1=self;
2375
+ return $1;
2376
+ }, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.String)})}
2340
2377
  }),
2341
2378
  smalltalk.String);
2342
2379
 
@@ -2346,10 +2383,10 @@ smalltalk.method({
2346
2383
  selector: "asSymbol",
2347
2384
  fn: function (){
2348
2385
  var self=this;
2349
- var $1;
2350
- $1=smalltalk.send((smalltalk.Symbol || Symbol),"_lookup_",[self]);
2386
+ return smalltalk.withContext(function($ctx1) {
2387
+ $1=_st((smalltalk.Symbol || Symbol))._lookup_(self);
2351
2388
  return $1;
2352
- }
2389
+ }, function($ctx1) {$ctx1.fill(self,"asSymbol",{}, smalltalk.String)})}
2353
2390
  }),
2354
2391
  smalltalk.String);
2355
2392
 
@@ -2359,9 +2396,8 @@ smalltalk.method({
2359
2396
  selector: "asUppercase",
2360
2397
  fn: function (){
2361
2398
  var self=this;
2362
- return self.toUpperCase();
2363
- ;
2364
- return self}
2399
+ return smalltalk.withContext(function($ctx1) {
2400
+ return self}, function($ctx1) {$ctx1.fill(self,"asUppercase",{}, smalltalk.String)})}
2365
2401
  }),
2366
2402
  smalltalk.String);
2367
2403
 
@@ -2371,9 +2407,8 @@ smalltalk.method({
2371
2407
  selector: "asciiValue",
2372
2408
  fn: function (){
2373
2409
  var self=this;
2374
- return self.charCodeAt(0);;
2375
- ;
2376
- return self}
2410
+ return smalltalk.withContext(function($ctx1) {
2411
+ return self}, function($ctx1) {$ctx1.fill(self,"asciiValue",{}, smalltalk.String)})}
2377
2412
  }),
2378
2413
  smalltalk.String);
2379
2414
 
@@ -2383,9 +2418,8 @@ smalltalk.method({
2383
2418
  selector: "at:ifAbsent:",
2384
2419
  fn: function (anIndex,aBlock){
2385
2420
  var self=this;
2386
- return String(self).charAt(anIndex - 1) || aBlock();
2387
- ;
2388
- return self}
2421
+ return smalltalk.withContext(function($ctx1) {
2422
+ return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock}, smalltalk.String)})}
2389
2423
  }),
2390
2424
  smalltalk.String);
2391
2425
 
@@ -2395,9 +2429,8 @@ smalltalk.method({
2395
2429
  selector: "copyFrom:to:",
2396
2430
  fn: function (anIndex,anotherIndex){
2397
2431
  var self=this;
2398
- return self.substring(anIndex - 1, anotherIndex);
2399
- ;
2400
- return self}
2432
+ return smalltalk.withContext(function($ctx1) {
2433
+ return self}, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex}, smalltalk.String)})}
2401
2434
  }),
2402
2435
  smalltalk.String);
2403
2436
 
@@ -2407,10 +2440,10 @@ smalltalk.method({
2407
2440
  selector: "deepCopy",
2408
2441
  fn: function (){
2409
2442
  var self=this;
2410
- var $1;
2411
- $1=smalltalk.send(self,"_shallowCopy",[]);
2443
+ return smalltalk.withContext(function($ctx1) {
2444
+ $1=_st(self)._shallowCopy();
2412
2445
  return $1;
2413
- }
2446
+ }, function($ctx1) {$ctx1.fill(self,"deepCopy",{}, smalltalk.String)})}
2414
2447
  }),
2415
2448
  smalltalk.String);
2416
2449
 
@@ -2420,9 +2453,8 @@ smalltalk.method({
2420
2453
  selector: "do:",
2421
2454
  fn: function (aBlock){
2422
2455
  var self=this;
2423
- for(var i=0;i<self.length;i++){aBlock(self.charAt(i));};
2424
- ;
2425
- return self}
2456
+ return smalltalk.withContext(function($ctx1) {
2457
+ return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.String)})}
2426
2458
  }),
2427
2459
  smalltalk.String);
2428
2460
 
@@ -2432,9 +2464,8 @@ smalltalk.method({
2432
2464
  selector: "escaped",
2433
2465
  fn: function (){
2434
2466
  var self=this;
2435
- return escape(self);
2436
- ;
2437
- return self}
2467
+ return smalltalk.withContext(function($ctx1) {
2468
+ return self}, function($ctx1) {$ctx1.fill(self,"escaped",{}, smalltalk.String)})}
2438
2469
  }),
2439
2470
  smalltalk.String);
2440
2471
 
@@ -2444,9 +2475,8 @@ smalltalk.method({
2444
2475
  selector: "includesSubString:",
2445
2476
  fn: function (subString){
2446
2477
  var self=this;
2447
- return self.indexOf(subString) != -1 ;
2448
- ;
2449
- return self}
2478
+ return smalltalk.withContext(function($ctx1) {
2450
2479
  return self.indexOf(subString) != -1 ;
2480
+ return self}, function($ctx1) {$ctx1.fill(self,"includesSubString:",{subString:subString}, smalltalk.String)})}
2451
2481
  }),
2452
2482
  smalltalk.String);
2453
2483
 
@@ -2456,8 +2486,8 @@ smalltalk.method({
2456
2486
  selector: "isString",
2457
2487
  fn: function (){
2458
2488
  var self=this;
2459
- return true;
2460
- }
2489
+ return smalltalk.withContext(function($ctx1) {
2490
+ }, function($ctx1) {$ctx1.fill(self,"isString",{}, smalltalk.String)})}
2461
2491
  }),
2462
2492
  smalltalk.String);
2463
2493
 
@@ -2467,16 +2497,16 @@ smalltalk.method({
2467
2497
  selector: "join:",
2468
2498
  fn: function (aCollection){
2469
2499
  var self=this;
2470
- var $1;
2471
- $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(stream){
2472
- return smalltalk.send(aCollection,"_do_separatedBy_",[(function(each){
2473
- return smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(each,"_asString",[])]);
2474
- }),(function(){
2475
- return smalltalk.send(stream,"_nextPutAll_",[self]);
2476
- })]);
2477
- })]);
2500
+ return smalltalk.withContext(function($ctx1) {
2501
+ $1=_st((smalltalk.String || String))._streamContents_((function(stream){
2502
+ return smalltalk.withContext(function($ctx2) {
2503
+ return smalltalk.withContext(function($ctx3) {
2504
+ }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
2505
+ return smalltalk.withContext(function($ctx3) {
2506
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
2507
+ }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
2478
2508
  return $1;
2479
- }
2509
+ }, function($ctx1) {$ctx1.fill(self,"join:",{aCollection:aCollection}, smalltalk.String)})}
2480
2510
  }),
2481
2511
  smalltalk.String);
2482
2512
 
@@ -2486,64 +2516,64 @@ smalltalk.method({
2486
2516
  selector: "lineIndicesDo:",
2487
2517
  fn: function (aBlock){
2488
2518
  var self=this;
2489
- var $1,$2,$3;
2519
+ var cr,lf,start,sz,nextLF,nextCR;
2520
+ return smalltalk.withContext(function($ctx1) {
2490
2521
  var $early={};
2491
2522
  try {
2492
- var cr;
2493
- var lf;
2494
- var start;
2495
- var sz;
2496
- var nextLF;
2497
- var nextCR;
2498
2523
  start=(1);
2499
- sz=smalltalk.send(self,"_size",[]);
2500
- cr=smalltalk.send((smalltalk.String || String),"_cr",[]);
2501
- nextCR=smalltalk.send(self,"_indexOf_startingAt_",[cr,(1)]);
2502
- lf=smalltalk.send((smalltalk.String || String),"_lf",[]);
2503
- nextLF=smalltalk.send(self,"_indexOf_startingAt_",[lf,(1)]);
2504
- smalltalk.send((function(){
2505
- return smalltalk.send(start,"__lt_eq",[sz]);
2506
- }),"_whileTrue_",[(function(){
2507
- $1=smalltalk.send(smalltalk.send(nextLF,"__eq",[(0)]),"_and_",[(function(){
2508
- return smalltalk.send(nextCR,"__eq",[(0)]);
2509
- })]);
2510
- if(smalltalk.assert($1)){
2511
- smalltalk.send(aBlock,"_value_value_value_",[start,sz,sz]);
2512
- throw $early=[self];
2524
+ sz=_st(self)._size();
2525
+ cr=_st((smalltalk.String || String))._cr();
2526
+ nextCR=_st(self)._indexOf_startingAt_(cr,(1));
2527
+ lf=_st((smalltalk.String || String))._lf();
2528
+ nextLF=_st(self)._indexOf_startingAt_(lf,(1));
2529
+ $1=(function(){
2530
+ return smalltalk.withContext(function($ctx2) {
2531
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
2532
+ $2=(function(){
2533
+ return smalltalk.withContext(function($ctx2) {
2534
+ return smalltalk.withContext(function($ctx3) {
2535
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
2536
+ if(smalltalk.assert($3)){
2537
+ _st(aBlock)._value_value_value_(start,sz,sz);
2538
+ $4=self;
2539
+ throw $early=[$4];
2513
2540
  };
2514
- $2=smalltalk.send(smalltalk.send(nextCR,"__eq",[(0)]),"_or_",[(function(){
2515
- return smalltalk.send(smalltalk.send((0),"__lt",[nextLF]),"_and_",[(function(){
2516
- return smalltalk.send(nextLF,"__lt",[nextCR]);
2517
- })]);
2518
- })]);
2519
- if(smalltalk.assert($2)){
2520
- smalltalk.send(aBlock,"_value_value_value_",[start,smalltalk.send(nextLF,"__minus",[(1)]),nextLF]);
2521
- start=smalltalk.send((1),"__plus",[nextLF]);
2541
+ $5=_st(_st(nextCR).__eq((0)))._or_((function(){
2542
+ return smalltalk.withContext(function($ctx3) {
2543
+ return smalltalk.withContext(function($ctx4) {
2544
+ }, function($ctx4) {$ctx4.fillBlock({},$ctx1)})}));
2545
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
2546
+ $6=(function(){
2547
+ return smalltalk.withContext(function($ctx3) {
2548
+ start=_st((1)).__plus(nextLF);
2522
2549
  start;
2523
- nextLF=smalltalk.send(self,"_indexOf_startingAt_",[lf,start]);
2550
+ nextLF=_st(self)._indexOf_startingAt_(lf,start);
2524
2551
  return nextLF;
2525
- } else {
2526
- $3=smalltalk.send(smalltalk.send((1),"__plus",[nextCR]),"__eq",[nextLF]);
2527
- if(smalltalk.assert($3)){
2528
- smalltalk.send(aBlock,"_value_value_value_",[start,smalltalk.send(nextCR,"__minus",[(1)]),nextLF]);
2529
- start=smalltalk.send((1),"__plus",[nextLF]);
2552
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
2553
+ $7=(function(){
2554
+ return smalltalk.withContext(function($ctx3) {
2555
+ if(smalltalk.assert($8)){
2556
+ _st(aBlock)._value_value_value_(start,_st(nextCR).__minus((1)),nextLF);
2557
+ start=_st((1)).__plus(nextLF);
2530
2558
  start;
2531
- nextCR=smalltalk.send(self,"_indexOf_startingAt_",[cr,start]);
2559
+ nextCR=_st(self)._indexOf_startingAt_(cr,start);
2532
2560
  nextCR;
2533
- nextLF=smalltalk.send(self,"_indexOf_startingAt_",[lf,start]);
2561
+ nextLF=_st(self)._indexOf_startingAt_(lf,start);
2534
2562
  return nextLF;
2535
2563
  } else {
2536
- smalltalk.send(aBlock,"_value_value_value_",[start,smalltalk.send(nextCR,"__minus",[(1)]),nextCR]);
2537
- start=smalltalk.send((1),"__plus",[nextCR]);
2564
+ _st(aBlock)._value_value_value_(start,_st(nextCR).__minus((1)),nextCR);
2565
+ start=_st((1)).__plus(nextCR);
2538
2566
  start;
2539
- nextCR=smalltalk.send(self,"_indexOf_startingAt_",[cr,start]);
2567
+ nextCR=_st(self)._indexOf_startingAt_(cr,start);
2540
2568
  return nextCR;
2541
2569
  };
2542
- };
2543
- })]);
2570
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
2571
+ return _st($5)._ifTrue_ifFalse_($6,$7);
2572
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
2573
+ _st($1)._whileTrue_($2);
2544
2574
  return self}
2545
2575
  catch(e) {if(e===$early)return e[0]; throw e}
2546
- }
2576
+ }, function($ctx1) {$ctx1.fill(self,"lineIndicesDo:",{aBlock:aBlock,cr:cr,lf:lf,start:start,sz:sz,nextLF:nextLF,nextCR:nextCR}, smalltalk.String)})}
2547
2577
  }),
2548
2578
  smalltalk.String);
2549
2579
 
@@ -2553,23 +2583,25 @@ smalltalk.method({
2553
2583
  selector: "lineNumber:",
2554
2584
  fn: function (anIndex){
2555
2585
  var self=this;
2556
- var $1,$2;
2586
+ var lineCount;
2587
+ return smalltalk.withContext(function($ctx1) {
2557
2588
  var $early={};
2558
2589
  try {
2559
- var lineCount;
2560
2590
  lineCount=(0);
2561
- smalltalk.send(self,"_lineIndicesDo_",[(function(start,endWithoutDelimiters,end){
2562
- lineCount=smalltalk.send(lineCount,"__plus",[(1)]);
2563
- $1=smalltalk.send(lineCount,"__eq",[anIndex]);
2564
- if(smalltalk.assert($1)){
2565
- $2=smalltalk.send(self,"_copyFrom_to_",[start,endWithoutDelimiters]);
2566
- throw $early=[$2];
2591
+ $1=self;
2592
+ $2=(function(start,endWithoutDelimiters,end){
2593
+ return smalltalk.withContext(function($ctx2) {
2594
+ $3=_st(lineCount).__eq(anIndex);
2595
+ if(smalltalk.assert($3)){
2596
+ $4=_st(self)._copyFrom_to_(start,endWithoutDelimiters);
2597
+ throw $early=[$4];
2567
2598
  };
2568
- })]);
2599
+ }, function($ctx2) {$ctx2.fillBlock({start:start,endWithoutDelimiters:endWithoutDelimiters,end:end},$ctx1)})});
2600
+ _st($1)._lineIndicesDo_($2);
2569
2601
  return nil;
2570
2602
  }
2571
2603
  catch(e) {if(e===$early)return e[0]; throw e}
2572
- }
2604
+ }, function($ctx1) {$ctx1.fill(self,"lineNumber:",{anIndex:anIndex,lineCount:lineCount}, smalltalk.String)})}
2573
2605
  }),
2574
2606
  smalltalk.String);
2575
2607
 
@@ -2580,12 +2612,14 @@ selector: "lines",
2580
2612
  fn: function (){
2581
2613
  var self=this;
2582
2614
  var lines;
2583
- lines=smalltalk.send((smalltalk.Array || Array),"_new",[]);
2584
- smalltalk.send(self,"_linesDo_",[(function(aLine){
2585
- return smalltalk.send(lines,"_add_",[aLine]);
2586
- })]);
2587
- return lines;
2588
- }
2615
+ return smalltalk.withContext(function($ctx1) {
2616
+ lines=_st((smalltalk.Array || Array))._new();
2617
+ _st(self)._linesDo_((function(aLine){
2618
+ return smalltalk.withContext(function($ctx2) {
2619
+ }, function($ctx2) {$ctx2.fillBlock({aLine:aLine},$ctx1)})}));
2620
+ $1=lines;
2621
+ return $1;
2622
+ }, function($ctx1) {$ctx1.fill(self,"lines",{lines:lines}, smalltalk.String)})}
2589
2623
  }),
2590
2624
  smalltalk.String);
2591
2625
 
@@ -2595,10 +2629,10 @@ smalltalk.method({
2595
2629
  selector: "linesDo:",
2596
2630
  fn: function (aBlock){
2597
2631
  var self=this;
2598
- smalltalk.send(self,"_lineIndicesDo_",[(function(start,endWithoutDelimiters,end){
2599
- return smalltalk.send(aBlock,"_value_",[smalltalk.send(self,"_copyFrom_to_",[start,endWithoutDelimiters])]);
2600
- })]);
2601
- return self}
2632
+ return smalltalk.withContext(function($ctx1) {
2633
+ return smalltalk.withContext(function($ctx2) {
2634
+ }, function($ctx2) {$ctx2.fillBlock({start:start,endWithoutDelimiters:endWithoutDelimiters,end:end},$ctx1)})}));
2635
+ return self}, function($ctx1) {$ctx1.fill(self,"linesDo:",{aBlock:aBlock}, smalltalk.String)})}
2602
2636
  }),
2603
2637
  smalltalk.String);
2604
2638
 
@@ -2608,9 +2642,8 @@ smalltalk.method({
2608
2642
  selector: "match:",
2609
2643
  fn: function (aRegexp){
2610
2644
  var self=this;
2611
- return self.search(aRegexp) != -1;
2612
- ;
2613
- return self}
2645
+ return smalltalk.withContext(function($ctx1) {
2646
+ return self}, function($ctx1) {$ctx1.fill(self,"match:",{aRegexp:aRegexp}, smalltalk.String)})}
2614
2647
  }),
2615
2648
  smalltalk.String);
2616
2649
 
@@ -2620,9 +2653,8 @@ smalltalk.method({
2620
2653
  selector: "matchesOf:",
2621
2654
  fn: function (aRegularExpression){
2622
2655
  var self=this;
2623
- return self.match(aRegularExpression);
2624
- ;
2625
- return self}
2656
+ return smalltalk.withContext(function($ctx1) {
2657
+ return self}, function($ctx1) {$ctx1.fill(self,"matchesOf:",{aRegularExpression:aRegularExpression}, smalltalk.String)})}
2626
2658
  }),
2627
2659
  smalltalk.String);
2628
2660
 
@@ -2632,9 +2664,8 @@ smalltalk.method({
2632
2664
  selector: "printNl",
2633
2665
  fn: function (){
2634
2666
  var self=this;
2635
- console.log(self);
2636
- ;
2637
- return self}
2667
+ return smalltalk.withContext(function($ctx1) {
2668
+ return self}, function($ctx1) {$ctx1.fill(self,"printNl",{}, smalltalk.String)})}
2638
2669
  }),
2639
2670
  smalltalk.String);
2640
2671
 
@@ -2644,10 +2675,10 @@ smalltalk.method({
2644
2675
  selector: "printString",
2645
2676
  fn: function (){
2646
2677
  var self=this;
2647
- var $1;
2648
- $1=smalltalk.send(smalltalk.send("'","__comma",[self]),"__comma",["'"]);
2678
+ return smalltalk.withContext(function($ctx1) {
2679
+ $1=_st(_st("'").__comma(self)).__comma("'");
2649
2680
  return $1;
2650
- }
2681
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.String)})}
2651
2682
  }),
2652
2683
  smalltalk.String);
2653
2684
 
@@ -2657,10 +2688,10 @@ smalltalk.method({
2657
2688
  selector: "replace:with:",
2658
2689
  fn: function (aString,anotherString){
2659
2690
  var self=this;
2660
- var $1;
2661
- $1=smalltalk.send(self,"_replaceRegexp_with_",[smalltalk.send((smalltalk.RegularExpression || RegularExpression),"_fromString_flag_",[aString,"g"]),anotherString]);
2691
+ return smalltalk.withContext(function($ctx1) {
2692
+ $1=_st(self)._replaceRegexp_with_(_st((smalltalk.RegularExpression || RegularExpression))._fromString_flag_(aString,"g"),anotherString);
2662
2693
  return $1;
2663
- }
2694
+ }, function($ctx1) {$ctx1.fill(self,"replace:with:",{aString:aString,anotherString:anotherString}, smalltalk.String)})}
2664
2695
  }),
2665
2696
  smalltalk.String);
2666
2697
 
@@ -2670,9 +2701,8 @@ smalltalk.method({
2670
2701
  selector: "replaceRegexp:with:",
2671
2702
  fn: function (aRegexp,aString){
2672
2703
  var self=this;
2673
- return self.replace(aRegexp, aString);
2674
- ;
2675
- return self}
2704
+ return smalltalk.withContext(function($ctx1) {
2705
+ return self}, function($ctx1) {$ctx1.fill(self,"replaceRegexp:with:",{aRegexp:aRegexp,aString:aString}, smalltalk.String)})}
2676
2706
  }),
2677
2707
  smalltalk.String);
2678
2708
 
@@ -2682,9 +2712,8 @@ smalltalk.method({
2682
2712
  selector: "reversed",
2683
2713
  fn: function (){
2684
2714
  var self=this;
2685
- return self.split("").reverse().join("");
2686
- ;
2687
- return self}
2715
+ return smalltalk.withContext(function($ctx1) {
2716
+ return self}, function($ctx1) {$ctx1.fill(self,"reversed",{}, smalltalk.String)})}
2688
2717
  }),
2689
2718
  smalltalk.String);
2690
2719
 
@@ -2694,10 +2723,10 @@ smalltalk.method({
2694
2723
  selector: "shallowCopy",
2695
2724
  fn: function (){
2696
2725
  var self=this;
2697
- var $1;
2698
- $1=smalltalk.send(smalltalk.send(self,"_class",[]),"_fromString_",[self]);
2726
+ return smalltalk.withContext(function($ctx1) {
2727
+ $1=_st(_st(self)._class())._fromString_(self);
2699
2728
  return $1;
2700
- }
2729
+ }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{}, smalltalk.String)})}
2701
2730
  }),
2702
2731
  smalltalk.String);
2703
2732
 
@@ -2707,9 +2736,8 @@ smalltalk.method({
2707
2736
  selector: "size",
2708
2737
  fn: function (){
2709
2738
  var self=this;
2710
- return self.length;
2711
- ;
2712
- return self}
2739
+ return smalltalk.withContext(function($ctx1) {
2740
+ return self}, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.String)})}
2713
2741
  }),
2714
2742
  smalltalk.String);
2715
2743
 
@@ -2719,9 +2747,8 @@ smalltalk.method({
2719
2747
  selector: "tokenize:",
2720
2748
  fn: function (aString){
2721
2749
  var self=this;
2722
- return self.split(aString);
2723
- ;
2724
- return self}
2750
+ return smalltalk.withContext(function($ctx1) {
2751
+ return self}, function($ctx1) {$ctx1.fill(self,"tokenize:",{aString:aString}, smalltalk.String)})}
2725
2752
  }),
2726
2753
  smalltalk.String);
2727
2754
 
@@ -2731,10 +2758,10 @@ smalltalk.method({
2731
2758
  selector: "trimBoth",
2732
2759
  fn: function (){
2733
2760
  var self=this;
2734
- var $1;
2735
- $1=smalltalk.send(self,"_trimBoth_",["\x5cs"]);
2761
+ return smalltalk.withContext(function($ctx1) {
2762
+ $1=_st(self)._trimBoth_("\x5cs");
2736
2763
  return $1;
2737
- }
2764
+ }, function($ctx1) {$ctx1.fill(self,"trimBoth",{}, smalltalk.String)})}
2738
2765
  }),
2739
2766
  smalltalk.String);
2740
2767
 
@@ -2744,10 +2771,10 @@ smalltalk.method({
2744
2771
  selector: "trimBoth:",
2745
2772
  fn: function (separators){
2746
2773
  var self=this;
2747
- var $1;
2748
- $1=smalltalk.send(smalltalk.send(self,"_trimLeft_",[separators]),"_trimRight_",[separators]);
2774
+ return smalltalk.withContext(function($ctx1) {
2775
+ $1=_st(_st(self)._trimLeft_(separators))._trimRight_(separators);
2749
2776
  return $1;
2750
- }
2777
+ }, function($ctx1) {$ctx1.fill(self,"trimBoth:",{separators:separators}, smalltalk.String)})}
2751
2778
  }),
2752
2779
  smalltalk.String);
2753
2780
 
@@ -2757,10 +2784,10 @@ smalltalk.method({
2757
2784
  selector: "trimLeft",
2758
2785
  fn: function (){
2759
2786
  var self=this;
2760
- var $1;
2761
- $1=smalltalk.send(self,"_trimLeft_",["\x5cs"]);
2787
+ return smalltalk.withContext(function($ctx1) {
2788
+ $1=_st(self)._trimLeft_("\x5cs");
2762
2789
  return $1;
2763
- }
2790
+ }, function($ctx1) {$ctx1.fill(self,"trimLeft",{}, smalltalk.String)})}
2764
2791
  }),
2765
2792
  smalltalk.String);
2766
2793
 
@@ -2770,10 +2797,10 @@ smalltalk.method({
2770
2797
  selector: "trimLeft:",
2771
2798
  fn: function (separators){
2772
2799
  var self=this;
2773
- var $1;
2774
- $1=smalltalk.send(self,"_replaceRegexp_with_",[smalltalk.send((smalltalk.RegularExpression || RegularExpression),"_fromString_flag_",[smalltalk.send(smalltalk.send("^[","__comma",[separators]),"__comma",["]+"]),"g"]),""]);
2800
+ return smalltalk.withContext(function($ctx1) {
2801
+ $1=_st(self)._replaceRegexp_with_(_st((smalltalk.RegularExpression || RegularExpression))._fromString_flag_(_st(_st("^[").__comma(separators)).__comma("]+"),"g"),"");
2775
2802
  return $1;
2776
- }
2803
+ }, function($ctx1) {$ctx1.fill(self,"trimLeft:",{separators:separators}, smalltalk.String)})}
2777
2804
  }),
2778
2805
  smalltalk.String);
2779
2806
 
@@ -2783,10 +2810,10 @@ smalltalk.method({
2783
2810
  selector: "trimRight",
2784
2811
  fn: function (){
2785
2812
  var self=this;
2786
- var $1;
2787
- $1=smalltalk.send(self,"_trimRight_",["\x5cs"]);
2813
+ return smalltalk.withContext(function($ctx1) {
2814
+ $1=_st(self)._trimRight_("\x5cs");
2788
2815
  return $1;
2789
- }
2816
+ }, function($ctx1) {$ctx1.fill(self,"trimRight",{}, smalltalk.String)})}
2790
2817
  }),
2791
2818
  smalltalk.String);
2792
2819
 
@@ -2796,10 +2823,10 @@ smalltalk.method({
2796
2823
  selector: "trimRight:",
2797
2824
  fn: function (separators){
2798
2825
  var self=this;
2799
- var $1;
2800
- $1=smalltalk.send(self,"_replaceRegexp_with_",[smalltalk.send((smalltalk.RegularExpression || RegularExpression),"_fromString_flag_",[smalltalk.send(smalltalk.send("[","__comma",[separators]),"__comma",["]+$"]),"g"]),""]);
2826
+ return smalltalk.withContext(function($ctx1) {
2827
+ $1=_st(self)._replaceRegexp_with_(_st((smalltalk.RegularExpression || RegularExpression))._fromString_flag_(_st(_st("[").__comma(separators)).__comma("]+$"),"g"),"");
2801
2828
  return $1;
2802
- }
2829
+ }, function($ctx1) {$ctx1.fill(self,"trimRight:",{separators:separators}, smalltalk.String)})}
2803
2830
  }),
2804
2831
  smalltalk.String);
2805
2832
 
@@ -2809,9 +2836,8 @@ smalltalk.method({
2809
2836
  selector: "unescaped",
2810
2837
  fn: function (){
2811
2838
  var self=this;
2812
- return unescape(self);
2813
- ;
2814
- return self}
2839
+ return smalltalk.withContext(function($ctx1) {
2840
+ return self}, function($ctx1) {$ctx1.fill(self,"unescaped",{}, smalltalk.String)})}
2815
2841
  }),
2816
2842
  smalltalk.String);
2817
2843
 
@@ -2821,9 +2847,8 @@ smalltalk.method({
2821
2847
  selector: "withIndexDo:",
2822
2848
  fn: function (aBlock){
2823
2849
  var self=this;
2824
- for(var i=0;i<self.length;i++){aBlock(self.charAt(i), i+1);};
2825
- ;
2826
- return self}
2850
+ return smalltalk.withContext(function($ctx1) {
2851
+ return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock}, smalltalk.String)})}
2827
2852
  }),
2828
2853
  smalltalk.String);
2829
2854
 
@@ -2834,9 +2859,8 @@ smalltalk.method({
2834
2859
  selector: "cr",
2835
2860
  fn: function (){
2836
2861
  var self=this;
2837
- return '\r';
2838
- ;
2839
- return self}
2862
+ return smalltalk.withContext(function($ctx1) {
2863
+ return self}, function($ctx1) {$ctx1.fill(self,"cr",{}, smalltalk.String.klass)})}
2840
2864
  }),
2841
2865
  smalltalk.String.klass);
2842
2866
 
@@ -2846,9 +2870,8 @@ smalltalk.method({
2846
2870
  selector: "crlf",
2847
2871
  fn: function (){
2848
2872
  var self=this;
2849
- return '\r\n';
2850
- ;
2851
- return self}
2873
+ return smalltalk.withContext(function($ctx1) {
2874
+ return self}, function($ctx1) {$ctx1.fill(self,"crlf",{}, smalltalk.String.klass)})}
2852
2875
  }),
2853
2876
  smalltalk.String.klass);
2854
2877
 
@@ -2858,9 +2881,8 @@ smalltalk.method({
2858
2881
  selector: "fromCharCode:",
2859
2882
  fn: function (anInteger){
2860
2883
  var self=this;
2861
- return String.fromCharCode(anInteger);
2862
- ;
2863
- return self}
2884
+ return smalltalk.withContext(function($ctx1) {
2885
+ return self}, function($ctx1) {$ctx1.fill(self,"fromCharCode:",{anInteger:anInteger}, smalltalk.String.klass)})}
2864
2886
  }),
2865
2887
  smalltalk.String.klass);
2866
2888
 
@@ -2870,9 +2892,8 @@ smalltalk.method({
2870
2892
  selector: "fromString:",
2871
2893
  fn: function (aString){
2872
2894
  var self=this;
2873
- return new self.fn(aString);
2874
- ;
2875
- return self}
2895
+ return smalltalk.withContext(function($ctx1) {
2896
+ return self}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.String.klass)})}
2876
2897
  }),
2877
2898
  smalltalk.String.klass);
2878
2899
 
@@ -2882,9 +2903,8 @@ smalltalk.method({
2882
2903
  selector: "lf",
2883
2904
  fn: function (){
2884
2905
  var self=this;
2885
- return '\n';
2886
- ;
2887
- return self}
2906
+ return smalltalk.withContext(function($ctx1) {
2907
+ return self}, function($ctx1) {$ctx1.fill(self,"lf",{}, smalltalk.String.klass)})}
2888
2908
  }),
2889
2909
  smalltalk.String.klass);
2890
2910
 
@@ -2894,9 +2914,8 @@ smalltalk.method({
2894
2914
  selector: "space",
2895
2915
  fn: function (){
2896
2916
  var self=this;
2897
- return ' ';
2898
- ;
2899
- return self}
2917
+ return smalltalk.withContext(function($ctx1) {
2918
+ return self}, function($ctx1) {$ctx1.fill(self,"space",{}, smalltalk.String.klass)})}
2900
2919
  }),
2901
2920
  smalltalk.String.klass);
2902
2921
 
@@ -2906,8 +2925,10 @@ smalltalk.method({
2906
2925
  selector: "streamClass",
2907
2926
  fn: function (){
2908
2927
  var self=this;
2909
- return (smalltalk.StringStream || StringStream);
2910
- }
2928
+ return smalltalk.withContext(function($ctx1) {
2929
+ $1=(smalltalk.StringStream || StringStream);
2930
+ return $1;
2931
+ }, function($ctx1) {$ctx1.fill(self,"streamClass",{}, smalltalk.String.klass)})}
2911
2932
  }),
2912
2933
  smalltalk.String.klass);
2913
2934
 
@@ -2917,13 +2938,13 @@ smalltalk.method({
2917
2938
  selector: "streamContents:",
2918
2939
  fn: function (blockWithArg){
2919
2940
  var self=this;
2920
- var $1;
2921
2941
  var stream;
2922
- stream=smalltalk.send(smalltalk.send(self,"_streamClass",[]),"_on_",[smalltalk.send((smalltalk.String || String),"_new",[])]);
2923
- smalltalk.send(blockWithArg,"_value_",[stream]);
2924
- $1=smalltalk.send(stream,"_contents",[]);
2942
+ return smalltalk.withContext(function($ctx1) {
2943
+ stream=_st(_st(self)._streamClass())._on_(_st((smalltalk.String || String))._new());
2944
+ _st(blockWithArg)._value_(stream);
2945
+ $1=_st(stream)._contents();
2925
2946
  return $1;
2926
- }
2947
+ }, function($ctx1) {$ctx1.fill(self,"streamContents:",{blockWithArg:blockWithArg,stream:stream}, smalltalk.String.klass)})}
2927
2948
  }),
2928
2949
  smalltalk.String.klass);
2929
2950
 
@@ -2933,9 +2954,8 @@ smalltalk.method({
2933
2954
  selector: "tab",
2934
2955
  fn: function (){
2935
2956
  var self=this;
2936
- return '\t';
2937
- ;
2938
- return self}
2957
+ return smalltalk.withContext(function($ctx1) {
2958
+ return self}, function($ctx1) {$ctx1.fill(self,"tab",{}, smalltalk.String.klass)})}
2939
2959
  }),
2940
2960
  smalltalk.String.klass);
2941
2961
 
@@ -2945,9 +2965,8 @@ smalltalk.method({
2945
2965
  selector: "value:",
2946
2966
  fn: function (aUTFCharCode){
2947
2967
  var self=this;
2948
- return String.fromCharCode(aUTFCharCode);;
2949
- ;
2950
- return self}
2968
+ return smalltalk.withContext(function($ctx1) {
2969
+ return self}, function($ctx1) {$ctx1.fill(self,"value:",{aUTFCharCode:aUTFCharCode}, smalltalk.String.klass)})}
2951
2970
  }),
2952
2971
  smalltalk.String.klass);
2953
2972
 
@@ -2959,10 +2978,10 @@ smalltalk.method({
2959
2978
  selector: "<",
2960
2979
  fn: function (aSymbol){
2961
2980
  var self=this;
2962
- var $1;
2963
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"__lt",[smalltalk.send(aSymbol,"_asString",[])]);
2981
+ return smalltalk.withContext(function($ctx1) {
2982
+ $1=_st(_st(self)._asString()).__lt(_st(aSymbol)._asString());
2964
2983
  return $1;
2965
- }
2984
+ }, function($ctx1) {$ctx1.fill(self,"<",{aSymbol:aSymbol}, smalltalk.Symbol)})}
2966
2985
  }),
2967
2986
  smalltalk.Symbol);
2968
2987
 
@@ -2972,10 +2991,10 @@ smalltalk.method({
2972
2991
  selector: "<=",
2973
2992
  fn: function (aSymbol){
2974
2993
  var self=this;
2975
- var $1;
2976
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"__lt_eq",[smalltalk.send(aSymbol,"_asString",[])]);
2994
+ return smalltalk.withContext(function($ctx1) {
2995
+ $1=_st(_st(self)._asString()).__lt_eq(_st(aSymbol)._asString());
2977
2996
  return $1;
2978
- }
2997
+ }, function($ctx1) {$ctx1.fill(self,"<=",{aSymbol:aSymbol}, smalltalk.Symbol)})}
2979
2998
  }),
2980
2999
  smalltalk.Symbol);
2981
3000
 
@@ -2985,14 +3004,14 @@ smalltalk.method({
2985
3004
  selector: "=",
2986
3005
  fn: function (aSymbol){
2987
3006
  var self=this;
2988
- var $1,$2;
2989
- $1=smalltalk.send(smalltalk.send(aSymbol,"_class",[]),"__eq",[smalltalk.send(self,"_class",[])]);
3007
+ return smalltalk.withContext(function($ctx1) {
3008
+ $1=_st(_st(aSymbol)._class()).__eq(_st(self)._class());
2990
3009
  if(! smalltalk.assert($1)){
2991
3010
  return false;
2992
3011
  };
2993
- $2=smalltalk.send(smalltalk.send(self,"_asString",[]),"__eq",[smalltalk.send(aSymbol,"_asString",[])]);
3012
+ $2=_st(_st(self)._asString()).__eq(_st(aSymbol)._asString());
2994
3013
  return $2;
2995
- }
3014
+ }, function($ctx1) {$ctx1.fill(self,"=",{aSymbol:aSymbol}, smalltalk.Symbol)})}
2996
3015
  }),
2997
3016
  smalltalk.Symbol);
2998
3017
 
@@ -3002,10 +3021,10 @@ smalltalk.method({
3002
3021
  selector: ">",
3003
3022
  fn: function (aSymbol){
3004
3023
  var self=this;
3005
- var $1;
3006
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"__gt",[smalltalk.send(aSymbol,"_asString",[])]);
3024
+ return smalltalk.withContext(function($ctx1) {
3025
+ $1=_st(_st(self)._asString()).__gt(_st(aSymbol)._asString());
3007
3026
  return $1;
3008
- }
3027
+ }, function($ctx1) {$ctx1.fill(self,">",{aSymbol:aSymbol}, smalltalk.Symbol)})}
3009
3028
  }),
3010
3029
  smalltalk.Symbol);
3011
3030
 
@@ -3015,10 +3034,10 @@ smalltalk.method({
3015
3034
  selector: ">=",
3016
3035
  fn: function (aSymbol){
3017
3036
  var self=this;
3018
- var $1;
3019
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"__gt_eq",[smalltalk.send(aSymbol,"_asString",[])]);
3037
+ return smalltalk.withContext(function($ctx1) {
3038
+ $1=_st(_st(self)._asString()).__gt_eq(_st(aSymbol)._asString());
3020
3039
  return $1;
3021
- }
3040
+ }, function($ctx1) {$ctx1.fill(self,">=",{aSymbol:aSymbol}, smalltalk.Symbol)})}
3022
3041
  }),
3023
3042
  smalltalk.Symbol);
3024
3043
 
@@ -3028,10 +3047,10 @@ smalltalk.method({
3028
3047
  selector: "asJSON",
3029
3048
  fn: function (){
3030
3049
  var self=this;
3031
- var $1;
3032
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_asJSON",[]);
3050
+ return smalltalk.withContext(function($ctx1) {
3051
+ $1=_st(_st(self)._asString())._asJSON();
3033
3052
  return $1;
3034
- }
3053
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.Symbol)})}
3035
3054
  }),
3036
3055
  smalltalk.Symbol);
3037
3056
 
@@ -3041,10 +3060,10 @@ smalltalk.method({
3041
3060
  selector: "asJavascript",
3042
3061
  fn: function (){
3043
3062
  var self=this;
3044
- var $1;
3045
- $1=smalltalk.send(smalltalk.send("smalltalk.symbolFor(\x22","__comma",[smalltalk.send(self,"_asString",[])]),"__comma",["\x22)"]);
3063
+ return smalltalk.withContext(function($ctx1) {
3064
+ $1=_st(_st("smalltalk.symbolFor(\x22").__comma(_st(self)._asString())).__comma("\x22)");
3046
3065
  return $1;
3047
- }
3066
+ }, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Symbol)})}
3048
3067
  }),
3049
3068
  smalltalk.Symbol);
3050
3069
 
@@ -3054,10 +3073,10 @@ smalltalk.method({
3054
3073
  selector: "asSelector",
3055
3074
  fn: function (){
3056
3075
  var self=this;
3057
- var $1;
3058
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_asSelector",[]);
3076
+ return smalltalk.withContext(function($ctx1) {
3077
+ $1=_st(_st(self)._asString())._asSelector();
3059
3078
  return $1;
3060
- }
3079
+ }, function($ctx1) {$ctx1.fill(self,"asSelector",{}, smalltalk.Symbol)})}
3061
3080
  }),
3062
3081
  smalltalk.Symbol);
3063
3082
 
@@ -3067,9 +3086,21 @@ smalltalk.method({
3067
3086
  selector: "asString",
3068
3087
  fn: function (){
3069
3088
  var self=this;
3070
- return self.value;
3071
- ;
3072
- return self}
3089
+ return smalltalk.withContext(function($ctx1) {
3090
+ return self}, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.Symbol)})}
3091
+ }),
3092
+ smalltalk.Symbol);
3093
+
3094
+ smalltalk.addMethod(
3095
+ "_asSuperSelector",
3096
+ smalltalk.method({
3097
+ selector: "asSuperSelector",
3098
+ fn: function (){
3099
+ var self=this;
3100
+ return smalltalk.withContext(function($ctx1) {
3101
+ $1=_st(_st(self)._asString())._asSuperSelector();
3102
+ return $1;
3103
+ }, function($ctx1) {$ctx1.fill(self,"asSuperSelector",{}, smalltalk.Symbol)})}
3073
3104
  }),
3074
3105
  smalltalk.Symbol);
3075
3106
 
@@ -3079,8 +3110,10 @@ smalltalk.method({
3079
3110
  selector: "asSymbol",
3080
3111
  fn: function (){
3081
3112
  var self=this;
3082
- return self;
3083
- }
3113
+ return smalltalk.withContext(function($ctx1) {
3114
+ $1=self;
3115
+ return $1;
3116
+ }, function($ctx1) {$ctx1.fill(self,"asSymbol",{}, smalltalk.Symbol)})}
3084
3117
  }),
3085
3118
  smalltalk.Symbol);
3086
3119
 
@@ -3090,10 +3123,10 @@ smalltalk.method({
3090
3123
  selector: "at:ifAbsent:",
3091
3124
  fn: function (anIndex,aBlock){
3092
3125
  var self=this;
3093
- var $1;
3094
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_at_ifAbsent_",[anIndex,aBlock]);
3126
+ return smalltalk.withContext(function($ctx1) {
3127
+ $1=_st(_st(self)._asString())._at_ifAbsent_(anIndex,aBlock);
3095
3128
  return $1;
3096
- }
3129
+ }, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock}, smalltalk.Symbol)})}
3097
3130
  }),
3098
3131
  smalltalk.Symbol);
3099
3132
 
@@ -3103,10 +3136,10 @@ smalltalk.method({
3103
3136
  selector: "collect:",
3104
3137
  fn: function (aBlock){
3105
3138
  var self=this;
3106
- var $1;
3107
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_asString",[]),"_collect_",[aBlock]),"_asSymbol",[]);
3139
+ return smalltalk.withContext(function($ctx1) {
3140
+ $1=_st(_st(_st(self)._asString())._collect_(aBlock))._asSymbol();
3108
3141
  return $1;
3109
- }
3142
+ }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock}, smalltalk.Symbol)})}
3110
3143
  }),
3111
3144
  smalltalk.Symbol);
3112
3145
 
@@ -3116,10 +3149,10 @@ smalltalk.method({
3116
3149
  selector: "copyFrom:to:",
3117
3150
  fn: function (anIndex,anotherIndex){
3118
3151
  var self=this;
3119
- var $1;
3120
- $1=smalltalk.send(smalltalk.send(self,"_class",[]),"_fromString_",[smalltalk.send(smalltalk.send(self,"_asString",[]),"_copyFrom_to_",[anIndex,anotherIndex])]);
3152
+ return smalltalk.withContext(function($ctx1) {
3153
+ $1=_st(_st(self)._class())._fromString_(_st(_st(self)._asString())._copyFrom_to_(anIndex,anotherIndex));
3121
3154
  return $1;
3122
- }
3155
+ }, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex}, smalltalk.Symbol)})}
3123
3156
  }),
3124
3157
  smalltalk.Symbol);
3125
3158
 
@@ -3129,8 +3162,10 @@ smalltalk.method({
3129
3162
  selector: "deepCopy",
3130
3163
  fn: function (){
3131
3164
  var self=this;
3132
- return self;
3133
- }
3165
+ return smalltalk.withContext(function($ctx1) {
3166
+ $1=self;
3167
+ return $1;
3168
+ }, function($ctx1) {$ctx1.fill(self,"deepCopy",{}, smalltalk.Symbol)})}
3134
3169
  }),
3135
3170
  smalltalk.Symbol);
3136
3171
 
@@ -3140,10 +3175,10 @@ smalltalk.method({
3140
3175
  selector: "detect:",
3141
3176
  fn: function (aBlock){
3142
3177
  var self=this;
3143
- var $1;
3144
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_detect_",[aBlock]);
3178
+ return smalltalk.withContext(function($ctx1) {
3179
+ $1=_st(_st(self)._asString())._detect_(aBlock);
3145
3180
  return $1;
3146
- }
3181
+ }, function($ctx1) {$ctx1.fill(self,"detect:",{aBlock:aBlock}, smalltalk.Symbol)})}
3147
3182
  }),
3148
3183
  smalltalk.Symbol);
3149
3184
 
@@ -3153,8 +3188,8 @@ smalltalk.method({
3153
3188
  selector: "do:",
3154
3189
  fn: function (aBlock){
3155
3190
  var self=this;
3156
- smalltalk.send(smalltalk.send(self,"_asString",[]),"_do_",[aBlock]);
3157
- return self}
3191
+ return smalltalk.withContext(function($ctx1) {
3192
+ return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.Symbol)})}
3158
3193
  }),
3159
3194
  smalltalk.Symbol);
3160
3195
 
@@ -3164,8 +3199,8 @@ smalltalk.method({
3164
3199
  selector: "isSymbol",
3165
3200
  fn: function (){
3166
3201
  var self=this;
3167
- return true;
3168
- }
3202
+ return smalltalk.withContext(function($ctx1) {
3203
+ }, function($ctx1) {$ctx1.fill(self,"isSymbol",{}, smalltalk.Symbol)})}
3169
3204
  }),
3170
3205
  smalltalk.Symbol);
3171
3206
 
@@ -3175,10 +3210,10 @@ smalltalk.method({
3175
3210
  selector: "printString",
3176
3211
  fn: function (){
3177
3212
  var self=this;
3178
- var $1;
3179
- $1=smalltalk.send("#","__comma",[smalltalk.send(self,"_asString",[])]);
3213
+ return smalltalk.withContext(function($ctx1) {
3214
+ $1=_st("#").__comma(_st(self)._asString());
3180
3215
  return $1;
3181
- }
3216
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Symbol)})}
3182
3217
  }),
3183
3218
  smalltalk.Symbol);
3184
3219
 
@@ -3188,10 +3223,10 @@ smalltalk.method({
3188
3223
  selector: "select:",
3189
3224
  fn: function (aBlock){
3190
3225
  var self=this;
3191
- var $1;
3192
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_asString",[]),"_select_",[aBlock]),"_asSymbol",[]);
3226
+ return smalltalk.withContext(function($ctx1) {
3227
+ $1=_st(_st(_st(self)._asString())._select_(aBlock))._asSymbol();
3193
3228
  return $1;
3194
- }
3229
+ }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock}, smalltalk.Symbol)})}
3195
3230
  }),
3196
3231
  smalltalk.Symbol);
3197
3232
 
@@ -3201,8 +3236,10 @@ smalltalk.method({
3201
3236
  selector: "shallowCopy",
3202
3237
  fn: function (){
3203
3238
  var self=this;
3204
- return self;
3205
- }
3239
+ return smalltalk.withContext(function($ctx1) {
3240
+ $1=self;
3241
+ return $1;
3242
+ }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{}, smalltalk.Symbol)})}
3206
3243
  }),
3207
3244
  smalltalk.Symbol);
3208
3245
 
@@ -3212,10 +3249,10 @@ smalltalk.method({
3212
3249
  selector: "size",
3213
3250
  fn: function (){
3214
3251
  var self=this;
3215
- var $1;
3216
- $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_size",[]);
3252
+ return smalltalk.withContext(function($ctx1) {
3253
+ $1=_st(_st(self)._asString())._size();
3217
3254
  return $1;
3218
- }
3255
+ }, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Symbol)})}
3219
3256
  }),
3220
3257
  smalltalk.Symbol);
3221
3258
 
@@ -3225,10 +3262,10 @@ smalltalk.method({
3225
3262
  selector: "value:",
3226
3263
  fn: function (anObject){
3227
3264
  var self=this;
3228
- var $1;
3229
- $1=smalltalk.send(anObject,"_perform_",[self]);
3265
+ return smalltalk.withContext(function($ctx1) {
3266
+ $1=_st(anObject)._perform_(self);
3230
3267
  return $1;
3231
- }
3268
+ }, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject}, smalltalk.Symbol)})}
3232
3269
  }),
3233
3270
  smalltalk.Symbol);
3234
3271
 
@@ -3238,8 +3275,8 @@ smalltalk.method({
3238
3275
  selector: "withIndexDo:",
3239
3276
  fn: function (aBlock){
3240
3277
  var self=this;
3241
- smalltalk.send(smalltalk.send(self,"_asString",[]),"_withIndexDo_",[aBlock]);
3242
- return self}
3278
+ return smalltalk.withContext(function($ctx1) {
3279
+ return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock}, smalltalk.Symbol)})}
3243
3280
  }),
3244
3281
  smalltalk.Symbol);
3245
3282
 
@@ -3250,8 +3287,8 @@ smalltalk.method({
3250
3287
  selector: "basicNew",
3251
3288
  fn: function (){
3252
3289
  var self=this;
3253
- smalltalk.send(self,"_shouldNotImplement",[]);
3254
- return self}
3290
+ return smalltalk.withContext(function($ctx1) {
3291
+ return self}, function($ctx1) {$ctx1.fill(self,"basicNew",{}, smalltalk.Symbol.klass)})}
3255
3292
  }),
3256
3293
  smalltalk.Symbol.klass);
3257
3294
 
@@ -3261,10 +3298,10 @@ smalltalk.method({
3261
3298
  selector: "fromString:",
3262
3299
  fn: function (aString){
3263
3300
  var self=this;
3264
- var $1;
3265
- $1=smalltalk.send(self,"_lookup_",[aString]);
3301
+ return smalltalk.withContext(function($ctx1) {
3302
+ $1=_st(self)._lookup_(aString);
3266
3303
  return $1;
3267
- }
3304
+ }, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.Symbol.klass)})}
3268
3305
  }),
3269
3306
  smalltalk.Symbol.klass);
3270
3307
 
@@ -3274,9 +3311,8 @@ smalltalk.method({
3274
3311
  selector: "lookup:",
3275
3312
  fn: function (aString){
3276
3313
  var self=this;
3277
- return smalltalk.symbolFor(aString);;
3278
- ;
3279
- return self}
3314
+ return smalltalk.withContext(function($ctx1) {
3315
+ return self}, function($ctx1) {$ctx1.fill(self,"lookup:",{aString:aString}, smalltalk.Symbol.klass)})}
3280
3316
  }),
3281
3317
  smalltalk.Symbol.klass);
3282
3318
 
@@ -3288,12 +3324,12 @@ smalltalk.method({
3288
3324
  selector: "=",
3289
3325
  fn: function (aCollection){
3290
3326
  var self=this;
3291
- var $1;
3292
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_class",[]),"__eq",[smalltalk.send(aCollection,"_class",[])]),"_and_",[(function(){
3293
- return smalltalk.send(self["@elements"],"__eq",[smalltalk.send(aCollection,"_asArray",[])]);
3294
- })]);
3327
+ return smalltalk.withContext(function($ctx1) {
3328
+ $1=_st(_st(_st(self)._class()).__eq(_st(aCollection)._class()))._and_((function(){
3329
+ return smalltalk.withContext(function($ctx2) {
3330
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
3295
3331
  return $1;
3296
- }
3332
+ }, function($ctx1) {$ctx1.fill(self,"=",{aCollection:aCollection}, smalltalk.Set)})}
3297
3333
  }),
3298
3334
  smalltalk.Set);
3299
3335
 
@@ -3303,7 +3339,7 @@ smalltalk.method({
3303
3339
  selector: "add:",
3304
3340
  fn: function (anObject){
3305
3341
  var self=this;
3306
-
3342
+ return smalltalk.withContext(function($ctx1) {
3307
3343
  var found;
3308
3344
  for(var i=0; i < self['@elements'].length; i++) {
3309
3345
  if(anObject == self['@elements'][i]) {
@@ -3313,8 +3349,7 @@ var self=this;
3313
3349
  }
3314
3350
  if(!found) {self['@elements'].push(anObject)}
3315
3351
  ;
3316
- ;
3317
- return self}
3352
+ return self}, function($ctx1) {$ctx1.fill(self,"add:",{anObject:anObject}, smalltalk.Set)})}
3318
3353
  }),
3319
3354
  smalltalk.Set);
3320
3355
 
@@ -3324,10 +3359,10 @@ smalltalk.method({
3324
3359
  selector: "asArray",
3325
3360
  fn: function (){
3326
3361
  var self=this;
3327
- var $1;
3328
- $1=smalltalk.send(self["@elements"],"_copy",[]);
3362
+ return smalltalk.withContext(function($ctx1) {
3363
+ $1=_st(self["@elements"])._copy();
3329
3364
  return $1;
3330
- }
3365
+ }, function($ctx1) {$ctx1.fill(self,"asArray",{}, smalltalk.Set)})}
3331
3366
  }),
3332
3367
  smalltalk.Set);
3333
3368
 
@@ -3337,10 +3372,10 @@ smalltalk.method({
3337
3372
  selector: "detect:ifNone:",
3338
3373
  fn: function (aBlock,anotherBlock){
3339
3374
  var self=this;
3340
- var $1;
3341
- $1=smalltalk.send(self["@elements"],"_detect_ifNone_",[aBlock,anotherBlock]);
3375
+ return smalltalk.withContext(function($ctx1) {
3376
+ $1=_st(self["@elements"])._detect_ifNone_(aBlock,anotherBlock);
3342
3377
  return $1;
3343
- }
3378
+ }, function($ctx1) {$ctx1.fill(self,"detect:ifNone:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Set)})}
3344
3379
  }),
3345
3380
  smalltalk.Set);
3346
3381
 
@@ -3350,8 +3385,8 @@ smalltalk.method({
3350
3385
  selector: "do:",
3351
3386
  fn: function (aBlock){
3352
3387
  var self=this;
3353
- smalltalk.send(self["@elements"],"_do_",[aBlock]);
3354
- return self}
3388
+ return smalltalk.withContext(function($ctx1) {
3389
+ return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.Set)})}
3355
3390
  }),
3356
3391
  smalltalk.Set);
3357
3392
 
@@ -3361,10 +3396,10 @@ smalltalk.method({
3361
3396
  selector: "includes:",
3362
3397
  fn: function (anObject){
3363
3398
  var self=this;
3364
- var $1;
3365
- $1=smalltalk.send(self["@elements"],"_includes_",[anObject]);
3399
+ return smalltalk.withContext(function($ctx1) {
3400
+ $1=_st(self["@elements"])._includes_(anObject);
3366
3401
  return $1;
3367
- }
3402
+ }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject}, smalltalk.Set)})}
3368
3403
  }),
3369
3404
  smalltalk.Set);
3370
3405
 
@@ -3374,9 +3409,9 @@ smalltalk.method({
3374
3409
  selector: "initialize",
3375
3410
  fn: function (){
3376
3411
  var self=this;
3377
- smalltalk.send(self,"_initialize",[],smalltalk.Collection);
3412
+ return smalltalk.withContext(function($ctx1) {
3378
3413
  self["@elements"]=[];
3379
- return self}
3414
+ return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Set)})}
3380
3415
  }),
3381
3416
  smalltalk.Set);
3382
3417
 
@@ -3386,8 +3421,8 @@ smalltalk.method({
3386
3421
  selector: "remove:",
3387
3422
  fn: function (anObject){
3388
3423
  var self=this;
3389
- smalltalk.send(self["@elements"],"_remove_",[anObject]);
3390
- return self}
3424
+ return smalltalk.withContext(function($ctx1) {
3425
+ return self}, function($ctx1) {$ctx1.fill(self,"remove:",{anObject:anObject}, smalltalk.Set)})}
3391
3426
  }),
3392
3427
  smalltalk.Set);
3393
3428
 
@@ -3397,17 +3432,20 @@ smalltalk.method({
3397
3432
  selector: "select:",
3398
3433
  fn: function (aBlock){
3399
3434
  var self=this;
3400
- var $1;
3401
3435
  var collection;
3402
- collection=smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]);
3403
- smalltalk.send(self,"_do_",[(function(each){
3404
- $1=smalltalk.send(aBlock,"_value_",[each]);
3405
- if(smalltalk.assert($1)){
3406
- return smalltalk.send(collection,"_add_",[each]);
3436
+ return smalltalk.withContext(function($ctx1) {
3437
+ collection=_st(_st(self)._class())._new();
3438
+ $1=self;
3439
+ $2=(function(each){
3440
+ return smalltalk.withContext(function($ctx2) {
3441
+ if(smalltalk.assert($3)){
3442
+ return _st(collection)._add_(each);
3407
3443
  };
3408
- })]);
3409
- return collection;
3410
- }
3444
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
3445
+ _st($1)._do_($2);
3446
+ $4=collection;
3447
+ return $4;
3448
+ }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,collection:collection}, smalltalk.Set)})}
3411
3449
  }),
3412
3450
  smalltalk.Set);
3413
3451
 
@@ -3417,10 +3455,10 @@ smalltalk.method({
3417
3455
  selector: "size",
3418
3456
  fn: function (){
3419
3457
  var self=this;
3420
- var $1;
3421
- $1=smalltalk.send(self["@elements"],"_size",[]);
3458
+ return smalltalk.withContext(function($ctx1) {
3459
+ $1=_st(self["@elements"])._size();
3422
3460
  return $1;
3423
- }
3461
+ }, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Set)})}
3424
3462
  }),
3425
3463
  smalltalk.Set);
3426
3464
 
@@ -3433,8 +3471,8 @@ smalltalk.method({
3433
3471
  selector: "back:",
3434
3472
  fn: function (anObject){
3435
3473
  var self=this;
3436
- smalltalk.send(self["@write"],"_add_",[anObject]);
3437
- return self}
3474
+ return smalltalk.withContext(function($ctx1) {
3475
+ return self}, function($ctx1) {$ctx1.fill(self,"back:",{anObject:anObject}, smalltalk.Queue)})}
3438
3476
  }),
3439
3477
  smalltalk.Queue);
3440
3478
 
@@ -3444,12 +3482,12 @@ smalltalk.method({
3444
3482
  selector: "front",
3445
3483
  fn: function (){
3446
3484
  var self=this;
3447
- var $1;
3448
- $1=smalltalk.send(self,"_frontIfAbsent_",[(function(){
3449
- return smalltalk.send(self,"_error_",["Cannot read from empty Queue."]);
3450
- })]);
3485
+ return smalltalk.withContext(function($ctx1) {
3486
+ $1=_st(self)._frontIfAbsent_((function(){
3487
+ return smalltalk.withContext(function($ctx2) {
3488
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
3451
3489
  return $1;
3452
- }
3490
+ }, function($ctx1) {$ctx1.fill(self,"front",{}, smalltalk.Queue)})}
3453
3491
  }),
3454
3492
  smalltalk.Queue);
3455
3493
 
@@ -3459,37 +3497,42 @@ smalltalk.method({
3459
3497
  selector: "frontIfAbsent:",
3460
3498
  fn: function (aBlock){
3461
3499
  var self=this;
3462
- var $1,$2,$3;
3500
+ var result;
3501
+ return smalltalk.withContext(function($ctx1) {
3463
3502
  var $early={};
3464
3503
  try {
3465
- var result;
3466
- result=smalltalk.send(self["@read"],"_at_ifAbsent_",[self["@readIndex"],(function(){
3467
- $1=smalltalk.send(self["@write"],"_isEmpty",[]);
3468
- if(smalltalk.assert($1)){
3469
- $2=smalltalk.send(self["@readIndex"],"__gt",[(1)]);
3470
- if(smalltalk.assert($2)){
3504
+ $1=self["@read"];
3505
+ $2=self["@readIndex"];
3506
+ $3=(function(){
3507
+ return smalltalk.withContext(function($ctx2) {
3508
+ $5=(function(){
3509
+ return smalltalk.withContext(function($ctx3) {
3510
+ if(smalltalk.assert($6)){
3471
3511
  self["@read"]=[];
3472
3512
  self["@read"];
3473
3513
  self["@readIndex"]=(1);
3474
3514
  self["@readIndex"];
3475
3515
  };
3476
- $3=smalltalk.send(aBlock,"_value",[]);
3477
- throw $early=[$3];
3478
- };
3516
+ $7=_st(aBlock)._value();
3517
+ throw $early=[$7];
3518
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})});
3519
+ _st($4)._ifTrue_($5);
3479
3520
  self["@read"]=self["@write"];
3480
3521
  self["@read"];
3481
3522
  self["@readIndex"]=(1);
3482
3523
  self["@readIndex"];
3483
- self["@write"]=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_new",[]);
3524
+ self["@write"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
3484
3525
  self["@write"];
3485
- return smalltalk.send(self["@read"],"_first",[]);
3486
- })]);
3487
- smalltalk.send(self["@read"],"_at_put_",[self["@readIndex"],nil]);
3488
- self["@readIndex"]=smalltalk.send(self["@readIndex"],"__plus",[(1)]);
3489
- return result;
3526
+ return _st(self["@read"])._first();
3527
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
3528
+ result=_st($1)._at_ifAbsent_($2,$3);
3529
+ _st(self["@read"])._at_put_(self["@readIndex"],nil);
3530
+ self["@readIndex"]=_st(self["@readIndex"]).__plus((1));
3531
+ $8=result;
3532
+ return $8;
3490
3533
  }
3491
3534
  catch(e) {if(e===$early)return e[0]; throw e}
3492
- }
3535
+ }, function($ctx1) {$ctx1.fill(self,"frontIfAbsent:",{aBlock:aBlock,result:result}, smalltalk.Queue)})}
3493
3536
  }),
3494
3537
  smalltalk.Queue);
3495
3538
 
@@ -3499,10 +3542,11 @@ smalltalk.method({
3499
3542
  selector: "initialize",
3500
3543
  fn: function (){
3501
3544
  var self=this;
3502
- self["@read"]=[];
3545
+ return smalltalk.withContext(function($ctx1) {
3546
+ self["@read"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
3547
+ self["@write"]=_st((smalltalk.OrderedCollection || OrderedCollection))._new();
3503
3548
  self["@readIndex"]=(1);
3504
- self["@write"]=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_new",[]);
3505
- return self}
3549
+ return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Queue)})}
3506
3550
  }),
3507
3551
  smalltalk.Queue);
3508
3552
 
@@ -3515,9 +3559,8 @@ smalltalk.method({
3515
3559
  selector: "compile:",
3516
3560
  fn: function (aString){
3517
3561
  var self=this;
3518
- return self.compile(aString);
3519
- ;
3520
- return self}
3562
+ return smalltalk.withContext(function($ctx1) {
3563
+ return self}, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString}, smalltalk.RegularExpression)})}
3521
3564
  }),
3522
3565
  smalltalk.RegularExpression);
3523
3566
 
@@ -3527,9 +3570,8 @@ smalltalk.method({
3527
3570
  selector: "exec:",
3528
3571
  fn: function (aString){
3529
3572
  var self=this;
3530
- return self.exec(aString) || nil;
3531
- ;
3532
- return self}
3573
+ return smalltalk.withContext(function($ctx1) {
3574
+ return self}, function($ctx1) {$ctx1.fill(self,"exec:",{aString:aString}, smalltalk.RegularExpression)})}
3533
3575
  }),
3534
3576
  smalltalk.RegularExpression);
3535
3577
 
@@ -3539,9 +3581,8 @@ smalltalk.method({
3539
3581
  selector: "test:",
3540
3582
  fn: function (aString){
3541
3583
  var self=this;
3542
- return self.test(aString);
3543
- ;
3544
- return self}
3584
+ return smalltalk.withContext(function($ctx1) {
3585
+ return self}, function($ctx1) {$ctx1.fill(self,"test:",{aString:aString}, smalltalk.RegularExpression)})}
3545
3586
  }),
3546
3587
  smalltalk.RegularExpression);
3547
3588
 
@@ -3552,10 +3593,10 @@ smalltalk.method({
3552
3593
  selector: "fromString:",
3553
3594
  fn: function (aString){
3554
3595
  var self=this;
3555
- var $1;
3556
- $1=smalltalk.send(self,"_fromString_flag_",[aString,""]);
3596
+ return smalltalk.withContext(function($ctx1) {
3597
+ $1=_st(self)._fromString_flag_(aString,"");
3557
3598
  return $1;
3558
- }
3599
+ }, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.RegularExpression.klass)})}
3559
3600
  }),
3560
3601
  smalltalk.RegularExpression.klass);
3561
3602
 
@@ -3565,9 +3606,8 @@ smalltalk.method({
3565
3606
  selector: "fromString:flag:",
3566
3607
  fn: function (aString,anotherString){
3567
3608
  var self=this;
3568
- return new RegExp(aString, anotherString);
3569
- ;
3570
- return self}
3609
+ return smalltalk.withContext(function($ctx1) {
3610
+ return self}, function($ctx1) {$ctx1.fill(self,"fromString:flag:",{aString:aString,anotherString:anotherString}, smalltalk.RegularExpression.klass)})}
3571
3611
  }),
3572
3612
  smalltalk.RegularExpression.klass);
3573
3613
 
@@ -3579,10 +3619,10 @@ smalltalk.method({
3579
3619
  selector: "atEnd",
3580
3620
  fn: function (){
3581
3621
  var self=this;
3582
- var $1;
3583
- $1=smalltalk.send(smalltalk.send(self,"_position",[]),"__eq",[smalltalk.send(self,"_size",[])]);
3622
+ return smalltalk.withContext(function($ctx1) {
3623
+ $1=_st(_st(self)._position()).__eq(_st(self)._size());
3584
3624
  return $1;
3585
- }
3625
+ }, function($ctx1) {$ctx1.fill(self,"atEnd",{}, smalltalk.Stream)})}
3586
3626
  }),
3587
3627
  smalltalk.Stream);
3588
3628
 
@@ -3592,10 +3632,10 @@ smalltalk.method({
3592
3632
  selector: "atStart",
3593
3633
  fn: function (){
3594
3634
  var self=this;
3595
- var $1;
3596
- $1=smalltalk.send(smalltalk.send(self,"_position",[]),"__eq",[(0)]);
3635
+ return smalltalk.withContext(function($ctx1) {
3636
+ $1=_st(_st(self)._position()).__eq((0));
3597
3637
  return $1;
3598
- }
3638
+ }, function($ctx1) {$ctx1.fill(self,"atStart",{}, smalltalk.Stream)})}
3599
3639
  }),
3600
3640
  smalltalk.Stream);
3601
3641
 
@@ -3605,7 +3645,7 @@ smalltalk.method({
3605
3645
  selector: "close",
3606
3646
  fn: function (){
3607
3647
  var self=this;
3608
- return self}
3648
+ return smalltalk.withContext(function($ctx1) {
3609
3649
  }),
3610
3650
  smalltalk.Stream);
3611
3651
 
@@ -3615,8 +3655,10 @@ smalltalk.method({
3615
3655
  selector: "collection",
3616
3656
  fn: function (){
3617
3657
  var self=this;
3618
- return self["@collection"];
3619
- }
3658
+ return smalltalk.withContext(function($ctx1) {
3659
+ $1=self["@collection"];
3660
+ return $1;
3661
+ }, function($ctx1) {$ctx1.fill(self,"collection",{}, smalltalk.Stream)})}
3620
3662
  }),
3621
3663
  smalltalk.Stream);
3622
3664
 
@@ -3626,10 +3668,10 @@ smalltalk.method({
3626
3668
  selector: "contents",
3627
3669
  fn: function (){
3628
3670
  var self=this;
3629
- var $1;
3630
- $1=smalltalk.send(smalltalk.send(self,"_collection",[]),"_copyFrom_to_",[(1),smalltalk.send(self,"_streamSize",[])]);
3671
+ return smalltalk.withContext(function($ctx1) {
3672
+ $1=_st(_st(self)._collection())._copyFrom_to_((1),_st(self)._streamSize());
3631
3673
  return $1;
3632
- }
3674
+ }, function($ctx1) {$ctx1.fill(self,"contents",{}, smalltalk.Stream)})}
3633
3675
  }),
3634
3676
  smalltalk.Stream);
3635
3677
 
@@ -3639,12 +3681,12 @@ smalltalk.method({
3639
3681
  selector: "do:",
3640
3682
  fn: function (aBlock){
3641
3683
  var self=this;
3642
- smalltalk.send((function(){
3643
- return smalltalk.send(self,"_atEnd",[]);
3644
- }),"_whileFalse_",[(function(){
3645
- return smalltalk.send(aBlock,"_value_",[smalltalk.send(self,"_next",[])]);
3646
- })]);
3647
- return self}
3684
+ return smalltalk.withContext(function($ctx1) {
3685
+ return smalltalk.withContext(function($ctx2) {
3686
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
3687
+ return smalltalk.withContext(function($ctx2) {
3688
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
3689
+ return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock}, smalltalk.Stream)})}
3648
3690
  }),
3649
3691
  smalltalk.Stream);
3650
3692
 
@@ -3654,7 +3696,7 @@ smalltalk.method({
3654
3696
  selector: "flush",
3655
3697
  fn: function (){
3656
3698
  var self=this;
3657
- return self}
3699
+ return smalltalk.withContext(function($ctx1) {
3658
3700
  }),
3659
3701
  smalltalk.Stream);
3660
3702
 
@@ -3664,10 +3706,10 @@ smalltalk.method({
3664
3706
  selector: "isEmpty",
3665
3707
  fn: function (){
3666
3708
  var self=this;
3667
- var $1;
3668
- $1=smalltalk.send(smalltalk.send(self,"_size",[]),"__eq",[(0)]);
3709
+ return smalltalk.withContext(function($ctx1) {
3710
+ $1=_st(_st(self)._size()).__eq((0));
3669
3711
  return $1;
3670
- }
3712
+ }, function($ctx1) {$ctx1.fill(self,"isEmpty",{}, smalltalk.Stream)})}
3671
3713
  }),
3672
3714
  smalltalk.Stream);
3673
3715
 
@@ -3677,16 +3719,16 @@ smalltalk.method({
3677
3719
  selector: "next",
3678
3720
  fn: function (){
3679
3721
  var self=this;
3680
- var $2,$1;
3681
- $2=smalltalk.send(self,"_atEnd",[]);
3722
+ return smalltalk.withContext(function($ctx1) {
3723
+ $2=_st(self)._atEnd();
3682
3724
  if(smalltalk.assert($2)){
3683
3725
  $1=nil;
3684
3726
  } else {
3685
- smalltalk.send(self,"_position_",[smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[(1)])]);
3686
- $1=smalltalk.send(self["@collection"],"_at_",[smalltalk.send(self,"_position",[])]);
3727
+ _st(self)._position_(_st(_st(self)._position()).__plus((1)));
3728
+ $1=_st(self["@collection"])._at_(_st(self)._position());
3687
3729
  };
3688
3730
  return $1;
3689
- }
3731
+ }, function($ctx1) {$ctx1.fill(self,"next",{}, smalltalk.Stream)})}
3690
3732
  }),
3691
3733
  smalltalk.Stream);
3692
3734
 
@@ -3696,17 +3738,20 @@ smalltalk.method({
3696
3738
  selector: "next:",
3697
3739
  fn: function (anInteger){
3698
3740
  var self=this;
3699
- var $1;
3700
3741
  var tempCollection;
3701
- tempCollection=smalltalk.send(smalltalk.send(smalltalk.send(self,"_collection",[]),"_class",[]),"_new",[]);
3702
- smalltalk.send(anInteger,"_timesRepeat_",[(function(){
3703
- $1=smalltalk.send(self,"_atEnd",[]);
3704
- if(! smalltalk.assert($1)){
3705
- return smalltalk.send(tempCollection,"_add_",[smalltalk.send(self,"_next",[])]);
3742
+ return smalltalk.withContext(function($ctx1) {
3743
+ tempCollection=_st(_st(_st(self)._collection())._class())._new();
3744
+ $1=anInteger;
3745
+ $2=(function(){
3746
+ return smalltalk.withContext(function($ctx2) {
3747
+ if(! smalltalk.assert($3)){
3748
+ return _st(tempCollection)._add_(_st(self)._next());
3706
3749
  };
3707
- })]);
3708
- return tempCollection;
3709
- }
3750
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
3751
+ _st($1)._timesRepeat_($2);
3752
+ $4=tempCollection;
3753
+ return $4;
3754
+ }, function($ctx1) {$ctx1.fill(self,"next:",{anInteger:anInteger,tempCollection:tempCollection}, smalltalk.Stream)})}
3710
3755
  }),
3711
3756
  smalltalk.Stream);
3712
3757
 
@@ -3716,10 +3761,10 @@ smalltalk.method({
3716
3761
  selector: "nextPut:",
3717
3762
  fn: function (anObject){
3718
3763
  var self=this;
3719
- smalltalk.send(self,"_position_",[smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[(1)])]);
3720
- smalltalk.send(smalltalk.send(self,"_collection",[]),"_at_put_",[smalltalk.send(self,"_position",[]),anObject]);
3721
- smalltalk.send(self,"_setStreamSize_",[smalltalk.send(smalltalk.send(self,"_streamSize",[]),"_max_",[smalltalk.send(self,"_position",[])])]);
3722
- return self}
3764
+ return smalltalk.withContext(function($ctx1) {
3765
+ _st(_st(self)._collection())._at_put_(_st(self)._position(),anObject);
3766
+ _st(self)._setStreamSize_(_st(_st(self)._streamSize())._max_(_st(self)._position()));
3767
+ return self}, function($ctx1) {$ctx1.fill(self,"nextPut:",{anObject:anObject}, smalltalk.Stream)})}
3723
3768
  }),
3724
3769
  smalltalk.Stream);
3725
3770
 
@@ -3729,10 +3774,10 @@ smalltalk.method({
3729
3774
  selector: "nextPutAll:",
3730
3775
  fn: function (aCollection){
3731
3776
  var self=this;
3732
- smalltalk.send(aCollection,"_do_",[(function(each){
3733
- return smalltalk.send(self,"_nextPut_",[each]);
3734
- })]);
3735
- return self}
3777
+ return smalltalk.withContext(function($ctx1) {
3778
+ return smalltalk.withContext(function($ctx2) {
3779
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
3780
+ return self}, function($ctx1) {$ctx1.fill(self,"nextPutAll:",{aCollection:aCollection}, smalltalk.Stream)})}
3736
3781
  }),
3737
3782
  smalltalk.Stream);
3738
3783
 
@@ -3742,13 +3787,13 @@ smalltalk.method({
3742
3787
  selector: "peek",
3743
3788
  fn: function (){
3744
3789
  var self=this;
3745
- var $2,$1;
3746
- $2=smalltalk.send(self,"_atEnd",[]);
3790
+ return smalltalk.withContext(function($ctx1) {
3791
+ $2=_st(self)._atEnd();
3747
3792
  if(! smalltalk.assert($2)){
3748
- $1=smalltalk.send(smalltalk.send(self,"_collection",[]),"_at_",[smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[(1)])]);
3793
+ $1=_st(_st(self)._collection())._at_(_st(_st(self)._position()).__plus((1)));
3749
3794
  };
3750
3795
  return $1;
3751
- }
3796
+ }, function($ctx1) {$ctx1.fill(self,"peek",{}, smalltalk.Stream)})}
3752
3797
  }),
3753
3798
  smalltalk.Stream);
3754
3799
 
@@ -3758,15 +3803,16 @@ smalltalk.method({
3758
3803
  selector: "position",
3759
3804
  fn: function (){
3760
3805
  var self=this;
3761
- var $1;
3762
- if(($receiver = self["@position"]) == nil || $receiver == undefined){
3806
+ return smalltalk.withContext(function($ctx1) {
3807
+ $2=self["@position"];
3808
+ if(($receiver = $2) == nil || $receiver == undefined){
3763
3809
  self["@position"]=(0);
3764
3810
  $1=self["@position"];
3765
3811
  } else {
3766
- $1=self["@position"];
3812
+ $1=$2;
3767
3813
  };
3768
3814
  return $1;
3769
- }
3815
+ }, function($ctx1) {$ctx1.fill(self,"position",{}, smalltalk.Stream)})}
3770
3816
  }),
3771
3817
  smalltalk.Stream);
3772
3818
 
@@ -3776,8 +3822,8 @@ smalltalk.method({
3776
3822
  selector: "position:",
3777
3823
  fn: function (anInteger){
3778
3824
  var self=this;
3779
- self["@position"]=anInteger;
3780
- return self}
3825
+ return smalltalk.withContext(function($ctx1) {
3826
+ return self}, function($ctx1) {$ctx1.fill(self,"position:",{anInteger:anInteger}, smalltalk.Stream)})}
3781
3827
  }),
3782
3828
  smalltalk.Stream);
3783
3829
 
@@ -3787,8 +3833,8 @@ smalltalk.method({
3787
3833
  selector: "reset",
3788
3834
  fn: function (){
3789
3835
  var self=this;
3790
- smalltalk.send(self,"_position_",[(0)]);
3791
- return self}
3836
+ return smalltalk.withContext(function($ctx1) {
3837
+ return self}, function($ctx1) {$ctx1.fill(self,"reset",{}, smalltalk.Stream)})}
3792
3838
  }),
3793
3839
  smalltalk.Stream);
3794
3840
 
@@ -3798,9 +3844,9 @@ smalltalk.method({
3798
3844
  selector: "resetContents",
3799
3845
  fn: function (){
3800
3846
  var self=this;
3801
- smalltalk.send(self,"_reset",[]);
3802
- smalltalk.send(self,"_setStreamSize_",[(0)]);
3803
- return self}
3847
+ return smalltalk.withContext(function($ctx1) {
3848
+ _st(self)._setStreamSize_((0));
3849
+ return self}, function($ctx1) {$ctx1.fill(self,"resetContents",{}, smalltalk.Stream)})}
3804
3850
  }),
3805
3851
  smalltalk.Stream);
3806
3852
 
@@ -3810,8 +3856,8 @@ smalltalk.method({
3810
3856
  selector: "setCollection:",
3811
3857
  fn: function (aCollection){
3812
3858
  var self=this;
3813
- self["@collection"]=aCollection;
3814
- return self}
3859
+ return smalltalk.withContext(function($ctx1) {
3860
+ return self}, function($ctx1) {$ctx1.fill(self,"setCollection:",{aCollection:aCollection}, smalltalk.Stream)})}
3815
3861
  }),
3816
3862
  smalltalk.Stream);
3817
3863
 
@@ -3821,8 +3867,8 @@ smalltalk.method({
3821
3867
  selector: "setStreamSize:",
3822
3868
  fn: function (anInteger){
3823
3869
  var self=this;
3824
- self["@streamSize"]=anInteger;
3825
- return self}
3870
+ return smalltalk.withContext(function($ctx1) {
3871
+ return self}, function($ctx1) {$ctx1.fill(self,"setStreamSize:",{anInteger:anInteger}, smalltalk.Stream)})}
3826
3872
  }),
3827
3873
  smalltalk.Stream);
3828
3874
 
@@ -3832,8 +3878,8 @@ smalltalk.method({
3832
3878
  selector: "setToEnd",
3833
3879
  fn: function (){
3834
3880
  var self=this;
3835
- smalltalk.send(self,"_position_",[smalltalk.send(self,"_size",[])]);
3836
- return self}
3881
+ return smalltalk.withContext(function($ctx1) {
3882
+ return self}, function($ctx1) {$ctx1.fill(self,"setToEnd",{}, smalltalk.Stream)})}
3837
3883
  }),
3838
3884
  smalltalk.Stream);
3839
3885
 
@@ -3843,10 +3889,10 @@ smalltalk.method({
3843
3889
  selector: "size",
3844
3890
  fn: function (){
3845
3891
  var self=this;
3846
- var $1;
3847
- $1=smalltalk.send(self,"_streamSize",[]);
3892
+ return smalltalk.withContext(function($ctx1) {
3893
+ $1=_st(self)._streamSize();
3848
3894
  return $1;
3849
- }
3895
+ }, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Stream)})}
3850
3896
  }),
3851
3897
  smalltalk.Stream);
3852
3898
 
@@ -3856,8 +3902,8 @@ smalltalk.method({
3856
3902
  selector: "skip:",
3857
3903
  fn: function (anInteger){
3858
3904
  var self=this;
3859
- smalltalk.send(self,"_position_",[smalltalk.send(smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[anInteger]),"_min_max_",[smalltalk.send(self,"_size",[]),(0)])]);
3860
- return self}
3905
+ return smalltalk.withContext(function($ctx1) {
3906
+ return self}, function($ctx1) {$ctx1.fill(self,"skip:",{anInteger:anInteger}, smalltalk.Stream)})}
3861
3907
  }),
3862
3908
  smalltalk.Stream);
3863
3909
 
@@ -3867,8 +3913,10 @@ smalltalk.method({
3867
3913
  selector: "streamSize",
3868
3914
  fn: function (){
3869
3915
  var self=this;
3870
- return self["@streamSize"];
3871
- }
3916
+ return smalltalk.withContext(function($ctx1) {
3917
+ $1=self["@streamSize"];
3918
+ return $1;
3919
+ }, function($ctx1) {$ctx1.fill(self,"streamSize",{}, smalltalk.Stream)})}
3872
3920
  }),
3873
3921
  smalltalk.Stream);
3874
3922
 
@@ -3879,14 +3927,14 @@ smalltalk.method({
3879
3927
  selector: "on:",
3880
3928
  fn: function (aCollection){
3881
3929
  var self=this;
3882
- var $2,$3,$1;
3883
- $2=smalltalk.send(self,"_new",[]);
3884
- smalltalk.send($2,"_setCollection_",[aCollection]);
3885
- smalltalk.send($2,"_setStreamSize_",[smalltalk.send(aCollection,"_size",[])]);
3886
- $3=smalltalk.send($2,"_yourself",[]);
3930
+ return smalltalk.withContext(function($ctx1) {
3931
+ $2=_st(self)._new();
3932
+ _st($2)._setCollection_(aCollection);
3933
+ _st($2)._setStreamSize_(_st(aCollection)._size());
3934
+ $3=_st($2)._yourself();
3887
3935
  $1=$3;
3888
3936
  return $1;
3889
- }
3937
+ }, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection}, smalltalk.Stream.klass)})}
3890
3938
  }),
3891
3939
  smalltalk.Stream.klass);
3892
3940
 
@@ -3898,10 +3946,10 @@ smalltalk.method({
3898
3946
  selector: "cr",
3899
3947
  fn: function (){
3900
3948
  var self=this;
3901
- var $1;
3902
- $1=smalltalk.send(self,"_nextPutAll_",[smalltalk.send((smalltalk.String || String),"_cr",[])]);
3949
+ return smalltalk.withContext(function($ctx1) {
3950
+ $1=_st(self)._nextPutAll_(_st((smalltalk.String || String))._cr());
3903
3951
  return $1;
3904
- }
3952
+ }, function($ctx1) {$ctx1.fill(self,"cr",{}, smalltalk.StringStream)})}
3905
3953
  }),
3906
3954
  smalltalk.StringStream);
3907
3955
 
@@ -3911,10 +3959,10 @@ smalltalk.method({
3911
3959
  selector: "crlf",
3912
3960
  fn: function (){
3913
3961
  var self=this;
3914
- var $1;
3915
- $1=smalltalk.send(self,"_nextPutAll_",[smalltalk.send((smalltalk.String || String),"_crlf",[])]);
3962
+ return smalltalk.withContext(function($ctx1) {
3963
+ $1=_st(self)._nextPutAll_(_st((smalltalk.String || String))._crlf());
3916
3964
  return $1;
3917
- }
3965
+ }, function($ctx1) {$ctx1.fill(self,"crlf",{}, smalltalk.StringStream)})}
3918
3966
  }),
3919
3967
  smalltalk.StringStream);
3920
3968
 
@@ -3924,10 +3972,10 @@ smalltalk.method({
3924
3972
  selector: "lf",
3925
3973
  fn: function (){
3926
3974
  var self=this;
3927
- var $1;
3928
- $1=smalltalk.send(self,"_nextPutAll_",[smalltalk.send((smalltalk.String || String),"_lf",[])]);
3975
+ return smalltalk.withContext(function($ctx1) {
3976
+ $1=_st(self)._nextPutAll_(_st((smalltalk.String || String))._lf());
3929
3977
  return $1;
3930
- }
3978
+ }, function($ctx1) {$ctx1.fill(self,"lf",{}, smalltalk.StringStream)})}
3931
3979
  }),
3932
3980
  smalltalk.StringStream);
3933
3981
 
@@ -3937,18 +3985,21 @@ smalltalk.method({
3937
3985
  selector: "next:",
3938
3986
  fn: function (anInteger){
3939
3987
  var self=this;
3940
- var $1;
3941
3988
  var tempCollection;
3942
- tempCollection=smalltalk.send(smalltalk.send(smalltalk.send(self,"_collection",[]),"_class",[]),"_new",[]);
3943
- smalltalk.send(anInteger,"_timesRepeat_",[(function(){
3944
- $1=smalltalk.send(self,"_atEnd",[]);
3945
- if(! smalltalk.assert($1)){
3946
- tempCollection=smalltalk.send(tempCollection,"__comma",[smalltalk.send(self,"_next",[])]);
3989
+ return smalltalk.withContext(function($ctx1) {
3990
+ tempCollection=_st(_st(_st(self)._collection())._class())._new();
3991
+ $1=anInteger;
3992
+ $2=(function(){
3993
+ return smalltalk.withContext(function($ctx2) {
3994
+ if(! smalltalk.assert($3)){
3995
+ tempCollection=_st(tempCollection).__comma(_st(self)._next());
3947
3996
  return tempCollection;
3948
3997
  };
3949
- })]);
3950
- return tempCollection;
3951
- }
3998
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
3999
+ _st($1)._timesRepeat_($2);
4000
+ $4=tempCollection;
4001
+ return $4;
4002
+ }, function($ctx1) {$ctx1.fill(self,"next:",{anInteger:anInteger,tempCollection:tempCollection}, smalltalk.StringStream)})}
3952
4003
  }),
3953
4004
  smalltalk.StringStream);
3954
4005
 
@@ -3958,8 +4009,8 @@ smalltalk.method({
3958
4009
  selector: "nextPut:",
3959
4010
  fn: function (aString){
3960
4011
  var self=this;
3961
- smalltalk.send(self,"_nextPutAll_",[aString]);
3962
- return self}
4012
+ return smalltalk.withContext(function($ctx1) {
4013
+ return self}, function($ctx1) {$ctx1.fill(self,"nextPut:",{aString:aString}, smalltalk.StringStream)})}
3963
4014
  }),
3964
4015
  smalltalk.StringStream);
3965
4016
 
@@ -3969,10 +4020,10 @@ smalltalk.method({
3969
4020
  selector: "nextPutAll:",
3970
4021
  fn: function (aString){
3971
4022
  var self=this;
3972
- 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_",[smalltalk.send(smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[(1)]),"__plus",[smalltalk.send(aString,"_size",[])]),smalltalk.send(smalltalk.send(self,"_collection",[]),"_size",[])])])]);
3973
- smalltalk.send(self,"_position_",[smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[smalltalk.send(aString,"_size",[])])]);
3974
- smalltalk.send(self,"_setStreamSize_",[smalltalk.send(smalltalk.send(self,"_streamSize",[]),"_max_",[smalltalk.send(self,"_position",[])])]);
3975
- return self}
4023
+ return smalltalk.withContext(function($ctx1) {
4024
+ _st(self)._position_(_st(_st(self)._position()).__plus(_st(aString)._size()));
4025
+ _st(self)._setStreamSize_(_st(_st(self)._streamSize())._max_(_st(self)._position()));
4026
+ return self}, function($ctx1) {$ctx1.fill(self,"nextPutAll:",{aString:aString}, smalltalk.StringStream)})}
3976
4027
  }),
3977
4028
  smalltalk.StringStream);
3978
4029
 
@@ -3982,8 +4033,8 @@ smalltalk.method({
3982
4033
  selector: "space",
3983
4034
  fn: function (){
3984
4035
  var self=this;
3985
- smalltalk.send(self,"_nextPut_",[" "]);
3986
- return self}
4036
+ return smalltalk.withContext(function($ctx1) {
4037
+ return self}, function($ctx1) {$ctx1.fill(self,"space",{}, smalltalk.StringStream)})}
3987
4038
  }),
3988
4039
  smalltalk.StringStream);
3989
4040