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,107 @@
1
+ smalltalk.addPackage('Kernel-Announcements', {});
2
+ smalltalk.addClass('Announcer', smalltalk.Object, ['registry', 'subscriptions'], 'Kernel-Announcements');
3
+ smalltalk.addMethod(
4
+ unescape('_announce_'),
5
+ smalltalk.method({
6
+ selector: unescape('announce%3A'),
7
+ fn: function (anAnnouncement){
8
+ var self=this;
9
+ smalltalk.send(self['@subscriptions'], "_do_", [(function(each){return smalltalk.send(each, "_deliver_", [anAnnouncement]);})]);
10
+ return self;}
11
+ }),
12
+ smalltalk.Announcer);
13
+
14
+ smalltalk.addMethod(
15
+ unescape('_initialize'),
16
+ smalltalk.method({
17
+ selector: unescape('initialize'),
18
+ fn: function (){
19
+ var self=this;
20
+ smalltalk.send(self, "_initialize", [], smalltalk.Object);
21
+ (self['@subscriptions']=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection), "_new", []));
22
+ return self;}
23
+ }),
24
+ smalltalk.Announcer);
25
+
26
+ smalltalk.addMethod(
27
+ unescape('_on_do_'),
28
+ smalltalk.method({
29
+ selector: unescape('on%3Ado%3A'),
30
+ fn: function (aClass, aBlock){
31
+ var self=this;
32
+ smalltalk.send(self['@subscriptions'], "_add_", [(function($rec){smalltalk.send($rec, "_block_", [aBlock]);smalltalk.send($rec, "_announcementClass_", [aClass]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.AnnouncementSubscription || AnnouncementSubscription), "_new", []))]);
33
+ return self;}
34
+ }),
35
+ smalltalk.Announcer);
36
+
37
+
38
+
39
+ smalltalk.addClass('AnnouncementSubscription', smalltalk.Object, ['block', 'announcementClass'], 'Kernel-Announcements');
40
+ smalltalk.addMethod(
41
+ unescape('_announcementClass'),
42
+ smalltalk.method({
43
+ selector: unescape('announcementClass'),
44
+ fn: function (){
45
+ var self=this;
46
+ return self['@announcementClass'];
47
+ return self;}
48
+ }),
49
+ smalltalk.AnnouncementSubscription);
50
+
51
+ smalltalk.addMethod(
52
+ unescape('_announcementClass_'),
53
+ smalltalk.method({
54
+ selector: unescape('announcementClass%3A'),
55
+ fn: function (aClass){
56
+ var self=this;
57
+ (self['@announcementClass']=aClass);
58
+ return self;}
59
+ }),
60
+ smalltalk.AnnouncementSubscription);
61
+
62
+ smalltalk.addMethod(
63
+ unescape('_block'),
64
+ smalltalk.method({
65
+ selector: unescape('block'),
66
+ fn: function (){
67
+ var self=this;
68
+ return self['@block'];
69
+ return self;}
70
+ }),
71
+ smalltalk.AnnouncementSubscription);
72
+
73
+ smalltalk.addMethod(
74
+ unescape('_block_'),
75
+ smalltalk.method({
76
+ selector: unescape('block%3A'),
77
+ fn: function (aBlock){
78
+ var self=this;
79
+ (self['@block']=aBlock);
80
+ return self;}
81
+ }),
82
+ smalltalk.AnnouncementSubscription);
83
+
84
+ smalltalk.addMethod(
85
+ unescape('_deliver_'),
86
+ smalltalk.method({
87
+ selector: unescape('deliver%3A'),
88
+ fn: function (anAnnouncement){
89
+ var self=this;
90
+ ((($receiver = smalltalk.send(self, "_handlesAnnouncement_", [anAnnouncement])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(smalltalk.send(self, "_block", []), "_value_", [anAnnouncement]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(smalltalk.send(self, "_block", []), "_value_", [anAnnouncement]);})]));
91
+ return self;}
92
+ }),
93
+ smalltalk.AnnouncementSubscription);
94
+
95
+ smalltalk.addMethod(
96
+ unescape('_handlesAnnouncement_'),
97
+ smalltalk.method({
98
+ selector: unescape('handlesAnnouncement%3A'),
99
+ fn: function (anAnnouncement){
100
+ var self=this;
101
+ return smalltalk.send(anAnnouncement, "_isKindOf_", [smalltalk.send(self, "_announcementClass", [])]);
102
+ return self;}
103
+ }),
104
+ smalltalk.AnnouncementSubscription);
105
+
106
+
107
+
@@ -0,0 +1,152 @@
1
+ smalltalk.addPackage('Kernel-Announcements', {});
2
+ smalltalk.addClass('Announcer', smalltalk.Object, ['registry', 'subscriptions'], 'Kernel-Announcements');
3
+ smalltalk.addMethod(
4
+ unescape('_announce_'),
5
+ smalltalk.method({
6
+ selector: unescape('announce%3A'),
7
+ category: 'announcing',
8
+ fn: function (anAnnouncement){
9
+ var self=this;
10
+ smalltalk.send(self['@subscriptions'], "_do_", [(function(each){return smalltalk.send(each, "_deliver_", [anAnnouncement]);})]);
11
+ return self;},
12
+ args: ["anAnnouncement"],
13
+ source: unescape('announce%3A%20anAnnouncement%0A%09subscriptions%20do%3A%20%5B%3Aeach%20%7C%0A%09%09each%20deliver%3A%20anAnnouncement%5D'),
14
+ messageSends: ["do:", "deliver:"],
15
+ referencedClasses: []
16
+ }),
17
+ smalltalk.Announcer);
18
+
19
+ smalltalk.addMethod(
20
+ unescape('_initialize'),
21
+ smalltalk.method({
22
+ selector: unescape('initialize'),
23
+ category: 'initialization',
24
+ fn: function (){
25
+ var self=this;
26
+ smalltalk.send(self, "_initialize", [], smalltalk.Object);
27
+ (self['@subscriptions']=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection), "_new", []));
28
+ return self;},
29
+ args: [],
30
+ source: unescape('initialize%0A%09super%20initialize.%0A%09subscriptions%20%3A%3D%20OrderedCollection%20new'),
31
+ messageSends: ["initialize", "new"],
32
+ referencedClasses: ["OrderedCollection"]
33
+ }),
34
+ smalltalk.Announcer);
35
+
36
+ smalltalk.addMethod(
37
+ unescape('_on_do_'),
38
+ smalltalk.method({
39
+ selector: unescape('on%3Ado%3A'),
40
+ category: 'subscribing',
41
+ fn: function (aClass, aBlock){
42
+ var self=this;
43
+ smalltalk.send(self['@subscriptions'], "_add_", [(function($rec){smalltalk.send($rec, "_block_", [aBlock]);smalltalk.send($rec, "_announcementClass_", [aClass]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.AnnouncementSubscription || AnnouncementSubscription), "_new", []))]);
44
+ return self;},
45
+ args: ["aClass", "aBlock"],
46
+ source: unescape('on%3A%20aClass%20do%3A%20aBlock%0A%09subscriptions%20add%3A%20%28AnnouncementSubscription%20new%0A%09%09block%3A%20aBlock%3B%0A%09%09announcementClass%3A%20aClass%3B%0A%09%09yourself%29'),
47
+ messageSends: ["add:", "block:", "announcementClass:", "yourself", "new"],
48
+ referencedClasses: ["AnnouncementSubscription"]
49
+ }),
50
+ smalltalk.Announcer);
51
+
52
+
53
+
54
+ smalltalk.addClass('AnnouncementSubscription', smalltalk.Object, ['block', 'announcementClass'], 'Kernel-Announcements');
55
+ smalltalk.addMethod(
56
+ unescape('_announcementClass'),
57
+ smalltalk.method({
58
+ selector: unescape('announcementClass'),
59
+ category: 'accessing',
60
+ fn: function (){
61
+ var self=this;
62
+ return self['@announcementClass'];
63
+ return self;},
64
+ args: [],
65
+ source: unescape('announcementClass%0A%09%5EannouncementClass'),
66
+ messageSends: [],
67
+ referencedClasses: []
68
+ }),
69
+ smalltalk.AnnouncementSubscription);
70
+
71
+ smalltalk.addMethod(
72
+ unescape('_announcementClass_'),
73
+ smalltalk.method({
74
+ selector: unescape('announcementClass%3A'),
75
+ category: 'accessing',
76
+ fn: function (aClass){
77
+ var self=this;
78
+ (self['@announcementClass']=aClass);
79
+ return self;},
80
+ args: ["aClass"],
81
+ source: unescape('announcementClass%3A%20aClass%0A%09announcementClass%20%3A%3D%20aClass'),
82
+ messageSends: [],
83
+ referencedClasses: []
84
+ }),
85
+ smalltalk.AnnouncementSubscription);
86
+
87
+ smalltalk.addMethod(
88
+ unescape('_block'),
89
+ smalltalk.method({
90
+ selector: unescape('block'),
91
+ category: 'accessing',
92
+ fn: function (){
93
+ var self=this;
94
+ return self['@block'];
95
+ return self;},
96
+ args: [],
97
+ source: unescape('block%0A%09%5Eblock'),
98
+ messageSends: [],
99
+ referencedClasses: []
100
+ }),
101
+ smalltalk.AnnouncementSubscription);
102
+
103
+ smalltalk.addMethod(
104
+ unescape('_block_'),
105
+ smalltalk.method({
106
+ selector: unescape('block%3A'),
107
+ category: 'accessing',
108
+ fn: function (aBlock){
109
+ var self=this;
110
+ (self['@block']=aBlock);
111
+ return self;},
112
+ args: ["aBlock"],
113
+ source: unescape('block%3A%20aBlock%0A%09block%20%3A%3D%20aBlock'),
114
+ messageSends: [],
115
+ referencedClasses: []
116
+ }),
117
+ smalltalk.AnnouncementSubscription);
118
+
119
+ smalltalk.addMethod(
120
+ unescape('_deliver_'),
121
+ smalltalk.method({
122
+ selector: unescape('deliver%3A'),
123
+ category: 'announcing',
124
+ fn: function (anAnnouncement){
125
+ var self=this;
126
+ ((($receiver = smalltalk.send(self, "_handlesAnnouncement_", [anAnnouncement])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(smalltalk.send(self, "_block", []), "_value_", [anAnnouncement]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(smalltalk.send(self, "_block", []), "_value_", [anAnnouncement]);})]));
127
+ return self;},
128
+ args: ["anAnnouncement"],
129
+ source: unescape('deliver%3A%20anAnnouncement%0A%09%28self%20handlesAnnouncement%3A%20anAnnouncement%29%0A%09%09ifTrue%3A%20%5Bself%20block%20value%3A%20anAnnouncement%5D'),
130
+ messageSends: ["ifTrue:", "handlesAnnouncement:", "value:", "block"],
131
+ referencedClasses: []
132
+ }),
133
+ smalltalk.AnnouncementSubscription);
134
+
135
+ smalltalk.addMethod(
136
+ unescape('_handlesAnnouncement_'),
137
+ smalltalk.method({
138
+ selector: unescape('handlesAnnouncement%3A'),
139
+ category: 'announcing',
140
+ fn: function (anAnnouncement){
141
+ var self=this;
142
+ return smalltalk.send(anAnnouncement, "_isKindOf_", [smalltalk.send(self, "_announcementClass", [])]);
143
+ return self;},
144
+ args: ["anAnnouncement"],
145
+ source: unescape('handlesAnnouncement%3A%20anAnnouncement%0A%09%5EanAnnouncement%20isKindOf%3A%20self%20announcementClass'),
146
+ messageSends: ["isKindOf:", "announcementClass"],
147
+ referencedClasses: []
148
+ }),
149
+ smalltalk.AnnouncementSubscription);
150
+
151
+
152
+
@@ -0,0 +1,675 @@
1
+ smalltalk.addPackage('Kernel-Classes', {});
2
+ smalltalk.addClass('Behavior', smalltalk.Object, [], 'Kernel-Classes');
3
+ smalltalk.addMethod(
4
+ unescape('_new'),
5
+ smalltalk.method({
6
+ selector: unescape('new'),
7
+ fn: function (){
8
+ var self=this;
9
+ return smalltalk.send(smalltalk.send(self, "_basicNew", []), "_initialize", []);
10
+ return self;}
11
+ }),
12
+ smalltalk.Behavior);
13
+
14
+ smalltalk.addMethod(
15
+ unescape('_basicNew'),
16
+ smalltalk.method({
17
+ selector: unescape('basicNew'),
18
+ fn: function (){
19
+ var self=this;
20
+ return new self.fn();
21
+ return self;}
22
+ }),
23
+ smalltalk.Behavior);
24
+
25
+ smalltalk.addMethod(
26
+ unescape('_name'),
27
+ smalltalk.method({
28
+ selector: unescape('name'),
29
+ fn: function (){
30
+ var self=this;
31
+ return self.className || nil;
32
+ return self;}
33
+ }),
34
+ smalltalk.Behavior);
35
+
36
+ smalltalk.addMethod(
37
+ unescape('_superclass'),
38
+ smalltalk.method({
39
+ selector: unescape('superclass'),
40
+ fn: function (){
41
+ var self=this;
42
+ return self.superclass || nil;
43
+ return self;}
44
+ }),
45
+ smalltalk.Behavior);
46
+
47
+ smalltalk.addMethod(
48
+ unescape('_subclasses'),
49
+ smalltalk.method({
50
+ selector: unescape('subclasses'),
51
+ fn: function (){
52
+ var self=this;
53
+ return smalltalk.subclasses(self);
54
+ return self;}
55
+ }),
56
+ smalltalk.Behavior);
57
+
58
+ smalltalk.addMethod(
59
+ unescape('_allSubclasses'),
60
+ smalltalk.method({
61
+ selector: unescape('allSubclasses'),
62
+ fn: function (){
63
+ var self=this;
64
+ var result=nil;
65
+ (result=smalltalk.send(self, "_subclasses", []));
66
+ smalltalk.send(smalltalk.send(self, "_subclasses", []), "_do_", [(function(each){return smalltalk.send(result, "_addAll_", [smalltalk.send(each, "_allSubclasses", [])]);})]);
67
+ return result;
68
+ return self;}
69
+ }),
70
+ smalltalk.Behavior);
71
+
72
+ smalltalk.addMethod(
73
+ unescape('_withAllSubclasses'),
74
+ smalltalk.method({
75
+ selector: unescape('withAllSubclasses'),
76
+ fn: function (){
77
+ var self=this;
78
+ return (function($rec){smalltalk.send($rec, "_addAll_", [smalltalk.send(self, "_allSubclasses", [])]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.Array || Array), "_with_", [self]));
79
+ return self;}
80
+ }),
81
+ smalltalk.Behavior);
82
+
83
+ smalltalk.addMethod(
84
+ unescape('_prototype'),
85
+ smalltalk.method({
86
+ selector: unescape('prototype'),
87
+ fn: function (){
88
+ var self=this;
89
+ return self.fn.prototype;
90
+ return self;}
91
+ }),
92
+ smalltalk.Behavior);
93
+
94
+ smalltalk.addMethod(
95
+ unescape('_methodDictionary'),
96
+ smalltalk.method({
97
+ selector: unescape('methodDictionary'),
98
+ fn: function (){
99
+ var self=this;
100
+ var dict = smalltalk.HashedCollection._new();
101
+ var methods = self.fn.prototype.methods;
102
+ for(var i in methods) {
103
+ if(methods[i].selector) {
104
+ dict._at_put_(methods[i].selector, methods[i]);
105
+ }
106
+ };
107
+ return dict;
108
+ return self;}
109
+ }),
110
+ smalltalk.Behavior);
111
+
112
+ smalltalk.addMethod(
113
+ unescape('_methodsFor_'),
114
+ smalltalk.method({
115
+ selector: unescape('methodsFor%3A'),
116
+ fn: function (aString){
117
+ var self=this;
118
+ return (function($rec){smalltalk.send($rec, "_class_category_", [self, aString]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.ClassCategoryReader || ClassCategoryReader), "_new", []));
119
+ return self;}
120
+ }),
121
+ smalltalk.Behavior);
122
+
123
+ smalltalk.addMethod(
124
+ unescape('_addCompiledMethod_'),
125
+ smalltalk.method({
126
+ selector: unescape('addCompiledMethod%3A'),
127
+ fn: function (aMethod){
128
+ var self=this;
129
+ smalltalk.addMethod(aMethod.selector._asSelector(), aMethod, self);
130
+ return self;}
131
+ }),
132
+ smalltalk.Behavior);
133
+
134
+ smalltalk.addMethod(
135
+ unescape('_instanceVariableNames'),
136
+ smalltalk.method({
137
+ selector: unescape('instanceVariableNames'),
138
+ fn: function (){
139
+ var self=this;
140
+ return self.iVarNames;
141
+ return self;}
142
+ }),
143
+ smalltalk.Behavior);
144
+
145
+ smalltalk.addMethod(
146
+ unescape('_comment'),
147
+ smalltalk.method({
148
+ selector: unescape('comment'),
149
+ fn: function (){
150
+ var self=this;
151
+ return (($receiver = smalltalk.send(self, "_basicAt_", ["comment"])) == nil || $receiver == undefined) ? (function(){return "";})() : $receiver;
152
+ return self;}
153
+ }),
154
+ smalltalk.Behavior);
155
+
156
+ smalltalk.addMethod(
157
+ unescape('_comment_'),
158
+ smalltalk.method({
159
+ selector: unescape('comment%3A'),
160
+ fn: function (aString){
161
+ var self=this;
162
+ smalltalk.send(self, "_basicAt_put_", ["comment", aString]);
163
+ return self;}
164
+ }),
165
+ smalltalk.Behavior);
166
+
167
+ smalltalk.addMethod(
168
+ unescape('_commentStamp'),
169
+ smalltalk.method({
170
+ selector: unescape('commentStamp'),
171
+ fn: function (){
172
+ var self=this;
173
+ return (function($rec){smalltalk.send($rec, "_class_", [self]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send((smalltalk.ClassCommentReader || ClassCommentReader), "_new", []));
174
+ return self;}
175
+ }),
176
+ smalltalk.Behavior);
177
+
178
+ smalltalk.addMethod(
179
+ unescape('_removeCompiledMethod_'),
180
+ smalltalk.method({
181
+ selector: unescape('removeCompiledMethod%3A'),
182
+ fn: function (aMethod){
183
+ var self=this;
184
+ delete self.fn.prototype[aMethod.selector._asSelector()];
185
+ delete self.fn.prototype.methods[aMethod.selector];
186
+ smalltalk.init(self);;
187
+ return self;}
188
+ }),
189
+ smalltalk.Behavior);
190
+
191
+ smalltalk.addMethod(
192
+ unescape('_inheritsFrom_'),
193
+ smalltalk.method({
194
+ selector: unescape('inheritsFrom%3A'),
195
+ fn: function (aClass){
196
+ var self=this;
197
+ return smalltalk.send(smalltalk.send(aClass, "_allSubclasses", []), "_includes_", [self]);
198
+ return self;}
199
+ }),
200
+ smalltalk.Behavior);
201
+
202
+ smalltalk.addMethod(
203
+ unescape('_protocols'),
204
+ smalltalk.method({
205
+ selector: unescape('protocols'),
206
+ fn: function (){
207
+ var self=this;
208
+ var protocols=nil;
209
+ (protocols=smalltalk.send((smalltalk.Array || Array), "_new", []));
210
+ 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", [])]);})]));})]);
211
+ return smalltalk.send(protocols, "_sort", []);
212
+ return self;}
213
+ }),
214
+ smalltalk.Behavior);
215
+
216
+ smalltalk.addMethod(
217
+ unescape('_protocolsDo_'),
218
+ smalltalk.method({
219
+ selector: unescape('protocolsDo%3A'),
220
+ fn: function (aBlock){
221
+ var self=this;
222
+ var methodsByCategory=nil;
223
+ (methodsByCategory=smalltalk.send((smalltalk.HashedCollection || HashedCollection), "_new", []));
224
+ 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]);})]);
225
+ smalltalk.send(smalltalk.send(self, "_protocols", []), "_do_", [(function(category){return smalltalk.send(aBlock, "_value_value_", [category, smalltalk.send(methodsByCategory, "_at_", [category])]);})]);
226
+ return self;}
227
+ }),
228
+ smalltalk.Behavior);
229
+
230
+ smalltalk.addMethod(
231
+ unescape('_allInstanceVariableNames'),
232
+ smalltalk.method({
233
+ selector: unescape('allInstanceVariableNames'),
234
+ fn: function (){
235
+ var self=this;
236
+ var result=nil;
237
+ (result=smalltalk.send(smalltalk.send(self, "_instanceVariableNames", []), "_copy", []));
238
+ (($receiver = smalltalk.send(self, "_superclass", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(result, "_addAll_", [smalltalk.send(smalltalk.send(self, "_superclass", []), "_allInstanceVariableNames", [])]);})() : nil;
239
+ return result;
240
+ return self;}
241
+ }),
242
+ smalltalk.Behavior);
243
+
244
+ smalltalk.addMethod(
245
+ unescape('_methodAt_'),
246
+ smalltalk.method({
247
+ selector: unescape('methodAt%3A'),
248
+ fn: function (aString){
249
+ var self=this;
250
+ return smalltalk.methods(self)[aString];
251
+ return self;}
252
+ }),
253
+ smalltalk.Behavior);
254
+
255
+ smalltalk.addMethod(
256
+ unescape('_methodsFor_stamp_'),
257
+ smalltalk.method({
258
+ selector: unescape('methodsFor%3Astamp%3A'),
259
+ fn: function (aString, aStamp){
260
+ var self=this;
261
+ return smalltalk.send(self, "_methodsFor_", [aString]);
262
+ return self;}
263
+ }),
264
+ smalltalk.Behavior);
265
+
266
+ smalltalk.addMethod(
267
+ unescape('_commentStamp_prior_'),
268
+ smalltalk.method({
269
+ selector: unescape('commentStamp%3Aprior%3A'),
270
+ fn: function (aStamp, prior){
271
+ var self=this;
272
+ return smalltalk.send(self, "_commentStamp", []);
273
+ return self;}
274
+ }),
275
+ smalltalk.Behavior);
276
+
277
+ smalltalk.addMethod(
278
+ unescape('_compile_'),
279
+ smalltalk.method({
280
+ selector: unescape('compile%3A'),
281
+ fn: function (aString){
282
+ var self=this;
283
+ smalltalk.send(self, "_compile_category_", [aString, ""]);
284
+ return self;}
285
+ }),
286
+ smalltalk.Behavior);
287
+
288
+ smalltalk.addMethod(
289
+ unescape('_compile_category_'),
290
+ smalltalk.method({
291
+ selector: unescape('compile%3Acategory%3A'),
292
+ fn: function (aString, anotherString){
293
+ var self=this;
294
+ var method=nil;
295
+ (method=smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [aString, self]));
296
+ smalltalk.send(method, "_category_", [anotherString]);
297
+ smalltalk.send(self, "_addCompiledMethod_", [method]);
298
+ return self;}
299
+ }),
300
+ smalltalk.Behavior);
301
+
302
+
303
+
304
+ smalltalk.addClass('Class', smalltalk.Behavior, [], 'Kernel-Classes');
305
+ smalltalk.addMethod(
306
+ unescape('_category'),
307
+ smalltalk.method({
308
+ selector: unescape('category'),
309
+ fn: function (){
310
+ var self=this;
311
+ return (($receiver = smalltalk.send(self, "_package", [])) == nil || $receiver == undefined) ? (function(){return "Unclassified";})() : (function(){return smalltalk.send(smalltalk.send(self, "_package", []), "_name", []);})();
312
+ return self;}
313
+ }),
314
+ smalltalk.Class);
315
+
316
+ smalltalk.addMethod(
317
+ unescape('_subclass_instanceVariableNames_'),
318
+ smalltalk.method({
319
+ selector: unescape('subclass%3AinstanceVariableNames%3A'),
320
+ fn: function (aString, anotherString){
321
+ var self=this;
322
+ return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, anotherString, nil]);
323
+ return self;}
324
+ }),
325
+ smalltalk.Class);
326
+
327
+ smalltalk.addMethod(
328
+ unescape('_subclass_instanceVariableNames_category_'),
329
+ smalltalk.method({
330
+ selector: unescape('subclass%3AinstanceVariableNames%3Acategory%3A'),
331
+ fn: function (aString, aString2, aString3){
332
+ var self=this;
333
+ smalltalk.send(self, "_deprecatedAPI", []);
334
+ return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
335
+ return self;}
336
+ }),
337
+ smalltalk.Class);
338
+
339
+ smalltalk.addMethod(
340
+ unescape('_isClass'),
341
+ smalltalk.method({
342
+ selector: unescape('isClass'),
343
+ fn: function (){
344
+ var self=this;
345
+ return true;
346
+ return self;}
347
+ }),
348
+ smalltalk.Class);
349
+
350
+ smalltalk.addMethod(
351
+ unescape('_printString'),
352
+ smalltalk.method({
353
+ selector: unescape('printString'),
354
+ fn: function (){
355
+ var self=this;
356
+ return smalltalk.send(self, "_name", []);
357
+ return self;}
358
+ }),
359
+ smalltalk.Class);
360
+
361
+ smalltalk.addMethod(
362
+ unescape('_rename_'),
363
+ smalltalk.method({
364
+ selector: unescape('rename%3A'),
365
+ fn: function (aString){
366
+ var self=this;
367
+
368
+ smalltalk[aString] = self;
369
+ delete smalltalk[self.className];
370
+ self.className = aString;
371
+ ;
372
+ return self;}
373
+ }),
374
+ smalltalk.Class);
375
+
376
+ smalltalk.addMethod(
377
+ unescape('_subclass_instanceVariableNames_classVariableNames_poolDictionaries_category_'),
378
+ smalltalk.method({
379
+ selector: unescape('subclass%3AinstanceVariableNames%3AclassVariableNames%3ApoolDictionaries%3Acategory%3A'),
380
+ fn: function (aString, aString2, classVars, pools, aString3){
381
+ var self=this;
382
+ return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
383
+ return self;}
384
+ }),
385
+ smalltalk.Class);
386
+
387
+ smalltalk.addMethod(
388
+ unescape('_package'),
389
+ smalltalk.method({
390
+ selector: unescape('package'),
391
+ fn: function (){
392
+ var self=this;
393
+ return self.pkg;
394
+ return self;}
395
+ }),
396
+ smalltalk.Class);
397
+
398
+ smalltalk.addMethod(
399
+ unescape('_package_'),
400
+ smalltalk.method({
401
+ selector: unescape('package%3A'),
402
+ fn: function (aPackage){
403
+ var self=this;
404
+ self.pkg = aPackage;
405
+ return self;}
406
+ }),
407
+ smalltalk.Class);
408
+
409
+ smalltalk.addMethod(
410
+ unescape('_subclass_instanceVariableNames_package_'),
411
+ smalltalk.method({
412
+ selector: unescape('subclass%3AinstanceVariableNames%3Apackage%3A'),
413
+ fn: function (aString, aString2, aString3){
414
+ var self=this;
415
+ return smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_superclass_subclass_instanceVariableNames_package_", [self, smalltalk.send(aString, "_asString", []), aString2, aString3]);
416
+ return self;}
417
+ }),
418
+ smalltalk.Class);
419
+
420
+
421
+
422
+ smalltalk.addClass('Metaclass', smalltalk.Behavior, [], 'Kernel-Classes');
423
+ smalltalk.addMethod(
424
+ unescape('_instanceClass'),
425
+ smalltalk.method({
426
+ selector: unescape('instanceClass'),
427
+ fn: function (){
428
+ var self=this;
429
+ return self.instanceClass;
430
+ return self;}
431
+ }),
432
+ smalltalk.Metaclass);
433
+
434
+ smalltalk.addMethod(
435
+ unescape('_instanceVariableNames_'),
436
+ smalltalk.method({
437
+ selector: unescape('instanceVariableNames%3A'),
438
+ fn: function (aCollection){
439
+ var self=this;
440
+ smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_class_instanceVariableNames_", [self, aCollection]);
441
+ return self;}
442
+ }),
443
+ smalltalk.Metaclass);
444
+
445
+ smalltalk.addMethod(
446
+ unescape('_isMetaclass'),
447
+ smalltalk.method({
448
+ selector: unescape('isMetaclass'),
449
+ fn: function (){
450
+ var self=this;
451
+ return true;
452
+ return self;}
453
+ }),
454
+ smalltalk.Metaclass);
455
+
456
+ smalltalk.addMethod(
457
+ unescape('_printString'),
458
+ smalltalk.method({
459
+ selector: unescape('printString'),
460
+ fn: function (){
461
+ var self=this;
462
+ return smalltalk.send(smalltalk.send(smalltalk.send(self, "_instanceClass", []), "_name", []), "__comma", [" class"]);
463
+ return self;}
464
+ }),
465
+ smalltalk.Metaclass);
466
+
467
+
468
+
469
+ smalltalk.addClass('ClassBuilder', smalltalk.Object, [], 'Kernel-Classes');
470
+ smalltalk.addMethod(
471
+ unescape('_superclass_subclass_'),
472
+ smalltalk.method({
473
+ selector: unescape('superclass%3Asubclass%3A'),
474
+ fn: function (aClass, aString){
475
+ var self=this;
476
+ return smalltalk.send(self, "_superclass_subclass_instanceVariableNames_package_", [aClass, aString, "", nil]);
477
+ return self;}
478
+ }),
479
+ smalltalk.ClassBuilder);
480
+
481
+ smalltalk.addMethod(
482
+ unescape('_class_instanceVariableNames_'),
483
+ smalltalk.method({
484
+ selector: unescape('class%3AinstanceVariableNames%3A'),
485
+ fn: function (aClass, aString){
486
+ var self=this;
487
+ ((($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"])]);})]));
488
+ smalltalk.send(aClass, "_basicAt_put_", ["iVarNames", smalltalk.send(self, "_instanceVariableNamesFor_", [aString])]);
489
+ smalltalk.send(self, "_setupClass_", [aClass]);
490
+ return self;}
491
+ }),
492
+ smalltalk.ClassBuilder);
493
+
494
+ smalltalk.addMethod(
495
+ unescape('_instanceVariableNamesFor_'),
496
+ smalltalk.method({
497
+ selector: unescape('instanceVariableNamesFor%3A'),
498
+ fn: function (aString){
499
+ var self=this;
500
+ return smalltalk.send(smalltalk.send(aString, "_tokenize_", [" "]), "_reject_", [(function(each){return smalltalk.send(each, "_isEmpty", []);})]);
501
+ return self;}
502
+ }),
503
+ smalltalk.ClassBuilder);
504
+
505
+ smalltalk.addMethod(
506
+ unescape('_addSubclassOf_named_instanceVariableNames_'),
507
+ smalltalk.method({
508
+ selector: unescape('addSubclassOf%3Anamed%3AinstanceVariableNames%3A'),
509
+ fn: function (aClass, aString, aCollection){
510
+ var self=this;
511
+ smalltalk.addClass(aString, aClass, aCollection);
512
+ return smalltalk[aString];
513
+ return self;}
514
+ }),
515
+ smalltalk.ClassBuilder);
516
+
517
+ smalltalk.addMethod(
518
+ unescape('_setupClass_'),
519
+ smalltalk.method({
520
+ selector: unescape('setupClass%3A'),
521
+ fn: function (aClass){
522
+ var self=this;
523
+ smalltalk.init(aClass);;
524
+ return self;}
525
+ }),
526
+ smalltalk.ClassBuilder);
527
+
528
+ smalltalk.addMethod(
529
+ unescape('_superclass_subclass_instanceVariableNames_package_'),
530
+ smalltalk.method({
531
+ selector: unescape('superclass%3Asubclass%3AinstanceVariableNames%3Apackage%3A'),
532
+ fn: function (aClass, aString, aString2, aString3){
533
+ var self=this;
534
+ var newClass=nil;
535
+ (newClass=smalltalk.send(self, "_addSubclassOf_named_instanceVariableNames_package_", [aClass, aString, smalltalk.send(self, "_instanceVariableNamesFor_", [aString2]), (($receiver = aString3) == nil || $receiver == undefined) ? (function(){return "unclassified";})() : $receiver]));
536
+ smalltalk.send(self, "_setupClass_", [newClass]);
537
+ return newClass;
538
+ return self;}
539
+ }),
540
+ smalltalk.ClassBuilder);
541
+
542
+ smalltalk.addMethod(
543
+ unescape('_addSubclassOf_named_instanceVariableNames_package_'),
544
+ smalltalk.method({
545
+ selector: unescape('addSubclassOf%3Anamed%3AinstanceVariableNames%3Apackage%3A'),
546
+ fn: function (aClass, aString, aCollection, packageName){
547
+ var self=this;
548
+ smalltalk.addClass(aString, aClass, aCollection, packageName);
549
+ return smalltalk[aString];
550
+ return self;}
551
+ }),
552
+ smalltalk.ClassBuilder);
553
+
554
+ smalltalk.addMethod(
555
+ unescape('_copyClass_named_'),
556
+ smalltalk.method({
557
+ selector: unescape('copyClass%3Anamed%3A'),
558
+ fn: function (aClass, aString){
559
+ var self=this;
560
+ var newClass=nil;
561
+ (newClass=smalltalk.send(self, "_addSubclassOf_named_instanceVariableNames_package_", [smalltalk.send(aClass, "_superclass", []), aString, smalltalk.send(aClass, "_instanceVariableNames", []), smalltalk.send(smalltalk.send(aClass, "_package", []), "_name", [])]));
562
+ smalltalk.send(self, "_setupClass_", [newClass]);
563
+ 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", [])]);})]);
564
+ 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", [])]);})]);
565
+ smalltalk.send(self, "_setupClass_", [newClass]);
566
+ return newClass;
567
+ return self;}
568
+ }),
569
+ smalltalk.ClassBuilder);
570
+
571
+
572
+
573
+ smalltalk.addClass('ClassCategoryReader', smalltalk.Object, ['class', 'category', 'chunkParser'], 'Kernel-Classes');
574
+ smalltalk.addMethod(
575
+ unescape('_initialize'),
576
+ smalltalk.method({
577
+ selector: unescape('initialize'),
578
+ fn: function (){
579
+ var self=this;
580
+ smalltalk.send(self, "_initialize", [], smalltalk.Object);
581
+ (self['@chunkParser']=smalltalk.send((smalltalk.ChunkParser || ChunkParser), "_new", []));
582
+ return self;}
583
+ }),
584
+ smalltalk.ClassCategoryReader);
585
+
586
+ smalltalk.addMethod(
587
+ unescape('_class_category_'),
588
+ smalltalk.method({
589
+ selector: unescape('class%3Acategory%3A'),
590
+ fn: function (aClass, aString){
591
+ var self=this;
592
+ (self['@class']=aClass);
593
+ (self['@category']=aString);
594
+ return self;}
595
+ }),
596
+ smalltalk.ClassCategoryReader);
597
+
598
+ smalltalk.addMethod(
599
+ unescape('_scanFrom_'),
600
+ smalltalk.method({
601
+ selector: unescape('scanFrom%3A'),
602
+ fn: function (aChunkParser){
603
+ var self=this;
604
+ var chunk=nil;
605
+ (function(){while(!(function(){(chunk=smalltalk.send(aChunkParser, "_nextChunk", []));return smalltalk.send(chunk, "_isEmpty", []);})()) {(function(){return smalltalk.send(self, "_compileMethod_", [chunk]);})()}})();
606
+ return self;}
607
+ }),
608
+ smalltalk.ClassCategoryReader);
609
+
610
+ smalltalk.addMethod(
611
+ unescape('_compileMethod_'),
612
+ smalltalk.method({
613
+ selector: unescape('compileMethod%3A'),
614
+ fn: function (aString){
615
+ var self=this;
616
+ var method=nil;
617
+ (method=smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler), "_new", []), "_load_forClass_", [aString, self['@class']]));
618
+ smalltalk.send(method, "_category_", [self['@category']]);
619
+ smalltalk.send(self['@class'], "_addCompiledMethod_", [method]);
620
+ return self;}
621
+ }),
622
+ smalltalk.ClassCategoryReader);
623
+
624
+
625
+
626
+ smalltalk.addClass('ClassCommentReader', smalltalk.Object, ['class', 'chunkParser'], 'Kernel-Classes');
627
+ smalltalk.addMethod(
628
+ unescape('_class_'),
629
+ smalltalk.method({
630
+ selector: unescape('class%3A'),
631
+ fn: function (aClass){
632
+ var self=this;
633
+ (self['@class']=aClass);
634
+ return self;}
635
+ }),
636
+ smalltalk.ClassCommentReader);
637
+
638
+ smalltalk.addMethod(
639
+ unescape('_scanFrom_'),
640
+ smalltalk.method({
641
+ selector: unescape('scanFrom%3A'),
642
+ fn: function (aChunkParser){
643
+ var self=this;
644
+ var chunk=nil;
645
+ (chunk=smalltalk.send(aChunkParser, "_nextChunk", []));
646
+ ((($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]);})]));
647
+ return self;}
648
+ }),
649
+ smalltalk.ClassCommentReader);
650
+
651
+ smalltalk.addMethod(
652
+ unescape('_initialize'),
653
+ smalltalk.method({
654
+ selector: unescape('initialize'),
655
+ fn: function (){
656
+ var self=this;
657
+ smalltalk.send(self, "_initialize", [], smalltalk.Object);
658
+ (self['@chunkParser']=smalltalk.send((smalltalk.ChunkParser || ChunkParser), "_new", []));
659
+ return self;}
660
+ }),
661
+ smalltalk.ClassCommentReader);
662
+
663
+ smalltalk.addMethod(
664
+ unescape('_setComment_'),
665
+ smalltalk.method({
666
+ selector: unescape('setComment%3A'),
667
+ fn: function (aString){
668
+ var self=this;
669
+ smalltalk.send(self['@class'], "_comment_", [aString]);
670
+ return self;}
671
+ }),
672
+ smalltalk.ClassCommentReader);
673
+
674
+
675
+