resin 0.0.1 → 0.0.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.
@@ -1,197 +1,230 @@
1
1
  smalltalk.addPackage('Kernel-Methods', {});
2
- smalltalk.addClass('CompiledMethod', smalltalk.Object, [], 'Kernel-Methods');
3
- smalltalk.CompiledMethod.comment=unescape('CompiledMethod%20hold%20the%20source%20and%20compiled%20code%20of%20a%20class%20method.%0A%0AYou%20can%20get%20a%20CompiledMethod%20using%20%60Behavior%3E%3EmethodAt%3A%60%0A%0A%09String%20methodAt%3A%20%27lines%27%0A%0Aand%20read%20the%20source%20code%0A%0A%09%28String%20methodAt%3A%20%27lines%27%29%20source%0A%0ASee%20referenced%20classes%3A%0A%0A%09%28String%20methodAt%3A%20%27lines%27%29%20referencedClasses%0A%0Aor%20messages%20sent%20from%20this%20method%3A%0A%09%0A%09%28String%20methodAt%3A%20%27lines%27%29%20%20messageSends')
2
+ smalltalk.addClass('Message', smalltalk.Object, ['selector', 'arguments'], 'Kernel-Methods');
3
+ smalltalk.Message.comment=unescape('Generally%2C%20the%20system%20does%20not%20use%20instances%20of%20Message%20for%20efficiency%20reasons.%0AHowever%2C%20when%20a%20message%20is%20not%20understood%20by%20its%20receiver%2C%20the%20interpreter%20will%20make%20up%20an%20instance%20of%20it%20in%20order%20to%20capture%20the%20information%20involved%20in%20an%20actual%20message%20transmission.%20%0AThis%20instance%20is%20sent%20it%20as%20an%20argument%20with%20the%20message%20%60doesNotUnderstand%3A%60%20to%20the%20receiver.%0A%0ASee%20boot.js%2C%20%60messageNotUnderstood%60%20%20and%20its%20counterpart%20%60Object%3E%3EdoesNotUnderstand%3A%60')
4
4
  smalltalk.addMethod(
5
- unescape('_source'),
5
+ unescape('_selector'),
6
6
  smalltalk.method({
7
- selector: unescape('source'),
7
+ selector: unescape('selector'),
8
8
  category: 'accessing',
9
- fn: function (){
10
- var self=this;
11
- return (($receiver = smalltalk.send(self, "_basicAt_", ["source"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
12
- return self;},
9
+ fn: function () {
10
+ var self = this;
11
+ return self['@selector'];
12
+ return self;
13
+ },
13
14
  args: [],
14
- source: unescape('source%0A%09%5E%28self%20basicAt%3A%20%27source%27%29%20ifNil%3A%20%5B%27%27%5D'),
15
- messageSends: ["ifNil:", "basicAt:"],
15
+ source: unescape('selector%0A%09%5Eselector'),
16
+ messageSends: [],
16
17
  referencedClasses: []
17
18
  }),
18
- smalltalk.CompiledMethod);
19
+ smalltalk.Message);
19
20
 
20
21
  smalltalk.addMethod(
21
- unescape('_source_'),
22
+ unescape('_selector_'),
22
23
  smalltalk.method({
23
- selector: unescape('source%3A'),
24
+ selector: unescape('selector%3A'),
24
25
  category: 'accessing',
25
- fn: function (aString){
26
- var self=this;
27
- smalltalk.send(self, "_basicAt_put_", ["source", aString]);
28
- return self;},
26
+ fn: function (aString) {
27
+ var self = this;
28
+ self['@selector'] = aString;
29
+ return self;
30
+ },
29
31
  args: ["aString"],
30
- source: unescape('source%3A%20aString%0A%09self%20basicAt%3A%20%27source%27%20put%3A%20aString'),
31
- messageSends: ["basicAt:put:"],
32
+ source: unescape('selector%3A%20aString%0A%09selector%20%3A%3D%20aString'),
33
+ messageSends: [],
32
34
  referencedClasses: []
33
35
  }),
34
- smalltalk.CompiledMethod);
36
+ smalltalk.Message);
35
37
 
36
38
  smalltalk.addMethod(
37
- unescape('_category'),
39
+ unescape('_arguments_'),
38
40
  smalltalk.method({
39
- selector: unescape('category'),
41
+ selector: unescape('arguments%3A'),
40
42
  category: 'accessing',
41
- fn: function (){
42
- var self=this;
43
- return (($receiver = smalltalk.send(self, "_basicAt_", ["category"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
44
- return self;},
45
- args: [],
46
- source: unescape('category%0A%09%5E%28self%20basicAt%3A%20%27category%27%29%20ifNil%3A%20%5B%27%27%5D'),
47
- messageSends: ["ifNil:", "basicAt:"],
43
+ fn: function (anArray) {
44
+ var self = this;
45
+ self['@arguments'] = anArray;
46
+ return self;
47
+ },
48
+ args: ["anArray"],
49
+ source: unescape('arguments%3A%20anArray%0A%09arguments%20%3A%3D%20anArray'),
50
+ messageSends: [],
48
51
  referencedClasses: []
49
52
  }),
50
- smalltalk.CompiledMethod);
53
+ smalltalk.Message);
51
54
 
52
55
  smalltalk.addMethod(
53
- unescape('_category_'),
56
+ unescape('_arguments'),
54
57
  smalltalk.method({
55
- selector: unescape('category%3A'),
58
+ selector: unescape('arguments'),
56
59
  category: 'accessing',
57
- fn: function (aString){
58
- var self=this;
59
- smalltalk.send(self, "_basicAt_put_", ["category", aString]);
60
- return self;},
61
- args: ["aString"],
62
- source: unescape('category%3A%20aString%0A%09self%20basicAt%3A%20%27category%27%20put%3A%20aString'),
63
- messageSends: ["basicAt:put:"],
60
+ fn: function () {
61
+ var self = this;
62
+ return self['@arguments'];
63
+ return self;
64
+ },
65
+ args: [],
66
+ source: unescape('arguments%0A%09%5Earguments'),
67
+ messageSends: [],
64
68
  referencedClasses: []
65
69
  }),
66
- smalltalk.CompiledMethod);
70
+ smalltalk.Message);
67
71
 
68
72
  smalltalk.addMethod(
69
- unescape('_selector'),
73
+ unescape('_printString'),
70
74
  smalltalk.method({
71
- selector: unescape('selector'),
72
- category: 'accessing',
73
- fn: function (){
74
- var self=this;
75
- return smalltalk.send(self, "_basicAt_", ["selector"]);
76
- return self;},
75
+ selector: unescape('printString'),
76
+ category: 'printing',
77
+ fn: function () {
78
+ var self = this;
79
+ 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);}]);
80
+ return self;
81
+ },
77
82
  args: [],
78
- source: unescape('selector%0A%09%5Eself%20basicAt%3A%20%27selector%27'),
79
- messageSends: ["basicAt:"],
80
- referencedClasses: []
83
+ source: unescape('printString%0A%09%5E%20String%20streamContents%3A%20%5B%3AaStream%7C%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09aStream%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20super%20printString%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20%27%28%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20selector%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20%27%29%27%20%09%09%09%09%5D'),
84
+ messageSends: ["streamContents:", "nextPutAll:", "printString"],
85
+ referencedClasses: ["String"]
81
86
  }),
82
- smalltalk.CompiledMethod);
87
+ smalltalk.Message);
83
88
 
