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
@@ -4,12 +4,12 @@ smalltalk.addMethod(
4
4
  "__minus_gt",
5
5
  smalltalk.method({
6
6
  selector: "->",
7
- fn: function (anObject) {
8
- var self = this;
9
- var $1;
10
- $1 = smalltalk.send(smalltalk.Association || Association, "_key_value_", [self, anObject]);
11
- return $1;
12
- }
7
+ fn: function (anObject){
8
+ var self=this;
9
+ return smalltalk.withContext(function($ctx1) {
10
+ $1=_st((smalltalk.Association || Association))._key_value_(self,anObject);
11
+ return $1;
12
+ }, function($ctx1) {$ctx1.fill(self,"->",{anObject:anObject}, smalltalk.Object)})}
13
13
  }),
14
14
  smalltalk.Object);
15
15
 
@@ -17,12 +17,12 @@ smalltalk.addMethod(
17
17
  "__eq",
18
18
  smalltalk.method({
19
19
  selector: "=",
20
- fn: function (anObject) {
21
- var self = this;
22
- var $1;
23
- $1 = smalltalk.send(self, "__eq_eq", [anObject]);
24
- return $1;
25
- }
20
+ fn: function (anObject){
21
+ var self=this;
22
+ return smalltalk.withContext(function($ctx1) {
23
+ $1=_st(self).__eq_eq(anObject);
24
+ return $1;
25
+ }, function($ctx1) {$ctx1.fill(self,"=",{anObject:anObject}, smalltalk.Object)})}
26
26
  }),
27
27
  smalltalk.Object);
28
28
 
@@ -30,12 +30,12 @@ smalltalk.addMethod(
30
30
  "__eq_eq",
31
31
  smalltalk.method({
32
32
  selector: "==",
33
- fn: function (anObject) {
34
- var self = this;
35
- var $1;
36
- $1 = smalltalk.send(smalltalk.send(self, "_identityHash", []), "__eq", [smalltalk.send(anObject, "_identityHash", [])]);
37
- return $1;
38
- }
33
+ fn: function (anObject){
34
+ var self=this;
35
+ return smalltalk.withContext(function($ctx1) {
36
+ $1=_st(_st(self)._identityHash()).__eq(_st(anObject)._identityHash());
37
+ return $1;
38
+ }, function($ctx1) {$ctx1.fill(self,"==",{anObject:anObject}, smalltalk.Object)})}
39
39
  }),
40
40
  smalltalk.Object);
41
41
 
@@ -43,13 +43,17 @@ smalltalk.addMethod(
43
43
  "_asJSON",
44
44
  smalltalk.method({
45
45
  selector: "asJSON",
46
- fn: function () {
47
- var self = this;
48
- var variables;
49
- variables = smalltalk.send(smalltalk.HashedCollection || HashedCollection, "_new", []);
50
- smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "_allInstanceVariableNames", []), "_do_", [function (each) {return smalltalk.send(variables, "_at_put_", [each, smalltalk.send(smalltalk.send(self, "_instVarAt_", [each]), "_asJSON", [])]);}]);
51
- return variables;
52
- }
46
+ fn: function (){
47
+ var self=this;
48
+ var variables;
49
+ return smalltalk.withContext(function($ctx1) {
50
+ variables=_st((smalltalk.HashedCollection || HashedCollection))._new();
51
+ _st(_st(_st(self)._class())._allInstanceVariableNames())._do_((function(each){
52
+ return smalltalk.withContext(function($ctx2) {
53
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
54
+ $1=variables;
55
+ return $1;
56
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{variables:variables}, smalltalk.Object)})}
53
57
  }),
54
58
  smalltalk.Object);
55
59
 
@@ -57,12 +61,12 @@ smalltalk.addMethod(
57
61
  "_asJSONString",
58
62
  smalltalk.method({
59
63
  selector: "asJSONString",
60
- fn: function () {
61
- var self = this;
62
- var $1;
63
- $1 = smalltalk.send(smalltalk.JSON || JSON, "_stringify_", [smalltalk.send(self, "_asJSON", [])]);
64
- return $1;
65
- }
64
+ fn: function (){
65
+ var self=this;
66
+ return smalltalk.withContext(function($ctx1) {
67
+ $1=_st((smalltalk.JSON || JSON))._stringify_(_st(self)._asJSON());
68
+ return $1;
69
+ }, function($ctx1) {$ctx1.fill(self,"asJSONString",{}, smalltalk.Object)})}
66
70
  }),
67
71
  smalltalk.Object);
68
72
 
@@ -70,12 +74,12 @@ smalltalk.addMethod(
70
74
  "_asJavascript",
71
75
  smalltalk.method({
72
76
  selector: "asJavascript",
73
- fn: function () {
74
- var self = this;
75
- var $1;
76
- $1 = smalltalk.send(self, "_asString", []);
77
- return $1;
78
- }
77
+ fn: function (){
78
+ var self=this;
79
+ return smalltalk.withContext(function($ctx1) {
80
+ $1=_st(self)._asString();
81
+ return $1;
82
+ }, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Object)})}
79
83
  }),
80
84
  smalltalk.Object);
81
85
 
@@ -83,12 +87,12 @@ smalltalk.addMethod(
83
87
  "_asString",
84
88
  smalltalk.method({
85
89
  selector: "asString",
86
- fn: function () {
87
- var self = this;
88
- var $1;
89
- $1 = smalltalk.send(self, "_printString", []);
90
- return $1;
91
- }
90
+ fn: function (){
91
+ var self=this;
92
+ return smalltalk.withContext(function($ctx1) {
93
+ $1=_st(self)._printString();
94
+ return $1;
95
+ }, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.Object)})}
92
96
  }),
93
97
  smalltalk.Object);
94
98
 
@@ -96,11 +100,10 @@ smalltalk.addMethod(
96
100
  "_basicAt_",
97
101
  smalltalk.method({
98
102
  selector: "basicAt:",
99
- fn: function (aString) {
100
- var self = this;
101
- return self[aString];
102
- return self;
103
- }
103
+ fn: function (aString){
104
+ var self=this;
105
+ return smalltalk.withContext(function($ctx1) {
106
+ return self}, function($ctx1) {$ctx1.fill(self,"basicAt:",{aString:aString}, smalltalk.Object)})}
104
107
  }),
105
108
  smalltalk.Object);
106
109
 
@@ -108,11 +111,10 @@ smalltalk.addMethod(
108
111
  "_basicAt_put_",
109
112
  smalltalk.method({
110
113
  selector: "basicAt:put:",
111
- fn: function (aString, anObject) {
112
- var self = this;
113
- return self[aString] = anObject;
114
- return self;
115
- }
114
+ fn: function (aString,anObject){
115
+ var self=this;
116
+ return smalltalk.withContext(function($ctx1) {
117
+ return self}, function($ctx1) {$ctx1.fill(self,"basicAt:put:",{aString:aString,anObject:anObject}, smalltalk.Object)})}
116
118
  }),
117
119
  smalltalk.Object);
118
120
 
@@ -120,12 +122,10 @@ smalltalk.addMethod(
120
122
  "_basicDelete_",
121
123
  smalltalk.method({
122
124
  selector: "basicDelete:",
123
- fn: function (aString) {
124
- var self = this;
125
- delete self[aString];
126
- return aString;
127
- return self;
128
- }
125
+ fn: function (aString){
126
+ var self=this;
127
+ return smalltalk.withContext(function($ctx1) {
128
+ return self}, function($ctx1) {$ctx1.fill(self,"basicDelete:",{aString:aString}, smalltalk.Object)})}
129
129
  }),
130
130
  smalltalk.Object);
131
131
 
@@ -133,12 +133,12 @@ smalltalk.addMethod(
133
133
  "_basicPerform_",
134
134
  smalltalk.method({
135
135
  selector: "basicPerform:",
136
- fn: function (aSymbol) {
137
- var self = this;
138
- var $1;
139
- $1 = smalltalk.send(self, "_basicPerform_withArguments_", [aSymbol, []]);
140
- return $1;
141
- }
136
+ fn: function (aSymbol){
137
+ var self=this;
138
+ return smalltalk.withContext(function($ctx1) {
139
+ $1=_st(self)._basicPerform_withArguments_(aSymbol,[]);
140
+ return $1;
141
+ }, function($ctx1) {$ctx1.fill(self,"basicPerform:",{aSymbol:aSymbol}, smalltalk.Object)})}
142
142
  }),
143
143
  smalltalk.Object);
144
144
 
@@ -146,11 +146,10 @@ smalltalk.addMethod(
146
146
  "_basicPerform_withArguments_",
147
147
  smalltalk.method({
148
148
  selector: "basicPerform:withArguments:",
149
- fn: function (aSymbol, aCollection) {
150
- var self = this;
151
- return self[aSymbol].apply(self, aCollection);
152
- return self;
153
- }
149
+ fn: function (aSymbol,aCollection){
150
+ var self=this;
151
+ return smalltalk.withContext(function($ctx1) {
152
+ return self}, function($ctx1) {$ctx1.fill(self,"basicPerform:withArguments:",{aSymbol:aSymbol,aCollection:aCollection}, smalltalk.Object)})}
154
153
  }),
155
154
  smalltalk.Object);
156
155
 
@@ -158,11 +157,10 @@ smalltalk.addMethod(
158
157
  "_class",
159
158
  smalltalk.method({
160
159
  selector: "class",
161
- fn: function () {
162
- var self = this;
163
- return self.klass;
164
- return self;
165
- }
160
+ fn: function (){
161
+ var self=this;
162
+ return smalltalk.withContext(function($ctx1) {
163
+ return self}, function($ctx1) {$ctx1.fill(self,"class",{}, smalltalk.Object)})}
166
164
  }),
167
165
  smalltalk.Object);
168
166
 
@@ -170,12 +168,12 @@ smalltalk.addMethod(
170
168
  "_copy",
171
169
  smalltalk.method({
172
170
  selector: "copy",
173
- fn: function () {
174
- var self = this;
175
- var $1;
176
- $1 = smalltalk.send(smalltalk.send(self, "_shallowCopy", []), "_postCopy", []);
177
- return $1;
178
- }
171
+ fn: function (){
172
+ var self=this;
173
+ return smalltalk.withContext(function($ctx1) {
174
+ $1=_st(_st(self)._shallowCopy())._postCopy();
175
+ return $1;
176
+ }, function($ctx1) {$ctx1.fill(self,"copy",{}, smalltalk.Object)})}
179
177
  }),
180
178
  smalltalk.Object);
181
179
 
@@ -183,17 +181,18 @@ smalltalk.addMethod(
183
181
  "_deepCopy",
184
182
  smalltalk.method({
185
183
  selector: "deepCopy",
186
- fn: function () {
187
- var self = this;
188
- var copy = self.klass._new();
189
- for (var i in self) {
190
- if (/^@.+/.test(i)) {
191
- copy[i] = self[i]._deepCopy();
192
- }
193
- }
194
- return copy;
195
- return self;
196
- }
184
+ fn: function (){
185
+ var self=this;
186
+ return smalltalk.withContext(function($ctx1) {
197
187
 
188
+ var copy = self.klass._new();
189
+ for(var i in self) {
190
+ if(/^@.+/.test(i)) {
191
+ copy[i] = self[i]._deepCopy();
192
+ }
193
+ }
194
+ return copy;
195
+ ;
196
+ return self}, function($ctx1) {$ctx1.fill(self,"deepCopy",{}, smalltalk.Object)})}
198
197
  }),
199
198
  smalltalk.Object);
200
199
 
@@ -201,11 +200,10 @@ smalltalk.addMethod(
201
200
  "_deprecatedAPI",
202
201
  smalltalk.method({
203
202
  selector: "deprecatedAPI",
204
- fn: function () {
205
- var self = this;
206
- smalltalk.send(console, "_warn_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(thisContext, "_home", []), "_asString", []), "__comma", [" is deprecated! (in "]), "__comma", [smalltalk.send(smalltalk.send(smalltalk.send(thisContext, "_home", []), "_home", []), "_asString", [])]), "__comma", [")"])]);
207
- return self;
208
- }
203
+ fn: function (){
204
+ var self=this;
205
+ return smalltalk.withContext(function($ctx1) {
206
+ return self}, function($ctx1) {$ctx1.fill(self,"deprecatedAPI",{}, smalltalk.Object)})}
209
207
  }),
210
208
  smalltalk.Object);
211
209
 
@@ -213,15 +211,14 @@ smalltalk.addMethod(
213
211
  "_doesNotUnderstand_",
214
212
  smalltalk.method({
215
213
  selector: "doesNotUnderstand:",
216
- fn: function (aMessage) {
217
- var self = this;
218
- var $1, $2;
219
- $1 = smalltalk.send(smalltalk.MessageNotUnderstood || MessageNotUnderstood, "_new", []);
220
- smalltalk.send($1, "_receiver_", [self]);
221
- smalltalk.send($1, "_message_", [aMessage]);
222
- $2 = smalltalk.send($1, "_signal", []);
223
- return self;
224
- }
214
+ fn: function (aMessage){
215
+ var self=this;
216
+ return smalltalk.withContext(function($ctx1) {
217
+ $1=_st((smalltalk.MessageNotUnderstood || MessageNotUnderstood))._new();
218
+ _st($1)._receiver_(self);
219
+ _st($1)._message_(aMessage);
220
+ $2=_st($1)._signal();
221
+ return self}, function($ctx1) {$ctx1.fill(self,"doesNotUnderstand:",{aMessage:aMessage}, smalltalk.Object)})}
225
222
  }),
226
223
  smalltalk.Object);
227
224
 
@@ -229,11 +226,10 @@ smalltalk.addMethod(
229
226
  "_error_",
230
227
  smalltalk.method({
231
228
  selector: "error:",
232
- fn: function (aString) {
233
- var self = this;
234
- smalltalk.send(smalltalk.Error || Error, "_signal_", [aString]);
235
- return self;
236
- }
229
+ fn: function (aString){
230
+ var self=this;
231
+ return smalltalk.withContext(function($ctx1) {
232
+ return self}, function($ctx1) {$ctx1.fill(self,"error:",{aString:aString}, smalltalk.Object)})}
237
233
  }),
238
234
  smalltalk.Object);
239
235
 
@@ -241,11 +237,10 @@ smalltalk.addMethod(
241
237
  "_halt",
242
238
  smalltalk.method({
243
239
  selector: "halt",
244
- fn: function () {
245
- var self = this;
246
- smalltalk.send(self, "_error_", ["Halt encountered"]);
247
- return self;
248
- }
240
+ fn: function (){
241
+ var self=this;
242
+ return smalltalk.withContext(function($ctx1) {
243
+ return self}, function($ctx1) {$ctx1.fill(self,"halt",{}, smalltalk.Object)})}
249
244
  }),
250
245
  smalltalk.Object);
251
246
 
@@ -253,17 +248,16 @@ smalltalk.addMethod(
253
248
  "_identityHash",
254
249
  smalltalk.method({
255
250
  selector: "identityHash",
256
- fn: function () {
257
- var self = this;
258
- var hash = self.identityHash;
259
- if (hash) {
260
- return hash;
261
- }
262
- hash = smalltalk.nextId();
263
- Object.defineProperty(self, "identityHash", {value: hash});
264
- return hash;
265
- return self;
266
- }
251
+ fn: function (){
252
+ var self=this;
253
+ return smalltalk.withContext(function($ctx1) {
254
+ var hash=self.identityHash;
255
+ if (hash) return hash;
256
+ hash=smalltalk.nextId();
257
+ Object.defineProperty(self, 'identityHash', {value:hash});
258
+ return hash;
259
+ ;
260
+ return self}, function($ctx1) {$ctx1.fill(self,"identityHash",{}, smalltalk.Object)})}
267
261
  }),
268
262
  smalltalk.Object);
269
263
 
@@ -271,10 +265,12 @@ smalltalk.addMethod(
271
265
  "_ifNil_",
272
266
  smalltalk.method({
273
267
  selector: "ifNil:",
274
- fn: function (aBlock) {
275
- var self = this;
276
- return self;
277
- }
268
+ fn: function (aBlock){
269
+ var self=this;
270
+ return smalltalk.withContext(function($ctx1) {
271
+ $1=self;
272
+ return $1;
273
+ }, function($ctx1) {$ctx1.fill(self,"ifNil:",{aBlock:aBlock}, smalltalk.Object)})}
278
274
  }),
279
275
  smalltalk.Object);
280
276
 
@@ -282,12 +278,12 @@ smalltalk.addMethod(
282
278
  "_ifNil_ifNotNil_",
283
279
  smalltalk.method({
284
280
  selector: "ifNil:ifNotNil:",
285
- fn: function (aBlock, anotherBlock) {
286
- var self = this;
287
- var $1;
288
- $1 = smalltalk.send(anotherBlock, "_value", []);
289
- return $1;
290
- }
281
+ fn: function (aBlock,anotherBlock){
282
+ var self=this;
283
+ return smalltalk.withContext(function($ctx1) {
284
+ $1=_st(anotherBlock)._value();
285
+ return $1;
286
+ }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Object)})}
291
287
  }),
292
288
  smalltalk.Object);
293
289
 
@@ -295,12 +291,12 @@ smalltalk.addMethod(
295
291
  "_ifNotNil_",
296
292
  smalltalk.method({
297
293
  selector: "ifNotNil:",
298
- fn: function (aBlock) {
299
- var self = this;
300
- var $1;
301
- $1 = smalltalk.send(aBlock, "_value", []);
302
- return $1;
303
- }
294
+ fn: function (aBlock){
295
+ var self=this;
296
+ return smalltalk.withContext(function($ctx1) {
297
+ $1=_st(aBlock)._value();
298
+ return $1;
299
+ }, function($ctx1) {$ctx1.fill(self,"ifNotNil:",{aBlock:aBlock}, smalltalk.Object)})}
304
300
  }),
305
301
  smalltalk.Object);
306
302
 
@@ -308,12 +304,12 @@ smalltalk.addMethod(
308
304
  "_ifNotNil_ifNil_",
309
305
  smalltalk.method({
310
306
  selector: "ifNotNil:ifNil:",
311
- fn: function (aBlock, anotherBlock) {
312
- var self = this;
313
- var $1;
314
- $1 = smalltalk.send(aBlock, "_value", []);
315
- return $1;
316
- }
307
+ fn: function (aBlock,anotherBlock){
308
+ var self=this;
309
+ return smalltalk.withContext(function($ctx1) {
310
+ $1=_st(aBlock)._value();
311
+ return $1;
312
+ }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Object)})}
317
313
  }),
318
314
  smalltalk.Object);
319
315
 
