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,956 @@
1
+ smalltalk.addPackage('Kernel-Classes', {});
2
+ smalltalk.addClass('Behavior', smalltalk.Object, [], 'Kernel-Classes');
3
+ smalltalk.Behavior.comment=unescape('Behavior%20is%20the%20superclass%20of%20all%20class%20objects.%20%0A%0AIt%20defines%20the%20protocol%20for%20creating%20instances%20of%20a%20class%20with%20%60%23basicNew%60%20and%20%60%23new%60%20%28see%20%60boot.js%60%20for%20class%20constructors%20details%29.%0AInstances%20know%20about%20the%20subclass/superclass%20relationships%20between%20classes%2C%20contain%20the%20description%20that%20instances%20are%20created%20from%2C%20%0Aand%20hold%20the%20method%20dictionary%20that%27s%20associated%20with%20each%20class.%0A%0ABehavior%20also%20%20provides%20methods%20for%20compiling%20methods%2C%20examining%20the%20method%20dictionary%2C%20and%20iterating%20over%20the%20class%20hierarchy.')
4
+ smalltalk.addMethod(
5
+ unescape('_new'),
6
+ smalltalk.method({
7
+ selector: unescape('new'),
8
+ category: 'instance creation',
9
+ fn: function (){
10
+ var self=this;
11
+ return smalltalk.send(smalltalk.send(self, "_basicNew", []), "_initialize", []);
12
+ return self;},
13
+ args: [],
14
+ source: unescape('new%0A%09%5Eself%20basicNew%20initialize'),
15
+ messageSends: ["initialize", "basicNew"],
16
+ referencedClasses: []
17
+ }),
18
+ smalltalk.Behavior);
19
+
20
+ smalltalk.addMethod(
21
+ unescape('_basicNew'),
22
+ smalltalk.method({
23
+ selector: unescape('basicNew'),
24
+ category: 'instance creation',
25
+ fn: function (){
26
+ var self=this;
27
+ return new self.fn();
28
+ return self;},
29
+ args: [],
30
+ source: unescape('basicNew%0A%09%3Creturn%20new%20self.fn%28%29%3E'),
31
+ messageSends: [],
32
+ referencedClasses: []
33
+ }),
34
+ smalltalk.Behavior);
35
+
36
+ smalltalk.addMethod(
37
+ unescape('_name'),
38
+ smalltalk.method({
39
+ selector: unescape('name'),
40
+ category: 'accessing',
41
+ fn: function (){
42
+ var self=this;
43
+ return self.className || nil;
44
+ return self;},
45
+ args: [],
46
+ source: unescape('name%0A%09%3Creturn%20self.className%20%7C%7C%20nil%3E'),
47
+ messageSends: [],
48
+ referencedClasses: []
49
+ }),
50
+ smalltalk.Behavior);
51
+
52
+ smalltalk.addMethod(
53
+ unescape('_superclass'),
54
+ smalltalk.method({
55
+ selector: unescape('superclass'),
56
+ category: 'accessing',
57
+ fn: function (){
58
+ var self=this;
59
+ return self.superclass || nil;
60
+ return self;},
61
+ args: [],
62
+ source: unescape('superclass%0A%09%3Creturn%20self.superclass%20%7C%7C%20nil%3E'),
63
+ messageSends: [],
64
+ referencedClasses: []
65
+ }),
66
+ smalltalk.Behavior);
67
+
68
+ smalltalk.addMethod(
69
+ unescape('_subclasses'),
70
+ smalltalk.method({
71
+ selector: unescape('subclasses'),
72
+ category: 'accessing',
73
+ fn: function (){
74
+ var self=this;
75
+ return smalltalk.subclasses(self);
76
+ return self;},
77
+ args: [],
78
+ source: unescape('subclasses%0A%09%3Creturn%20smalltalk.subclasses%28self%29%3E'),
79
+ messageSends: [],
80
+ referencedClasses: []
81
+ }),
82
+ smalltalk.Behavior);
83
+
84
+ smalltalk.addMethod(
85
+ unescape('_allSubclasses'),
86
+ smalltalk.method({
87
+ selector: unescape('allSubclasses'),
88
+ category: 'accessing',
89
+ fn: function (){
90
+ var self=this;
91
+ var result=nil;
92
+ (result=smalltalk.send(self, "_subclasses", []));
93
+ smalltalk.send(smalltalk.send(self, "_subclasses", []), "_do_", [(function(each){return smalltalk.send(result, "_addAll_", [smalltalk.send(each, "_allSubclasses", [])]);})]);
94
+ return result;
95
+ return self;},
96
+ args: [],
97
+ source: unescape('allSubclasses%0A%09%7C%20result%20%7C%0A%09result%20%3A%3D%20self%20subclasses.%0A%09self%20subclasses%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20result%20addAll%3A%20each%20allSubclasses%5D.%0A%09%5Eresult'),
98
+ messageSends: ["subclasses", "do:", "addAll:", "allSubclasses"],
99
+ referencedClasses: []
100
+ }),
101
+ smalltalk.Behavior);
102
+
103
+ smalltalk.addMethod(
104
+ unescape('_withAllSubclasses'),
105
+ smalltalk.method({
106
+ selector: unescape('withAllSubclasses'),
107
+ category: 'accessing',
108
+ fn: function (){
109
+ var self=this;
110
+ return (function($rec){smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_allSubclasses", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Array || Array), "_with_", [self]));
111
+ return self;},
112
+ args: [],
113
+ source: unescape('withAllSubclasses%0A%09%5E%28Array%20with%3A%20self%29%20addAll%3A%20self%20allSubclasses%3B%20yourself'),
114
+ messageSends: ["addAll:", "allSubclasses", "yourself", "with:"],
115
+ referencedClasses: ["Array"]
116
+ }),
117
+ smalltalk.Behavior);
118
+
119
+ smalltalk.addMethod(
120
+ unescape('_prototype'),
121
+ smalltalk.method({
122
+ selector: unescape('prototype'),
123
+ category: 'accessing',
124
+ fn: function (){
125
+ var self=this;
126
+ return self.fn.prototype;
127
+ return self;},
128
+ args: [],
129
+ source: unescape('prototype%0A%09%3Creturn%20self.fn.prototype%3E'),
130
+ messageSends: [],
131
+ referencedClasses: []
132
+ }),
133
+ smalltalk.Behavior);
134
+
135
+ smalltalk.addMethod(
136
+ unescape('_methodDictionary'),
137
+ smalltalk.method({
138
+ selector: unescape('methodDictionary'),
139
+ category: 'accessing',
140
+ fn: function (){
141
+ var self=this;
142
+ var dict = smalltalk.HashedCollection._new();
143
+ var methods = self.fn.prototype.methods;
144
+ for(var i in methods) {
145
+ if(methods[i].selector) {
146
+ dict._at_put_(methods[i].selector, methods[i]);
147
+ }
148
+ };
149
+ return dict;
150
+ return self;},
151
+ args: [],
152
+ source: unescape('methodDictionary%0A%09%3Cvar%20dict%20%3D%20smalltalk.HashedCollection._new%28%29%3B%0A%09var%20methods%20%3D%20self.fn.prototype.methods%3B%0A%09for%28var%20i%20in%20methods%29%20%7B%0A%09%09if%28methods%5Bi%5D.selector%29%20%7B%0A%09%09%09dict._at_put_%28methods%5Bi%5D.selector%2C%20methods%5Bi%5D%29%3B%0A%09%09%7D%0A%09%7D%3B%0A%09return%20dict%3E'),
153
+ messageSends: [],
154
+ referencedClasses: []
155
+ }),
156
+ smalltalk.Behavior);
157
+
158
+ smalltalk.addMethod(
159
+ unescape('_methodsFor_'),
160
+ smalltalk.method({
161
+ selector: unescape('methodsFor%3A'),
162
+ category: 'accessing',
163
+ fn: function (aString){
164
+ var self=this;
165
+ return (function($rec){smalltalk.send($rec, "_class_category_", [self, aString]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.ClassCategoryReader || ClassCategoryReader), "_new", []));
166
+ return self;},
167
+ args: ["aString"],
168
+ source: unescape('methodsFor%3A%20aString%0A%09%5EClassCategoryReader%20new%0A%09%20%20%20%20class%3A%20self%20category%3A%20aString%3B%0A%09%20%20%20%20yourself'),
169
+ messageSends: ["class:category:", "yourself", "new"],
170
+ referencedClasses: ["ClassCategoryReader"]
171
+ }),
172
+ smalltalk.Behavior);
173
+
174
+ smalltalk.addMethod(
175
+ unescape('_addCompiledMethod_'),
176
+ smalltalk.method({
177
+ selector: unescape('addCompiledMethod%3A'),
178
+ category: 'compiling',
179
+ fn: function (aMethod){
180
+ var self=this;
181
+ smalltalk.addMethod(aMethod.selector._asSelector(), aMethod, self);
182
+ return self;},
183
+ args: ["aMethod"],
184
+ source: unescape('addCompiledMethod%3A%20aMethod%0A%09%3Csmalltalk.addMethod%28aMethod.selector._asSelector%28%29%2C%20aMethod%2C%20self%29%3E'),
185
+ messageSends: [],
186
+ referencedClasses: []
187
+ }),
188
+ smalltalk.Behavior);
189
+
190
+ smalltalk.addMethod(
191
+ unescape('_instanceVariableNames'),
192
+ smalltalk.method({
193
+ selector: unescape('instanceVariableNames'),
194
+ category: 'accessing',
195
+ fn: function (){
196
+ var self=this;
197
+ return self.iVarNames;
198
+ return self;},
199
+ args: [],
200
+ source: unescape('instanceVariableNames%0A%09%3Creturn%20self.iVarNames%3E'),
201
+ messageSends: [],
202
+ referencedClasses: []
203
+ }),
204
+ smalltalk.Behavior);
205
+
206
+ smalltalk.addMethod(
207
+ unescape('_comment'),
208
+ smalltalk.method({
209
+ selector: unescape('comment'),
210
+ category: 'accessing',
211
+ fn: function (){
212
+ var self=this;
213
+ return (($receiver = smalltalk.send(self, "_basicAt_", ["comment"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
214
+ return self;},
215
+ args: [],
216
+ source: unescape('comment%0A%20%20%20%20%5E%28self%20basicAt%3A%20%27comment%27%29%20ifNil%3A%20%5B%27%27%5D'),
217
+ messageSends: ["ifNil:", "basicAt:"],
218
+ referencedClasses: []
219
+ }),
220
+ smalltalk.Behavior);
221
+
222
+ smalltalk.addMethod(
223
+ unescape('_comment_'),
224
+ smalltalk.method({
225
+ selector: unescape('comment%3A'),
226
+ category: 'accessing',
227
+ fn: function (aString){
228
+ var self=this;
229
+ smalltalk.send(self, "_basicAt_put_", ["comment", aString]);
230
+ return self;},
231
+ args: ["aString"],
232
+ source: unescape('comment%3A%20aString%0A%20%20%20%20self%20basicAt%3A%20%27comment%27%20put%3A%20aString'),
233
+ messageSends: ["basicAt:put:"],
234
+ referencedClasses: []
235
+ }),
236
+ smalltalk.Behavior);
237
+
238
+ smalltalk.addMethod(
239
+ unescape('_commentStamp'),
240
+ smalltalk.method({
241
+ selector: unescape('commentStamp'),
242
+ category: 'accessing',
243
+ fn: function (){
244
+ var self=this;
245
+ return (function($rec){smalltalk.send($rec, "_class_", [self]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.ClassCommentReader || ClassCommentReader), "_new", []));
246
+ return self;},
247
+ args: [],
248
+ source: unescape('commentStamp%0A%20%20%20%20%5EClassCommentReader%20new%0A%09class%3A%20self%3B%0A%09yourself'),
249
+ messageSends: ["class:", "yourself", "new"],
250
+ referencedClasses: ["ClassCommentReader"]
251
+ }),
252
+ smalltalk.Behavior);
253
+
254
+ smalltalk.addMethod(
255
+ unescape('_removeCompiledMethod_'),
256
+ smalltalk.method({
257
+ selector: unescape('removeCompiledMethod%3A'),
258
+ category: 'compiling',
259
+ fn: function (aMethod){
260
+ var self=this;
261
+ delete self.fn.prototype[aMethod.selector._asSelector()];
262
+ delete self.fn.prototype.methods[aMethod.selector];
263
+ smalltalk.init(self);;
264
+ return self;},
265
+ args: ["aMethod"],
266
+ source: unescape('removeCompiledMethod%3A%20aMethod%0A%09%3Cdelete%20self.fn.prototype%5BaMethod.selector._asSelector%28%29%5D%3B%0A%09delete%20self.fn.prototype.methods%5BaMethod.selector%5D%3B%0A%09smalltalk.init%28self%29%3B%3E'),
267
+ messageSends: [],
268
+ referencedClasses: []
269
+ }),
270
+ smalltalk.Behavior);
271
+
272
+ smalltalk.addMethod(
273
+ unescape('_inheritsFrom_'),
274
+ smalltalk.method({
275
+ selector: unescape('inheritsFrom%3A'),
276
+ category: 'testing',
277
+ fn: function (aClass){
278
+ var self=this;
279
+ return smalltalk.send(smalltalk.send(aClass, "_allSubclasses", []), "_includes_", [self]);
280
+ return self;},
281
+ args: ["aClass"],
282
+ source: unescape('inheritsFrom%3A%20aClass%0A%09%5EaClass%20allSubclasses%20includes%3A%20self'),
283
+ messageSends: ["includes:", "allSubclasses"],
284
+ referencedClasses: []
285
+ }),
286
+ smalltalk.Behavior);
287
+
288
+ smalltalk.addMethod(
289
+ unescape('_protocols'),
290
+ smalltalk.method({
291
+ selector: unescape('protocols'),
292
+ category: 'accessing',
293
+ fn: function (){
294
+ var self=this;
295
+ var protocols=nil;
296
+ (protocols=smalltalk.send((smalltalk.Array || Array), "_new", []));
297
+ smalltalk.send(smalltalk.send(self, "_methodDictionary", []), "_do_", [(function(each){return ((($receiver = smalltalk.send(protocols, "_includes_", [smalltalk.send(each, "_category", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(protocols, "_add_", [smalltalk.send(each, "_category", [])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(protocols, "_add_", [smalltalk.send(each, "_category", [])]);})]));})]);
298
+ return smalltalk.send(protocols, "_sort", []);
299
+ return self;},
300
+ args: [],
301
+ source: unescape('protocols%0A%20%20%20%20%7C%20protocols%20%7C%0A%20%20%20%20protocols%20%3A%3D%20Array%20new.%0A%20%20%20%20self%20methodDictionary%20do%3A%20%5B%3Aeach%20%7C%0A%09%20%20%20%20%28protocols%20includes%3A%20each%20category%29%20ifFalse%3A%20%5B%0A%09%09protocols%20add%3A%20each%20category%5D%5D.%0A%20%20%20%20%5Eprotocols%20sort'),
302
+ messageSends: ["new", "do:", "methodDictionary", "ifFalse:", "includes:", "category", "add:", "sort"],
303
+ referencedClasses: ["Array"]
304
+ }),
305
+ smalltalk.Behavior);
306
+
307
+ smalltalk.addMethod(
308
+ unescape('_protocolsDo_'),
309
+ smalltalk.method({
310
+ selector: unescape('protocolsDo%3A'),
311
+ category: 'accessing',
312
+ fn: function (aBlock){
313
+ var self=this;
314
+ var methodsByCategory=nil;
315
+ (methodsByCategory=smalltalk.send((smalltalk.HashedCollection || HashedCollection), "_new", []));
316
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_methodDictionary", []), "_values", []), "_do_", [(function(m){return smalltalk.send(smalltalk.send(methodsByCategory, "_at_ifAbsentPut_", [smalltalk.send(m, "_category", []), (function(){return smalltalk.send((smalltalk.Array || Array), "_new", []);})]), "_add_", [m]);})]);
317
+ smalltalk.send(smalltalk.send(self, "_protocols", []), "_do_", [(function(category){return smalltalk.send(aBlock, "_value_value_", [category, smalltalk.send(methodsByCategory, "_at_", [category])]);})]);
318
+ return self;},
319
+ args: ["aBlock"],
320
+ source: unescape('protocolsDo%3A%20aBlock%0A%09%22Execute%20aBlock%20for%20each%20method%20category%20with%0A%09its%20collection%20of%20methods%20in%20the%20sort%20order%20of%20category%20name.%22%0A%0A%09%7C%20methodsByCategory%20%7C%0A%09methodsByCategory%20%3A%3D%20HashedCollection%20new.%0A%09self%20methodDictionary%20values%20do%3A%20%5B%3Am%20%7C%0A%09%09%28methodsByCategory%20at%3A%20m%20category%20ifAbsentPut%3A%20%5BArray%20new%5D%29%0A%20%09%09%09add%3A%20m%5D.%20%0A%09self%20protocols%20do%3A%20%5B%3Acategory%20%7C%0A%09%09aBlock%20value%3A%20category%20value%3A%20%28methodsByCategory%20at%3A%20category%29%5D'),
321
+ messageSends: ["new", "do:", "values", "methodDictionary", "add:", "at:ifAbsentPut:", "category", "protocols", "value:value:", "at:"],
322
+ referencedClasses: ["HashedCollection", "Array"]
323
+ }),
324
+ smalltalk.Behavior);
325
+
326
+ smalltalk.addMethod(
327
+ unescape('_allInstanceVariableNames'),
328
+ smalltalk.method({
329
+ selector: unescape('allInstanceVariableNames'),
330
+ category: 'accessing',
331
+ fn: function (){
332
+ var self=this;
333
+ var result=nil;
334
+ (result=smalltalk.send(smalltalk.send(self, "_instanceVariableNames", []), "_copy", []));
335
+ (($receiver = smalltalk.send(self, "_superclass", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(result, "_addAll_", [smalltalk.send(smalltalk.send(self, "_superclass", []), "_allInstanceVariableNames", [])]);})() : nil;
336
+ return result;
337
+ return self;},
338
+ args: [],
339
+ source: unescape('allInstanceVariableNames%0A%09%7C%20result%20%7C%0A%09result%20%3A%3D%20self%20instanceVariableNames%20copy.%0A%09self%20superclass%20ifNotNil%3A%20%5B%0A%09%20%20%20%20result%20addAll%3A%20self%20superclass%20allInstanceVariableNames%5D.%0A%09%5Eresult'),
340
+ messageSends: ["copy", "instanceVariableNames", "ifNotNil:", "superclass", "addAll:", "allInstanceVariableNames"],
341
+ referencedClasses: []
342
+ }),
343
+ smalltalk.Behavior);
344
+
345
+ smalltalk.addMethod(
346
+ unescape('_methodAt_'),
347
+ smalltalk.method({
348
+ selector: unescape('methodAt%3A'),
349
+ category: 'accessing',
350
+ fn: function (aString){
351
+ var self=this;
352
+ return smalltalk.methods(self)[aString];
353
+ return self;},
354
+ args: ["aString"],
355
+ source: unescape('methodAt%3A%20aString%0A%09%3Creturn%20smalltalk.methods%28self%29%5BaString%5D%3E'),
356
+ messageSends: [],
357
+ referencedClasses: []
358
+ }),
359
+ smalltalk.Behavior);
360
+
361
+ smalltalk.addMethod(
362
+ unescape('_methodsFor_stamp_'),
363
+ smalltalk.method({
364
+ selector: unescape('methodsFor%3Astamp%3A'),
365
+ category: 'accessing',
366
+ fn: function (aString, aStamp){
367
+ var self=this;
368
+ return smalltalk.send(self, "_methodsFor_", [aString]);
369
+ return self;},
370
+ args: ["aString", "aStamp"],
371
+ source: unescape('methodsFor%3A%20aString%20stamp%3A%20aStamp%0A%09%22Added%20for%20compatibility%2C%20right%20now%20ignores%20stamp.%22%0A%09%5Eself%20methodsFor%3A%20aString'),
372
+ messageSends: ["methodsFor:"],
373
+ referencedClasses: []
374
+ }),
375
+ smalltalk.Behavior);
376
+
377
+ smalltalk.addMethod(
378
+ unescape('_commentStamp_prior_'),
379
+ smalltalk.method({
380
+ selector: unescape('commentStamp%3Aprior%3A'),
381
+ category: 'accessing',
382
+ fn: function (aStamp, prior){
383
+ var self=this;
384
+ return smalltalk.send(self, "_commentStamp", []);
385
+ return self;},
386
+ args: ["aStamp", "prior"],
387
+ source: unescape('commentStamp%3A%20aStamp%20prior%3A%20prior%0A%20%20%20%20%20%20%20%20%5Eself%20commentStamp'),
388
+ messageSends: ["commentStamp"],
389
+ referencedClasses: []
390
+ }),
391
+ smalltalk.Behavior);
392
+
393
+ smalltalk.addMethod(
394
+ unescape('_compile_'),
395
+ smalltalk.method({
396
+ selector: unescape('compile%3A'),
397
+ category: 'compiling',
398
+ fn: function (aString){
399
+ var self=this;
400
+ smalltalk.send(self, "_compile_category_", [aString, ""]);
401
+ return self;},
402
+ args: ["aString"],
403
+ source: unescape('compile%3A%20aString%0A%09self%20compile%3A%20aString%20category%3A%20%27%27'),
404
+ messageSends: ["compile:category:"],
405
+ referencedClasses: []
406
+ }),
407
+ smalltalk.Behavior);
408
+
409
+ smalltalk.addMethod(
410
+ unescape('_compile_category_'),
411
+ smalltalk.method({
412
+ selector: unescape('compile%3Acategory%3A'),
413
+ category: 'compiling',
414
+ fn: function (aString, anotherString){
415
+ var self=this;
416
+ var method=nil;
417
+ (method=smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [aString, self]));
418
+ smalltalk.send(method, "_category_", [anotherString]);
419
+ smalltalk.send(self, "_addCompiledMethod_", [method]);
420
+ return self;},
421
+ args: ["aString", "anotherString"],
422
+ source: unescape('compile%3A%20aString%20category%3A%20anotherString%0A%09%7C%20method%20%7C%0A%09method%20%3A%3D%20Compiler%20new%20load%3A%20aString%20forClass%3A%20self.%0A%09method%20category%3A%20anotherString.%0A%09self%20addCompiledMethod%3A%20method'),
423
+ messageSends: ["load:forClass:", "new", "category:", "addCompiledMethod:"],
424
+ referencedClasses: ["Compiler"]
425
+ }),
426
+ smalltalk.Behavior);
427
+
428
+
429
+
430
+ smalltalk.addClass('Class', smalltalk.Behavior, [], 'Kernel-Classes');
431
+ smalltalk.Class.comment=unescape('Class%20is%20__the__%20class%20object.%20%0A%0AInstances%20are%20the%20classes%20of%20the%20system.%0AClass%20creation%20is%20done%20throught%20a%20%60ClassBuilder%60')
432
+ smalltalk.addMethod(
433
+ unescape('_category'),
434
+ smalltalk.method({
435
+ selector: unescape('category'),
436
+ category: 'accessing',
437
+ fn: function (){
438
+ var self=this;
439
+ return (($receiver = smalltalk.send(self, "_package", [])) == nil || $receiver == undefined) ? (function(){return "Unclassified";})() : (function(){return smalltalk.send(smalltalk.send(self, "_package", []), "_name", []);})();
440
+ return self;},
441
+ args: [],
442
+ source: unescape('category%0A%09%5Eself%20package%20ifNil%3A%20%5B%27Unclassified%27%5D%20ifNotNil%3A%20%5Bself%20package%20name%5D'),
443
+ messageSends: ["ifNil:ifNotNil:", "package", "name"],
444
+ referencedClasses: []
445
+ }),
446
+ smalltalk.Class);
447
+
448
+ smalltalk.addMethod(
449
+ unescape('_subclass_instanceVariableNames_'),
450
+ smalltalk.method({
451
+ selector: unescape('subclass%3AinstanceVariableNames%3A'),
452
+ category: 'class creation',
453
+ fn: function (aString, anotherString){
454
+ var self=this;
455
+ return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, anotherString, nil]);
456
+ return self;},
457
+ args: ["aString", "anotherString"],
458
+ source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20anotherString%0A%09%22Kept%20for%20compatibility.%22%0A%09%5Eself%20subclass%3A%20aString%20instanceVariableNames%3A%20anotherString%20package%3A%20nil'),
459
+ messageSends: ["subclass:instanceVariableNames:package:"],
460
+ referencedClasses: []
461
+ }),
462
+ smalltalk.Class);
463
+
464
+ smalltalk.addMethod(
465
+ unescape('_subclass_instanceVariableNames_category_'),
466
+ smalltalk.method({
467
+ selector: unescape('subclass%3AinstanceVariableNames%3Acategory%3A'),
468
+ category: 'class creation',
469
+ fn: function (aString, aString2, aString3){
470
+ var self=this;
471
+ smalltalk.send(self, "_deprecatedAPI", []);
472
+ return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
473
+ return self;},
474
+ args: ["aString", "aString2", "aString3"],
475
+ source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20category%3A%20aString3%0A%09%22Kept%20for%20compatibility.%22%0A%09self%20deprecatedAPI.%0A%09%5Eself%20subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3'),
476
+ messageSends: ["deprecatedAPI", "subclass:instanceVariableNames:package:"],
477
+ referencedClasses: []
478
+ }),
479
+ smalltalk.Class);
480
+
481
+ smalltalk.addMethod(
482
+ unescape('_isClass'),
483
+ smalltalk.method({
484
+ selector: unescape('isClass'),
485
+ category: 'testing',
486
+ fn: function (){
487
+ var self=this;
488
+ return true;
489
+ return self;},
490
+ args: [],
491
+ source: unescape('isClass%0A%09%5Etrue'),
492
+ messageSends: [],
493
+ referencedClasses: []
494
+ }),
495
+ smalltalk.Class);
496
+
497
+ smalltalk.addMethod(
498
+ unescape('_printString'),
499
+ smalltalk.method({
500
+ selector: unescape('printString'),
501
+ category: 'printing',
502
+ fn: function (){
503
+ var self=this;
504
+ return smalltalk.send(self, "_name", []);
505
+ return self;},
506
+ args: [],
507
+ source: unescape('printString%0A%09%5Eself%20name'),
508
+ messageSends: ["name"],
509
+ referencedClasses: []
510
+ }),
511
+ smalltalk.Class);
512
+
513
+ smalltalk.addMethod(
514
+ unescape('_rename_'),
515
+ smalltalk.method({
516
+ selector: unescape('rename%3A'),
517
+ category: 'accessing',
518
+ fn: function (aString){
519
+ var self=this;
520
+
521
+ smalltalk[aString] = self;
522
+ delete smalltalk[self.className];
523
+ self.className = aString;
524
+ ;
525
+ return self;},
526
+ args: ["aString"],
527
+ source: unescape('rename%3A%20aString%0A%09%3C%0A%09%09smalltalk%5BaString%5D%20%3D%20self%3B%0A%09%09delete%20smalltalk%5Bself.className%5D%3B%0A%09%09self.className%20%3D%20aString%3B%0A%09%3E'),
528
+ messageSends: [],
529
+ referencedClasses: []
530
+ }),
531
+ smalltalk.Class);
532
+
533
+ smalltalk.addMethod(
534
+ unescape('_subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_'),
535
+ smalltalk.method({
536
+ selector: unescape('subclass%3AinstanceVariableNames%3AclassVariableNames%3ApoolDictionaries%3Acategory%3A'),
537
+ category: 'class creation',
538
+ fn: function (aString, aString2, classVars, pools, aString3){
539
+ var self=this;
540
+ return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
541
+ return self;},
542
+ args: ["aString", "aString2", "classVars", "pools", "aString3"],
543
+ source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20classVariableNames%3A%20classVars%20poolDictionaries%3A%20pools%20category%3A%20aString3%0A%09%22Just%20ignore%20class%20variables%20and%20pools.%20Added%20for%20compatibility.%22%0A%09%5Eself%20subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3'),
544
+ messageSends: ["subclass:instanceVariableNames:package:"],
545
+ referencedClasses: []
546
+ }),
547
+ smalltalk.Class);
548
+
549
+ smalltalk.addMethod(
550
+ unescape('_package'),
551
+ smalltalk.method({
552
+ selector: unescape('package'),
553
+ category: 'accessing',
554
+ fn: function (){
555
+ var self=this;
556
+ return self.pkg;
557
+ return self;},
558
+ args: [],
559
+ source: unescape('package%0A%09%3Creturn%20self.pkg%3E'),
560
+ messageSends: [],
561
+ referencedClasses: []
562
+ }),
563
+ smalltalk.Class);
564
+
565
+ smalltalk.addMethod(
566
+ unescape('_package_'),
567
+ smalltalk.method({
568
+ selector: unescape('package%3A'),
569
+ category: 'accessing',
570
+ fn: function (aPackage){
571
+ var self=this;
572
+ self.pkg = aPackage;
573
+ return self;},
574
+ args: ["aPackage"],
575
+ source: unescape('package%3A%20aPackage%0A%09%3Cself.pkg%20%3D%20aPackage%3E'),
576
+ messageSends: [],
577
+ referencedClasses: []
578
+ }),
579
+ smalltalk.Class);
580
+
581
+ smalltalk.addMethod(
582
+ unescape('_subclass_instanceVariableNames_package_'),
583
+ smalltalk.method({
584
+ selector: unescape('subclass%3AinstanceVariableNames%3Apackage%3A'),
585
+ category: 'class creation',
586
+ fn: function (aString, aString2, aString3){
587
+ var self=this;
588
+ return smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_superclass_subclass_instanceVariableNames_package_", [self, smalltalk.send(aString, "_asString", []), aString2, aString3]);
589
+ return self;},
590
+ args: ["aString", "aString2", "aString3"],
591
+ source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3%0A%09%5EClassBuilder%20new%0A%09%20%20%20%20superclass%3A%20self%20subclass%3A%20aString%20asString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3'),
592
+ messageSends: ["superclass:subclass:instanceVariableNames:package:", "new", "asString"],
593
+ referencedClasses: ["ClassBuilder"]
594
+ }),
595
+ smalltalk.Class);
596
+
597
+
598
+
599
+ smalltalk.addClass('Metaclass', smalltalk.Behavior, [], 'Kernel-Classes');
600
+ smalltalk.Metaclass.comment=unescape('Metaclass%20is%20the%20root%20of%20the%20class%20hierarchy.%0A%0AMetaclass%20instances%20are%20metaclasses%2C%20one%20for%20each%20real%20class.%20%0AMetaclass%20instances%20have%20a%20single%20instance%2C%20which%20they%20hold%20onto%2C%20which%20is%20the%20class%20that%20they%20are%20the%20metaclass%20of.')
601
+ smalltalk.addMethod(
602
+ unescape('_instanceClass'),
603
+ smalltalk.method({
604
+ selector: unescape('instanceClass'),
605
+ category: 'accessing',
606
+ fn: function (){
607
+ var self=this;
608
+ return self.instanceClass;
609
+ return self;},
610
+ args: [],
611
+ source: unescape('instanceClass%0A%09%3Creturn%20self.instanceClass%3E'),
612
+ messageSends: [],
613
+ referencedClasses: []
614
+ }),
615
+ smalltalk.Metaclass);
616
+
617
+ smalltalk.addMethod(
618
+ unescape('_instanceVariableNames_'),
619
+ smalltalk.method({
620
+ selector: unescape('instanceVariableNames%3A'),
621
+ category: 'accessing',
622
+ fn: function (aCollection){
623
+ var self=this;
624
+ smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_class_instanceVariableNames_", [self, aCollection]);
625
+ return self;},
626
+ args: ["aCollection"],
627
+ source: unescape('instanceVariableNames%3A%20aCollection%0A%09ClassBuilder%20new%0A%09%20%20%20%20class%3A%20self%20instanceVariableNames%3A%20aCollection'),
628
+ messageSends: ["class:instanceVariableNames:", "new"],
629
+ referencedClasses: ["ClassBuilder"]
630
+ }),
631
+ smalltalk.Metaclass);
632
+
633
+ smalltalk.addMethod(
634
+ unescape('_isMetaclass'),
635
+ smalltalk.method({
636
+ selector: unescape('isMetaclass'),
637
+ category: 'testing',
638
+ fn: function (){
639
+ var self=this;
640
+ return true;
641
+ return self;},
642
+ args: [],
643
+ source: unescape('isMetaclass%0A%09%5Etrue'),
644
+ messageSends: [],
645
+ referencedClasses: []
646
+ }),
647
+ smalltalk.Metaclass);
648
+
649
+ smalltalk.addMethod(
650
+ unescape('_printString'),
651
+ smalltalk.method({
652
+ selector: unescape('printString'),
653
+ category: 'printing',
654
+ fn: function (){
655
+ var self=this;
656
+ return smalltalk.send(smalltalk.send(smalltalk.send(self, "_instanceClass", []), "_name", []), "__comma", [" class"]);
657
+ return self;},
658
+ args: [],
659
+ source: unescape('printString%0A%09%5Eself%20instanceClass%20name%2C%20%27%20class%27'),
660
+ messageSends: [unescape("%2C"), "name", "instanceClass"],
661
+ referencedClasses: []
662
+ }),
663
+ smalltalk.Metaclass);
664
+
665
+
666
+
667
+ smalltalk.addClass('ClassBuilder', smalltalk.Object, [], 'Kernel-Classes');
668
+ smalltalk.ClassBuilder.comment=unescape('ClassBuilder%20is%20responsible%20for%20compiling%20new%20classes%20or%20modifying%20existing%20classes%20in%20the%20system.%0A%0ARather%20than%20using%20ClassBuilder%20directly%20to%20compile%20a%20class%2C%20use%20%60Class%20%3E%3E%20subclass%3AinstanceVariableNames%3Apackage%3A%60.')
669
+ smalltalk.addMethod(
670
+ unescape('_superclass_subclass_'),
671
+ smalltalk.method({
672
+ selector: unescape('superclass%3Asubclass%3A'),
673
+ category: 'class creation',
674
+ fn: function (aClass, aString){
675
+ var self=this;
676
+ return smalltalk.send(self, "_superclass_subclass_instanceVariableNames_package_", [aClass, aString, "", nil]);
677
+ return self;},
678
+ args: ["aClass", "aString"],
679
+ source: unescape('superclass%3A%20aClass%20subclass%3A%20aString%0A%09%5Eself%20superclass%3A%20aClass%20subclass%3A%20aString%20instanceVariableNames%3A%20%27%27%20package%3A%20nil'),
680
+ messageSends: ["superclass:subclass:instanceVariableNames:package:"],
681
+ referencedClasses: []
682
+ }),
683
+ smalltalk.ClassBuilder);
684
+
685
+ smalltalk.addMethod(
686
+ unescape('_class_instanceVariableNames_'),
687
+ smalltalk.method({
688
+ selector: unescape('class%3AinstanceVariableNames%3A'),
689
+ category: 'class creation',
690
+ fn: function (aClass, aString){
691
+ var self=this;
692
+ ((($receiver = smalltalk.send(aClass, "_isMetaclass", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self, "_error_", [smalltalk.send(smalltalk.send(aClass, "_name", []), "__comma", [" is not a metaclass"])]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self, "_error_", [smalltalk.send(smalltalk.send(aClass, "_name", []), "__comma", [" is not a metaclass"])]);})]));
693
+ smalltalk.send(aClass, "_basicAt_put_", ["iVarNames", smalltalk.send(self, "_instanceVariableNamesFor_", [aString])]);
694
+ smalltalk.send(self, "_setupClass_", [aClass]);
695
+ return self;},
696
+ args: ["aClass", "aString"],
697
+ source: unescape('class%3A%20aClass%20instanceVariableNames%3A%20aString%0A%09aClass%20isMetaclass%20ifFalse%3A%20%5Bself%20error%3A%20aClass%20name%2C%20%27%20is%20not%20a%20metaclass%27%5D.%0A%09aClass%20basicAt%3A%20%27iVarNames%27%20put%3A%20%28self%20instanceVariableNamesFor%3A%20aString%29.%0A%09self%20setupClass%3A%20aClass'),
698
+ messageSends: ["ifFalse:", "isMetaclass", "error:", unescape("%2C"), "name", "basicAt:put:", "instanceVariableNamesFor:", "setupClass:"],
699
+ referencedClasses: []
700
+ }),
701
+ smalltalk.ClassBuilder);
702
+
703
+ smalltalk.addMethod(
704
+ unescape('_instanceVariableNamesFor_'),
705
+ smalltalk.method({
706
+ selector: unescape('instanceVariableNamesFor%3A'),
707
+ category: 'private',
708
+ fn: function (aString){
709
+ var self=this;
710
+ return smalltalk.send(smalltalk.send(aString, "_tokenize_", [" "]), "_reject_", [(function(each){return smalltalk.send(each, "_isEmpty", []);})]);
711
+ return self;},
712
+ args: ["aString"],
713
+ source: unescape('instanceVariableNamesFor%3A%20aString%0A%09%5E%28aString%20tokenize%3A%20%27%20%27%29%20reject%3A%20%5B%3Aeach%20%7C%20each%20isEmpty%5D'),
714
+ messageSends: ["reject:", "tokenize:", "isEmpty"],
715
+ referencedClasses: []
716
+ }),
717
+ smalltalk.ClassBuilder);
718
+
719
+ smalltalk.addMethod(
720
+ unescape('_addSubclassOf_named_instanceVariableNames_'),
721
+ smalltalk.method({
722
+ selector: unescape('addSubclassOf%3Anamed%3AinstanceVariableNames%3A'),
723
+ category: 'private',
724
+ fn: function (aClass, aString, aCollection){
725
+ var self=this;
726
+ smalltalk.addClass(aString, aClass, aCollection);
727
+ return smalltalk[aString];
728
+ return self;},
729
+ args: ["aClass", "aString", "aCollection"],
730
+ source: unescape('addSubclassOf%3A%20aClass%20named%3A%20aString%20instanceVariableNames%3A%20aCollection%0A%09%3Csmalltalk.addClass%28aString%2C%20aClass%2C%20aCollection%29%3B%0A%09%20%20%20%20return%20smalltalk%5BaString%5D%3E'),
731
+ messageSends: [],
732
+ referencedClasses: []
733
+ }),
734
+ smalltalk.ClassBuilder);
735
+
736
+ smalltalk.addMethod(
737
+ unescape('_setupClass_'),
738
+ smalltalk.method({
739
+ selector: unescape('setupClass%3A'),
740
+ category: 'private',
741
+ fn: function (aClass){
742
+ var self=this;
743
+ smalltalk.init(aClass);;
744
+ return self;},
745
+ args: ["aClass"],
746
+ source: unescape('setupClass%3A%20aClass%0A%09%3Csmalltalk.init%28aClass%29%3B%3E'),
747
+ messageSends: [],
748
+ referencedClasses: []
749
+ }),
750
+ smalltalk.ClassBuilder);
751
+
752
+ smalltalk.addMethod(
753
+ unescape('_superclass_subclass_instanceVariableNames_package_'),
754
+ smalltalk.method({
755
+ selector: unescape('superclass%3Asubclass%3AinstanceVariableNames%3Apackage%3A'),
756
+ category: 'class creation',
757
+ fn: function (aClass, aString, aString2, aString3){
758
+ var self=this;
759
+ var newClass=nil;
760
+ (newClass=smalltalk.send(self, "_addSubclassOf_named_instanceVariableNames_package_", [aClass, aString, smalltalk.send(self, "_instanceVariableNamesFor_", [aString2]), (($receiver = aString3) == nil || $receiver == undefined) ? (function(){return "unclassified";})() : $receiver]));
761
+ smalltalk.send(self, "_setupClass_", [newClass]);
762
+ return newClass;
763
+ return self;},
764
+ args: ["aClass", "aString", "aString2", "aString3"],
765
+ source: unescape('superclass%3A%20aClass%20subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3%0A%09%7C%20newClass%20%7C%0A%09newClass%20%3A%3D%20self%20addSubclassOf%3A%20aClass%0A%09%09%09%09named%3A%20aString%20instanceVariableNames%3A%20%28self%20instanceVariableNamesFor%3A%20aString2%29%0A%09%09%09%09package%3A%20%28aString3%20ifNil%3A%20%5B%27unclassified%27%5D%29.%0A%09self%20setupClass%3A%20newClass.%0A%09%5EnewClass'),
766
+ messageSends: ["addSubclassOf:named:instanceVariableNames:package:", "instanceVariableNamesFor:", "ifNil:", "setupClass:"],
767
+ referencedClasses: []
768
+ }),
769
+ smalltalk.ClassBuilder);
770
+
771
+ smalltalk.addMethod(
772
+ unescape('_addSubclassOf_named_instanceVariableNames_package_'),
773
+ smalltalk.method({
774
+ selector: unescape('addSubclassOf%3Anamed%3AinstanceVariableNames%3Apackage%3A'),
775
+ category: 'private',
776
+ fn: function (aClass, aString, aCollection, packageName){
777
+ var self=this;
778
+ smalltalk.addClass(aString, aClass, aCollection, packageName);
779
+ return smalltalk[aString];
780
+ return self;},
781
+ args: ["aClass", "aString", "aCollection", "packageName"],
782
+ source: unescape('addSubclassOf%3A%20aClass%20named%3A%20aString%20instanceVariableNames%3A%20aCollection%20package%3A%20packageName%0A%09%3Csmalltalk.addClass%28aString%2C%20aClass%2C%20aCollection%2C%20packageName%29%3B%0A%09%20%20%20%20return%20smalltalk%5BaString%5D%3E'),
783
+ messageSends: [],
784
+ referencedClasses: []
785
+ }),
786
+ smalltalk.ClassBuilder);
787
+
788
+ smalltalk.addMethod(
789
+ unescape('_copyClass_named_'),
790
+ smalltalk.method({
791
+ selector: unescape('copyClass%3Anamed%3A'),
792
+ category: 'private',
793
+ fn: function (aClass, aString){
794
+ var self=this;
795
+ var newClass=nil;
796
+ (newClass=smalltalk.send(self, "_addSubclassOf_named_instanceVariableNames_package_", [smalltalk.send(aClass, "_superclass", []), aString, smalltalk.send(aClass, "_instanceVariableNames", []), smalltalk.send(smalltalk.send(aClass, "_package", []), "_name", [])]));
797
+ smalltalk.send(self, "_setupClass_", [newClass]);
798
+ smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_values", []), "_do_", [(function(each){smalltalk.send(newClass, "_addCompiledMethod_", [smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [smalltalk.send(each, "_source", []), newClass])]);return smalltalk.send(smalltalk.send(smalltalk.send(newClass, "_methodDictionary", []), "_at_", [smalltalk.send(each, "_selector", [])]), "_category_", [smalltalk.send(each, "_category", [])]);})]);
799
+ smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_methodDictionary", []), "_values", []), "_do_", [(function(each){smalltalk.send(smalltalk.send(newClass, "_class", []), "_addCompiledMethod_", [smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [smalltalk.send(each, "_source", []), smalltalk.send(newClass, "_class", [])])]);return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(newClass, "_class", []), "_methodDictionary", []), "_at_", [smalltalk.send(each, "_selector", [])]), "_category_", [smalltalk.send(each, "_category", [])]);})]);
800
+ smalltalk.send(self, "_setupClass_", [newClass]);
801
+ return newClass;
802
+ return self;},
803
+ args: ["aClass", "aString"],
804
+ source: unescape('copyClass%3A%20aClass%20named%3A%20aString%0A%09%7C%20newClass%20%7C%0A%0A%09newClass%20%3A%3D%20self%20%0A%09%09addSubclassOf%3A%20aClass%20superclass%0A%09%09named%3A%20aString%20%0A%09%09instanceVariableNames%3A%20aClass%20instanceVariableNames%20%0A%09%09package%3A%20aClass%20package%20name.%0A%0A%09self%20setupClass%3A%20newClass.%0A%0A%09aClass%20methodDictionary%20values%20do%3A%20%5B%3Aeach%20%7C%0A%09%09newClass%20addCompiledMethod%3A%20%28Compiler%20new%20load%3A%20each%20source%20forClass%3A%20newClass%29.%0A%09%09%28newClass%20methodDictionary%20at%3A%20each%20selector%29%20category%3A%20each%20category%5D.%0A%0A%09aClass%20class%20methodDictionary%20values%20do%3A%20%5B%3Aeach%20%7C%0A%09%09newClass%20class%20addCompiledMethod%3A%20%28Compiler%20new%20load%3A%20each%20source%20forClass%3A%20newClass%20class%29.%0A%09%09%28newClass%20class%20methodDictionary%20at%3A%20each%20selector%29%20category%3A%20each%20category%5D.%0A%0A%09self%20setupClass%3A%20newClass.%0A%09%5EnewClass'),
805
+ messageSends: ["addSubclassOf:named:instanceVariableNames:package:", "superclass", "instanceVariableNames", "name", "package", "setupClass:", "do:", "values", "methodDictionary", "addCompiledMethod:", "load:forClass:", "new", "source", "category:", "at:", "selector", "category", "class"],
806
+ referencedClasses: ["Compiler"]
807
+ }),
808
+ smalltalk.ClassBuilder);
809
+
810
+
811
+
812
+ smalltalk.addClass('ClassCategoryReader', smalltalk.Object, ['class', 'category', 'chunkParser'], 'Kernel-Classes');
813
+ smalltalk.ClassCategoryReader.comment=unescape('ClassCategoryReader%20represents%20a%20mechanism%20for%20retrieving%20class%20descriptions%20stored%20on%20a%20file.')
814
+ smalltalk.addMethod(
815
+ unescape('_initialize'),
816
+ smalltalk.method({
817
+ selector: unescape('initialize'),
818
+ category: 'initialization',
819
+ fn: function (){
820
+ var self=this;
821
+ smalltalk.send(self, "_initialize", [], smalltalk.Object);
822
+ (self['@chunkParser']=smalltalk.send((smalltalk.ChunkParser || ChunkParser), "_new", []));
823
+ return self;},
824
+ args: [],
825
+ source: unescape('initialize%0A%09super%20initialize.%0A%09chunkParser%20%3A%3D%20ChunkParser%20new.'),
826
+ messageSends: ["initialize", "new"],
827
+ referencedClasses: ["ChunkParser"]
828
+ }),
829
+ smalltalk.ClassCategoryReader);
830
+
831
+ smalltalk.addMethod(
832
+ unescape('_class_category_'),
833
+ smalltalk.method({
834
+ selector: unescape('class%3Acategory%3A'),
835
+ category: 'accessing',
836
+ fn: function (aClass, aString){
837
+ var self=this;
838
+ (self['@class']=aClass);
839
+ (self['@category']=aString);
840
+ return self;},
841
+ args: ["aClass", "aString"],
842
+ source: unescape('class%3A%20aClass%20category%3A%20aString%0A%09class%20%3A%3D%20aClass.%0A%09category%20%3A%3D%20aString'),
843
+ messageSends: [],
844
+ referencedClasses: []
845
+ }),
846
+ smalltalk.ClassCategoryReader);
847
+
848
+ smalltalk.addMethod(
849
+ unescape('_scanFrom_'),
850
+ smalltalk.method({
851
+ selector: unescape('scanFrom%3A'),
852
+ category: 'fileIn',
853
+ fn: function (aChunkParser){
854
+ var self=this;
855
+ var chunk=nil;
856
+ (function(){while(!(function(){(chunk=smalltalk.send(aChunkParser, "_nextChunk", []));return smalltalk.send(chunk, "_isEmpty", []);})()) {(function(){return smalltalk.send(self, "_compileMethod_", [chunk]);})()}})();
857
+ return self;},
858
+ args: ["aChunkParser"],
859
+ source: unescape('scanFrom%3A%20aChunkParser%0A%09%7C%20chunk%20%7C%0A%09%5Bchunk%20%3A%3D%20aChunkParser%20nextChunk.%0A%09chunk%20isEmpty%5D%20whileFalse%3A%20%5B%0A%09%20%20%20%20self%20compileMethod%3A%20chunk%5D'),
860
+ messageSends: ["whileFalse:", "nextChunk", "isEmpty", "compileMethod:"],
861
+ referencedClasses: []
862
+ }),
863
+ smalltalk.ClassCategoryReader);
864
+
865
+ smalltalk.addMethod(
866
+ unescape('_compileMethod_'),
867
+ smalltalk.method({
868
+ selector: unescape('compileMethod%3A'),
869
+ category: 'private',
870
+ fn: function (aString){
871
+ var self=this;
872
+ var method=nil;
873
+ (method=smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [aString, self['@class']]));
874
+ smalltalk.send(method, "_category_", [self['@category']]);
875
+ smalltalk.send(self['@class'], "_addCompiledMethod_", [method]);
876
+ return self;},
877
+ args: ["aString"],
878
+ source: unescape('compileMethod%3A%20aString%0A%09%7C%20method%20%7C%0A%09method%20%3A%3D%20Compiler%20new%20load%3A%20aString%20forClass%3A%20class.%0A%09method%20category%3A%20category.%0A%09class%20addCompiledMethod%3A%20method'),
879
+ messageSends: ["load:forClass:", "new", "category:", "addCompiledMethod:"],
880
+ referencedClasses: ["Compiler"]
881
+ }),
882
+ smalltalk.ClassCategoryReader);
883
+
884
+
885
+
886
+ smalltalk.addClass('ClassCommentReader', smalltalk.Object, ['class', 'chunkParser'], 'Kernel-Classes');
887
+ smalltalk.ClassCommentReader.comment=unescape('ClassCommentReader%20represents%20a%20mechanism%20for%20retrieving%20class%20descriptions%20stored%20on%20a%20file.%0ASee%20%60ClassCategoryReader%60%20too.')
888
+ smalltalk.addMethod(
889
+ unescape('_class_'),
890
+ smalltalk.method({
891
+ selector: unescape('class%3A'),
892
+ category: 'accessing',
893
+ fn: function (aClass){
894
+ var self=this;
895
+ (self['@class']=aClass);
896
+ return self;},
897
+ args: ["aClass"],
898
+ source: unescape('class%3A%20aClass%0A%09class%20%3A%3D%20aClass'),
899
+ messageSends: [],
900
+ referencedClasses: []
901
+ }),
902
+ smalltalk.ClassCommentReader);
903
+
904
+ smalltalk.addMethod(
905
+ unescape('_scanFrom_'),
906
+ smalltalk.method({
907
+ selector: unescape('scanFrom%3A'),
908
+ category: 'fileIn',
909
+ fn: function (aChunkParser){
910
+ var self=this;
911
+ var chunk=nil;
912
+ (chunk=smalltalk.send(aChunkParser, "_nextChunk", []));
913
+ ((($receiver = smalltalk.send(chunk, "_isEmpty", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(self, "_setComment_", [chunk]);})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return smalltalk.send(self, "_setComment_", [chunk]);})]));
914
+ return self;},
915
+ args: ["aChunkParser"],
916
+ source: unescape('scanFrom%3A%20aChunkParser%0A%09%7C%20chunk%20%7C%0A%09chunk%20%3A%3D%20aChunkParser%20nextChunk.%0A%09chunk%20isEmpty%20ifFalse%3A%20%5B%0A%09%20%20%20%20self%20setComment%3A%20chunk%5D.'),
917
+ messageSends: ["nextChunk", "ifFalse:", "isEmpty", "setComment:"],
918
+ referencedClasses: []
919
+ }),
920
+ smalltalk.ClassCommentReader);
921
+
922
+ smalltalk.addMethod(
923
+ unescape('_initialize'),
924
+ smalltalk.method({
925
+ selector: unescape('initialize'),
926
+ category: 'initialization',
927
+ fn: function (){
928
+ var self=this;
929
+ smalltalk.send(self, "_initialize", [], smalltalk.Object);
930
+ (self['@chunkParser']=smalltalk.send((smalltalk.ChunkParser || ChunkParser), "_new", []));
931
+ return self;},
932
+ args: [],
933
+ source: unescape('initialize%0A%09super%20initialize.%0A%09chunkParser%20%3A%3D%20ChunkParser%20new.'),
934
+ messageSends: ["initialize", "new"],
935
+ referencedClasses: ["ChunkParser"]
936
+ }),
937
+ smalltalk.ClassCommentReader);
938
+
939
+ smalltalk.addMethod(
940
+ unescape('_setComment_'),
941
+ smalltalk.method({
942
+ selector: unescape('setComment%3A'),
943
+ category: 'private',
944
+ fn: function (aString){
945
+ var self=this;
946
+ smalltalk.send(self['@class'], "_comment_", [aString]);
947
+ return self;},
948
+ args: ["aString"],
949
+ source: unescape('setComment%3A%20aString%0A%20%20%20%20class%20comment%3A%20aString'),
950
+ messageSends: ["comment:"],
951
+ referencedClasses: []
952
+ }),
953
+ smalltalk.ClassCommentReader);
954
+
955
+
956
+