resin 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. data/amber/css/amber-normalize.css +73 -73
  2. data/amber/css/amber-normalize.less +1 -1
  3. data/amber/css/amber.css +106 -106
  4. data/amber/css/helios.css +242 -0
  5. data/amber/images/hsplitter.png +0 -0
  6. data/amber/images/vsplitter.png +0 -0
  7. data/amber/js/Benchfib.deploy.js +116 -38
  8. data/amber/js/Benchfib.js +120 -42
  9. data/amber/js/Canvas.deploy.js +674 -403
  10. data/amber/js/Canvas.js +682 -411
  11. data/amber/js/Compiler-AST.deploy.js +1150 -0
  12. data/amber/js/Compiler-AST.js +1591 -0
  13. data/amber/js/Compiler-Core.deploy.js +1562 -0
  14. data/amber/js/Compiler-Core.js +1972 -0
  15. data/amber/js/Compiler-Exceptions.deploy.js +114 -0
  16. data/amber/js/Compiler-Exceptions.js +161 -0
  17. data/amber/js/Compiler-IR.deploy.js +2326 -0
  18. data/amber/js/Compiler-IR.js +3146 -0
  19. data/amber/js/Compiler-Inlining.deploy.js +1147 -0
  20. data/amber/js/Compiler-Inlining.js +1514 -0
  21. data/amber/js/Compiler-Semantic.deploy.js +1207 -0
  22. data/amber/js/Compiler-Semantic.js +1628 -0
  23. data/amber/js/Compiler-Tests.deploy.js +646 -60
  24. data/amber/js/Compiler-Tests.js +843 -82
  25. data/amber/js/Compiler.deploy.js +1097 -159
  26. data/amber/js/Compiler.js +1414 -161
  27. data/amber/js/Examples.deploy.js +31 -15
  28. data/amber/js/Examples.js +33 -17
  29. data/amber/js/Helios-Announcements.deploy.js +127 -0
  30. data/amber/js/Helios-Announcements.js +157 -0
  31. data/amber/js/Helios-Browser.deploy.js +1473 -0
  32. data/amber/js/Helios-Browser.js +1953 -0
  33. data/amber/js/Helios-Commands.deploy.js +403 -0
  34. data/amber/js/Helios-Commands.js +563 -0
  35. data/amber/js/Helios-Core.deploy.js +1070 -0
  36. data/amber/js/Helios-Core.js +1445 -0
  37. data/amber/js/Helios-Environments.deploy.js +132 -0
  38. data/amber/js/Helios-Environments.js +179 -0
  39. data/amber/js/Helios-Inspector.deploy.js +855 -0
  40. data/amber/js/Helios-Inspector.js +1155 -0
  41. data/amber/js/Helios-KeyBindings.deploy.js +753 -0
  42. data/amber/js/Helios-KeyBindings.js +1023 -0
  43. data/amber/js/Helios-Layout.deploy.js +383 -0
  44. data/amber/js/Helios-Layout.js +523 -0
  45. data/amber/js/Helios-Workspace.deploy.js +799 -0
  46. data/amber/js/Helios-Workspace.js +1074 -0
  47. data/amber/js/IDE.deploy.js +2541 -1490
  48. data/amber/js/IDE.js +2721 -1660
  49. data/amber/js/Importer-Exporter.deploy.js +671 -0
  50. data/amber/js/Importer-Exporter.js +816 -0
  51. data/amber/js/Kernel-Announcements.deploy.js +137 -20
  52. data/amber/js/Kernel-Announcements.js +176 -22
  53. data/amber/js/Kernel-Classes.deploy.js +555 -168
  54. data/amber/js/Kernel-Classes.js +662 -205
  55. data/amber/js/Kernel-Collections.deploy.js +1403 -618
  56. data/amber/js/Kernel-Collections.js +1545 -690
  57. data/amber/js/Kernel-Exceptions.deploy.js +109 -45
  58. data/amber/js/Kernel-Exceptions.js +123 -49
  59. data/amber/js/Kernel-Methods.deploy.js +196 -81
  60. data/amber/js/Kernel-Methods.js +214 -89
  61. data/amber/js/Kernel-Objects.deploy.js +1542 -1117
  62. data/amber/js/Kernel-Objects.js +1593 -1148
  63. data/amber/js/Kernel-Tests.deploy.js +1725 -772
  64. data/amber/js/Kernel-Tests.js +2301 -1123
  65. data/amber/js/Kernel-Transcript.deploy.js +23 -25
  66. data/amber/js/Kernel-Transcript.js +24 -26
  67. data/amber/js/SUnit.deploy.js +204 -131
  68. data/amber/js/SUnit.js +222 -139
  69. data/amber/js/Spaces.deploy.js +240 -0
  70. data/amber/js/Spaces.js +326 -0
  71. data/amber/js/amber.js +26 -7
  72. data/amber/js/boot.js +65 -47
  73. data/amber/js/init.js +1 -1
  74. data/amber/js/lib/CodeMirror/amber.css +21 -21
  75. data/amber/js/lib/CodeMirror/codemirror.css +119 -13
  76. data/amber/js/lib/CodeMirror/codemirror.js +2219 -1220
  77. data/amber/js/lib/CodeMirror/smalltalk.js +134 -129
  78. data/amber/js/lib/bootstrap/css/bootstrap.css +5837 -0
  79. data/amber/js/lib/bootstrap/css/bootstrap.min.css +841 -0
  80. data/amber/js/lib/bootstrap/img/glyphicons-halflings-white.png +0 -0
  81. data/amber/js/lib/bootstrap/img/glyphicons-halflings.png +0 -0
  82. data/amber/js/lib/bootstrap/js/bootstrap.js +2038 -0
  83. data/amber/js/lib/bootstrap/js/bootstrap.min.js +7 -0
  84. data/amber/js/lib/jQuery/jquery-1.8.2.min.js +2 -0
  85. data/amber/js/lib/jQuery/jquery-ui-1.8.24.custom.min.js +125 -0
  86. data/amber/st/Compiler-AST.st +505 -0
  87. data/amber/st/Compiler-Core.st +835 -0
  88. data/amber/st/Compiler-Exceptions.st +87 -0
  89. data/amber/st/Compiler-IR.st +1097 -0
  90. data/amber/st/Compiler-Inlining.st +650 -0
  91. data/amber/st/Compiler-Semantic.st +558 -0
  92. data/amber/st/Compiler-Tests.st +285 -381
  93. data/amber/st/Compiler.st +725 -2
  94. data/amber/st/Helios-Announcements.st +104 -0
  95. data/amber/st/Helios-Browser.st +708 -0
  96. data/amber/st/Helios-Commands.st +223 -0
  97. data/amber/st/Helios-Core.st +532 -0
  98. data/amber/st/Helios-Environments.st +98 -0
  99. data/amber/st/Helios-Inspector.st +367 -0
  100. data/amber/st/Helios-KeyBindings.st +337 -0
  101. data/amber/st/Helios-Layout.st +199 -0
  102. data/amber/st/Helios-Workspace.st +367 -0
  103. data/amber/st/IDE.st +75 -53
  104. data/amber/st/Importer-Exporter.st +386 -0
  105. data/amber/st/Kernel-Announcements.st +92 -0
  106. data/amber/st/Kernel-Classes.st +137 -15
  107. data/amber/st/Kernel-Collections.st +137 -47
  108. data/amber/st/Kernel-Exceptions.st +14 -0
  109. data/amber/st/Kernel-Methods.st +9 -1
  110. data/amber/st/Kernel-Objects.st +29 -5
  111. data/amber/st/Kernel-Tests.st +545 -199
  112. data/amber/st/SUnit.st +10 -0
  113. data/amber/st/Spaces.st +142 -0
  114. data/lib/resin/app.rb +1 -1
  115. metadata +86 -31
  116. data/amber/js/lib/jQuery/jquery-1.4.4.min.js +0 -167
  117. data/amber/js/lib/jQuery/jquery-1.6.4.min.js +0 -4
