resin 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/amber/bin/amberc +10 -350
  2. data/amber/js/Benchfib.deploy.js +80 -89
  3. data/amber/js/Benchfib.js +80 -89
  4. data/amber/js/Canvas.deploy.js +558 -545
  5. data/amber/js/Canvas.js +563 -545
  6. data/amber/js/Compiler-AST.deploy.js +431 -243
  7. data/amber/js/Compiler-AST.js +487 -244
  8. data/amber/js/Compiler-Core.deploy.js +201 -1045
  9. data/amber/js/Compiler-Core.js +208 -1207
  10. data/amber/js/Compiler-Exceptions.deploy.js +37 -18
  11. data/amber/js/Compiler-Exceptions.js +42 -18
  12. data/amber/js/Compiler-IR.deploy.js +1071 -774
  13. data/amber/js/Compiler-IR.js +1194 -848
  14. data/amber/js/Compiler-Inlining.deploy.js +395 -373
  15. data/amber/js/Compiler-Inlining.js +395 -373
  16. data/amber/js/Compiler-Interpreter.deploy.js +1202 -0
  17. data/amber/js/Compiler-Interpreter.js +1631 -0
  18. data/amber/js/Compiler-Semantic.deploy.js +695 -600
  19. data/amber/js/Compiler-Semantic.js +721 -611
  20. data/amber/js/Compiler-Tests.deploy.js +699 -376
  21. data/amber/js/Compiler-Tests.js +834 -381
  22. data/amber/js/Compiler.deploy.js +8563 -1805
  23. data/amber/js/Compiler.js +11476 -2633
  24. data/amber/js/Examples.deploy.js +29 -29
  25. data/amber/js/Examples.js +29 -29
  26. data/amber/js/IDE.deploy.js +3292 -2649
  27. data/amber/js/IDE.js +3318 -2710
  28. data/amber/js/Importer-Exporter.deploy.js +393 -349
  29. data/amber/js/Importer-Exporter.js +398 -354
  30. data/amber/js/Kernel-Announcements.deploy.js +53 -44
  31. data/amber/js/Kernel-Announcements.js +55 -44
  32. data/amber/js/Kernel-Classes.deploy.js +566 -368
  33. data/amber/js/Kernel-Classes.js +660 -402
  34. data/amber/js/Kernel-Collections.deploy.js +1149 -1098
  35. data/amber/js/Kernel-Collections.js +1183 -1116
  36. data/amber/js/Kernel-Exceptions.deploy.js +173 -75
  37. data/amber/js/Kernel-Exceptions.js +215 -77
  38. data/amber/js/Kernel-Methods.deploy.js +530 -313
  39. data/amber/js/Kernel-Methods.js +632 -338
  40. data/amber/js/Kernel-Objects.deploy.js +1734 -1577
  41. data/amber/js/Kernel-Objects.js +1867 -1654
  42. data/amber/js/Kernel-Tests.deploy.js +1416 -973
  43. data/amber/js/Kernel-Tests.js +1495 -981
  44. data/amber/js/Kernel-Transcript.deploy.js +23 -24
  45. data/amber/js/Kernel-Transcript.js +25 -26
  46. data/amber/js/SUnit-Tests.deploy.js +402 -0
  47. data/amber/js/SUnit-Tests.js +518 -0
  48. data/amber/js/SUnit.deploy.js +535 -237
  49. data/amber/js/SUnit.js +634 -246
  50. data/amber/js/amber.js +90 -53
  51. data/amber/js/boot.js +441 -255
  52. data/amber/js/init.js +1 -3
  53. data/amber/js/lib/CodeMirror/codemirror.css +3 -0
  54. data/amber/js/lib/CodeMirror/codemirror.js +104 -55
  55. data/amber/js/lib/peg-0.7.0.min.js +9 -0
  56. data/amber/js/parser.js +1504 -802
  57. data/amber/js/parser.pegjs +170 -165
  58. data/amber/st/Canvas.st +6 -0
  59. data/amber/st/Compiler-AST.st +54 -3
  60. data/amber/st/Compiler-Core.st +6 -551
  61. data/amber/st/Compiler-Exceptions.st +4 -0
  62. data/amber/st/Compiler-IR.st +205 -87
  63. data/amber/st/Compiler-Interpreter.st +597 -0
  64. data/amber/st/Compiler-Semantic.st +46 -21
  65. data/amber/st/Compiler-Tests.st +254 -7
  66. data/amber/st/Compiler.st +3172 -1541
  67. data/amber/st/IDE.st +57 -93
  68. data/amber/st/Importer-Exporter.st +4 -7
  69. data/amber/st/Kernel-Announcements.st +8 -0
  70. data/amber/st/Kernel-Classes.st +149 -40
  71. data/amber/st/Kernel-Collections.st +43 -32
  72. data/amber/st/Kernel-Exceptions.st +70 -1
  73. data/amber/st/Kernel-Methods.st +165 -27
  74. data/amber/st/Kernel-Objects.st +215 -140
  75. data/amber/st/Kernel-Tests.st +195 -10
  76. data/amber/st/Kernel-Transcript.st +1 -3
  77. data/amber/st/SUnit-Tests.st +186 -0
  78. data/amber/st/SUnit.st +186 -14
  79. data/bin/resin +6 -0
  80. data/lib/resin/cli.rb +19 -0
  81. metadata +41 -25
  82. data/amber/js/lib/peg-0.6.2.min.js +0 -2
  83. data/bin/resin-compile +0 -6
  84. data/bin/runresin +0 -12
@@ -6,8 +6,10 @@ smalltalk.method({
6
6
  selector: "announcementClass",
7
7
  fn: function (){
8
8
  var self=this;
9
- return self["@announcementClass"];
10
- }
9
+ return smalltalk.withContext(function($ctx1) {
10
+ $1=self["@announcementClass"];
11
+ return $1;
12
+ }, function($ctx1) {$ctx1.fill(self,"announcementClass",{}, smalltalk.AnnouncementSubscription)})}
11
13
  }),
12
14
  smalltalk.AnnouncementSubscription);
13
15
 
@@ -17,8 +19,8 @@ smalltalk.method({
17
19
  selector: "announcementClass:",
18
20
  fn: function (aClass){
19
21
  var self=this;
20
- self["@announcementClass"]=aClass;
21
- return self}
22
+ return smalltalk.withContext(function($ctx1) {
23
+ return self}, function($ctx1) {$ctx1.fill(self,"announcementClass:",{aClass:aClass}, smalltalk.AnnouncementSubscription)})}
22
24
  }),
23
25
  smalltalk.AnnouncementSubscription);
24
26
 
@@ -28,8 +30,10 @@ smalltalk.method({
28
30
  selector: "block",
29
31
  fn: function (){
30
32
  var self=this;
31
- return self["@block"];
32
- }
33
+ return smalltalk.withContext(function($ctx1) {
34
+ $1=self["@block"];
35
+ return $1;
36
+ }, function($ctx1) {$ctx1.fill(self,"block",{}, smalltalk.AnnouncementSubscription)})}
33
37
  }),
34
38
  smalltalk.AnnouncementSubscription);
35
39
 
@@ -39,8 +43,8 @@ smalltalk.method({
39
43
  selector: "block:",
40
44
  fn: function (aBlock){
41
45
  var self=this;
42
- self["@block"]=aBlock;
43
- return self}
46
+ return smalltalk.withContext(function($ctx1) {
47
+ return self}, function($ctx1) {$ctx1.fill(self,"block:",{aBlock:aBlock}, smalltalk.AnnouncementSubscription)})}
44
48
  }),
45
49
  smalltalk.AnnouncementSubscription);
46
50
 
@@ -50,12 +54,12 @@ smalltalk.method({
50
54
  selector: "deliver:",
51
55
  fn: function (anAnnouncement){
52
56
  var self=this;
53
- var $1;
54
- $1=smalltalk.send(self,"_handlesAnnouncement_",[anAnnouncement]);
57
+ return smalltalk.withContext(function($ctx1) {
58
+ $1=_st(self)._handlesAnnouncement_(anAnnouncement);
55
59
  if(smalltalk.assert($1)){
56
- smalltalk.send(smalltalk.send(self,"_block",[]),"_value_",[anAnnouncement]);
60
+ _st(_st(self)._block())._value_(anAnnouncement);
57
61
  };
58
- return self}
62
+ return self}, function($ctx1) {$ctx1.fill(self,"deliver:",{anAnnouncement:anAnnouncement}, smalltalk.AnnouncementSubscription)})}
59
63
  }),
60
64
  smalltalk.AnnouncementSubscription);
61
65
 
@@ -65,10 +69,10 @@ smalltalk.method({
65
69
  selector: "handlesAnnouncement:",
66
70
  fn: function (anAnnouncement){
67
71
  var self=this;
68
- var $1;
69
- $1=smalltalk.send(anAnnouncement,"_isKindOf_",[smalltalk.send(self,"_announcementClass",[])]);
72
+ return smalltalk.withContext(function($ctx1) {
73
+ $1=_st(anAnnouncement)._isKindOf_(_st(self)._announcementClass());
70
74
  return $1;
71
- }
75
+ }, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement}, smalltalk.AnnouncementSubscription)})}
72
76
  }),
73
77
  smalltalk.AnnouncementSubscription);
74
78
 
@@ -81,10 +85,10 @@ smalltalk.method({
81
85
  selector: "announce:",
82
86
  fn: function (anAnnouncement){
83
87
  var self=this;
84
- smalltalk.send(self["@subscriptions"],"_do_",[(function(each){
85
- return smalltalk.send(each,"_deliver_",[anAnnouncement]);
86
- })]);
87
- return self}
88
+ return smalltalk.withContext(function($ctx1) {
89
+ return smalltalk.withContext(function($ctx2) {
90
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
91
+ return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement}, smalltalk.Announcer)})}
88
92
  }),
89
93
  smalltalk.Announcer);
90
94
 
@@ -94,9 +98,9 @@ smalltalk.method({
94
98
  selector: "initialize",
95
99
  fn: function (){
96
100
  var self=this;
97
- smalltalk.send(self,"_initialize",[],smalltalk.Object);
98
- self["@subscriptions"]=smalltalk.send((smalltalk.Array || Array),"_new",[]);
99
- return self}
101
+ return smalltalk.withContext(function($ctx1) {
102
+ self["@subscriptions"]=_st((smalltalk.Array || Array))._new();
103
+ return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Announcer)})}
100
104
  }),
101
105
  smalltalk.Announcer);
102
106
 
@@ -106,13 +110,13 @@ smalltalk.method({
106
110
  selector: "on:do:",
107
111
  fn: function (aClass,aBlock){
108
112
  var self=this;
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}
113
+ return smalltalk.withContext(function($ctx1) {
114
+ $1=_st((smalltalk.AnnouncementSubscription || AnnouncementSubscription))._new();
115
+ _st($1)._block_(aBlock);
116
+ _st($1)._announcementClass_(aClass);
117
+ $2=_st($1)._yourself();
118
+ _st(self["@subscriptions"])._add_($2);
119
+ return self}, function($ctx1) {$ctx1.fill(self,"on:do:",{aClass:aClass,aBlock:aBlock}, smalltalk.Announcer)})}
116
120
  }),
117
121
  smalltalk.Announcer);
118
122
 
@@ -127,15 +131,16 @@ smalltalk.method({
127
131
  selector: "current",
128
132
  fn: function (){
129
133
  var self=this;
130
- var $1;
131
- if(($receiver = self["@current"]) == nil || $receiver == undefined){
132
- self["@current"]=smalltalk.send(self,"_new",[],smalltalk.Announcer.klass);
134
+ return smalltalk.withContext(function($ctx1) {
135
+ $2=self["@current"];
136
+ if(($receiver = $2) == nil || $receiver == undefined){
137
+ self["@current"]=smalltalk.Announcer.klass.fn.prototype._new.apply(_st(self), []);
133
138
  $1=self["@current"];
134
139
  } else {
135
- $1=self["@current"];
140
+ $1=$2;
136
141
  };
137
142
  return $1;
138
- }
143
+ }, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.SystemAnnouncer.klass)})}
139
144
  }),
140
145
  smalltalk.SystemAnnouncer.klass);
141
146
 
@@ -145,8 +150,8 @@ smalltalk.method({
145
150
  selector: "new",
146
151
  fn: function (){
147
152
  var self=this;
148
- smalltalk.send(self,"_shouldNotImplement",[]);
149
- return self}
153
+ return smalltalk.withContext(function($ctx1) {
154
+ return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.SystemAnnouncer.klass)})}
150
155
  }),
151
156
  smalltalk.SystemAnnouncer.klass);
152
157
 
@@ -158,8 +163,10 @@ smalltalk.method({
158
163
  selector: "theClass",
159
164
  fn: function (){
160
165
  var self=this;
161
- return self["@theClass"];
162
- }
166
+ return smalltalk.withContext(function($ctx1) {
167
+ $1=self["@theClass"];
168
+ return $1;
169
+ }, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.SystemAnnouncement)})}
163
170
  }),
