resin 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. data/README.markdown +2 -0
  2. data/amber/bin/nodecompile.js +3 -3
  3. data/amber/css/amber.css +47 -23
  4. data/amber/images/off.amber.png +0 -0
  5. data/amber/images/offHover.amber.png +0 -0
  6. data/amber/images/sprite.amber.png +0 -0
  7. data/amber/images/tinylogo.amber.png +0 -0
  8. data/amber/js/Benchfib.deploy.js +34 -34
  9. data/amber/js/Benchfib.js +49 -49
  10. data/amber/js/Canvas.deploy.js +937 -937
  11. data/amber/js/Canvas.js +1622 -1622
  12. data/amber/js/Compiler-Tests.deploy.js +97 -0
  13. data/amber/js/Compiler-Tests.js +137 -0
  14. data/amber/js/Compiler.deploy.js +1030 -924
  15. data/amber/js/Compiler.js +1613 -1467
  16. data/amber/js/Documentation.deploy.js +417 -417
  17. data/amber/js/Documentation.js +728 -728
  18. data/amber/js/Examples.deploy.js +24 -13
  19. data/amber/js/Examples.js +36 -19
  20. data/amber/js/IDE.deploy.js +1583 -1527
  21. data/amber/js/IDE.js +2586 -2510
  22. data/amber/js/Kernel-Announcements.deploy.js +19 -19
  23. data/amber/js/Kernel-Announcements.js +28 -28
  24. data/amber/js/Kernel-Classes.deploy.js +332 -229
  25. data/amber/js/Kernel-Classes.js +532 -384
  26. data/amber/js/Kernel-Collections.deploy.js +1516 -1712
  27. data/amber/js/Kernel-Collections.js +2436 -2712
  28. data/amber/js/Kernel-Exceptions.deploy.js +85 -62
  29. data/amber/js/Kernel-Exceptions.js +131 -98
  30. data/amber/js/Kernel-Methods.deploy.js +326 -378
  31. data/amber/js/Kernel-Methods.js +473 -525
  32. data/amber/js/Kernel-Objects.deploy.js +1777 -2428
  33. data/amber/js/Kernel-Objects.js +2599 -3426
  34. data/amber/js/Kernel-Tests.deploy.js +871 -772
  35. data/amber/js/Kernel-Tests.js +1207 -1083
  36. data/amber/js/Kernel-Transcript.deploy.js +57 -57
  37. data/amber/js/Kernel-Transcript.js +94 -94
  38. data/amber/js/SUnit.deploy.js +116 -116
  39. data/amber/js/SUnit.js +211 -211
  40. data/amber/js/amber.js +10 -11
  41. data/amber/js/boot.js +132 -156
  42. data/amber/js/init.js +2 -2
  43. data/amber/js/parser.js +2095 -3014
  44. data/amber/js/parser.pegjs +1 -1
  45. data/amber/st/Benchfib.st +22 -22
  46. data/amber/st/Canvas.st +471 -471
  47. data/amber/st/Compiler-Tests.st +471 -0
  48. data/amber/st/Compiler.st +858 -794
  49. data/amber/st/Examples.st +22 -5
  50. data/amber/st/IDE.st +1326 -1291
  51. data/amber/st/Kernel-Announcements.st +2 -2
  52. data/amber/st/Kernel-Classes.st +148 -90
  53. data/amber/st/Kernel-Collections.st +950 -1061
  54. data/amber/st/Kernel-Exceptions.st +33 -25
  55. data/amber/st/Kernel-Methods.st +151 -151
  56. data/amber/st/Kernel-Objects.st +891 -1036
  57. data/amber/st/Kernel-Tests.st +622 -544
  58. data/amber/st/Kernel-Transcript.st +38 -38
  59. data/amber/st/SUnit.st +53 -53
  60. metadata +27 -20
@@ -1,573 +1,521 @@
1
1
  smalltalk.addPackage('Kernel-Methods', {});
2
- smalltalk.addClass('Message', smalltalk.Object, ['selector', 'arguments'], 'Kernel-Methods');
2
+ smalltalk.addClass('BlockClosure', smalltalk.Object, [], 'Kernel-Methods');
3
3
  smalltalk.addMethod(
4
- unescape('_selector'),
4
+ "_applyTo_arguments_",
5
5
  smalltalk.method({
6
- selector: unescape('selector'),
7
- fn: function () {
8
- var self = this;
9
- return self['@selector'];
10
- return self;
11
- }
6
+ selector: "applyTo:arguments:",
7
+ fn: function (anObject, aCollection){
8
+ var self=this;
9
+ return self.apply(anObject, aCollection);
10
+ return self;}
12
11
  }),
13
- smalltalk.Message);
12
+ smalltalk.BlockClosure);
14
13
 