@@ -6,8 +6,8 @@ smalltalk.method({
6
6
  selector: "announcementClass",
7
7
  fn: function (){
8
8
  var self=this;
9
- return self['@announcementClass'];
10
- return self;}
9
+ return self["@announcementClass"];
10
+ }
11
11
  }),
12
12
  smalltalk.AnnouncementSubscription);
13
13
 
@@ -17,8 +17,8 @@ smalltalk.method({
17
17
  selector: "announcementClass:",
18
18
  fn: function (aClass){
19
19
  var self=this;
20
- (self['@announcementClass']=aClass);
21
- return self;}
20
+ self["@announcementClass"]=aClass;
21
+ return self}
22
22
  }),
23
23
  smalltalk.AnnouncementSubscription);
24
24
 
@@ -28,8 +28,8 @@ smalltalk.method({
28
28
  selector: "block",
29
29
  fn: function (){
30
30
  var self=this;
31
- return self['@block'];
32
- return self;}
31
+ return self["@block"];
32
+ }
33
33
  }),
34
34
  smalltalk.AnnouncementSubscription);
35
35
 
@@ -39,8 +39,8 @@ smalltalk.method({
39
39
  selector: "block:",
40
40
  fn: function (aBlock){
41
41
  var self=this;
42
- (self['@block']=aBlock);
43
- return self;}
42
+ self["@block"]=aBlock;
43
+ return self}
44
44
  }),