164
171
  smalltalk.SystemAnnouncement);
165
172
 
@@ -169,8 +176,8 @@ smalltalk.method({
169
176
  selector: "theClass:",
170
177
  fn: function (aClass){
171
178
  var self=this;
172
- self["@theClass"]=aClass;
173
- return self}
179
+ return smalltalk.withContext(function($ctx1) {
180
+ return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.SystemAnnouncement)})}
174
181
  }),
175
182
  smalltalk.SystemAnnouncement);
176
183
 
@@ -198,8 +205,10 @@ smalltalk.method({
198
205
  selector: "method",
199
206
  fn: function (){
200
207
  var self=this;
201
- return self["@method"];
202
- }
208
+ return smalltalk.withContext(function($ctx1) {
209
+ $1=self["@method"];
210
+ return $1;
211
+ }, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.MethodAnnouncement)})}
203
212
  }),
204
213
  smalltalk.MethodAnnouncement);
205
214
 
@@ -209,8 +218,8 @@ smalltalk.method({
209
218
  selector: "method:",
210
219
  fn: function (aCompiledMethod){
211
220
  var self=this;
212
- self["@method"]=aCompiledMethod;
213
- return self}
221
+ return smalltalk.withContext(function($ctx1) {
222
+ return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod}, smalltalk.MethodAnnouncement)})}
214
223
  }),
215
224
  smalltalk.MethodAnnouncement);
216
225
 
@@ -1,5 +1,6 @@
1
1
  smalltalk.addPackage('Kernel-Announcements', {});
2
2
  smalltalk.addClass('AnnouncementSubscription', smalltalk.Object, ['block', 'announcementClass'], 'Kernel-Announcements');
3
+ smalltalk.AnnouncementSubscription.comment="The subscription is a single entry in a subscription registry of an `Announcer`.\x0aSeveral subscriptions by the same object is possible."
3
4
  smalltalk.addMethod(
4
5
  "_announcementClass",
5
6
  smalltalk.method({
@@ -7,8 +8,10 @@ selector: "announcementClass",
7
8
  category: 'accessing',
8
9
  fn: function (){
9
10
  var self=this;
10
- return self["@announcementClass"];
11
- },
11
+ return smalltalk.withContext(function($ctx1) {
12
+ $1=self["@announcementClass"];
13
+ return $1;
14
+ }, function($ctx1) {$ctx1.fill(self,"announcementClass",{}, smalltalk.AnnouncementSubscription)})},
12
15
  args: [],
13
16
  source: "announcementClass\x0a\x09^announcementClass",
14
17
  messageSends: [],
@@ -23,8 +26,8 @@ selector: "announcementClass:",
23
26
  category: 'accessing',
24
27
  fn: function (aClass){
25
28
  var self=this;
26
- self["@announcementClass"]=aClass;
27
- return self},
29
+ return smalltalk.withContext(function($ctx1) {
30
+ return self}, function($ctx1) {$ctx1.fill(self,"announcementClass:",{aClass:aClass}, smalltalk.AnnouncementSubscription)})},
28
31
  args: ["aClass"],
29
32
  source: "announcementClass: aClass\x0a\x09announcementClass := aClass",
30
33
  messageSends: [],
@@ -39,8 +42,10 @@ selector: "block",
39
42
  category: 'accessing',
40
43
  fn: function (){
41
44
  var self=this;
42
- return self["@block"];
43
- },
45
+ return smalltalk.withContext(function($ctx1) {
46
+ $1=self["@block"];
47
+ return $1;
48
+ }, function($ctx1) {$ctx1.fill(self,"block",{}, smalltalk.AnnouncementSubscription)})},
44
49
  args: [],
45
50
  source: "block\x0a\x09^block",
46
51
  messageSends: [],
@@ -55,8 +60,8 @@ selector: "block:",
55
60
  category: 'accessing',
56
61
  fn: function (aBlock){
57
62
  var self=this;
58
- self["@block"]=aBlock;
59
- return self},
63
+ return smalltalk.withContext(function($ctx1) {
64
+ return self}, function($ctx1) {$ctx1.fill(self,"block:",{aBlock:aBlock}, smalltalk.AnnouncementSubscription)})},
60
65
  args: ["aBlock"],
61
66
  source: "block: aBlock\x0a\x09block := aBlock",
62
67
  messageSends: [],
@@ -71,12 +76,12 @@ selector: "deliver:",
71
76
  category: 'announcing',
72
77
  fn: function (anAnnouncement){
73
78
  var self=this;
74
- var $1;
75
- $1=smalltalk.send(self,"_handlesAnnouncement_",[anAnnouncement]);
79
+ return smalltalk.withContext(function($ctx1) {
80
+ $1=_st(self)._handlesAnnouncement_(anAnnouncement);
76
81
  if(smalltalk.assert($1)){
77
- smalltalk.send(smalltalk.send(self,"_block",[]),"_value_",[anAnnouncement]);
82
+ _st(_st(self)._block())._value_(anAnnouncement);
78
83
  };
79
- return self},
84
+ return self}, function($ctx1) {$ctx1.fill(self,"deliver:",{anAnnouncement:anAnnouncement}, smalltalk.AnnouncementSubscription)})},
80
85
  args: ["anAnnouncement"],
81
86
  source: "deliver: anAnnouncement\x0a\x09(self handlesAnnouncement: anAnnouncement)\x0a\x09\x09ifTrue: [self block value: anAnnouncement]",
82
87
  messageSends: ["ifTrue:", "value:", "block", "handlesAnnouncement:"],
@@ -91,10 +96,10 @@ selector: "handlesAnnouncement:",
91
96
  category: 'announcing',
92
97
  fn: function (anAnnouncement){
93
98
  var self=this;
94
- var $1;
95
- $1=smalltalk.send(anAnnouncement,"_isKindOf_",[smalltalk.send(self,"_announcementClass",[])]);
99
+ return smalltalk.withContext(function($ctx1) {
100
+ $1=_st(anAnnouncement)._isKindOf_(_st(self)._announcementClass());
96
101
  return $1;
97
- },
102
+ }, function($ctx1) {$ctx1.fill(self,"handlesAnnouncement:",{anAnnouncement:anAnnouncement}, smalltalk.AnnouncementSubscription)})},
98
103
  args: ["anAnnouncement"],
99
104
  source: "handlesAnnouncement: anAnnouncement\x0a\x09^anAnnouncement isKindOf: self announcementClass",
100
105
  messageSends: ["isKindOf:", "announcementClass"],
@@ -105,6 +110,7 @@ smalltalk.AnnouncementSubscription);
105
110
 
106
111
 
107
112
  smalltalk.addClass('Announcer', smalltalk.Object, ['registry', 'subscriptions'], 'Kernel-Announcements');
113
+ smalltalk.Announcer.comment="The code is based on the announcements as [described by Vassili Bykov](http://www.cincomsmalltalk.com/userblogs/vbykov/blogView?searchCategory=Announcements%20Framework).\x0aThe Announcer holds annoncement subscriptions (`AnnouncementSubscription`) in a private registry.\x0a\x0aUse `#on:do:` to register subscriptions."
108
114
  smalltalk.addMethod(
109
115
  "_announce_",
110
116
  smalltalk.method({
@@ -112,10 +118,10 @@ selector: "announce:",
112
118
  category: 'announcing',
113
119
  fn: function (anAnnouncement){
114
120
  var self=this;
115
- smalltalk.send(self["@subscriptions"],"_do_",[(function(each){
116
- return smalltalk.send(each,"_deliver_",[anAnnouncement]);
117
- })]);
118
- return self},
121
+ return smalltalk.withContext(function($ctx1) {
122
+ return smalltalk.withContext(function($ctx2) {
123
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
124
+ return self}, function($ctx1) {$ctx1.fill(self,"announce:",{anAnnouncement:anAnnouncement}, smalltalk.Announcer)})},
119
125
  args: ["anAnnouncement"],
120
126
  source: "announce: anAnnouncement\x0a\x09subscriptions do: [:each |\x0a\x09\x09each deliver: anAnnouncement]",
121
127
  messageSends: ["do:", "deliver:"],
@@ -130,9 +136,9 @@ selector: "initialize",
130
136
  category: 'initialization',
131
137
  fn: function (){
132
138
  var self=this;
133
- smalltalk.send(self,"_initialize",[],smalltalk.Object);
134
- self["@subscriptions"]=smalltalk.send((smalltalk.Array || Array),"_new",[]);
135
- return self},
139
+ return smalltalk.withContext(function($ctx1) {
140
+ self["@subscriptions"]=_st((smalltalk.Array || Array))._new();
141
+ return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Announcer)})},
136
142
  args: [],
137
143
  source: "initialize\x0a\x09super initialize.\x0a\x09subscriptions := Array new",
138
144
  messageSends: ["initialize", "new"],
@@ -147,13 +153,13 @@ selector: "on:do:",
147
153
  category: 'subscribing',
148
154
  fn: function (aClass,aBlock){
149
155
  var self=this;
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},
156
+ return smalltalk.withContext(function($ctx1) {
157
+ $1=_st((smalltalk.AnnouncementSubscription || AnnouncementSubscription))._new();
158
+ _st($1)._block_(aBlock);
159
+ _st($1)._announcementClass_(aClass);
160
+ $2=_st($1)._yourself();
161
+ _st(self["@subscriptions"])._add_($2);
162
+ return self}, function($ctx1) {$ctx1.fill(self,"on:do:",{aClass:aClass,aBlock:aBlock}, smalltalk.Announcer)})},
157
163
  args: ["aClass", "aBlock"],
158
164
  source: "on: aClass do: aBlock\x0a\x09subscriptions add: (AnnouncementSubscription new\x0a\x09\x09block: aBlock;\x0a\x09\x09announcementClass: aClass;\x0a\x09\x09yourself)",
159
165
  messageSends: ["add:", "block:", "new", "announcementClass:", "yourself"],
@@ -174,15 +180,16 @@ selector: "current",
174
180
  category: 'accessing',
175
181
  fn: function (){
176
182
  var self=this;
177
- var $1;
178
- if(($receiver = self["@current"]) == nil || $receiver == undefined){
179
- self["@current"]=smalltalk.send(self,"_new",[],smalltalk.Announcer.klass);
183
+ return smalltalk.withContext(function($ctx1) {
184
+ $2=self["@current"];
185
+ if(($receiver = $2) == nil || $receiver == undefined){
186
+ self["@current"]=smalltalk.Announcer.klass.fn.prototype._new.apply(_st(self), []);
180
187
  $1=self["@current"];
181
188
  } else {
182
- $1=self["@current"];
189
+ $1=$2;
183
190
  };
184
191
  return $1;
185
- },
192
+ }, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.SystemAnnouncer.klass)})},
186
193
  args: [],
187
194
  source: "current\x0a\x09^ current ifNil: [ current := super new ]",
188
195
  messageSends: ["ifNil:", "new"],
@@ -197,8 +204,8 @@ selector: "new",
197
204
  category: 'instance creation',
198
205
  fn: function (){
199
206
  var self=this;
200
- smalltalk.send(self,"_shouldNotImplement",[]);
201
- return self},
207
+ return smalltalk.withContext(function($ctx1) {
208
+ return self}, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.SystemAnnouncer.klass)})},
202
209
  args: [],
203
210
  source: "new\x0a\x09self shouldNotImplement",
204
211
  messageSends: ["shouldNotImplement"],
@@ -216,8 +223,10 @@ selector: "theClass",
216
223
  category: 'accessing',
217
224
  fn: function (){
218
225
  var self=this;
219
- return self["@theClass"];
220
- },
226
+ return smalltalk.withContext(function($ctx1) {
227
+ $1=self["@theClass"];
228
+ return $1;
229
+ }, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.SystemAnnouncement)})},
221
230
  args: [],
222
231
  source: "theClass\x0a\x09^ theClass",
223
232
  messageSends: [],
@@ -232,8 +241,8 @@ selector: "theClass:",
232
241
  category: 'accessing',
233
242
  fn: function (aClass){
234
243
  var self=this;
235
- self["@theClass"]=aClass;
236
- return self},
244
+ return smalltalk.withContext(function($ctx1) {
245
+ return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.SystemAnnouncement)})},
237
246
  args: ["aClass"],
238
247
  source: "theClass: aClass\x0a\x09theClass := aClass",
239
248
  messageSends: [],
@@ -271,8 +280,10 @@ selector: "method",
271
280
  category: 'accessing',
272
281
  fn: function (){
273
282
  var self=this;
274
- return self["@method"];
275
- },
283
+ return smalltalk.withContext(function($ctx1) {
284
+ $1=self["@method"];
285
+ return $1;
286
+ }, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.MethodAnnouncement)})},
276
287
  args: [],
277
288
  source: "method\x0a\x09^ method",
278
289
  messageSends: [],
@@ -287,8 +298,8 @@ selector: "method:",
287
298
  category: 'accessing',
