resin 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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