resin 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. data/README.markdown +52 -0
  2. data/amber/css/amber.css +519 -0
  3. data/amber/css/documentation.css +84 -0
  4. data/amber/css/profstef.css +75 -0
  5. data/amber/css/style.css +313 -0
  6. data/amber/images/amber.png +0 -0
  7. data/amber/images/amber_small.png +0 -0
  8. data/amber/images/off.png +0 -0
  9. data/amber/images/offHover.png +0 -0
  10. data/amber/images/presentation.png +0 -0
  11. data/amber/images/profstef.png +0 -0
  12. data/amber/images/sprite.png +0 -0
  13. data/amber/images/tinylogo.png +0 -0
  14. data/amber/images/twitterwall.png +0 -0
  15. data/amber/js/Additional-Examples.deploy.js +15 -0
  16. data/amber/js/Additional-Examples.js +21 -0
  17. data/amber/js/Benchfib.deploy.js +132 -0
  18. data/amber/js/Benchfib.js +167 -0
  19. data/amber/js/Canvas.deploy.js +1304 -0
  20. data/amber/js/Canvas.js +1885 -0
  21. data/amber/js/Compiler.deploy.js +1871 -0
  22. data/amber/js/Compiler.js +2616 -0
  23. data/amber/js/Documentation.deploy.js +961 -0
  24. data/amber/js/Documentation.js +1376 -0
  25. data/amber/js/Examples.deploy.js +53 -0
  26. data/amber/js/Examples.js +73 -0
  27. data/amber/js/IDE.deploy.js +3468 -0
  28. data/amber/js/IDE.js +4883 -0
  29. data/amber/js/Kernel-Announcements.deploy.js +107 -0
  30. data/amber/js/Kernel-Announcements.js +152 -0
  31. data/amber/js/Kernel-Classes.deploy.js +675 -0
  32. data/amber/js/Kernel-Classes.js +956 -0
  33. data/amber/js/Kernel-Collections.deploy.js +3273 -0
  34. data/amber/js/Kernel-Collections.js +4644 -0
  35. data/amber/js/Kernel-Exceptions.deploy.js +244 -0
  36. data/amber/js/Kernel-Exceptions.js +349 -0
  37. data/amber/js/Kernel-Methods.deploy.js +510 -0
  38. data/amber/js/Kernel-Methods.js +739 -0
  39. data/amber/js/Kernel-Objects.deploy.js +2698 -0
  40. data/amber/js/Kernel-Objects.js +3858 -0
  41. data/amber/js/Kernel-Tests.deploy.js +1419 -0
  42. data/amber/js/Kernel-Tests.js +1929 -0
  43. data/amber/js/Kernel-Transcript.deploy.js +142 -0
  44. data/amber/js/Kernel-Transcript.js +202 -0
  45. data/amber/js/SUnit.deploy.js +351 -0
  46. data/amber/js/SUnit.js +501 -0
  47. data/amber/js/amber.js +250 -0
  48. data/amber/js/boot.js +587 -0
  49. data/amber/js/compat.js +22 -0
  50. data/amber/js/init.js +8 -0
  51. data/amber/js/lib/CodeMirror/LICENSE +19 -0
  52. data/amber/js/lib/CodeMirror/amber.css +21 -0
  53. data/amber/js/lib/CodeMirror/codemirror.css +67 -0
  54. data/amber/js/lib/CodeMirror/codemirror.js +2144 -0
  55. data/amber/js/lib/CodeMirror/smalltalk.js +134 -0
  56. data/amber/js/lib/jQuery/jquery-1.4.4.min.js +167 -0
  57. data/amber/js/lib/jQuery/jquery-1.6.4.min.js +4 -0
  58. data/amber/js/lib/jQuery/jquery-ui-1.8.16.custom.min.js +791 -0
  59. data/amber/js/lib/jQuery/jquery.textarea.js +267 -0
  60. data/amber/js/lib/peg-0.6.2.min.js +2 -0
  61. data/amber/js/lib/showdown.js +419 -0
  62. data/amber/js/parser.js +4005 -0
  63. data/amber/js/parser.pegjs +220 -0
  64. data/amber/st/Benchfib.st +124 -0
  65. data/amber/st/Canvas.st +556 -0
  66. data/amber/st/Compiler.st +1425 -0
  67. data/amber/st/Documentation.st +758 -0
  68. data/amber/st/Examples.st +38 -0
  69. data/amber/st/IDE.st +2336 -0
  70. data/amber/st/Kernel-Announcements.st +61 -0
  71. data/amber/st/Kernel-Classes.st +403 -0
  72. data/amber/st/Kernel-Collections.st +1673 -0
  73. data/amber/st/Kernel-Exceptions.st +124 -0
  74. data/amber/st/Kernel-Methods.st +287 -0
  75. data/amber/st/Kernel-Objects.st +1489 -0
  76. data/amber/st/Kernel-Tests.st +892 -0
  77. data/amber/st/Kernel-Transcript.st +70 -0
  78. data/amber/st/SUnit.st +172 -0
  79. data/bin/runresin +12 -0
  80. data/lib/resin.rb +0 -0
  81. data/lib/resin/app/app.rb +121 -0
  82. data/lib/resin/app/views/index.haml +10 -0
  83. metadata +216 -0