84
89
  smalltalk.addMethod(
85
- unescape('_selector_'),
90
+ unescape('_sendTo_'),
86
91
  smalltalk.method({
87
- selector: unescape('selector%3A'),
88
- category: 'accessing',
89
- fn: function (aString){
90
- var self=this;
91
- smalltalk.send(self, "_basicAt_put_", ["selector", aString]);
92
- return self;},
93
- args: ["aString"],
94
- source: unescape('selector%3A%20aString%0A%09self%20basicAt%3A%20%27selector%27%20put%3A%20aString'),
95
- messageSends: ["basicAt:put:"],
92
+ selector: unescape('sendTo%3A'),
93
+ category: 'printing',
94
+ fn: function (anObject) {
95
+ var self = this;
96
+ smalltalk.send(smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []), "_send_to_arguments_", [smalltalk.send(self, "_selector", []), anObject, smalltalk.send(self, "_arguments", [])]);
97
+ return self;
98
+ },
99
+ args: ["anObject"],
100
+ source: unescape('sendTo%3A%20anObject%0A%09Smalltalk%20current%20send%3A%20self%20selector%20to%3A%20anObject%20arguments%3A%20self%20arguments'),
101
+ messageSends: ["send:to:arguments:", "current", "selector", "arguments"],
102
+ referencedClasses: ["Smalltalk"]
103
+ }),
104
+ smalltalk.Message);
105
+
106
+
107
+ smalltalk.addMethod(
108
+ unescape('_selector_arguments_'),
109
+ smalltalk.method({
110
+ selector: unescape('selector%3Aarguments%3A'),
111
+ category: 'instance creation',
112
+ fn: function (aString, anArray) {
113
+ var self = this;
114
+ return function ($rec) {smalltalk.send($rec, "_selector_", [aString]);smalltalk.send($rec, "_arguments_", [anArray]);return smalltalk.send($rec, "_yourself", []);}(smalltalk.send(self, "_new", []));
115
+ return self;
116
+ },
117
+ args: ["aString", "anArray"],
118
+ source: unescape('selector%3A%20aString%20arguments%3A%20anArray%0A%09%5Eself%20new%0A%09%09selector%3A%20aString%3B%0A%09%09arguments%3A%20anArray%3B%0A%09%09yourself'),
119
+ messageSends: ["selector:", "arguments:", "yourself", "new"],
96
120
  referencedClasses: []
97
121
  }),
98
- smalltalk.CompiledMethod);
122
+ smalltalk.Message.klass);
123
+
99
124
 
125
+ smalltalk.addClass('MethodContext', smalltalk.Object, [], 'Kernel-Methods');
126
+ smalltalk.MethodContext.comment=unescape('MethodContext%20holds%20all%20the%20dynamic%20state%20associated%20with%20the%20execution%20of%20either%20a%20method%20activation%20resulting%20from%20a%20message%20send.%20That%20is%20used%20to%20build%20the%20call%20stack%20while%20debugging.%0A%20%20%0AMethodContext%20instances%20are%20JavaScript%20%60SmalltalkMethodContext%60%20objects%20defined%20in%20boot.js%20%0A%0ACurrent%20limitation%3A%20MethodContext%20instances%20are%20not%20created%20on%20Block%20evaluation.%20That%20means%20it%27s%20actually%20impossible%20to%20debug%20inside%20a%20Block.')
100
127
  smalltalk.addMethod(
101
- unescape('_fn'),
128
+ unescape('_receiver'),
102
129
  smalltalk.method({
103
- selector: unescape('fn'),
130
+ selector: unescape('receiver'),
104
131
  category: 'accessing',
105
- fn: function (){
106
- var self=this;
107
- return smalltalk.send(self, "_basicAt_", ["fn"]);
108
- return self;},
132
+ fn: function () {
133
+ var self = this;
134
+ return self.receiver;
135
+ return self;
136
+ },
109
137
  args: [],
110
- source: unescape('fn%0A%09%5Eself%20basicAt%3A%20%27fn%27'),
111
- messageSends: ["basicAt:"],
138
+ source: unescape('receiver%0A%09%3Creturn%20self.receiver%3E'),
139
+ messageSends: [],
112
140
  referencedClasses: []
113
141
  }),
114
- smalltalk.CompiledMethod);
142
+ smalltalk.MethodContext);
115
143
 
116
144
  smalltalk.addMethod(
117
- unescape('_fn_'),
145
+ unescape('_selector'),
118
146
  smalltalk.method({
119
- selector: unescape('fn%3A'),
147
+ selector: unescape('selector'),
120
148
  category: 'accessing',
121
- fn: function (aBlock){
122
- var self=this;
123
- smalltalk.send(self, "_basicAt_put_", ["fn", aBlock]);
124
- return self;},
125
- args: ["aBlock"],
126
- source: unescape('fn%3A%20aBlock%0A%09self%20basicAt%3A%20%27fn%27%20put%3A%20aBlock'),
127
- messageSends: ["basicAt:put:"],
149
+ fn: function () {
150
+ var self = this;
151
+ return smalltalk.convertSelector(self.selector);
152
+ return self;
153
+ },
154
+ args: [],
155
+ source: unescape('selector%0A%09%3Creturn%20smalltalk.convertSelector%28self.selector%29%3E'),
156
+ messageSends: [],
128
157
  referencedClasses: []
129
158
  }),
130
- smalltalk.CompiledMethod);
159
+ smalltalk.MethodContext);
131
160
 