15
14
  smalltalk.addMethod(
16
- unescape('_selector_'),
15
+ "_compiledSource",
17
16
  smalltalk.method({
18
- selector: unescape('selector%3A'),
19
- fn: function (aString) {
20
- var self = this;
21
- self['@selector'] = aString;
22
- return self;
23
- }
17
+ selector: "compiledSource",
18
+ fn: function (){
19
+ var self=this;
20
+ return self.toString();
21
+ return self;}
24
22
  }),
25
- smalltalk.Message);
23
+ smalltalk.BlockClosure);
26
24
 
27
25
  smalltalk.addMethod(
28
- unescape('_arguments_'),
26
+ "_ensure_",
29
27
  smalltalk.method({
30
- selector: unescape('arguments%3A'),
31
- fn: function (anArray) {
32
- var self = this;
33
- self['@arguments'] = anArray;
34
- return self;
35
- }
28
+ selector: "ensure:",
29
+ fn: function (aBlock){
30
+ var self=this;
31
+ var success=nil;
32
+ (success=false);
33
+ return smalltalk.send((function(){smalltalk.send(self, "_value", []);(success=true);return smalltalk.send(aBlock, "_value", []);}), "_on_do_", [(smalltalk.Error || Error), (function(ex){((($receiver = success).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(aBlock, "_value", []);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(aBlock, "_value", []);})]));return smalltalk.send(ex, "_signal", []);})]);
34
+ return self;}
36
35
  }),
37
- smalltalk.Message);
36
+ smalltalk.BlockClosure);
38
37
 
39
38
  smalltalk.addMethod(
40
- unescape('_arguments'),
39
+ "_new",
41
40
  smalltalk.method({
42
- selector: unescape('arguments'),
43
- fn: function () {
44
- var self = this;
45
- return self['@arguments'];
46
- return self;
47
- }
41
+ selector: "new",
42
+ fn: function (){
43
+ var self=this;
44
+ return new self();
45
+ return self;}
48
46
  }),
49
- smalltalk.Message);
47
+ smalltalk.BlockClosure);
50
48
 
51
49
  smalltalk.addMethod(
52
- unescape('_printString'),
50
+ "_newValue_",
53
51
  smalltalk.method({
54
- selector: unescape('printString'),
55
- fn: function () {
56
- var self = this;
57
- return smalltalk.send(smalltalk.String || String, "_streamContents_", [function (aStream) {return function ($rec) {smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_printString", [], smalltalk.Object)]);smalltalk.send($rec, "_nextPutAll_", [unescape("%28")]);smalltalk.send($rec, "_nextPutAll_", [self['@selector']]);return smalltalk.send($rec, "_nextPutAll_", [unescape("%29")]);}(aStream);}]);
58
- return self;
59
- }
52
+ selector: "newValue:",
53
+ fn: function (anObject){
54
+ var self=this;
55
+ return new self(anObject);
56
+ return self;}
60
57
  }),
61
- smalltalk.Message);
58
+ smalltalk.BlockClosure);
62
59
 
63
60
  smalltalk.addMethod(
64
- unescape('_sendTo_'),
61
+ "_newValue_value_",
65
62
  smalltalk.method({
66
- selector: unescape('sendTo%3A'),
67
- fn: function (anObject) {
68
- var self = this;
69
- smalltalk.send(smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []), "_send_to_arguments_", [smalltalk.send(self, "_selector", []), anObject, smalltalk.send(self, "_arguments", [])]);
70
- return self;
71
- }
63
+ selector: "newValue:value:",
64
+ fn: function (anObject, anObject2){
65
+ var self=this;
66
+ return new self(anObject, anObject2);
67
+ return self;}
72
68
  }),
73
- smalltalk.Message);
74
-
69
+ smalltalk.BlockClosure);
75
70
 
76
71
  smalltalk.addMethod(
77
- unescape('_selector_arguments_'),
72
+ "_newValue_value_value_",
78
73
  smalltalk.method({
79
- selector: unescape('selector%3Aarguments%3A'),
80
- fn: function (aString, anArray) {
81
- var self = this;
82
- return function ($rec) {smalltalk.send($rec, "_selector_", [aString]);smalltalk.send($rec, "_arguments_", [anArray]);return smalltalk.send($rec, "_yourself", []);}(smalltalk.send(self, "_new", []));
83
- return self;
84
- }
74
+ selector: "newValue:value:value:",
75
+ fn: function (anObject, anObject2, anObject3){
76
+ var self=this;
77
+ return new self(anObject, anObject2);
78
+ return self;}
85
79
  }),
86
- smalltalk.Message.klass);
87
-
80
+ smalltalk.BlockClosure);
88
81
 