288
299
  fn: function (aCompiledMethod){
289
300
  var self=this;
290
- self["@method"]=aCompiledMethod;
291
- return self},
301
+ return smalltalk.withContext(function($ctx1) {
302
+ return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod}, smalltalk.MethodAnnouncement)})},
292
303
  args: ["aCompiledMethod"],
293
304
  source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod",
294
305
  messageSends: [],
@@ -6,15 +6,14 @@ smalltalk.method({
6
6
  selector: "addCompiledMethod:",
7
7
  fn: function (aMethod){
8
8
  var self=this;
9
- var $1,$2;
10
- smalltalk.addMethod(aMethod.selector._asSelector(), aMethod, self);
11
- ;
12
- $1=smalltalk.send((smalltalk.MethodAdded || MethodAdded),"_new",[]);
13
- smalltalk.send($1,"_theClass_",[self]);
14
- smalltalk.send($1,"_method_",[aMethod]);
15
- $2=smalltalk.send($1,"_yourself",[]);
16
- smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
17
- return self}
9
+ return smalltalk.withContext(function($ctx1) {
10
+ _st(self)._basicAddCompiledMethod_(aMethod);
11
+ $1=_st((smalltalk.MethodAdded || MethodAdded))._new();
12
+ _st($1)._theClass_(self);
13
+ _st($1)._method_(aMethod);
14
+ $2=_st($1)._yourself();
15
+ _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
16
+ return self}, function($ctx1) {$ctx1.fill(self,"addCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})}
18
17
  }),
19
18
  smalltalk.Behavior);
20
19
 
@@ -24,17 +23,18 @@ smalltalk.method({
24
23
  selector: "allInstanceVariableNames",
25
24
  fn: function (){
26
25
  var self=this;
27
- var $1;
28
26
  var result;
29
- result=smalltalk.send(smalltalk.send(self,"_instanceVariableNames",[]),"_copy",[]);
30
- $1=smalltalk.send(self,"_superclass",[]);
27
+ return smalltalk.withContext(function($ctx1) {
28
+ result=_st(_st(self)._instanceVariableNames())._copy();
29
+ $1=_st(self)._superclass();
31
30
  if(($receiver = $1) == nil || $receiver == undefined){
32
31
  $1;
33
32
  } else {
34
- smalltalk.send(result,"_addAll_",[smalltalk.send(smalltalk.send(self,"_superclass",[]),"_allInstanceVariableNames",[])]);
33
+ _st(result)._addAll_(_st(_st(self)._superclass())._allInstanceVariableNames());
35
34
  };
36
- return result;
37
- }
35
+ $2=result;
36
+ return $2;
37
+ }, function($ctx1) {$ctx1.fill(self,"allInstanceVariableNames",{result:result}, smalltalk.Behavior)})}
38
38
  }),
39
39
  smalltalk.Behavior);
40
40
 
@@ -45,12 +45,14 @@ selector: "allSubclasses",
45
45
  fn: function (){
46
46
  var self=this;
47
47
  var result;
48
- result=smalltalk.send(self,"_subclasses",[]);
49
- smalltalk.send(smalltalk.send(self,"_subclasses",[]),"_do_",[(function(each){
50
- return smalltalk.send(result,"_addAll_",[smalltalk.send(each,"_allSubclasses",[])]);
51
- })]);
52
- return result;
53
- }
48
+ return smalltalk.withContext(function($ctx1) {
49
+ result=_st(self)._subclasses();
50
+ _st(_st(self)._subclasses())._do_((function(each){
51
+ return smalltalk.withContext(function($ctx2) {
52
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
53
+ $1=result;
54
+ return $1;
55
+ }, function($ctx1) {$ctx1.fill(self,"allSubclasses",{result:result}, smalltalk.Behavior)})}
54
56
  }),
55
57
  smalltalk.Behavior);
56
58
 
@@ -60,19 +62,30 @@ smalltalk.method({
60
62
  selector: "allSuperclasses",
61
63
  fn: function (){
62
64
  var self=this;
63
- var $1,$3,$4,$2;
64
- $1=smalltalk.send(self,"_superclass",[]);
65
+ return smalltalk.withContext(function($ctx1) {
66
+ $1=_st(self)._superclass();
65
67
  if(($receiver = $1) == nil || $receiver == undefined){
66
68
  return [];
67
69
  } else {
68
70
  $1;
69
71
  };
70
- $3=smalltalk.send((smalltalk.OrderedCollection || OrderedCollection),"_with_",[smalltalk.send(self,"_superclass",[])]);
71
- smalltalk.send($3,"_addAll_",[smalltalk.send(smalltalk.send(self,"_superclass",[]),"_allSuperclasses",[])]);
72
- $4=smalltalk.send($3,"_yourself",[]);
72
+ $3=_st((smalltalk.OrderedCollection || OrderedCollection))._with_(_st(self)._superclass());
73
+ _st($3)._addAll_(_st(_st(self)._superclass())._allSuperclasses());
74
+ $4=_st($3)._yourself();
73
75
  $2=$4;
74
76
  return $2;
75
- }
77
+ }, function($ctx1) {$ctx1.fill(self,"allSuperclasses",{}, smalltalk.Behavior)})}
78
+ }),
79
+ smalltalk.Behavior);
80
+
81
+ smalltalk.addMethod(
82
+ "_basicAddCompiledMethod_",
83
+ smalltalk.method({
84
+ selector: "basicAddCompiledMethod:",
85
+ fn: function (aMethod){
86
+ var self=this;
87
+ return smalltalk.withContext(function($ctx1) {
88
+ return self}, function($ctx1) {$ctx1.fill(self,"basicAddCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})}
76
89
  }),
77
90
  smalltalk.Behavior);
78
91
 
@@ -82,9 +95,22 @@ smalltalk.method({
82
95
  selector: "basicNew",
83
96
  fn: function (){
84
97
  var self=this;
85
- return new self.fn();
86
- ;
87
- return self}
98
+ return smalltalk.withContext(function($ctx1) {
99
+ return self}, function($ctx1) {$ctx1.fill(self,"basicNew",{}, smalltalk.Behavior)})}
100
+ }),
101
+ smalltalk.Behavior);
102
+
103
+ smalltalk.addMethod(
104
+ "_basicRemoveCompiledMethod_",
105
+ smalltalk.method({
106
+ selector: "basicRemoveCompiledMethod:",
107
+ fn: function (aMethod){
108
+ var self=this;
109
+ return smalltalk.withContext(function($ctx1) {
110
+ smalltalk.removeMethod(aMethod)
111
+ smalltalk.init(self);
112
+ ;
113
+ return self}, function($ctx1) {$ctx1.fill(self,"basicRemoveCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})}
88
114
  }),
89
115
  smalltalk.Behavior);
90
116
 
@@ -94,14 +120,14 @@ smalltalk.method({
94
120
  selector: "canUnderstand:",
95
121
  fn: function (aSelector){
96
122
  var self=this;
97
- var $1;
98
- $1=smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_keys",[]),"_includes_",[smalltalk.send(aSelector,"_asString",[])]),"_or_",[(function(){
99
- return smalltalk.send(smalltalk.send(smalltalk.send(self,"_superclass",[]),"_notNil",[]),"_and_",[(function(){
100
- return smalltalk.send(smalltalk.send(self,"_superclass",[]),"_canUnderstand_",[aSelector]);
101
- })]);
102
- })]);
123
+ return smalltalk.withContext(function($ctx1) {
124
+ $1=_st(_st(_st(_st(self)._methodDictionary())._keys())._includes_(_st(aSelector)._asString()))._or_((function(){
125
+ return smalltalk.withContext(function($ctx2) {
126
+ return smalltalk.withContext(function($ctx3) {
127
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
128
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
103
129
  return $1;
104
- }
130
+ }, function($ctx1) {$ctx1.fill(self,"canUnderstand:",{aSelector:aSelector}, smalltalk.Behavior)})}
105
131
  }),
106
132
  smalltalk.Behavior);
107
133
 
@@ -111,15 +137,15 @@ smalltalk.method({
111
137
  selector: "comment",
112
138
  fn: function (){
113
139
  var self=this;
114
- var $2,$1;
115
- $2=smalltalk.send(self,"_basicAt_",["comment"]);
140
+ return smalltalk.withContext(function($ctx1) {
141
+ $2=_st(self)._basicAt_("comment");
116
142
  if(($receiver = $2) == nil || $receiver == undefined){
117
143
  $1="";
118
144
  } else {
119
145
  $1=$2;
120
146
  };
121
147
  return $1;
122
- }
148
+ }, function($ctx1) {$ctx1.fill(self,"comment",{}, smalltalk.Behavior)})}
123
149
  }),
124
150
  smalltalk.Behavior);
125
151
 
@@ -129,13 +155,13 @@ smalltalk.method({
129
155
  selector: "comment:",
130
156
  fn: function (aString){
131
157
  var self=this;
132
- var $1,$2;
133
- smalltalk.send(self,"_basicAt_put_",["comment",aString]);
134
- $1=smalltalk.send((smalltalk.ClassCommentChanged || ClassCommentChanged),"_new",[]);
135
- smalltalk.send($1,"_theClass_",[self]);
136
- $2=smalltalk.send($1,"_yourself",[]);
137
- smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
138
- return self}
158
+ return smalltalk.withContext(function($ctx1) {
159
+ _st(self)._basicAt_put_("comment",aString);
160
+ $1=_st((smalltalk.ClassCommentChanged || ClassCommentChanged))._new();
161
+ _st($1)._theClass_(self);
162
+ $2=_st($1)._yourself();
163
+ _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
164
+ return self}, function($ctx1) {$ctx1.fill(self,"comment:",{aString:aString}, smalltalk.Behavior)})}
139
165
  }),
140
166
  smalltalk.Behavior);
141
167
 
@@ -145,13 +171,13 @@ smalltalk.method({
145
171
  selector: "commentStamp",
146
172
  fn: function (){
147
173
  var self=this;
148
- var $2,$3,$1;
149
- $2=smalltalk.send((smalltalk.ClassCommentReader || ClassCommentReader),"_new",[]);
150
- smalltalk.send($2,"_class_",[self]);
151
- $3=smalltalk.send($2,"_yourself",[]);
174
+ return smalltalk.withContext(function($ctx1) {
175
+ $2=_st((smalltalk.ClassCommentReader || ClassCommentReader))._new();
176
+ _st($2)._class_(self);
177
+ $3=_st($2)._yourself();
152
178
  $1=$3;
153
179
  return $1;
154
- }
180
+ }, function($ctx1) {$ctx1.fill(self,"commentStamp",{}, smalltalk.Behavior)})}
155
181
  }),
156
182
  smalltalk.Behavior);
157
183
 
@@ -161,10 +187,10 @@ smalltalk.method({
161
187
  selector: "commentStamp:prior:",
162
188
  fn: function (aStamp,prior){
163
189
  var self=this;
164
- var $1;
165
- $1=smalltalk.send(self,"_commentStamp",[]);
190
+ return smalltalk.withContext(function($ctx1) {
191
+ $1=_st(self)._commentStamp();
166
192
  return $1;
167
- }
193
+ }, function($ctx1) {$ctx1.fill(self,"commentStamp:prior:",{aStamp:aStamp,prior:prior}, smalltalk.Behavior)})}
168
194
  }),
169
195
  smalltalk.Behavior);
170
196
 
@@ -174,8 +200,8 @@ smalltalk.method({
174
200
  selector: "compile:",
175
201
  fn: function (aString){
176
202
  var self=this;
177
- smalltalk.send(self,"_compile_category_",[aString,""]);
178
- return self}
203
+ return smalltalk.withContext(function($ctx1) {
204
+ return self}, function($ctx1) {$ctx1.fill(self,"compile:",{aString:aString}, smalltalk.Behavior)})}
179
205
  }),
180
206
  smalltalk.Behavior);
181
207
 
@@ -185,8 +211,8 @@ smalltalk.method({
185
211
  selector: "compile:category:",
186
212
  fn: function (aString,anotherString){
187
213
  var self=this;
188
- smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_install_forClass_category_",[aString,self,anotherString]);
189
- return self}
214
+ return smalltalk.withContext(function($ctx1) {
215
+ return self}, function($ctx1) {$ctx1.fill(self,"compile:category:",{aString:aString,anotherString:anotherString}, smalltalk.Behavior)})}
190
216
  }),
191
217
  smalltalk.Behavior);
192
218
 
@@ -196,8 +222,21 @@ smalltalk.method({
196
222
  selector: "definition",
197
223
  fn: function (){
198
224
  var self=this;
199
- return "";
200
- }
225
+ return smalltalk.withContext(function($ctx1) {
226
+ }, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Behavior)})}
227
+ }),
228
+ smalltalk.Behavior);
229
+
230
+ smalltalk.addMethod(
231
+ "_includesSelector_",
232
+ smalltalk.method({
233
+ selector: "includesSelector:",
234
+ fn: function (aSymbol){
235
+ var self=this;
236
+ return smalltalk.withContext(function($ctx1) {
237
+ $1=_st(_st(self)._methodDictionary())._includesKey_(_st(aSymbol)._asString());
238
+ return $1;
239
+ }, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aSymbol:aSymbol}, smalltalk.Behavior)})}
201
240
  }),
