resin 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +52 -0
- data/amber/css/amber.css +519 -0
- data/amber/css/documentation.css +84 -0
- data/amber/css/profstef.css +75 -0
- data/amber/css/style.css +313 -0
- data/amber/images/amber.png +0 -0
- data/amber/images/amber_small.png +0 -0
- data/amber/images/off.png +0 -0
- data/amber/images/offHover.png +0 -0
- data/amber/images/presentation.png +0 -0
- data/amber/images/profstef.png +0 -0
- data/amber/images/sprite.png +0 -0
- data/amber/images/tinylogo.png +0 -0
- data/amber/images/twitterwall.png +0 -0
- data/amber/js/Additional-Examples.deploy.js +15 -0
- data/amber/js/Additional-Examples.js +21 -0
- data/amber/js/Benchfib.deploy.js +132 -0
- data/amber/js/Benchfib.js +167 -0
- data/amber/js/Canvas.deploy.js +1304 -0
- data/amber/js/Canvas.js +1885 -0
- data/amber/js/Compiler.deploy.js +1871 -0
- data/amber/js/Compiler.js +2616 -0
- data/amber/js/Documentation.deploy.js +961 -0
- data/amber/js/Documentation.js +1376 -0
- data/amber/js/Examples.deploy.js +53 -0
- data/amber/js/Examples.js +73 -0
- data/amber/js/IDE.deploy.js +3468 -0
- data/amber/js/IDE.js +4883 -0
- data/amber/js/Kernel-Announcements.deploy.js +107 -0
- data/amber/js/Kernel-Announcements.js +152 -0
- data/amber/js/Kernel-Classes.deploy.js +675 -0
- data/amber/js/Kernel-Classes.js +956 -0
- data/amber/js/Kernel-Collections.deploy.js +3273 -0
- data/amber/js/Kernel-Collections.js +4644 -0
- data/amber/js/Kernel-Exceptions.deploy.js +244 -0
- data/amber/js/Kernel-Exceptions.js +349 -0
- data/amber/js/Kernel-Methods.deploy.js +510 -0
- data/amber/js/Kernel-Methods.js +739 -0
- data/amber/js/Kernel-Objects.deploy.js +2698 -0
- data/amber/js/Kernel-Objects.js +3858 -0
- data/amber/js/Kernel-Tests.deploy.js +1419 -0
- data/amber/js/Kernel-Tests.js +1929 -0
- data/amber/js/Kernel-Transcript.deploy.js +142 -0
- data/amber/js/Kernel-Transcript.js +202 -0
- data/amber/js/SUnit.deploy.js +351 -0
- data/amber/js/SUnit.js +501 -0
- data/amber/js/amber.js +250 -0
- data/amber/js/boot.js +587 -0
- data/amber/js/compat.js +22 -0
- data/amber/js/init.js +8 -0
- data/amber/js/lib/CodeMirror/LICENSE +19 -0
- data/amber/js/lib/CodeMirror/amber.css +21 -0
- data/amber/js/lib/CodeMirror/codemirror.css +67 -0
- data/amber/js/lib/CodeMirror/codemirror.js +2144 -0
- data/amber/js/lib/CodeMirror/smalltalk.js +134 -0
- data/amber/js/lib/jQuery/jquery-1.4.4.min.js +167 -0
- data/amber/js/lib/jQuery/jquery-1.6.4.min.js +4 -0
- data/amber/js/lib/jQuery/jquery-ui-1.8.16.custom.min.js +791 -0
- data/amber/js/lib/jQuery/jquery.textarea.js +267 -0
- data/amber/js/lib/peg-0.6.2.min.js +2 -0
- data/amber/js/lib/showdown.js +419 -0
- data/amber/js/parser.js +4005 -0
- data/amber/js/parser.pegjs +220 -0
- data/amber/st/Benchfib.st +124 -0
- data/amber/st/Canvas.st +556 -0
- data/amber/st/Compiler.st +1425 -0
- data/amber/st/Documentation.st +758 -0
- data/amber/st/Examples.st +38 -0
- data/amber/st/IDE.st +2336 -0
- data/amber/st/Kernel-Announcements.st +61 -0
- data/amber/st/Kernel-Classes.st +403 -0
- data/amber/st/Kernel-Collections.st +1673 -0
- data/amber/st/Kernel-Exceptions.st +124 -0
- data/amber/st/Kernel-Methods.st +287 -0
- data/amber/st/Kernel-Objects.st +1489 -0
- data/amber/st/Kernel-Tests.st +892 -0
- data/amber/st/Kernel-Transcript.st +70 -0
- data/amber/st/SUnit.st +172 -0
- data/bin/runresin +12 -0
- data/lib/resin.rb +0 -0
- data/lib/resin/app/app.rb +121 -0
- data/lib/resin/app/views/index.haml +10 -0
- 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
|
+
|