89
- smalltalk.addClass('MethodContext', smalltalk.Object, [], 'Kernel-Methods');
90
82
  smalltalk.addMethod(
91
- unescape('_receiver'),
83
+ "_numArgs",
92
84
  smalltalk.method({
93
- selector: unescape('receiver'),
94
- fn: function () {
95
- var self = this;
96
- return self.receiver;
97
- return self;
98
- }
85
+ selector: "numArgs",
86
+ fn: function (){
87
+ var self=this;
88
+ return self.length;
89
+ return self;}
99
90
  }),
100
- smalltalk.MethodContext);
91
+ smalltalk.BlockClosure);
101
92
 
102
93
  smalltalk.addMethod(
103
- unescape('_selector'),
94
+ "_on_do_",
104
95
  smalltalk.method({
105
- selector: unescape('selector'),
106
- fn: function () {
107
- var self = this;
108
- return smalltalk.convertSelector(self.selector);
109
- return self;
110
- }
96
+ selector: "on:do:",
97
+ fn: function (anErrorClass, aBlock){
98
+ var self=this;
99
+ return smalltalk.send(self, "_try_catch_", [self, (function(error){return ((($receiver = smalltalk.send(error, "_isKindOf_", [anErrorClass])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(aBlock, "_value_", [error]);})() : (function(){return smalltalk.send(error, "_signal", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send(aBlock, "_value_", [error]);}), (function(){return smalltalk.send(error, "_signal", []);})]));})]);
100
+ return self;}
111
101
  }),
112
- smalltalk.MethodContext);
102
+ smalltalk.BlockClosure);
113
103
 
114
104
  smalltalk.addMethod(
115
- unescape('_home'),
105
+ "_timeToRun",
116
106
  smalltalk.method({
117
- selector: unescape('home'),
118
- fn: function () {
119
- var self = this;
120
- return self.homeContext;
121
- return self;
122
- }
107
+ selector: "timeToRun",
108
+ fn: function (){
109
+ var self=this;
110
+ return smalltalk.send((smalltalk.Date || Date), "_millisecondsToRun_", [self]);
111
+ return self;}
123
112
  }),
124
- smalltalk.MethodContext);
113
+ smalltalk.BlockClosure);
125
114
 
126
115
  smalltalk.addMethod(
127
- unescape('_temps'),
116
+ "_value",
128
117
  smalltalk.method({
129
- selector: unescape('temps'),
130
- fn: function () {
131
- var self = this;
132
- return self.temps;
133
- return self;
134
- }
118
+ selector: "value",
119
+ fn: function (){
120
+ var self=this;
121
+ return self();;
122
+ return self;}
135
123
  }),
136
- smalltalk.MethodContext);
124
+ smalltalk.BlockClosure);
137
125
 
138
126
  smalltalk.addMethod(
139
- unescape('_printString'),
127
+ "_value_",
140
128
  smalltalk.method({
141
- selector: unescape('printString'),
142
- fn: function () {
143
- var self = this;
144
- return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_printString", [], smalltalk.Object), "__comma", [unescape("%28")]), "__comma", [smalltalk.send(self, "_asString", [])]), "__comma", [unescape("%29")]);
145
- return self;
146
- }
129
+ selector: "value:",
130
+ fn: function (anArg){
131
+ var self=this;
132
+ return self(anArg);;
133
+ return self;}
147
134
  }),
148
- smalltalk.MethodContext);
135
+ smalltalk.BlockClosure);
149
136
 
150
137
  smalltalk.addMethod(
151
- unescape('_asString'),
138
+ "_value_value_",
152
139
  smalltalk.method({
153
- selector: unescape('asString'),
154
- fn: function () {
155
- var self = this;
156
- return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_receiver", []), "_class", []), "_printString", []), "__comma", [unescape("%20%3E%3E%20")]), "__comma", [smalltalk.send(self, "_selector", [])]);
157
- return self;
158
- }
140
+ selector: "value:value:",
141
+ fn: function (firstArg, secondArg){
142
+ var self=this;
143
+ return self(firstArg, secondArg);;
144
+ return self;}
159
145
  }),
160
- smalltalk.MethodContext);
161
-
162
-
146
+ smalltalk.BlockClosure);
163
147
 