202
241
  smalltalk.Behavior);
203
242
 
@@ -207,10 +246,10 @@ smalltalk.method({
207
246
  selector: "inheritsFrom:",
208
247
  fn: function (aClass){
209
248
  var self=this;
210
- var $1;
211
- $1=smalltalk.send(smalltalk.send(aClass,"_allSubclasses",[]),"_includes_",[self]);
249
+ return smalltalk.withContext(function($ctx1) {
250
+ $1=_st(_st(aClass)._allSubclasses())._includes_(self);
212
251
  return $1;
213
- }
252
+ }, function($ctx1) {$ctx1.fill(self,"inheritsFrom:",{aClass:aClass}, smalltalk.Behavior)})}
214
253
  }),
215
254
  smalltalk.Behavior);
216
255
 
@@ -220,9 +259,39 @@ smalltalk.method({
220
259
  selector: "instanceVariableNames",
221
260
  fn: function (){
222
261
  var self=this;
223
- return self.iVarNames;
224
- ;
225
- return self}
262
+ return smalltalk.withContext(function($ctx1) {
263
+ return self}, function($ctx1) {$ctx1.fill(self,"instanceVariableNames",{}, smalltalk.Behavior)})}
264
+ }),
265
+ smalltalk.Behavior);
266
+
267
+ smalltalk.addMethod(
268
+ "_lookupSelector_",
269
+ smalltalk.method({
270
+ selector: "lookupSelector:",
271
+ fn: function (selector){
272
+ var self=this;
273
+ var lookupClass;
274
+ return smalltalk.withContext(function($ctx1) {
275
+ var $early={};
276
+ try {
277
+ lookupClass=self;
278
+ $1=(function(){
279
+ return smalltalk.withContext(function($ctx2) {
280
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
281
+ $2=(function(){
282
+ return smalltalk.withContext(function($ctx2) {
283
+ if(smalltalk.assert($3)){
284
+ $4=_st(lookupClass)._methodAt_(selector);
285
+ throw $early=[$4];
286
+ };
287
+ lookupClass=_st(lookupClass)._superclass();
288
+ return lookupClass;
289
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
290
+ _st($1)._whileFalse_($2);
291
+ return nil;
292
+ }
293
+ catch(e) {if(e===$early)return e[0]; throw e}
294
+ }, function($ctx1) {$ctx1.fill(self,"lookupSelector:",{selector:selector,lookupClass:lookupClass}, smalltalk.Behavior)})}
226
295
  }),
227
296
  smalltalk.Behavior);
228
297
 
@@ -232,9 +301,10 @@ smalltalk.method({
232
301
  selector: "methodAt:",
233
302
  fn: function (aSymbol){
234
303
  var self=this;
235
- return smalltalk.methods(self)[aSymbol._asString()];
236
- ;
237
- return self}
304
+ return smalltalk.withContext(function($ctx1) {
305
+ $1=_st(_st(self)._methodDictionary())._at_(_st(aSymbol)._asString());
306
+ return $1;
307
+ }, function($ctx1) {$ctx1.fill(self,"methodAt:",{aSymbol:aSymbol}, smalltalk.Behavior)})}
238
308
  }),
239
309
  smalltalk.Behavior);
240
310
 
@@ -244,16 +314,15 @@ smalltalk.method({
244
314
  selector: "methodDictionary",
245
315
  fn: function (){
246
316
  var self=this;
247
- var dict = smalltalk.HashedCollection._new();
248
- var methods = self.fn.prototype.methods;
317
+ return smalltalk.withContext(function($ctx1) {
318
+ var methods = self.methods;
249
319
  for(var i in methods) {
250
320
  if(methods[i].selector) {
251
321
  dict._at_put_(methods[i].selector, methods[i]);
252
322
  }
253
323
  };
254
324
  return dict;
255
- ;
256
- return self}
325
+ return self}, function($ctx1) {$ctx1.fill(self,"methodDictionary",{}, smalltalk.Behavior)})}
257
326
  }),
258
327
  smalltalk.Behavior);
259
328
 
@@ -263,10 +332,10 @@ smalltalk.method({
263
332
  selector: "methods",
264
333
  fn: function (){
265
334
  var self=this;
266
- var $1;
267
- $1=smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_values",[]);
335
+ return smalltalk.withContext(function($ctx1) {
336
+ $1=_st(_st(self)._methodDictionary())._values();
268
337
  return $1;
269
- }
338
+ }, function($ctx1) {$ctx1.fill(self,"methods",{}, smalltalk.Behavior)})}
270
339
  }),
271
340
  smalltalk.Behavior);
272
341
 
@@ -276,13 +345,13 @@ smalltalk.method({
276
345
  selector: "methodsFor:",
277
346
  fn: function (aString){
278
347
  var self=this;
279
- var $2,$3,$1;
280
- $2=smalltalk.send((smalltalk.ClassCategoryReader || ClassCategoryReader),"_new",[]);
281
- smalltalk.send($2,"_class_category_",[self,aString]);
282
- $3=smalltalk.send($2,"_yourself",[]);
348
+ return smalltalk.withContext(function($ctx1) {
349
+ $2=_st((smalltalk.ClassCategoryReader || ClassCategoryReader))._new();
350
+ _st($2)._class_category_(self,aString);
351
+ $3=_st($2)._yourself();
283
352
  $1=$3;
284
353
  return $1;
285
- }
354
+ }, function($ctx1) {$ctx1.fill(self,"methodsFor:",{aString:aString}, smalltalk.Behavior)})}
286
355
  }),
287
356
  smalltalk.Behavior);
288
357
 
@@ -292,10 +361,10 @@ smalltalk.method({
292
361
  selector: "methodsFor:stamp:",
293
362
  fn: function (aString,aStamp){
294
363
  var self=this;
295
- var $1;
296
- $1=smalltalk.send(self,"_methodsFor_",[aString]);
364
+ return smalltalk.withContext(function($ctx1) {
365
+ $1=_st(self)._methodsFor_(aString);
297
366
  return $1;
298
- }
367
+ }, function($ctx1) {$ctx1.fill(self,"methodsFor:stamp:",{aString:aString,aStamp:aStamp}, smalltalk.Behavior)})}
299
368
  }),
300
369
  smalltalk.Behavior);
301
370
 
@@ -305,12 +374,12 @@ smalltalk.method({
305
374
  selector: "methodsInProtocol:",
306
375
  fn: function (aString){
307
376
  var self=this;
308
- var $1;
309
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_values",[]),"_select_",[(function(each){
310
- return smalltalk.send(smalltalk.send(each,"_protocol",[]),"__eq",[aString]);
311
- })]);
377
+ return smalltalk.withContext(function($ctx1) {
378
+ $1=_st(_st(_st(self)._methodDictionary())._values())._select_((function(each){
379
+ return smalltalk.withContext(function($ctx2) {
380
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
312
381
  return $1;
313
- }
382
+ }, function($ctx1) {$ctx1.fill(self,"methodsInProtocol:",{aString:aString}, smalltalk.Behavior)})}
314
383
  }),
315
384
  smalltalk.Behavior);
316
385
 
@@ -320,9 +389,8 @@ smalltalk.method({
320
389
  selector: "name",
321
390
  fn: function (){
322
391
  var self=this;
323
- return self.className || nil;
324
- ;
325
- return self}
392
+ return smalltalk.withContext(function($ctx1) {
393
+ return self}, function($ctx1) {$ctx1.fill(self,"name",{}, smalltalk.Behavior)})}
326
394
  }),
327
395
  smalltalk.Behavior);
328
396
 
@@ -332,10 +400,10 @@ smalltalk.method({
332
400
  selector: "new",
333
401
  fn: function (){
334
402
  var self=this;
335
- var $1;
336
- $1=smalltalk.send(smalltalk.send(self,"_basicNew",[]),"_initialize",[]);
403
+ return smalltalk.withContext(function($ctx1) {
404
+ $1=_st(_st(self)._basicNew())._initialize();
337
405
  return $1;
338
- }
406
+ }, function($ctx1) {$ctx1.fill(self,"new",{}, smalltalk.Behavior)})}
339
407
  }),
340
408
  smalltalk.Behavior);
341
409
 
@@ -345,10 +413,10 @@ smalltalk.method({
345
413
  selector: "organization",
346
414
  fn: function (){
347
415
  var self=this;
348
- var $1;
349
- $1=smalltalk.send(self,"_basicAt_",["organization"]);
416
+ return smalltalk.withContext(function($ctx1) {
417
+ $1=_st(self)._basicAt_("organization");
350
418
  return $1;
351
- }
419
+ }, function($ctx1) {$ctx1.fill(self,"organization",{}, smalltalk.Behavior)})}
352
420
  }),
353
421
  smalltalk.Behavior);
354
422
 
@@ -358,10 +426,10 @@ smalltalk.method({
358
426
  selector: "protocols",
359
427
  fn: function (){
360
428
  var self=this;
361
- var $1;
362
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_organization",[]),"_elements",[]),"_sorted",[]);
429
+ return smalltalk.withContext(function($ctx1) {
430
+ $1=_st(_st(_st(self)._organization())._elements())._sorted();
363
431
  return $1;
364
- }
432
+ }, function($ctx1) {$ctx1.fill(self,"protocols",{}, smalltalk.Behavior)})}
365
433
  }),
366
434
  smalltalk.Behavior);
367
435
 
@@ -372,16 +440,16 @@ selector: "protocolsDo:",
372
440
  fn: function (aBlock){
373
441
  var self=this;
374
442
  var methodsByCategory;
375
- methodsByCategory=smalltalk.send((smalltalk.HashedCollection || HashedCollection),"_new",[]);
376
- smalltalk.send(smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_values",[]),"_do_",[(function(m){
377
- return smalltalk.send(smalltalk.send(methodsByCategory,"_at_ifAbsentPut_",[smalltalk.send(m,"_category",[]),(function(){
378
- return smalltalk.send((smalltalk.Array || Array),"_new",[]);
379
- })]),"_add_",[m]);
380
- })]);
381
- smalltalk.send(smalltalk.send(self,"_protocols",[]),"_do_",[(function(category){
382
- return smalltalk.send(aBlock,"_value_value_",[category,smalltalk.send(methodsByCategory,"_at_",[category])]);
383
- })]);
384
- return self}
443
+ return smalltalk.withContext(function($ctx1) {
444
+ _st(_st(_st(self)._methodDictionary())._values())._do_((function(m){
445
+ return smalltalk.withContext(function($ctx2) {
446
+ return smalltalk.withContext(function($ctx3) {
447
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})))._add_(m);
448
+ }, function($ctx2) {$ctx2.fillBlock({m:m},$ctx1)})}));
449
+ _st(_st(self)._protocols())._do_((function(category){
450
+ return smalltalk.withContext(function($ctx2) {
451
+ }, function($ctx2) {$ctx2.fillBlock({category:category},$ctx1)})}));
452
+ return self}, function($ctx1) {$ctx1.fill(self,"protocolsDo:",{aBlock:aBlock,methodsByCategory:methodsByCategory}, smalltalk.Behavior)})}
385
453
  }),
386
454
  smalltalk.Behavior);
387
455
 
@@ -391,9 +459,8 @@ smalltalk.method({
391
459
  selector: "prototype",
392
460
  fn: function (){
393
461
  var self=this;
394
- return self.fn.prototype;
395
- ;
396
- return self}
462
+ return smalltalk.withContext(function($ctx1) {
463
+ return self}, function($ctx1) {$ctx1.fill(self,"prototype",{}, smalltalk.Behavior)})}
397
464
  }),
398
465
  smalltalk.Behavior);
399
466
 
@@ -403,18 +470,14 @@ smalltalk.method({
403
470
  selector: "removeCompiledMethod:",
404
471
  fn: function (aMethod){
405
472
  var self=this;
406
- var $1,$2;
407
-
408
- smalltalk.removeMethod(aMethod)
409
- smalltalk.init(self);
410
- ;
411
- ;
412
- $1=smalltalk.send((smalltalk.MethodRemoved || MethodRemoved),"_new",[]);
413
- smalltalk.send($1,"_theClass_",[self]);
414
- smalltalk.send($1,"_method_",[aMethod]);
415
- $2=smalltalk.send($1,"_yourself",[]);
416
- smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
417
- return self}
473
+ return smalltalk.withContext(function($ctx1) {
474
+ _st(self)._basicRemoveCompiledMethod_(aMethod);
475
+ $1=_st((smalltalk.MethodRemoved || MethodRemoved))._new();
476
+ _st($1)._theClass_(self);
477
+ _st($1)._method_(aMethod);
478
+ $2=_st($1)._yourself();
479
+ _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
480
+ return self}, function($ctx1) {$ctx1.fill(self,"removeCompiledMethod:",{aMethod:aMethod}, smalltalk.Behavior)})}
418
481
  }),
419
482
  smalltalk.Behavior);
420
483
 
