resin 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/amber/images/amber.svg +706 -0
- data/amber/js/Canvas.deploy.js +1311 -400
- data/amber/js/Canvas.js +1750 -424
- data/amber/js/Compiler.deploy.js +615 -615
- data/amber/js/Compiler.js +1367 -1367
- data/amber/js/IDE.deploy.js +1381 -1345
- data/amber/js/IDE.js +1949 -1903
- data/amber/js/Kernel-Announcements.deploy.js +37 -37
- data/amber/js/Kernel-Announcements.js +52 -52
- data/amber/js/Kernel-Collections.deploy.js +961 -950
- data/amber/js/Kernel-Collections.js +2064 -2053
- data/amber/js/Kernel-Methods.deploy.js +323 -260
- data/amber/js/Kernel-Methods.js +395 -327
- data/amber/js/Kernel-Objects.deploy.js +1846 -1104
- data/amber/js/Kernel-Objects.js +2142 -1194
- data/amber/js/boot.js +44 -29
- data/amber/js/parser.js +234 -17
- data/amber/js/parser.pegjs +9 -6
- data/amber/st/Canvas.st +474 -146
- data/amber/st/Compiler.st +418 -417
- data/amber/st/IDE.st +803 -772
- data/amber/st/Kernel-Announcements.st +27 -27
- data/amber/st/Kernel-Collections.st +289 -268
- data/amber/st/Kernel-Methods.st +104 -100
- data/amber/st/Kernel-Objects.st +277 -80
- metadata +18 -17
data/amber/js/Kernel-Methods.js
CHANGED
@@ -1,197 +1,230 @@
|
|
1
1
|
smalltalk.addPackage('Kernel-Methods', {});
|
2
|
-
smalltalk.addClass('
|
3
|
-
smalltalk.
|
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('
|
5
|
+
unescape('_selector'),
|
6
6
|
smalltalk.method({
|
7
|
-
selector: unescape('
|
7
|
+
selector: unescape('selector'),
|
8
8
|
category: 'accessing',
|
9
|
-
fn: function (){
|
10
|
-
var self=this;
|
11
|
-
return
|
12
|
-
return self;
|
9
|
+
fn: function () {
|
10
|
+
var self = this;
|
11
|
+
return self['@selector'];
|
12
|
+
return self;
|
13
|
+
},
|
13
14
|
args: [],
|
14
|
-
source: unescape('
|
15
|
-
messageSends: [
|
15
|
+
source: unescape('selector%0A%09%5Eselector'),
|
16
|
+
messageSends: [],
|
16
17
|
referencedClasses: []
|
17
18
|
}),
|
18
|
-
smalltalk.
|
19
|
+
smalltalk.Message);
|
19
20
|
|
20
21
|
smalltalk.addMethod(
|
21
|
-
unescape('
|
22
|
+
unescape('_selector_'),
|
22
23
|
smalltalk.method({
|
23
|
-
selector: unescape('
|
24
|
+
selector: unescape('selector%3A'),
|
24
25
|
category: 'accessing',
|
25
|
-
fn: function (aString){
|
26
|
-
var self=this;
|
27
|
-
|
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('
|
31
|
-
messageSends: [
|
32
|
+
source: unescape('selector%3A%20aString%0A%09selector%20%3A%3D%20aString'),
|
33
|
+
messageSends: [],
|
32
34
|
referencedClasses: []
|
33
35
|
}),
|
34
|
-
smalltalk.
|
36
|
+
smalltalk.Message);
|
35
37
|
|
36
38
|
smalltalk.addMethod(
|
37
|
-
unescape('
|
39
|
+
unescape('_arguments_'),
|
38
40
|
smalltalk.method({
|
39
|
-
selector: unescape('
|
41
|
+
selector: unescape('arguments%3A'),
|
40
42
|
category: 'accessing',
|
41
|
-
fn: function (){
|
42
|
-
var self=this;
|
43
|
-
|
44
|
-
return self;
|
45
|
-
|
46
|
-
|
47
|
-
|
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.
|
53
|
+
smalltalk.Message);
|
51
54
|
|
52
55
|
smalltalk.addMethod(
|
53
|
-
unescape('
|
56
|
+
unescape('_arguments'),
|
54
57
|
smalltalk.method({
|
55
|
-
selector: unescape('
|
58
|
+
selector: unescape('arguments'),
|
56
59
|
category: 'accessing',
|
57
|
-
fn: function (
|
58
|
-
var self=this;
|
59
|
-
|
60
|
-
return self;
|
61
|
-
|
62
|
-
|
63
|
-
|
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.
|
70
|
+
smalltalk.Message);
|
67
71
|
|
68
72
|
smalltalk.addMethod(
|
69
|
-
unescape('
|
73
|
+
unescape('_printString'),
|
70
74
|
smalltalk.method({
|
71
|
-
selector: unescape('
|
72
|
-
category: '
|
73
|
-
fn: function (){
|
74
|
-
var self=this;
|
75
|
-
return smalltalk.send(self, "
|
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('
|
79
|
-
messageSends: ["
|
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.
|
87
|
+
smalltalk.Message);
|
83
88
|
|
84
89
|
smalltalk.addMethod(
|
85
|
-
unescape('
|
90
|
+
unescape('_sendTo_'),
|
86
91
|
smalltalk.method({
|
87
|
-
selector: unescape('
|
88
|
-
category: '
|
89
|
-
fn: function (
|
90
|
-
var self=this;
|
91
|
-
smalltalk.send(self, "
|
92
|
-
return self;
|
93
|
-
|
94
|
-
|
95
|
-
|
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.
|
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('
|
128
|
+
unescape('_receiver'),
|
102
129
|
smalltalk.method({
|
103
|
-
selector: unescape('
|
130
|
+
selector: unescape('receiver'),
|
104
131
|
category: 'accessing',
|
105
|
-
fn: function (){
|
106
|
-
var self=this;
|
107
|
-
return
|
108
|
-
return self;
|
132
|
+
fn: function () {
|
133
|
+
var self = this;
|
134
|
+
return self.receiver;
|
135
|
+
return self;
|
136
|
+
},
|
109
137
|
args: [],
|
110
|
-
source: unescape('
|
111
|
-
messageSends: [
|
138
|
+
source: unescape('receiver%0A%09%3Creturn%20self.receiver%3E'),
|
139
|
+
messageSends: [],
|
112
140
|
referencedClasses: []
|
113
141
|
}),
|
114
|
-
smalltalk.
|
142
|
+
smalltalk.MethodContext);
|
115
143
|
|
116
144
|
smalltalk.addMethod(
|
117
|
-
unescape('
|
145
|
+
unescape('_selector'),
|
118
146
|
smalltalk.method({
|
119
|
-
selector: unescape('
|
147
|
+
selector: unescape('selector'),
|
120
148
|
category: 'accessing',
|
121
|
-
fn: function (
|
122
|
-
var self=this;
|
123
|
-
smalltalk.
|
124
|
-
return self;
|
125
|
-
|
126
|
-
|
127
|
-
|
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.
|
159
|
+
smalltalk.MethodContext);
|
131
160
|
|
132
161
|
smalltalk.addMethod(
|
133
|
-
unescape('
|
162
|
+
unescape('_home'),
|
134
163
|
smalltalk.method({
|
135
|
-
selector: unescape('
|
164
|
+
selector: unescape('home'),
|
136
165
|
category: 'accessing',
|
137
|
-
fn: function (){
|
138
|
-
var self=this;
|
139
|
-
return
|
140
|
-
return self;
|
166
|
+
fn: function () {
|
167
|
+
var self = this;
|
168
|
+
return self.homeContext;
|
169
|
+
return self;
|
170
|
+
},
|
141
171
|
args: [],
|
142
|
-
source: unescape('
|
143
|
-
messageSends: [
|
172
|
+
source: unescape('home%0A%09%3Creturn%20self.homeContext%3E'),
|
173
|
+
messageSends: [],
|
144
174
|
referencedClasses: []
|
145
175
|
}),
|
146
|
-
smalltalk.
|
176
|
+
smalltalk.MethodContext);
|
147
177
|
|
148
178
|
smalltalk.addMethod(
|
149
|
-
unescape('
|
179
|
+
unescape('_temps'),
|
150
180
|
smalltalk.method({
|
151
|
-
selector: unescape('
|
181
|
+
selector: unescape('temps'),
|
152
182
|
category: 'accessing',
|
153
|
-
fn: function (){
|
154
|
-
var self=this;
|
155
|
-
return
|
156
|
-
return self;
|
183
|
+
fn: function () {
|
184
|
+
var self = this;
|
185
|
+
return self.temps;
|
186
|
+
return self;
|
187
|
+
},
|
157
188
|
args: [],
|
158
|
-
source: unescape('
|
159
|
-
messageSends: [
|
189
|
+
source: unescape('temps%0A%09%3Creturn%20self.temps%3E'),
|
190
|
+
messageSends: [],
|
160
191
|
referencedClasses: []
|
161
192
|
}),
|
162
|
-
smalltalk.
|
193
|
+
smalltalk.MethodContext);
|
163
194
|
|
164
195
|
smalltalk.addMethod(
|
165
|
-
unescape('
|
196
|
+
unescape('_printString'),
|
166
197
|
smalltalk.method({
|
167
|
-
selector: unescape('
|
198
|
+
selector: unescape('printString'),
|
168
199
|
category: 'accessing',
|
169
|
-
fn: function (){
|
170
|
-
var self=this;
|
171
|
-
return smalltalk.send(self, "
|
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('
|
175
|
-
messageSends: ["
|
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.
|
210
|
+
smalltalk.MethodContext);
|
179
211
|
|
180
212
|
smalltalk.addMethod(
|
181
|
-
unescape('
|
213
|
+
unescape('_asString'),
|
182
214
|
smalltalk.method({
|
183
|
-
selector: unescape('
|
215
|
+
selector: unescape('asString'),
|
184
216
|
category: 'accessing',
|
185
|
-
fn: function (){
|
186
|
-
var self=this;
|
187
|
-
return self.
|
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('
|
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.
|
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()) {
|
224
|
-
|
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()) {
|
240
|
-
|
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,
|
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_", [
|
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_", [
|
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(
|
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
|
-
|
481
|
-
return smalltalk.send(
|
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('
|
541
|
-
smalltalk.
|
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('
|
601
|
+
unescape('_source'),
|
544
602
|
smalltalk.method({
|
545
|
-
selector: unescape('
|
603
|
+
selector: unescape('source'),
|
546
604
|
category: 'accessing',
|
547
|
-
fn: function (){
|
548
|
-
var self=this;
|
549
|
-
return self
|
550
|
-
return
|
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('
|
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.
|
616
|
+
smalltalk.CompiledMethod);
|
557
617
|
|
558
618
|
smalltalk.addMethod(
|
559
|
-
unescape('
|
619
|
+
unescape('_source_'),
|
560
620
|
smalltalk.method({
|
561
|
-
selector: unescape('
|
621
|
+
selector: unescape('source%3A'),
|
562
622
|
category: 'accessing',
|
563
|
-
fn: function (){
|
564
|
-
var self=this;
|
565
|
-
|
566
|
-
return self;
|
567
|
-
|
568
|
-
|
569
|
-
|
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.
|
633
|
+
smalltalk.CompiledMethod);
|
573
634
|
|
574
635
|
smalltalk.addMethod(
|
575
|
-
unescape('
|
636
|
+
unescape('_category'),
|
576
637
|
smalltalk.method({
|
577
|
-
selector: unescape('
|
638
|
+
selector: unescape('category'),
|
578
639
|
category: 'accessing',
|
579
|
-
fn: function (){
|
580
|
-
var self=this;
|
581
|
-
return self
|
582
|
-
return
|
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('
|
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.
|
651
|
+
smalltalk.CompiledMethod);
|
589
652
|
|
590
653
|
smalltalk.addMethod(
|
591
|
-
unescape('
|
654
|
+
unescape('_category_'),
|
592
655
|
smalltalk.method({
|
593
|
-
selector: unescape('
|
656
|
+
selector: unescape('category%3A'),
|
594
657
|
category: 'accessing',
|
595
|
-
fn: function (){
|
596
|
-
var self=this;
|
597
|
-
|
598
|
-
return self;
|
599
|
-
|
600
|
-
|
601
|
-
|
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.
|
668
|
+
smalltalk.CompiledMethod);
|
605
669
|
|
606
670
|
smalltalk.addMethod(
|
607
|
-
unescape('
|
671
|
+
unescape('_selector'),
|
608
672
|
smalltalk.method({
|
609
|
-
selector: unescape('
|
673
|
+
selector: unescape('selector'),
|
610
674
|
category: 'accessing',
|
611
|
-
fn: function (){
|
612
|
-
var self=this;
|
613
|
-
return smalltalk.send(
|
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('
|
617
|
-
messageSends: [
|
681
|
+
source: unescape('selector%0A%09%5Eself%20basicAt%3A%20%27selector%27'),
|
682
|
+
messageSends: ["basicAt:"],
|
618
683
|
referencedClasses: []
|
619
684
|
}),
|
620
|
-
smalltalk.
|
685
|
+
smalltalk.CompiledMethod);
|
621
686
|
|
622
687
|
smalltalk.addMethod(
|
623
|
-
unescape('
|
688
|
+
unescape('_selector_'),
|
624
689
|
smalltalk.method({
|
625
|
-
selector: unescape('
|
690
|
+
selector: unescape('selector%3A'),
|
626
691
|
category: 'accessing',
|
627
|
-
fn: function (){
|
628
|
-
var self=this;
|
629
|
-
|
630
|
-
return self;
|
631
|
-
|
632
|
-
|
633
|
-
|
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.
|
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('
|
705
|
+
unescape('_fn'),
|
644
706
|
smalltalk.method({
|
645
|
-
selector: unescape('
|
707
|
+
selector: unescape('fn'),
|
646
708
|
category: 'accessing',
|
647
|
-
fn: function (){
|
648
|
-
var self=this;
|
649
|
-
return self[
|
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('
|
653
|
-
messageSends: [],
|
715
|
+
source: unescape('fn%0A%09%5Eself%20basicAt%3A%20%27fn%27'),
|
716
|
+
messageSends: ["basicAt:"],
|
654
717
|
referencedClasses: []
|
655
718
|
}),
|
656
|
-
smalltalk.
|
719
|
+
smalltalk.CompiledMethod);
|
657
720
|
|
658
721
|
smalltalk.addMethod(
|
659
|
-
unescape('
|
722
|
+
unescape('_fn_'),
|
660
723
|
smalltalk.method({
|
661
|
-
selector: unescape('
|
724
|
+
selector: unescape('fn%3A'),
|
662
725
|
category: 'accessing',
|
663
|
-
fn: function (
|
664
|
-
var self=this;
|
665
|
-
(self[
|
666
|
-
return self;
|
667
|
-
|
668
|
-
|
669
|
-
|
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.
|
736
|
+
smalltalk.CompiledMethod);
|
673
737
|
|
674
738
|
smalltalk.addMethod(
|
675
|
-
unescape('
|
739
|
+
unescape('_messageSends'),
|
676
740
|
smalltalk.method({
|
677
|
-
selector: unescape('
|
741
|
+
selector: unescape('messageSends'),
|
678
742
|
category: 'accessing',
|
679
|
-
fn: function (
|
680
|
-
var self=this;
|
681
|
-
(self[
|
682
|
-
return self;
|
683
|
-
|
684
|
-
|
685
|
-
|
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.
|
753
|
+
smalltalk.CompiledMethod);
|
689
754
|
|
690
755
|
smalltalk.addMethod(
|
691
|
-
unescape('
|
756
|
+
unescape('_methodClass'),
|
692
757
|
smalltalk.method({
|
693
|
-
selector: unescape('
|
758
|
+
selector: unescape('methodClass'),
|
694
759
|
category: 'accessing',
|
695
|
-
fn: function (){
|
696
|
-
var self=this;
|
697
|
-
return self[
|
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('
|
701
|
-
messageSends: [],
|
766
|
+
source: unescape('methodClass%0A%09%5Eself%20basicAt%3A%20%27methodClass%27'),
|
767
|
+
messageSends: ["basicAt:"],
|
702
768
|
referencedClasses: []
|
703
769
|
}),
|
704
|
-
smalltalk.
|
770
|
+
smalltalk.CompiledMethod);
|
705
771
|
|
706
772
|
smalltalk.addMethod(
|
707
|
-
unescape('
|
773
|
+
unescape('_referencedClasses'),
|
708
774
|
smalltalk.method({
|
709
|
-
selector: unescape('
|
710
|
-
category: '
|
711
|
-
fn: function (){
|
712
|
-
var self=this;
|
713
|
-
return smalltalk.send(
|
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('
|
717
|
-
messageSends: ["
|
718
|
-
referencedClasses: [
|
783
|
+
source: unescape('referencedClasses%0A%09%5Eself%20basicAt%3A%20%27referencedClasses%27'),
|
784
|
+
messageSends: ["basicAt:"],
|
785
|
+
referencedClasses: []
|
719
786
|
}),
|
720
|
-
smalltalk.
|
721
|
-
|
787
|
+
smalltalk.CompiledMethod);
|
722
788
|
|
723
789
|
smalltalk.addMethod(
|
724
|
-
unescape('
|
790
|
+
unescape('_arguments'),
|
725
791
|
smalltalk.method({
|
726
|
-
selector: unescape('
|
727
|
-
category: '
|
728
|
-
fn: function (
|
729
|
-
var self=this;
|
730
|
-
return
|
731
|
-
return self;
|
732
|
-
|
733
|
-
|
734
|
-
|
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.
|
804
|
+
smalltalk.CompiledMethod);
|
805
|
+
|
738
806
|
|
739
807
|
|