164
- smalltalk.addClass('BlockClosure', smalltalk.Object, [], 'Kernel-Methods');
165
148
  smalltalk.addMethod(
166
- unescape('_compiledSource'),
149
+ "_value_value_value_",
167
150
  smalltalk.method({
168
- selector: unescape('compiledSource'),
169
- fn: function () {
170
- var self = this;
171
- return self.toString();
172
- return self;
173
- }
151
+ selector: "value:value:value:",
152
+ fn: function (firstArg, secondArg, thirdArg){
153
+ var self=this;
154
+ return self(firstArg, secondArg, thirdArg);;
155
+ return self;}
174
156
  }),
175
157
  smalltalk.BlockClosure);
176
158
 
177
159
  smalltalk.addMethod(
178
- unescape('_whileTrue_'),
160
+ "_valueWithInterval_",
179
161
  smalltalk.method({
180
- selector: unescape('whileTrue%3A'),
181
- fn: function (aBlock) {
182
- var self = this;
183
- while (self()) {
184
- aBlock();
185
- }
186
- return self;
187
- }
162
+ selector: "valueWithInterval:",
163
+ fn: function (aNumber){
164
+ var self=this;
165
+ return setInterval(self, aNumber);
166
+ return self;}
188
167
  }),
189
168
  smalltalk.BlockClosure);
190
169
 
191
170
  smalltalk.addMethod(
192
- unescape('_whileFalse_'),
171
+ "_valueWithPossibleArguments_",
193
172
  smalltalk.method({
194
- selector: unescape('whileFalse%3A'),
195
- fn: function (aBlock) {
196
- var self = this;
197
- while (!self()) {
198
- aBlock();
199
- }
200
- return self;
201
- }
173
+ selector: "valueWithPossibleArguments:",
174
+ fn: function (aCollection){
175
+ var self=this;
176
+ return self.apply(null, aCollection);;
177
+ return self;}
202
178
  }),
203
179
  smalltalk.BlockClosure);
204
180
 
205
181
  smalltalk.addMethod(
206
- unescape('_value'),
182
+ "_valueWithTimeout_",
207
183
  smalltalk.method({
208
- selector: unescape('value'),
209
- fn: function () {
210
- var self = this;
211
- return self();
212
- return self;
213
- }
184
+ selector: "valueWithTimeout:",
185
+ fn: function (aNumber){
186
+ var self=this;
187
+ return setTimeout(self, aNumber);
188
+ return self;}
214
189
  }),
215
190
  smalltalk.BlockClosure);
216
191
 
217
192
  smalltalk.addMethod(
218
- unescape('_value_'),
193
+ "_whileFalse",
219
194
  smalltalk.method({
220
- selector: unescape('value%3A'),
221
- fn: function (anArg) {
222
- var self = this;
223
- return self(anArg);
224
- return self;
225
- }
195
+ selector: "whileFalse",
196
+ fn: function (){
197
+ var self=this;
198
+ smalltalk.send(self, "_whileFalse_", [(function(){return nil;})]);
199
+ return self;}
226
200
  }),
227
201
  smalltalk.BlockClosure);
228
202
 
229
203
  smalltalk.addMethod(
230
- unescape('_value_value_'),
204
+ "_whileFalse_",
231
205
  smalltalk.method({
232
- selector: unescape('value%3Avalue%3A'),
233
- fn: function (firstArg, secondArg) {
234
- var self = this;
235
- return self(firstArg, secondArg);
236
- return self;
237
- }
206
+ selector: "whileFalse:",
207
+ fn: function (aBlock){
208
+ var self=this;
209
+ while(!self()) {aBlock()};
210
+ return self;}
238
211
  }),
239
212
  smalltalk.BlockClosure);
240
213
 
241
214
  smalltalk.addMethod(
242
- unescape('_value_value_value_'),
215
+ "_whileTrue",
243
216
  smalltalk.method({
244
- selector: unescape('value%3Avalue%3Avalue%3A'),
245
- fn: function (firstArg, secondArg, thirdArg) {
246
- var self = this;
247
- return self(firstArg, secondArg, thirdArg);
248
- return self;
249
- }
217
+ selector: "whileTrue",
218
+ fn: function (){
219
+ var self=this;
220
+ smalltalk.send(self, "_whileTrue_", [(function(){return nil;})]);
221
+ return self;}
250
222
  }),
251
223
  smalltalk.BlockClosure);
252
224
 
253
225
  smalltalk.addMethod(
254
- unescape('_valueWithPossibleArguments_'),
226
+ "_whileTrue_",
255
227
  smalltalk.method({
256
- selector: unescape('valueWithPossibleArguments%3A'),
257
- fn: function (aCollection) {
258
- var self = this;
259
- return self.apply(null, aCollection);
260
- return self;
261
- }
228
+ selector: "whileTrue:",
229
+ fn: function (aBlock){
230
+ var self=this;
231
+ while(self()) {aBlock()};
232
+ return self;}
262
233
  }),
263
234
  smalltalk.BlockClosure);