@@ -424,10 +487,10 @@ smalltalk.method({
424
487
  selector: "selectors",
425
488
  fn: function (){
426
489
  var self=this;
427
- var $1;
428
- $1=smalltalk.send(smalltalk.send(self,"_methodDictionary",[]),"_keys",[]);
490
+ return smalltalk.withContext(function($ctx1) {
491
+ $1=_st(_st(self)._methodDictionary())._keys();
429
492
  return $1;
430
- }
493
+ }, function($ctx1) {$ctx1.fill(self,"selectors",{}, smalltalk.Behavior)})}
431
494
  }),
432
495
  smalltalk.Behavior);
433
496
 
@@ -437,9 +500,8 @@ smalltalk.method({
437
500
  selector: "subclasses",
438
501
  fn: function (){
439
502
  var self=this;
440
- return smalltalk.subclasses(self);
441
- ;
442
- return self}
503
+ return smalltalk.withContext(function($ctx1) {
504
+ return self}, function($ctx1) {$ctx1.fill(self,"subclasses",{}, smalltalk.Behavior)})}
443
505
  }),
444
506
  smalltalk.Behavior);
445
507
 
@@ -449,9 +511,8 @@ smalltalk.method({
449
511
  selector: "superclass",
450
512
  fn: function (){
451
513
  var self=this;
452
- return self.superclass || nil;
453
- ;
454
- return self}
514
+ return smalltalk.withContext(function($ctx1) {
515
+ return self}, function($ctx1) {$ctx1.fill(self,"superclass",{}, smalltalk.Behavior)})}
455
516
  }),
456
517
  smalltalk.Behavior);
457
518
 
@@ -461,10 +522,10 @@ smalltalk.method({
461
522
  selector: "theMetaClass",
462
523
  fn: function (){
463
524
  var self=this;
464
- var $1;
465
- $1=smalltalk.send(self,"_class",[]);
525
+ return smalltalk.withContext(function($ctx1) {
526
+ $1=_st(self)._class();
466
527
  return $1;
467
- }
528
+ }, function($ctx1) {$ctx1.fill(self,"theMetaClass",{}, smalltalk.Behavior)})}
468
529
  }),
469
530
  smalltalk.Behavior);
470
531
 
@@ -474,8 +535,10 @@ smalltalk.method({
474
535
  selector: "theNonMetaClass",
475
536
  fn: function (){
476
537
  var self=this;
477
- return self;
478
- }
538
+ return smalltalk.withContext(function($ctx1) {
539
+ $1=self;
540
+ return $1;
541
+ }, function($ctx1) {$ctx1.fill(self,"theNonMetaClass",{}, smalltalk.Behavior)})}
479
542
  }),
480
543
  smalltalk.Behavior);
481
544
 
@@ -485,13 +548,13 @@ smalltalk.method({
485
548
  selector: "withAllSubclasses",
486
549
  fn: function (){
487
550
  var self=this;
488
- var $2,$3,$1;
489
- $2=smalltalk.send((smalltalk.Array || Array),"_with_",[self]);
490
- smalltalk.send($2,"_addAll_",[smalltalk.send(self,"_allSubclasses",[])]);
491
- $3=smalltalk.send($2,"_yourself",[]);
551
+ return smalltalk.withContext(function($ctx1) {
552
+ $2=_st((smalltalk.Array || Array))._with_(self);
553
+ _st($2)._addAll_(_st(self)._allSubclasses());
554
+ $3=_st($2)._yourself();
492
555
  $1=$3;
493
556
  return $1;
494
- }
557
+ }, function($ctx1) {$ctx1.fill(self,"withAllSubclasses",{}, smalltalk.Behavior)})}
495
558
  }),
496
559
  smalltalk.Behavior);
497
560
 
@@ -504,10 +567,10 @@ smalltalk.method({
504
567
  selector: "asJavascript",
505
568
  fn: function (){
506
569
  var self=this;
507
- var $1;
508
- $1=smalltalk.send("smalltalk.","__comma",[smalltalk.send(self,"_name",[])]);
570
+ return smalltalk.withContext(function($ctx1) {
571
+ $1=_st("smalltalk.").__comma(_st(self)._name());
509
572
  return $1;
510
- }
573
+ }, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Class)})}
511
574
  }),
512
575
  smalltalk.Class);
513
576
 
@@ -517,15 +580,15 @@ smalltalk.method({
517
580
  selector: "category",
518
581
  fn: function (){
519
582
  var self=this;
520
- var $2,$1;
521
- $2=smalltalk.send(self,"_package",[]);
583
+ return smalltalk.withContext(function($ctx1) {
584
+ $2=_st(self)._package();
522
585
  if(($receiver = $2) == nil || $receiver == undefined){
523
586
  $1="Unclassified";
524
587
  } else {
525
- $1=smalltalk.send(smalltalk.send(self,"_package",[]),"_name",[]);
588
+ $1=_st(_st(self)._package())._name();
526
589
  };
527
590
  return $1;
528
- }
591
+ }, function($ctx1) {$ctx1.fill(self,"category",{}, smalltalk.Class)})}
529
592
  }),
530
593
  smalltalk.Class);
531
594
 
@@ -535,27 +598,29 @@ smalltalk.method({
535
598
  selector: "definition",
536
599
  fn: function (){
537
600
  var self=this;
538
- var $2,$3,$1;
539
- $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(stream){
540
- smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(smalltalk.send(self,"_superclass",[]),"_asString",[])]);
541
- smalltalk.send(stream,"_nextPutAll_",[" subclass: #"]);
542
- smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(self,"_name",[])]);
543
- smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(smalltalk.send((smalltalk.String || String),"_lf",[]),"__comma",[smalltalk.send((smalltalk.String || String),"_tab",[])])]);
544
- $2=smalltalk.send(stream,"_nextPutAll_",["instanceVariableNames: '"]);
545
- $2;
546
- smalltalk.send(smalltalk.send(self,"_instanceVariableNames",[]),"_do_separatedBy_",[(function(each){
547
- return smalltalk.send(stream,"_nextPutAll_",[each]);
548
- }),(function(){
549
- return smalltalk.send(stream,"_nextPutAll_",[" "]);
550
- })]);
551
- smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(smalltalk.send("'","__comma",[smalltalk.send((smalltalk.String || String),"_lf",[])]),"__comma",[smalltalk.send((smalltalk.String || String),"_tab",[])])]);
552
- smalltalk.send(stream,"_nextPutAll_",["package: '"]);
553
- smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(self,"_category",[])]);
554
- $3=smalltalk.send(stream,"_nextPutAll_",["'"]);
555
- return $3;
556
- })]);
601
+ return smalltalk.withContext(function($ctx1) {
602
+ $1=_st((smalltalk.String || String))._streamContents_((function(stream){
603
+ return smalltalk.withContext(function($ctx2) {
604
+ _st($2)._nextPutAll_(_st(_st(self)._superclass())._asString());
605
+ _st($2)._nextPutAll_(" subclass: #");
606
+ _st($2)._nextPutAll_(_st(self)._name());
607
+ _st($2)._nextPutAll_(_st(_st((smalltalk.String || String))._lf()).__comma(_st((smalltalk.String || String))._tab()));
608
+ $3=_st($2)._nextPutAll_("instanceVariableNames: '");
609
+ $3;
610
+ _st(_st(self)._instanceVariableNames())._do_separatedBy_((function(each){
611
+ return smalltalk.withContext(function($ctx3) {
612
+ }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
613
+ return smalltalk.withContext(function($ctx3) {
614
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
615
+ $4=stream;
616
+ _st($4)._nextPutAll_(_st(_st("'").__comma(_st((smalltalk.String || String))._lf())).__comma(_st((smalltalk.String || String))._tab()));
617
+ _st($4)._nextPutAll_("package: '");
618
+ _st($4)._nextPutAll_(_st(self)._category());
619
+ $5=_st($4)._nextPutAll_("'");
620
+ return $5;
621
+ }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
557
622
  return $1;
558
- }
623
+ }, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Class)})}
559
624
  }),
560
625
  smalltalk.Class);
561
626
 
@@ -565,8 +630,8 @@ smalltalk.method({
565
630
  selector: "isClass",
566
631
  fn: function (){
567
632
  var self=this;
568
- return true;
569
- }
633
+ return smalltalk.withContext(function($ctx1) {
634
+ }, function($ctx1) {$ctx1.fill(self,"isClass",{}, smalltalk.Class)})}
570
635
  }),
571
636
  smalltalk.Class);
572
637
 
@@ -576,9 +641,8 @@ smalltalk.method({
576
641
  selector: "package",
577
642
  fn: function (){
578
643
  var self=this;
579
- return self.pkg;
580
- ;
581
- return self}
644
+ return smalltalk.withContext(function($ctx1) {
645
+ return self}, function($ctx1) {$ctx1.fill(self,"package",{}, smalltalk.Class)})}
582
646
  }),
583
647
  smalltalk.Class);
584
648
 
@@ -588,9 +652,8 @@ smalltalk.method({
588
652
  selector: "package:",
589
653
  fn: function (aPackage){
590
654
  var self=this;
591
- self.pkg = aPackage;
592
- ;
593
- return self}
655
+ return smalltalk.withContext(function($ctx1) {
656
+ return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage}, smalltalk.Class)})}
594
657
  }),
595
658
  smalltalk.Class);
596
659
 
@@ -600,10 +663,10 @@ smalltalk.method({
600
663
  selector: "printString",
601
664
  fn: function (){
602
665
  var self=this;
603
- var $1;
604
- $1=smalltalk.send(self,"_name",[]);
666
+ return smalltalk.withContext(function($ctx1) {
667
+ $1=_st(self)._name();
605
668
  return $1;
606
- }
669
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Class)})}
607
670
  }),
608
671
  smalltalk.Class);
609
672
 
@@ -613,8 +676,8 @@ smalltalk.method({
613
676
  selector: "rename:",
614
677
  fn: function (aString){
615
678
  var self=this;
616
- smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder),"_new",[]),"_renameClass_to_",[self,aString]);
617
- return self}
679
+ return smalltalk.withContext(function($ctx1) {
680
+ return self}, function($ctx1) {$ctx1.fill(self,"rename:",{aString:aString}, smalltalk.Class)})}
618
681
  }),
619
682
  smalltalk.Class);
620
683
 
@@ -624,10 +687,10 @@ smalltalk.method({
624
687
  selector: "subclass:instanceVariableNames:",
625
688
  fn: function (aString,anotherString){
626
689
  var self=this;
627
- var $1;
628
- $1=smalltalk.send(self,"_subclass_instanceVariableNames_package_",[aString,anotherString,nil]);
690
+ return smalltalk.withContext(function($ctx1) {
691
+ $1=_st(self)._subclass_instanceVariableNames_package_(aString,anotherString,nil);
629
692
  return $1;
630
- }
693
+ }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:",{aString:aString,anotherString:anotherString}, smalltalk.Class)})}
631
694
  }),
632
695
  smalltalk.Class);
633
696
 
@@ -637,11 +700,11 @@ smalltalk.method({
637
700
  selector: "subclass:instanceVariableNames:category:",
638
701
  fn: function (aString,aString2,aString3){
639
702
  var self=this;
640
- var $1;
641
- smalltalk.send(self,"_deprecatedAPI",[]);
642
- $1=smalltalk.send(self,"_subclass_instanceVariableNames_package_",[aString,aString2,aString3]);
703
+ return smalltalk.withContext(function($ctx1) {
704
+ _st(self)._deprecatedAPI();
705
+ $1=_st(self)._subclass_instanceVariableNames_package_(aString,aString2,aString3);
643
706
  return $1;
644
- }
707
+ }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:category:",{aString:aString,aString2:aString2,aString3:aString3}, smalltalk.Class)})}
645
708
  }),
646
709
  smalltalk.Class);
647
710
 
@@ -651,10 +714,10 @@ smalltalk.method({
651
714
  selector: "subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:",
652
715
  fn: function (aString,aString2,classVars,pools,aString3){
653
716
  var self=this;
654
- var $1;
655
- $1=smalltalk.send(self,"_subclass_instanceVariableNames_package_",[aString,aString2,aString3]);
717
+ return smalltalk.withContext(function($ctx1) {
718
+ $1=_st(self)._subclass_instanceVariableNames_package_(aString,aString2,aString3);
656
719
  return $1;
657
- }
720
+ }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:",{aString:aString,aString2:aString2,classVars:classVars,pools:pools,aString3:aString3}, smalltalk.Class)})}
658
721
  }),
659
722
  smalltalk.Class);
660
723
 
@@ -664,10 +727,10 @@ smalltalk.method({
664
727
  selector: "subclass:instanceVariableNames:package:",
665
728
  fn: function (aString,aString2,aString3){
666
729
  var self=this;
667
- var $1;
668
- $1=smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder),"_new",[]),"_superclass_subclass_instanceVariableNames_package_",[self,smalltalk.send(aString,"_asString",[]),aString2,aString3]);
730
+ return smalltalk.withContext(function($ctx1) {
731
+ $1=_st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._superclass_subclass_instanceVariableNames_package_(self,_st(aString)._asString(),aString2,aString3);
669
732
  return $1;
670
- }
733
+ }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:package:",{aString:aString,aString2:aString2,aString3:aString3}, smalltalk.Class)})}
671
734
  }),