45
45
  smalltalk.AnnouncementSubscription);
46
46
 
@@ -50,8 +50,12 @@ smalltalk.method({
50
50
  selector: "deliver:",
51
51
  fn: function (anAnnouncement){
52
52
  var self=this;
53
- ((($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]);})]));
54
- return self;}
53
+ var $1;
54
+ $1=smalltalk.send(self,"_handlesAnnouncement_",[anAnnouncement]);
55
+ if(smalltalk.assert($1)){
56
+ smalltalk.send(smalltalk.send(self,"_block",[]),"_value_",[anAnnouncement]);
57
+ };
58
+ return self}
55
59
  }),
56
60
  smalltalk.AnnouncementSubscription);
57
61
 
@@ -61,8 +65,10 @@ smalltalk.method({
61
65
  selector: "handlesAnnouncement:",
62
66
  fn: function (anAnnouncement){
63
67
  var self=this;
64
- return smalltalk.send(anAnnouncement, "_isKindOf_", [smalltalk.send(self, "_announcementClass", [])]);
65
- return self;}
68
+ var $1;
69
+ $1=smalltalk.send(anAnnouncement,"_isKindOf_",[smalltalk.send(self,"_announcementClass",[])]);
70
+ return $1;
71
+ }
66
72
  }),
67
73
  smalltalk.AnnouncementSubscription);
68
74
 
@@ -75,8 +81,10 @@ smalltalk.method({
75
81
  selector: "announce:",
76
82
  fn: function (anAnnouncement){
77
83
  var self=this;
78
- smalltalk.send(self['@subscriptions'], "_do_", [(function(each){return smalltalk.send(each, "_deliver_", [anAnnouncement]);})]);
79
- return self;}
84
+ smalltalk.send(self["@subscriptions"],"_do_",[(function(each){
85
+ return smalltalk.send(each,"_deliver_",[anAnnouncement]);
86
+ })]);
87
+ return self}
80
88
  }),
81
89
  smalltalk.Announcer);
82
90
 
@@ -86,9 +94,9 @@ smalltalk.method({
86
94
  selector: "initialize",
87
95
  fn: function (){
88
96
  var self=this;
89
- smalltalk.send(self, "_initialize", [], smalltalk.Announcer.superclass || nil);
90
- (self['@subscriptions']=smalltalk.send((smalltalk.Array || Array), "_new", []));
91
- return self;}
97
+ smalltalk.send(self,"_initialize",[],smalltalk.Object);
98
+ self["@subscriptions"]=smalltalk.send((smalltalk.Array || Array),"_new",[]);
99
+ return self}
92
100
  }),
93
101
  smalltalk.Announcer);
94
102
 