264
235
 
236
+
237
+
238
+ smalltalk.addClass('CompiledMethod', smalltalk.Object, [], 'Kernel-Methods');
265
239
  smalltalk.addMethod(
266
- unescape('_on_do_'),
240
+ "_arguments",
267
241
  smalltalk.method({
268
- selector: unescape('on%3Ado%3A'),
269
- fn: function (anErrorClass, aBlock) {
270
- var self = this;
271
- return smalltalk.send(self, "_try_catch_", [self, function (error) {return ($receiver = smalltalk.send(error, "_isKindOf_", [anErrorClass])).klass === smalltalk.Boolean ? $receiver ? function () {return smalltalk.send(aBlock, "_value_", [error]);}() : function () {return smalltalk.send(error, "_signal", []);}() : smalltalk.send($receiver, "_ifTrue_ifFalse_", [function () {return smalltalk.send(aBlock, "_value_", [error]);}, function () {return smalltalk.send(error, "_signal", []);}]);}]);
272
- return self;
273
- }
242
+ selector: "arguments",
243
+ fn: function (){
244
+ var self=this;
245
+ return self.args || [];
246
+ return self;}
274
247
  }),
275
- smalltalk.BlockClosure);
248
+ smalltalk.CompiledMethod);
276
249
 
277
250
  smalltalk.addMethod(
278
- unescape('_valueWithTimeout_'),
251
+ "_category",
279
252
  smalltalk.method({
280
- selector: unescape('valueWithTimeout%3A'),
281
- fn: function (aNumber) {
282
- var self = this;
283
- return setTimeout(self, aNumber);
284
- return self;
285
- }
253
+ selector: "category",
254
+ fn: function (){
255
+ var self=this;
256
+ return (($receiver = smalltalk.send(self, "_basicAt_", ["category"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
257
+ return self;}
286
258
  }),
287
- smalltalk.BlockClosure);
259
+ smalltalk.CompiledMethod);
288
260
 
289
261
  smalltalk.addMethod(
290
- unescape('_valueWithInterval_'),
262
+ "_category_",
291
263
  smalltalk.method({
292
- selector: unescape('valueWithInterval%3A'),
293
- fn: function (aNumber) {
294
- var self = this;
295
- return setInterval(self, aNumber);
296
- return self;
297
- }
264
+ selector: "category:",
265
+ fn: function (aString){
266
+ var self=this;
267
+ smalltalk.send(self, "_basicAt_put_", ["category", aString]);
268
+ return self;}
298
269
  }),
299
- smalltalk.BlockClosure);
270
+ smalltalk.CompiledMethod);
300
271
 
301
272
  smalltalk.addMethod(
302
- unescape('_whileFalse'),
273
+ "_fn",
303
274
  smalltalk.method({
304
- selector: unescape('whileFalse'),
305
- fn: function () {
306
- var self = this;
307
- smalltalk.send(self, "_whileFalse_", [function () {return nil;}]);
308
- return self;
309
- }
275
+ selector: "fn",
276
+ fn: function (){
277
+ var self=this;
278
+ return smalltalk.send(self, "_basicAt_", ["fn"]);
279
+ return self;}
310
280
  }),
311
- smalltalk.BlockClosure);
281
+ smalltalk.CompiledMethod);
312
282
 
313
283
  smalltalk.addMethod(
314
- unescape('_whileTrue'),
284
+ "_fn_",
315
285
  smalltalk.method({
316
- selector: unescape('whileTrue'),
317
- fn: function () {
318
- var self = this;
319
- smalltalk.send(self, "_whileTrue_", [function () {return nil;}]);
320
- return self;
321
- }
286
+ selector: "fn:",
287
+ fn: function (aBlock){
288
+ var self=this;
289
+ smalltalk.send(self, "_basicAt_put_", ["fn", aBlock]);
290
+ return self;}
322
291
  }),
323
- smalltalk.BlockClosure);
292
+ smalltalk.CompiledMethod);
324
293
 
325
294
  smalltalk.addMethod(
326
- unescape('_new'),
295
+ "_messageSends",
327
296
  smalltalk.method({
328
- selector: unescape('new'),
329
- fn: function () {
330
- var self = this;
331
- return new self;
332
- return self;
333
- }
297
+ selector: "messageSends",
298
+ fn: function (){
299
+ var self=this;
300
+ return smalltalk.send(self, "_basicAt_", ["messageSends"]);
301
+ return self;}
334
302
  }),
335
- smalltalk.BlockClosure);
303
+ smalltalk.CompiledMethod);
336
304
 