672
735
  smalltalk.Class);
673
736
 
@@ -680,10 +743,10 @@ smalltalk.method({
680
743
  selector: "asJavascript",
681
744
  fn: function (){
682
745
  var self=this;
683
- var $1;
684
- $1=smalltalk.send(smalltalk.send("smalltalk.","__comma",[smalltalk.send(smalltalk.send(self,"_instanceClass",[]),"_name",[])]),"__comma",[".klass"]);
746
+ return smalltalk.withContext(function($ctx1) {
747
+ $1=_st(_st("smalltalk.").__comma(_st(_st(self)._instanceClass())._name())).__comma(".klass");
685
748
  return $1;
686
- }
749
+ }, function($ctx1) {$ctx1.fill(self,"asJavascript",{}, smalltalk.Metaclass)})}
687
750
  }),
688
751
  smalltalk.Metaclass);
689
752
 
@@ -693,21 +756,22 @@ smalltalk.method({
693
756
  selector: "definition",
694
757
  fn: function (){
695
758
  var self=this;
696
- var $2,$1;
697
- $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(stream){
698
- smalltalk.send(stream,"_nextPutAll_",[smalltalk.send(self,"_asString",[])]);
699
- smalltalk.send(stream,"_nextPutAll_",[" class "]);
700
- $2=smalltalk.send(stream,"_nextPutAll_",["instanceVariableNames: '"]);
701
- $2;
702
- smalltalk.send(smalltalk.send(self,"_instanceVariableNames",[]),"_do_separatedBy_",[(function(each){
703
- return smalltalk.send(stream,"_nextPutAll_",[each]);
704
- }),(function(){
705
- return smalltalk.send(stream,"_nextPutAll_",[" "]);
706
- })]);
707
- return smalltalk.send(stream,"_nextPutAll_",["'"]);
708
- })]);
759
+ return smalltalk.withContext(function($ctx1) {
760
+ $1=_st((smalltalk.String || String))._streamContents_((function(stream){
761
+ return smalltalk.withContext(function($ctx2) {
762
+ _st($2)._nextPutAll_(_st(self)._asString());
763
+ _st($2)._nextPutAll_(" class ");
764
+ $3=_st($2)._nextPutAll_("instanceVariableNames: '");
765
+ $3;
766
+ _st(_st(self)._instanceVariableNames())._do_separatedBy_((function(each){
767
+ return smalltalk.withContext(function($ctx3) {
768
+ }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}),(function(){
769
+ return smalltalk.withContext(function($ctx3) {
770
+ }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})}));
771
+ return _st(stream)._nextPutAll_("'");
772
+ }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
709
773
  return $1;
710
- }
774
+ }, function($ctx1) {$ctx1.fill(self,"definition",{}, smalltalk.Metaclass)})}
711
775
  }),
712
776
  smalltalk.Metaclass);
713
777
 
@@ -717,9 +781,8 @@ smalltalk.method({
717
781
  selector: "instanceClass",
718
782
  fn: function (){
719
783
  var self=this;
720
- return self.instanceClass;
721
- ;
722
- return self}
784
+ return smalltalk.withContext(function($ctx1) {
785
+ return self}, function($ctx1) {$ctx1.fill(self,"instanceClass",{}, smalltalk.Metaclass)})}
723
786
  }),
724
787
  smalltalk.Metaclass);
725
788
 
@@ -729,8 +792,8 @@ smalltalk.method({
729
792
  selector: "instanceVariableNames:",
730
793
  fn: function (aCollection){
731
794
  var self=this;
732
- smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder),"_new",[]),"_class_instanceVariableNames_",[self,aCollection]);
733
- return self}
795
+ return smalltalk.withContext(function($ctx1) {
796
+ return self}, function($ctx1) {$ctx1.fill(self,"instanceVariableNames:",{aCollection:aCollection}, smalltalk.Metaclass)})}
734
797
  }),
735
798
  smalltalk.Metaclass);
736
799
 
@@ -740,8 +803,8 @@ smalltalk.method({
740
803
  selector: "isMetaclass",
741
804
  fn: function (){
742
805
  var self=this;
743
- return true;
744
- }
806
+ return smalltalk.withContext(function($ctx1) {
807
+ }, function($ctx1) {$ctx1.fill(self,"isMetaclass",{}, smalltalk.Metaclass)})}
745
808
  }),
746
809
  smalltalk.Metaclass);
747
810
 
@@ -751,10 +814,10 @@ smalltalk.method({
751
814
  selector: "printString",
752
815
  fn: function (){
753
816
  var self=this;
754
- var $1;
755
- $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_instanceClass",[]),"_name",[]),"__comma",[" class"]);
817
+ return smalltalk.withContext(function($ctx1) {
818
+ $1=_st(_st(_st(self)._instanceClass())._name()).__comma(" class");
756
819
  return $1;
757
- }
820
+ }, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.Metaclass)})}
758
821
  }),
759
822
  smalltalk.Metaclass);
760
823
 
@@ -764,8 +827,10 @@ smalltalk.method({
764
827
  selector: "theMetaClass",
765
828
  fn: function (){
766
829
  var self=this;
767
- return self;
768
- }
830
+ return smalltalk.withContext(function($ctx1) {
831
+ $1=self;
832
+ return $1;
833
+ }, function($ctx1) {$ctx1.fill(self,"theMetaClass",{}, smalltalk.Metaclass)})}
769
834
  }),
770
835
  smalltalk.Metaclass);
771
836
 
@@ -775,10 +840,10 @@ smalltalk.method({
775
840
  selector: "theNonMetaClass",
776
841
  fn: function (){
777
842
  var self=this;
778
- var $1;
779
- $1=smalltalk.send(self,"_instanceClass",[]);
843
+ return smalltalk.withContext(function($ctx1) {
844
+ $1=_st(self)._instanceClass();
780
845
  return $1;
781
- }
846
+ }, function($ctx1) {$ctx1.fill(self,"theNonMetaClass",{}, smalltalk.Metaclass)})}
782
847
  }),
783
848
  smalltalk.Metaclass);
784
849
 
@@ -786,49 +851,106 @@ smalltalk.Metaclass);
786
851
 
787
852
  smalltalk.addClass('ClassBuilder', smalltalk.Object, [], 'Kernel-Classes');