@@ -96,12 +104,121 @@ smalltalk.addMethod(
96
104
  "_on_do_",
97
105
  smalltalk.method({
98
106
  selector: "on:do:",
99
- fn: function (aClass, aBlock){
107
+ fn: function (aClass,aBlock){
100
108
  var self=this;
101
- 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", []))]);
102
- return self;}
109
+ var $1,$2;
110
+ $1=smalltalk.send((smalltalk.AnnouncementSubscription || AnnouncementSubscription),"_new",[]);
111
+ smalltalk.send($1,"_block_",[aBlock]);
112
+ smalltalk.send($1,"_announcementClass_",[aClass]);
113
+ $2=smalltalk.send($1,"_yourself",[]);
114
+ smalltalk.send(self["@subscriptions"],"_add_",[$2]);
115
+ return self}
103
116
  }),
104
117
  smalltalk.Announcer);
105
118
 
106
119
 
107
120
 
121
+ smalltalk.addClass('SystemAnnouncer', smalltalk.Announcer, [], 'Kernel-Announcements');
122
+
123
+ smalltalk.SystemAnnouncer.klass.iVarNames = ['current'];
124
+ smalltalk.addMethod(
125
+ "_current",
126
+ smalltalk.method({
127
+ selector: "current",
128
+ fn: function (){
129
+ var self=this;
130
+ var $1;
131
+ if(($receiver = self["@current"]) == nil || $receiver == undefined){
132
+ self["@current"]=smalltalk.send(self,"_new",[],smalltalk.Announcer.klass);
133
+ $1=self["@current"];
134
+ } else {
135
+ $1=self["@current"];
136
+ };
137
+ return $1;
138
+ }
139
+ }),
140
+ smalltalk.SystemAnnouncer.klass);
141
+
142
+ smalltalk.addMethod(
143
+ "_new",
144
+ smalltalk.method({
145
+ selector: "new",
146
+ fn: function (){
147
+ var self=this;
148
+ smalltalk.send(self,"_shouldNotImplement",[]);
149
+ return self}
150
+ }),
151
+ smalltalk.SystemAnnouncer.klass);
152
+
153
+
154
+ smalltalk.addClass('SystemAnnouncement', smalltalk.Object, ['theClass'], 'Kernel-Announcements');
155
+ smalltalk.addMethod(
156
+ "_theClass",
157
+ smalltalk.method({
158
+ selector: "theClass",
159
+ fn: function (){
160
+ var self=this;
161
+ return self["@theClass"];
162
+ }
163
+ }),
164
+ smalltalk.SystemAnnouncement);
165
+
166
+ smalltalk.addMethod(
167
+ "_theClass_",
168
+ smalltalk.method({
169
+ selector: "theClass:",
170
+ fn: function (aClass){
171
+ var self=this;
172
+ self["@theClass"]=aClass;
173
+ return self}
174
+ }),
175
+ smalltalk.SystemAnnouncement);
176
+
177
+
178
+
179
+ smalltalk.addClass('ClassAdded', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
180
+
181
+
182
+ smalltalk.addClass('ClassCommentChanged', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
183
+
184
+
185
+ smalltalk.addClass('ClassDefinitionChanged', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
186
+
187
+
188
+ smalltalk.addClass('ClassRemoved', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
189
+
190
+
191
+ smalltalk.addClass('ClassRenamed', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
192
+
193
+
194
+ smalltalk.addClass('MethodAnnouncement', smalltalk.SystemAnnouncement, ['method'], 'Kernel-Announcements');
195
+ smalltalk.addMethod(
196
+ "_method",
197
+ smalltalk.method({
198
+ selector: "method",
199
+ fn: function (){
200
+ var self=this;
201
+ return self["@method"];
202
+ }
203
+ }),
204
+ smalltalk.MethodAnnouncement);
205
+
206
+ smalltalk.addMethod(
207
+ "_method_",
208
+ smalltalk.method({
209
+ selector: "method:",
210
+ fn: function (aCompiledMethod){
211
+ var self=this;
212
+ self["@method"]=aCompiledMethod;
213
+ return self}
214
+ }),
215
+ smalltalk.MethodAnnouncement);
216
+
217
+
218
+
219
+ smalltalk.addClass('MethodAdded', smalltalk.MethodAnnouncement, [], 'Kernel-Announcements');
220
+
221
+
222
+ smalltalk.addClass('MethodRemoved', smalltalk.MethodAnnouncement, [], 'Kernel-Announcements');
223
+
224
+
@@ -7,8 +7,8 @@ selector: "announcementClass",
7
7
  category: 'accessing',
8
8
  fn: function (){
9
9
  var self=this;
10
- return self['@announcementClass'];
11
- return self;},
10
+ return self["@announcementClass"];
11
+ },
12
12
  args: [],
13
13
  source: "announcementClass\x0a\x09^announcementClass",
14
14
  messageSends: [],
@@ -23,8 +23,8 @@ selector: "announcementClass:",
23
23
  category: 'accessing',
24
24
  fn: function (aClass){
25
25
  var self=this;
26
- (self['@announcementClass']=aClass);
27
- return self;},
26
+ self["@announcementClass"]=aClass;
27
+ return self},
28
28
  args: ["aClass"],
29
29
  source: "announcementClass: aClass\x0a\x09announcementClass := aClass",
30
30
  messageSends: [],
@@ -39,8 +39,8 @@ selector: "block",
39
39
  category: 'accessing',
40
40
  fn: function (){
41
41
  var self=this;
42
- return self['@block'];
43
- return self;},
42
+ return self["@block"];
43
+ },
44
44
  args: [],
45
45
  source: "block\x0a\x09^block",
46
46
  messageSends: [],
@@ -55,8 +55,8 @@ selector: "block:",
55
55
  category: 'accessing',
56
56
  fn: function (aBlock){
57
57
  var self=this;
58
- (self['@block']=aBlock);
59
- return self;},
58
+ self["@block"]=aBlock;
59
+ return self},
60
60
  args: ["aBlock"],
61
61
  source: "block: aBlock\x0a\x09block := aBlock",
62
62
  messageSends: [],
@@ -71,11 +71,15 @@ selector: "deliver:",
71
71
  category: 'announcing',
72
72
  fn: function (anAnnouncement){
73
73
  var self=this;
74
- ((($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]);})]));
75
- return self;},
74
+ var $1;
75
+ $1=smalltalk.send(self,"_handlesAnnouncement_",[anAnnouncement]);
76
+ if(smalltalk.assert($1)){
77
+ smalltalk.send(smalltalk.send(self,"_block",[]),"_value_",[anAnnouncement]);
78
+ };
79
+ return self},
76
80
  args: ["anAnnouncement"],