337
305
  smalltalk.addMethod(
338
- unescape('_applyTo_arguments_'),
306
+ "_methodClass",
339
307
  smalltalk.method({
340
- selector: unescape('applyTo%3Aarguments%3A'),
341
- fn: function (anObject, aCollection) {
342
- var self = this;
343
- return self.apply(anObject, aCollection);
344
- return self;
345
- }
308
+ selector: "methodClass",
309
+ fn: function (){
310
+ var self=this;
311
+ return smalltalk.send(self, "_basicAt_", ["methodClass"]);
312
+ return self;}
346
313
  }),
347
- smalltalk.BlockClosure);
314
+ smalltalk.CompiledMethod);
348
315
 
349
316
  smalltalk.addMethod(
350
- unescape('_timeToRun'),
317
+ "_referencedClasses",
351
318
  smalltalk.method({
352
- selector: unescape('timeToRun'),
353
- fn: function () {
354
- var self = this;
355
- return smalltalk.send(smalltalk.Date || Date, "_millisecondsToRun_", [self]);
356
- return self;
357
- }
319
+ selector: "referencedClasses",
320
+ fn: function (){
321
+ var self=this;
322
+ return smalltalk.send(self, "_basicAt_", ["referencedClasses"]);
323
+ return self;}
358
324
  }),
359
- smalltalk.BlockClosure);
325
+ smalltalk.CompiledMethod);
360
326
 
361
327
  smalltalk.addMethod(
362
- unescape('_numArgs'),
328
+ "_selector",
363
329
  smalltalk.method({
364
- selector: unescape('numArgs'),
365
- fn: function () {
366
- var self = this;
367
- return self.length;
368
- return self;
369
- }
330
+ selector: "selector",
331
+ fn: function (){
332
+ var self=this;
333
+ return smalltalk.send(self, "_basicAt_", ["selector"]);
334
+ return self;}
370
335
  }),
371
- smalltalk.BlockClosure);
336
+ smalltalk.CompiledMethod);
372
337
 
373
338
  smalltalk.addMethod(
374
- unescape('_ensure_'),
339
+ "_selector_",
375
340
  smalltalk.method({
376
- selector: unescape('ensure%3A'),
377
- fn: function (aBlock) {
378
- var self = this;
379
- var success = nil;
380
- success = false;
381
- return smalltalk.send(function () {smalltalk.send(self, "_value", []);success = true;return smalltalk.send(aBlock, "_value", []);}, "_on_do_", [smalltalk.Error || Error, function (ex) {($receiver = success).klass === smalltalk.Boolean ? !$receiver ? function () {return smalltalk.send(aBlock, "_value", []);}() : nil : smalltalk.send($receiver, "_ifFalse_", [function () {return smalltalk.send(aBlock, "_value", []);}]);return smalltalk.send(ex, "_signal", []);}]);
382
- return self;
383
- }
341
+ selector: "selector:",
342
+ fn: function (aString){
343
+ var self=this;
344
+ smalltalk.send(self, "_basicAt_put_", ["selector", aString]);
345
+ return self;}
384
346
  }),
385
- smalltalk.BlockClosure);
347
+ smalltalk.CompiledMethod);
386
348
 
