resin 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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