77
81
  source: "deliver: anAnnouncement\x0a\x09(self handlesAnnouncement: anAnnouncement)\x0a\x09\x09ifTrue: [self block value: anAnnouncement]",
78
- messageSends: ["ifTrue:", "handlesAnnouncement:", "value:", "block"],
82
+ messageSends: ["ifTrue:", "value:", "block", "handlesAnnouncement:"],
79
83
  referencedClasses: []
80
84
  }),
81
85
  smalltalk.AnnouncementSubscription);
@@ -87,8 +91,10 @@ selector: "handlesAnnouncement:",
87
91
  category: 'announcing',
88
92
  fn: function (anAnnouncement){
89
93
  var self=this;
90
- return smalltalk.send(anAnnouncement, "_isKindOf_", [smalltalk.send(self, "_announcementClass", [])]);
91
- return self;},
94
+ var $1;
95
+ $1=smalltalk.send(anAnnouncement,"_isKindOf_",[smalltalk.send(self,"_announcementClass",[])]);
96
+ return $1;
97
+ },
92
98
  args: ["anAnnouncement"],
93
99
  source: "handlesAnnouncement: anAnnouncement\x0a\x09^anAnnouncement isKindOf: self announcementClass",
94
100
  messageSends: ["isKindOf:", "announcementClass"],
@@ -106,8 +112,10 @@ selector: "announce:",
106
112
  category: 'announcing',
107
113
  fn: function (anAnnouncement){
108
114
  var self=this;
109
- smalltalk.send(self['@subscriptions'], "_do_", [(function(each){return smalltalk.send(each, "_deliver_", [anAnnouncement]);})]);
110
- return self;},
115
+ smalltalk.send(self["@subscriptions"],"_do_",[(function(each){
116
+ return smalltalk.send(each,"_deliver_",[anAnnouncement]);
117
+ })]);
118
+ return self},
111
119
  args: ["anAnnouncement"],