387
349
  smalltalk.addMethod(
388
- unescape('_newValue_'),
350
+ "_source",
389
351
  smalltalk.method({
390
- selector: unescape('newValue%3A'),
391
- fn: function (anObject) {
392
- var self = this;
393
- return new self(anObject);
394
- return self;
395
- }
352
+ selector: "source",
353
+ fn: function (){
354
+ var self=this;
355
+ return (($receiver = smalltalk.send(self, "_basicAt_", ["source"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
356
+ return self;}
396
357
  }),
397
- smalltalk.BlockClosure);
358
+ smalltalk.CompiledMethod);
398
359
 
399
360
  smalltalk.addMethod(
400
- unescape('_newValue_value_'),
361
+ "_source_",
401
362
  smalltalk.method({
402
- selector: unescape('newValue%3Avalue%3A'),
403
- fn: function (anObject, anObject2) {
404
- var self = this;
405
- return new self(anObject, anObject2);
406
- return self;
407
- }
363
+ selector: "source:",
364
+ fn: function (aString){
365
+ var self=this;
366
+ smalltalk.send(self, "_basicAt_put_", ["source", aString]);
367
+ return self;}
408
368
  }),
409
- smalltalk.BlockClosure);
369
+ smalltalk.CompiledMethod);
370
+
371
+
410
372
 
373
+ smalltalk.addClass('Message', smalltalk.Object, ['selector', 'arguments'], 'Kernel-Methods');
411
374
  smalltalk.addMethod(
412
- unescape('_newValue_value_value_'),
375
+ "_arguments",
413
376
  smalltalk.method({
414
- selector: unescape('newValue%3Avalue%3Avalue%3A'),
415
- fn: function (anObject, anObject2, anObject3) {
416
- var self = this;
417
- return new self(anObject, anObject2);
418
- return self;
419
- }
377
+ selector: "arguments",
378
+ fn: function (){
379
+ var self=this;
380
+ return self['@arguments'];
381
+ return self;}
420
382
  }),
421
- smalltalk.BlockClosure);
422
-
423
-
383
+ smalltalk.Message);
424
384
 
425
- smalltalk.addClass('CompiledMethod', smalltalk.Object, [], 'Kernel-Methods');
426
385
  smalltalk.addMethod(
427
- unescape('_source'),
386
+ "_arguments_",
428
387
  smalltalk.method({
429
- selector: unescape('source'),
430
- fn: function () {
431
- var self = this;
432
- return ($receiver = smalltalk.send(self, "_basicAt_", ["source"])) == nil ||
433
- $receiver == undefined ? function () {return "";}() : $receiver;
434
- return self;
435
- }
388
+ selector: "arguments:",
389
+ fn: function (anArray){
390
+ var self=this;
391
+ (self['@arguments']=anArray);
392
+ return self;}
436
393
  }),
437
- smalltalk.CompiledMethod);
394
+ smalltalk.Message);
438
395
 
439
396
  smalltalk.addMethod(
440
- unescape('_source_'),
397
+ "_printString",
441
398
  smalltalk.method({
442
- selector: unescape('source%3A'),
443
- fn: function (aString) {
444
- var self = this;
445
- smalltalk.send(self, "_basicAt_put_", ["source", aString]);
446
- return self;
447
- }
399
+ selector: "printString",
400
+ fn: function (){
401
+ var self=this;
402
+ return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(aStream){return (function($rec){smalltalk.send($rec, "_nextPutAll_", [smalltalk.send(self, "_printString", [], smalltalk.Message.superclass || nil)]);smalltalk.send($rec, "_nextPutAll_", ["("]);smalltalk.send($rec, "_nextPutAll_", [self['@selector']]);return smalltalk.send($rec, "_nextPutAll_", [")"]);})(aStream);})]);
403
+ return self;}
448
404
  }),
449
- smalltalk.CompiledMethod);
405
+ smalltalk.Message);
450
406
 
451
407
  smalltalk.addMethod(
452
- unescape('_category'),
408
+ "_selector",
453
409
  smalltalk.method({
454
- selector: unescape('category'),
455
- fn: function () {
456
- var self = this;
457
- return ($receiver = smalltalk.send(self, "_basicAt_", ["category"])) == nil ||
458
- $receiver == undefined ? function () {return "";}() : $receiver;
459
- return self;
460
- }
410
+ selector: "selector",
411
+ fn: function (){
412
+ var self=this;
413
+ return self['@selector'];
414
+ return self;}
461
415
  }),
462
- smalltalk.CompiledMethod);
416
+ smalltalk.Message);
463
417
 
464
418
  smalltalk.addMethod(
465
- unescape('_category_'),
419
+ "_selector_",
466
420
  smalltalk.method({
467
- selector: unescape('category%3A'),
468
- fn: function (aString) {
469
- var self = this;
470
- smalltalk.send(self, "_basicAt_put_", ["category", aString]);
471
- return self;
472
- }
421
+ selector: "selector:",
422
+ fn: function (aString){
423
+ var self=this;
424
+ (self['@selector']=aString);
425
+ return self;}
473
426
  }),
474
- smalltalk.CompiledMethod);
427
+ smalltalk.Message);
475
428
 
476
429
  smalltalk.addMethod(
477
- unescape('_selector'),
430
+ "_sendTo_",
478
431
  smalltalk.method({
479
- selector: unescape('selector'),
480
- fn: function () {
481
- var self = this;
482
- return smalltalk.send(self, "_basicAt_", ["selector"]);
483
- return self;
484
- }
432
+ selector: "sendTo:",
433
+ fn: function (anObject){
434
+ var self=this;
435
+ smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_send_to_arguments_", [smalltalk.send(self, "_selector", []), anObject, smalltalk.send(self, "_arguments", [])]);
436
+ return self;}
485
437
  }),
486
- smalltalk.CompiledMethod);
438
+ smalltalk.Message);
439
+
487
440
 
