resin 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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
+