112
120
  source: "announce: anAnnouncement\x0a\x09subscriptions do: [:each |\x0a\x09\x09each deliver: anAnnouncement]",
113
121
  messageSends: ["do:", "deliver:"],
@@ -122,9 +130,9 @@ selector: "initialize",
122
130
  category: 'initialization',
123
131
  fn: function (){
124
132
  var self=this;
125
- smalltalk.send(self, "_initialize", [], smalltalk.Announcer.superclass || nil);
126
- (self['@subscriptions']=smalltalk.send((smalltalk.Array || Array), "_new", []));
127
- return self;},
133
+ smalltalk.send(self,"_initialize",[],smalltalk.Object);
134
+ self["@subscriptions"]=smalltalk.send((smalltalk.Array || Array),"_new",[]);
135
+ return self},
128
136
  args: [],
129
137
  source: "initialize\x0a\x09super initialize.\x0a\x09subscriptions := Array new",
130
138
  messageSends: ["initialize", "new"],
@@ -137,16 +145,162 @@ smalltalk.addMethod(
137
145
  smalltalk.method({
138
146
  selector: "on:do:",
139
147
  category: 'subscribing',
140
- fn: function (aClass, aBlock){
148
+ fn: function (aClass,aBlock){
141
149
  var self=this;
142
- 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", []))]);
143
- return self;},
150
+ var $1,$2;
151
+ $1=smalltalk.send((smalltalk.AnnouncementSubscription || AnnouncementSubscription),"_new",[]);
152
+ smalltalk.send($1,"_block_",[aBlock]);
153
+ smalltalk.send($1,"_announcementClass_",[aClass]);
154
+ $2=smalltalk.send($1,"_yourself",[]);
155
+ smalltalk.send(self["@subscriptions"],"_add_",[$2]);
156
+ return self},
144
157
  args: ["aClass", "aBlock"],
145
158
  source: "on: aClass do: aBlock\x0a\x09subscriptions add: (AnnouncementSubscription new\x0a\x09\x09block: aBlock;\x0a\x09\x09announcementClass: aClass;\x0a\x09\x09yourself)",
146
- messageSends: ["add:", "block:", "announcementClass:", "yourself", "new"],
159
+ messageSends: ["add:", "block:", "new", "announcementClass:", "yourself"],
147
160
  referencedClasses: ["AnnouncementSubscription"]
148
161
  }),
149
162
  smalltalk.Announcer);
150
163
 
151
164
 
152
165
 