488
441
  smalltalk.addMethod(
489
- unescape('_selector_'),
442
+ "_selector_arguments_",
490
443
  smalltalk.method({
491
- selector: unescape('selector%3A'),
492
- fn: function (aString) {
493
- var self = this;
494
- smalltalk.send(self, "_basicAt_put_", ["selector", aString]);
495
- return self;
496
- }
444
+ selector: "selector:arguments:",
445
+ fn: function (aString, anArray){
446
+ var self=this;
447
+ return (function($rec){smalltalk.send($rec, "_selector_", [aString]);smalltalk.send($rec, "_arguments_", [anArray]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
448
+ return self;}
497
449
  }),
498
- smalltalk.CompiledMethod);
450
+ smalltalk.Message.klass);
451
+
499
452
 
453
+ smalltalk.addClass('MethodContext', smalltalk.Object, [], 'Kernel-Methods');
500
454
  smalltalk.addMethod(
501
- unescape('_fn'),
455
+ "_asString",
502
456
  smalltalk.method({
503
- selector: unescape('fn'),
504
- fn: function () {
505
- var self = this;
506
- return smalltalk.send(self, "_basicAt_", ["fn"]);
507
- return self;
508
- }
457
+ selector: "asString",
458
+ fn: function (){
459
+ var self=this;
460
+ return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_receiver", []), "_class", []), "_printString", []), "__comma", [" >> "]), "__comma", [smalltalk.send(self, "_selector", [])]);
461
+ return self;}
509
462
  }),
510
- smalltalk.CompiledMethod);
463
+ smalltalk.MethodContext);
511
464
 
512
465
  smalltalk.addMethod(
513
- unescape('_fn_'),
466
+ "_home",
514
467
  smalltalk.method({
515
- selector: unescape('fn%3A'),
516
- fn: function (aBlock) {
517
- var self = this;
518
- smalltalk.send(self, "_basicAt_put_", ["fn", aBlock]);
519
- return self;
520
- }
468
+ selector: "home",
469
+ fn: function (){
470
+ var self=this;
471
+ return self.homeContext;
472
+ return self;}
521
473
  }),
522
- smalltalk.CompiledMethod);
474
+ smalltalk.MethodContext);
523
475
 
524
476
  smalltalk.addMethod(
525
- unescape('_messageSends'),
477
+ "_printString",
526
478
  smalltalk.method({
527
- selector: unescape('messageSends'),
528
- fn: function () {
529
- var self = this;
530
- return smalltalk.send(self, "_basicAt_", ["messageSends"]);
531
- return self;
532
- }
479
+ selector: "printString",
480
+ fn: function (){
481
+ var self=this;
482
+ return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_printString", [], smalltalk.MethodContext.superclass || nil), "__comma", ["("]), "__comma", [smalltalk.send(self, "_asString", [])]), "__comma", [")"]);
483
+ return self;}
533
484
  }),
534
- smalltalk.CompiledMethod);
485
+ smalltalk.MethodContext);
535
486
 
536
487
  smalltalk.addMethod(
537
- unescape('_methodClass'),
488
+ "_receiver",
538
489
  smalltalk.method({
539
- selector: unescape('methodClass'),
540
- fn: function () {
541
- var self = this;
542
- return smalltalk.send(self, "_basicAt_", ["methodClass"]);
543
- return self;
544
- }
490
+ selector: "receiver",
491
+ fn: function (){
492
+ var self=this;
493
+ return self.receiver;
494
+ return self;}
545
495
  }),
546
- smalltalk.CompiledMethod);
496
+ smalltalk.MethodContext);
547
497
 
548
498
  smalltalk.addMethod(
549
- unescape('_referencedClasses'),
499
+ "_selector",
550
500
  smalltalk.method({
551
- selector: unescape('referencedClasses'),
552
- fn: function () {
553
- var self = this;
554
- return smalltalk.send(self, "_basicAt_", ["referencedClasses"]);
555
- return self;
556
- }
501
+ selector: "selector",
502
+ fn: function (){
503
+ var self=this;
504
+ return smalltalk.convertSelector(self.selector);
505
+ return self;}
557
506
  }),
558
- smalltalk.CompiledMethod);
507
+ smalltalk.MethodContext);
559
508
 
560
509
  smalltalk.addMethod(
561
- unescape('_arguments'),
510
+ "_temps",
562
511
  smalltalk.method({
563
- selector: unescape('arguments'),
564
- fn: function () {
565
- var self = this;
566
- return self.args || [];
567
- return self;
568
- }
512
+ selector: "temps",
513
+ fn: function (){
514
+ var self=this;
515
+ return self.temps;
516
+ return self;}
569
517
  }),
570
- smalltalk.CompiledMethod);
518
+ smalltalk.MethodContext);
571
519
 
572
520
 
573
521