788
853
  smalltalk.addMethod(
789
- "_addSubclassOf_named_instanceVariableNames_",
854
+ "_addSubclassOf_named_instanceVariableNames_package_",
790
855
  smalltalk.method({
791
- selector: "addSubclassOf:named:instanceVariableNames:",
792
- fn: function (aClass,aString,aCollection){
856
+ selector: "addSubclassOf:named:instanceVariableNames:package:",
857
+ fn: function (aClass,aString,aCollection,packageName){
793
858
  var self=this;
794
- smalltalk.addClass(aString, aClass, aCollection);
795
- return smalltalk[aString];
796
- ;
797
- return self}
859
+ return smalltalk.withContext(function($ctx1) {
860
+ $1=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(aString);
861
+ if(($receiver = $1) == nil || $receiver == undefined){
862
+ $1;
863
+ } else {
864
+ $2=_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(aString,aClass,aCollection,packageName);
865
+ return $2;
866
+ };
867
+ $3=_st(self)._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,aString,aCollection,packageName);
868
+ return $3;
869
+ }, function($ctx1) {$ctx1.fill(self,"addSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,aString:aString,aCollection:aCollection,packageName:packageName}, smalltalk.ClassBuilder)})}
798
870
  }),
799
871
  smalltalk.ClassBuilder);
800
872
 
801
873
  smalltalk.addMethod(
802
- "_addSubclassOf_named_instanceVariableNames_package_",
874
+ "_basicAddSubclassOf_named_instanceVariableNames_package_",
803
875
  smalltalk.method({
804
- selector: "addSubclassOf:named:instanceVariableNames:package:",
876
+ selector: "basicAddSubclassOf:named:instanceVariableNames:package:",
805
877
  fn: function (aClass,aString,aCollection,packageName){
806
878
  var self=this;
807
- smalltalk.addClass(aString, aClass, aCollection, packageName);
808
- return smalltalk[aString];
809
- ;
810
- return self}
879
+ return smalltalk.withContext(function($ctx1) {
880
+ smalltalk.addClass(aString, aClass, aCollection, packageName);
881
+ return smalltalk[aString]
882
+ ;
883
+ return self}, function($ctx1) {$ctx1.fill(self,"basicAddSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,aString:aString,aCollection:aCollection,packageName:packageName}, smalltalk.ClassBuilder)})}
811
884
  }),
812
885
  smalltalk.ClassBuilder);
813
886
 
814
887
  smalltalk.addMethod(
815
- "_class_instanceVariableNames_",
888
+ "_basicClass_instanceVariableNames_",
816
889
  smalltalk.method({
817
- selector: "class:instanceVariableNames:",
890
+ selector: "basicClass:instanceVariableNames:",
818
891
  fn: function (aClass,aString){
819
892
  var self=this;
820
- var $1,$2,$3;
821
- $1=smalltalk.send(aClass,"_isMetaclass",[]);
893
+ return smalltalk.withContext(function($ctx1) {
894
+ return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariableNames:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
895
+ }),
896
+ smalltalk.ClassBuilder);
897
+
898
+ smalltalk.addMethod(
899
+ "_basicClass_instanceVariables_",
900
+ smalltalk.method({
901
+ selector: "basicClass:instanceVariables:",
902
+ fn: function (aClass,aCollection){
903
+ var self=this;
904
+ return smalltalk.withContext(function($ctx1) {
905
+ $1=_st(aClass)._isMetaclass();
822
906
  if(! smalltalk.assert($1)){
823
- smalltalk.send(self,"_error_",[smalltalk.send(smalltalk.send(aClass,"_name",[]),"__comma",[" is not a metaclass"])]);
907
+ _st(self)._error_(_st(_st(aClass)._name()).__comma(" is not a metaclass"));
824
908
  };
825
- smalltalk.send(aClass,"_basicAt_put_",["iVarNames",smalltalk.send(self,"_instanceVariableNamesFor_",[aString])]);
826
- $2=smalltalk.send((smalltalk.ClassDefinitionChanged || ClassDefinitionChanged),"_new",[]);
827
- smalltalk.send($2,"_theClass_",[aClass]);
828
- $3=smalltalk.send($2,"_yourself",[]);
829
- smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$3]);
830
- smalltalk.send(self,"_setupClass_",[aClass]);
831
- return self}
909
+ _st(aClass)._basicAt_put_("iVarNames",aCollection);
910
+ return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariables:",{aClass:aClass,aCollection:aCollection}, smalltalk.ClassBuilder)})}
911
+ }),
912
+ smalltalk.ClassBuilder);
913
+
914
+ smalltalk.addMethod(
915
+ "_basicRemoveClass_",
916
+ smalltalk.method({
917
+ selector: "basicRemoveClass:",
918
+ fn: function (aClass){
919
+ var self=this;
920
+ return smalltalk.withContext(function($ctx1) {
921
+ return self}, function($ctx1) {$ctx1.fill(self,"basicRemoveClass:",{aClass:aClass}, smalltalk.ClassBuilder)})}
922
+ }),
923
+ smalltalk.ClassBuilder);
924
+
925
+ smalltalk.addMethod(
926
+ "_basicRenameClass_to_",
927
+ smalltalk.method({
928
+ selector: "basicRenameClass:to:",
929
+ fn: function (aClass,aString){
930
+ var self=this;
931
+ return smalltalk.withContext(function($ctx1) {
932
+ smalltalk[aString] = aClass;
933
+ delete smalltalk[aClass.className];
934
+ aClass.className = aString;
935
+ ;
936
+ return self}, function($ctx1) {$ctx1.fill(self,"basicRenameClass:to:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
937
+ }),
938
+ smalltalk.ClassBuilder);
939
+
940
+ smalltalk.addMethod(
941
+ "_class_instanceVariableNames_",
942
+ smalltalk.method({
943
+ selector: "class:instanceVariableNames:",
944
+ fn: function (aClass,aString){
945
+ var self=this;
946
+ return smalltalk.withContext(function($ctx1) {
947
+ _st(self)._basicClass_instanceVariableNames_(aClass,aString);
948
+ _st(self)._setupClass_(aClass);
949
+ $1=_st((smalltalk.ClassDefinitionChanged || ClassDefinitionChanged))._new();
950
+ _st($1)._theClass_(aClass);
951
+ $2=_st($1)._yourself();
952
+ _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
953
+ return self}, function($ctx1) {$ctx1.fill(self,"class:instanceVariableNames:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
832
954
  }),
833
955
  smalltalk.ClassBuilder);
834
956
 
@@ -839,17 +961,47 @@ selector: "copyClass:named:",
839
961
  fn: function (aClass,aString){
840
962
  var self=this;
841
963
  var newClass;
842
- newClass=smalltalk.send(self,"_addSubclassOf_named_instanceVariableNames_package_",[smalltalk.send(aClass,"_superclass",[]),aString,smalltalk.send(aClass,"_instanceVariableNames",[]),smalltalk.send(smalltalk.send(aClass,"_package",[]),"_name",[])]);
843
- smalltalk.send(self,"_setupClass_",[newClass]);
844
- smalltalk.send(smalltalk.send(smalltalk.send(aClass,"_methodDictionary",[]),"_values",[]),"_do_",[(function(each){
845
- return smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_install_forClass_category_",[smalltalk.send(each,"_source",[]),newClass,smalltalk.send(each,"_category",[])]);
846
- })]);
847
- smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass,"_class",[]),"_methodDictionary",[]),"_values",[]),"_do_",[(function(each){
848
- return smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_install_forClass_category_",[smalltalk.send(each,"_source",[]),smalltalk.send(newClass,"_class",[]),smalltalk.send(each,"_category",[])]);
849
- })]);
850
- smalltalk.send(self,"_setupClass_",[newClass]);
851
- return newClass;
852
- }
964
+ return smalltalk.withContext(function($ctx1) {
965
+ newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(_st(aClass)._superclass(),aString,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
966
+ _st(self)._copyClass_to_(aClass,newClass);
967
+ $1=newClass;
968
+ return $1;
969
+ }, function($ctx1) {$ctx1.fill(self,"copyClass:named:",{aClass:aClass,aString:aString,newClass:newClass}, smalltalk.ClassBuilder)})}
970
+ }),
971
+ smalltalk.ClassBuilder);
972
+
973
+ smalltalk.addMethod(
974
+ "_copyClass_to_",
975
+ smalltalk.method({
976
+ selector: "copyClass:to:",
977
+ fn: function (aClass,anotherClass){
978
+ var self=this;
979
+ return smalltalk.withContext(function($ctx1) {
980
+ _st(_st(_st(aClass)._methodDictionary())._values())._do_((function(each){
981
+ return smalltalk.withContext(function($ctx2) {
982
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
983
+ _st(_st(_st(_st(aClass)._class())._methodDictionary())._values())._do_((function(each){
984
+ return smalltalk.withContext(function($ctx2) {
985
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
986
+ _st(self)._basicClass_instanceVariables_(_st(anotherClass)._class(),_st(_st(aClass)._class())._instanceVariableNames());
987
+ _st(self)._setupClass_(anotherClass);
988
+ return self}, function($ctx1) {$ctx1.fill(self,"copyClass:to:",{aClass:aClass,anotherClass:anotherClass}, smalltalk.ClassBuilder)})}
989
+ }),
990
+ smalltalk.ClassBuilder);
991
+
992
+ smalltalk.addMethod(
993
+ "_installMethod_forClass_category_",
994
+ smalltalk.method({
995
+ selector: "installMethod:forClass:category:",
996
+ fn: function (aCompiledMethod,aBehavior,aString){
997
+ var self=this;
998
+ return smalltalk.withContext(function($ctx1) {
999
+ _st(aCompiledMethod)._category_(aString);
1000
+ _st(aBehavior)._addCompiledMethod_(aCompiledMethod);
1001
+ _st(self)._setupClass_(aBehavior);
1002
+ $1=aCompiledMethod;
1003
+ return $1;
1004
+ }, function($ctx1) {$ctx1.fill(self,"installMethod:forClass:category:",{aCompiledMethod:aCompiledMethod,aBehavior:aBehavior,aString:aString}, smalltalk.ClassBuilder)})}
853
1005
  }),
854
1006
  smalltalk.ClassBuilder);
855
1007
 
@@ -859,12 +1011,53 @@ smalltalk.method({
859
1011
  selector: "instanceVariableNamesFor:",
860
1012
  fn: function (aString){
861
1013
  var self=this;
862
- var $1;
863
- $1=smalltalk.send(smalltalk.send(aString,"_tokenize_",[" "]),"_reject_",[(function(each){
864
- return smalltalk.send(each,"_isEmpty",[]);
865
- })]);
1014
+ return smalltalk.withContext(function($ctx1) {
1015
+ $1=_st(_st(aString)._tokenize_(" "))._reject_((function(each){
1016
+ return smalltalk.withContext(function($ctx2) {
1017
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
866
1018
  return $1;
867
- }
1019
+ }, function($ctx1) {$ctx1.fill(self,"instanceVariableNamesFor:",{aString:aString}, smalltalk.ClassBuilder)})}
1020
+ }),
1021
+ smalltalk.ClassBuilder);
1022
+
1023
+ smalltalk.addMethod(
1024
+ "_migrateClass_superclass_",
1025
+ smalltalk.method({
1026
+ selector: "migrateClass:superclass:",
1027
+ fn: function (aClass,anotherClass){
1028
+ var self=this;
1029
+ return smalltalk.withContext(function($ctx1) {
1030
+ return self}, function($ctx1) {$ctx1.fill(self,"migrateClass:superclass:",{aClass:aClass,anotherClass:anotherClass}, smalltalk.ClassBuilder)})}
1031
+ }),
1032
+ smalltalk.ClassBuilder);
1033
+
1034
+ smalltalk.addMethod(
1035
+ "_migrateClassNamed_superclass_instanceVariableNames_package_",
1036
+ smalltalk.method({
1037
+ selector: "migrateClassNamed:superclass:instanceVariableNames:package:",
1038
+ fn: function (aString,aClass,aCollection,packageName){
1039
+ var self=this;
1040
+ var oldClass,newClass;
1041
+ return smalltalk.withContext(function($ctx1) {
1042
+ oldClass=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(aString);
1043
+ _st(self)._basicRenameClass_to_(oldClass,_st("Old").__comma(aString));
1044
+ newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(aClass,aString,aCollection,packageName);
1045
+ _st(_st(oldClass)._subclasses())._do_((function(each){
1046
+ return smalltalk.withContext(function($ctx2) {
1047
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
1048
+ _st((function(){
1049
+ return smalltalk.withContext(function($ctx2) {
1050
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_((smalltalk.Error || Error),(function(exception){
1051
+ return smalltalk.withContext(function($ctx2) {
1052
+ _st($1)._basicRemoveClass_(newClass);
1053
+ $2=_st($1)._basicRenameClass_to_(oldClass,aString);
1054
+ $2;
1055
+ return _st(exception)._signal();
1056
+ }, function($ctx2) {$ctx2.fillBlock({exception:exception},$ctx1)})}));
1057
+ _st(self)._basicRemoveClass_(oldClass);
1058
+ $3=newClass;
1059
+ return $3;
1060
+ }, function($ctx1) {$ctx1.fill(self,"migrateClassNamed:superclass:instanceVariableNames:package:",{aString:aString,aClass:aClass,aCollection:aCollection,packageName:packageName,oldClass:oldClass,newClass:newClass}, smalltalk.ClassBuilder)})}
868
1061
  }),
869
1062
  smalltalk.ClassBuilder);
870
1063
 
@@ -874,18 +1067,13 @@ smalltalk.method({
874
1067
  selector: "renameClass:to:",
875
1068
  fn: function (aClass,aString){
876
1069
  var self=this;
877
- var $1,$2;
878
-
879
- smalltalk[aString] = aClass;
880
- delete smalltalk[aClass.className];
881
- aClass.className = aString;
882
- ;
883
- ;
884
- $1=smalltalk.send((smalltalk.ClassRenamed || ClassRenamed),"_new",[]);
885
- smalltalk.send($1,"_theClass_",[aClass]);
886
- $2=smalltalk.send($1,"_yourself",[]);
887
- smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$2]);
888
- return self}
1070
+ return smalltalk.withContext(function($ctx1) {
1071
+ _st(self)._basicRenameClass_to_(aClass,aString);
1072
+ $1=_st((smalltalk.ClassRenamed || ClassRenamed))._new();
1073
+ _st($1)._theClass_(aClass);
1074
+ $2=_st($1)._yourself();
1075
+ _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($2);
1076
+ return self}, function($ctx1) {$ctx1.fill(self,"renameClass:to:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
889
1077
  }),
890
1078
  smalltalk.ClassBuilder);
891
1079
 
@@ -895,9 +1083,8 @@ smalltalk.method({
895
1083
  selector: "setupClass:",
896
1084
  fn: function (aClass){
897
1085
  var self=this;
898
- smalltalk.init(aClass);;
899
- ;
900
- return self}
1086
+ return smalltalk.withContext(function($ctx1) {
1087
+ return self}, function($ctx1) {$ctx1.fill(self,"setupClass:",{aClass:aClass}, smalltalk.ClassBuilder)})}
901
1088
  }),
902
1089
  smalltalk.ClassBuilder);
903
1090
 
@@ -907,10 +1094,10 @@ smalltalk.method({
907
1094
  selector: "superclass:subclass:",
908
1095
  fn: function (aClass,aString){
909
1096
  var self=this;
910
- var $1;
911
- $1=smalltalk.send(self,"_superclass_subclass_instanceVariableNames_package_",[aClass,aString,"",nil]);
1097
+ return smalltalk.withContext(function($ctx1) {
1098
+ $1=_st(self)._superclass_subclass_instanceVariableNames_package_(aClass,aString,"",nil);
912
1099
  return $1;
913
- }
1100
+ }, function($ctx1) {$ctx1.fill(self,"superclass:subclass:",{aClass:aClass,aString:aString}, smalltalk.ClassBuilder)})}
914
1101
  }),
915
1102
  smalltalk.ClassBuilder);
916
1103
 
@@ -920,36 +1107,42 @@ smalltalk.method({
920
1107
  selector: "superclass:subclass:instanceVariableNames:package:",
921
1108
  fn: function (aClass,aString,aString2,aString3){
922
1109
  var self=this;
923
- var $1,$2,$3;
924
1110
  var newClass;
925
- if(($receiver = aString3) == nil || $receiver == undefined){
926
- $1="unclassified";
1111
+ return smalltalk.withContext(function($ctx1) {
1112
+ $1=self;
1113
+ $2=aClass;
1114
+ $3=aString;
1115
+ $4=_st(self)._instanceVariableNamesFor_(aString2);
1116
+ $6=aString3;
1117
+ if(($receiver = $6) == nil || $receiver == undefined){
1118
+ $5="unclassified";
927
1119
  } else {
928
- $1=aString3;
1120
+ $5=$6;
929
1121
  };
930
- newClass=smalltalk.send(self,"_addSubclassOf_named_instanceVariableNames_package_",[aClass,aString,smalltalk.send(self,"_instanceVariableNamesFor_",[aString2]),$1]);
931
- smalltalk.send(self,"_setupClass_",[newClass]);
932
- $2=smalltalk.send((smalltalk.ClassAdded || ClassAdded),"_new",[]);
933
- smalltalk.send($2,"_theClass_",[newClass]);
934
- $3=smalltalk.send($2,"_yourself",[]);
935
- smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$3]);
936
- return newClass;
937
- }
1122
+ newClass=_st($1)._addSubclassOf_named_instanceVariableNames_package_($2,$3,$4,$5);
1123
+ _st(self)._setupClass_(newClass);
1124
+ $7=_st((smalltalk.ClassAdded || ClassAdded))._new();
1125
+ _st($7)._theClass_(newClass);
1126
+ $8=_st($7)._yourself();
1127
+ _st(_st((smalltalk.SystemAnnouncer || SystemAnnouncer))._current())._announce_($8);
1128
+ $9=newClass;
1129
+ return $9;
1130
+ }, function($ctx1) {$ctx1.fill(self,"superclass:subclass:instanceVariableNames:package:",{aClass:aClass,aString:aString,aString2:aString2,aString3:aString3,newClass:newClass}, smalltalk.ClassBuilder)})}
938
1131
  }),
939
1132
  smalltalk.ClassBuilder);
940
1133
 
941
1134
 
942
1135
 
943
- smalltalk.addClass('ClassCategoryReader', smalltalk.Object, ['class', 'category', 'chunkParser'], 'Kernel-Classes');
1136
+ smalltalk.addClass('ClassCategoryReader', smalltalk.Object, ['class', 'category'], 'Kernel-Classes');
944
1137
  smalltalk.addMethod(
945
1138
  "_class_category_",
946
1139
  smalltalk.method({
947
1140
  selector: "class:category:",
948
1141
  fn: function (aClass,aString){
949
1142
  var self=this;
950
- self["@class"]=aClass;
1143
+ return smalltalk.withContext(function($ctx1) {
951
1144
  self["@category"]=aString;
952
- return self}
1145
+ return self}, function($ctx1) {$ctx1.fill(self,"class:category:",{aClass:aClass,aString:aString}, smalltalk.ClassCategoryReader)})}
953
1146
  }),
954
1147
  smalltalk.ClassCategoryReader);
955
1148
 
@@ -959,8 +1152,8 @@ smalltalk.method({
959
1152
  selector: "compileMethod:",
960
1153
  fn: function (aString){
961
1154
  var self=this;
962
- smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_install_forClass_category_",[aString,self["@class"],self["@category"]]);
963
- return self}
1155
+ return smalltalk.withContext(function($ctx1) {
1156
+ return self}, function($ctx1) {$ctx1.fill(self,"compileMethod:",{aString:aString}, smalltalk.ClassCategoryReader)})}
964
1157
  }),
965
1158
  smalltalk.ClassCategoryReader);
966
1159
 
@@ -970,9 +1163,8 @@ smalltalk.method({
970
1163
  selector: "initialize",
971
1164
  fn: function (){
972
1165
  var self=this;
973
- smalltalk.send(self,"_initialize",[],smalltalk.Object);
974
- self["@chunkParser"]=smalltalk.send((smalltalk.ChunkParser || ChunkParser),"_new",[]);
975
- return self}
1166
+ return smalltalk.withContext(function($ctx1) {
1167
+ return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ClassCategoryReader)})}
976
1168
  }),
977
1169
  smalltalk.ClassCategoryReader);
978
1170
 
@@ -983,29 +1175,29 @@ selector: "scanFrom:",
983
1175
  fn: function (aChunkParser){
984
1176
  var self=this;
985
1177
  var chunk;
986
- smalltalk.send((function(){
987
- chunk=smalltalk.send(aChunkParser,"_nextChunk",[]);
1178
+ return smalltalk.withContext(function($ctx1) {
1179
+ return smalltalk.withContext(function($ctx2) {
988
1180
  chunk;
989
- return smalltalk.send(chunk,"_isEmpty",[]);
990
- }),"_whileFalse_",[(function(){
991
- return smalltalk.send(self,"_compileMethod_",[chunk]);
992
- })]);
993
- smalltalk.send(smalltalk.send((smalltalk.Compiler || Compiler),"_new",[]),"_setupClass_",[self["@class"]]);
994
- return self}
1181
+ return _st(chunk)._isEmpty();
1182
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
1183
+ return smalltalk.withContext(function($ctx2) {
1184
+ }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
1185
+ _st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._setupClass_(self["@class"]);
1186
+ return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk}, smalltalk.ClassCategoryReader)})}
995
1187
  }),
996
1188
  smalltalk.ClassCategoryReader);
997
1189
 
998
1190
 
999
1191
 
1000
- smalltalk.addClass('ClassCommentReader', smalltalk.Object, ['class', 'chunkParser'], 'Kernel-Classes');
1192
+ smalltalk.addClass('ClassCommentReader', smalltalk.Object, ['class'], 'Kernel-Classes');
1001
1193
  smalltalk.addMethod(
1002
1194
  "_class_",
1003
1195
  smalltalk.method({
1004
1196
  selector: "class:",
1005
1197
  fn: function (aClass){
1006
1198
  var self=this;
1007
- self["@class"]=aClass;
1008
- return self}
1199
+ return smalltalk.withContext(function($ctx1) {
1200
+ return self}, function($ctx1) {$ctx1.fill(self,"class:",{aClass:aClass}, smalltalk.ClassCommentReader)})}
1009
1201
  }),
1010
1202
  smalltalk.ClassCommentReader);
1011
1203
 
@@ -1015,9 +1207,8 @@ smalltalk.method({
1015
1207
  selector: "initialize",
1016
1208
  fn: function (){
1017
1209
  var self=this;
1018
- smalltalk.send(self,"_initialize",[],smalltalk.Object);
1019
- self["@chunkParser"]=smalltalk.send((smalltalk.ChunkParser || ChunkParser),"_new",[]);
1020
- return self}
1210
+ return smalltalk.withContext(function($ctx1) {
1211
+ return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ClassCommentReader)})}
1021
1212
  }),
1022
1213
  smalltalk.ClassCommentReader);
1023
1214
 
@@ -1027,14 +1218,14 @@ smalltalk.method({
1027
1218
  selector: "scanFrom:",
1028
1219
  fn: function (aChunkParser){
1029
1220
  var self=this;
1030
- var $1;
1031
1221
  var chunk;
1032
- chunk=smalltalk.send(aChunkParser,"_nextChunk",[]);
1033
- $1=smalltalk.send(chunk,"_isEmpty",[]);
1222
+ return smalltalk.withContext(function($ctx1) {
1223
+ chunk=_st(aChunkParser)._nextChunk();
1224
+ $1=_st(chunk)._isEmpty();
1034
1225
  if(! smalltalk.assert($1)){
1035
- smalltalk.send(self,"_setComment_",[chunk]);
1226
+ _st(self)._setComment_(chunk);
1036
1227
  };
1037
- return self}
1228
+ return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk}, smalltalk.ClassCommentReader)})}
1038
1229
  }),
1039
1230
  smalltalk.ClassCommentReader);
1040
1231
 
@@ -1044,8 +1235,8 @@ smalltalk.method({
1044
1235
  selector: "setComment:",
1045
1236
  fn: function (aString){
1046
1237
  var self=this;
1047
- smalltalk.send(self["@class"],"_comment_",[aString]);
1048
- return self}
1238
+ return smalltalk.withContext(function($ctx1) {
1239
+ return self}, function($ctx1) {$ctx1.fill(self,"setComment:",{aString:aString}, smalltalk.ClassCommentReader)})}
1049
1240
  }),
1050
1241
  smalltalk.ClassCommentReader);
1051
1242
 
@@ -1058,23 +1249,24 @@ smalltalk.method({
1058
1249
  selector: "getNodesFrom:",
1059
1250
  fn: function (aCollection){
1060
1251
  var self=this;
1061
- var $1;
1062
- var children;
1063
- var others;
1252
+ var children,others;
1253
+ return smalltalk.withContext(function($ctx1) {
1064
1254
  children=[];
1065
1255
  others=[];
1066
- smalltalk.send(aCollection,"_do_",[(function(each){
1067
- $1=smalltalk.send(smalltalk.send(each,"_superclass",[]),"__eq",[smalltalk.send(self,"_theClass",[])]);
1068
- if(smalltalk.assert($1)){
1069
- return smalltalk.send(children,"_add_",[each]);
1256
+ $1=aCollection;
1257
+ $2=(function(each){
1258
+ return smalltalk.withContext(function($ctx2) {
1259
+ if(smalltalk.assert($3)){
1260
+ return _st(children)._add_(each);
1070
1261
  } else {
1071
- return smalltalk.send(others,"_add_",[each]);
1262
+ return _st(others)._add_(each);
1072
1263
  };
1073
- })]);
1074
- self["@nodes"]=smalltalk.send(children,"_collect_",[(function(each){
1075
- return smalltalk.send((smalltalk.ClassSorterNode || ClassSorterNode),"_on_classes_level_",[each,others,smalltalk.send(smalltalk.send(self,"_level",[]),"__plus",[(1)])]);
1076
- })]);
1077
- return self}
1264
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})});
1265
+ _st($1)._do_($2);
1266
+ self["@nodes"]=_st(children)._collect_((function(each){
1267
+ return smalltalk.withContext(function($ctx2) {
1268
+ }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
1269
+ return self}, function($ctx1) {$ctx1.fill(self,"getNodesFrom:",{aCollection:aCollection,children:children,others:others}, smalltalk.ClassSorterNode)})}
1078
1270
  }),
1079
1271
  smalltalk.ClassSorterNode);
1080
1272
 
@@ -1084,8 +1276,10 @@ smalltalk.method({
1084
1276
  selector: "level",
1085
1277
  fn: function (){
1086
1278
  var self=this;
1087
- return self["@level"];
1088
- }
1279
+ return smalltalk.withContext(function($ctx1) {
1280
+ $1=self["@level"];
1281
+ return $1;
1282
+ }, function($ctx1) {$ctx1.fill(self,"level",{}, smalltalk.ClassSorterNode)})}
1089
1283
  }),
1090
1284
  smalltalk.ClassSorterNode);
1091
1285
 
@@ -1095,8 +1289,8 @@ smalltalk.method({
1095
1289
  selector: "level:",
1096
1290
  fn: function (anInteger){
1097
1291
  var self=this;
1098
- self["@level"]=anInteger;
1099
- return self}
1292
+ return smalltalk.withContext(function($ctx1) {
1293
+ return self}, function($ctx1) {$ctx1.fill(self,"level:",{anInteger:anInteger}, smalltalk.ClassSorterNode)})}
1100
1294
  }),
1101
1295
  smalltalk.ClassSorterNode);
1102
1296
 
@@ -1106,8 +1300,10 @@ smalltalk.method({
1106
1300
  selector: "nodes",
1107
1301
  fn: function (){
1108
1302
  var self=this;
1109
- return self["@nodes"];
1110
- }
1303
+ return smalltalk.withContext(function($ctx1) {
1304
+ $1=self["@nodes"];
1305
+ return $1;
1306
+ }, function($ctx1) {$ctx1.fill(self,"nodes",{}, smalltalk.ClassSorterNode)})}
1111
1307
  }),
1112
1308
  smalltalk.ClassSorterNode);
1113
1309
 
@@ -1117,8 +1313,10 @@ smalltalk.method({
1117
1313
  selector: "theClass",
1118
1314
  fn: function (){
1119
1315
  var self=this;
1120
- return self["@theClass"];
1121
- }
1316
+ return smalltalk.withContext(function($ctx1) {
1317
+ $1=self["@theClass"];
1318
+ return $1;
1319
+ }, function($ctx1) {$ctx1.fill(self,"theClass",{}, smalltalk.ClassSorterNode)})}
1122
1320
  }),
1123
1321
  smalltalk.ClassSorterNode);
1124
1322
 
@@ -1128,8 +1326,8 @@ smalltalk.method({
1128
1326
  selector: "theClass:",
1129
1327
  fn: function (aClass){
1130
1328
  var self=this;
1131
- self["@theClass"]=aClass;
1132
- return self}
1329
+ return smalltalk.withContext(function($ctx1) {
1330
+ return self}, function($ctx1) {$ctx1.fill(self,"theClass:",{aClass:aClass}, smalltalk.ClassSorterNode)})}
1133
1331
  }),
1134
1332
  smalltalk.ClassSorterNode);
