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.
- 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
|
|