132
161
  smalltalk.addMethod(
133
- unescape('_messageSends'),
162
+ unescape('_home'),
134
163
  smalltalk.method({
135
- selector: unescape('messageSends'),
164
+ selector: unescape('home'),
136
165
  category: 'accessing',
137
- fn: function (){
138
- var self=this;
139
- return smalltalk.send(self, "_basicAt_", ["messageSends"]);
140
- return self;},
166
+ fn: function () {
167
+ var self = this;
168
+ return self.homeContext;
169
+ return self;
170
+ },
141
171
  args: [],
142
- source: unescape('messageSends%0A%09%5Eself%20basicAt%3A%20%27messageSends%27'),
143
- messageSends: ["basicAt:"],
172
+ source: unescape('home%0A%09%3Creturn%20self.homeContext%3E'),
173
+ messageSends: [],
144
174
  referencedClasses: []
145
175
  }),
146
- smalltalk.CompiledMethod);
176
+ smalltalk.MethodContext);
147
177
 
148
178
  smalltalk.addMethod(
149
- unescape('_methodClass'),
179
+ unescape('_temps'),
150
180
  smalltalk.method({
151
- selector: unescape('methodClass'),
181
+ selector: unescape('temps'),
152
182
  category: 'accessing',
153
- fn: function (){
154
- var self=this;
155
- return smalltalk.send(self, "_basicAt_", ["methodClass"]);
156
- return self;},
183
+ fn: function () {
184
+ var self = this;
185
+ return self.temps;
186
+ return self;
187
+ },
157
188
  args: [],
158
- source: unescape('methodClass%0A%09%5Eself%20basicAt%3A%20%27methodClass%27'),
159
- messageSends: ["basicAt:"],
189
+ source: unescape('temps%0A%09%3Creturn%20self.temps%3E'),
190
+ messageSends: [],
160
191
  referencedClasses: []
161
192
  }),
162
- smalltalk.CompiledMethod);
193
+ smalltalk.MethodContext);
163
194
 
164
195
  smalltalk.addMethod(
165
- unescape('_referencedClasses'),
196
+ unescape('_printString'),
166
197
  smalltalk.method({
167
- selector: unescape('referencedClasses'),
198
+ selector: unescape('printString'),
168
199
  category: 'accessing',
169
- fn: function (){
170
- var self=this;
171
- return smalltalk.send(self, "_basicAt_", ["referencedClasses"]);
172
- return self;},
200
+ fn: function () {
201
+ var self = this;
202
+ return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_printString", [], smalltalk.Object), "__comma", [unescape("%28")]), "__comma", [smalltalk.send(self, "_asString", [])]), "__comma", [unescape("%29")]);
203
+ return self;
204
+ },
173
205
  args: [],
174
- source: unescape('referencedClasses%0A%09%5Eself%20basicAt%3A%20%27referencedClasses%27'),
175
- messageSends: ["basicAt:"],
206
+ source: unescape('printString%0A%09%5Esuper%20printString%2C%20%27%28%27%2C%20self%20asString%2C%20%27%29%27'),
207
+ messageSends: [unescape("%2C"), "printString", "asString"],
176
208
  referencedClasses: []
177
209
  }),
178
- smalltalk.CompiledMethod);
210
+ smalltalk.MethodContext);
179
211
 
180
212
  smalltalk.addMethod(
181
- unescape('_arguments'),
213
+ unescape('_asString'),
182
214
  smalltalk.method({
183
- selector: unescape('arguments'),
215
+ selector: unescape('asString'),
184
216
  category: 'accessing',
185
- fn: function (){
186
- var self=this;
187
- return self.args || [];
188
- return self;},
217
+ fn: function () {
218
+ var self = this;
219
+ 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", [])]);
220
+ return self;
221
+ },
189
222
  args: [],
190
- source: unescape('arguments%0A%09%3Creturn%20self.args%20%7C%7C%20%5B%5D%3E'),
191
- messageSends: [],
223
+ source: unescape('asString%0A%09%5Eself%20receiver%20class%20printString%2C%20%27%20%3E%3E%20%27%2C%20self%20selector'),
224
+ messageSends: [unescape("%2C"), "printString", "class", "receiver", "selector"],
192
225
  referencedClasses: []
193
226
  }),
194
- smalltalk.CompiledMethod);
227
+ smalltalk.MethodContext);
195
228
 
196
229
 
197
230
 