1135
1333
 
@@ -1139,13 +1337,13 @@ smalltalk.method({
1139
1337
  selector: "traverseClassesWith:",
1140
1338
  fn: function (aCollection){
1141
1339
  var self=this;
1142
- smalltalk.send(aCollection,"_add_",[smalltalk.send(self,"_theClass",[])]);
1143
- smalltalk.send(smalltalk.send(smalltalk.send(self,"_nodes",[]),"_sorted_",[(function(a,b){
1144
- return smalltalk.send(smalltalk.send(smalltalk.send(a,"_theClass",[]),"_name",[]),"__lt_eq",[smalltalk.send(smalltalk.send(b,"_theClass",[]),"_name",[])]);
1145
- })]),"_do_",[(function(aNode){
1146
- return smalltalk.send(aNode,"_traverseClassesWith_",[aCollection]);
1147
- })]);
1148
- return self}
1340
+ return smalltalk.withContext(function($ctx1) {
1341
+ _st(_st(_st(self)._nodes())._sorted_((function(a,b){
1342
+ return smalltalk.withContext(function($ctx2) {
1343
+ }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})})))._do_((function(aNode){
1344
+ return smalltalk.withContext(function($ctx2) {
1345
+ }, function($ctx2) {$ctx2.fillBlock({aNode:aNode},$ctx1)})}));
1346
+ return self}, function($ctx1) {$ctx1.fill(self,"traverseClassesWith:",{aCollection:aCollection}, smalltalk.ClassSorterNode)})}
1149
1347
  }),
1150
1348
  smalltalk.ClassSorterNode);
1151
1349
 
@@ -1156,15 +1354,15 @@ smalltalk.method({
1156
1354
  selector: "on:classes:level:",
1157
1355
  fn: function (aClass,aCollection,anInteger){
1158
1356
  var self=this;
1159
- var $2,$3,$1;
1160
- $2=smalltalk.send(self,"_new",[]);
1161
- smalltalk.send($2,"_theClass_",[aClass]);
1162
- smalltalk.send($2,"_level_",[anInteger]);
1163
- smalltalk.send($2,"_getNodesFrom_",[aCollection]);
1164
- $3=smalltalk.send($2,"_yourself",[]);
1357
+ return smalltalk.withContext(function($ctx1) {
1358
+ $2=_st(self)._new();
1359
+ _st($2)._theClass_(aClass);
1360
+ _st($2)._level_(anInteger);
1361
+ _st($2)._getNodesFrom_(aCollection);
1362
+ $3=_st($2)._yourself();
1165
1363
  $1=$3;
1166
1364
  return $1;
1167
- }
1365
+ }, function($ctx1) {$ctx1.fill(self,"on:classes:level:",{aClass:aClass,aCollection:aCollection,anInteger:anInteger}, smalltalk.ClassSorterNode.klass)})}
1168
1366
  }),
1169
1367
  smalltalk.ClassSorterNode.klass);
1170
1368