166
+ smalltalk.addClass('SystemAnnouncer', smalltalk.Announcer, [], 'Kernel-Announcements');
167
+ smalltalk.SystemAnnouncer.comment="My unique instance #current is the global announcer handling all Amber system-related announces"
168
+
169
+ smalltalk.SystemAnnouncer.klass.iVarNames = ['current'];
170
+ smalltalk.addMethod(
171
+ "_current",
172
+ smalltalk.method({
173
+ selector: "current",
174
+ category: 'accessing',
175
+ fn: function (){
176
+ var self=this;
177
+ var $1;
178
+ if(($receiver = self["@current"]) == nil || $receiver == undefined){
179
+ self["@current"]=smalltalk.send(self,"_new",[],smalltalk.Announcer.klass);
180
+ $1=self["@current"];
181
+ } else {
182
+ $1=self["@current"];
183
+ };
184
+ return $1;
185
+ },
186
+ args: [],
187
+ source: "current\x0a\x09^ current ifNil: [ current := super new ]",
188
+ messageSends: ["ifNil:", "new"],
189
+ referencedClasses: []
190
+ }),
191
+ smalltalk.SystemAnnouncer.klass);
192
+
193
+ smalltalk.addMethod(
194
+ "_new",
195
+ smalltalk.method({
196
+ selector: "new",
197
+ category: 'instance creation',
198
+ fn: function (){
199
+ var self=this;
200
+ smalltalk.send(self,"_shouldNotImplement",[]);
201
+ return self},
202
+ args: [],
203
+ source: "new\x0a\x09self shouldNotImplement",
204
+ messageSends: ["shouldNotImplement"],
205
+ referencedClasses: []
206
+ }),
207
+ smalltalk.SystemAnnouncer.klass);
208
+
209
+
210
+ smalltalk.addClass('SystemAnnouncement', smalltalk.Object, ['theClass'], 'Kernel-Announcements');
211
+ smalltalk.SystemAnnouncement.comment="I am the superclass of all system announcements"
212
+ smalltalk.addMethod(
213
+ "_theClass",
214
+ smalltalk.method({
215
+ selector: "theClass",
216
+ category: 'accessing',
217
+ fn: function (){
218
+ var self=this;
219
+ return self["@theClass"];
220
+ },
221
+ args: [],
222
+ source: "theClass\x0a\x09^ theClass",
223
+ messageSends: [],
224
+ referencedClasses: []
225
+ }),
226
+ smalltalk.SystemAnnouncement);
227
+
228
+ smalltalk.addMethod(
229
+ "_theClass_",
230
+ smalltalk.method({
231
+ selector: "theClass:",
232
+ category: 'accessing',
233
+ fn: function (aClass){
234
+ var self=this;
235
+ self["@theClass"]=aClass;
236
+ return self},
237
+ args: ["aClass"],
238
+ source: "theClass: aClass\x0a\x09theClass := aClass",
239
+ messageSends: [],
240
+ referencedClasses: []
241
+ }),
242
+ smalltalk.SystemAnnouncement);
243
+
244
+
245
+
246
+ smalltalk.addClass('ClassAdded', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
247
+ smalltalk.ClassAdded.comment="I am emitted when a class is added to the system.\x0aSee ClassBuilder >> #addSubclassOf:... methods"
248
+
249
+
250
+ smalltalk.addClass('ClassCommentChanged', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
251
+ smalltalk.ClassCommentChanged.comment="I am emitted when the comment of a class changes. (Behavior >> #comment)"
252
+
253
+
254
+ smalltalk.addClass('ClassDefinitionChanged', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
255
+ smalltalk.ClassDefinitionChanged.comment="I am emitted when the defintion of a class changes.\x0aSee ClassBuilder >> #class:instanceVariableNames:"
256
+
257
+
258
+ smalltalk.addClass('ClassRemoved', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
259
+ smalltalk.ClassRemoved.comment="I am emitted when a class is removed.\x0aSee Smalltalk >> #removeClass:"
260
+
261
+
262
+ smalltalk.addClass('ClassRenamed', smalltalk.SystemAnnouncement, [], 'Kernel-Announcements');
263
+ smalltalk.ClassRenamed.comment="I am emitted when a class is renamed.\x0aSee ClassBuilder >> #renameClass:to:"
264
+
265
+
266
+ smalltalk.addClass('MethodAnnouncement', smalltalk.SystemAnnouncement, ['method'], 'Kernel-Announcements');
267
+ smalltalk.addMethod(
268
+ "_method",
269
+ smalltalk.method({
270
+ selector: "method",
271
+ category: 'accessing',
272
+ fn: function (){
273
+ var self=this;
274
+ return self["@method"];
275
+ },
276
+ args: [],
277
+ source: "method\x0a\x09^ method",
278
+ messageSends: [],
279
+ referencedClasses: []
280
+ }),
281
+ smalltalk.MethodAnnouncement);
282
+
283
+ smalltalk.addMethod(
284
+ "_method_",
285
+ smalltalk.method({
286
+ selector: "method:",
287
+ category: 'accessing',
288
+ fn: function (aCompiledMethod){
289
+ var self=this;
290
+ self["@method"]=aCompiledMethod;
291
+ return self},
292
+ args: ["aCompiledMethod"],
293
+ source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod",
294
+ messageSends: [],
295
+ referencedClasses: []
296
+ }),
297
+ smalltalk.MethodAnnouncement);
298
+
299
+
300
+
301
+ smalltalk.addClass('MethodAdded', smalltalk.MethodAnnouncement, [], 'Kernel-Announcements');
302
+
303
+
304
+ smalltalk.addClass('MethodRemoved', smalltalk.MethodAnnouncement, [], 'Kernel-Announcements');
305
+
306
+