@@ -202,10 +235,11 @@ unescape('_compiledSource'),
202
235
  smalltalk.method({
203
236
  selector: unescape('compiledSource'),
204
237
  category: 'accessing',
205
- fn: function (){
206
- var self=this;
207
- return self.toString();
208
- return self;},
238
+ fn: function () {
239
+ var self = this;
240
+ return self.toString();
241
+ return self;
242
+ },
209
243
  args: [],
210
244
  source: unescape('compiledSource%0A%09%3Creturn%20self.toString%28%29%3E'),
211
245
  messageSends: [],
@@ -218,10 +252,13 @@ unescape('_whileTrue_'),
218
252
  smalltalk.method({
219
253
  selector: unescape('whileTrue%3A'),
220
254
  category: 'controlling',
221
- fn: function (aBlock){
222
- var self=this;
223
- while(self()) {aBlock()};
224
- return self;},
255
+ fn: function (aBlock) {
256
+ var self = this;
257
+ while (self()) {
258
+ aBlock();
259
+ }
260
+ return self;
261
+ },
225
262
  args: ["aBlock"],
226
263
  source: unescape('whileTrue%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Cwhile%28self%28%29%29%20%7BaBlock%28%29%7D%3E'),
227
264
  messageSends: [],
@@ -234,10 +271,13 @@ unescape('_whileFalse_'),
234
271
  smalltalk.method({
235
272
  selector: unescape('whileFalse%3A'),
236
273
  category: 'controlling',
237
- fn: function (aBlock){
238
- var self=this;
239
- while(!self()) {aBlock()};
240
- return self;},
274
+ fn: function (aBlock) {
275
+ var self = this;
276
+ while (!self()) {
277
+ aBlock();
278
+ }
279
+ return self;
280
+ },
241
281
  args: ["aBlock"],
242
282
  source: unescape('whileFalse%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Cwhile%28%21self%28%29%29%20%7BaBlock%28%29%7D%3E'),
243
283
  messageSends: [],
@@ -250,10 +290,11 @@ unescape('_value'),
250
290
  smalltalk.method({
251
291
  selector: unescape('value'),
252
292
  category: 'evaluating',
253
- fn: function (){
254
- var self=this;
255
- return self();;
256
- return self;},
293
+ fn: function () {
294
+ var self = this;
295
+ return self();
296
+ return self;
297
+ },
257
298
  args: [],
258
299
  source: unescape('value%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28%29%3B%3E'),
259
300
  messageSends: [],
@@ -266,10 +307,11 @@ unescape('_value_'),
266
307
  smalltalk.method({
267
308
  selector: unescape('value%3A'),
268
309
  category: 'evaluating',
269
- fn: function (anArg){
270
- var self=this;
271
- return self(anArg);;
272
- return self;},
310
+ fn: function (anArg) {
311
+ var self = this;
312
+ return self(anArg);
313
+ return self;
314
+ },
273
315
  args: ["anArg"],
274
316
  source: unescape('value%3A%20anArg%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28anArg%29%3B%3E'),
275
317
  messageSends: [],
@@ -282,10 +324,11 @@ unescape('_value_value_'),
282
324
  smalltalk.method({
283
325
  selector: unescape('value%3Avalue%3A'),
284
326
  category: 'evaluating',
285
- fn: function (firstArg, secondArg){
286
- var self=this;
287
- return self(firstArg, secondArg);;
288
- return self;},
327
+ fn: function (firstArg, secondArg) {
328
+ var self = this;
329
+ return self(firstArg, secondArg);
330
+ return self;
331
+ },
289
332
  args: ["firstArg", "secondArg"],
290
333
  source: unescape('value%3A%20firstArg%20value%3A%20secondArg%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28firstArg%2C%20secondArg%29%3B%3E'),
291
334
  messageSends: [],
@@ -298,10 +341,11 @@ unescape('_value_value_value_'),
298
341
  smalltalk.method({
299
342
  selector: unescape('value%3Avalue%3Avalue%3A'),
300
343
  category: 'evaluating',
301
- fn: function (firstArg, secondArg, thirdArg){
302
- var self=this;
303
- return self(firstArg, secondArg, thirdArg);;
304
- return self;},
344
+ fn: function (firstArg, secondArg, thirdArg) {
345
+ var self = this;
346
+ return self(firstArg, secondArg, thirdArg);
347
+ return self;
348
+ },
305
349
  args: ["firstArg", "secondArg", "thirdArg"],
306
350
  source: unescape('value%3A%20firstArg%20value%3A%20secondArg%20value%3A%20thirdArg%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28firstArg%2C%20secondArg%2C%20thirdArg%29%3B%3E'),
307
351
  messageSends: [],
@@ -314,10 +358,11 @@ unescape('_valueWithPossibleArguments_'),
314
358
  smalltalk.method({
315
359
  selector: unescape('valueWithPossibleArguments%3A'),
316
360
  category: 'evaluating',
317
- fn: function (aCollection){
318
- var self=this;
319
- return self.apply(null, aCollection);;
320
- return self;},
361
+ fn: function (aCollection) {
362
+ var self = this;
363
+ return self.apply(null, aCollection);
364
+ return self;
365
+ },
321
366
  args: ["aCollection"],
322
367
  source: unescape('valueWithPossibleArguments%3A%20aCollection%0A%09%3Creturn%20self.apply%28null%2C%20aCollection%29%3B%3E'),
323
368
  messageSends: [],
@@ -330,10 +375,11 @@ unescape('_on_do_'),
330
375
  smalltalk.method({
331
376
  selector: unescape('on%3Ado%3A'),
332
377
  category: 'error handling',
333
- fn: function (anErrorClass, aBlock){
334
- var self=this;
335
- 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", []);})]));})]);
336
- return self;},
378
+ fn: function (anErrorClass, aBlock) {
379
+ var self = this;
380
+ 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", []);}]);}]);
381
+ return self;
382
+ },
337
383
  args: ["anErrorClass", "aBlock"],
338
384
  source: unescape('on%3A%20anErrorClass%20do%3A%20aBlock%0A%09%5Eself%20try%3A%20self%20catch%3A%20%5B%3Aerror%20%7C%0A%09%20%20%20%20%28error%20isKindOf%3A%20anErrorClass%29%20%0A%09%20%20%20%20%20ifTrue%3A%20%5BaBlock%20value%3A%20error%5D%0A%09%20%20%20%20%20ifFalse%3A%20%5Berror%20signal%5D%5D'),
339
385
  messageSends: ["try:catch:", "ifTrue:ifFalse:", "isKindOf:", "value:", "signal"],
@@ -346,10 +392,11 @@ unescape('_valueWithTimeout_'),
346
392
  smalltalk.method({
347
393
  selector: unescape('valueWithTimeout%3A'),
348
394
  category: 'timeout/interval',
349
- fn: function (aNumber){
350
- var self=this;
351
- return setTimeout(self, aNumber);
352
- return self;},
395
+ fn: function (aNumber) {
396
+ var self = this;
397
+ return setTimeout(self, aNumber);
398
+ return self;
399
+ },
353
400
  args: ["aNumber"],
354
401
  source: unescape('valueWithTimeout%3A%20aNumber%0A%09%3Creturn%20setTimeout%28self%2C%20aNumber%29%3E'),
355
402
  messageSends: [],
@@ -362,10 +409,11 @@ unescape('_valueWithInterval_'),
362
409
  smalltalk.method({
363
410
  selector: unescape('valueWithInterval%3A'),
364
411
  category: 'timeout/interval',
365
- fn: function (aNumber){
366
- var self=this;
367
- return setInterval(self, aNumber);
368
- return self;},
412
+ fn: function (aNumber) {
413
+ var self = this;
414
+ return setInterval(self, aNumber);
415
+ return self;
416
+ },
369
417
  args: ["aNumber"],
370
418
  source: unescape('valueWithInterval%3A%20aNumber%0A%09%3Creturn%20setInterval%28self%2C%20aNumber%29%3E'),
371
419
  messageSends: [],
@@ -378,10 +426,11 @@ unescape('_whileFalse'),
378
426
  smalltalk.method({
379
427
  selector: unescape('whileFalse'),
380
428
  category: 'controlling',
381
- fn: function (){
382
- var self=this;
383
- smalltalk.send(self, "_whileFalse_", [(function(){return nil;})]);
384
- return self;},
429
+ fn: function () {
430
+ var self = this;
431
+ smalltalk.send(self, "_whileFalse_", [function () {return nil;}]);
432
+ return self;
433
+ },
385
434
  args: [],
386
435
  source: unescape('whileFalse%0A%09%22inlined%20in%20the%20Compiler%22%0A%09self%20whileFalse%3A%20%5B%5D'),
387
436
  messageSends: ["whileFalse:"],
@@ -394,10 +443,11 @@ unescape('_whileTrue'),
394
443
  smalltalk.method({
395
444
  selector: unescape('whileTrue'),
396
445
  category: 'controlling',
397
- fn: function (){
398
- var self=this;
399
- smalltalk.send(self, "_whileTrue_", [(function(){return nil;})]);
400
- return self;},
446
+ fn: function () {
447
+ var self = this;
448
+ smalltalk.send(self, "_whileTrue_", [function () {return nil;}]);
449
+ return self;
450
+ },
401
451
  args: [],
402
452
  source: unescape('whileTrue%0A%09%22inlined%20in%20the%20Compiler%22%0A%09self%20whileTrue%3A%20%5B%5D'),
403
453
  messageSends: ["whileTrue:"],
@@ -410,10 +460,11 @@ unescape('_new'),
410
460
  smalltalk.method({
411
461
  selector: unescape('new'),
412
462
  category: 'evaluating',
413
- fn: function (){
414
- var self=this;
415
- return new self();
416
- return self;},
463
+ fn: function () {
464
+ var self = this;
465
+ return new self;
466
+ return self;
467
+ },
417
468
  args: [],
418
469
  source: unescape('new%0A%09%22Use%20the%20receiver%20as%20a%20JS%20constructor.%20%0A%09*Do%20not*%20use%20this%20method%20to%20instanciate%20Smalltalk%20objects%21%22%0A%09%3Creturn%20new%20self%28%29%3E'),
419
470
  messageSends: [],
@@ -426,10 +477,11 @@ unescape('_applyTo_arguments_'),
426
477
  smalltalk.method({
427
478
  selector: unescape('applyTo%3Aarguments%3A'),
428
479
  category: 'evaluating',
429
- fn: function (anObject, aCollection){
430
- var self=this;
431
- return self.apply(anObject, aCollection);
432
- return self;},
480
+ fn: function (anObject, aCollection) {
481
+ var self = this;
482
+ return self.apply(anObject, aCollection);
483
+ return self;
484
+ },
433
485
  args: ["anObject", "aCollection"],
434
486
  source: unescape('applyTo%3A%20anObject%20arguments%3A%20aCollection%0A%09%3Creturn%20self.apply%28anObject%2C%20aCollection%29%3E'),
435
487
  messageSends: [],
@@ -442,10 +494,11 @@ unescape('_timeToRun'),
442
494
  smalltalk.method({
443
495
  selector: unescape('timeToRun'),
444
496
  category: 'evaluating',
445
- fn: function (){
446
- var self=this;
447
- return smalltalk.send((smalltalk.Date || Date), "_millisecondsToRun_", [self]);
448
- return self;},
497
+ fn: function () {
498
+ var self = this;
499
+ return smalltalk.send(smalltalk.Date || Date, "_millisecondsToRun_", [self]);
500
+ return self;
501
+ },
449
502
  args: [],
450
503
  source: unescape('timeToRun%0A%09%22Answer%20the%20number%20of%20milliseconds%20taken%20to%20execute%20this%20block.%22%0A%0A%09%5E%20Date%20millisecondsToRun%3A%20self'),
451
504
  messageSends: ["millisecondsToRun:"],
@@ -458,10 +511,11 @@ unescape('_numArgs'),
458
511
  smalltalk.method({
459
512
  selector: unescape('numArgs'),
460
513
  category: 'accessing',
461
- fn: function (){
462
- var self=this;
463
- return self.length;
464
- return self;},
514
+ fn: function () {
515
+ var self = this;
516
+ return self.length;
517
+ return self;
518
+ },
465
519
  args: [],
466
520
  source: unescape('numArgs%0A%09%3Creturn%20self.length%3E'),
467
521
  messageSends: [],
@@ -474,12 +528,13 @@ unescape('_ensure_'),
474
528
  smalltalk.method({
475
529
  selector: unescape('ensure%3A'),
476
530
  category: 'evaluating',
477
- fn: function (aBlock){
478
- var self=this;
479
- var success=nil;
480
- (success=false);
481
- 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", []);})]);
482
- return self;},
531
+ fn: function (aBlock) {
532
+ var self = this;
533
+ var success = nil;
534
+ success = false;
535
+ 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", []);}]);
536
+ return self;
537
+ },
483
538
  args: ["aBlock"],
484
539
  source: unescape('ensure%3A%20aBlock%0A%09%7C%20success%20%7C%0A%09success%20%3A%3D%20false.%0A%09%5E%5Bself%20value.%20success%20%3A%3D%20true.%20aBlock%20value%5D%0A%09%09on%3A%20Error%0A%09%09do%3A%20%5B%3Aex%20%7C%0A%09%09%09success%20ifFalse%3A%20%5BaBlock%20value%5D.%0A%09%09%09ex%20signal%5D'),
485
540
  messageSends: ["on:do:", "value", "ifFalse:", "signal"],
@@ -492,10 +547,11 @@ unescape('_newValue_'),
492
547
  smalltalk.method({
493
548
  selector: unescape('newValue%3A'),
494
549
  category: 'evaluating',
495
- fn: function (anObject){
496
- var self=this;
497
- return new self(anObject);
498
- return self;},
550
+ fn: function (anObject) {
551
+ var self = this;
552
+ return new self(anObject);
553
+ return self;
554
+ },
499
555
  args: ["anObject"],
500
556
  source: unescape('newValue%3A%20anObject%0A%09%22Use%20the%20receiver%20as%20a%20JS%20constructor.%20%0A%09*Do%20not*%20use%20this%20method%20to%20instanciate%20Smalltalk%20objects%21%22%0A%09%3Creturn%20new%20self%28anObject%29%3E'),
501
557
  messageSends: [],
@@ -508,10 +564,11 @@ unescape('_newValue_value_'),
508
564
  smalltalk.method({
509
565
  selector: unescape('newValue%3Avalue%3A'),
510
566
  category: 'evaluating',
511
- fn: function (anObject, anObject2){
512
- var self=this;
513
- return new self(anObject, anObject2);
514
- return self;},
567
+ fn: function (anObject, anObject2) {
568
+ var self = this;
569
+ return new self(anObject, anObject2);
570
+ return self;
571
+ },
515
572
  args: ["anObject", "anObject2"],
516
573
  source: unescape('newValue%3A%20%20anObject%20value%3A%20anObject2%0A%09%22Use%20the%20receiver%20as%20a%20JS%20constructor.%20%0A%09*Do%20not*%20use%20this%20method%20to%20instanciate%20Smalltalk%20objects%21%22%0A%09%3Creturn%20new%20self%28anObject%2C%20anObject2%29%3E'),
517
574
  messageSends: [],
@@ -524,10 +581,11 @@ unescape('_newValue_value_value_'),
524
581
  smalltalk.method({
525
582
  selector: unescape('newValue%3Avalue%3Avalue%3A'),
526
583
  category: 'evaluating',
527
- fn: function (anObject, anObject2, anObject3){
528
- var self=this;
529
- return new self(anObject, anObject2);
530
- return self;},
584
+ fn: function (anObject, anObject2, anObject3) {
585
+ var self = this;
586
+ return new self(anObject, anObject2);
587
+ return self;
588
+ },
531
589
  args: ["anObject", "anObject2", "anObject3"],
532
590
  source: unescape('newValue%3A%20%20anObject%20value%3A%20anObject2%20value%3A%20anObject3%0A%09%22Use%20the%20receiver%20as%20a%20JS%20constructor.%20%0A%09*Do%20not*%20use%20this%20method%20to%20instanciate%20Smalltalk%20objects%21%22%0A%09%3Creturn%20new%20self%28anObject%2C%20anObject2%29%3E'),
533
591
  messageSends: [],
@@ -537,203 +595,213 @@ smalltalk.BlockClosure);
537
595
 
538
596
 
539
597
 
540
- smalltalk.addClass('MethodContext', smalltalk.Object, [], 'Kernel-Methods');
541
- smalltalk.MethodContext.comment=unescape('MethodContext%20holds%20all%20the%20dynamic%20state%20associated%20with%20the%20execution%20of%20either%20a%20method%20activation%20resulting%20from%20a%20message%20send.%20That%20is%20used%20to%20build%20the%20call%20stack%20while%20debugging.%0A%20%20%0AMethodContext%20instances%20are%20JavaScript%20%60SmalltalkMethodContext%60%20objects%20defined%20in%20boot.js%20%0A%0ACurrent%20limitation%3A%20MethodContext%20instances%20are%20not%20created%20on%20Block%20evaluation.%20That%20means%20it%27s%20actually%20impossible%20to%20debug%20inside%20a%20Block.')
598
+ smalltalk.addClass('CompiledMethod', smalltalk.Object, [], 'Kernel-Methods');
599
+ smalltalk.CompiledMethod.comment=unescape('CompiledMethod%20hold%20the%20source%20and%20compiled%20code%20of%20a%20class%20method.%0A%0AYou%20can%20get%20a%20CompiledMethod%20using%20%60Behavior%3E%3EmethodAt%3A%60%0A%0A%09String%20methodAt%3A%20%27lines%27%0A%0Aand%20read%20the%20source%20code%0A%0A%09%28String%20methodAt%3A%20%27lines%27%29%20source%0A%0ASee%20referenced%20classes%3A%0A%0A%09%28String%20methodAt%3A%20%27lines%27%29%20referencedClasses%0A%0Aor%20messages%20sent%20from%20this%20method%3A%0A%09%0A%09%28String%20methodAt%3A%20%27lines%27%29%20%20messageSends')
542
600
  smalltalk.addMethod(
543
- unescape('_receiver'),
601
+ unescape('_source'),
544
602
  smalltalk.method({
545
- selector: unescape('receiver'),
603
+ selector: unescape('source'),
546
604
  category: 'accessing',
547
- fn: function (){
548
- var self=this;
549
- return self.receiver;
550
- return self;},
605
+ fn: function () {
606
+ var self = this;
607
+ return ($receiver = smalltalk.send(self, "_basicAt_", ["source"])) == nil ||
608
+ $receiver == undefined ? function () {return "";}() : $receiver;
609
+ return self;
610
+ },
551
611
  args: [],
552
- source: unescape('receiver%0A%09%3Creturn%20self.receiver%3E'),
553
- messageSends: [],
612
+ source: unescape('source%0A%09%5E%28self%20basicAt%3A%20%27source%27%29%20ifNil%3A%20%5B%27%27%5D'),
613
+ messageSends: ["ifNil:", "basicAt:"],
554
614
  referencedClasses: []
555
615
  }),
556
- smalltalk.MethodContext);
616
+ smalltalk.CompiledMethod);
557
617
 
558
618
  smalltalk.addMethod(
559
- unescape('_selector'),
619
+ unescape('_source_'),
560
620
  smalltalk.method({
561
- selector: unescape('selector'),
621
+ selector: unescape('source%3A'),
562
622
  category: 'accessing',
563
- fn: function (){
564
- var self=this;
565
- return smalltalk.convertSelector(self.selector);
566
- return self;},
567
- args: [],
568
- source: unescape('selector%0A%09%3Creturn%20smalltalk.convertSelector%28self.selector%29%3E'),
569
- messageSends: [],
623
+ fn: function (aString) {
624
+ var self = this;
625
+ smalltalk.send(self, "_basicAt_put_", ["source", aString]);
626
+ return self;
627
+ },
628
+ args: ["aString"],
629
+ source: unescape('source%3A%20aString%0A%09self%20basicAt%3A%20%27source%27%20put%3A%20aString'),
630
+ messageSends: ["basicAt:put:"],
570
631
  referencedClasses: []
571
632
  }),
572
- smalltalk.MethodContext);
633
+ smalltalk.CompiledMethod);
573
634
 
574
635
  smalltalk.addMethod(
575
- unescape('_home'),
636
+ unescape('_category'),
576
637
  smalltalk.method({
577
- selector: unescape('home'),
638
+ selector: unescape('category'),
578
639
  category: 'accessing',
579
- fn: function (){
580
- var self=this;
581
- return self.homeContext;
582
- return self;},
640
+ fn: function () {
641
+ var self = this;
642
+ return ($receiver = smalltalk.send(self, "_basicAt_", ["category"])) == nil ||
643
+ $receiver == undefined ? function () {return "";}() : $receiver;
644
+ return self;
645
+ },
583
646
  args: [],
584
- source: unescape('home%0A%09%3Creturn%20self.homeContext%3E'),
585
- messageSends: [],
647
+ source: unescape('category%0A%09%5E%28self%20basicAt%3A%20%27category%27%29%20ifNil%3A%20%5B%27%27%5D'),
648
+ messageSends: ["ifNil:", "basicAt:"],
586
649
  referencedClasses: []
587
650
  }),
588
- smalltalk.MethodContext);
651
+ smalltalk.CompiledMethod);
589
652
 
590
653
  smalltalk.addMethod(
591
- unescape('_temps'),
654
+ unescape('_category_'),
592
655
  smalltalk.method({
593
- selector: unescape('temps'),
656
+ selector: unescape('category%3A'),
594
657
  category: 'accessing',
595
- fn: function (){
596
- var self=this;
597
- return self.temps;
598
- return self;},
599
- args: [],
600
- source: unescape('temps%0A%09%3Creturn%20self.temps%3E'),
601
- messageSends: [],
658
+ fn: function (aString) {
659
+ var self = this;
660
+ smalltalk.send(self, "_basicAt_put_", ["category", aString]);
661
+ return self;
662
+ },
663
+ args: ["aString"],
664
+ source: unescape('category%3A%20aString%0A%09self%20basicAt%3A%20%27category%27%20put%3A%20aString'),
665
+ messageSends: ["basicAt:put:"],
602
666
  referencedClasses: []
603
667
  }),
604
- smalltalk.MethodContext);
668
+ smalltalk.CompiledMethod);
605
669
 
606
670
  smalltalk.addMethod(
607
- unescape('_printString'),
671
+ unescape('_selector'),
608
672
  smalltalk.method({
609
- selector: unescape('printString'),
673
+ selector: unescape('selector'),
610
674
  category: 'accessing',
611
- fn: function (){
612
- var self=this;
613
- return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_printString", [], smalltalk.Object), "__comma", [unescape("%28")]), "__comma", [smalltalk.send(self, "_asString", [])]), "__comma", [unescape("%29")]);
614
- return self;},
675
+ fn: function () {
676
+ var self = this;
677
+ return smalltalk.send(self, "_basicAt_", ["selector"]);
678
+ return self;
679
+ },
615
680
  args: [],
616
- source: unescape('printString%0A%09%5Esuper%20printString%2C%20%27%28%27%2C%20self%20asString%2C%20%27%29%27'),
617
- messageSends: [unescape("%2C"), "printString", "asString"],
681
+ source: unescape('selector%0A%09%5Eself%20basicAt%3A%20%27selector%27'),
682
+ messageSends: ["basicAt:"],
618
683
  referencedClasses: []
619
684
  }),
620
- smalltalk.MethodContext);
685
+ smalltalk.CompiledMethod);
621
686
 
622
687
  smalltalk.addMethod(
623
- unescape('_asString'),
688
+ unescape('_selector_'),
624
689
  smalltalk.method({
625
- selector: unescape('asString'),
690
+ selector: unescape('selector%3A'),
626
691
  category: 'accessing',
627
- fn: function (){
628
- var self=this;
629
- 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", [])]);
630
- return self;},
631
- args: [],
632
- source: unescape('asString%0A%09%5Eself%20receiver%20class%20printString%2C%20%27%20%3E%3E%20%27%2C%20self%20selector'),
633
- messageSends: [unescape("%2C"), "printString", "class", "receiver", "selector"],
692
+ fn: function (aString) {
693
+ var self = this;
694
+ smalltalk.send(self, "_basicAt_put_", ["selector", aString]);
695
+ return self;
696
+ },
697
+ args: ["aString"],
698
+ source: unescape('selector%3A%20aString%0A%09self%20basicAt%3A%20%27selector%27%20put%3A%20aString'),
699
+ messageSends: ["basicAt:put:"],
634
700
  referencedClasses: []
635
701
  }),
636
- smalltalk.MethodContext);
637
-
638
-
702
+ smalltalk.CompiledMethod);
639
703
 
640
- smalltalk.addClass('Message', smalltalk.Object, ['selector', 'arguments'], 'Kernel-Methods');
641
- smalltalk.Message.comment=unescape('Generally%2C%20the%20system%20does%20not%20use%20instances%20of%20Message%20for%20efficiency%20reasons.%0AHowever%2C%20when%20a%20message%20is%20not%20understood%20by%20its%20receiver%2C%20the%20interpreter%20will%20make%20up%20an%20instance%20of%20it%20in%20order%20to%20capture%20the%20information%20involved%20in%20an%20actual%20message%20transmission.%20%0AThis%20instance%20is%20sent%20it%20as%20an%20argument%20with%20the%20message%20%60doesNotUnderstand%3A%60%20to%20the%20receiver.%0A%0ASee%20boot.js%2C%20%60messageNotUnderstood%60%20%20and%20its%20counterpart%20%60Object%3E%3EdoesNotUnderstand%3A%60')
642
704
  smalltalk.addMethod(
643
- unescape('_selector'),
705
+ unescape('_fn'),
644
706
  smalltalk.method({
645
- selector: unescape('selector'),
707
+ selector: unescape('fn'),
646
708
  category: 'accessing',
647
- fn: function (){
648
- var self=this;
649
- return self['@selector'];
650
- return self;},
709
+ fn: function () {
710
+ var self = this;
711
+ return smalltalk.send(self, "_basicAt_", ["fn"]);
712
+ return self;
713
+ },
651
714
  args: [],
652
- source: unescape('selector%0A%09%5Eselector'),
653
- messageSends: [],
715
+ source: unescape('fn%0A%09%5Eself%20basicAt%3A%20%27fn%27'),
716
+ messageSends: ["basicAt:"],
654
717
  referencedClasses: []
655
718
  }),
656
- smalltalk.Message);
719
+ smalltalk.CompiledMethod);
657
720
 
658
721
  smalltalk.addMethod(
659
- unescape('_selector_'),
722
+ unescape('_fn_'),
660
723
  smalltalk.method({
661
- selector: unescape('selector%3A'),
724
+ selector: unescape('fn%3A'),
662
725
  category: 'accessing',
663
- fn: function (aString){
664
- var self=this;
665
- (self['@selector']=aString);
666
- return self;},
667
- args: ["aString"],
668
- source: unescape('selector%3A%20aString%0A%09selector%20%3A%3D%20aString'),
669
- messageSends: [],
726
+ fn: function (aBlock) {
727
+ var self = this;
728
+ smalltalk.send(self, "_basicAt_put_", ["fn", aBlock]);
729
+ return self;
730
+ },
731
+ args: ["aBlock"],
732
+ source: unescape('fn%3A%20aBlock%0A%09self%20basicAt%3A%20%27fn%27%20put%3A%20aBlock'),
733
+ messageSends: ["basicAt:put:"],
670
734
  referencedClasses: []
671
735
  }),
672
- smalltalk.Message);
736
+ smalltalk.CompiledMethod);
673
737
 
674
738
  smalltalk.addMethod(
675
- unescape('_arguments_'),
739
+ unescape('_messageSends'),
676
740
  smalltalk.method({
677
- selector: unescape('arguments%3A'),
741
+ selector: unescape('messageSends'),
678
742
  category: 'accessing',
679
- fn: function (anArray){
680
- var self=this;
681
- (self['@arguments']=anArray);
682
- return self;},
683
- args: ["anArray"],
684
- source: unescape('arguments%3A%20anArray%0A%09arguments%20%3A%3D%20anArray'),
685
- messageSends: [],
743
+ fn: function () {
744
+ var self = this;
745
+ return smalltalk.send(self, "_basicAt_", ["messageSends"]);
746
+ return self;
747
+ },
748
+ args: [],
749
+ source: unescape('messageSends%0A%09%5Eself%20basicAt%3A%20%27messageSends%27'),
750
+ messageSends: ["basicAt:"],
686
751
  referencedClasses: []
687
752
  }),
688
- smalltalk.Message);
753
+ smalltalk.CompiledMethod);
689
754
 
690
755
  smalltalk.addMethod(
691
- unescape('_arguments'),
756
+ unescape('_methodClass'),
692
757
  smalltalk.method({
693
- selector: unescape('arguments'),
758
+ selector: unescape('methodClass'),
694
759
  category: 'accessing',
695
- fn: function (){
696
- var self=this;
697
- return self['@arguments'];
698
- return self;},
760
+ fn: function () {
761
+ var self = this;
762
+ return smalltalk.send(self, "_basicAt_", ["methodClass"]);
763
+ return self;
764
+ },
699
765
  args: [],
700
- source: unescape('arguments%0A%09%5Earguments'),
701
- messageSends: [],
766
+ source: unescape('methodClass%0A%09%5Eself%20basicAt%3A%20%27methodClass%27'),
767
+ messageSends: ["basicAt:"],
702
768
  referencedClasses: []
703
769
  }),
704
- smalltalk.Message);
770
+ smalltalk.CompiledMethod);
705
771
 
706
772
  smalltalk.addMethod(
707
- unescape('_printString'),
773
+ unescape('_referencedClasses'),
708
774
  smalltalk.method({
709
- selector: unescape('printString'),
710
- category: 'printing',
711
- fn: function (){
712
- var self=this;
713
- 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);})]);
714
- return self;},
775
+ selector: unescape('referencedClasses'),
776
+ category: 'accessing',
777
+ fn: function () {
778
+ var self = this;
779
+ return smalltalk.send(self, "_basicAt_", ["referencedClasses"]);
780
+ return self;
781
+ },
715
782
  args: [],
716
- source: unescape('printString%0A%09%5E%20String%20streamContents%3A%20%5B%3AaStream%7C%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09aStream%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20super%20printString%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20%27%28%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20selector%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09%09%09%09nextPutAll%3A%20%27%29%27%20%09%09%09%09%5D'),
717
- messageSends: ["streamContents:", "nextPutAll:", "printString"],
718
- referencedClasses: ["String"]
783
+ source: unescape('referencedClasses%0A%09%5Eself%20basicAt%3A%20%27referencedClasses%27'),
784
+ messageSends: ["basicAt:"],
785
+ referencedClasses: []
719
786
  }),
720
- smalltalk.Message);
721
-
787
+ smalltalk.CompiledMethod);
722
788
 
723
789
  smalltalk.addMethod(
724
- unescape('_selector_arguments_'),
790
+ unescape('_arguments'),
725
791
  smalltalk.method({
726
- selector: unescape('selector%3Aarguments%3A'),
727
- category: 'instance creation',
728
- fn: function (aString, anArray){
729
- var self=this;
730
- return (function($rec){smalltalk.send($rec, "_selector_", [aString]);smalltalk.send($rec, "_arguments_", [anArray]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
731
- return self;},
732
- args: ["aString", "anArray"],
733
- source: unescape('selector%3A%20aString%20arguments%3A%20anArray%0A%09%5Eself%20new%0A%09%09selector%3A%20aString%3B%0A%09%09arguments%3A%20anArray%3B%0A%09%09yourself'),
734
- messageSends: ["selector:", "arguments:", "yourself", "new"],
792
+ selector: unescape('arguments'),
793
+ category: 'accessing',
794
+ fn: function () {
795
+ var self = this;
796
+ return self.args || [];
797
+ return self;
798
+ },
799
+ args: [],
800
+ source: unescape('arguments%0A%09%3Creturn%20self.args%20%7C%7C%20%5B%5D%3E'),
801
+ messageSends: [],
735
802
  referencedClasses: []
736
803
  }),
737
- smalltalk.Message.klass);
804
+ smalltalk.CompiledMethod);
805
+
738
806
 
739
807