@@ -0,0 +1,739 @@
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')
4
+ smalltalk.addMethod(
5
+ unescape('_source'),
6
+ smalltalk.method({
7
+ selector: unescape('source'),
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;},
13
+ 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:"],
16
+ referencedClasses: []
17
+ }),
18
+ smalltalk.CompiledMethod);
19
+
20
+ smalltalk.addMethod(
21
+ unescape('_source_'),
22
+ smalltalk.method({
23
+ selector: unescape('source%3A'),
24
+ category: 'accessing',
25
+ fn: function (aString){
26
+ var self=this;
27
+ smalltalk.send(self, "_basicAt_put_", ["source", aString]);
28
+ return self;},
29
+ args: ["aString"],
30
+ source: unescape('source%3A%20aString%0A%09self%20basicAt%3A%20%27source%27%20put%3A%20aString'),
31
+ messageSends: ["basicAt:put:"],
32
+ referencedClasses: []
33
+ }),
34
+ smalltalk.CompiledMethod);
35
+
36
+ smalltalk.addMethod(
37
+ unescape('_category'),
38
+ smalltalk.method({
39
+ selector: unescape('category'),
40
+ 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:"],
48
+ referencedClasses: []
49
+ }),
50
+ smalltalk.CompiledMethod);
51
+
52
+ smalltalk.addMethod(
53
+ unescape('_category_'),
54
+ smalltalk.method({
55
+ selector: unescape('category%3A'),
56
+ 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:"],
64
+ referencedClasses: []
65
+ }),
66
+ smalltalk.CompiledMethod);
67
+
68
+ smalltalk.addMethod(
69
+ unescape('_selector'),
70
+ 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;},
77
+ args: [],
78
+ source: unescape('selector%0A%09%5Eself%20basicAt%3A%20%27selector%27'),
79
+ messageSends: ["basicAt:"],
80
+ referencedClasses: []
81
+ }),
82
+ smalltalk.CompiledMethod);
83
+
84
+ smalltalk.addMethod(
85
+ unescape('_selector_'),
86
+ 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:"],
96
+ referencedClasses: []
97
+ }),
98
+ smalltalk.CompiledMethod);
99
+
100
+ smalltalk.addMethod(
101
+ unescape('_fn'),
102
+ smalltalk.method({
103
+ selector: unescape('fn'),
104
+ category: 'accessing',
105
+ fn: function (){
106
+ var self=this;
107
+ return smalltalk.send(self, "_basicAt_", ["fn"]);
108
+ return self;},
109
+ args: [],
110
+ source: unescape('fn%0A%09%5Eself%20basicAt%3A%20%27fn%27'),
111
+ messageSends: ["basicAt:"],
112
+ referencedClasses: []
113
+ }),
114
+ smalltalk.CompiledMethod);
115
+
116
+ smalltalk.addMethod(
117
+ unescape('_fn_'),
118
+ smalltalk.method({
119
+ selector: unescape('fn%3A'),
120
+ 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:"],
128
+ referencedClasses: []
129
+ }),
130
+ smalltalk.CompiledMethod);
131
+
132
+ smalltalk.addMethod(
133
+ unescape('_messageSends'),
134
+ smalltalk.method({
135
+ selector: unescape('messageSends'),
136
+ category: 'accessing',
137
+ fn: function (){
138
+ var self=this;
139
+ return smalltalk.send(self, "_basicAt_", ["messageSends"]);
140
+ return self;},
141
+ args: [],
142
+ source: unescape('messageSends%0A%09%5Eself%20basicAt%3A%20%27messageSends%27'),
143
+ messageSends: ["basicAt:"],
144
+ referencedClasses: []
145
+ }),
146
+ smalltalk.CompiledMethod);
147
+
148
+ smalltalk.addMethod(
149
+ unescape('_methodClass'),
150
+ smalltalk.method({
151
+ selector: unescape('methodClass'),
152
+ category: 'accessing',
153
+ fn: function (){
154
+ var self=this;
155
+ return smalltalk.send(self, "_basicAt_", ["methodClass"]);
156
+ return self;},
157
+ args: [],
158
+ source: unescape('methodClass%0A%09%5Eself%20basicAt%3A%20%27methodClass%27'),
159
+ messageSends: ["basicAt:"],
160
+ referencedClasses: []
161
+ }),
162
+ smalltalk.CompiledMethod);
163
+
164
+ smalltalk.addMethod(
165
+ unescape('_referencedClasses'),
166
+ smalltalk.method({
167
+ selector: unescape('referencedClasses'),
168
+ category: 'accessing',
169
+ fn: function (){
170
+ var self=this;
171
+ return smalltalk.send(self, "_basicAt_", ["referencedClasses"]);
172
+ return self;},
173
+ args: [],
174
+ source: unescape('referencedClasses%0A%09%5Eself%20basicAt%3A%20%27referencedClasses%27'),
175
+ messageSends: ["basicAt:"],
176
+ referencedClasses: []
177
+ }),
178
+ smalltalk.CompiledMethod);
179
+
180
+ smalltalk.addMethod(
181
+ unescape('_arguments'),
182
+ smalltalk.method({
183
+ selector: unescape('arguments'),
184
+ category: 'accessing',
185
+ fn: function (){
186
+ var self=this;
187
+ return self.args || [];
188
+ return self;},
189
+ args: [],
190
+ source: unescape('arguments%0A%09%3Creturn%20self.args%20%7C%7C%20%5B%5D%3E'),
191
+ messageSends: [],
192
+ referencedClasses: []
193
+ }),
194
+ smalltalk.CompiledMethod);
195
+
196
+
197
+
198
+ smalltalk.addClass('BlockClosure', smalltalk.Object, [], 'Kernel-Methods');
199
+ smalltalk.BlockClosure.comment=unescape('A%20BlockClosure%20is%20a%20lexical%20closure.%0AThe%20JavaScript%20representation%20is%20a%20function.%0A%0AA%20BlockClosure%20is%20evaluated%20with%20the%20%60%23value*%60%20methods%20in%20the%20%27evaluating%27%20protocol.')
200
+ smalltalk.addMethod(
201
+ unescape('_compiledSource'),
202
+ smalltalk.method({
203
+ selector: unescape('compiledSource'),
204
+ category: 'accessing',
205
+ fn: function (){
206
+ var self=this;
207
+ return self.toString();
208
+ return self;},
209
+ args: [],
210
+ source: unescape('compiledSource%0A%09%3Creturn%20self.toString%28%29%3E'),
211
+ messageSends: [],
212
+ referencedClasses: []
213
+ }),
214
+ smalltalk.BlockClosure);
215
+
216
+ smalltalk.addMethod(
217
+ unescape('_whileTrue_'),
218
+ smalltalk.method({
219
+ selector: unescape('whileTrue%3A'),
220
+ category: 'controlling',
221
+ fn: function (aBlock){
222
+ var self=this;
223
+ while(self()) {aBlock()};
224
+ return self;},
225
+ args: ["aBlock"],
226
+ 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
+ messageSends: [],
228
+ referencedClasses: []
229
+ }),
230
+ smalltalk.BlockClosure);
231
+
232
+ smalltalk.addMethod(
233
+ unescape('_whileFalse_'),
234
+ smalltalk.method({
235
+ selector: unescape('whileFalse%3A'),
236
+ category: 'controlling',
237
+ fn: function (aBlock){
238
+ var self=this;
239
+ while(!self()) {aBlock()};
240
+ return self;},
241
+ args: ["aBlock"],
242
+ 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
+ messageSends: [],
244
+ referencedClasses: []
245
+ }),
246
+ smalltalk.BlockClosure);
247
+
248
+ smalltalk.addMethod(
249
+ unescape('_value'),
250
+ smalltalk.method({
251
+ selector: unescape('value'),
252
+ category: 'evaluating',
253
+ fn: function (){
254
+ var self=this;
255
+ return self();;
256
+ return self;},
257
+ args: [],
258
+ source: unescape('value%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28%29%3B%3E'),
259
+ messageSends: [],
260
+ referencedClasses: []
261
+ }),
262
+ smalltalk.BlockClosure);
263
+
264
+ smalltalk.addMethod(
265
+ unescape('_value_'),
266
+ smalltalk.method({
267
+ selector: unescape('value%3A'),
268
+ category: 'evaluating',
269
+ fn: function (anArg){
270
+ var self=this;
271
+ return self(anArg);;
272
+ return self;},
273
+ args: ["anArg"],
274
+ source: unescape('value%3A%20anArg%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%28anArg%29%3B%3E'),
275
+ messageSends: [],
276
+ referencedClasses: []
277
+ }),
278
+ smalltalk.BlockClosure);
279
+
280
+ smalltalk.addMethod(
281
+ unescape('_value_value_'),
282
+ smalltalk.method({
283
+ selector: unescape('value%3Avalue%3A'),
284
+ category: 'evaluating',
285
+ fn: function (firstArg, secondArg){
286
+ var self=this;
287
+ return self(firstArg, secondArg);;
288
+ return self;},
289
+ args: ["firstArg", "secondArg"],
290
+ 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
+ messageSends: [],
292
+ referencedClasses: []
293
+ }),
294
+ smalltalk.BlockClosure);
295
+
296
+ smalltalk.addMethod(
297
+ unescape('_value_value_value_'),
298
+ smalltalk.method({
299
+ selector: unescape('value%3Avalue%3Avalue%3A'),
300
+ category: 'evaluating',
301
+ fn: function (firstArg, secondArg, thirdArg){
302
+ var self=this;
303
+ return self(firstArg, secondArg, thirdArg);;
304
+ return self;},
305
+ args: ["firstArg", "secondArg", "thirdArg"],
306
+ 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
+ messageSends: [],
308
+ referencedClasses: []
309
+ }),
310
+ smalltalk.BlockClosure);
311
+
312
+ smalltalk.addMethod(
313
+ unescape('_valueWithPossibleArguments_'),
314
+ smalltalk.method({
315
+ selector: unescape('valueWithPossibleArguments%3A'),
316
+ category: 'evaluating',
317
+ fn: function (aCollection){
318
+ var self=this;
319
+ return self.apply(null, aCollection);;
320
+ return self;},
321
+ args: ["aCollection"],
322
+ source: unescape('valueWithPossibleArguments%3A%20aCollection%0A%09%3Creturn%20self.apply%28null%2C%20aCollection%29%3B%3E'),
323
+ messageSends: [],
324
+ referencedClasses: []
325
+ }),
326
+ smalltalk.BlockClosure);
327
+
328
+ smalltalk.addMethod(
329
+ unescape('_on_do_'),
330
+ smalltalk.method({
331
+ selector: unescape('on%3Ado%3A'),
332
+ 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;},
337
+ args: ["anErrorClass", "aBlock"],
338
+ 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
+ messageSends: ["try:catch:", "ifTrue:ifFalse:", "isKindOf:", "value:", "signal"],
340
+ referencedClasses: []
341
+ }),
342
+ smalltalk.BlockClosure);
343
+
344
+ smalltalk.addMethod(
345
+ unescape('_valueWithTimeout_'),
346
+ smalltalk.method({
347
+ selector: unescape('valueWithTimeout%3A'),
348
+ category: 'timeout/interval',
349
+ fn: function (aNumber){
350
+ var self=this;
351
+ return setTimeout(self, aNumber);
352
+ return self;},
353
+ args: ["aNumber"],
354
+ source: unescape('valueWithTimeout%3A%20aNumber%0A%09%3Creturn%20setTimeout%28self%2C%20aNumber%29%3E'),
355
+ messageSends: [],
356
+ referencedClasses: []
357
+ }),
358
+ smalltalk.BlockClosure);
359
+
360
+ smalltalk.addMethod(
361
+ unescape('_valueWithInterval_'),
362
+ smalltalk.method({
363
+ selector: unescape('valueWithInterval%3A'),
364
+ category: 'timeout/interval',
365
+ fn: function (aNumber){
366
+ var self=this;
367
+ return setInterval(self, aNumber);
368
+ return self;},
369
+ args: ["aNumber"],
370
+ source: unescape('valueWithInterval%3A%20aNumber%0A%09%3Creturn%20setInterval%28self%2C%20aNumber%29%3E'),
371
+ messageSends: [],
372
+ referencedClasses: []
373
+ }),
374
+ smalltalk.BlockClosure);
375
+
376
+ smalltalk.addMethod(
377
+ unescape('_whileFalse'),
378
+ smalltalk.method({
379
+ selector: unescape('whileFalse'),
380
+ category: 'controlling',
381
+ fn: function (){
382
+ var self=this;
383
+ smalltalk.send(self, "_whileFalse_", [(function(){return nil;})]);
384
+ return self;},
385
+ args: [],
386
+ source: unescape('whileFalse%0A%09%22inlined%20in%20the%20Compiler%22%0A%09self%20whileFalse%3A%20%5B%5D'),
387
+ messageSends: ["whileFalse:"],
388
+ referencedClasses: []
389
+ }),
390
+ smalltalk.BlockClosure);
391
+
392
+ smalltalk.addMethod(
393
+ unescape('_whileTrue'),
394
+ smalltalk.method({
395
+ selector: unescape('whileTrue'),
396
+ category: 'controlling',
397
+ fn: function (){
398
+ var self=this;
399
+ smalltalk.send(self, "_whileTrue_", [(function(){return nil;})]);
400
+ return self;},
401
+ args: [],
402
+ source: unescape('whileTrue%0A%09%22inlined%20in%20the%20Compiler%22%0A%09self%20whileTrue%3A%20%5B%5D'),
403
+ messageSends: ["whileTrue:"],
404
+ referencedClasses: []
405
+ }),
406
+ smalltalk.BlockClosure);
407
+
408
+ smalltalk.addMethod(
409
+ unescape('_new'),
410
+ smalltalk.method({
411
+ selector: unescape('new'),
412
+ category: 'evaluating',
413
+ fn: function (){
414
+ var self=this;
415
+ return new self();
416
+ return self;},
417
+ args: [],
418
+ 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
+ messageSends: [],
420
+ referencedClasses: []
421
+ }),
422
+ smalltalk.BlockClosure);
423
+
424
+ smalltalk.addMethod(
425
+ unescape('_applyTo_arguments_'),
426
+ smalltalk.method({
427
+ selector: unescape('applyTo%3Aarguments%3A'),
428
+ category: 'evaluating',
429
+ fn: function (anObject, aCollection){
430
+ var self=this;
431
+ return self.apply(anObject, aCollection);
432
+ return self;},
433
+ args: ["anObject", "aCollection"],
434
+ source: unescape('applyTo%3A%20anObject%20arguments%3A%20aCollection%0A%09%3Creturn%20self.apply%28anObject%2C%20aCollection%29%3E'),
435
+ messageSends: [],
436
+ referencedClasses: []
437
+ }),
438
+ smalltalk.BlockClosure);
439
+
440
+ smalltalk.addMethod(
441
+ unescape('_timeToRun'),
442
+ smalltalk.method({
443
+ selector: unescape('timeToRun'),
444
+ category: 'evaluating',
445
+ fn: function (){
446
+ var self=this;
447
+ return smalltalk.send((smalltalk.Date || Date), "_millisecondsToRun_", [self]);
448
+ return self;},
449
+ args: [],
450
+ 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
+ messageSends: ["millisecondsToRun:"],
452
+ referencedClasses: ["Date"]
453
+ }),
454
+ smalltalk.BlockClosure);
455
+
456
+ smalltalk.addMethod(
457
+ unescape('_numArgs'),
458
+ smalltalk.method({
459
+ selector: unescape('numArgs'),
460
+ category: 'accessing',
461
+ fn: function (){
462
+ var self=this;
463
+ return self.length;
464
+ return self;},
465
+ args: [],
466
+ source: unescape('numArgs%0A%09%3Creturn%20self.length%3E'),
467
+ messageSends: [],
468
+ referencedClasses: []
469
+ }),
470
+ smalltalk.BlockClosure);
471
+
472
+ smalltalk.addMethod(
473
+ unescape('_ensure_'),
474
+ smalltalk.method({
475
+ selector: unescape('ensure%3A'),
476
+ 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;},
483
+ args: ["aBlock"],
484
+ 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
+ messageSends: ["on:do:", "value", "ifFalse:", "signal"],
486
+ referencedClasses: ["Error"]
487
+ }),
488
+ smalltalk.BlockClosure);
489
+
490
+ smalltalk.addMethod(
491
+ unescape('_newValue_'),
492
+ smalltalk.method({
493
+ selector: unescape('newValue%3A'),
494
+ category: 'evaluating',
495
+ fn: function (anObject){
496
+ var self=this;
497
+ return new self(anObject);
498
+ return self;},
499
+ args: ["anObject"],
500
+ 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
+ messageSends: [],
502
+ referencedClasses: []
503
+ }),
504
+ smalltalk.BlockClosure);
505
+
506
+ smalltalk.addMethod(
507
+ unescape('_newValue_value_'),
508
+ smalltalk.method({
509
+ selector: unescape('newValue%3Avalue%3A'),
510
+ category: 'evaluating',
511
+ fn: function (anObject, anObject2){
512
+ var self=this;
513
+ return new self(anObject, anObject2);
514
+ return self;},
515
+ args: ["anObject", "anObject2"],
516
+ 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
+ messageSends: [],
518
+ referencedClasses: []
519
+ }),
520
+ smalltalk.BlockClosure);
521
+
522
+ smalltalk.addMethod(
523
+ unescape('_newValue_value_value_'),
524
+ smalltalk.method({
525
+ selector: unescape('newValue%3Avalue%3Avalue%3A'),
526
+ category: 'evaluating',
527
+ fn: function (anObject, anObject2, anObject3){
528
+ var self=this;
529
+ return new self(anObject, anObject2);
530
+ return self;},
531
+ args: ["anObject", "anObject2", "anObject3"],
532
+ 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
+ messageSends: [],
534
+ referencedClasses: []
535
+ }),
536
+ smalltalk.BlockClosure);
537
+
538
+
539
+
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.')
542
+ smalltalk.addMethod(
543
+ unescape('_receiver'),
544
+ smalltalk.method({
545
+ selector: unescape('receiver'),
546
+ category: 'accessing',
547
+ fn: function (){
548
+ var self=this;
549
+ return self.receiver;
550
+ return self;},
551
+ args: [],
552
+ source: unescape('receiver%0A%09%3Creturn%20self.receiver%3E'),
553
+ messageSends: [],
554
+ referencedClasses: []
555
+ }),
556
+ smalltalk.MethodContext);
557
+
558
+ smalltalk.addMethod(
559
+ unescape('_selector'),
560
+ smalltalk.method({
561
+ selector: unescape('selector'),
562
+ 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: [],
570
+ referencedClasses: []
571
+ }),
572
+ smalltalk.MethodContext);
573
+
574
+ smalltalk.addMethod(
575
+ unescape('_home'),
576
+ smalltalk.method({
577
+ selector: unescape('home'),
578
+ category: 'accessing',
579
+ fn: function (){
580
+ var self=this;
581
+ return self.homeContext;
582
+ return self;},
583
+ args: [],
584
+ source: unescape('home%0A%09%3Creturn%20self.homeContext%3E'),
585
+ messageSends: [],
586
+ referencedClasses: []
587
+ }),
588
+ smalltalk.MethodContext);
589
+
590
+ smalltalk.addMethod(
591
+ unescape('_temps'),
592
+ smalltalk.method({
593
+ selector: unescape('temps'),
594
+ 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: [],
602
+ referencedClasses: []
603
+ }),
604
+ smalltalk.MethodContext);
605
+
606
+ smalltalk.addMethod(
607
+ unescape('_printString'),
608
+ smalltalk.method({
609
+ selector: unescape('printString'),
610
+ 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;},
615
+ 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"],
618
+ referencedClasses: []
619
+ }),
620
+ smalltalk.MethodContext);
621
+
622
+ smalltalk.addMethod(
623
+ unescape('_asString'),
624
+ smalltalk.method({
625
+ selector: unescape('asString'),
626
+ 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"],
634
+ referencedClasses: []
635
+ }),
636
+ smalltalk.MethodContext);
637
+
638
+
639
+
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
+ smalltalk.addMethod(
643
+ unescape('_selector'),
644
+ smalltalk.method({
645
+ selector: unescape('selector'),
646
+ category: 'accessing',
647
+ fn: function (){
648
+ var self=this;
649
+ return self['@selector'];
650
+ return self;},
651
+ args: [],
652
+ source: unescape('selector%0A%09%5Eselector'),
653
+ messageSends: [],
654
+ referencedClasses: []
655
+ }),
656
+ smalltalk.Message);
657
+
658
+ smalltalk.addMethod(
659
+ unescape('_selector_'),
660
+ smalltalk.method({
661
+ selector: unescape('selector%3A'),
662
+ 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: [],
670
+ referencedClasses: []
671
+ }),
672
+ smalltalk.Message);
673
+
674
+ smalltalk.addMethod(
675
+ unescape('_arguments_'),
676
+ smalltalk.method({
677
+ selector: unescape('arguments%3A'),
678
+ 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: [],
686
+ referencedClasses: []
687
+ }),
688
+ smalltalk.Message);
689
+
690
+ smalltalk.addMethod(
691
+ unescape('_arguments'),
692
+ smalltalk.method({
693
+ selector: unescape('arguments'),
694
+ category: 'accessing',
695
+ fn: function (){
696
+ var self=this;
697
+ return self['@arguments'];
698
+ return self;},
699
+ args: [],
700
+ source: unescape('arguments%0A%09%5Earguments'),
701
+ messageSends: [],
702
+ referencedClasses: []
703
+ }),
704
+ smalltalk.Message);
705
+
706
+ smalltalk.addMethod(
707
+ unescape('_printString'),
708
+ 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;},
715
+ 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"]
719
+ }),
720
+ smalltalk.Message);
721
+
722
+
723
+ smalltalk.addMethod(
724
+ unescape('_selector_arguments_'),
725
+ 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"],
735
+ referencedClasses: []
736
+ }),
737
+ smalltalk.Message.klass);
738
+
739
+