@@ -321,10 +317,9 @@ smalltalk.addMethod(
321
317
  "_initialize",
322
318
  smalltalk.method({
323
319
  selector: "initialize",
324
- fn: function () {
325
- var self = this;
326
- return self;
327
- }
320
+ fn: function (){
321
+ var self=this;
322
+ return smalltalk.withContext(function($ctx1) {
328
323
  }),
329
324
  smalltalk.Object);
330
325
 
@@ -332,13 +327,10 @@ smalltalk.addMethod(
332
327
  "_instVarAt_",
333
328
  smalltalk.method({
334
329
  selector: "instVarAt:",
335
- fn: function (aSymbol) {
336
- var self = this;
337
- var varname;
338
- varname = smalltalk.send(aSymbol, "_asString", []);
339
- return self["@" + varname];
340
- return self;
341
- }
330
+ fn: function (aSymbol){
331
+ var self=this;
332
+ return smalltalk.withContext(function($ctx1) {
333
+ return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:",{aSymbol:aSymbol}, smalltalk.Object)})}
342
334
  }),
343
335
  smalltalk.Object);
344
336
 
@@ -346,13 +338,21 @@ smalltalk.addMethod(
346
338
  "_instVarAt_put_",
347
339
  smalltalk.method({
348
340
  selector: "instVarAt:put:",
349
- fn: function (aSymbol, anObject) {
350
- var self = this;
351
- var varname;
352
- varname = smalltalk.send(aSymbol, "_asString", []);
353
- self["@" + varname] = anObject;
354
- return self;
355
- }
341
+ fn: function (aSymbol,anObject){
342
+ var self=this;
343
+ return smalltalk.withContext(function($ctx1) {
344
+ return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:put:",{aSymbol:aSymbol,anObject:anObject}, smalltalk.Object)})}
345
+ }),
346
+ smalltalk.Object);
347
+
348
+ smalltalk.addMethod(
349
+ "_isBoolean",
350
+ smalltalk.method({
351
+ selector: "isBoolean",
352
+ fn: function (){
353
+ var self=this;
354
+ return smalltalk.withContext(function($ctx1) {
355
+ }, function($ctx1) {$ctx1.fill(self,"isBoolean",{}, smalltalk.Object)})}
356
356
  }),
357
357
  smalltalk.Object);
358
358
 
@@ -360,10 +360,10 @@ smalltalk.addMethod(
360
360
  "_isClass",
361
361
  smalltalk.method({
362
362
  selector: "isClass",
363
- fn: function () {
364
- var self = this;
365
- return false;
366
- }
363
+ fn: function (){
364
+ var self=this;
365
+ return smalltalk.withContext(function($ctx1) {
366
+ }, function($ctx1) {$ctx1.fill(self,"isClass",{}, smalltalk.Object)})}
367
367
  }),
368
368
  smalltalk.Object);
369
369
 
@@ -371,17 +371,17 @@ smalltalk.addMethod(
371
371
  "_isKindOf_",
372
372
  smalltalk.method({
373
373
  selector: "isKindOf:",
374
- fn: function (aClass) {
375
- var self = this;
376
- var $2, $1;
377
- $2 = smalltalk.send(self, "_isMemberOf_", [aClass]);
378
- if (smalltalk.assert($2)) {
379
- $1 = true;
380
- } else {
381
- $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_inheritsFrom_", [aClass]);
382
- }
383
- return $1;
384
- }
374
+ fn: function (aClass){
375
+ var self=this;
376
+ return smalltalk.withContext(function($ctx1) {
377
+ $2=_st(self)._isMemberOf_(aClass);
378
+ if(smalltalk.assert($2)){
379
+ $1=true;
380
+ } else {
381
+ $1=_st(_st(self)._class())._inheritsFrom_(aClass);
382
+ };
383
+ return $1;
384
+ }, function($ctx1) {$ctx1.fill(self,"isKindOf:",{aClass:aClass}, smalltalk.Object)})}
385
385
  }),
386
386
  smalltalk.Object);
387
387
 
@@ -389,12 +389,12 @@ smalltalk.addMethod(
389
389
  "_isMemberOf_",
390
390
  smalltalk.method({
391
391
  selector: "isMemberOf:",
392
- fn: function (aClass) {
393
- var self = this;
394
- var $1;
395
- $1 = smalltalk.send(smalltalk.send(self, "_class", []), "__eq", [aClass]);
396
- return $1;
397
- }
392
+ fn: function (aClass){
393
+ var self=this;
394
+ return smalltalk.withContext(function($ctx1) {
395
+ $1=_st(_st(self)._class()).__eq(aClass);
396
+ return $1;
397
+ }, function($ctx1) {$ctx1.fill(self,"isMemberOf:",{aClass:aClass}, smalltalk.Object)})}
398
398
  }),
399
399
  smalltalk.Object);
400
400
 
@@ -402,10 +402,10 @@ smalltalk.addMethod(
402
402
  "_isMetaclass",
403
403
  smalltalk.method({
404
404
  selector: "isMetaclass",
405
- fn: function () {
406
- var self = this;
407
- return false;
408
- }
405
+ fn: function (){
406
+ var self=this;
407
+ return smalltalk.withContext(function($ctx1) {
408
+ }, function($ctx1) {$ctx1.fill(self,"isMetaclass",{}, smalltalk.Object)})}
409
409
  }),
410
410
  smalltalk.Object);
411
411
 
@@ -413,10 +413,10 @@ smalltalk.addMethod(
413
413
  "_isNil",
414
414
  smalltalk.method({
415
415
  selector: "isNil",
416
- fn: function () {
417
- var self = this;
418
- return false;
419
- }
416
+ fn: function (){
417
+ var self=this;
418
+ return smalltalk.withContext(function($ctx1) {
419
+ }, function($ctx1) {$ctx1.fill(self,"isNil",{}, smalltalk.Object)})}
420
420
  }),
421
421
  smalltalk.Object);
422
422
 
@@ -424,10 +424,10 @@ smalltalk.addMethod(
424
424
  "_isNumber",
425
425
  smalltalk.method({
426
426
  selector: "isNumber",
427
- fn: function () {
428
- var self = this;
429
- return false;
430
- }
427
+ fn: function (){
428
+ var self=this;
429
+ return smalltalk.withContext(function($ctx1) {
430
+ }, function($ctx1) {$ctx1.fill(self,"isNumber",{}, smalltalk.Object)})}
431
431
  }),
432
432
  smalltalk.Object);
433
433
 
@@ -435,10 +435,10 @@ smalltalk.addMethod(
435
435
  "_isParseFailure",
436
436
  smalltalk.method({
437
437
  selector: "isParseFailure",
438
- fn: function () {
439
- var self = this;
440
- return false;
441
- }
438
+ fn: function (){
439
+ var self=this;
440
+ return smalltalk.withContext(function($ctx1) {
441
+ }, function($ctx1) {$ctx1.fill(self,"isParseFailure",{}, smalltalk.Object)})}
442
442
  }),
443
443
  smalltalk.Object);
444
444
 
@@ -446,10 +446,10 @@ smalltalk.addMethod(
446
446
  "_isString",
447
447
  smalltalk.method({
448
448
  selector: "isString",
449
- fn: function () {
450
- var self = this;
451
- return false;
452
- }
449
+ fn: function (){
450
+ var self=this;
451
+ return smalltalk.withContext(function($ctx1) {
452
+ }, function($ctx1) {$ctx1.fill(self,"isString",{}, smalltalk.Object)})}
453
453
  }),
454
454
  smalltalk.Object);
455
455
 
@@ -457,10 +457,10 @@ smalltalk.addMethod(
457
457
  "_isSymbol",
458
458
  smalltalk.method({
459
459
  selector: "isSymbol",
460
- fn: function () {
461
- var self = this;
462
- return false;
463
- }
460
+ fn: function (){
461
+ var self=this;
462
+ return smalltalk.withContext(function($ctx1) {
463
+ }, function($ctx1) {$ctx1.fill(self,"isSymbol",{}, smalltalk.Object)})}
464
464
  }),
465
465
  smalltalk.Object);
466
466
 
@@ -468,12 +468,17 @@ smalltalk.addMethod(
468
468
  "_log_block_",
469
469
  smalltalk.method({
470
470
  selector: "log:block:",
471
- fn: function (aString, aBlock) {
472
- var self = this;
473
- var result;
474
- smalltalk.send(console, "_log_", [smalltalk.send(smalltalk.send(aString, "__comma", [" time: "]), "__comma", [smalltalk.send(smalltalk.send(smalltalk.Date || Date, "_millisecondsToRun_", [function () {result = smalltalk.send(aBlock, "_value", []);return result;}]), "_printString", [])])]);
475
- return result;
476
- }
471
+ fn: function (aString,aBlock){
472
+ var self=this;
473
+ var result;
474
+ return smalltalk.withContext(function($ctx1) {
475
+ _st(console)._log_(_st(_st(aString).__comma(" time: ")).__comma(_st(_st((smalltalk.Date || Date))._millisecondsToRun_((function(){
476
+ return smalltalk.withContext(function($ctx2) {
477
+ return result;
478
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._printString()));
479
+ $1=result;
480
+ return $1;
481
+ }, function($ctx1) {$ctx1.fill(self,"log:block:",{aString:aString,aBlock:aBlock,result:result}, smalltalk.Object)})}
477
482
  }),
478
483
  smalltalk.Object);
479
484
 
@@ -481,12 +486,12 @@ smalltalk.addMethod(
481
486
  "_notNil",
482
487
  smalltalk.method({
483
488
  selector: "notNil",
484
- fn: function () {
485
- var self = this;
486
- var $1;
487
- $1 = smalltalk.send(smalltalk.send(self, "_isNil", []), "_not", []);
488
- return $1;
489
- }
489
+ fn: function (){
490
+ var self=this;
491
+ return smalltalk.withContext(function($ctx1) {
492
+ $1=_st(_st(self)._isNil())._not();
493
+ return $1;
494
+ }, function($ctx1) {$ctx1.fill(self,"notNil",{}, smalltalk.Object)})}
490
495
  }),
491
496
  smalltalk.Object);
492
497
 
@@ -494,12 +499,12 @@ smalltalk.addMethod(
494
499
  "_perform_",
495
500
  smalltalk.method({
496
501
  selector: "perform:",
497
- fn: function (aSymbol) {
498
- var self = this;
499
- var $1;
500
- $1 = smalltalk.send(self, "_perform_withArguments_", [aSymbol, []]);
501
- return $1;
502
- }
502
+ fn: function (aSymbol){
503
+ var self=this;
504
+ return smalltalk.withContext(function($ctx1) {
505
+ $1=_st(self)._perform_withArguments_(aSymbol,[]);
506
+ return $1;
507
+ }, function($ctx1) {$ctx1.fill(self,"perform:",{aSymbol:aSymbol}, smalltalk.Object)})}
503
508
  }),
504
509
  smalltalk.Object);
505
510
 
@@ -507,13 +512,10 @@ smalltalk.addMethod(
507
512
  "_perform_withArguments_",
508
513
  smalltalk.method({
509
514
  selector: "perform:withArguments:",
510
- fn: function (aSymbol, aCollection) {
511
- var self = this;
512
- var selector;
513
- selector = smalltalk.send(aSymbol, "_asSelector", []);
514
- return smalltalk.send(self, selector, aCollection);
515
- return self;
516
- }
515
+ fn: function (aSymbol,aCollection){
516
+ var self=this;
517
+ return smalltalk.withContext(function($ctx1) {
518
+ return self}, function($ctx1) {$ctx1.fill(self,"perform:withArguments:",{aSymbol:aSymbol,aCollection:aCollection}, smalltalk.Object)})}
517
519
  }),
518
520
  smalltalk.Object);
519
521
 
@@ -521,10 +523,9 @@ smalltalk.addMethod(
521
523
  "_postCopy",
522
524
  smalltalk.method({
523
525
  selector: "postCopy",
524
- fn: function () {
525
- var self = this;
526
- return self;
527
- }
526
+ fn: function (){
527
+ var self=this;
528
+ return smalltalk.withContext(function($ctx1) {
528
529
  }),
529
530
  smalltalk.Object);
530
531
 
@@ -532,11 +533,10 @@ smalltalk.addMethod(
532
533
  "_printNl",
533
534
  smalltalk.method({
534
535
  selector: "printNl",
535
- fn: function () {
536
- var self = this;
537
- console.log(self);
538
- return self;
539
- }
536
+ fn: function (){
537
+ var self=this;
538
+ return smalltalk.withContext(function($ctx1) {
539
+ return self}, function($ctx1) {$ctx1.fill(self,"printNl",{}, smalltalk.Object)})}
540
540
  }),
541
541
  smalltalk.Object);
542
542
 
@@ -544,12 +544,12 @@ smalltalk.addMethod(
544
544
  "_printString",
545
545
  smalltalk.method({
546
546
  selector: "printString",
547
- fn: function () {
548
- var self = this;
549
- var $1;
550
- $1 = smalltalk.send("a ", "__comma", [smalltalk.send(smalltalk.send(self, "_class", []), "_name", [])]);
551
- return $1;
552
- }
547
+ fn: function (){
548
+ var self=this;
549
+ return smalltalk.withContext(function($ctx1) {
550
+ $1=_st("a ").__comma(_st(_st(self)._class())._name());
551
+ return $1;
552
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Object)})}
553
553
  }),
554
554
  smalltalk.Object);
555
555
 
@@ -557,12 +557,12 @@ smalltalk.addMethod(
557
557
  "_respondsTo_",
558
558
  smalltalk.method({
559
559
  selector: "respondsTo:",
560
- fn: function (aSelector) {
561
- var self = this;
562
- var $1;
563
- $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_canUnderstand_", [aSelector]);
564
- return $1;
565
- }
560
+ fn: function (aSelector){
561
+ var self=this;
562
+ return smalltalk.withContext(function($ctx1) {
563
+ $1=_st(_st(self)._class())._canUnderstand_(aSelector);
564
+ return $1;
565
+ }, function($ctx1) {$ctx1.fill(self,"respondsTo:",{aSelector:aSelector}, smalltalk.Object)})}
566
566
  }),
567
567
  smalltalk.Object);
568
568
 
@@ -570,17 +570,18 @@ smalltalk.addMethod(
570
570
  "_shallowCopy",
571
571
  smalltalk.method({
572
572
  selector: "shallowCopy",
573
- fn: function () {
574
- var self = this;
575
- var copy = self.klass._new();
576
- for (var i in self) {
577
- if (/^@.+/.test(i)) {
578
- copy[i] = self[i];
579
- }
580
- }
581
- return copy;
582
- return self;
583
- }
573
+ fn: function (){
574
+ var self=this;
575
+ return smalltalk.withContext(function($ctx1) {
576
+ var copy = self.klass._new();
577
+ for(var i in self) {
578
+ if(/^@.+/.test(i)) {
579
+ copy[i] = self[i];
580
+ }
581
+ }
582
+ return copy;
583
+ ;
584
+ return self}, function($ctx1) {$ctx1.fill(self,"shallowCopy",{}, smalltalk.Object)})}
584
585
  }),
585
586
  smalltalk.Object);
586
587
 
@@ -588,11 +589,10 @@ smalltalk.addMethod(
588
589
  "_shouldNotImplement",
589
590
  smalltalk.method({
590
591
  selector: "shouldNotImplement",
591
- fn: function () {
592
- var self = this;
593
- smalltalk.send(self, "_error_", [smalltalk.send("This method should not be implemented in ", "__comma", [smalltalk.send(smalltalk.send(self, "_class", []), "_name", [])])]);
594
- return self;
595
- }
592
+ fn: function (){
593
+ var self=this;
594
+ return smalltalk.withContext(function($ctx1) {
595
+ return self}, function($ctx1) {$ctx1.fill(self,"shouldNotImplement",{}, smalltalk.Object)})}
596
596
  }),
597
597
  smalltalk.Object);
598
598
 
@@ -600,11 +600,10 @@ smalltalk.addMethod(
600
600
  "_size",
601
601
  smalltalk.method({
602
602
  selector: "size",
603
- fn: function () {
604
- var self = this;
605
- smalltalk.send(self, "_error_", ["Object not indexable"]);
606
- return self;
607
- }
603
+ fn: function (){
604
+ var self=this;
605
+ return smalltalk.withContext(function($ctx1) {
606
+ return self}, function($ctx1) {$ctx1.fill(self,"size",{}, smalltalk.Object)})}
608
607
  }),
609
608
  smalltalk.Object);
610
609
 
@@ -612,11 +611,10 @@ smalltalk.addMethod(
612
611
  "_storeOn_",
613
612
  smalltalk.method({
614
613
  selector: "storeOn:",
615
- fn: function (aStream) {
616
- var self = this;
617
- smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send(self, "_printString", [])]);
618
- return self;
619
- }
614
+ fn: function (aStream){
615
+ var self=this;
616
+ return smalltalk.withContext(function($ctx1) {
617
+ return self}, function($ctx1) {$ctx1.fill(self,"storeOn:",{aStream:aStream}, smalltalk.Object)})}
620
618
  }),
621
619
  smalltalk.Object);
622
620
 
@@ -624,12 +622,14 @@ smalltalk.addMethod(
624
622
  "_storeString",
625
623
  smalltalk.method({
626
624
  selector: "storeString",
627
- fn: function () {
628
- var self = this;
629
- var $1;
630
- $1 = smalltalk.send(smalltalk.String || String, "_streamContents_", [function (s) {return smalltalk.send(self, "_storeOn_", [s]);}]);
631
- return $1;
632
- }
625
+ fn: function (){
626
+ var self=this;
627
+ return smalltalk.withContext(function($ctx1) {
628
+ $1=_st((smalltalk.String || String))._streamContents_((function(s){
629
+ return smalltalk.withContext(function($ctx2) {
630
+ }, function($ctx2) {$ctx2.fillBlock({s:s},$ctx1)})}));
631
+ return $1;
632
+ }, function($ctx1) {$ctx1.fill(self,"storeString",{}, smalltalk.Object)})}
633
633
  }),
634
634
  smalltalk.Object);
635
635
 
@@ -637,11 +637,23 @@ smalltalk.addMethod(
637
637
  "_subclassResponsibility",
638
638
  smalltalk.method({
639
639
  selector: "subclassResponsibility",
640
- fn: function () {
641
- var self = this;
642
- smalltalk.send(self, "_error_", ["This method is a responsibility of a subclass"]);
643
- return self;
644
- }
640
+ fn: function (){
641
+ var self=this;
642
+ return smalltalk.withContext(function($ctx1) {
643
+ return self}, function($ctx1) {$ctx1.fill(self,"subclassResponsibility",{}, smalltalk.Object)})}
644
+ }),
645
+ smalltalk.Object);
646
+
647
+ smalltalk.addMethod(
648
+ "_test",
649
+ smalltalk.method({
650
+ selector: "test",
651
+ fn: function (){
652
+ var self=this;
653
+ var a;
654
+ return smalltalk.withContext(function($ctx1) {
655
+ _st(self)._halt();
656
+ return self}, function($ctx1) {$ctx1.fill(self,"test",{a:a}, smalltalk.Object)})}
645
657
  }),
646
658
  smalltalk.Object);
647
659
 
@@ -649,11 +661,10 @@ smalltalk.addMethod(
649
661
  "_throw_",
650
662
  smalltalk.method({
651
663
  selector: "throw:",
652
- fn: function (anObject) {
653
- var self = this;
654
- throw anObject;
655
- return self;
656
- }
664
+ fn: function (anObject){
665
+ var self=this;
666
+ return smalltalk.withContext(function($ctx1) {
657
667
  throw anObject ;
668
+ return self}, function($ctx1) {$ctx1.fill(self,"throw:",{anObject:anObject}, smalltalk.Object)})}
658
669
  }),
659
670
  smalltalk.Object);
660
671
 
@@ -661,16 +672,10 @@ smalltalk.addMethod(
661
672
  "_try_catch_",
662
673
  smalltalk.method({
663
674
  selector: "try:catch:",
664
- fn: function (aBlock, anotherBlock) {
665
- var self = this;
666
- try {
667
- result = aBlock();
668
- } catch (e) {
669
- result = anotherBlock(e);
670
- }
671
- return result;
672
- return self;
673
- }
675
+ fn: function (aBlock,anotherBlock){
676
+ var self=this;
677
+ return smalltalk.withContext(function($ctx1) {
678
+ return self}, function($ctx1) {$ctx1.fill(self,"try:catch:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Object)})}
674
679
  }),
675
680
  smalltalk.Object);
676
681
 
@@ -678,10 +683,10 @@ smalltalk.addMethod(
678
683
  "_value",
679
684
  smalltalk.method({
680
685
  selector: "value",
681
- fn: function () {
682
- var self = this;
683
- return self;
684
- }
686
+ fn: function (){
687
+ var self=this;
688
+ return smalltalk.withContext(function($ctx1) {
689
+ return self}, function($ctx1) {$ctx1.fill(self,"value",{}, smalltalk.Object)})}
685
690
  }),
686
691
  smalltalk.Object);
687
692
 
@@ -689,36 +694,38 @@ smalltalk.addMethod(
689
694
  "_yourself",
690
695
  smalltalk.method({
691
696
  selector: "yourself",
692
- fn: function () {
693
- var self = this;
694
- return self;
695
- }
697
+ fn: function (){
698
+ var self=this;
699
+ return smalltalk.withContext(function($ctx1) {
700
+ $1=self;
701
+ return $1;
702
+ }, function($ctx1) {$ctx1.fill(self,"yourself",{}, smalltalk.Object)})}
696
703
  }),
697
704
  smalltalk.Object);
698
705
 
699
706
  smalltalk.addMethod(
700
- "_~_eq",
707
+ "__tild_eq",
701
708
  smalltalk.method({
702
709
  selector: "~=",
703
- fn: function (anObject) {
704
- var self = this;
705
- var $1;
706
- $1 = smalltalk.send(smalltalk.send(self, "__eq", [anObject]), "__eq", [false]);
707
- return $1;
708
- }
710
+ fn: function (anObject){
711
+ var self=this;
712
+ return smalltalk.withContext(function($ctx1) {
713
+ $1=_st(_st(self).__eq(anObject)).__eq(false);
714
+ return $1;
715
+ }, function($ctx1) {$ctx1.fill(self,"~=",{anObject:anObject}, smalltalk.Object)})}
709
716
  }),
710
717
  smalltalk.Object);
711
718
 
712
719
  smalltalk.addMethod(
713
- "_~~",
720
+ "__tild_tild",
714
721
  smalltalk.method({
715
722
  selector: "~~",
716
- fn: function (anObject) {
717
- var self = this;
718
- var $1;
719
- $1 = smalltalk.send(smalltalk.send(self, "__eq_eq", [anObject]), "__eq", [false]);
720
- return $1;
721
- }
723
+ fn: function (anObject){
724
+ var self=this;
725
+ return smalltalk.withContext(function($ctx1) {
726
+ $1=_st(_st(self).__eq_eq(anObject)).__eq(false);
727
+ return $1;
728
+ }, function($ctx1) {$ctx1.fill(self,"~~",{anObject:anObject}, smalltalk.Object)})}
722
729
  }),
723
730
  smalltalk.Object);
724
731
 
@@ -727,28 +734,28 @@ smalltalk.addMethod(
727
734
  "_initialize",
728
735
  smalltalk.method({
729
736
  selector: "initialize",
730
- fn: function () {
731
- var self = this;
732
- return self;
733
- }
737
+ fn: function (){
738
+ var self=this;
739
+ return smalltalk.withContext(function($ctx1) {
734
740
  }),
735
741
  smalltalk.Object.klass);
736
742
 
737
743
 
738
744
  smalltalk.addClass('Boolean', smalltalk.Object, [], 'Kernel-Objects');
739
745
  smalltalk.addMethod(
740
- "_&",
746
+ "__and",
741
747
  smalltalk.method({
742
748
  selector: "&",
743
- fn: function (aBoolean) {
744
- var self = this;
745
- if (self == true) {
746
- return aBoolean;
747
- } else {
748
- return false;
749
- }
750
- return self;
751
- }
749
+ fn: function (aBoolean){
750
+ var self=this;
751
+ return smalltalk.withContext(function($ctx1) {
752
+ if(self == true) {
753
+ return aBoolean;
754
+ } else {
755
+ return false;
756
+ }
757
+ ;
758
+ return self}, function($ctx1) {$ctx1.fill(self,"&",{aBoolean:aBoolean}, smalltalk.Boolean)})}
752
759
  }),
753
760
  smalltalk.Boolean);
754
761
 
@@ -756,16 +763,15 @@ smalltalk.addMethod(
756
763
  "__eq",
757
764
  smalltalk.method({
758
765
  selector: "=",
759
- fn: function (aBoolean) {
760
- var self = this;
761
- var $1;
762
- $1 = smalltalk.send(smalltalk.send(aBoolean, "_class", []), "__eq", [smalltalk.send(self, "_class", [])]);
763
- if (!smalltalk.assert($1)) {
764
- return false;
765
- }
766
- return Boolean(self == true) == aBoolean;
767
- return self;
768
- }
766
+ fn: function (aBoolean){
767
+ var self=this;
768
+ return smalltalk.withContext(function($ctx1) {
769
+ if(! aBoolean._isBoolean || ! aBoolean._isBoolean()) {
770
+ return false;
771
+ }
772
+ return Boolean(self == true) == aBoolean
773
+ ;
774
+ return self}, function($ctx1) {$ctx1.fill(self,"=",{aBoolean:aBoolean}, smalltalk.Boolean)})}
769
775
  }),
770
776
  smalltalk.Boolean);
771
777
 
@@ -773,12 +779,12 @@ smalltalk.addMethod(
773
779
  "__eq_eq",
774
780
  smalltalk.method({
775
781
  selector: "==",
776
- fn: function (aBoolean) {
777
- var self = this;
778
- var $1;
779
- $1 = smalltalk.send(self, "__eq", [aBoolean]);
780
- return $1;
781
- }
782
+ fn: function (aBoolean){
783
+ var self=this;
784
+ return smalltalk.withContext(function($ctx1) {
785
+ $1=_st(self).__eq(aBoolean);
786
+ return $1;
787
+ }, function($ctx1) {$ctx1.fill(self,"==",{aBoolean:aBoolean}, smalltalk.Boolean)})}
782
788
  }),
783
789
  smalltalk.Boolean);
784
790
 
@@ -786,13 +792,15 @@ smalltalk.addMethod(
786
792
  "_and_",
787
793
  smalltalk.method({
788
794
  selector: "and:",
789
- fn: function (aBlock) {
790
- var self = this;
791
- var $2, $1;
792
- $2 = smalltalk.send(self, "__eq", [true]);
793
- $1 = smalltalk.send($2, "_ifTrue_ifFalse_", [aBlock, function () {return false;}]);
794
- return $1;
795
- }
795
+ fn: function (aBlock){
796
+ var self=this;
797
+ return smalltalk.withContext(function($ctx1) {
798
+ $2=_st(self).__eq(true);
799
+ $1=_st($2)._ifTrue_ifFalse_(aBlock,(function(){
800
+ return smalltalk.withContext(function($ctx2) {
801
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
802
+ return $1;
803
+ }, function($ctx1) {$ctx1.fill(self,"and:",{aBlock:aBlock}, smalltalk.Boolean)})}
796
804
  }),
797
805
  smalltalk.Boolean);
798
806
 
@@ -800,10 +808,12 @@ smalltalk.addMethod(
800
808
  "_asJSON",
801
809
  smalltalk.method({
802
810
  selector: "asJSON",
803
- fn: function () {
804
- var self = this;
805
- return self;
806
- }
811
+ fn: function (){
812
+ var self=this;
813
+ return smalltalk.withContext(function($ctx1) {
814
+ $1=self;
815
+ return $1;
816
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.Boolean)})}
807
817
  }),
808
818
  smalltalk.Boolean);
809
819
 
@@ -811,10 +821,12 @@ smalltalk.addMethod(
811
821
  "_deepCopy",
812
822
  smalltalk.method({
813
823
  selector: "deepCopy",
814
- fn: function () {
815
- var self = this;
816
- return self;
817
- }
824
+ fn: function (){
825
+ var self=this;
826
+ return smalltalk.withContext(function($ctx1) {
827
+ $1=self;
828
+ return $1;
829
+ }, function($ctx1) {$ctx1.fill(self,"deepCopy",{}, smalltalk.Boolean)})}
818
830
  }),
819
831
  smalltalk.Boolean);
820
832
 
@@ -822,12 +834,14 @@ smalltalk.addMethod(
822
834
  "_ifFalse_",
823
835
  smalltalk.method({
824
836
  selector: "ifFalse:",
825
- fn: function (aBlock) {
826
- var self = this;
827
- var $1;
828
- $1 = smalltalk.send(self, "_ifTrue_ifFalse_", [function () {}, aBlock]);
829
- return $1;
830
- }
837
+ fn: function (aBlock){
838
+ var self=this;
839
+ return smalltalk.withContext(function($ctx1) {
840
+ $2=self;
841
+ $1=_st($2)._ifTrue_ifFalse_((function(){
842
+ return smalltalk.withContext(function($ctx2) {
843
+ return $1;
844
+ }, function($ctx1) {$ctx1.fill(self,"ifFalse:",{aBlock:aBlock}, smalltalk.Boolean)})}
831
845
  }),
832
846
  smalltalk.Boolean);
833
847
 
@@ -835,12 +849,13 @@ smalltalk.addMethod(
835
849
  "_ifFalse_ifTrue_",
836
850
  smalltalk.method({
837
851
  selector: "ifFalse:ifTrue:",
838
- fn: function (aBlock, anotherBlock) {
839
- var self = this;
840
- var $1;
841
- $1 = smalltalk.send(self, "_ifTrue_ifFalse_", [anotherBlock, aBlock]);
842
- return $1;
843
- }
852
+ fn: function (aBlock,anotherBlock){
853
+ var self=this;
854
+ return smalltalk.withContext(function($ctx1) {
855
+ $2=self;
856
+ $1=_st($2)._ifTrue_ifFalse_(anotherBlock,aBlock);
857
+ return $1;
858
+ }, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Boolean)})}
844
859
  }),
845
860
  smalltalk.Boolean);
846
861
 
@@ -848,12 +863,14 @@ smalltalk.addMethod(
848
863
  "_ifTrue_",
849
864
  smalltalk.method({
850
865
  selector: "ifTrue:",
851
- fn: function (aBlock) {
852
- var self = this;
853
- var $1;
854
- $1 = smalltalk.send(self, "_ifTrue_ifFalse_", [aBlock, function () {}]);
855
- return $1;
856
- }
866
+ fn: function (aBlock){
867
+ var self=this;
868
+ return smalltalk.withContext(function($ctx1) {
869
+ $2=self;
870
+ $1=_st($2)._ifTrue_ifFalse_(aBlock,(function(){
871
+ return smalltalk.withContext(function($ctx2) {
872
+ return $1;
873
+ }, function($ctx1) {$ctx1.fill(self,"ifTrue:",{aBlock:aBlock}, smalltalk.Boolean)})}
857
874
  }),
858
875
  smalltalk.Boolean);
859
876
 
@@ -861,15 +878,27 @@ smalltalk.addMethod(
861
878
  "_ifTrue_ifFalse_",
862
879
  smalltalk.method({
863
880
  selector: "ifTrue:ifFalse:",
864
- fn: function (aBlock, anotherBlock) {
865
- var self = this;
866
- if (self == true) {
867
- return aBlock();
868
- } else {
869
- return anotherBlock();
870
- }
871
- return self;
872
- }
881
+ fn: function (aBlock,anotherBlock){
882
+ var self=this;
883
+ return smalltalk.withContext(function($ctx1) {
884
+ if(self == true) {
885
+ return aBlock();
886
+ } else {
887
+ return anotherBlock();
888
+ }
889
+ ;
890
+ return self}, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.Boolean)})}
891
+ }),
892
+ smalltalk.Boolean);
893
+
894
+ smalltalk.addMethod(
895
+ "_isBoolean",
896
+ smalltalk.method({
897
+ selector: "isBoolean",
898
+ fn: function (){
899
+ var self=this;
900
+ return smalltalk.withContext(function($ctx1) {
901
+ }, function($ctx1) {$ctx1.fill(self,"isBoolean",{}, smalltalk.Boolean)})}
873
902
  }),
874
903
  smalltalk.Boolean);
875
904
 
@@ -877,12 +906,12 @@ smalltalk.addMethod(
877
906
  "_not",
878
907
  smalltalk.method({
879
908
  selector: "not",
880
- fn: function () {
881
- var self = this;
882
- var $1;
883
- $1 = smalltalk.send(self, "__eq", [false]);
884
- return $1;
885
- }
909
+ fn: function (){
910
+ var self=this;
911
+ return smalltalk.withContext(function($ctx1) {
912
+ $1=_st(self).__eq(false);
913
+ return $1;
914
+ }, function($ctx1) {$ctx1.fill(self,"not",{}, smalltalk.Boolean)})}
886
915
  }),
887
916
  smalltalk.Boolean);
888
917
 
@@ -890,13 +919,15 @@ smalltalk.addMethod(
890
919
  "_or_",
891
920
  smalltalk.method({
892
921
  selector: "or:",
893
- fn: function (aBlock) {
894
- var self = this;
895
- var $2, $1;
896
- $2 = smalltalk.send(self, "__eq", [true]);
897
- $1 = smalltalk.send($2, "_ifTrue_ifFalse_", [function () {return true;}, aBlock]);
898
- return $1;
899
- }
922
+ fn: function (aBlock){
923
+ var self=this;
924
+ return smalltalk.withContext(function($ctx1) {
925
+ $2=_st(self).__eq(true);
926
+ $1=_st($2)._ifTrue_ifFalse_((function(){
927
+ return smalltalk.withContext(function($ctx2) {
928
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),aBlock);
929
+ return $1;
930
+ }, function($ctx1) {$ctx1.fill(self,"or:",{aBlock:aBlock}, smalltalk.Boolean)})}
900
931
  }),
901
932
  smalltalk.Boolean);
902
933
 
@@ -904,11 +935,10 @@ smalltalk.addMethod(
904
935
  "_printString",
905
936
  smalltalk.method({
906
937
  selector: "printString",
907
- fn: function () {
908
- var self = this;
909
- return self.toString();
910
- return self;
911
- }
938
+ fn: function (){
939
+ var self=this;
940
+ return smalltalk.withContext(function($ctx1) {
941
+ return self}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Boolean)})}
912
942
  }),
913
943
  smalltalk.Boolean);
914
944
 
@@ -916,26 +946,29 @@ smalltalk.addMethod(
916
946
  "_shallowCopy",
917
947
  smalltalk.method({
918
948
  selector: "shallowCopy",
919
- fn: function () {
920
- var self = this;
921
- return self;
922
- }
949
+ fn: function (){
950
+ var self=this;
951
+ return smalltalk.withContext(function($ctx1) {
952
+ $1=self;
953
+ return $1;
954
+ }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{}, smalltalk.Boolean)})}
923
955
  }),
924
956
  smalltalk.Boolean);
925
957
 
926
958
  smalltalk.addMethod(
927
- "_|",
959
+ "__or",
928
960
  smalltalk.method({
929
961
  selector: "|",
930
- fn: function (aBoolean) {
931
- var self = this;
932
- if (self == true) {
933
- return true;
934
- } else {
935
- return aBoolean;
936
- }
937
- return self;
938
- }
962
+ fn: function (aBoolean){
963
+ var self=this;
964
+ return smalltalk.withContext(function($ctx1) {
965
+ if(self == true) {
966
+ return true;
967
+ } else {
968
+ return aBoolean;
969
+ }
970
+ ;
971
+ return self}, function($ctx1) {$ctx1.fill(self,"|",{aBoolean:aBoolean}, smalltalk.Boolean)})}
939
972
  }),
940
973
  smalltalk.Boolean);
941
974
 
@@ -946,11 +979,10 @@ smalltalk.addMethod(
946
979
  "__plus",
947
980
  smalltalk.method({
948
981
  selector: "+",
949
- fn: function (aDate) {
950
- var self = this;
951
- return self + aDate;
952
- return self;
953
- }
982
+ fn: function (aDate){
983
+ var self=this;
984
+ return smalltalk.withContext(function($ctx1) {
985
+ return self}, function($ctx1) {$ctx1.fill(self,"+",{aDate:aDate}, smalltalk.Date)})}
954
986
  }),
955
987
  smalltalk.Date);
956
988
 
@@ -958,11 +990,10 @@ smalltalk.addMethod(
958
990
  "__minus",
959
991
  smalltalk.method({
960
992
  selector: "-",
961
- fn: function (aDate) {
962
- var self = this;
963
- return self - aDate;
964
- return self;
965
- }
993
+ fn: function (aDate){
994
+ var self=this;
995
+ return smalltalk.withContext(function($ctx1) {
996
+ return self}, function($ctx1) {$ctx1.fill(self,"-",{aDate:aDate}, smalltalk.Date)})}
966
997
  }),
967
998
  smalltalk.Date);
968
999
 
@@ -970,11 +1001,10 @@ smalltalk.addMethod(
970
1001
  "__lt",
971
1002
  smalltalk.method({
972
1003
  selector: "<",
973
- fn: function (aDate) {
974
- var self = this;
975
- return self < aDate;
976
- return self;
977
- }
1004
+ fn: function (aDate){
1005
+ var self=this;
1006
+ return smalltalk.withContext(function($ctx1) {
1007
+ return self}, function($ctx1) {$ctx1.fill(self,"<",{aDate:aDate}, smalltalk.Date)})}
978
1008
  }),
979
1009
  smalltalk.Date);
980
1010
 
@@ -982,11 +1012,10 @@ smalltalk.addMethod(
982
1012
  "__lt_eq",
983
1013
  smalltalk.method({
984
1014
  selector: "<=",
985
- fn: function (aDate) {
986
- var self = this;
987
- return self <= aDate;
988
- return self;
989
- }
1015
+ fn: function (aDate){
1016
+ var self=this;
1017
+ return smalltalk.withContext(function($ctx1) {
1018
+ return self}, function($ctx1) {$ctx1.fill(self,"<=",{aDate:aDate}, smalltalk.Date)})}
990
1019
  }),
991
1020
  smalltalk.Date);
992
1021
 
@@ -994,11 +1023,10 @@ smalltalk.addMethod(
994
1023
  "__gt",
995
1024
  smalltalk.method({
996
1025
  selector: ">",
997
- fn: function (aDate) {
998
- var self = this;
999
- return self > aDate;
1000
- return self;
1001
- }
1026
+ fn: function (aDate){
1027
+ var self=this;
1028
+ return smalltalk.withContext(function($ctx1) {
1029
+ return self}, function($ctx1) {$ctx1.fill(self,">",{aDate:aDate}, smalltalk.Date)})}
1002
1030
  }),
1003
1031
  smalltalk.Date);
1004
1032
 
@@ -1006,11 +1034,10 @@ smalltalk.addMethod(
1006
1034
  "__gt_eq",
1007
1035
  smalltalk.method({
1008
1036
  selector: ">=",
1009
- fn: function (aDate) {
1010
- var self = this;
1011
- return self >= aDate;
1012
- return self;
1013
- }
1037
+ fn: function (aDate){
1038
+ var self=this;
1039
+ return smalltalk.withContext(function($ctx1) {
1040
+ return self}, function($ctx1) {$ctx1.fill(self,">=",{aDate:aDate}, smalltalk.Date)})}
1014
1041
  }),
1015
1042
  smalltalk.Date);
1016
1043
 
@@ -1018,11 +1045,10 @@ smalltalk.addMethod(
1018
1045
  "_asDateString",
1019
1046
  smalltalk.method({
1020
1047
  selector: "asDateString",
1021
- fn: function () {
1022
- var self = this;
1023
- return self.toDateString();
1024
- return self;
1025
- }
1048
+ fn: function (){
1049
+ var self=this;
1050
+ return smalltalk.withContext(function($ctx1) {
1051
+ return self}, function($ctx1) {$ctx1.fill(self,"asDateString",{}, smalltalk.Date)})}
1026
1052
  }),
1027
1053
  smalltalk.Date);
1028
1054
 
@@ -1030,11 +1056,10 @@ smalltalk.addMethod(
1030
1056
  "_asLocaleString",
1031
1057
  smalltalk.method({
1032
1058
  selector: "asLocaleString",
1033
- fn: function () {
1034
- var self = this;
1035
- return self.toLocaleString();
1036
- return self;
1037
- }
1059
+ fn: function (){
1060
+ var self=this;
1061
+ return smalltalk.withContext(function($ctx1) {
1062
+ return self}, function($ctx1) {$ctx1.fill(self,"asLocaleString",{}, smalltalk.Date)})}
1038
1063
  }),
1039
1064
  smalltalk.Date);
1040
1065
 
@@ -1042,12 +1067,12 @@ smalltalk.addMethod(
1042
1067
  "_asMilliseconds",
1043
1068
  smalltalk.method({
1044
1069
  selector: "asMilliseconds",
1045
- fn: function () {
1046
- var self = this;
1047
- var $1;
1048
- $1 = smalltalk.send(self, "_time", []);
1049
- return $1;
1050
- }
1070
+ fn: function (){
1071
+ var self=this;
1072
+ return smalltalk.withContext(function($ctx1) {
1073
+ $1=_st(self)._time();
1074
+ return $1;
1075
+ }, function($ctx1) {$ctx1.fill(self,"asMilliseconds",{}, smalltalk.Date)})}
1051
1076
  }),
1052
1077
  smalltalk.Date);
1053
1078
 
@@ -1055,12 +1080,12 @@ smalltalk.addMethod(
1055
1080
  "_asNumber",
1056
1081
  smalltalk.method({
1057
1082
  selector: "asNumber",
1058
- fn: function () {
1059
- var self = this;
1060
- var $1;
1061
- $1 = smalltalk.send(self, "_asMilliseconds", []);
1062
- return $1;
1063
- }
1083
+ fn: function (){
1084
+ var self=this;
1085
+ return smalltalk.withContext(function($ctx1) {
1086
+ $1=_st(self)._asMilliseconds();
1087
+ return $1;
1088
+ }, function($ctx1) {$ctx1.fill(self,"asNumber",{}, smalltalk.Date)})}
1064
1089
  }),
1065
1090
  smalltalk.Date);
1066
1091
 
@@ -1068,11 +1093,10 @@ smalltalk.addMethod(
1068
1093
  "_asString",
1069
1094
  smalltalk.method({
1070
1095
  selector: "asString",
1071
- fn: function () {
1072
- var self = this;
1073
- return self.toString();
1074
- return self;
1075
- }
1096
+ fn: function (){
1097
+ var self=this;
1098
+ return smalltalk.withContext(function($ctx1) {
1099
+ return self}, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.Date)})}
1076
1100
  }),
1077
1101
  smalltalk.Date);
1078
1102
 
@@ -1080,11 +1104,10 @@ smalltalk.addMethod(
1080
1104
  "_asTimeString",
1081
1105
  smalltalk.method({
1082
1106
  selector: "asTimeString",
1083
- fn: function () {
1084
- var self = this;
1085
- return self.toTimeString();
1086
- return self;
1087
- }
1107
+ fn: function (){
1108
+ var self=this;
1109
+ return smalltalk.withContext(function($ctx1) {
1110
+ return self}, function($ctx1) {$ctx1.fill(self,"asTimeString",{}, smalltalk.Date)})}
1088
1111
  }),
1089
1112
  smalltalk.Date);
1090
1113
 
@@ -1092,12 +1115,12 @@ smalltalk.addMethod(
1092
1115
  "_day",
1093
1116
  smalltalk.method({
1094
1117
  selector: "day",
1095
- fn: function () {
1096
- var self = this;
1097
- var $1;
1098
- $1 = smalltalk.send(self, "_dayOfWeek", []);
1099
- return $1;
1100
- }
1118
+ fn: function (){
1119
+ var self=this;
1120
+ return smalltalk.withContext(function($ctx1) {
1121
+ $1=_st(self)._dayOfWeek();
1122
+ return $1;
1123
+ }, function($ctx1) {$ctx1.fill(self,"day",{}, smalltalk.Date)})}
1101
1124
  }),
1102
1125
  smalltalk.Date);
1103
1126
 
@@ -1105,11 +1128,10 @@ smalltalk.addMethod(
1105
1128
  "_day_",
1106
1129
  smalltalk.method({
1107
1130
  selector: "day:",
1108
- fn: function (aNumber) {
1109
- var self = this;
1110
- smalltalk.send(self, "_dayOfWeek_", [aNumber]);
1111
- return self;
1112
- }
1131
+ fn: function (aNumber){
1132
+ var self=this;
1133
+ return smalltalk.withContext(function($ctx1) {
1134
+ return self}, function($ctx1) {$ctx1.fill(self,"day:",{aNumber:aNumber}, smalltalk.Date)})}
1113
1135
  }),
1114
1136
  smalltalk.Date);
1115
1137
 
@@ -1117,11 +1139,10 @@ smalltalk.addMethod(
1117
1139
  "_dayOfMonth",
1118
1140
  smalltalk.method({
1119
1141
  selector: "dayOfMonth",
1120
- fn: function () {
1121
- var self = this;
1122
- return self.getDate();
1123
- return self;
1124
- }
1142
+ fn: function (){
1143
+ var self=this;
1144
+ return smalltalk.withContext(function($ctx1) {
1145
+ return self}, function($ctx1) {$ctx1.fill(self,"dayOfMonth",{}, smalltalk.Date)})}
1125
1146
  }),
1126
1147
  smalltalk.Date);
1127
1148
 
@@ -1129,11 +1150,10 @@ smalltalk.addMethod(
1129
1150
  "_dayOfMonth_",
1130
1151
  smalltalk.method({
1131
1152
  selector: "dayOfMonth:",
1132
- fn: function (aNumber) {
1133
- var self = this;
1134
- self.setDate(aNumber);
1135
- return self;
1136
- }
1153
+ fn: function (aNumber){
1154
+ var self=this;
1155
+ return smalltalk.withContext(function($ctx1) {
1156
+ return self}, function($ctx1) {$ctx1.fill(self,"dayOfMonth:",{aNumber:aNumber}, smalltalk.Date)})}
1137
1157
  }),
1138
1158
  smalltalk.Date);
1139
1159
 
@@ -1141,11 +1161,10 @@ smalltalk.addMethod(
1141
1161
  "_dayOfWeek",
1142
1162
  smalltalk.method({
1143
1163
  selector: "dayOfWeek",
1144
- fn: function () {
1145
- var self = this;
1146
- return self.getDay() + 1;
1147
- return self;
1148
- }
1164
+ fn: function (){
1165
+ var self=this;
1166
+ return smalltalk.withContext(function($ctx1) {
1167
+ return self}, function($ctx1) {$ctx1.fill(self,"dayOfWeek",{}, smalltalk.Date)})}
1149
1168
  }),
1150
1169
  smalltalk.Date);
1151
1170
 
@@ -1153,11 +1172,10 @@ smalltalk.addMethod(
1153
1172
  "_dayOfWeek_",
1154
1173
  smalltalk.method({
1155
1174
  selector: "dayOfWeek:",
1156
- fn: function (aNumber) {
1157
- var self = this;
1158
- return self.setDay(aNumber - 1);
1159
- return self;
1160
- }
1175
+ fn: function (aNumber){
1176
+ var self=this;
1177
+ return smalltalk.withContext(function($ctx1) {
1178
+ return self}, function($ctx1) {$ctx1.fill(self,"dayOfWeek:",{aNumber:aNumber}, smalltalk.Date)})}
1161
1179
  }),
1162
1180
  smalltalk.Date);
1163
1181
 
@@ -1165,11 +1183,10 @@ smalltalk.addMethod(
1165
1183
  "_hours",
1166
1184
  smalltalk.method({
1167
1185
  selector: "hours",
1168
- fn: function () {
1169
- var self = this;
1170
- return self.getHours();
1171
- return self;
1172
- }
1186
+ fn: function (){
1187
+ var self=this;
1188
+ return smalltalk.withContext(function($ctx1) {
1189
+ return self}, function($ctx1) {$ctx1.fill(self,"hours",{}, smalltalk.Date)})}
1173
1190
  }),
1174
1191
  smalltalk.Date);
1175
1192
 
@@ -1177,11 +1194,10 @@ smalltalk.addMethod(
1177
1194
  "_hours_",
1178
1195
  smalltalk.method({
1179
1196
  selector: "hours:",
1180
- fn: function (aNumber) {
1181
- var self = this;
1182
- self.setHours(aNumber);
1183
- return self;
1184
- }
1197
+ fn: function (aNumber){
1198
+ var self=this;
1199
+ return smalltalk.withContext(function($ctx1) {
1200
+ return self}, function($ctx1) {$ctx1.fill(self,"hours:",{aNumber:aNumber}, smalltalk.Date)})}
1185
1201
  }),
1186
1202
  smalltalk.Date);
1187
1203
 
@@ -1189,11 +1205,10 @@ smalltalk.addMethod(
1189
1205
  "_milliseconds",
1190
1206
  smalltalk.method({
1191
1207
  selector: "milliseconds",
1192
- fn: function () {
1193
- var self = this;
1194
- return self.getMilliseconds();
1195
- return self;
1196
- }
1208
+ fn: function (){
1209
+ var self=this;
1210
+ return smalltalk.withContext(function($ctx1) {
1211
+ return self}, function($ctx1) {$ctx1.fill(self,"milliseconds",{}, smalltalk.Date)})}
1197
1212
  }),
1198
1213
  smalltalk.Date);
1199
1214
 
@@ -1201,11 +1216,10 @@ smalltalk.addMethod(
1201
1216
  "_milliseconds_",
1202
1217
  smalltalk.method({
1203
1218
  selector: "milliseconds:",
1204
- fn: function (aNumber) {
1205
- var self = this;
1206
- self.setMilliseconds(aNumber);
1207
- return self;
1208
- }
1219
+ fn: function (aNumber){
1220
+ var self=this;
1221
+ return smalltalk.withContext(function($ctx1) {
1222
+ return self}, function($ctx1) {$ctx1.fill(self,"milliseconds:",{aNumber:aNumber}, smalltalk.Date)})}
1209
1223
  }),
1210
1224
  smalltalk.Date);
1211
1225
 
@@ -1213,11 +1227,10 @@ smalltalk.addMethod(
1213
1227
  "_minutes",
1214
1228
  smalltalk.method({
1215
1229
  selector: "minutes",
1216
- fn: function () {
1217
- var self = this;
1218
- return self.getMinutes();
1219
- return self;
1220
- }
1230
+ fn: function (){
1231
+ var self=this;
1232
+ return smalltalk.withContext(function($ctx1) {
1233
+ return self}, function($ctx1) {$ctx1.fill(self,"minutes",{}, smalltalk.Date)})}
1221
1234
  }),
1222
1235
  smalltalk.Date);
1223
1236
 
@@ -1225,11 +1238,10 @@ smalltalk.addMethod(
1225
1238
  "_minutes_",
1226
1239
  smalltalk.method({
1227
1240
  selector: "minutes:",
1228
- fn: function (aNumber) {
1229
- var self = this;
1230
- self.setMinutes(aNumber);
1231
- return self;
1232
- }
1241
+ fn: function (aNumber){
1242
+ var self=this;
1243
+ return smalltalk.withContext(function($ctx1) {
1244
+ return self}, function($ctx1) {$ctx1.fill(self,"minutes:",{aNumber:aNumber}, smalltalk.Date)})}
1233
1245
  }),
1234
1246
  smalltalk.Date);
1235
1247
 
@@ -1237,11 +1249,10 @@ smalltalk.addMethod(
1237
1249
  "_month",
1238
1250
  smalltalk.method({
1239
1251
  selector: "month",
1240
- fn: function () {
1241
- var self = this;
1242
- return self.getMonth() + 1;
1243
- return self;
1244
- }
1252
+ fn: function (){
1253
+ var self=this;
1254
+ return smalltalk.withContext(function($ctx1) {
1255
+ return self}, function($ctx1) {$ctx1.fill(self,"month",{}, smalltalk.Date)})}
1245
1256
  }),
1246
1257
  smalltalk.Date);
1247
1258
 
@@ -1249,11 +1260,10 @@ smalltalk.addMethod(
1249
1260
  "_month_",
1250
1261
  smalltalk.method({
1251
1262
  selector: "month:",
1252
- fn: function (aNumber) {
1253
- var self = this;
1254
- self.setMonth(aNumber - 1);
1255
- return self;
1256
- }
1263
+ fn: function (aNumber){
1264
+ var self=this;
1265
+ return smalltalk.withContext(function($ctx1) {
1266
+ return self}, function($ctx1) {$ctx1.fill(self,"month:",{aNumber:aNumber}, smalltalk.Date)})}
1257
1267
  }),
1258
1268
  smalltalk.Date);
1259
1269
 
@@ -1261,12 +1271,12 @@ smalltalk.addMethod(
1261
1271
  "_printString",
1262
1272
  smalltalk.method({
1263
1273
  selector: "printString",
1264
- fn: function () {
1265
- var self = this;
1266
- var $1;
1267
- $1 = smalltalk.send(self, "_asString", []);
1268
- return $1;
1269
- }
1274
+ fn: function (){
1275
+ var self=this;
1276
+ return smalltalk.withContext(function($ctx1) {
1277
+ $1=_st(self)._asString();
1278
+ return $1;
1279
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Date)})}
1270
1280
  }),
1271
1281
  smalltalk.Date);
1272
1282
 
@@ -1274,11 +1284,10 @@ smalltalk.addMethod(
1274
1284
  "_seconds",
1275
1285
  smalltalk.method({
1276
1286
  selector: "seconds",
1277
- fn: function () {
1278
- var self = this;
1279
- return self.getSeconds();
1280
- return self;
1281
- }
1287
+ fn: function (){
1288
+ var self=this;
1289
+ return smalltalk.withContext(function($ctx1) {
1290
+ return self}, function($ctx1) {$ctx1.fill(self,"seconds",{}, smalltalk.Date)})}
1282
1291
  }),
1283
1292
  smalltalk.Date);
1284
1293
 
@@ -1286,11 +1295,10 @@ smalltalk.addMethod(
1286
1295
  "_seconds_",
1287
1296
  smalltalk.method({
1288
1297
  selector: "seconds:",
1289
- fn: function (aNumber) {
1290
- var self = this;
1291
- self.setSeconds(aNumber);
1292
- return self;
1293
- }
1298
+ fn: function (aNumber){
1299
+ var self=this;
1300
+ return smalltalk.withContext(function($ctx1) {
1301
+ return self}, function($ctx1) {$ctx1.fill(self,"seconds:",{aNumber:aNumber}, smalltalk.Date)})}
1294
1302
  }),
1295
1303
  smalltalk.Date);
1296
1304
 
@@ -1298,11 +1306,10 @@ smalltalk.addMethod(
1298
1306
  "_time",
1299
1307
  smalltalk.method({
1300
1308
  selector: "time",
1301
- fn: function () {
1302
- var self = this;
1303
- return self.getTime();
1304
- return self;
1305
- }
1309
+ fn: function (){
1310
+ var self=this;
1311
+ return smalltalk.withContext(function($ctx1) {
1312
+ return self}, function($ctx1) {$ctx1.fill(self,"time",{}, smalltalk.Date)})}
1306
1313
  }),
1307
1314
  smalltalk.Date);
1308
1315
 
@@ -1310,11 +1317,10 @@ smalltalk.addMethod(
1310
1317
  "_time_",
1311
1318
  smalltalk.method({
1312
1319
  selector: "time:",
1313
- fn: function (aNumber) {
1314
- var self = this;
1315
- self.setTime(aNumber);
1316
- return self;
1317
- }
1320
+ fn: function (aNumber){
1321
+ var self=this;
1322
+ return smalltalk.withContext(function($ctx1) {
1323
+ return self}, function($ctx1) {$ctx1.fill(self,"time:",{aNumber:aNumber}, smalltalk.Date)})}
1318
1324
  }),
1319
1325
  smalltalk.Date);
1320
1326
 
@@ -1322,11 +1328,10 @@ smalltalk.addMethod(
1322
1328
  "_year",
1323
1329
  smalltalk.method({
1324
1330
  selector: "year",
1325
- fn: function () {
1326
- var self = this;
1327
- return self.getFullYear();
1328
- return self;
1329
- }
1331
+ fn: function (){
1332
+ var self=this;
1333
+ return smalltalk.withContext(function($ctx1) {
1334
+ return self}, function($ctx1) {$ctx1.fill(self,"year",{}, smalltalk.Date)})}
1330
1335
  }),
1331
1336
  smalltalk.Date);
1332
1337
 
@@ -1334,11 +1339,10 @@ smalltalk.addMethod(
1334
1339
  "_year_",
1335
1340
  smalltalk.method({
1336
1341
  selector: "year:",
1337
- fn: function (aNumber) {
1338
- var self = this;
1339
- self.setFullYear(aNumber);
1340
- return self;
1341
- }
1342
+ fn: function (aNumber){
1343
+ var self=this;
1344
+ return smalltalk.withContext(function($ctx1) {
1345
+ return self}, function($ctx1) {$ctx1.fill(self,"year:",{aNumber:aNumber}, smalltalk.Date)})}
1342
1346
  }),
1343
1347
  smalltalk.Date);
1344
1348
 
@@ -1347,12 +1351,12 @@ smalltalk.addMethod(
1347
1351
  "_fromMilliseconds_",
1348
1352
  smalltalk.method({
1349
1353
  selector: "fromMilliseconds:",
1350
- fn: function (aNumber) {
1351
- var self = this;
1352
- var $1;
1353
- $1 = smalltalk.send(self, "_new_", [aNumber]);
1354
- return $1;
1355
- }
1354
+ fn: function (aNumber){
1355
+ var self=this;
1356
+ return smalltalk.withContext(function($ctx1) {
1357
+ $1=_st(self)._new_(aNumber);
1358
+ return $1;
1359
+ }, function($ctx1) {$ctx1.fill(self,"fromMilliseconds:",{aNumber:aNumber}, smalltalk.Date.klass)})}
1356
1360
  }),
1357
1361
  smalltalk.Date.klass);
1358
1362
 
@@ -1360,12 +1364,12 @@ smalltalk.addMethod(
1360
1364
  "_fromSeconds_",
1361
1365
  smalltalk.method({
1362
1366
  selector: "fromSeconds:",
1363
- fn: function (aNumber) {
1364
- var self = this;
1365
- var $1;
1366
- $1 = smalltalk.send(self, "_fromMilliseconds_", [smalltalk.send(aNumber, "__star", [1000])]);
1367
- return $1;
1368
- }
1367
+ fn: function (aNumber){
1368
+ var self=this;
1369
+ return smalltalk.withContext(function($ctx1) {
1370
+ $1=_st(self)._fromMilliseconds_(_st(aNumber).__star((1000)));
1371
+ return $1;
1372
+ }, function($ctx1) {$ctx1.fill(self,"fromSeconds:",{aNumber:aNumber}, smalltalk.Date.klass)})}
1369
1373
  }),
1370
1374
  smalltalk.Date.klass);
1371
1375
 
@@ -1373,12 +1377,12 @@ smalltalk.addMethod(
1373
1377
  "_fromString_",
1374
1378
  smalltalk.method({
1375
1379
  selector: "fromString:",
1376
- fn: function (aString) {
1377
- var self = this;
1378
- var $1;
1379
- $1 = smalltalk.send(self, "_new_", [aString]);
1380
- return $1;
1381
- }
1380
+ fn: function (aString){
1381
+ var self=this;
1382
+ return smalltalk.withContext(function($ctx1) {
1383
+ $1=_st(self)._new_(aString);
1384
+ return $1;
1385
+ }, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString}, smalltalk.Date.klass)})}
1382
1386
  }),
1383
1387
  smalltalk.Date.klass);
1384
1388
 
@@ -1386,15 +1390,15 @@ smalltalk.addMethod(
1386
1390
  "_millisecondsToRun_",
1387
1391
  smalltalk.method({
1388
1392
  selector: "millisecondsToRun:",
1389
- fn: function (aBlock) {
1390
- var self = this;
1391
- var $1;
1392
- var t;
1393
- t = smalltalk.send(smalltalk.Date || Date, "_now", []);
1394
- smalltalk.send(aBlock, "_value", []);
1395
- $1 = smalltalk.send(smalltalk.send(smalltalk.Date || Date, "_now", []), "__minus", [t]);
1396
- return $1;
1397
- }
1393
+ fn: function (aBlock){
1394
+ var self=this;
1395
+ var t;
1396
+ return smalltalk.withContext(function($ctx1) {
1397
+ t=_st((smalltalk.Date || Date))._now();
1398
+ _st(aBlock)._value();
1399
+ $1=_st(_st((smalltalk.Date || Date))._now()).__minus(t);
1400
+ return $1;
1401
+ }, function($ctx1) {$ctx1.fill(self,"millisecondsToRun:",{aBlock:aBlock,t:t}, smalltalk.Date.klass)})}
1398
1402
  }),
1399
1403
  smalltalk.Date.klass);
1400
1404
 
@@ -1402,11 +1406,10 @@ smalltalk.addMethod(
1402
1406
  "_new_",
1403
1407
  smalltalk.method({
1404
1408
  selector: "new:",
1405
- fn: function (anObject) {
1406
- var self = this;
1407
- return new Date(anObject);
1408
- return self;
1409
- }
1409
+ fn: function (anObject){
1410
+ var self=this;
1411
+ return smalltalk.withContext(function($ctx1) {
1412
+ return self}, function($ctx1) {$ctx1.fill(self,"new:",{anObject:anObject}, smalltalk.Date.klass)})}
1410
1413
  }),
1411
1414
  smalltalk.Date.klass);
1412
1415
 
@@ -1414,12 +1417,12 @@ smalltalk.addMethod(
1414
1417
  "_now",
1415
1418
  smalltalk.method({
1416
1419
  selector: "now",
1417
- fn: function () {
1418
- var self = this;
1419
- var $1;
1420
- $1 = smalltalk.send(self, "_today", []);
1421
- return $1;
1422
- }
1420
+ fn: function (){
1421
+ var self=this;
1422
+ return smalltalk.withContext(function($ctx1) {
1423
+ $1=_st(self)._today();
1424
+ return $1;
1425
+ }, function($ctx1) {$ctx1.fill(self,"now",{}, smalltalk.Date.klass)})}
1423
1426
  }),
1424
1427
  smalltalk.Date.klass);
1425
1428
 
@@ -1427,28 +1430,40 @@ smalltalk.addMethod(
1427
1430
  "_today",
1428
1431
  smalltalk.method({
1429
1432
  selector: "today",
1430
- fn: function () {
1431
- var self = this;
1432
- var $1;
1433
- $1 = smalltalk.send(self, "_new", []);
1434
- return $1;
1435
- }
1433
+ fn: function (){
1434
+ var self=this;
1435
+ return smalltalk.withContext(function($ctx1) {
1436
+ $1=_st(self)._new();
1437
+ return $1;
1438
+ }, function($ctx1) {$ctx1.fill(self,"today",{}, smalltalk.Date.klass)})}
1436
1439
  }),
1437
1440
  smalltalk.Date.klass);
1438
1441
 
1439
1442
 
1440
1443
  smalltalk.addClass('JSObjectProxy', smalltalk.Object, ['jsObject'], 'Kernel-Objects');
1444
+ smalltalk.addMethod(
1445
+ "_addObjectVariablesTo_",
1446
+ smalltalk.method({
1447
+ selector: "addObjectVariablesTo:",
1448
+ fn: function (aDictionary){
1449
+ var self=this;
1450
+ return smalltalk.withContext(function($ctx1) {
1451
+ for(var i in self['@jsObject']) {
1452
+ aDictionary._at_put_(i, self['@jsObject'][i]);
1453
+ }
1454
+ ;
1455
+ return self}, function($ctx1) {$ctx1.fill(self,"addObjectVariablesTo:",{aDictionary:aDictionary}, smalltalk.JSObjectProxy)})}
1456
+ }),
1457
+ smalltalk.JSObjectProxy);
1458
+
1441
1459
  smalltalk.addMethod(
1442
1460
  "_at_",
1443
1461
  smalltalk.method({
1444
1462
  selector: "at:",
1445
- fn: function (aSymbol) {
1446
- var self = this;
1447
- var attr;
1448
- attr = smalltalk.send(aSymbol, "_asString", []);
1449
- return self['@jsObject'][attr];
1450
- return self;
1451
- }
1463
+ fn: function (aSymbol){
1464
+ var self=this;
1465
+ return smalltalk.withContext(function($ctx1) {
1466
+ return self}, function($ctx1) {$ctx1.fill(self,"at:",{aSymbol:aSymbol}, smalltalk.JSObjectProxy)})}
1452
1467
  }),
1453
1468
  smalltalk.JSObjectProxy);
1454
1469
 
@@ -1456,13 +1471,28 @@ smalltalk.addMethod(
1456
1471
  "_at_put_",
1457
1472
  smalltalk.method({
1458
1473
  selector: "at:put:",
1459
- fn: function (aSymbol, anObject) {
1460
- var self = this;
1461
- var attr;
1462
- attr = smalltalk.send(aSymbol, "_asString", []);
1463
- self['@jsObject'][attr] = anObject;
1464
- return self;
1465
- }
1474
+ fn: function (aSymbol,anObject){
1475
+ var self=this;
1476
+ return smalltalk.withContext(function($ctx1) {
1477
+ return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{aSymbol:aSymbol,anObject:anObject}, smalltalk.JSObjectProxy)})}
1478
+ }),
1479
+ smalltalk.JSObjectProxy);
1480
+
1481
+ smalltalk.addMethod(
1482
+ "_canForwardMessage_",
1483
+ smalltalk.method({
1484
+ selector: "canForwardMessage:",
1485
+ fn: function (aMessage){
1486
+ var self=this;
1487
+ return smalltalk.withContext(function($ctx1) {
1488
+ var jsSelector = aMessage._selector()._asJavaScriptSelector();
1489
+ if(jsSelector in self._jsObject()) {
1490
+ return true
1491
+ } else {
1492
+ return false;
1493
+ }
1494
+ ;
1495
+ return self}, function($ctx1) {$ctx1.fill(self,"canForwardMessage:",{aMessage:aMessage}, smalltalk.JSObjectProxy)})}
1466
1496
  }),
1467
1497
  smalltalk.JSObjectProxy);
1468
1498
 
@@ -1470,22 +1500,31 @@ smalltalk.addMethod(
1470
1500
  "_doesNotUnderstand_",
1471
1501
  smalltalk.method({
1472
1502
  selector: "doesNotUnderstand:",
1473
- fn: function (aMessage) {
1474
- var self = this;
1475
- var obj;
1476
- var selector;
1477
- var jsSelector;
1478
- var arguments;
1479
- obj = smalltalk.send(self, "_jsObject", []);
1480
- selector = smalltalk.send(aMessage, "_selector", []);
1481
- jsSelector = smalltalk.send(selector, "_asJavaScriptSelector", []);
1482
- arguments = smalltalk.send(aMessage, "_arguments", []);
1483
- if (obj[jsSelector] != undefined) {
1484
- return smalltalk.send(obj, jsSelector, arguments);
1485
- }
1486
- smalltalk.send(self, "_doesNotUnderstand_", [aMessage], smalltalk.Object);
1487
- return self;
1488
- }
1503
+ fn: function (aMessage){
1504
+ var self=this;
1505
+ return smalltalk.withContext(function($ctx1) {
1506
+ $2=_st(self)._canForwardMessage_(aMessage);
1507
+ if(smalltalk.assert($2)){
1508
+ $1=_st(self)._forwardMessage_(aMessage);
1509
+ } else {
1510
+ $3=smalltalk.Object.fn.prototype._doesNotUnderstand_.apply(_st(self), [aMessage]);
1511
+ return $3;
1512
+ };
1513
+ return $1;
1514
+ }, function($ctx1) {$ctx1.fill(self,"doesNotUnderstand:",{aMessage:aMessage}, smalltalk.JSObjectProxy)})}
1515
+ }),
1516
+ smalltalk.JSObjectProxy);
1517
+
1518
+ smalltalk.addMethod(
1519
+ "_forwardMessage_",
1520
+ smalltalk.method({
1521
+ selector: "forwardMessage:",
1522
+ fn: function (aMessage){
1523
+ var self=this;
1524
+ return smalltalk.withContext(function($ctx1) {
1525
+ return smalltalk.send(self._jsObject(), aMessage._selector()._asJavaScriptSelector(), aMessage._arguments());
1526
+ ;
1527
+ return self}, function($ctx1) {$ctx1.fill(self,"forwardMessage:",{aMessage:aMessage}, smalltalk.JSObjectProxy)})}
1489
1528
  }),
1490
1529
  smalltalk.JSObjectProxy);
1491
1530
 
@@ -1493,18 +1532,15 @@ smalltalk.addMethod(
1493
1532
  "_inspectOn_",
1494
1533
  smalltalk.method({
1495
1534
  selector: "inspectOn:",
1496
- fn: function (anInspector) {
1497
- var self = this;
1498
- var variables;
1499
- variables = smalltalk.send(smalltalk.Dictionary || Dictionary, "_new", []);
1500
- smalltalk.send(variables, "_at_put_", ["#self", smalltalk.send(self, "_jsObject", [])]);
1501
- smalltalk.send(anInspector, "_setLabel_", [smalltalk.send(self, "_printString", [])]);
1502
- for (var i in self['@jsObject']) {
1503
- variables._at_put_(i, self['@jsObject'][i]);
1504
- }
1505
- smalltalk.send(anInspector, "_setVariables_", [variables]);
1506
- return self;
1507
- }
1535
+ fn: function (anInspector){
1536
+ var self=this;
1537
+ var variables;
1538
+ return smalltalk.withContext(function($ctx1) {
1539
+ _st(variables)._at_put_("#self",_st(self)._jsObject());
1540
+ _st(anInspector)._setLabel_(_st(self)._printString());
1541
+ _st(self)._addObjectVariablesTo_(variables);
1542
+ _st(anInspector)._setVariables_(variables);
1543
+ return self}, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector,variables:variables}, smalltalk.JSObjectProxy)})}
1508
1544
  }),
1509
1545
  smalltalk.JSObjectProxy);
1510
1546
 
@@ -1512,10 +1548,12 @@ smalltalk.addMethod(
1512
1548
  "_jsObject",
1513
1549
  smalltalk.method({
1514
1550
  selector: "jsObject",
1515
- fn: function () {
1516
- var self = this;
1517
- return self['@jsObject'];
1518
- }
1551
+ fn: function (){
1552
+ var self=this;
1553
+ return smalltalk.withContext(function($ctx1) {
1554
+ $1=self["@jsObject"];
1555
+ return $1;
1556
+ }, function($ctx1) {$ctx1.fill(self,"jsObject",{}, smalltalk.JSObjectProxy)})}
1519
1557
  }),
1520
1558
  smalltalk.JSObjectProxy);
1521
1559
 
@@ -1523,11 +1561,26 @@ smalltalk.addMethod(
1523
1561
  "_jsObject_",
1524
1562
  smalltalk.method({
1525
1563
  selector: "jsObject:",
1526
- fn: function (aJSObject) {
1527
- var self = this;
1528
- self['@jsObject'] = aJSObject;
1529
- return self;
1530
- }
1564
+ fn: function (aJSObject){
1565
+ var self=this;
1566
+ return smalltalk.withContext(function($ctx1) {
1567
+ return self}, function($ctx1) {$ctx1.fill(self,"jsObject:",{aJSObject:aJSObject}, smalltalk.JSObjectProxy)})}
1568
+ }),
1569
+ smalltalk.JSObjectProxy);
1570
+
1571
+ smalltalk.addMethod(
1572
+ "_keysAndValuesDo_",
1573
+ smalltalk.method({
1574
+ selector: "keysAndValuesDo:",
1575
+ fn: function (aBlock){
1576
+ var self=this;
1577
+ return smalltalk.withContext(function($ctx1) {
1578
+ var o = self['@jsObject'];
1579
+ for(var i in o) {
1580
+ aBlock(i, o[i]);
1581
+ }
1582
+ ;
1583
+ return self}, function($ctx1) {$ctx1.fill(self,"keysAndValuesDo:",{aBlock:aBlock}, smalltalk.JSObjectProxy)})}
1531
1584
  }),
1532
1585
  smalltalk.JSObjectProxy);
1533
1586
 
@@ -1535,12 +1588,12 @@ smalltalk.addMethod(
1535
1588
  "_printString",
1536
1589
  smalltalk.method({
1537
1590
  selector: "printString",
1538
- fn: function () {
1539
- var self = this;
1540
- var $1;
1541
- $1 = smalltalk.send(smalltalk.send(self, "_jsObject", []), "_toString", []);
1542
- return $1;
1543
- }
1591
+ fn: function (){
1592
+ var self=this;
1593
+ return smalltalk.withContext(function($ctx1) {
1594
+ $1=_st(_st(self)._jsObject())._toString();
1595
+ return $1;
1596
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.JSObjectProxy)})}
1544
1597
  }),
1545
1598
  smalltalk.JSObjectProxy);
1546
1599
 
@@ -1549,29 +1602,28 @@ smalltalk.addMethod(
1549
1602
  "_on_",
1550
1603
  smalltalk.method({
1551
1604
  selector: "on:",
1552
- fn: function (aJSObject) {
1553
- var self = this;
1554
- var $2, $3, $1;
1555
- $2 = smalltalk.send(self, "_new", []);
1556
- smalltalk.send($2, "_jsObject_", [aJSObject]);
1557
- $3 = smalltalk.send($2, "_yourself", []);
1558
- $1 = $3;
1559
- return $1;
1560
- }
1605
+ fn: function (aJSObject){
1606
+ var self=this;
1607
+ return smalltalk.withContext(function($ctx1) {
1608
+ $2=_st(self)._new();
1609
+ _st($2)._jsObject_(aJSObject);
1610
+ $3=_st($2)._yourself();
1611
+ $1=$3;
1612
+ return $1;
1613
+ }, function($ctx1) {$ctx1.fill(self,"on:",{aJSObject:aJSObject}, smalltalk.JSObjectProxy.klass)})}
1561
1614
  }),
1562
1615
  smalltalk.JSObjectProxy.klass);
1563
1616
 
1564
1617
 
1565
1618
  smalltalk.addClass('Number', smalltalk.Object, [], 'Kernel-Objects');
1566
1619
  smalltalk.addMethod(
1567
- "_&",
1620
+ "__and",
1568
1621
  smalltalk.method({
1569
1622
  selector: "&",
1570
- fn: function (aNumber) {
1571
- var self = this;
1572
- return self & aNumber;
1573
- return self;
1574
- }
1623
+ fn: function (aNumber){
1624
+ var self=this;
1625
+ return smalltalk.withContext(function($ctx1) {
1626
+ return self}, function($ctx1) {$ctx1.fill(self,"&",{aNumber:aNumber}, smalltalk.Number)})}
1575
1627
  }),
1576
1628
  smalltalk.Number);
1577
1629
 
@@ -1579,11 +1631,10 @@ smalltalk.addMethod(
1579
1631
  "__star",
1580
1632
  smalltalk.method({
1581
1633
  selector: "*",
1582
- fn: function (aNumber) {
1583
- var self = this;
1584
- return self * aNumber;
1585
- return self;
1586
- }
1634
+ fn: function (aNumber){
1635
+ var self=this;
1636
+ return smalltalk.withContext(function($ctx1) {
1637
+ return self}, function($ctx1) {$ctx1.fill(self,"*",{aNumber:aNumber}, smalltalk.Number)})}
1587
1638
  }),
1588
1639
  smalltalk.Number);
1589
1640
 
@@ -1591,11 +1642,10 @@ smalltalk.addMethod(
1591
1642
  "__plus",
1592
1643
  smalltalk.method({
1593
1644
  selector: "+",
1594
- fn: function (aNumber) {
1595
- var self = this;
1596
- return self + aNumber;
1597
- return self;
1598
- }
1645
+ fn: function (aNumber){
1646
+ var self=this;
1647
+ return smalltalk.withContext(function($ctx1) {
1648
+ return self}, function($ctx1) {$ctx1.fill(self,"+",{aNumber:aNumber}, smalltalk.Number)})}
1599
1649
  }),
1600
1650
  smalltalk.Number);
1601
1651
 
@@ -1603,11 +1653,10 @@ smalltalk.addMethod(
1603
1653
  "__minus",
1604
1654
  smalltalk.method({
1605
1655
  selector: "-",
1606
- fn: function (aNumber) {
1607
- var self = this;
1608
- return self - aNumber;
1609
- return self;
1610
- }
1656
+ fn: function (aNumber){
1657
+ var self=this;
1658
+ return smalltalk.withContext(function($ctx1) {
1659
+ return self}, function($ctx1) {$ctx1.fill(self,"-",{aNumber:aNumber}, smalltalk.Number)})}
1611
1660
  }),
1612
1661
  smalltalk.Number);
1613
1662
 
@@ -1615,11 +1664,10 @@ smalltalk.addMethod(
1615
1664
  "__slash",
1616
1665
  smalltalk.method({
1617
1666
  selector: "/",
1618
- fn: function (aNumber) {
1619
- var self = this;
1620
- return self / aNumber;
1621
- return self;
1622
- }
1667
+ fn: function (aNumber){
1668
+ var self=this;
1669
+ return smalltalk.withContext(function($ctx1) {
1670
+ return self}, function($ctx1) {$ctx1.fill(self,"/",{aNumber:aNumber}, smalltalk.Number)})}
1623
1671
  }),
1624
1672
  smalltalk.Number);
1625
1673
 
@@ -1627,11 +1675,10 @@ smalltalk.addMethod(
1627
1675
  "__lt",
1628
1676
  smalltalk.method({
1629
1677
  selector: "<",
1630
- fn: function (aNumber) {
1631
- var self = this;
1632
- return self < aNumber;
1633
- return self;
1634
- }
1678
+ fn: function (aNumber){
1679
+ var self=this;
1680
+ return smalltalk.withContext(function($ctx1) {
1681
+ return self}, function($ctx1) {$ctx1.fill(self,"<",{aNumber:aNumber}, smalltalk.Number)})}
1635
1682
  }),
1636
1683
  smalltalk.Number);
1637
1684
 
@@ -1639,11 +1686,10 @@ smalltalk.addMethod(
1639
1686
  "__lt_eq",
1640
1687
  smalltalk.method({
1641
1688
  selector: "<=",
1642
- fn: function (aNumber) {
1643
- var self = this;
1644
- return self <= aNumber;
1645
- return self;
1646
- }
1689
+ fn: function (aNumber){
1690
+ var self=this;
1691
+ return smalltalk.withContext(function($ctx1) {
1692
+ return self}, function($ctx1) {$ctx1.fill(self,"<=",{aNumber:aNumber}, smalltalk.Number)})}
1647
1693
  }),
1648
1694
  smalltalk.Number);
1649
1695
 
@@ -1651,16 +1697,15 @@ smalltalk.addMethod(
1651
1697
  "__eq",
1652
1698
  smalltalk.method({
1653
1699
  selector: "=",
1654
- fn: function (aNumber) {
1655
- var self = this;
1656
- var $1;
1657
- $1 = smalltalk.send(aNumber, "_isNumber", []);
1658
- if (!smalltalk.assert($1)) {
1659
- return false;
1660
- }
1661
- return Number(self) == aNumber;
1662
- return self;
1663
- }
1700
+ fn: function (aNumber){
1701
+ var self=this;
1702
+ return smalltalk.withContext(function($ctx1) {
1703
+ if(! aNumber._isNumber || ! aNumber._isNumber()) {
1704
+ return false;
1705
+ }
1706
+ return Number(self) == aNumber
1707
+ ;
1708
+ return self}, function($ctx1) {$ctx1.fill(self,"=",{aNumber:aNumber}, smalltalk.Number)})}
1664
1709
  }),
1665
1710
  smalltalk.Number);
1666
1711
 
@@ -1668,11 +1713,10 @@ smalltalk.addMethod(
1668
1713
  "__gt",
1669
1714
  smalltalk.method({
1670
1715
  selector: ">",
1671
- fn: function (aNumber) {
1672
- var self = this;
1673
- return self > aNumber;
1674
- return self;
1675
- }
1716
+ fn: function (aNumber){
1717
+ var self=this;
1718
+ return smalltalk.withContext(function($ctx1) {
1719
+ return self}, function($ctx1) {$ctx1.fill(self,">",{aNumber:aNumber}, smalltalk.Number)})}
1676
1720
  }),
1677
1721
  smalltalk.Number);
1678
1722
 
@@ -1680,11 +1724,10 @@ smalltalk.addMethod(
1680
1724
  "__gt_eq",
1681
1725
  smalltalk.method({
1682
1726
  selector: ">=",
1683
- fn: function (aNumber) {
1684
- var self = this;
1685
- return self >= aNumber;
1686
- return self;
1687
- }
1727
+ fn: function (aNumber){
1728
+ var self=this;
1729
+ return smalltalk.withContext(function($ctx1) {
1730
+ return self}, function($ctx1) {$ctx1.fill(self,">=",{aNumber:aNumber}, smalltalk.Number)})}
1688
1731
  }),
1689
1732
  smalltalk.Number);
1690
1733
 
@@ -1692,17 +1735,28 @@ smalltalk.addMethod(
1692
1735
  "__at",
1693
1736
  smalltalk.method({
1694
1737
  selector: "@",
1695
- fn: function (aNumber) {
1696
- var self = this;
1697
- var $1;
1698
- $1 = smalltalk.send(smalltalk.Point || Point, "_x_y_", [self, aNumber]);
1699
- return $1;
1700
- }
1738
+ fn: function (aNumber){
1739
+ var self=this;
1740
+ return smalltalk.withContext(function($ctx1) {
1741
+ $1=_st((smalltalk.Point || Point))._x_y_(self,aNumber);
1742
+ return $1;
1743
+ }, function($ctx1) {$ctx1.fill(self,"@",{aNumber:aNumber}, smalltalk.Number)})}
1744
+ }),
1745
+ smalltalk.Number);
1746
+
1747
+ smalltalk.addMethod(
1748
+ "__backslash",
1749
+ smalltalk.method({
1750
+ selector: "\x5c",
1751
+ fn: function (aNumber){
1752
+ var self=this;
1753
+ return smalltalk.withContext(function($ctx1) {
1754
+ return self}, function($ctx1) {$ctx1.fill(self,"\x5c\x5c",{aNumber:aNumber}, smalltalk.Number)})}
1701
1755
  }),
1702
1756
  smalltalk.Number);
1703
1757
 
1704
1758
  smalltalk.addMethod(
1705
- "_\x5c\x5c",
1759
+ "__backslash_backslash",
1706
1760
  smalltalk.method({
1707
1761
  selector: "\x5c\x5c",
1708
1762
  fn: function (aNumber) {
@@ -1717,12 +1771,10 @@ smalltalk.addMethod(
1717
1771
  "_abs",
1718
1772
  smalltalk.method({
1719
1773
  selector: "abs",
1720
- fn: function () {
1721
- var self = this;
1722
- var $1;
1723
- $1 = Math.abs(self);
1724
- return $1;
1725
- }
1774
+ fn: function (){
1775
+ var self=this;
1776
+ return smalltalk.withContext(function($ctx1) {
1777
+ return self}, function($ctx1) {$ctx1.fill(self,"abs",{}, smalltalk.Number)})}
1726
1778
  }),
1727
1779
  smalltalk.Number);
1728
1780
 
@@ -1730,10 +1782,12 @@ smalltalk.addMethod(
1730
1782
  "_asJSON",
1731
1783
  smalltalk.method({
1732
1784
  selector: "asJSON",
1733
- fn: function () {
1734
- var self = this;
1735
- return self;
1736
- }
1785
+ fn: function (){
1786
+ var self=this;
1787
+ return smalltalk.withContext(function($ctx1) {
1788
+ $1=self;
1789
+ return $1;
1790
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.Number)})}
1737
1791
  }),
1738
1792
  smalltalk.Number);
1739
1793
 
@@ -1741,12 +1795,12 @@ smalltalk.addMethod(
1741
1795
  "_asJavascript",
1742
1796
  smalltalk.method({
1743
1797
  selector: "asJavascript",
1744
- fn: function () {
1745
- var self = this;
1746
- var $1;
1747
- $1 = smalltalk.send(smalltalk.send("(", "__comma", [smalltalk.send(self, "_printString", [])]), "__comma", [")"]);
1748
- return $1;
1749
- }
1798
+ fn: function (){
1799
+ var self=this;
1800
+ return smalltalk.withContext(function($ctx1) {
1801
+ $1=_st(_st("(").__comma(_st(self)._printString())).__comma(")");
1802
+ return $1;
1803
+ }, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Number)})}
1750
1804
  }),
1751
1805
  smalltalk.Number);
1752
1806
 
@@ -1754,12 +1808,12 @@ smalltalk.addMethod(
1754
1808
  "_asPoint",
1755
1809
  smalltalk.method({
1756
1810
  selector: "asPoint",
1757
- fn: function () {
1758
- var self = this;
1759
- var $1;
1760
- $1 = smalltalk.send(smalltalk.Point || Point, "_x_y_", [self, self]);
1761
- return $1;
1762
- }
1811
+ fn: function (){
1812
+ var self=this;
1813
+ return smalltalk.withContext(function($ctx1) {
1814
+ $1=_st((smalltalk.Point || Point))._x_y_(self,self);
1815
+ return $1;
1816
+ }, function($ctx1) {$ctx1.fill(self,"asPoint",{}, smalltalk.Number)})}
1763
1817
  }),
1764
1818
  smalltalk.Number);
1765
1819
 
@@ -1767,12 +1821,12 @@ smalltalk.addMethod(
1767
1821
  "_asString",
1768
1822
  smalltalk.method({
1769
1823
  selector: "asString",
1770
- fn: function () {
1771
- var self = this;
1772
- var $1;
1773
- $1 = smalltalk.send(self, "_printString", []);
1774
- return $1;
1775
- }
1824
+ fn: function (){
1825
+ var self=this;
1826
+ return smalltalk.withContext(function($ctx1) {
1827
+ $1=_st(self)._printString();
1828
+ return $1;
1829
+ }, function($ctx1) {$ctx1.fill(self,"asString",{}, smalltalk.Number)})}
1776
1830
  }),
1777
1831
  smalltalk.Number);
1778
1832
 
@@ -1780,36 +1834,12 @@ smalltalk.addMethod(
1780
1834
  "_atRandom",
1781
1835
  smalltalk.method({
1782
1836
  selector: "atRandom",
1783
- fn: function () {
1784
- var self = this;
1785
- var $1;
1786
- $1 = smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.Random || Random, "_new", []), "_next", []), "__star", [self]), "_truncated", []), "__plus", [1]);
1787
- return $1;
1788
- }
1789
- }),
1790
- smalltalk.Number);
1791
-
1792
- smalltalk.addMethod(
1793
- "_clearInterval",
1794
- smalltalk.method({
1795
- selector: "clearInterval",
1796
- fn: function () {
1797
- var self = this;
1798
- clearInterval(Number(self));
1799
- return self;
1800
- }
1801
- }),
1802
- smalltalk.Number);
1803
-
1804
- smalltalk.addMethod(
1805
- "_clearTimeout",
1806
- smalltalk.method({
1807
- selector: "clearTimeout",
1808
- fn: function () {
1809
- var self = this;
1810
- clearTimeout(Number(self));
1811
- return self;
1812
- }
1837
+ fn: function (){
1838
+ var self=this;
1839
+ return smalltalk.withContext(function($ctx1) {
1840
+ $1=_st(_st(_st(_st(_st((smalltalk.Random || Random))._new())._next()).__star(self))._truncated()).__plus((1));
1841
+ return $1;
1842
+ }, function($ctx1) {$ctx1.fill(self,"atRandom",{}, smalltalk.Number)})}
1813
1843
  }),
1814
1844
  smalltalk.Number);
1815
1845
 
@@ -1817,10 +1847,12 @@ smalltalk.addMethod(
1817
1847
  "_copy",
1818
1848
  smalltalk.method({
1819
1849
  selector: "copy",
1820
- fn: function () {
1821
- var self = this;
1822
- return self;
1823
- }
1850
+ fn: function (){
1851
+ var self=this;
1852
+ return smalltalk.withContext(function($ctx1) {
1853
+ $1=self;
1854
+ return $1;
1855
+ }, function($ctx1) {$ctx1.fill(self,"copy",{}, smalltalk.Number)})}
1824
1856
  }),
1825
1857
  smalltalk.Number);
1826
1858
 
@@ -1828,12 +1860,12 @@ smalltalk.addMethod(
1828
1860
  "_deepCopy",
1829
1861
  smalltalk.method({
1830
1862
  selector: "deepCopy",
1831
- fn: function () {
1832
- var self = this;
1833
- var $1;
1834
- $1 = smalltalk.send(self, "_copy", []);
1835
- return $1;
1836
- }
1863
+ fn: function (){
1864
+ var self=this;
1865
+ return smalltalk.withContext(function($ctx1) {
1866
+ $1=_st(self)._copy();
1867
+ return $1;
1868
+ }, function($ctx1) {$ctx1.fill(self,"deepCopy",{}, smalltalk.Number)})}
1837
1869
  }),
1838
1870
  smalltalk.Number);
1839
1871
 
@@ -1841,12 +1873,12 @@ smalltalk.addMethod(
1841
1873
  "_even",
1842
1874
  smalltalk.method({
1843
1875
  selector: "even",
1844
- fn: function () {
1845
- var self = this;
1846
- var $1;
1847
- $1 = smalltalk.send(0, "__eq", [smalltalk.send(self, "_\\\\", [2])]);
1848
- return $1;
1849
- }
1876
+ fn: function (){
1877
+ var self=this;
1878
+ return smalltalk.withContext(function($ctx1) {
1879
+ $1=_st((0)).__eq(_st(self).__backslash_backslash((2)));
1880
+ return $1;
1881
+ }, function($ctx1) {$ctx1.fill(self,"even",{}, smalltalk.Number)})}
1850
1882
  }),
1851
1883
  smalltalk.Number);
1852
1884
 
@@ -1854,12 +1886,12 @@ smalltalk.addMethod(
1854
1886
  "_identityHash",
1855
1887
  smalltalk.method({
1856
1888
  selector: "identityHash",
1857
- fn: function () {
1858
- var self = this;
1859
- var $1;
1860
- $1 = smalltalk.send(smalltalk.send(self, "_asString", []), "__comma", ["n"]);
1861
- return $1;
1862
- }
1889
+ fn: function (){
1890
+ var self=this;
1891
+ return smalltalk.withContext(function($ctx1) {
1892
+ $1=_st(_st(self)._asString()).__comma("n");
1893
+ return $1;
1894
+ }, function($ctx1) {$ctx1.fill(self,"identityHash",{}, smalltalk.Number)})}
1863
1895
  }),
1864
1896
  smalltalk.Number);
1865
1897
 
@@ -1867,10 +1899,10 @@ smalltalk.addMethod(
1867
1899
  "_isNumber",
1868
1900
  smalltalk.method({
1869
1901
  selector: "isNumber",
1870
- fn: function () {
1871
- var self = this;
1872
- return true;
1873
- }
1902
+ fn: function (){
1903
+ var self=this;
1904
+ return smalltalk.withContext(function($ctx1) {
1905
+ }, function($ctx1) {$ctx1.fill(self,"isNumber",{}, smalltalk.Number)})}
1874
1906
  }),
1875
1907
  smalltalk.Number);
1876
1908
 
@@ -1878,12 +1910,12 @@ smalltalk.addMethod(
1878
1910
  "_isZero",
1879
1911
  smalltalk.method({
1880
1912
  selector: "isZero",
1881
- fn: function () {
1882
- var self = this;
1883
- var $1;
1884
- $1 = smalltalk.send(self, "__eq", [0]);
1885
- return $1;
1886
- }
1913
+ fn: function (){
1914
+ var self=this;
1915
+ return smalltalk.withContext(function($ctx1) {
1916
+ $1=_st(self).__eq((0));
1917
+ return $1;
1918
+ }, function($ctx1) {$ctx1.fill(self,"isZero",{}, smalltalk.Number)})}
1887
1919
  }),
1888
1920
  smalltalk.Number);
1889
1921
 
@@ -1891,11 +1923,10 @@ smalltalk.addMethod(
1891
1923
  "_max_",
1892
1924
  smalltalk.method({
1893
1925
  selector: "max:",
1894
- fn: function (aNumber) {
1895
- var self = this;
1896
- return Math.max(self, aNumber);
1897
- return self;
1898
- }
1926
+ fn: function (aNumber){
1927
+ var self=this;
1928
+ return smalltalk.withContext(function($ctx1) {
1929
+ return self}, function($ctx1) {$ctx1.fill(self,"max:",{aNumber:aNumber}, smalltalk.Number)})}
1899
1930
  }),
1900
1931
  smalltalk.Number);
1901
1932
 
@@ -1903,11 +1934,10 @@ smalltalk.addMethod(
1903
1934
  "_min_",
1904
1935
  smalltalk.method({
1905
1936
  selector: "min:",
1906
- fn: function (aNumber) {
1907
- var self = this;
1908
- return Math.min(self, aNumber);
1909
- return self;
1910
- }
1937
+ fn: function (aNumber){
1938
+ var self=this;
1939
+ return smalltalk.withContext(function($ctx1) {
1940
+ return self}, function($ctx1) {$ctx1.fill(self,"min:",{aNumber:aNumber}, smalltalk.Number)})}
1911
1941
  }),
1912
1942
  smalltalk.Number);
1913
1943
 
@@ -1915,12 +1945,12 @@ smalltalk.addMethod(
1915
1945
  "_negated",
1916
1946
  smalltalk.method({
1917
1947
  selector: "negated",
1918
- fn: function () {
1919
- var self = this;
1920
- var $1;
1921
- $1 = smalltalk.send(0, "__minus", [self]);
1922
- return $1;
1923
- }
1948
+ fn: function (){
1949
+ var self=this;
1950
+ return smalltalk.withContext(function($ctx1) {
1951
+ $1=_st((0)).__minus(self);
1952
+ return $1;
1953
+ }, function($ctx1) {$ctx1.fill(self,"negated",{}, smalltalk.Number)})}
1924
1954
  }),
1925
1955
  smalltalk.Number);
1926
1956
 
@@ -1928,12 +1958,12 @@ smalltalk.addMethod(
1928
1958
  "_negative",
1929
1959
  smalltalk.method({
1930
1960
  selector: "negative",
1931
- fn: function () {
1932
- var self = this;
1933
- var $1;
1934
- $1 = smalltalk.send(self, "__lt", [0]);
1935
- return $1;
1936
- }
1961
+ fn: function (){
1962
+ var self=this;
1963
+ return smalltalk.withContext(function($ctx1) {
1964
+ $1=_st(self).__lt((0));
1965
+ return $1;
1966
+ }, function($ctx1) {$ctx1.fill(self,"negative",{}, smalltalk.Number)})}
1937
1967
  }),
1938
1968
  smalltalk.Number);
1939
1969
 
@@ -1941,12 +1971,12 @@ smalltalk.addMethod(
1941
1971
  "_odd",
1942
1972
  smalltalk.method({
1943
1973
  selector: "odd",
1944
- fn: function () {
1945
- var self = this;
1946
- var $1;
1947
- $1 = smalltalk.send(smalltalk.send(self, "_even", []), "_not", []);
1948
- return $1;
1949
- }
1974
+ fn: function (){
1975
+ var self=this;
1976
+ return smalltalk.withContext(function($ctx1) {
1977
+ $1=_st(_st(self)._even())._not();
1978
+ return $1;
1979
+ }, function($ctx1) {$ctx1.fill(self,"odd",{}, smalltalk.Number)})}
1950
1980
  }),
1951
1981
  smalltalk.Number);
1952
1982
 
@@ -1954,12 +1984,12 @@ smalltalk.addMethod(
1954
1984
  "_positive",
1955
1985
  smalltalk.method({
1956
1986
  selector: "positive",
1957
- fn: function () {
1958
- var self = this;
1959
- var $1;
1960
- $1 = smalltalk.send(self, "__gt_eq", [0]);
1961
- return $1;
1962
- }
1987
+ fn: function (){
1988
+ var self=this;
1989
+ return smalltalk.withContext(function($ctx1) {
1990
+ $1=_st(self).__gt_eq((0));
1991
+ return $1;
1992
+ }, function($ctx1) {$ctx1.fill(self,"positive",{}, smalltalk.Number)})}
1963
1993
  }),
1964
1994
  smalltalk.Number);
1965
1995
 
@@ -1967,11 +1997,10 @@ smalltalk.addMethod(
1967
1997
  "_printShowingDecimalPlaces_",
1968
1998
  smalltalk.method({
1969
1999
  selector: "printShowingDecimalPlaces:",
1970
- fn: function (placesDesired) {
1971
- var self = this;
1972
- return self.toFixed(placesDesired);
1973
- return self;
1974
- }
2000
+ fn: function (placesDesired){
2001
+ var self=this;
2002
+ return smalltalk.withContext(function($ctx1) {
2003
+ return self}, function($ctx1) {$ctx1.fill(self,"printShowingDecimalPlaces:",{placesDesired:placesDesired}, smalltalk.Number)})}
1975
2004
  }),
1976
2005
  smalltalk.Number);
1977
2006
 
@@ -1979,11 +2008,10 @@ smalltalk.addMethod(
1979
2008
  "_printString",
1980
2009
  smalltalk.method({
1981
2010
  selector: "printString",
1982
- fn: function () {
1983
- var self = this;
1984
- return String(self);
1985
- return self;
1986
- }
2011
+ fn: function (){
2012
+ var self=this;
2013
+ return smalltalk.withContext(function($ctx1) {
2014
+ return self}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Number)})}
1987
2015
  }),
1988
2016
  smalltalk.Number);
1989
2017
 
@@ -1991,11 +2019,10 @@ smalltalk.addMethod(
1991
2019
  "_rounded",
1992
2020
  smalltalk.method({
1993
2021
  selector: "rounded",
1994
- fn: function () {
1995
- var self = this;
1996
- return Math.round(self);
1997
- return self;
1998
- }
2022
+ fn: function (){
2023
+ var self=this;
2024
+ return smalltalk.withContext(function($ctx1) {
2025
+ return self}, function($ctx1) {$ctx1.fill(self,"rounded",{}, smalltalk.Number)})}
1999
2026
  }),
2000
2027
  smalltalk.Number);
2001
2028
 
@@ -2003,11 +2030,10 @@ smalltalk.addMethod(
2003
2030
  "_sqrt",
2004
2031
  smalltalk.method({
2005
2032
  selector: "sqrt",
2006
- fn: function () {
2007
- var self = this;
2008
- return Math.sqrt(self);
2009
- return self;
2010
- }
2033
+ fn: function (){
2034
+ var self=this;
2035
+ return smalltalk.withContext(function($ctx1) {
2036
+ return self}, function($ctx1) {$ctx1.fill(self,"sqrt",{}, smalltalk.Number)})}
2011
2037
  }),
2012
2038
  smalltalk.Number);
2013
2039
 
@@ -2015,12 +2041,12 @@ smalltalk.addMethod(
2015
2041
  "_squared",
2016
2042
  smalltalk.method({
2017
2043
  selector: "squared",
2018
- fn: function () {
2019
- var self = this;
2020
- var $1;
2021
- $1 = smalltalk.send(self, "__star", [self]);
2022
- return $1;
2023
- }
2044
+ fn: function (){
2045
+ var self=this;
2046
+ return smalltalk.withContext(function($ctx1) {
2047
+ $1=_st(self).__star(self);
2048
+ return $1;
2049
+ }, function($ctx1) {$ctx1.fill(self,"squared",{}, smalltalk.Number)})}
2024
2050
  }),
2025
2051
  smalltalk.Number);
2026
2052
 
@@ -2028,15 +2054,18 @@ smalltalk.addMethod(
2028
2054
  "_timesRepeat_",
2029
2055
  smalltalk.method({
2030
2056
  selector: "timesRepeat:",
2031
- fn: function (aBlock) {
2032
- var self = this;
2033
- var integer;
2034
- var count;
2035
- integer = smalltalk.send(self, "_truncated", []);
2036
- count = 1;
2037
- smalltalk.send(function () {return smalltalk.send(count, "__gt", [self]);}, "_whileFalse_", [function () {smalltalk.send(aBlock, "_value", []);count = smalltalk.send(count, "__plus", [1]);return count;}]);
2038
- return self;
2039
- }
2057
+ fn: function (aBlock){
2058
+ var self=this;
2059
+ var count;
2060
+ return smalltalk.withContext(function($ctx1) {
2061
+ _st((function(){
2062
+ return smalltalk.withContext(function($ctx2) {
2063
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
2064
+ return smalltalk.withContext(function($ctx2) {
2065
+ count=_st(count).__plus((1));
2066
+ return count;
2067
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2068
+ return self}, function($ctx1) {$ctx1.fill(self,"timesRepeat:",{aBlock:aBlock,count:count}, smalltalk.Number)})}
2040
2069
  }),
2041
2070
  smalltalk.Number);
2042
2071
 
@@ -2044,19 +2073,24 @@ smalltalk.addMethod(
2044
2073
  "_to_",
2045
2074
  smalltalk.method({
2046
2075
  selector: "to:",
2047
- fn: function (aNumber) {
2048
- var self = this;
2049
- var array;
2050
- var first;
2051
- var last;
2052
- var count;
2053
- first = smalltalk.send(self, "_truncated", []);
2054
- last = smalltalk.send(smalltalk.send(aNumber, "_truncated", []), "__plus", [1]);
2055
- count = 1;
2056
- array = smalltalk.send(smalltalk.Array || Array, "_new", []);
2057
- smalltalk.send(smalltalk.send(last, "__minus", [first]), "_timesRepeat_", [function () {smalltalk.send(array, "_at_put_", [count, first]);count = smalltalk.send(count, "__plus", [1]);count;first = smalltalk.send(first, "__plus", [1]);return first;}]);
2058
- return array;
2059
- }
2076
+ fn: function (aNumber){
2077
+ var self=this;
2078
+ var array,first,last,count;
2079
+ return smalltalk.withContext(function($ctx1) {
2080
+ first=_st(self)._truncated();
2081
+ last=_st(_st(aNumber)._truncated()).__plus((1));
2082
+ count=(1);
2083
+ array=_st((smalltalk.Array || Array))._new();
2084
+ _st(_st(last).__minus(first))._timesRepeat_((function(){
2085
+ return smalltalk.withContext(function($ctx2) {
2086
+ count=_st(count).__plus((1));
2087
+ count;
2088
+ first=_st(first).__plus((1));
2089
+ return first;
2090
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2091
+ $1=array;
2092
+ return $1;
2093
+ }, function($ctx1) {$ctx1.fill(self,"to:",{aNumber:aNumber,array:array,first:first,last:last,count:count}, smalltalk.Number)})}
2060
2094
  }),
2061
2095
  smalltalk.Number);
2062
2096
 
@@ -2064,27 +2098,42 @@ smalltalk.addMethod(
2064
2098
  "_to_by_",
2065
2099
  smalltalk.method({
2066
2100
  selector: "to:by:",
2067
- fn: function (stop, step) {
2068
- var self = this;
2069
- var $1, $2;
2070
- var array;
2071
- var value;
2072
- var pos;
2073
- value = self;
2074
- array = smalltalk.send(smalltalk.Array || Array, "_new", []);
2075
- pos = 1;
2076
- $1 = smalltalk.send(step, "__eq", [0]);
2077
- if (smalltalk.assert($1)) {
2078
- smalltalk.send(self, "_error_", ["step must be non-zero"]);
2079
- }
2080
- $2 = smalltalk.send(step, "__lt", [0]);
2081
- if (smalltalk.assert($2)) {
2082
- smalltalk.send(function () {return smalltalk.send(value, "__gt_eq", [stop]);}, "_whileTrue_", [function () {smalltalk.send(array, "_at_put_", [pos, value]);pos = smalltalk.send(pos, "__plus", [1]);pos;value = smalltalk.send(value, "__plus", [step]);return value;}]);
2083
- } else {
2084
- smalltalk.send(function () {return smalltalk.send(value, "__lt_eq", [stop]);}, "_whileTrue_", [function () {smalltalk.send(array, "_at_put_", [pos, value]);pos = smalltalk.send(pos, "__plus", [1]);pos;value = smalltalk.send(value, "__plus", [step]);return value;}]);
2085
- }
2086
- return array;
2087
- }
2101
+ fn: function (stop,step){
2102
+ var self=this;
2103
+ var array,value,pos;
2104
+ return smalltalk.withContext(function($ctx1) {
2105
+ value=self;
2106
+ array=_st((smalltalk.Array || Array))._new();
2107
+ pos=(1);
2108
+ $1=_st(step).__eq((0));
2109
+ if(smalltalk.assert($1)){
2110
+ _st(self)._error_("step must be non-zero");
2111
+ };
2112
+ $2=_st(step).__lt((0));
2113
+ if(smalltalk.assert($2)){
2114
+ _st((function(){
2115
+ return smalltalk.withContext(function($ctx2) {
2116
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
2117
+ return smalltalk.withContext(function($ctx2) {
2118
+ pos=_st(pos).__plus((1));
2119
+ pos;
2120
+ value=_st(value).__plus(step);
2121
+ return value;
2122
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2123
+ } else {
2124
+ _st((function(){
2125
+ return smalltalk.withContext(function($ctx2) {
2126
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
2127
+ return smalltalk.withContext(function($ctx2) {
2128
+ pos=_st(pos).__plus((1));
2129
+ pos;
2130
+ value=_st(value).__plus(step);
2131
+ return value;
2132
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2133
+ };
2134
+ $3=array;
2135
+ return $3;
2136
+ }, function($ctx1) {$ctx1.fill(self,"to:by:",{stop:stop,step:step,array:array,value:value,pos:pos}, smalltalk.Number)})}
2088
2137
  }),
2089
2138
  smalltalk.Number);
2090
2139
 
@@ -2092,23 +2141,34 @@ smalltalk.addMethod(
2092
2141
  "_to_by_do_",
2093
2142
  smalltalk.method({
2094
2143
  selector: "to:by:do:",
2095
- fn: function (stop, step, aBlock) {
2096
- var self = this;
2097
- var $1, $2;
2098
- var value;
2099
- value = self;
2100
- $1 = smalltalk.send(step, "__eq", [0]);
2101
- if (smalltalk.assert($1)) {
2102
- smalltalk.send(self, "_error_", ["step must be non-zero"]);
2103
- }
2104
- $2 = smalltalk.send(step, "__lt", [0]);
2105
- if (smalltalk.assert($2)) {
2106
- smalltalk.send(function () {return smalltalk.send(value, "__gt_eq", [stop]);}, "_whileTrue_", [function () {smalltalk.send(aBlock, "_value_", [value]);value = smalltalk.send(value, "__plus", [step]);return value;}]);
2107
- } else {
2108
- smalltalk.send(function () {return smalltalk.send(value, "__lt_eq", [stop]);}, "_whileTrue_", [function () {smalltalk.send(aBlock, "_value_", [value]);value = smalltalk.send(value, "__plus", [step]);return value;}]);
2109
- }
2110
- return self;
2111
- }
2144
+ fn: function (stop,step,aBlock){
2145
+ var self=this;
2146
+ var value;
2147
+ return smalltalk.withContext(function($ctx1) {
2148
+ value=self;
2149
+ $1=_st(step).__eq((0));
2150
+ if(smalltalk.assert($1)){
2151
+ _st(self)._error_("step must be non-zero");
2152
+ };
2153
+ $2=_st(step).__lt((0));
2154
+ if(smalltalk.assert($2)){
2155
+ _st((function(){
2156
+ return smalltalk.withContext(function($ctx2) {
2157
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
2158
+ return smalltalk.withContext(function($ctx2) {
2159
+ value=_st(value).__plus(step);
2160
+ return value;
2161
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2162
+ } else {
2163
+ _st((function(){
2164
+ return smalltalk.withContext(function($ctx2) {
2165
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
2166
+ return smalltalk.withContext(function($ctx2) {
2167
+ value=_st(value).__plus(step);
2168
+ return value;
2169
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2170
+ };
2171
+ return self}, function($ctx1) {$ctx1.fill(self,"to:by:do:",{stop:stop,step:step,aBlock:aBlock,value:value}, smalltalk.Number)})}
2112
2172
  }),
2113
2173
  smalltalk.Number);
2114
2174
 
@@ -2116,13 +2176,18 @@ smalltalk.addMethod(
2116
2176
  "_to_do_",
2117
2177
  smalltalk.method({
2118
2178
  selector: "to:do:",
2119
- fn: function (stop, aBlock) {
2120
- var self = this;
2121
- var nextValue;
2122
- nextValue = self;
2123
- smalltalk.send(function () {return smalltalk.send(nextValue, "__lt_eq", [stop]);}, "_whileTrue_", [function () {smalltalk.send(aBlock, "_value_", [nextValue]);nextValue = smalltalk.send(nextValue, "__plus", [1]);return nextValue;}]);
2124
- return self;
2125
- }
2179
+ fn: function (stop,aBlock){
2180
+ var self=this;
2181
+ var nextValue;
2182
+ return smalltalk.withContext(function($ctx1) {
2183
+ _st((function(){
2184
+ return smalltalk.withContext(function($ctx2) {
2185
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
2186
+ return smalltalk.withContext(function($ctx2) {
2187
+ nextValue=_st(nextValue).__plus((1));
2188
+ return nextValue;
2189
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2190
+ return self}, function($ctx1) {$ctx1.fill(self,"to:do:",{stop:stop,aBlock:aBlock,nextValue:nextValue}, smalltalk.Number)})}
2126
2191
  }),
2127
2192
  smalltalk.Number);
2128
2193
 
@@ -2130,30 +2195,27 @@ smalltalk.addMethod(
2130
2195
  "_truncated",
2131
2196
  smalltalk.method({
2132
2197
  selector: "truncated",
2133
- fn: function () {
2134
- var self = this;
2135
- var $1;
2136
- var result;
2137
- $1 = smalltalk.send(self, "__gt_eq", [0]);
2138
- if (smalltalk.assert($1)) {
2139
- result = Math.floor(self);
2140
- } else {
2141
- result = Math.floor(self * -1) * -1;
2142
- }
2143
- return result;
2144
- }
2198
+ fn: function (){
2199
+ var self=this;
2200
+ return smalltalk.withContext(function($ctx1) {
2201
+ if(self >= 0) {
2202
+ return Math.floor(self);
2203
+ } else {
2204
+ return Math.floor(self * (-1)) * (-1);
2205
+ };
2206
+ ;
2207
+ return self}, function($ctx1) {$ctx1.fill(self,"truncated",{}, smalltalk.Number)})}
2145
2208
  }),
2146
2209
  smalltalk.Number);
2147
2210
 
2148
2211
  smalltalk.addMethod(
2149
- "_|",
2212
+ "__or",
2150
2213
  smalltalk.method({
2151
2214
  selector: "|",
2152
- fn: function (aNumber) {
2153
- var self = this;
2154
- return self | aNumber;
2155
- return self;
2156
- }
2215
+ fn: function (aNumber){
2216
+ var self=this;
2217
+ return smalltalk.withContext(function($ctx1) {
2218
+ return self}, function($ctx1) {$ctx1.fill(self,"|",{aNumber:aNumber}, smalltalk.Number)})}
2157
2219
  }),
2158
2220
  smalltalk.Number);
2159
2221
 
@@ -2162,11 +2224,10 @@ smalltalk.addMethod(
2162
2224
  "_pi",
2163
2225
  smalltalk.method({
2164
2226
  selector: "pi",
2165
- fn: function () {
2166
- var self = this;
2167
- return Math.PI;
2168
- return self;
2169
- }
2227
+ fn: function (){
2228
+ var self=this;
2229
+ return smalltalk.withContext(function($ctx1) {
2230
+ return self}, function($ctx1) {$ctx1.fill(self,"pi",{}, smalltalk.Number.klass)})}
2170
2231
  }),
2171
2232
  smalltalk.Number.klass);
2172
2233
 
@@ -2176,11 +2237,10 @@ smalltalk.addMethod(
2176
2237
  "_addElement_",
2177
2238
  smalltalk.method({
2178
2239
  selector: "addElement:",
2179
- fn: function (anObject) {
2180
- var self = this;
2181
- self.addElement(anObject);
2182
- return self;
2183
- }
2240
+ fn: function (anObject){
2241
+ var self=this;
2242
+ return smalltalk.withContext(function($ctx1) {
2243
+ return self}, function($ctx1) {$ctx1.fill(self,"addElement:",{anObject:anObject}, smalltalk.Organizer)})}
2184
2244
  }),
2185
2245
  smalltalk.Organizer);
2186
2246
 
@@ -2188,24 +2248,23 @@ smalltalk.addMethod(
2188
2248
  "_elements",
2189
2249
  smalltalk.method({
2190
2250
  selector: "elements",
2191
- fn: function () {
2192
- var self = this;
2193
- var $1;
2194
- $1 = smalltalk.send(smalltalk.send(self, "_basicAt_", ["elements"]), "_copy", []);
2195
- return $1;
2196
- }
2251
+ fn: function (){
2252
+ var self=this;
2253
+ return smalltalk.withContext(function($ctx1) {
2254
+ $1=_st(_st(self)._basicAt_("elements"))._copy();
2255
+ return $1;
2256
+ }, function($ctx1) {$ctx1.fill(self,"elements",{}, smalltalk.Organizer)})}
2197
2257
  }),
2198
2258
  smalltalk.Organizer);
2199
2259
 
2200
2260
  smalltalk.addMethod(
2201
2261
  "_removeElement_",
2202
2262
  smalltalk.method({
2203
- selector: "removeElement:",
2204
- fn: function (anObject) {
2205
- var self = this;
2206
- self.removeElement(anObject);
2207
- return self;
2208
- }
2263
+ selector: "removeElement:",
2264
+ fn: function (anObject){
2265
+ var self=this;
2266
+ return smalltalk.withContext(function($ctx1) {
2267
+ return self}, function($ctx1) {$ctx1.fill(self,"removeElement:",{anObject:anObject}, smalltalk.Organizer)})}
2209
2268
  }),
2210
2269
  smalltalk.Organizer);
2211
2270
 
@@ -2216,12 +2275,12 @@ smalltalk.addMethod(
2216
2275
  "_classes",
2217
2276
  smalltalk.method({
2218
2277
  selector: "classes",
2219
- fn: function () {
2220
- var self = this;
2221
- var $1;
2222
- $1 = smalltalk.send(smalltalk.send(self, "_organization", []), "_elements", []);
2223
- return $1;
2224
- }
2278
+ fn: function (){
2279
+ var self=this;
2280
+ return smalltalk.withContext(function($ctx1) {
2281
+ $1=_st(_st(self)._organization())._elements();
2282
+ return $1;
2283
+ }, function($ctx1) {$ctx1.fill(self,"classes",{}, smalltalk.Package)})}
2225
2284
  }),
2226
2285
  smalltalk.Package);
2227
2286
 
@@ -2229,17 +2288,17 @@ smalltalk.addMethod(
2229
2288
  "_commitPathJs",
2230
2289
  smalltalk.method({
2231
2290
  selector: "commitPathJs",
2232
- fn: function () {
2233
- var self = this;
2234
- var $1;
2235
- if (($receiver = self['@commitPathJs']) == nil ||
2236
- $receiver == undefined) {
2237
- $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_defaultCommitPathJs", []);
2238
- } else {
2239
- $1 = self['@commitPathJs'];
2240
- }
2241
- return $1;
2242
- }
2291
+ fn: function (){
2292
+ var self=this;
2293
+ return smalltalk.withContext(function($ctx1) {
2294
+ $2=self["@commitPathJs"];
2295
+ if(($receiver = $2) == nil || $receiver == undefined){
2296
+ $1=_st(_st(self)._class())._defaultCommitPathJs();
2297
+ } else {
2298
+ $1=$2;
2299
+ };
2300
+ return $1;
2301
+ }, function($ctx1) {$ctx1.fill(self,"commitPathJs",{}, smalltalk.Package)})}
2243
2302
  }),
2244
2303
  smalltalk.Package);
2245
2304
 
@@ -2247,11 +2306,10 @@ smalltalk.addMethod(
2247
2306
  "_commitPathJs_",
2248
2307
  smalltalk.method({
2249
2308
  selector: "commitPathJs:",
2250
- fn: function (aString) {
2251
- var self = this;
2252
- self['@commitPathJs'] = aString;
2253
- return self;
2254
- }
2309
+ fn: function (aString){
2310
+ var self=this;
2311
+ return smalltalk.withContext(function($ctx1) {
2312
+ return self}, function($ctx1) {$ctx1.fill(self,"commitPathJs:",{aString:aString}, smalltalk.Package)})}
2255
2313
  }),
2256
2314
  smalltalk.Package);
2257
2315
 
@@ -2259,17 +2317,17 @@ smalltalk.addMethod(
2259
2317
  "_commitPathSt",
2260
2318
  smalltalk.method({
2261
2319
  selector: "commitPathSt",
2262
- fn: function () {
2263
- var self = this;
2264
- var $1;
2265
- if (($receiver = self['@commitPathSt']) == nil ||
2266
- $receiver == undefined) {
2267
- $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_defaultCommitPathSt", []);
2268
- } else {
2269
- $1 = self['@commitPathSt'];
2270
- }
2271
- return $1;
2272
- }
2320
+ fn: function (){
2321
+ var self=this;
2322
+ return smalltalk.withContext(function($ctx1) {
2323
+ $2=self["@commitPathSt"];
2324
+ if(($receiver = $2) == nil || $receiver == undefined){
2325
+ $1=_st(_st(self)._class())._defaultCommitPathSt();
2326
+ } else {
2327
+ $1=$2;
2328
+ };
2329
+ return $1;
2330
+ }, function($ctx1) {$ctx1.fill(self,"commitPathSt",{}, smalltalk.Package)})}
2273
2331
  }),
2274
2332
  smalltalk.Package);
2275
2333
 
@@ -2277,11 +2335,10 @@ smalltalk.addMethod(
2277
2335
  "_commitPathSt_",
2278
2336
  smalltalk.method({
2279
2337
  selector: "commitPathSt:",
2280
- fn: function (aString) {
2281
- var self = this;
2282
- self['@commitPathSt'] = aString;
2283
- return self;
2284
- }
2338
+ fn: function (aString){
2339
+ var self=this;
2340
+ return smalltalk.withContext(function($ctx1) {
2341
+ return self}, function($ctx1) {$ctx1.fill(self,"commitPathSt:",{aString:aString}, smalltalk.Package)})}
2285
2342
  }),
2286
2343
  smalltalk.Package);
2287
2344
 
@@ -2289,12 +2346,14 @@ smalltalk.addMethod(
2289
2346
  "_dependencies",
2290
2347
  smalltalk.method({
2291
2348
  selector: "dependencies",
2292
- fn: function () {
2293
- var self = this;
2294
- var $1;
2295
- $1 = smalltalk.send(self, "_propertyAt_ifAbsent_", ["dependencies", function () {return [];}]);
2296
- return $1;
2297
- }
2349
+ fn: function (){
2350
+ var self=this;
2351
+ return smalltalk.withContext(function($ctx1) {
2352
+ $1=_st(self)._propertyAt_ifAbsent_("dependencies",(function(){
2353
+ return smalltalk.withContext(function($ctx2) {
2354
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2355
+ return $1;
2356
+ }, function($ctx1) {$ctx1.fill(self,"dependencies",{}, smalltalk.Package)})}
2298
2357
  }),
2299
2358
  smalltalk.Package);
2300
2359
 
@@ -2302,12 +2361,12 @@ smalltalk.addMethod(
2302
2361
  "_dependencies_",
2303
2362
  smalltalk.method({
2304
2363
  selector: "dependencies:",
2305
- fn: function (anArray) {
2306
- var self = this;
2307
- var $1;
2308
- $1 = smalltalk.send(self, "_propertyAt_put_", ["dependencies", anArray]);
2309
- return $1;
2310
- }
2364
+ fn: function (anArray){
2365
+ var self=this;
2366
+ return smalltalk.withContext(function($ctx1) {
2367
+ $1=_st(self)._propertyAt_put_("dependencies",anArray);
2368
+ return $1;
2369
+ }, function($ctx1) {$ctx1.fill(self,"dependencies:",{anArray:anArray}, smalltalk.Package)})}
2311
2370
  }),
2312
2371
  smalltalk.Package);
2313
2372
 
@@ -2315,11 +2374,10 @@ smalltalk.addMethod(
2315
2374
  "_jsProperties",
2316
2375
  smalltalk.method({
2317
2376
  selector: "jsProperties",
2318
- fn: function () {
2319
- var self = this;
2320
- return self.properties;
2321
- return self;
2322
- }
2377
+ fn: function (){
2378
+ var self=this;
2379
+ return smalltalk.withContext(function($ctx1) {
2380
+ return self}, function($ctx1) {$ctx1.fill(self,"jsProperties",{}, smalltalk.Package)})}
2323
2381
  }),
2324
2382
  smalltalk.Package);
2325
2383
 
@@ -2327,11 +2385,10 @@ smalltalk.addMethod(
2327
2385
  "_jsProperties_",
2328
2386
  smalltalk.method({
2329
2387
  selector: "jsProperties:",
2330
- fn: function (aJSObject) {
2331
- var self = this;
2332
- return self.properties = aJSObject;
2333
- return self;
2334
- }
2388
+ fn: function (aJSObject){
2389
+ var self=this;
2390
+ return smalltalk.withContext(function($ctx1) {
2391
+ return self}, function($ctx1) {$ctx1.fill(self,"jsProperties:",{aJSObject:aJSObject}, smalltalk.Package)})}
2335
2392
  }),
2336
2393
  smalltalk.Package);
2337
2394
 
@@ -2339,11 +2396,10 @@ smalltalk.addMethod(
2339
2396
  "_name",
2340
2397
  smalltalk.method({
2341
2398
  selector: "name",
2342
- fn: function () {
2343
- var self = this;
2344
- return self.pkgName;
2345
- return self;
2346
- }
2399
+ fn: function (){
2400
+ var self=this;
2401
+ return smalltalk.withContext(function($ctx1) {
2402
+ return self}, function($ctx1) {$ctx1.fill(self,"name",{}, smalltalk.Package)})}
2347
2403
  }),
2348
2404
  smalltalk.Package);
2349
2405
 
@@ -2351,11 +2407,10 @@ smalltalk.addMethod(
2351
2407
  "_name_",
2352
2408
  smalltalk.method({
2353
2409
  selector: "name:",
2354
- fn: function (aString) {
2355
- var self = this;
2356
- self.pkgName = aString;
2357
- return self;
2358
- }
2410
+ fn: function (aString){
2411
+ var self=this;
2412
+ return smalltalk.withContext(function($ctx1) {
2413
+ return self}, function($ctx1) {$ctx1.fill(self,"name:",{aString:aString}, smalltalk.Package)})}
2359
2414
  }),
2360
2415
  smalltalk.Package);
2361
2416
 
@@ -2363,12 +2418,12 @@ smalltalk.addMethod(
2363
2418
  "_organization",
2364
2419
  smalltalk.method({
2365
2420
  selector: "organization",
2366
- fn: function () {
2367
- var self = this;
2368
- var $1;
2369
- $1 = smalltalk.send(self, "_basicAt_", ["organization"]);
2370
- return $1;
2371
- }
2421
+ fn: function (){
2422
+ var self=this;
2423
+ return smalltalk.withContext(function($ctx1) {
2424
+ $1=_st(self)._basicAt_("organization");
2425
+ return $1;
2426
+ }, function($ctx1) {$ctx1.fill(self,"organization",{}, smalltalk.Package)})}
2372
2427
  }),
2373
2428
  smalltalk.Package);
2374
2429
 
@@ -2376,12 +2431,12 @@ smalltalk.addMethod(
2376
2431
  "_printString",
2377
2432
  smalltalk.method({
2378
2433
  selector: "printString",
2379
- fn: function () {
2380
- var self = this;
2381
- var $1;
2382
- $1 = smalltalk.send(self, "_name", []);
2383
- return $1;
2384
- }
2434
+ fn: function (){
2435
+ var self=this;
2436
+ return smalltalk.withContext(function($ctx1) {
2437
+ $1=_st(self)._name();
2438
+ return $1;
2439
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Package)})}
2385
2440
  }),
2386
2441
  smalltalk.Package);
2387
2442
 
@@ -2389,27 +2444,12 @@ smalltalk.addMethod(
2389
2444
  "_properties",
2390
2445
  smalltalk.method({
2391
2446
  selector: "properties",
2392
- fn: function () {
2393
- var self = this;
2394
- var $1;
2395
- $1 = smalltalk.send(smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []), "_readJSObject_", [smalltalk.send(self, "_basicAt_", ["properties"])]);
2396
- return $1;
2397
- }
2398
- }),
2399
- smalltalk.Package);
2400
-
2401
- smalltalk.addMethod(
2402
- "_properties_",
2403
- smalltalk.method({
2404
- selector: "properties:",
2405
- fn: function (aDict) {
2406
- var self = this;
2407
- var object;
2408
- object = {};
2409
- smalltalk.send(aDict, "_keysAndValuesDo_", [function (key, value) {return object[key] = value;}]);
2410
- return self.properties = object;
2411
- return self;
2412
- }
2447
+ fn: function (){
2448
+ var self=this;
2449
+ return smalltalk.withContext(function($ctx1) {
2450
+ $1=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._readJSObject_(_st(self)._basicAt_("properties"));
2451
+ return $1;
2452
+ }, function($ctx1) {$ctx1.fill(self,"properties",{}, smalltalk.Package)})}
2413
2453
  }),
2414
2454
  smalltalk.Package);
2415
2455
 
@@ -2417,11 +2457,10 @@ smalltalk.addMethod(
2417
2457
  "_propertiesAsJSON",
2418
2458
  smalltalk.method({
2419
2459
  selector: "propertiesAsJSON",
2420
- fn: function () {
2421
- var self = this;
2422
- return JSON.stringify(self.properties);
2423
- return self;
2424
- }
2460
+ fn: function (){
2461
+ var self=this;
2462
+ return smalltalk.withContext(function($ctx1) {
2463
+ return self}, function($ctx1) {$ctx1.fill(self,"propertiesAsJSON",{}, smalltalk.Package)})}
2425
2464
  }),
2426
2465
  smalltalk.Package);
2427
2466
 
@@ -2429,11 +2468,10 @@ smalltalk.addMethod(
2429
2468
  "_propertyAt_",
2430
2469
  smalltalk.method({
2431
2470
  selector: "propertyAt:",
2432
- fn: function (key) {
2433
- var self = this;
2434
- return self.properties[key];
2435
- return self;
2436
- }
2471
+ fn: function (key){
2472
+ var self=this;
2473
+ return smalltalk.withContext(function($ctx1) {
2474
+ return self}, function($ctx1) {$ctx1.fill(self,"propertyAt:",{key:key}, smalltalk.Package)})}
2437
2475
  }),
2438
2476
  smalltalk.Package);
2439
2477
 
@@ -2441,17 +2479,17 @@ smalltalk.addMethod(
2441
2479
  "_propertyAt_ifAbsent_",
2442
2480
  smalltalk.method({
2443
2481
  selector: "propertyAt:ifAbsent:",
2444
- fn: function (key, block) {
2445
- var self = this;
2446
- var $2, $1;
2447
- $2 = smalltalk.send(self, "_propertyAt_", [key]);
2448
- if (($receiver = $2) == nil || $receiver == undefined) {
2449
- $1 = smalltalk.send(block, "_value", []);
2450
- } else {
2451
- $1 = $2;
2452
- }
2453
- return $1;
2454
- }
2482
+ fn: function (key,block){
2483
+ var self=this;
2484
+ return smalltalk.withContext(function($ctx1) {
2485
+ $2=_st(self)._propertyAt_(key);
2486
+ if(($receiver = $2) == nil || $receiver == undefined){
2487
+ $1=_st(block)._value();
2488
+ } else {
2489
+ $1=$2;
2490
+ };
2491
+ return $1;
2492
+ }, function($ctx1) {$ctx1.fill(self,"propertyAt:ifAbsent:",{key:key,block:block}, smalltalk.Package)})}
2455
2493
  }),
2456
2494
  smalltalk.Package);
2457
2495
 
@@ -2459,11 +2497,28 @@ smalltalk.addMethod(
2459
2497
  "_propertyAt_put_",
2460
2498
  smalltalk.method({
2461
2499
  selector: "propertyAt:put:",
2462
- fn: function (key, value) {
2463
- var self = this;
2464
- return self.properties[key] = value;
2465
- return self;
2466
- }
2500
+ fn: function (key,value){
2501
+ var self=this;
2502
+ return smalltalk.withContext(function($ctx1) {
2503
+ return self}, function($ctx1) {$ctx1.fill(self,"propertyAt:put:",{key:key,value:value}, smalltalk.Package)})}
2504
+ }),
2505
+ smalltalk.Package);
2506
+
2507
+ smalltalk.addMethod(
2508
+ "_setupClasses",
2509
+ smalltalk.method({
2510
+ selector: "setupClasses",
2511
+ fn: function (){
2512
+ var self=this;
2513
+ return smalltalk.withContext(function($ctx1) {
2514
+ $1=_st(self)._classes();
2515
+ _st($1)._do_((function(each){
2516
+ return smalltalk.withContext(function($ctx2) {
2517
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
2518
+ $2=_st($1)._do_((function(each){
2519
+ return smalltalk.withContext(function($ctx2) {
2520
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
2521
+ return self}, function($ctx1) {$ctx1.fill(self,"setupClasses",{}, smalltalk.Package)})}
2467
2522
  }),
2468
2523
  smalltalk.Package);
2469
2524
 
@@ -2471,30 +2526,30 @@ smalltalk.addMethod(
2471
2526
  "_sortedClasses",
2472
2527
  smalltalk.method({
2473
2528
  selector: "sortedClasses",
2474
- fn: function () {
2475
- var self = this;
2476
- var $1;
2477
- $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_sortedClasses_", [smalltalk.send(self, "_classes", [])]);
2478
- return $1;
2479
- }
2529
+ fn: function (){
2530
+ var self=this;
2531
+ return smalltalk.withContext(function($ctx1) {
2532
+ $1=_st(_st(self)._class())._sortedClasses_(_st(self)._classes());
2533
+ return $1;
2534
+ }, function($ctx1) {$ctx1.fill(self,"sortedClasses",{}, smalltalk.Package)})}
2480
2535
  }),
2481
2536
  smalltalk.Package);
2482
2537
 
2483
2538
 
2484
2539
  smalltalk.Package.klass.iVarNames = ['defaultCommitPathJs','defaultCommitPathSt'];
2485
2540
  smalltalk.addMethod(
2486
- "_commitToLocalStorage_",
2541
+ "_commitPathsFromLoader",
2487
2542
  smalltalk.method({
2488
- selector: "commitToLocalStorage:",
2489
- fn: function (aPackageName) {
2490
- var self = this;
2491
- var key;
2492
- var sourceCode;
2493
- key = smalltalk.send("smalltalk.packages.", "__comma", [aPackageName]);
2494
- sourceCode = smalltalk.send(smalltalk.send(smalltalk.Exporter || Exporter, "_new", []), "_exportPackage_", [aPackageName]);
2495
- localStorage[key] = escape(sourceCode);
2496
- return self;
2497
- }
2543
+ selector: "commitPathsFromLoader",
2544
+ fn: function (){
2545
+ var self=this;
2546
+ return smalltalk.withContext(function($ctx1) {
2547
+ var cp = smalltalk['@@commitPath'];
2548
+ if (!cp) return;
2549
+ if (cp.js) self._defaultCommitPathJs_(cp.js);
2550
+ if (cp.st) self._defaultCommitPathSt_(cp.st);
2551
+ ;
2552
+ return self}, function($ctx1) {$ctx1.fill(self,"commitPathsFromLoader",{}, smalltalk.Package.klass)})}
2498
2553
  }),
2499
2554
  smalltalk.Package.klass);
2500
2555
 
@@ -2502,18 +2557,18 @@ smalltalk.addMethod(
2502
2557
  "_defaultCommitPathJs",
2503
2558
  smalltalk.method({
2504
2559
  selector: "defaultCommitPathJs",
2505
- fn: function () {
2506
- var self = this;
2507
- var $1;
2508
- if (($receiver = self['@defaultCommitPathJs']) == nil ||
2509
- $receiver == undefined) {
2510
- self['@defaultCommitPathJs'] = "js";
2511
- $1 = self['@defaultCommitPathJs'];
2512
- } else {
2513
- $1 = self['@defaultCommitPathJs'];
2514
- }
2515
- return $1;
2516
- }
2560
+ fn: function (){
2561
+ var self=this;
2562
+ return smalltalk.withContext(function($ctx1) {
2563
+ $2=self["@defaultCommitPathJs"];
2564
+ if(($receiver = $2) == nil || $receiver == undefined){
2565
+ self["@defaultCommitPathJs"]="js";
2566
+ $1=self["@defaultCommitPathJs"];
2567
+ } else {
2568
+ $1=$2;
2569
+ };
2570
+ return $1;
2571
+ }, function($ctx1) {$ctx1.fill(self,"defaultCommitPathJs",{}, smalltalk.Package.klass)})}
2517
2572
  }),
2518
2573
  smalltalk.Package.klass);
2519
2574
 
@@ -2521,11 +2576,10 @@ smalltalk.addMethod(
2521
2576
  "_defaultCommitPathJs_",
2522
2577
  smalltalk.method({
2523
2578
  selector: "defaultCommitPathJs:",
2524
- fn: function (aString) {
2525
- var self = this;
2526
- self['@defaultCommitPathJs'] = aString;
2527
- return self;
2528
- }
2579
+ fn: function (aString){
2580
+ var self=this;
2581
+ return smalltalk.withContext(function($ctx1) {
2582
+ return self}, function($ctx1) {$ctx1.fill(self,"defaultCommitPathJs:",{aString:aString}, smalltalk.Package.klass)})}
2529
2583
  }),
2530
2584
  smalltalk.Package.klass);
2531
2585
 
@@ -2533,18 +2587,18 @@ smalltalk.addMethod(
2533
2587
  "_defaultCommitPathSt",
2534
2588
  smalltalk.method({
2535
2589
  selector: "defaultCommitPathSt",
2536
- fn: function () {
2537
- var self = this;
2538
- var $1;
2539
- if (($receiver = self['@defaultCommitPathSt']) == nil ||
2540
- $receiver == undefined) {
2541
- self['@defaultCommitPathSt'] = "st";
2542
- $1 = self['@defaultCommitPathSt'];
2543
- } else {
2544
- $1 = self['@defaultCommitPathSt'];
2545
- }
2546
- return $1;
2547
- }
2590
+ fn: function (){
2591
+ var self=this;
2592
+ return smalltalk.withContext(function($ctx1) {
2593
+ $2=self["@defaultCommitPathSt"];
2594
+ if(($receiver = $2) == nil || $receiver == undefined){
2595
+ self["@defaultCommitPathSt"]="st";
2596
+ $1=self["@defaultCommitPathSt"];
2597
+ } else {
2598
+ $1=$2;
2599
+ };
2600
+ return $1;
2601
+ }, function($ctx1) {$ctx1.fill(self,"defaultCommitPathSt",{}, smalltalk.Package.klass)})}
2548
2602
  }),
2549
2603
  smalltalk.Package.klass);
2550
2604
 
@@ -2552,11 +2606,10 @@ smalltalk.addMethod(
2552
2606
  "_defaultCommitPathSt_",
2553
2607
  smalltalk.method({
2554
2608
  selector: "defaultCommitPathSt:",
2555
- fn: function (aString) {
2556
- var self = this;
2557
- self['@defaultCommitPathSt'] = aString;
2558
- return self;
2559
- }
2609
+ fn: function (aString){
2610
+ var self=this;
2611
+ return smalltalk.withContext(function($ctx1) {
2612
+ return self}, function($ctx1) {$ctx1.fill(self,"defaultCommitPathSt:",{aString:aString}, smalltalk.Package.klass)})}
2560
2613
  }),
2561
2614
  smalltalk.Package.klass);
2562
2615
 
@@ -2564,11 +2617,10 @@ smalltalk.addMethod(
2564
2617
  "_fetch_",
2565
2618
  smalltalk.method({
2566
2619
  selector: "fetch:",
2567
- fn: function (aPackageName) {
2568
- var self = this;
2569
- smalltalk.send(self, "_fetch_prefix_", [aPackageName, smalltalk.send(smalltalk.send(self, "_defaultCommitPathJs", []), "__comma", ["/"])]);
2570
- return self;
2571
- }
2620
+ fn: function (aPackageName){
2621
+ var self=this;
2622
+ return smalltalk.withContext(function($ctx1) {
2623
+ return self}, function($ctx1) {$ctx1.fill(self,"fetch:",{aPackageName:aPackageName}, smalltalk.Package.klass)})}
2572
2624
  }),
2573
2625
  smalltalk.Package.klass);
2574
2626
 
@@ -2576,26 +2628,24 @@ smalltalk.addMethod(
2576
2628
  "_fetch_prefix_",
2577
2629
  smalltalk.method({
2578
2630
  selector: "fetch:prefix:",
2579
- fn: function (aPackageName, aPrefix) {
2580
- var self = this;
2581
- smalltalk.send(jQuery, "_getScript_onSuccess_", [smalltalk.send(smalltalk.send(aPrefix, "__comma", [aPackageName]), "__comma", [".js"]), function () {return smalltalk.send(smalltalk.Package || Package, "_init_", [aPackageName]);}]);
2582
- return self;
2583
- }
2631
+ fn: function (aPackageName,aPrefix){
2632
+ var self=this;
2633
+ return smalltalk.withContext(function($ctx1) {
2634
+ return smalltalk.withContext(function($ctx2) {
2635
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2636
+ return self}, function($ctx1) {$ctx1.fill(self,"fetch:prefix:",{aPackageName:aPackageName,aPrefix:aPrefix}, smalltalk.Package.klass)})}
2584
2637
  }),
2585
2638
  smalltalk.Package.klass);
2586
2639
 
2587
2640
  smalltalk.addMethod(
2588
- "_init_",
2641
+ "_initialize",
2589
2642
  smalltalk.method({
2590
- selector: "init:",
2591
- fn: function (aPackageName) {
2592
- var self = this;
2593
- var $1, $2;
2594
- $1 = smalltalk.send(smalltalk.send(smalltalk, "_classes", []), "_select_", [function (each) {return each.pkg.pkgName == aPackageName;}]);
2595
- smalltalk.send($1, "_do_", [function (each) {return smalltalk.init(each);}]);
2596
- $2 = smalltalk.send($1, "_do_", [function (each) {return smalltalk.send(each, "_initialize", []);}]);
2597
- return self;
2598
- }
2643
+ selector: "initialize",
2644
+ fn: function (){
2645
+ var self=this;
2646
+ return smalltalk.withContext(function($ctx1) {
2647
+ _st(self)._commitPathsFromLoader();
2648
+ return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Package.klass)})}
2599
2649
  }),
2600
2650
  smalltalk.Package.klass);
2601
2651
 
@@ -2603,12 +2653,12 @@ smalltalk.addMethod(
2603
2653
  "_named_",
2604
2654
  smalltalk.method({
2605
2655
  selector: "named:",
2606
- fn: function (aPackageName) {
2607
- var self = this;
2608
- var $1;
2609
- $1 = smalltalk.send(smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []), "_packageAt_", [aPackageName]);
2610
- return $1;
2611
- }
2656
+ fn: function (aPackageName){
2657
+ var self=this;
2658
+ return smalltalk.withContext(function($ctx1) {
2659
+ $1=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._packageAt_(aPackageName);
2660
+ return $1;
2661
+ }, function($ctx1) {$ctx1.fill(self,"named:",{aPackageName:aPackageName}, smalltalk.Package.klass)})}
2612
2662
  }),
2613
2663
  smalltalk.Package.klass);
2614
2664
 
@@ -2616,12 +2666,12 @@ smalltalk.addMethod(
2616
2666
  "_named_ifAbsent_",
2617
2667
  smalltalk.method({
2618
2668
  selector: "named:ifAbsent:",
2619
- fn: function (aPackageName, aBlock) {
2620
- var self = this;
2621
- var $1;
2622
- $1 = smalltalk.send(smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []), "_packageAt_ifAbsent_", [aPackageName, aBlock]);
2623
- return $1;
2624
- }
2669
+ fn: function (aPackageName,aBlock){
2670
+ var self=this;
2671
+ return smalltalk.withContext(function($ctx1) {
2672
+ $1=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._packageAt_ifAbsent_(aPackageName,aBlock);
2673
+ return $1;
2674
+ }, function($ctx1) {$ctx1.fill(self,"named:ifAbsent:",{aPackageName:aPackageName,aBlock:aBlock}, smalltalk.Package.klass)})}
2625
2675
  }),
2626
2676
  smalltalk.Package.klass);
2627
2677
 
@@ -2629,12 +2679,11 @@ smalltalk.addMethod(
2629
2679
  "_resetCommitPaths",
2630
2680
  smalltalk.method({
2631
2681
  selector: "resetCommitPaths",
2632
- fn: function () {
2633
- var self = this;
2634
- self['@defaultCommitPathJs'] = nil;
2635
- self['@defaultCommitPathSt'] = nil;
2636
- return self;
2637
- }
2682
+ fn: function (){
2683
+ var self=this;
2684
+ return smalltalk.withContext(function($ctx1) {
2685
+ self["@defaultCommitPathSt"]=nil;
2686
+ return self}, function($ctx1) {$ctx1.fill(self,"resetCommitPaths",{}, smalltalk.Package.klass)})}
2638
2687
  }),
2639
2688
  smalltalk.Package.klass);
2640
2689
 
@@ -2642,22 +2691,35 @@ smalltalk.addMethod(
2642
2691
  "_sortedClasses_",
2643
2692
  smalltalk.method({
2644
2693
  selector: "sortedClasses:",
2645
- fn: function (classes) {
2646
- var self = this;
2647
- var $1;
2648
- var children;
2649
- var others;
2650
- var nodes;
2651
- var expandedClasses;
2652
- children = [];
2653
- others = [];
2654
- smalltalk.send(classes, "_do_", [function (each) {$1 = smalltalk.send(classes, "_includes_", [smalltalk.send(each, "_superclass", [])]);if (smalltalk.assert($1)) {return smalltalk.send(others, "_add_", [each]);} else {return smalltalk.send(children, "_add_", [each]);}}]);
2655
- nodes = smalltalk.send(children, "_collect_", [function (each) {return smalltalk.send(smalltalk.ClassSorterNode || ClassSorterNode, "_on_classes_level_", [each, others, 0]);}]);
2656
- nodes = smalltalk.send(nodes, "_sorted_", [function (a, b) {return smalltalk.send(smalltalk.send(smalltalk.send(a, "_theClass", []), "_name", []), "__lt_eq", [smalltalk.send(smalltalk.send(b, "_theClass", []), "_name", [])]);}]);
2657
- expandedClasses = smalltalk.send(smalltalk.Array || Array, "_new", []);
2658
- smalltalk.send(nodes, "_do_", [function (aNode) {return smalltalk.send(aNode, "_traverseClassesWith_", [expandedClasses]);}]);
2659
- return expandedClasses;
2660
- }
2694
+ fn: function (classes){
2695
+ var self=this;
2696
+ var children,others,nodes,expandedClasses;
2697
+ return smalltalk.withContext(function($ctx1) {
2698
+ children=[];
2699
+ others=[];
2700
+ $1=classes;
2701
+ $2=(function(each){
2702
+ return smalltalk.withContext(function($ctx2) {
2703
+ if(smalltalk.assert($3)){
2704
+ return _st(others)._add_(each);
2705
+ } else {
2706
+ return _st(children)._add_(each);
2707
+ };
2708
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
2709
+ _st($1)._do_($2);
2710
+ nodes=_st(children)._collect_((function(each){
2711
+ return smalltalk.withContext(function($ctx2) {
2712
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
2713
+ nodes=_st(nodes)._sorted_((function(a,b){
2714
+ return smalltalk.withContext(function($ctx2) {
2715
+ }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})}));
2716
+ expandedClasses=_st((smalltalk.Array || Array))._new();
2717
+ _st(nodes)._do_((function(aNode){
2718
+ return smalltalk.withContext(function($ctx2) {
2719
+ }, function($ctx2) {$ctx2.fillBlock({aNode:aNode},$ctx1)})}));
2720
+ $4=expandedClasses;
2721
+ return $4;
2722
+ }, function($ctx1) {$ctx1.fill(self,"sortedClasses:",{classes:classes,children:children,others:others,nodes:nodes,expandedClasses:expandedClasses}, smalltalk.Package.klass)})}
2661
2723
  }),
2662
2724
  smalltalk.Package.klass);
2663
2725
 
@@ -2667,12 +2729,12 @@ smalltalk.addMethod(
2667
2729
  "__star",
2668
2730
  smalltalk.method({
2669
2731
  selector: "*",
2670
- fn: function (aPoint) {
2671
- var self = this;
2672
- var $1;
2673
- $1 = smalltalk.send(smalltalk.Point || Point, "_x_y_", [smalltalk.send(smalltalk.send(self, "_x", []), "__star", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", [])]), smalltalk.send(smalltalk.send(self, "_y", []), "__star", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", [])])]);
2674
- return $1;
2675
- }
2732
+ fn: function (aPoint){
2733
+ var self=this;
2734
+ return smalltalk.withContext(function($ctx1) {
2735
+ $1=_st((smalltalk.Point || Point))._x_y_(_st(_st(self)._x()).__star(_st(_st(aPoint)._asPoint())._x()),_st(_st(self)._y()).__star(_st(_st(aPoint)._asPoint())._y()));
2736
+ return $1;
2737
+ }, function($ctx1) {$ctx1.fill(self,"*",{aPoint:aPoint}, smalltalk.Point)})}
2676
2738
  }),
2677
2739
  smalltalk.Point);
2678
2740
 
@@ -2680,12 +2742,12 @@ smalltalk.addMethod(
2680
2742
  "__plus",
2681
2743
  smalltalk.method({
2682
2744
  selector: "+",
2683
- fn: function (aPoint) {
2684
- var self = this;
2685
- var $1;
2686
- $1 = smalltalk.send(smalltalk.Point || Point, "_x_y_", [smalltalk.send(smalltalk.send(self, "_x", []), "__plus", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", [])]), smalltalk.send(smalltalk.send(self, "_y", []), "__plus", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", [])])]);
2687
- return $1;
2688
- }
2745
+ fn: function (aPoint){
2746
+ var self=this;
2747
+ return smalltalk.withContext(function($ctx1) {
2748
+ $1=_st((smalltalk.Point || Point))._x_y_(_st(_st(self)._x()).__plus(_st(_st(aPoint)._asPoint())._x()),_st(_st(self)._y()).__plus(_st(_st(aPoint)._asPoint())._y()));
2749
+ return $1;
2750
+ }, function($ctx1) {$ctx1.fill(self,"+",{aPoint:aPoint}, smalltalk.Point)})}
2689
2751
  }),
2690
2752
  smalltalk.Point);
2691
2753
 
@@ -2693,12 +2755,12 @@ smalltalk.addMethod(
2693
2755
  "__minus",
2694
2756
  smalltalk.method({
2695
2757
  selector: "-",
2696
- fn: function (aPoint) {
2697
- var self = this;
2698
- var $1;
2699
- $1 = smalltalk.send(smalltalk.Point || Point, "_x_y_", [smalltalk.send(smalltalk.send(self, "_x", []), "__minus", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", [])]), smalltalk.send(smalltalk.send(self, "_y", []), "__minus", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", [])])]);
2700
- return $1;
2701
- }
2758
+ fn: function (aPoint){
2759
+ var self=this;
2760
+ return smalltalk.withContext(function($ctx1) {
2761
+ $1=_st((smalltalk.Point || Point))._x_y_(_st(_st(self)._x()).__minus(_st(_st(aPoint)._asPoint())._x()),_st(_st(self)._y()).__minus(_st(_st(aPoint)._asPoint())._y()));
2762
+ return $1;
2763
+ }, function($ctx1) {$ctx1.fill(self,"-",{aPoint:aPoint}, smalltalk.Point)})}
2702
2764
  }),
2703
2765
  smalltalk.Point);
2704
2766
 
@@ -2706,12 +2768,12 @@ smalltalk.addMethod(
2706
2768
  "__slash",
2707
2769
  smalltalk.method({
2708
2770
  selector: "/",
2709
- fn: function (aPoint) {
2710
- var self = this;
2711
- var $1;
2712
- $1 = smalltalk.send(smalltalk.Point || Point, "_x_y_", [smalltalk.send(smalltalk.send(self, "_x", []), "__slash", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", [])]), smalltalk.send(smalltalk.send(self, "_y", []), "__slash", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", [])])]);
2713
- return $1;
2714
- }
2771
+ fn: function (aPoint){
2772
+ var self=this;
2773
+ return smalltalk.withContext(function($ctx1) {
2774
+ $1=_st((smalltalk.Point || Point))._x_y_(_st(_st(self)._x()).__slash(_st(_st(aPoint)._asPoint())._x()),_st(_st(self)._y()).__slash(_st(_st(aPoint)._asPoint())._y()));
2775
+ return $1;
2776
+ }, function($ctx1) {$ctx1.fill(self,"/",{aPoint:aPoint}, smalltalk.Point)})}
2715
2777
  }),
2716
2778
  smalltalk.Point);
2717
2779
 
@@ -2719,12 +2781,14 @@ smalltalk.addMethod(
2719
2781
  "__eq",
2720
2782
  smalltalk.method({
2721
2783
  selector: "=",
2722
- fn: function (aPoint) {
2723
- var self = this;
2724
- var $1;
2725
- $1 = smalltalk.send(smalltalk.send(smalltalk.send(aPoint, "_class", []), "__eq", [smalltalk.send(self, "_class", [])]), "_and_", [function () {return smalltalk.send(smalltalk.send(smalltalk.send(aPoint, "_x", []), "__eq", [smalltalk.send(self, "_x", [])]), "_&", [smalltalk.send(smalltalk.send(aPoint, "_y", []), "__eq", [smalltalk.send(self, "_y", [])])]);}]);
2726
- return $1;
2727
- }
2784
+ fn: function (aPoint){
2785
+ var self=this;
2786
+ return smalltalk.withContext(function($ctx1) {
2787
+ $1=_st(_st(_st(aPoint)._class()).__eq(_st(self)._class()))._and_((function(){
2788
+ return smalltalk.withContext(function($ctx2) {
2789
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2790
+ return $1;
2791
+ }, function($ctx1) {$ctx1.fill(self,"=",{aPoint:aPoint}, smalltalk.Point)})}
2728
2792
  }),
2729
2793
  smalltalk.Point);
2730
2794
 
@@ -2732,10 +2796,12 @@ smalltalk.addMethod(
2732
2796
  "_asPoint",
2733
2797
  smalltalk.method({
2734
2798
  selector: "asPoint",
2735
- fn: function () {
2736
- var self = this;
2737
- return self;
2738
- }
2799
+ fn: function (){
2800
+ var self=this;
2801
+ return smalltalk.withContext(function($ctx1) {
2802
+ $1=self;
2803
+ return $1;
2804
+ }, function($ctx1) {$ctx1.fill(self,"asPoint",{}, smalltalk.Point)})}
2739
2805
  }),
2740
2806
  smalltalk.Point);
2741
2807
 
@@ -2743,12 +2809,23 @@ smalltalk.addMethod(
2743
2809
  "_printString",
2744
2810
  smalltalk.method({
2745
2811
  selector: "printString",
2746
- fn: function () {
2747
- var self = this;
2748
- var $2, $1;
2749
- $1 = smalltalk.send(smalltalk.String || String, "_streamContents_", [function (stream) {smalltalk.send(stream, "_nextPutAll_", [smalltalk.send(smalltalk.send(self['@x'], "_printString", []), "__comma", ["@"])]);$2 = smalltalk.send(smalltalk.send(self['@y'], "_notNil", []), "_and_", [function () {return smalltalk.send(self['@y'], "_negative", []);}]);if (smalltalk.assert($2)) {smalltalk.send(stream, "_space", []);}return smalltalk.send(stream, "_nextPutAll_", [smalltalk.send(self['@y'], "_printString", [])]);}]);
2750
- return $1;
2751
- }
2812
+ fn: function (){
2813
+ var self=this;
2814
+ return smalltalk.withContext(function($ctx1) {
2815
+ $2=(smalltalk.String || String);
2816
+ $3=(function(stream){
2817
+ return smalltalk.withContext(function($ctx2) {
2818
+ $4=_st(_st(self["@y"])._notNil())._and_((function(){
2819
+ return smalltalk.withContext(function($ctx3) {
2820
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
2821
+ if(smalltalk.assert($4)){
2822
+ _st(stream)._space();
2823
+ };
2824
+ return _st(stream)._nextPutAll_(_st(self["@y"])._printString());
2825
+ }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})});
2826
+ $1=_st($2)._streamContents_($3);
2827
+ return $1;
2828
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Point)})}
2752
2829
  }),
2753
2830
  smalltalk.Point);
2754
2831
 
@@ -2756,12 +2833,12 @@ smalltalk.addMethod(
2756
2833
  "_translateBy_",
2757
2834
  smalltalk.method({
2758
2835
  selector: "translateBy:",
2759
- fn: function (delta) {
2760
- var self = this;
2761
- var $1;
2762
- $1 = smalltalk.send(smalltalk.send(smalltalk.send(delta, "_x", []), "__plus", [self['@x']]), "__at", [smalltalk.send(smalltalk.send(delta, "_y", []), "__plus", [self['@y']])]);
2763
- return $1;
2764
- }
2836
+ fn: function (delta){
2837
+ var self=this;
2838
+ return smalltalk.withContext(function($ctx1) {
2839
+ $1=_st(_st(_st(delta)._x()).__plus(self["@x"])).__at(_st(_st(delta)._y()).__plus(self["@y"]));
2840
+ return $1;
2841
+ }, function($ctx1) {$ctx1.fill(self,"translateBy:",{delta:delta}, smalltalk.Point)})}
2765
2842
  }),
2766
2843
  smalltalk.Point);
2767
2844
 
@@ -2769,10 +2846,12 @@ smalltalk.addMethod(
2769
2846
  "_x",
2770
2847
  smalltalk.method({
2771
2848
  selector: "x",
2772
- fn: function () {
2773
- var self = this;
2774
- return self['@x'];
2775
- }
2849
+ fn: function (){
2850
+ var self=this;
2851
+ return smalltalk.withContext(function($ctx1) {
2852
+ $1=self["@x"];
2853
+ return $1;
2854
+ }, function($ctx1) {$ctx1.fill(self,"x",{}, smalltalk.Point)})}
2776
2855
  }),
2777
2856
  smalltalk.Point);
2778
2857
 
@@ -2780,11 +2859,10 @@ smalltalk.addMethod(
2780
2859
  "_x_",
2781
2860
  smalltalk.method({
2782
2861
  selector: "x:",
2783
- fn: function (aNumber) {
2784
- var self = this;
2785
- self['@x'] = aNumber;
2786
- return self;
2787
- }
2862
+ fn: function (aNumber){
2863
+ var self=this;
2864
+ return smalltalk.withContext(function($ctx1) {
2865
+ return self}, function($ctx1) {$ctx1.fill(self,"x:",{aNumber:aNumber}, smalltalk.Point)})}
2788
2866
  }),
2789
2867
  smalltalk.Point);
2790
2868
 
@@ -2792,10 +2870,12 @@ smalltalk.addMethod(
2792
2870
  "_y",
2793
2871
  smalltalk.method({
2794
2872
  selector: "y",
2795
- fn: function () {
2796
- var self = this;
2797
- return self['@y'];
2798
- }
2873
+ fn: function (){
2874
+ var self=this;
2875
+ return smalltalk.withContext(function($ctx1) {
2876
+ $1=self["@y"];
2877
+ return $1;
2878
+ }, function($ctx1) {$ctx1.fill(self,"y",{}, smalltalk.Point)})}
2799
2879
  }),
2800
2880
  smalltalk.Point);
2801
2881
 
@@ -2803,11 +2883,10 @@ smalltalk.addMethod(
2803
2883
  "_y_",
2804
2884
  smalltalk.method({
2805
2885
  selector: "y:",
2806
- fn: function (aNumber) {
2807
- var self = this;
2808
- self['@y'] = aNumber;
2809
- return self;
2810
- }
2886
+ fn: function (aNumber){
2887
+ var self=this;
2888
+ return smalltalk.withContext(function($ctx1) {
2889
+ return self}, function($ctx1) {$ctx1.fill(self,"y:",{aNumber:aNumber}, smalltalk.Point)})}
2811
2890
  }),
2812
2891
  smalltalk.Point);
2813
2892
 
@@ -2816,16 +2895,16 @@ smalltalk.addMethod(
2816
2895
  "_x_y_",
2817
2896
  smalltalk.method({
2818
2897
  selector: "x:y:",
2819
- fn: function (aNumber, anotherNumber) {
2820
- var self = this;
2821
- var $2, $3, $1;
2822
- $2 = smalltalk.send(self, "_new", []);
2823
- smalltalk.send($2, "_x_", [aNumber]);
2824
- smalltalk.send($2, "_y_", [anotherNumber]);
2825
- $3 = smalltalk.send($2, "_yourself", []);
2826
- $1 = $3;
2827
- return $1;
2828
- }
2898
+ fn: function (aNumber,anotherNumber){
2899
+ var self=this;
2900
+ return smalltalk.withContext(function($ctx1) {
2901
+ $2=_st(self)._new();
2902
+ _st($2)._x_(aNumber);
2903
+ _st($2)._y_(anotherNumber);
2904
+ $3=_st($2)._yourself();
2905
+ $1=$3;
2906
+ return $1;
2907
+ }, function($ctx1) {$ctx1.fill(self,"x:y:",{aNumber:aNumber,anotherNumber:anotherNumber}, smalltalk.Point.klass)})}
2829
2908
  }),
2830
2909
  smalltalk.Point.klass);
2831
2910
 
@@ -2835,11 +2914,10 @@ smalltalk.addMethod(
2835
2914
  "_next",
2836
2915
  smalltalk.method({
2837
2916
  selector: "next",
2838
- fn: function () {
2839
- var self = this;
2840
- return Math.random();
2841
- return self;
2842
- }
2917
+ fn: function (){
2918
+ var self=this;
2919
+ return smalltalk.withContext(function($ctx1) {
2920
+ return self}, function($ctx1) {$ctx1.fill(self,"next",{}, smalltalk.Random)})}
2843
2921
  }),
2844
2922
  smalltalk.Random);
2845
2923
 
@@ -2847,27 +2925,48 @@ smalltalk.addMethod(
2847
2925
  "_next_",
2848
2926
  smalltalk.method({
2849
2927
  selector: "next:",
2850
- fn: function (anInteger) {
2851
- var self = this;
2852
- var $1;
2853
- $1 = smalltalk.send(smalltalk.send(1, "_to_", [anInteger]), "_collect_", [function (each) {return smalltalk.send(self, "_next", []);}]);
2854
- return $1;
2855
- }
2928
+ fn: function (anInteger){
2929
+ var self=this;
2930
+ return smalltalk.withContext(function($ctx1) {
2931
+ $1=_st(_st((1))._to_(anInteger))._collect_((function(each){
2932
+ return smalltalk.withContext(function($ctx2) {
2933
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
2934
+ return $1;
2935
+ }, function($ctx1) {$ctx1.fill(self,"next:",{anInteger:anInteger}, smalltalk.Random)})}
2856
2936
  }),
2857
2937
  smalltalk.Random);
2858
2938
 
2859
2939
 
2860
2940
 
2861
2941
  smalltalk.addClass('Smalltalk', smalltalk.Object, [], 'Kernel-Objects');
2942
+ smalltalk.addMethod(
2943
+ "_asSmalltalkException_",
2944
+ smalltalk.method({
2945
+ selector: "asSmalltalkException:",
2946
+ fn: function (anObject){
2947
+ var self=this;
2948
+ return smalltalk.withContext(function($ctx1) {
2949
+ $2=_st(_st(self)._isSmalltalkObject_(anObject))._and_((function(){
2950
+ return smalltalk.withContext(function($ctx2) {
2951
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
2952
+ if(smalltalk.assert($2)){
2953
+ $1=anObject;
2954
+ } else {
2955
+ $1=_st((smalltalk.JavaScriptException || JavaScriptException))._on_(anObject);
2956
+ };
2957
+ return $1;
2958
+ }, function($ctx1) {$ctx1.fill(self,"asSmalltalkException:",{anObject:anObject}, smalltalk.Smalltalk)})}
2959
+ }),
2960
+ smalltalk.Smalltalk);
2961
+
2862
2962
  smalltalk.addMethod(
2863
2963
  "_at_",
2864
2964
  smalltalk.method({
2865
2965
  selector: "at:",
2866
- fn: function (aSymbol) {
2867
- var self = this;
2868
- return self[aSymbol._asString()];
2869
- return self;
2870
- }
2966
+ fn: function (aSymbol){
2967
+ var self=this;
2968
+ return smalltalk.withContext(function($ctx1) {
2969
+ return self}, function($ctx1) {$ctx1.fill(self,"at:",{aSymbol:aSymbol}, smalltalk.Smalltalk)})}
2871
2970
  }),
2872
2971
  smalltalk.Smalltalk);
2873
2972
 
@@ -2875,11 +2974,10 @@ smalltalk.addMethod(
2875
2974
  "_basicParse_",
2876
2975
  smalltalk.method({
2877
2976
  selector: "basicParse:",
2878
- fn: function (aString) {
2879
- var self = this;
2880
- return smalltalk.parser.parse(aString);
2881
- return self;
2882
- }
2977
+ fn: function (aString){
2978
+ var self=this;
2979
+ return smalltalk.withContext(function($ctx1) {
2980
+ return self}, function($ctx1) {$ctx1.fill(self,"basicParse:",{aString:aString}, smalltalk.Smalltalk)})}
2883
2981
  }),
2884
2982
  smalltalk.Smalltalk);
2885
2983
 
@@ -2887,11 +2985,10 @@ smalltalk.addMethod(
2887
2985
  "_classes",
2888
2986
  smalltalk.method({
2889
2987
  selector: "classes",
2890
- fn: function () {
2891
- var self = this;
2892
- return self.classes();
2893
- return self;
2894
- }
2988
+ fn: function (){
2989
+ var self=this;
2990
+ return smalltalk.withContext(function($ctx1) {
2991
+ return self}, function($ctx1) {$ctx1.fill(self,"classes",{}, smalltalk.Smalltalk)})}
2895
2992
  }),
2896
2993
  smalltalk.Smalltalk);
2897
2994
 
@@ -2899,11 +2996,10 @@ smalltalk.addMethod(
2899
2996
  "_createPackage_",
2900
2997
  smalltalk.method({
2901
2998
  selector: "createPackage:",
2902
- fn: function (packageName) {
2903
- var self = this;
2904
- return smalltalk.addPackage(packageName, nil);
2905
- return self;
2906
- }
2999
+ fn: function (packageName){
3000
+ var self=this;
3001
+ return smalltalk.withContext(function($ctx1) {
3002
+ return self}, function($ctx1) {$ctx1.fill(self,"createPackage:",{packageName:packageName}, smalltalk.Smalltalk)})}
2907
3003
  }),
2908
3004
  smalltalk.Smalltalk);
2909
3005
 
@@ -2911,14 +3007,17 @@ smalltalk.addMethod(
2911
3007
  "_createPackage_properties_",
2912
3008
  smalltalk.method({
2913
3009
  selector: "createPackage:properties:",
2914
- fn: function (packageName, aDict) {
2915
- var self = this;
2916
- var object;
2917
- object = {};
2918
- smalltalk.send(aDict, "_keysAndValuesDo_", [function (key, value) {return object[key] = value;}]);
2919
- return smalltalk.addPackage(packageName, object);
2920
- return self;
2921
- }
3010
+ fn: function (packageName,aDict){
3011
+ var self=this;
3012
+ return smalltalk.withContext(function($ctx1) {
3013
+ _st(self)._deprecatedAPI();
3014
+ $1=_st(aDict)._isEmpty();
3015
+ if(! smalltalk.assert($1)){
3016
+ _st(self)._error_("createPackage:properties: called with nonempty properties");
3017
+ };
3018
+ $2=_st(self)._createPackage_(packageName);
3019
+ return $2;
3020
+ }, function($ctx1) {$ctx1.fill(self,"createPackage:properties:",{packageName:packageName,aDict:aDict}, smalltalk.Smalltalk)})}
2922
3021
  }),
2923
3022
  smalltalk.Smalltalk);
2924
3023
 
@@ -2926,11 +3025,10 @@ smalltalk.addMethod(
2926
3025
  "_deleteClass_",
2927
3026
  smalltalk.method({
2928
3027
  selector: "deleteClass:",
2929
- fn: function (aClass) {
2930
- var self = this;
2931
- self.removeClass(aClass);
2932
- return self;
2933
- }
3028
+ fn: function (aClass){
3029
+ var self=this;
3030
+ return smalltalk.withContext(function($ctx1) {
3031
+ return self}, function($ctx1) {$ctx1.fill(self,"deleteClass:",{aClass:aClass}, smalltalk.Smalltalk)})}
2934
3032
  }),
2935
3033
  smalltalk.Smalltalk);
2936
3034
 
@@ -2938,11 +3036,21 @@ smalltalk.addMethod(
2938
3036
  "_deletePackage_",
2939
3037
  smalltalk.method({
2940
3038
  selector: "deletePackage:",
2941
- fn: function (packageName) {
2942
- var self = this;
2943
- delete smalltalk.packages[packageName];
2944
- return self;
2945
- }
3039
+ fn: function (packageName){
3040
+ var self=this;
3041
+ return smalltalk.withContext(function($ctx1) {
3042
+ return self}, function($ctx1) {$ctx1.fill(self,"deletePackage:",{packageName:packageName}, smalltalk.Smalltalk)})}
3043
+ }),
3044
+ smalltalk.Smalltalk);
3045
+
3046
+ smalltalk.addMethod(
3047
+ "_isSmalltalkObject_",
3048
+ smalltalk.method({
3049
+ selector: "isSmalltalkObject:",
3050
+ fn: function (anObject){
3051
+ var self=this;
3052
+ return smalltalk.withContext(function($ctx1) {
3053
+ return self}, function($ctx1) {$ctx1.fill(self,"isSmalltalkObject:",{anObject:anObject}, smalltalk.Smalltalk)})}
2946
3054
  }),
2947
3055
  smalltalk.Smalltalk);
2948
3056
 
@@ -2950,11 +3058,10 @@ smalltalk.addMethod(
2950
3058
  "_packageAt_",
2951
3059
  smalltalk.method({
2952
3060
  selector: "packageAt:",
2953
- fn: function (packageName) {
2954
- var self = this;
2955
- return self.packages[packageName];
2956
- return self;
2957
- }
3061
+ fn: function (packageName){
3062
+ var self=this;
3063
+ return smalltalk.withContext(function($ctx1) {
3064
+ return self}, function($ctx1) {$ctx1.fill(self,"packageAt:",{packageName:packageName}, smalltalk.Smalltalk)})}
2958
3065
  }),
2959
3066
  smalltalk.Smalltalk);
2960
3067
 
@@ -2962,13 +3069,13 @@ smalltalk.addMethod(
2962
3069
  "_packageAt_ifAbsent_",
2963
3070
  smalltalk.method({
2964
3071
  selector: "packageAt:ifAbsent:",
2965
- fn: function (packageName, aBlock) {
2966
- var self = this;
2967
- var $2, $1;
2968
- $2 = smalltalk.send(self, "_packageAt_", [packageName]);
2969
- $1 = smalltalk.send($2, "_ifNil_", [aBlock]);
2970
- return $1;
2971
- }
3072
+ fn: function (packageName,aBlock){
3073
+ var self=this;
3074
+ return smalltalk.withContext(function($ctx1) {
3075
+ $2=_st(self)._packageAt_(packageName);
3076
+ $1=_st($2)._ifNil_(aBlock);
3077
+ return $1;
3078
+ }, function($ctx1) {$ctx1.fill(self,"packageAt:ifAbsent:",{packageName:packageName,aBlock:aBlock}, smalltalk.Smalltalk)})}
2972
3079
  }),
2973
3080
  smalltalk.Smalltalk);
2974
3081
 
@@ -2976,11 +3083,10 @@ smalltalk.addMethod(
2976
3083
  "_packages",
2977
3084
  smalltalk.method({
2978
3085
  selector: "packages",
2979
- fn: function () {
2980
- var self = this;
2981
- return self.packages.all();
2982
- return self;
2983
- }
3086
+ fn: function (){
3087
+ var self=this;
3088
+ return smalltalk.withContext(function($ctx1) {
3089
+ return self}, function($ctx1) {$ctx1.fill(self,"packages",{}, smalltalk.Smalltalk)})}
2984
3090
  }),
2985
3091
  smalltalk.Smalltalk);
2986
3092
 
@@ -2988,12 +3094,19 @@ smalltalk.addMethod(
2988
3094
  "_parse_",
2989
3095
  smalltalk.method({
2990
3096
  selector: "parse:",
2991
- fn: function (aString) {
2992
- var self = this;
2993
- var result;
2994
- smalltalk.send(self, "_try_catch_", [function () {result = smalltalk.send(self, "_basicParse_", [aString]);return result;}, function (ex) {return smalltalk.send(smalltalk.send(self, "_parseError_parsing_", [ex, aString]), "_signal", []);}]);
2995
- return result;
2996
- }
3097
+ fn: function (aString){
3098
+ var self=this;
3099
+ var result;
3100
+ return smalltalk.withContext(function($ctx1) {
3101
+ _st(self)._try_catch_((function(){
3102
+ return smalltalk.withContext(function($ctx2) {
3103
+ return result;
3104
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(function(ex){
3105
+ return smalltalk.withContext(function($ctx2) {
3106
+ }, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
3107
+ $1=result;
3108
+ return $1;
3109
+ }, function($ctx1) {$ctx1.fill(self,"parse:",{aString:aString,result:result}, smalltalk.Smalltalk)})}
2997
3110
  }),
2998
3111
  smalltalk.Smalltalk);
2999
3112
 
@@ -3001,26 +3114,12 @@ smalltalk.addMethod(
3001
3114
  "_parseError_parsing_",
3002
3115
  smalltalk.method({
3003
3116
  selector: "parseError:parsing:",
3004
- fn: function (anException, aString) {
3005
- var self = this;
3006
- var $1;
3007
- var row;
3008
- var col;
3009
- var message;
3010
- var lines;
3011
- var badLine;
3012
- var code;
3013
- row = anException.line;
3014
- col = anException.column;
3015
- message = anException.message;
3016
- lines = smalltalk.send(aString, "_lines", []);
3017
- badLine = smalltalk.send(lines, "_at_", [row]);
3018
- badLine = smalltalk.send(smalltalk.send(smalltalk.send(badLine, "_copyFrom_to_", [1, smalltalk.send(col, "__minus", [1])]), "__comma", [" ===>"]), "__comma", [smalltalk.send(badLine, "_copyFrom_to_", [col, smalltalk.send(badLine, "_size", [])])]);
3019
- smalltalk.send(lines, "_at_put_", [row, badLine]);
3020
- code = smalltalk.send(smalltalk.String || String, "_streamContents_", [function (s) {return smalltalk.send(lines, "_withIndexDo_", [function (l, i) {return smalltalk.send(s, "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(i, "_asString", []), "__comma", [": "]), "__comma", [l]), "__comma", [smalltalk.send(smalltalk.String || String, "_lf", [])])]);}]);}]);
3021
- $1 = smalltalk.send(smalltalk.send(smalltalk.ParseError || ParseError, "_new", []), "_messageText_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("Parse error on line ", "__comma", [row]), "__comma", [" column "]), "__comma", [col]), "__comma", [" : "]), "__comma", [message]), "__comma", [" Below is code with line numbers and ===> marker inserted:"]), "__comma", [smalltalk.send(smalltalk.String || String, "_lf", [])]), "__comma", [code])]);
3022
- return $1;
3023
- }
3117
+ fn: function (anException,aString){
3118
+ var self=this;
3119
+ return smalltalk.withContext(function($ctx1) {
3120
+ $1=_st(_st((smalltalk.ParseError || ParseError))._new())._messageText_(_st(_st(_st(_st(_st("Parse error on line ").__comma(_st(anException)._basicAt_("line"))).__comma(" column ")).__comma(_st(anException)._basicAt_("column"))).__comma(" : Unexpected character ")).__comma(_st(anException)._basicAt_("found")));
3121
+ return $1;
3122
+ }, function($ctx1) {$ctx1.fill(self,"parseError:parsing:",{anException:anException,aString:aString}, smalltalk.Smalltalk)})}
3024
3123
  }),
3025
3124
  smalltalk.Smalltalk);
3026
3125
 
@@ -3028,10 +3127,10 @@ smalltalk.addMethod(
3028
3127
  "_pseudoVariableNames",
3029
3128
  smalltalk.method({
3030
3129
  selector: "pseudoVariableNames",
3031
- fn: function () {
3032
- var self = this;
3033
- return ["self", "super", "nil", "true", "false", "thisContext"];
3034
- }
3130
+ fn: function (){
3131
+ var self=this;
3132
+ return smalltalk.withContext(function($ctx1) {
3133
+ }, function($ctx1) {$ctx1.fill(self,"pseudoVariableNames",{}, smalltalk.Smalltalk)})}
3035
3134
  }),
3036
3135
  smalltalk.Smalltalk);
3037
3136
 
@@ -3039,11 +3138,10 @@ smalltalk.addMethod(
3039
3138
  "_readJSObject_",
3040
3139
  smalltalk.method({
3041
3140
  selector: "readJSObject:",
3042
- fn: function (anObject) {
3043
- var self = this;
3044
- return self.readJSObject(anObject);
3045
- return self;
3046
- }
3141
+ fn: function (anObject){
3142
+ var self=this;
3143
+ return smalltalk.withContext(function($ctx1) {
3144
+ return self}, function($ctx1) {$ctx1.fill(self,"readJSObject:",{anObject:anObject}, smalltalk.Smalltalk)})}
3047
3145
  }),
3048
3146
  smalltalk.Smalltalk);
3049
3147
 
@@ -3051,22 +3149,25 @@ smalltalk.addMethod(
3051
3149
  "_removeClass_",
3052
3150
  smalltalk.method({
3053
3151
  selector: "removeClass:",
3054
- fn: function (aClass) {
3055
- var self = this;
3056
- var $1, $2, $3;
3057
- $1 = smalltalk.send(aClass, "_isMetaclass", []);
3058
- if (smalltalk.assert($1)) {
3059
- smalltalk.send(self, "_error_", [smalltalk.send(smalltalk.send(aClass, "_asString", []), "__comma", [" is a Metaclass and cannot be removed!"])]);
3060
- }
3061
- smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_values", []), "_do_", [function (each) {return smalltalk.send(aClass, "_removeCompiledMethod_", [each]);}]);
3062
- smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_methodDictionary", []), "_values", []), "_do_", [function (each) {return smalltalk.send(smalltalk.send(aClass, "_class", []), "_removeCompiledMethod_", [each]);}]);
3063
- smalltalk.send(self, "_deleteClass_", [aClass]);
3064
- $2 = smalltalk.send(smalltalk.ClassRemoved || ClassRemoved, "_new", []);
3065
- smalltalk.send($2, "_theClass_", [aClass]);
3066
- $3 = smalltalk.send($2, "_yourself", []);
3067
- smalltalk.send(smalltalk.send(smalltalk.SystemAnnouncer || SystemAnnouncer, "_current", []), "_announce_", [$3]);
3068
- return self;
3069
- }
3152
+ fn: function (aClass){
3153
+ var self=this;
3154
+ return smalltalk.withContext(function($ctx1) {
3155
+ $1=_st(aClass)._isMetaclass();
3156
+ if(smalltalk.assert($1)){
3157
+ _st(self)._error_(_st(_st(aClass)._asString()).__comma(" is a Metaclass and cannot be removed!"));
3158
+ };
3159
+ _st(_st(_st(aClass)._methodDictionary())._values())._do_((function(each){
3160
+ return smalltalk.withContext(function($ctx2) {
3161
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
3162
+ _st(_st(_st(_st(aClass)._class())._methodDictionary())._values())._do_((function(each){
3163
+ return smalltalk.withContext(function($ctx2) {
3164
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
3165
+ _st(self)._deleteClass_(aClass);
3166
+ $2=_st((smalltalk.ClassRemoved || ClassRemoved))._new();
3167
+ _st($2)._theClass_(aClass);
3168
+ $3=_st($2)._yourself();
3169
+ _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($3);
3170
+ return self}, function($ctx1) {$ctx1.fill(self,"removeClass:",{aClass:aClass}, smalltalk.Smalltalk)})}
3070
3171
  }),
3071
3172
  smalltalk.Smalltalk);
3072
3173
 
@@ -3074,14 +3175,17 @@ smalltalk.addMethod(
3074
3175
  "_removePackage_",
3075
3176
  smalltalk.method({
3076
3177
  selector: "removePackage:",
3077
- fn: function (packageName) {
3078
- var self = this;
3079
- var pkg;
3080
- pkg = smalltalk.send(self, "_packageAt_ifAbsent_", [packageName, function () {return smalltalk.send(self, "_error_", [smalltalk.send("Missing package: ", "__comma", [packageName])]);}]);
3081
- smalltalk.send(smalltalk.send(pkg, "_classes", []), "_do_", [function (each) {return smalltalk.send(self, "_removeClass_", [each]);}]);
3082
- smalltalk.send(self, "_deletePackage_", [packageName]);
3083
- return self;
3084
- }
3178
+ fn: function (packageName){
3179
+ var self=this;
3180
+ var pkg;
3181
+ return smalltalk.withContext(function($ctx1) {
3182
+ return smalltalk.withContext(function($ctx2) {
3183
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
3184
+ _st(_st(pkg)._classes())._do_((function(each){
3185
+ return smalltalk.withContext(function($ctx2) {
3186
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
3187
+ _st(self)._deletePackage_(packageName);
3188
+ return self}, function($ctx1) {$ctx1.fill(self,"removePackage:",{packageName:packageName,pkg:pkg}, smalltalk.Smalltalk)})}
3085
3189
  }),
3086
3190
  smalltalk.Smalltalk);
3087
3191
 
@@ -3089,21 +3193,23 @@ smalltalk.addMethod(
3089
3193
  "_renamePackage_to_",
3090
3194
  smalltalk.method({
3091
3195
  selector: "renamePackage:to:",
3092
- fn: function (packageName, newName) {
3093
- var self = this;
3094
- var $1;
3095
- var pkg;
3096
- pkg = smalltalk.send(self, "_packageAt_ifAbsent_", [packageName, function () {return smalltalk.send(self, "_error_", [smalltalk.send("Missing package: ", "__comma", [packageName])]);}]);
3097
- $1 = smalltalk.send(self, "_packageAt_", [newName]);
3098
- if (($receiver = $1) == nil || $receiver == undefined) {
3099
- } else {
3100
- smalltalk.send(self, "_error_", [smalltalk.send("Already exists a package called: ", "__comma", [newName])]);
3101
- }
3102
- smalltalk.packages[newName] = smalltalk.packages[packageName];
3103
- smalltalk.send(pkg, "_name_", [newName]);
3104
- smalltalk.send(self, "_deletePackage_", [packageName]);
3105
- return self;
3106
- }
3196
+ fn: function (packageName,newName){
3197
+ var self=this;
3198
+ var pkg;
3199
+ return smalltalk.withContext(function($ctx1) {
3200
+ pkg=_st(self)._packageAt_ifAbsent_(packageName,(function(){
3201
+ return smalltalk.withContext(function($ctx2) {
3202
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
3203
+ $1=_st(self)._packageAt_(newName);
3204
+ if(($receiver = $1) == nil || $receiver == undefined){
3205
+ $1;
3206
+ } else {
3207
+ _st(self)._error_(_st("Already exists a package called: ").__comma(newName));
3208
+ };
3209
+ _st(_st(self)._basicAt_("packages"))._at_put_(newName,pkg);
3210
+ _st(pkg)._name_(newName);
3211
+ _st(self)._deletePackage_(packageName);
3212
+ return self}, function($ctx1) {$ctx1.fill(self,"renamePackage:to:",{packageName:packageName,newName:newName,pkg:pkg}, smalltalk.Smalltalk)})}
3107
3213
  }),
3108
3214
  smalltalk.Smalltalk);
3109
3215
 
@@ -3111,25 +3217,10 @@ smalltalk.addMethod(
3111
3217
  "_reservedWords",
3112
3218
  smalltalk.method({
3113
3219
  selector: "reservedWords",
3114
- fn: function () {
3115
- var self = this;
3116
- return self.reservedWords;
3117
- return self;
3118
- }
3119
- }),
3120
- smalltalk.Smalltalk);
3121
-
3122
- smalltalk.addMethod(
3123
- "_send_to_arguments_",
3124
- smalltalk.method({
3125
- selector: "send:to:arguments:",
3126
- fn: function (aSelector, anObject, aCollection) {
3127
- var self = this;
3128
- var selector;
3129
- selector = smalltalk.send(smalltalk.send(aSelector, "_asString", []), "_asSelector", []);
3130
- return self.send(anObject, selector, aCollection);
3131
- return self;
3132
- }
3220
+ fn: function (){
3221
+ var self=this;
3222
+ return smalltalk.withContext(function($ctx1) {
3223
+ return self}, function($ctx1) {$ctx1.fill(self,"reservedWords",{}, smalltalk.Smalltalk)})}
3133
3224
  }),
3134
3225
  smalltalk.Smalltalk);
3135
3226
 
@@ -3139,24 +3230,83 @@ smalltalk.addMethod(
3139
3230
  "_current",
3140
3231
  smalltalk.method({
3141
3232
  selector: "current",
3142
- fn: function () {
3143
- var self = this;
3144
- return smalltalk;
3145
- return self;
3146
- }
3233
+ fn: function (){
3234
+ var self=this;
3235
+ return smalltalk.withContext(function($ctx1) {
3236
+ return self}, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.Smalltalk.klass)})}
3147
3237
  }),
3148
3238
  smalltalk.Smalltalk.klass);
3149
3239
 
3150
3240
 
3241
+ smalltalk.addClass('Timeout', smalltalk.Object, ['rawTimeout'], 'Kernel-Objects');
3242
+ smalltalk.addMethod(
3243
+ "_clearInterval",
3244
+ smalltalk.method({
3245
+ selector: "clearInterval",
3246
+ fn: function (){
3247
+ var self=this;
3248
+ return smalltalk.withContext(function($ctx1) {
3249
+ var interval = self["@rawTimeout"];
3250
+ clearInterval(interval);
3251
+ ;
3252
+ return self}, function($ctx1) {$ctx1.fill(self,"clearInterval",{}, smalltalk.Timeout)})}
3253
+ }),
3254
+ smalltalk.Timeout);
3255
+
3256
+ smalltalk.addMethod(
3257
+ "_clearTimeout",
3258
+ smalltalk.method({
3259
+ selector: "clearTimeout",
3260
+ fn: function (){
3261
+ var self=this;
3262
+ return smalltalk.withContext(function($ctx1) {
3263
+ var timeout = self["@rawTimeout"];
3264
+ clearTimeout(timeout);
3265
+ ;
3266
+ return self}, function($ctx1) {$ctx1.fill(self,"clearTimeout",{}, smalltalk.Timeout)})}
3267
+ }),
3268
+ smalltalk.Timeout);
3269
+
3270
+ smalltalk.addMethod(
3271
+ "_rawTimeout_",
3272
+ smalltalk.method({
3273
+ selector: "rawTimeout:",
3274
+ fn: function (anObject){
3275
+ var self=this;
3276
+ return smalltalk.withContext(function($ctx1) {
3277
+ return self}, function($ctx1) {$ctx1.fill(self,"rawTimeout:",{anObject:anObject}, smalltalk.Timeout)})}
3278
+ }),
3279
+ smalltalk.Timeout);
3280
+
3281
+
3282
+ smalltalk.addMethod(
3283
+ "_on_",
3284
+ smalltalk.method({
3285
+ selector: "on:",
3286
+ fn: function (anObject){
3287
+ var self=this;
3288
+ return smalltalk.withContext(function($ctx1) {
3289
+ $2=_st(self)._new();
3290
+ _st($2)._rawTimeout_(anObject);
3291
+ $3=_st($2)._yourself();
3292
+ $1=$3;
3293
+ return $1;
3294
+ }, function($ctx1) {$ctx1.fill(self,"on:",{anObject:anObject}, smalltalk.Timeout.klass)})}
3295
+ }),
3296
+ smalltalk.Timeout.klass);
3297
+
3298
+
3151
3299
  smalltalk.addClass('UndefinedObject', smalltalk.Object, [], 'Kernel-Objects');
3152
3300
  smalltalk.addMethod(
3153
3301
  "_asJSON",
3154
3302
  smalltalk.method({
3155
3303
  selector: "asJSON",
3156
- fn: function () {
3157
- var self = this;
3158
- return null;
3159
- }
3304
+ fn: function (){
3305
+ var self=this;
3306
+ return smalltalk.withContext(function($ctx1) {
3307
+ $1=null;
3308
+ return $1;
3309
+ }, function($ctx1) {$ctx1.fill(self,"asJSON",{}, smalltalk.UndefinedObject)})}
3160
3310
  }),
3161
3311
  smalltalk.UndefinedObject);
3162
3312
 
@@ -3164,10 +3314,12 @@ smalltalk.addMethod(
3164
3314
  "_deepCopy",
3165
3315
  smalltalk.method({
3166
3316
  selector: "deepCopy",
3167
- fn: function () {
3168
- var self = this;
3169
- return self;
3170
- }
3317
+ fn: function (){
3318
+ var self=this;
3319
+ return smalltalk.withContext(function($ctx1) {
3320
+ $1=self;
3321
+ return $1;
3322
+ }, function($ctx1) {$ctx1.fill(self,"deepCopy",{}, smalltalk.UndefinedObject)})}
3171
3323
  }),
3172
3324
  smalltalk.UndefinedObject);
3173
3325
 
@@ -3175,12 +3327,14 @@ smalltalk.addMethod(
3175
3327
  "_ifNil_",
3176
3328
  smalltalk.method({
3177
3329
  selector: "ifNil:",
3178
- fn: function (aBlock) {
3179
- var self = this;
3180
- var $1;
3181
- $1 = smalltalk.send(self, "_ifNil_ifNotNil_", [aBlock, function () {}]);
3182
- return $1;
3183
- }
3330
+ fn: function (aBlock){
3331
+ var self=this;
3332
+ return smalltalk.withContext(function($ctx1) {
3333
+ $2=self;
3334
+ $1=_st($2)._ifNil_ifNotNil_(aBlock,(function(){
3335
+ return smalltalk.withContext(function($ctx2) {
3336
+ return $1;
3337
+ }, function($ctx1) {$ctx1.fill(self,"ifNil:",{aBlock:aBlock}, smalltalk.UndefinedObject)})}
3184
3338
  }),
3185
3339
  smalltalk.UndefinedObject);
3186
3340
 
@@ -3188,12 +3342,12 @@ smalltalk.addMethod(
3188
3342
  "_ifNil_ifNotNil_",
3189
3343
  smalltalk.method({
3190
3344
  selector: "ifNil:ifNotNil:",
3191
- fn: function (aBlock, anotherBlock) {
3192
- var self = this;
3193
- var $1;
3194
- $1 = smalltalk.send(aBlock, "_value", []);
3195
- return $1;
3196
- }
3345
+ fn: function (aBlock,anotherBlock){
3346
+ var self=this;
3347
+ return smalltalk.withContext(function($ctx1) {
3348
+ $1=_st(aBlock)._value();
3349
+ return $1;
3350
+ }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.UndefinedObject)})}
3197
3351
  }),
3198
3352
  smalltalk.UndefinedObject);
3199
3353
 
@@ -3201,10 +3355,12 @@ smalltalk.addMethod(
3201
3355
  "_ifNotNil_",
3202
3356
  smalltalk.method({
3203
3357
  selector: "ifNotNil:",
3204
- fn: function (aBlock) {
3205
- var self = this;
3206
- return self;
3207
- }
3358
+ fn: function (aBlock){
3359
+ var self=this;
3360
+ return smalltalk.withContext(function($ctx1) {
3361
+ $1=self;
3362
+ return $1;
3363
+ }, function($ctx1) {$ctx1.fill(self,"ifNotNil:",{aBlock:aBlock}, smalltalk.UndefinedObject)})}
3208
3364
  }),
3209
3365
  smalltalk.UndefinedObject);
3210
3366
 
@@ -3212,12 +3368,12 @@ smalltalk.addMethod(
3212
3368
  "_ifNotNil_ifNil_",
3213
3369
  smalltalk.method({
3214
3370
  selector: "ifNotNil:ifNil:",
3215
- fn: function (aBlock, anotherBlock) {
3216
- var self = this;
3217
- var $1;
3218
- $1 = smalltalk.send(anotherBlock, "_value", []);
3219
- return $1;
3220
- }
3371
+ fn: function (aBlock,anotherBlock){
3372
+ var self=this;
3373
+ return smalltalk.withContext(function($ctx1) {
3374
+ $1=_st(anotherBlock)._value();
3375
+ return $1;
3376
+ }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{aBlock:aBlock,anotherBlock:anotherBlock}, smalltalk.UndefinedObject)})}
3221
3377
  }),
3222
3378
  smalltalk.UndefinedObject);
3223
3379
 
@@ -3225,10 +3381,10 @@ smalltalk.addMethod(
3225
3381
  "_isNil",
3226
3382
  smalltalk.method({
3227
3383
  selector: "isNil",
3228
- fn: function () {
3229
- var self = this;
3230
- return true;
3231
- }
3384
+ fn: function (){
3385
+ var self=this;
3386
+ return smalltalk.withContext(function($ctx1) {
3387
+ }, function($ctx1) {$ctx1.fill(self,"isNil",{}, smalltalk.UndefinedObject)})}
3232
3388
  }),
3233
3389
  smalltalk.UndefinedObject);
3234
3390
 
@@ -3236,10 +3392,10 @@ smalltalk.addMethod(
3236
3392
  "_notNil",
3237
3393
  smalltalk.method({
3238
3394
  selector: "notNil",
3239
- fn: function () {
3240
- var self = this;
3241
- return false;
3242
- }
3395
+ fn: function (){
3396
+ var self=this;
3397
+ return smalltalk.withContext(function($ctx1) {
3398
+ }, function($ctx1) {$ctx1.fill(self,"notNil",{}, smalltalk.UndefinedObject)})}
3243
3399
  }),
3244
3400
  smalltalk.UndefinedObject);
3245
3401
 
@@ -3247,10 +3403,10 @@ smalltalk.addMethod(
3247
3403
  "_printString",
3248
3404
  smalltalk.method({
3249
3405
  selector: "printString",
3250
- fn: function () {
3251
- var self = this;
3252
- return "nil";
3253
- }
3406
+ fn: function (){
3407
+ var self=this;
3408
+ return smalltalk.withContext(function($ctx1) {
3409
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.UndefinedObject)})}
3254
3410
  }),
3255
3411
  smalltalk.UndefinedObject);
3256
3412
 
@@ -3258,10 +3414,12 @@ smalltalk.addMethod(
3258
3414
  "_shallowCopy",
3259
3415
  smalltalk.method({
3260
3416
  selector: "shallowCopy",
3261
- fn: function () {
3262
- var self = this;
3263
- return self;
3264
- }
3417
+ fn: function (){
3418
+ var self=this;
3419
+ return smalltalk.withContext(function($ctx1) {
3420
+ $1=self;
3421
+ return $1;
3422
+ }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{}, smalltalk.UndefinedObject)})}
3265
3423
  }),
3266
3424
  smalltalk.UndefinedObject);
3267
3425
 
@@ -3269,12 +3427,12 @@ smalltalk.addMethod(
3269
3427
  "_subclass_instanceVariableNames_",
3270
3428
  smalltalk.method({
3271
3429
  selector: "subclass:instanceVariableNames:",
3272
- fn: function (aString, anotherString) {
3273
- var self = this;
3274
- var $1;
3275
- $1 = smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, anotherString, nil]);
3276
- return $1;
3277
- }
3430
+ fn: function (aString,anotherString){
3431
+ var self=this;
3432
+ return smalltalk.withContext(function($ctx1) {
3433
+ $1=_st(self)._subclass_instanceVariableNames_package_(aString,anotherString,nil);
3434
+ return $1;
3435
+ }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:",{aString:aString,anotherString:anotherString}, smalltalk.UndefinedObject)})}
3278
3436
  }),
3279
3437
  smalltalk.UndefinedObject);
3280
3438
 
@@ -3282,13 +3440,13 @@ smalltalk.addMethod(
3282
3440
  "_subclass_instanceVariableNames_category_",
3283
3441
  smalltalk.method({
3284
3442
  selector: "subclass:instanceVariableNames:category:",
3285
- fn: function (aString, aString2, aString3) {
3286
- var self = this;
3287
- var $1;
3288
- smalltalk.send(self, "_deprecatedAPI", []);
3289
- $1 = smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
3290
- return $1;
3291
- }
3443
+ fn: function (aString,aString2,aString3){
3444
+ var self=this;
3445
+ return smalltalk.withContext(function($ctx1) {
3446
+ _st(self)._deprecatedAPI();
3447
+ $1=_st(self)._subclass_instanceVariableNames_package_(aString,aString2,aString3);
3448
+ return $1;
3449
+ }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:category:",{aString:aString,aString2:aString2,aString3:aString3}, smalltalk.UndefinedObject)})}
3292
3450
  }),
3293
3451
  smalltalk.UndefinedObject);
3294
3452
 
@@ -3296,12 +3454,12 @@ smalltalk.addMethod(
3296
3454
  "_subclass_instanceVariableNames_package_",
3297
3455
  smalltalk.method({
3298
3456
  selector: "subclass:instanceVariableNames:package:",
3299
- fn: function (aString, aString2, aString3) {
3300
- var self = this;
3301
- var $1;
3302
- $1 = smalltalk.send(smalltalk.send(smalltalk.ClassBuilder || ClassBuilder, "_new", []), "_superclass_subclass_instanceVariableNames_package_", [self, aString, aString2, aString3]);
3303
- return $1;
3304
- }
3457
+ fn: function (aString,aString2,aString3){
3458
+ var self=this;
3459
+ return smalltalk.withContext(function($ctx1) {
3460
+ $1=_st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._superclass_subclass_instanceVariableNames_package_(self,_st(aString)._asString(),aString2,aString3);
3461
+ return $1;
3462
+ }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:package:",{aString:aString,aString2:aString2,aString3:aString3}, smalltalk.UndefinedObject)})}
3305
3463
  }),
3306
3464
  smalltalk.UndefinedObject);
3307
3465
 
@@ -3310,11 +3468,10 @@ smalltalk.addMethod(
3310
3468
  "_new",
3311
3469
  smalltalk.method({
3312
3470
  selector: "new",
3313
- fn: function () {
3314
- var self = this;
3315
- smalltalk.send(self, "_error_", ["You cannot create new instances of UndefinedObject. Use nil"]);
3316
- return self;
3317
- }
3471
+ fn: function (){
3472
+ var self=this;
3473
+ return smalltalk.withContext(function($ctx1) {
3474
+ return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.UndefinedObject.klass)})}
3318
3475
  }),
3319
3476
  smalltalk.UndefinedObject.klass);
3320
3477